@univerjs/docs-ui 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umd/index.js CHANGED
@@ -1,6 +1,6 @@
1
- (function(T,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("@univerjs/core"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("react"),require("react/jsx-runtime"),require("rxjs"),require("rxjs/operators"),require("@univerjs/design"),require("@univerjs/drawing")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/docs","@univerjs/engine-render","@univerjs/ui","react","react/jsx-runtime","rxjs","rxjs/operators","@univerjs/design","@univerjs/drawing"],a):(T=typeof globalThis<"u"?globalThis:T||self,a(T.UniverDocsUi={},T.UniverCore,T.UniverDocs,T.UniverEngineRender,T.UniverUi,T.React,T.React,T.rxjs,T.rxjs.operators,T.UniverDesign,T.UniverDrawing))})(this,function(T,a,M,R,E,F,Q,N,At,ae,On){"use strict";var nl=Object.defineProperty;var ol=(T,a,M)=>a in T?nl(T,a,{enumerable:!0,configurable:!0,writable:!0,value:M}):T[a]=M;var B=(T,a,M)=>ol(T,typeof a!="symbol"?a+"":a,M);function Bs(o){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const n=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(t,e,n.get?n:{enumerable:!0,get:()=>o[e]})}}return t.default=o,Object.freeze(t)}const Ms=Bs(F);var xs=Object.getOwnPropertyDescriptor,_s=(o,t,e,n)=>{for(var i=n>1?void 0:n?xs(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Lo=(o,t)=>(e,n)=>t(e,n,o);function Ns(o,t){var r,c;const{startOffset:e,endOffset:n}=o,i=[];let s=-1;for(let A=0;A<t.length;A++){const l=t[A],d=t[A-1],{startIndex:u}=l;e>s&&e<=u||n>s&&n<=u?i.push({...l,paragraphStart:((r=d==null?void 0:d.startIndex)!=null?r:-1)+1,paragraphEnd:l.startIndex}):u>=e&&u<=n&&i.push({...l,paragraphStart:((c=d==null?void 0:d.startIndex)!=null?c:-1)+1,paragraphEnd:l.startIndex}),s=u}return i}T.DocAutoFormatService=class extends a.Disposable{constructor(e,n){super();B(this,"_matches",new Map);this._univerInstanceService=e,this._textSelectionManagerService=n}registerAutoFormat(e){const n=this._matches.get(e.id);return n?(n.push(e),n.sort((i,s)=>{var r,c;return((r=s.priority)!=null?r:0)-((c=i.priority)!=null?c:0)})):this._matches.set(e.id,[e]),a.toDisposable(()=>{const i=this._matches.get(e.id);if(i){const s=i.findIndex(r=>r===e);s>=0&&i.splice(s,1)}})}onAutoFormat(e,n){var A,l,d,u,g,h,f;const i=(A=this._matches.get(e))!=null?A:[],s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=this._textSelectionManagerService.getDocRanges(),c=(l=r.find(m=>m.isActive))!=null?l:r[0];if(s&&c){const m=s.getSelfOrHeaderFooterModel(c.segmentId),p={unit:m,selection:c,isBody:!c.segmentId,paragraphs:Ns(c,(u=(d=m.getBody())==null?void 0:d.paragraphs)!=null?u:[]),customRanges:a.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(c,(h=(g=m.getBody())==null?void 0:g.customRanges)!=null?h:[]),commandId:e,commandParams:n},S=i.find(I=>I.match(p));return(f=S==null?void 0:S.getMutations(p))!=null?f:[]}return[]}},T.DocAutoFormatService=_s([Lo(0,a.IUniverInstanceService),Lo(1,a.Inject(M.DocSelectionManagerService))],T.DocAutoFormatService);const Fo={undo:!0,redo:!0,font:!0,fontSize:!0,bold:!0,italic:!0,strikethrough:!0,underline:!0,textColor:!0,fillColor:!0,horizontalAlignMode:!0,verticalAlignMode:!0,textWrapMode:!0,textRotateMode:!0},ko={outerLeft:!1,outerRight:!1,header:!0,footer:!0,innerLeft:!1,innerRight:!1,frozenHeaderLT:!1,frozenHeaderRT:!1,frozenHeaderLM:!1,frozenContent:!1,infoBar:!0,toolbar:!0},Ho="DOC_UI_PLUGIN";var le=(o=>(o.MAIN="__Document_Render_Main__",o.BACKGROUND="__Document_Render_Background__",o))(le||{}),he=(o=>(o.VIEW_MAIN="viewMain",o.VIEW_TOP="viewTop",o.VIEW_LEFT="viewLeft",o.VIEW_LEFT_TOP="viewLeftTop",o))(he||{});const Vo=0,Mt=2,Wo=4,Rn=10,Ps="normalTextSelectionPluginName";function Se(o){const{mainComponent:t,scene:e,engine:n,components:i}=o,s=t,r=i.get(le.BACKGROUND);return{document:s,docBackground:r,scene:e,engine:n}}function Ko(o,t){const e=o.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(!e)return null;const n=e.getUnitId(),i=t.getRenderById(n);if(i==null)return;const{mainComponent:s,scene:r,engine:c,components:A}=i,l=s,d=A.get(le.BACKGROUND);return{document:l,docBackground:d,scene:r,engine:c}}function Us(o,t){const e=t.getRenderById(o);if(e==null)return;const{mainComponent:n,scene:i,engine:s,components:r}=e,c=n,A=r.get(le.BACKGROUND);return{document:c,docBackground:A,scene:i,engine:s}}function zo(o){const{unitId:t,ranges:e,id:n,type:i,segmentId:s}=o,r={id:M.RichTextEditingMutation.id,params:{unitId:t,actions:[],textRanges:void 0,segmentId:s}},c=a.JSONX.getInstance(),A=a.BuildTextUtils.customDecoration.add({ranges:e,id:n,type:i});return r.params.actions=c.editOp(A.serialize()),r}function ws(o,t){const{segmentId:e,id:n,type:i,unitId:s}=t,r=o.get(M.DocSelectionManagerService),c=o.get(a.IUniverInstanceService),A=s?c.getUnit(s,a.UniverInstanceType.UNIVER_DOC):c.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(!A)return!1;const l=A.getUnitId(),d=r.getTextRanges({unitId:l,subUnitId:l});return!d||!A.getBody()?!1:zo({unitId:l,ranges:d,id:n,type:i,segmentId:e})}function Qs(o,t){const{unitId:e,id:n,segmentId:i}=t,r=o.get(a.IUniverInstanceService).getUnit(e);if(!r)return!1;const c={id:M.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:void 0,segmentId:i}},A=a.BuildTextUtils.customDecoration.delete({id:n,segmentId:i,documentDataModel:r});if(!A)return!1;const l=a.JSONX.getInstance();return c.params.actions=l.editOp(A.serialize()),c}function Ls(o,t){return t.some(e=>o.startIndex>e.startIndex&&o.startIndex<e.endIndex)}function xt(o,t,e,n,i){const{textRuns:s=[],dataStream:r}=o,c=i&&r.startsWith("="),A={st:0,ed:0,ts:i?{}:e};if(c)return A;for(let l=s.length-1;l>=0;l--){const d=s[l],{st:u,ed:g}=d;t>u&&t<=g&&(A.st=u,A.ed=g,A.ts={...A.ts,...d.ts})}if(t===0){const l=s==null?void 0:s[0];l&&l.st===0&&(A.ts={...A.ts,...l.ts})}return n&&(A.ts={...A.ts,...n}),A}function Dn(o,t,e){if(e){const i=o.find(s=>t>=s.startIndex&&t<=s.endIndex+1);return i!=null&&i.wholeEntity?null:i}const n=o.find(i=>t>i.startIndex&&t<=i.endIndex);return n!=null&&n.wholeEntity?null:n}function Bn(o,t){return o.filter(e=>t>e.startIndex&&t<=e.endIndex)}function Fs(o){return{left:o.positionH.posOffset,top:o.positionV.posOffset,width:o.size.width,height:o.size.height}}function ks(o,t=0,e=0){return{size:{width:o.width,height:o.height},positionH:{relativeFrom:a.ObjectRelativeFromH.MARGIN,posOffset:(o.left||0)-t},positionV:{relativeFrom:a.ObjectRelativeFromV.PAGE,posOffset:(o.top||0)-e},angle:o.angle||0}}function jo(o,t,e){const n=E.useDependency(a.ICommandService),i=E.useDependency(E.IShortcutService),s=F.useMemo(()=>a.generateRandomId(4),[]);F.useEffect(()=>{if(!e||!o||!t)return;const c=`sheet.operation.editor-${e.getEditorId()}-keyboard-${s}`,A=new a.DisposableCollection;return A.add(n.registerCommand({id:c,type:a.CommandType.OPERATION,handler(l,d){const{keyCode:u,metaKey:g}=d;t.handler(u,g)}})),t.keyCodes.map(l=>({id:c,binding:l.metaKey?l.keyCode|l.metaKey:l.keyCode,preconditions:()=>!0,priority:901,staticParameters:{eventType:R.DeviceInputEventType.Keyboard,keyCode:l.keyCode,metaKey:l.metaKey}})).forEach(l=>{A.add(i.registerShortcut(l))}),()=>{A.dispose()}},[n,t,e,o,s,i])}const Go=(o,t=!0,e,n)=>{const i=F.useCallback(()=>{if(o){const{scene:r,mainComponent:c}=o.render,A=o.render.with(M.DocSkeletonManagerService),{width:l,height:d}=o.getBoundingClientRect();A.getViewModel().getDataModel().updateDocumentDataPageSize(t?1/0:l,1/0),r.transformByState({width:l,height:d}),c==null||c.resize(l,d)}},[o,t]),s=F.useMemo(()=>a.debounce(()=>{var I,C;if(!e||!o||!e)return;const c=o.render.with(M.DocSkeletonManagerService).getSkeleton(),{scene:A,mainComponent:l}=o.render,d=A.getViewport(he.VIEW_MAIN),{actualWidth:u,actualHeight:g}=c.getActualSize(),{width:h,height:f}=o.getBoundingClientRect();let m=d==null?void 0:d.getScrollBar();const p=Math.max(u,h),S=Math.max(g,f);A.transformByState({width:p,height:S}),l==null||l.resize(p,S),t?u>h?(m==null?d&&new R.ScrollBar(d,{barSize:8,enableVertical:!1,enableHorizontal:!0,minThumbSizeV:8}):d==null||d.resetCanvasSizeAndUpdateScroll(),n&&(d==null||d.scrollToBarPos({x:1/0,y:0}))):(m=null,d==null||d.scrollToBarPos({x:0,y:0}),(C=d==null?void 0:d.getScrollBar())==null||C.dispose()):g>f?(m==null?d&&(m=new R.ScrollBar(d,{enableHorizontal:!1,enableVertical:!0,barSize:8,minThumbSizeV:8})):d==null||d.resetCanvasSizeAndUpdateScroll(),n&&(d==null||d.scrollToBarPos({x:0,y:1/0}))):(m=null,d==null||d.scrollToBarPos({x:0,y:0}),(I=d==null?void 0:d.getScrollBar())==null||I.dispose())},30),[o,e,t,n]);return F.useEffect(()=>{if(e&&o){const r=setTimeout(()=>{i(),s()},500);return()=>{clearTimeout(r)}}},[o,e,i,s]),F.useEffect(()=>{if(e&&o){const r=o.input$.subscribe(()=>{s()});return()=>{r.unsubscribe()}}},[o,e,s]),{resize:i,checkScrollBar:s}};function Xo(o){var t,e,n="";if(typeof o=="string"||typeof o=="number")n+=o;else if(typeof o=="object")if(Array.isArray(o)){var i=o.length;for(t=0;t<i;t++)o[t]&&(e=Xo(o[t]))&&(n&&(n+=" "),n+=e)}else for(e in o)o[e]&&(n&&(n+=" "),n+=e);return n}function _t(){for(var o,t,e=0,n="",i=arguments.length;e<i;e++)(o=arguments[e])&&(t=Xo(o))&&(n&&(n+=" "),n+=t);return n}function re(o,t){var n;return(n=o.get(R.IRenderManagerService).getRenderById(t))==null?void 0:n.with(M.DocSkeletonManagerService)}function q(o,t=""){if(!t)return["body"];const{headers:e,footers:n}=o.getSnapshot();if(e==null&&n==null)throw new Error("Document data model must have headers or footers when update by segment id");if((e==null?void 0:e[t])!=null)return["headers",t,"body"];if((n==null?void 0:n[t])!=null)return["footers",t,"body"];throw new Error("Segment id not found in headers or footers")}const Mn={id:"doc.command-replace-snapshot",type:a.CommandType.COMMAND,handler:(o,t)=>{const{unitId:e,snapshot:n,textRanges:i,segmentId:s="",options:r}=t,c=o.get(a.IUniverInstanceService),A=o.get(a.ICommandService),l=o.get(M.DocSelectionManagerService),d=c.getUnit(e,a.UniverInstanceType.UNIVER_DOC),u=d==null?void 0:d.getSelfOrHeaderFooterModel(s).getSnapshot();if(d==null||u==null)return!1;const{body:g,tableSource:h,footers:f,headers:m,lists:p,drawings:S,drawingsOrder:I,documentStyle:C}=a.Tools.deepClone(n),{body:b,tableSource:O,footers:v,headers:y,lists:x,drawings:_,drawingsOrder:w,documentStyle:D}=u;if(g==null||b==null)return!1;if(a.Tools.diffValue(g,b)&&i)return l.replaceDocRanges(i,{unitId:e,subUnitId:e},!1),!0;const P={id:M.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:i}};r&&(P.params.options=r);const U=[],H=a.JSONX.getInstance();if(!a.Tools.diffValue(D,C)){const L=H.replaceOp(["documentStyle"],D,C);L!=null&&U.push(L)}if(!a.Tools.diffValue(g,b)){const L=H.replaceOp(["body"],b,g);L!=null&&U.push(L)}if(!a.Tools.diffValue(h,O)){const L=H.replaceOp(["tableSource"],O,h);L!=null&&U.push(L)}if(!a.Tools.diffValue(f,v)){const L=H.replaceOp(["footers"],v,f);L!=null&&U.push(L)}if(!a.Tools.diffValue(m,y)){const L=H.replaceOp(["headers"],y,m);L!=null&&U.push(L)}if(!a.Tools.diffValue(p,x)){const L=H.replaceOp(["lists"],x,p);L!=null&&U.push(L)}if(!a.Tools.diffValue(S,_)){const L=H.replaceOp(["drawings"],_,S);L!=null&&U.push(L)}if(!a.Tools.diffValue(I,w)){const L=H.replaceOp(["drawingsOrder"],w,I);L!=null&&U.push(L)}return P.params.actions=U.reduce((L,z)=>a.JSONX.compose(L,z),null),!!A.syncExecuteCommand(P.id,P.params)}},Yo={id:"doc.command-replace-content",type:a.CommandType.COMMAND,handler:async(o,t)=>{const{unitId:e,body:n,textRanges:i,segmentId:s="",options:r}=t,c=o.get(a.IUniverInstanceService),A=o.get(a.ICommandService),l=o.get(M.DocSelectionManagerService),d=c.getUnit(e,a.UniverInstanceType.UNIVER_DOC),u=d==null?void 0:d.getSelfOrHeaderFooterModel(s).getSnapshot().body;if(d==null||u==null)return!1;const g=Jo(e,s,d,u,n);return g.params.textRanges=i,r&&(g.params.options=r),g.params.actions==null&&i?(l.replaceDocRanges(i,{unitId:e,subUnitId:e},!1),!0):!!A.syncExecuteCommand(g.id,g.params)}},qo={id:"doc.command-cover-content",type:a.CommandType.COMMAND,handler:async(o,t)=>{const{unitId:e,body:n,segmentId:i=""}=t,s=o.get(a.IUniverInstanceService),r=o.get(a.ICommandService),c=o.get(a.IUndoRedoService),A=s.getUniverDocInstance(e),l=A==null?void 0:A.getSnapshot().body;if(A==null||l==null)return!1;const d=Jo(e,i,A,l,n);return d.params.noNeedSetTextRange=!0,d.params.noHistory=!0,r.syncExecuteCommand(d.id,d.params),c.clearUndoRedo(e),!0}};function Hs(o,t,e,n){const i=new a.TextX,s=a.JSONX.getInstance(),r=(e==null?void 0:e.dataStream.length)-2;r>0&&i.push({t:a.TextXActionType.DELETE,len:r}),n.dataStream.length>0&&i.push({t:a.TextXActionType.INSERT,body:n,len:n.dataStream.length});const c=q(t,o);return s.editOp(i.serialize(),c)}function Jo(o,t,e,n,i){const s={id:M.RichTextEditingMutation.id,params:{unitId:o,actions:[],textRanges:[]}},r=Hs(t,e,n,i);return s.params.actions=r,s}a.CommandType.COMMAND;const Zo={id:"doc.command.replace-text-runs",type:a.CommandType.COMMAND,handler:(o,t)=>{const{unitId:e,body:n,textRanges:i,segmentId:s="",options:r}=t,c=o.get(a.IUniverInstanceService),A=o.get(a.ICommandService),l=c.getUnit(e,a.UniverInstanceType.UNIVER_DOC),d=l==null?void 0:l.getSelfOrHeaderFooterModel(s).getSnapshot().body;if(l==null||d==null)return!1;const u=a.BuildTextUtils.selection.replaceTextRuns({doc:l,body:n,selection:{startOffset:0,endOffset:d.dataStream.length-2,collapsed:!1}});if(!u)return!1;const g={id:M.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:i,noHistory:!0}},h=a.JSONX.getInstance(),f=q(l,s);return g.params.actions=h.editOp(u.serialize(),f),g.params.textRanges=i,r&&(g.params.options=r),!!A.syncExecuteCommand(g.id,g.params)}};var Nt=(o=>(o[o.page=0]="page",o[o.section=1]="section",o[o.column=2]="column",o[o.line=3]="line",o[o.divide=4]="divide",o[o.glyph=5]="glyph",o))(Nt||{});const ze={page:0,section:1,column:2,line:3,divide:4,glyph:5};function xn(o,t){return o.page>t.page?!1:o.page<t.page?!0:o.section>t.section?!1:o.section<t.section?!0:o.column>t.column?!1:o.column<t.column?!0:o.line>t.line?!1:o.line<t.line?!0:o.divide>t.divide?!1:o.divide<t.divide?!0:o.glyph>t.glyph?!1:(o.glyph<t.glyph,!0)}function _n(o,t){return xn(o,t)?{start:o,end:t}:{start:t,end:o}}function Nn(o){const t=o.length;if(t===0)return;const e=o[0],n=o[t-1],i=o.length===1&&e.collapsed;return{startOffset:e.startOffset,endOffset:n.endOffset,collapsed:i}}function Vs(o,t,e,n){let i=n,s=n;for(let r=0;r<o.length;r++){const A=o[r].count;r<t&&(i+=A),r<e&&(s+=A)}return{startOffset:i,endOffset:s}}function Pn(o){const{startX:t,startY:e,endX:n,endY:i}=o,s=[];return s.push({x:t,y:e}),s.push({x:n,y:e}),s.push({x:n,y:i}),s.push({x:t,y:i}),s.push({x:t,y:e}),s}class Ie{constructor(t,e){B(this,"_liquid",new R.Liquid);B(this,"_currentStartState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});B(this,"_currentEndState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});this._documentOffsetConfig=t,this._docSkeleton=e}getRangePointData(t,e){const n=[],i=[],s=[];if(t==null||e==null)return{borderBoxPointGroup:n,contentBoxPointGroup:i,cursorList:s};if(!this._isValidPosition(t,e))throw new Error(`
1
+ (function(T,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("@univerjs/core"),require("@univerjs/docs"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("react"),require("react/jsx-runtime"),require("@univerjs/design"),require("rxjs"),require("rxjs/operators"),require("@univerjs/drawing")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/docs","@univerjs/engine-render","@univerjs/ui","react","react/jsx-runtime","@univerjs/design","rxjs","rxjs/operators","@univerjs/drawing"],a):(T=typeof globalThis<"u"?globalThis:T||self,a(T.UniverDocsUi={},T.UniverCore,T.UniverDocs,T.UniverEngineRender,T.UniverUi,T.React,T.React,T.UniverDesign,T.rxjs,T.rxjs.operators,T.UniverDrawing))})(this,function(T,a,x,B,E,F,L,ne,N,At,bn){"use strict";var ZA=Object.defineProperty;var $A=(T,a,x)=>a in T?ZA(T,a,{enumerable:!0,configurable:!0,writable:!0,value:x}):T[a]=x;var M=(T,a,x)=>$A(T,typeof a!="symbol"?a+"":a,x);var Rs=Object.getOwnPropertyDescriptor,Ds=(o,t,e,n)=>{for(var i=n>1?void 0:n?Rs(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Lo=(o,t)=>(e,n)=>t(e,n,o);function Bs(o,t){var r,c;const{startOffset:e,endOffset:n}=o,i=[];let s=-1;for(let A=0;A<t.length;A++){const l=t[A],d=t[A-1],{startIndex:u}=l;e>s&&e<=u||n>s&&n<=u?i.push({...l,paragraphStart:((r=d==null?void 0:d.startIndex)!=null?r:-1)+1,paragraphEnd:l.startIndex}):u>=e&&u<=n&&i.push({...l,paragraphStart:((c=d==null?void 0:d.startIndex)!=null?c:-1)+1,paragraphEnd:l.startIndex}),s=u}return i}T.DocAutoFormatService=class extends a.Disposable{constructor(e,n){super();M(this,"_matches",new Map);this._univerInstanceService=e,this._textSelectionManagerService=n}registerAutoFormat(e){const n=this._matches.get(e.id);return n?(n.push(e),n.sort((i,s)=>{var r,c;return((r=s.priority)!=null?r:0)-((c=i.priority)!=null?c:0)})):this._matches.set(e.id,[e]),a.toDisposable(()=>{const i=this._matches.get(e.id);if(i){const s=i.findIndex(r=>r===e);s>=0&&i.splice(s,1)}})}onAutoFormat(e,n){var A,l,d,u,g,h,m;const i=(A=this._matches.get(e))!=null?A:[],s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=this._textSelectionManagerService.getDocRanges(),c=(l=r.find(f=>f.isActive))!=null?l:r[0];if(s&&c){const f=s.getSelfOrHeaderFooterModel(c.segmentId),p={unit:f,selection:c,isBody:!c.segmentId,paragraphs:Bs(c,(u=(d=f.getBody())==null?void 0:d.paragraphs)!=null?u:[]),customRanges:a.BuildTextUtils.customRange.getCustomRangesInterestsWithSelection(c,(h=(g=f.getBody())==null?void 0:g.customRanges)!=null?h:[]),commandId:e,commandParams:n},S=i.find(I=>I.match(p));return(m=S==null?void 0:S.getMutations(p))!=null?m:[]}return[]}},T.DocAutoFormatService=Ds([Lo(0,a.IUniverInstanceService),Lo(1,a.Inject(x.DocSelectionManagerService))],T.DocAutoFormatService);const Fo={undo:!0,redo:!0,font:!0,fontSize:!0,bold:!0,italic:!0,strikethrough:!0,underline:!0,textColor:!0,fillColor:!0,horizontalAlignMode:!0,verticalAlignMode:!0,textWrapMode:!0,textRotateMode:!0},ko={outerLeft:!1,outerRight:!1,header:!0,footer:!0,innerLeft:!1,innerRight:!1,frozenHeaderLT:!1,frozenHeaderRT:!1,frozenHeaderLM:!1,frozenContent:!1,infoBar:!0,toolbar:!0},Ho="DOC_UI_PLUGIN";var le=(o=>(o.MAIN="__Document_Render_Main__",o.BACKGROUND="__Document_Render_Background__",o))(le||{}),he=(o=>(o.VIEW_MAIN="viewMain",o.VIEW_TOP="viewTop",o.VIEW_LEFT="viewLeft",o.VIEW_LEFT_TOP="viewLeftTop",o))(he||{});const Vo=0,Mt=2,Wo=4,On=10,Ms="normalTextSelectionPluginName";function Se(o){const{mainComponent:t,scene:e,engine:n,components:i}=o,s=t,r=i.get(le.BACKGROUND);return{document:s,docBackground:r,scene:e,engine:n}}function Ko(o,t){const e=o.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(!e)return null;const n=e.getUnitId(),i=t.getRenderById(n);if(i==null)return;const{mainComponent:s,scene:r,engine:c,components:A}=i,l=s,d=A.get(le.BACKGROUND);return{document:l,docBackground:d,scene:r,engine:c}}function xs(o,t){const e=t.getRenderById(o);if(e==null)return;const{mainComponent:n,scene:i,engine:s,components:r}=e,c=n,A=r.get(le.BACKGROUND);return{document:c,docBackground:A,scene:i,engine:s}}function zo(o){const{unitId:t,ranges:e,id:n,type:i,segmentId:s}=o,r={id:x.RichTextEditingMutation.id,params:{unitId:t,actions:[],textRanges:void 0,segmentId:s}},c=a.JSONX.getInstance(),A=a.BuildTextUtils.customDecoration.add({ranges:e,id:n,type:i});return r.params.actions=c.editOp(A.serialize()),r}function _s(o,t){const{segmentId:e,id:n,type:i,unitId:s}=t,r=o.get(x.DocSelectionManagerService),c=o.get(a.IUniverInstanceService),A=s?c.getUnit(s,a.UniverInstanceType.UNIVER_DOC):c.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(!A)return!1;const l=A.getUnitId(),d=r.getTextRanges({unitId:l,subUnitId:l});return!d||!A.getBody()?!1:zo({unitId:l,ranges:d,id:n,type:i,segmentId:e})}function Ns(o,t){const{unitId:e,id:n,segmentId:i}=t,r=o.get(a.IUniverInstanceService).getUnit(e);if(!r)return!1;const c={id:x.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:void 0,segmentId:i}},A=a.BuildTextUtils.customDecoration.delete({id:n,segmentId:i,documentDataModel:r});if(!A)return!1;const l=a.JSONX.getInstance();return c.params.actions=l.editOp(A.serialize()),c}function Ps(o,t){return t.some(e=>o.startIndex>e.startIndex&&o.startIndex<e.endIndex)}function xt(o,t,e,n,i){const{textRuns:s=[],dataStream:r}=o,c=i&&r.startsWith("="),A={st:0,ed:0,ts:i?{}:e};if(c)return A;for(let l=s.length-1;l>=0;l--){const d=s[l],{st:u,ed:g}=d;t>u&&t<=g&&(A.st=u,A.ed=g,A.ts={...A.ts,...d.ts})}if(t===0){const l=s==null?void 0:s[0];l&&l.st===0&&(A.ts={...A.ts,...l.ts})}return n&&(A.ts={...A.ts,...n}),A}function Rn(o,t,e){if(e){const i=o.find(s=>t>=s.startIndex&&t<=s.endIndex+1);return i!=null&&i.wholeEntity?null:i}const n=o.find(i=>t>i.startIndex&&t<=i.endIndex);return n!=null&&n.wholeEntity?null:n}function Dn(o,t){return o.filter(e=>t>e.startIndex&&t<=e.endIndex)}function Us(o){return{left:o.positionH.posOffset,top:o.positionV.posOffset,width:o.size.width,height:o.size.height}}function ws(o,t=0,e=0){return{size:{width:o.width,height:o.height},positionH:{relativeFrom:a.ObjectRelativeFromH.MARGIN,posOffset:(o.left||0)-t},positionV:{relativeFrom:a.ObjectRelativeFromV.PAGE,posOffset:(o.top||0)-e},angle:o.angle||0}}function jo(o,t,e){const n=E.useDependency(a.ICommandService),i=E.useDependency(E.IShortcutService),s=F.useMemo(()=>a.generateRandomId(4),[]);F.useEffect(()=>{if(!e||!o||!t)return;const c=`sheet.operation.editor-${e.getEditorId()}-keyboard-${s}`,A=new a.DisposableCollection;return A.add(n.registerCommand({id:c,type:a.CommandType.OPERATION,handler(l,d){const{keyCode:u,metaKey:g}=d;t.handler(u,g)}})),t.keyCodes.map(l=>({id:c,binding:l.metaKey?l.keyCode|l.metaKey:l.keyCode,preconditions:()=>!0,priority:901,staticParameters:{eventType:B.DeviceInputEventType.Keyboard,keyCode:l.keyCode,metaKey:l.metaKey}})).forEach(l=>{A.add(i.registerShortcut(l))}),()=>{A.dispose()}},[n,t,e,o,s,i])}const Go=(o,t=!0,e,n)=>{const i=F.useCallback(()=>{if(o){const{scene:r,mainComponent:c}=o.render,A=o.render.with(x.DocSkeletonManagerService),{width:l,height:d}=o.getBoundingClientRect();A.getViewModel().getDataModel().updateDocumentDataPageSize(t?1/0:l,1/0),r.transformByState({width:l,height:d}),c==null||c.resize(l,d)}},[o,t]),s=F.useMemo(()=>a.debounce(()=>{var I,C;if(!e||!o||!e)return;const c=o.render.with(x.DocSkeletonManagerService).getSkeleton(),{scene:A,mainComponent:l}=o.render,d=A.getViewport(he.VIEW_MAIN),{actualWidth:u,actualHeight:g}=c.getActualSize(),{width:h,height:m}=o.getBoundingClientRect();let f=d==null?void 0:d.getScrollBar();const p=Math.max(u,h),S=Math.max(g,m);A.transformByState({width:p,height:S}),l==null||l.resize(p,S),t?u>h?(f==null?d&&new B.ScrollBar(d,{barSize:8,enableVertical:!1,enableHorizontal:!0,minThumbSizeV:8}):d==null||d.resetCanvasSizeAndUpdateScroll(),n&&(d==null||d.scrollToBarPos({x:1/0,y:0}))):(f=null,d==null||d.scrollToBarPos({x:0,y:0}),(C=d==null?void 0:d.getScrollBar())==null||C.dispose()):g>m?(f==null?d&&(f=new B.ScrollBar(d,{enableHorizontal:!1,enableVertical:!0,barSize:8,minThumbSizeV:8})):d==null||d.resetCanvasSizeAndUpdateScroll(),n&&(d==null||d.scrollToBarPos({x:0,y:1/0}))):(f=null,d==null||d.scrollToBarPos({x:0,y:0}),(I=d==null?void 0:d.getScrollBar())==null||I.dispose())},30),[o,e,t,n]);return F.useEffect(()=>{if(e&&o){const r=setTimeout(()=>{i(),s()},500);return()=>{clearTimeout(r)}}},[o,e,i,s]),F.useEffect(()=>{if(e&&o){const r=o.input$.subscribe(()=>{s()});return()=>{r.unsubscribe()}}},[o,e,s]),{resize:i,checkScrollBar:s}};function re(o,t){var n;return(n=o.get(B.IRenderManagerService).getRenderById(t))==null?void 0:n.with(x.DocSkeletonManagerService)}function $(o,t=""){if(!t)return["body"];const{headers:e,footers:n}=o.getSnapshot();if(e==null&&n==null)throw new Error("Document data model must have headers or footers when update by segment id");if((e==null?void 0:e[t])!=null)return["headers",t,"body"];if((n==null?void 0:n[t])!=null)return["footers",t,"body"];throw new Error("Segment id not found in headers or footers")}const Bn={id:"doc.command-replace-snapshot",type:a.CommandType.COMMAND,handler:(o,t)=>{const{unitId:e,snapshot:n,textRanges:i,segmentId:s="",options:r}=t,c=o.get(a.IUniverInstanceService),A=o.get(a.ICommandService),l=o.get(x.DocSelectionManagerService),d=c.getUnit(e,a.UniverInstanceType.UNIVER_DOC),u=d==null?void 0:d.getSelfOrHeaderFooterModel(s).getSnapshot();if(d==null||u==null)return!1;const{body:g,tableSource:h,footers:m,headers:f,lists:p,drawings:S,drawingsOrder:I,documentStyle:C}=a.Tools.deepClone(n),{body:y,tableSource:R,footers:v,headers:b,lists:O,drawings:_,drawingsOrder:w,documentStyle:D}=u;if(g==null||y==null)return!1;if(a.Tools.diffValue(g,y)&&i)return l.replaceDocRanges(i,{unitId:e,subUnitId:e},!1),!0;const U={id:x.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:i}};r&&(U.params.options=r);const P=[],k=a.JSONX.getInstance();if(!a.Tools.diffValue(D,C)){const Q=k.replaceOp(["documentStyle"],D,C);Q!=null&&P.push(Q)}if(!a.Tools.diffValue(g,y)){const Q=k.replaceOp(["body"],y,g);Q!=null&&P.push(Q)}if(!a.Tools.diffValue(h,R)){const Q=k.replaceOp(["tableSource"],R,h);Q!=null&&P.push(Q)}if(!a.Tools.diffValue(m,v)){const Q=k.replaceOp(["footers"],v,m);Q!=null&&P.push(Q)}if(!a.Tools.diffValue(f,b)){const Q=k.replaceOp(["headers"],b,f);Q!=null&&P.push(Q)}if(!a.Tools.diffValue(p,O)){const Q=k.replaceOp(["lists"],O,p);Q!=null&&P.push(Q)}if(!a.Tools.diffValue(S,_)){const Q=k.replaceOp(["drawings"],_,S);Q!=null&&P.push(Q)}if(!a.Tools.diffValue(I,w)){const Q=k.replaceOp(["drawingsOrder"],w,I);Q!=null&&P.push(Q)}return U.params.actions=P.reduce((Q,G)=>a.JSONX.compose(Q,G),null),!!A.syncExecuteCommand(U.id,U.params)}},Xo={id:"doc.command-replace-content",type:a.CommandType.COMMAND,handler:async(o,t)=>{const{unitId:e,body:n,textRanges:i,segmentId:s="",options:r}=t,c=o.get(a.IUniverInstanceService),A=o.get(a.ICommandService),l=o.get(x.DocSelectionManagerService),d=c.getUnit(e,a.UniverInstanceType.UNIVER_DOC),u=d==null?void 0:d.getSelfOrHeaderFooterModel(s).getSnapshot().body;if(d==null||u==null)return!1;const g=qo(e,s,d,u,n);return g.params.textRanges=i,r&&(g.params.options=r),g.params.actions==null&&i?(l.replaceDocRanges(i,{unitId:e,subUnitId:e},!1),!0):!!A.syncExecuteCommand(g.id,g.params)}},Yo={id:"doc.command-cover-content",type:a.CommandType.COMMAND,handler:async(o,t)=>{const{unitId:e,body:n,segmentId:i=""}=t,s=o.get(a.IUniverInstanceService),r=o.get(a.ICommandService),c=o.get(a.IUndoRedoService),A=s.getUniverDocInstance(e),l=A==null?void 0:A.getSnapshot().body;if(A==null||l==null)return!1;const d=qo(e,i,A,l,n);return d.params.noNeedSetTextRange=!0,d.params.noHistory=!0,r.syncExecuteCommand(d.id,d.params),c.clearUndoRedo(e),!0}};function Qs(o,t,e,n){const i=new a.TextX,s=a.JSONX.getInstance(),r=(e==null?void 0:e.dataStream.length)-2;r>0&&i.push({t:a.TextXActionType.DELETE,len:r}),n.dataStream.length>0&&i.push({t:a.TextXActionType.INSERT,body:n,len:n.dataStream.length});const c=$(t,o);return s.editOp(i.serialize(),c)}function qo(o,t,e,n,i){const s={id:x.RichTextEditingMutation.id,params:{unitId:o,actions:[],textRanges:[]}},r=Qs(t,e,n,i);return s.params.actions=r,s}a.CommandType.COMMAND;const Jo={id:"doc.command.replace-text-runs",type:a.CommandType.COMMAND,handler:(o,t)=>{const{unitId:e,body:n,textRanges:i,segmentId:s="",options:r}=t,c=o.get(a.IUniverInstanceService),A=o.get(a.ICommandService),l=c.getUnit(e,a.UniverInstanceType.UNIVER_DOC),d=l==null?void 0:l.getSelfOrHeaderFooterModel(s).getSnapshot().body;if(l==null||d==null)return!1;const u=a.BuildTextUtils.selection.replaceTextRuns({doc:l,body:n,selection:{startOffset:0,endOffset:d.dataStream.length-2,collapsed:!1}});if(!u)return!1;const g={id:x.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:i,noHistory:!0}},h=a.JSONX.getInstance(),m=$(l,s);return g.params.actions=h.editOp(u.serialize(),m),g.params.textRanges=i,r&&(g.params.options=r),!!A.syncExecuteCommand(g.id,g.params)}};var _t=(o=>(o[o.page=0]="page",o[o.section=1]="section",o[o.column=2]="column",o[o.line=3]="line",o[o.divide=4]="divide",o[o.glyph=5]="glyph",o))(_t||{});const ze={page:0,section:1,column:2,line:3,divide:4,glyph:5};function Mn(o,t){return o.page>t.page?!1:o.page<t.page?!0:o.section>t.section?!1:o.section<t.section?!0:o.column>t.column?!1:o.column<t.column?!0:o.line>t.line?!1:o.line<t.line?!0:o.divide>t.divide?!1:o.divide<t.divide?!0:o.glyph>t.glyph?!1:(o.glyph<t.glyph,!0)}function xn(o,t){return Mn(o,t)?{start:o,end:t}:{start:t,end:o}}function _n(o){const t=o.length;if(t===0)return;const e=o[0],n=o[t-1],i=o.length===1&&e.collapsed;return{startOffset:e.startOffset,endOffset:n.endOffset,collapsed:i}}function Ls(o,t,e,n){let i=n,s=n;for(let r=0;r<o.length;r++){const A=o[r].count;r<t&&(i+=A),r<e&&(s+=A)}return{startOffset:i,endOffset:s}}function Nn(o){const{startX:t,startY:e,endX:n,endY:i}=o,s=[];return s.push({x:t,y:e}),s.push({x:n,y:e}),s.push({x:n,y:i}),s.push({x:t,y:i}),s.push({x:t,y:e}),s}class Ie{constructor(t,e){M(this,"_liquid",new B.Liquid);M(this,"_currentStartState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});M(this,"_currentEndState",{page:0,section:0,column:0,line:0,divide:0,glyph:0});this._documentOffsetConfig=t,this._docSkeleton=e}getRangePointData(t,e){const n=[],i=[],s=[];if(t==null||e==null)return{borderBoxPointGroup:n,contentBoxPointGroup:i,cursorList:s};if(!this._isValidPosition(t,e))throw new Error(`
2
2
  Invalid positions in NodePositionConvertToCursor,
3
- they are not in the same segment page when in header or footer.`);const{start:c,end:A}=_n(t,e);return this._selectionIterator(c,A,(l,d,u,g,h,f)=>{const{lineHeight:m,asc:p,paddingTop:S,marginTop:I,marginBottom:C}=f,{glyphGroup:b,st:O}=h;if(b.length===0)return;const{x:v,y}=this._liquid;let x,_;const w=b[l],D=b[d],P=b[l-1],U=(w==null?void 0:w.left)||0,H=(w==null?void 0:w.width)||0,k=(D==null?void 0:D.left)||0,L=(D==null?void 0:D.width)||0,z=(w==null?void 0:w.glyphType)===R.GlyphType.LIST,{startOffset:W,endOffset:V}=Vs(b,l,d,O),K=c.glyph===l&&u?c.isBack:!0,G=A.glyph===d&&g?A.isBack:!1,J=c===A,ee=K&&P!=null?P:w;if(l===0&&d===b.length-1)x={startX:v+U+(z?H:0),startY:y,endX:v+k+(G?0:L),endY:y+m-I-C},_={startX:v+U+(z?H:0),startY:y+S+p-ee.bBox.ba,endX:v+k+(G?0:L),endY:y+S+p+ee.bBox.bd};else{const $=K&&!z;x={startX:v+U+($?0:H),startY:y,endX:v+k+(G?0:L),endY:y+m-I-C},_={startX:v+U+($?0:H),startY:y+S+p-ee.bBox.ba,endX:v+k+(G?0:L),endY:y+S+p+ee.bBox.bd}}n.push(Pn(x)),i.push(Pn(_)),s.push({startOffset:K?W:W+w.count,endOffset:G?V:V+D.count,collapsed:J})}),{borderBoxPointGroup:n,contentBoxPointGroup:i,cursorList:s}}_isValidPosition(t,e){const{segmentPage:n,pageType:i}=t,{segmentPage:s,pageType:r}=e;return i!==r?!1:i===R.DocumentSkeletonPageType.HEADER||i===R.DocumentSkeletonPageType.FOOTER?n===s:!0}_resetCurrentNodePositionState(){this._currentStartState={page:0,section:0,column:0,line:0,divide:0,glyph:0},this._currentEndState={page:0,section:0,column:0,line:0,divide:0,glyph:0}}_setNodePositionState(t=0,e,n,i){i===e?this._currentStartState[t]=1:this._currentStartState[t]=0,i===n?this._currentEndState[t]=2:this._currentEndState[t]=0}_checkPreviousNodePositionState(t,e=!0){let n=t,i;for(;n>=0;){const s=Nt[n];let r;if(e?r=this._currentStartState[s]:r=this._currentEndState[s],r===void 0)return;if(i===void 0&&(i=r),r!==i)return 0;n--}return i}_getSelectionRuler(t,e,n,i,s){let r=0,c=i;const A=Nt[t],l=Nt[t+1];if(l===null||A===null)return{start_next:r,end_next:c};const d=e[A],u=n[A];this._setNodePositionState(A,d,u,s);const g=this._checkPreviousNodePositionState(t),h=this._checkPreviousNodePositionState(t,!1);return g===1&&(r=e[l]),h===2&&(c=n[l]),{start_next:r,end_next:c}}_selectionIterator(t,e,n){var b,O;const i=this._docSkeleton;if(!i)return[];const{pageType:s,path:r}=t;this._liquid.reset();const c=i.getSkeletonData();if(c==null)return[];const{pages:A,skeHeaders:l,skeFooters:d}=c,{page:u,segmentPage:g}=t,{page:h,segmentPage:f}=e;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:m,pageMarginLeft:p,pageMarginTop:S}=this._documentOffsetConfig,I=s===R.DocumentSkeletonPageType.BODY||s===R.DocumentSkeletonPageType.CELL?u:g;for(let v=0;v<I;v++){const y=A[v];this._liquid.translatePage(y,m,p,S)}const C=s===R.DocumentSkeletonPageType.BODY||s===R.DocumentSkeletonPageType.CELL?h:f;for(let v=I;v<=C;v++){const y=A[v],{headerId:x,footerId:_,pageWidth:w}=y;let D=y;if(s===R.DocumentSkeletonPageType.HEADER?D=(b=l.get(x))==null?void 0:b.get(w):s===R.DocumentSkeletonPageType.FOOTER?D=(O=d.get(_))==null?void 0:O.get(w):s===R.DocumentSkeletonPageType.CELL&&(D=R.getPageFromPath(c,r)),D==null){this._liquid.translatePage(y,m,p,S);continue}const P=D.sections,{start_next:U,end_next:H}=this._getSelectionRuler(ze.page,t,e,P.length-1,s===R.DocumentSkeletonPageType.BODY||s===R.DocumentSkeletonPageType.CELL?v:0);switch(this._liquid.translateSave(),s){case R.DocumentSkeletonPageType.HEADER:this._liquid.translatePagePadding({...D,marginLeft:y.marginLeft});break;case R.DocumentSkeletonPageType.FOOTER:{const k=y.pageHeight-D.height-D.marginBottom;this._liquid.translate(y.marginLeft,k);break}case R.DocumentSkeletonPageType.CELL:{this._liquid.translatePagePadding(y);const k=D.parent,L=k.parent,{left:z}=D,{top:W,left:V}=L,{top:K}=k;this._liquid.translate(V+z,W+K),this._liquid.translatePagePadding(D);break}default:this._liquid.translatePagePadding(y);break}for(let k=U;k<=H;k++){const L=P[k],z=L.columns,{start_next:W,end_next:V}=this._getSelectionRuler(ze.section,t,e,z.length-1,k);this._liquid.translateSection(L);for(let K=W;K<=V;K++){const G=z[K],J=G.lines,{start_next:ee,end_next:$}=this._getSelectionRuler(ze.column,t,e,J.length-1,K);this._liquid.translateColumn(G);for(let j=ee;j<=$;j++){const Y=J[j],{divides:oe}=Y,{start_next:fe,end_next:Be}=this._getSelectionRuler(ze.line,t,e,oe.length-1,j);this._liquid.translateSave(),this._liquid.translateLine(Y,!0,!1);for(let pe=fe;pe<=Be;pe++){const Qo=oe[pe];this._liquid.translateSave(),this._liquid.translateDivide(Qo);const{glyphGroup:$A}=Qo,{start_next:el,end_next:tl}=this._getSelectionRuler(ze.divide,t,e,$A.length-1,pe);let Rs=!1,Ds=!1;v===I&&k===U&&K===W&&j===ee&&pe===fe&&(Rs=!0),v===C&&k===H&&K===V&&j===$&&pe===Be&&(Ds=!0),n&&n(el,tl,Rs,Ds,Qo,Y,G,L,D),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(y,m,p,S)}}}function $o(o,t){const{path:e}=o,{path:n}=t;if(e.length!==n.length||e.indexOf("cells")===-1)return!1;const i=e.indexOf("skeTables")+1,s=e.indexOf("rows")+1,r=e.indexOf("cells")+1,{tableId:c,sliceIndex:A}=R.getTableIdAndSliceIndex(e[i]),{tableId:l,sliceIndex:d}=R.getTableIdAndSliceIndex(n[i]);if(c!==l)return!1;const u=e[s],g=n[s],h=e[r],f=n[r];return!(u===g&&h===f&&A===d)}function Un(o,t){const{path:e}=o,{path:n}=t;return e.indexOf("cells")===-1||n.indexOf("cells")===-1||e.length!==n.length?!1:a.Tools.diffValue(e,n)}function ei(o,t,e){var h,f,m,p,S,I,C,b;const{path:n}=t,{path:i}=e;if(n.indexOf("cells")===-1||i.indexOf("cells")===-1)return!1;const s=o.findGlyphByPosition(t),r=o.findGlyphByPosition(e),c=(p=(m=(f=(h=s==null?void 0:s.parent)==null?void 0:h.parent)==null?void 0:f.parent)==null?void 0:m.parent)==null?void 0:p.parent,A=(b=(C=(I=(S=r==null?void 0:r.parent)==null?void 0:S.parent)==null?void 0:I.parent)==null?void 0:C.parent)==null?void 0:b.parent;if(c==null||A==null)return!1;const l=c.parent,d=A.parent,u=l.cells.indexOf(c),g=d.cells.indexOf(A);return u===g&&l.index===d.index}function wn(o,t){if(Un(o,t))return xn(o,t);const{path:e}=o,{path:n}=t,i=e[e.length-5],s=n[n.length-5];if(i!==s&&typeof i=="string"&&typeof s=="string"){const d=i.split("#-#")[1],u=s.split("#-#")[1];return+d<+u}const r=e[e.length-3],c=n[n.length-3],A=e[e.length-1],l=n[n.length-1];return r<c?!0:r>c?!1:A<=l}function je(o){return o.sections[0].columns[0].lines.length===0}function Ws(o,t,e){let n=t,i=e,s=o[n],r=o[i];for(;n<i&&(je(s)||je(r));)je(s)?(n++,s=o[n]):je(r)&&(i--,r=o[i]);if(!je(s)&&!je(r))return[s,r]}class Qn{constructor(t,e){B(this,"_liquid",new R.Liquid);this._documentOffsetConfig=t,this._docSkeleton=e}getRangePointData(t,e){const n=[],s=this._docSkeleton.getSkeletonData();if(s==null)return;const{pages:r}=s,{segmentPage:c,page:A,pageType:l}=t,d=this._getTableRectRangeInfo(t,e);if(d==null)return;const{tableId:u,startRowIndex:g,startColumnIndex:h,endRowIndex:f,endColumnIndex:m}=d;this._liquid.reset();const{pageLayoutType:p,pageMarginLeft:S,pageMarginTop:I}=this._documentOffsetConfig,C=l===R.DocumentSkeletonPageType.BODY||l===R.DocumentSkeletonPageType.CELL?A:c;for(let b=0;b<C;b++){const O=r[b];this._liquid.translatePage(O,p,S,I)}for(let b=C;b<r.length;b++){const O=r[b];this._liquid.translatePagePadding(O);const{skeTables:v}=O;let y=null;for(const[D,P]of v.entries())D.startsWith(u)&&(y=P);if(y==null){this._liquid.restorePagePadding(O),this._liquid.translatePage(O,p,S,I);continue}this._liquid.translateSave(),this._liquid.translate(0,y.top);const{x,y:_}=this._liquid,{left:w}=y;for(const D of y.rows)if(D.index>=g&&D.index<=f){const P=Ws(D.cells,h,m);if(P==null)continue;const[U,H]=P,k={startX:x+U.left+w,startY:_+D.top,endX:x+H.left+H.pageWidth+w,endY:_+D.top+D.height};n.push(Pn(k))}this._liquid.translateRestore(),this._liquid.restorePagePadding(O),this._liquid.translatePage(O,p,S,I)}return{pointGroup:n,startRow:g,startColumn:h,endRow:f,endColumn:m,tableId:u}}getNodePositionGroup(t,e){const n=[],i=this._docSkeleton.findCharIndexByPosition(t),s=this._docSkeleton.findCharIndexByPosition(e);if(i==null||s==null)return;const r=i<s,c=this._getTableRectRangeInfo(t,e);if(c==null)return;const{tableId:A,startRowIndex:l,startColumnIndex:d,endRowIndex:u,endColumnIndex:g}=c,h=this._docSkeleton.getViewModel().findTableNodeById(A);if(h==null)return;const f=h.children[0].children.length;if(d===0&&g===f-1){const p=h.children[l].children[d],S=this._docSkeleton.findNodePositionByCharIndex(p.startIndex+1),I=h.children[u].children[g],C=this._docSkeleton.findNodePositionByCharIndex(I.endIndex-2);if(S==null||C==null)return;n.push({anchor:r?S:C,focus:r?C:S})}else for(let p=l;p<=u;p++){const S=h.children[p],I=S.children[d],C=S.children[g],b=this._docSkeleton.findNodePositionByCharIndex(I.startIndex+1),O=this._docSkeleton.findNodePositionByCharIndex(C.endIndex-2);if(b==null||O==null)return;n.push({anchor:r?b:O,focus:r?O:b})}return n}_getTableRectRangeInfo(t,e){const i=this._docSkeleton.getSkeletonData();if(i==null)return;const{pages:s}=i,{path:r}=t,{path:c}=e,A=R.getPageFromPath(i,r),l=R.getPageFromPath(i,c);if(A==null||l==null)return;const d=A.segmentId,u=A.parent.index,g=A.parent.cells.indexOf(A),h=(l==null?void 0:l.parent).index,f=(l==null?void 0:l.parent).cells.indexOf(l),m=Math.min(u,h),p=Math.max(u,h),S=Math.min(g,f),I=Math.max(g,f);return{pages:s,tableId:d,startRowIndex:m,startColumnIndex:S,endRowIndex:p,endColumnIndex:I}}}const Ks="__TestSelectionRange__",zs="__TestSelectionAnchor__",ti=6,Ln=500,js=500,Pt=3;function lt(o){const t=o[0],e=t[0],n=t[2],{x:i,y:s}=e,{x:r,y:c}=n;return{left:i,top:s,width:r-i,height:c-s}}function Ut(o){return o.map(t=>{let e=1/0,n=-1/0,i=1/0,s=-1/0;return t.forEach(r=>{e=Math.min(r.x,e),n=Math.max(r.x,n),s=Math.max(r.y,s),i=Math.min(r.y,i)}),{left:e,right:n,top:i,bottom:s}})}class Me{constructor(t,e,n,i,s,r=R.NORMAL_TEXT_SELECTION_PLUGIN_STYLE,c="",A=-1){B(this,"rangeType",a.DOC_RANGE_TYPE.TEXT);B(this,"_current",!1);B(this,"_rangeShape");B(this,"_anchorShape");B(this,"_cursorList",[]);B(this,"_anchorBlinkTimer",null);this._scene=t,this._document=e,this._docSkeleton=n,this.anchorNodePosition=i,this.focusNodePosition=s,this.style=r,this._segmentId=c,this._segmentPage=A,this._anchorBlink(),this.refresh()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},Ln),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},Ln))},js+Ln)}get startOffset(){var i;const{startOffset:t}=(i=Nn(this._cursorList))!=null?i:{},e=this._docSkeleton.getViewModel().getDataModel().getSelfOrHeaderFooterModel(this._segmentId).getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(n,t)}get endOffset(){var i;const{endOffset:t}=(i=Nn(this._cursorList))!=null?i:{},e=this._docSkeleton.getViewModel().getDataModel().getSelfOrHeaderFooterModel(this._segmentId).getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(t,n)}get collapsed(){const{startOffset:t,endOffset:e}=this;return t!=null&&t===e}get startNodePosition(){if(this.anchorNodePosition==null)return null;if(this.focusNodePosition==null)return this.anchorNodePosition;const{start:t}=_n(this.anchorNodePosition,this.focusNodePosition);return t}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:t}=_n(this.anchorNodePosition,this.focusNodePosition);return t}get direction(){const{collapsed:t,anchorNodePosition:e,focusNodePosition:n}=this;return t||e==null||n==null?a.RANGE_DIRECTION.NONE:xn(e,n)?a.RANGE_DIRECTION.FORWARD:a.RANGE_DIRECTION.BACKWARD}get segmentId(){return this._segmentId}get segmentPage(){return this._segmentPage}getAbsolutePosition(){const t=this.anchorNodePosition,e=this.focusNodePosition;if(this._isEmpty())return;const n=this._document.getOffsetConfig(),{docsLeft:i,docsTop:s}=n,r=new Ie(n,this._docSkeleton);if(this._isCollapsed()){const{contentBoxPointGroup:d,cursorList:u}=r.getRangePointData(t,t);if(this._setCursorList(u),d.length===0)return;const g=lt(d);return{...g,left:g.left+i,top:g.top+s}}const{borderBoxPointGroup:c,cursorList:A}=r.getRangePointData(t,e);if(this._setCursorList(A),c.length===0)return;const l=lt(c);return{...l,left:l.left+i,top:l.top+s}}getAnchor(){return this._anchorShape}activeStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.strokeActive)||R.getColor(a.COLORS.black,1)})}deactivateStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.stroke)||R.getColor(a.COLORS.black,0)})}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var t,e;(t=this._rangeShape)==null||t.dispose(),this._rangeShape=null,(e=this._anchorShape)==null||e.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(t){const{startOffset:e,endOffset:n}=this,{startOffset:i,endOffset:s}=t;return e==null||n==null||i==null||s==null?!1:e<=s&&n>=i}refresh(){var u,g;const{_document:t,_docSkeleton:e}=this,n=this.anchorNodePosition,i=this.focusNodePosition;if((u=this._anchorShape)==null||u.hide(),(g=this._rangeShape)==null||g.hide(),this._isEmpty())return;const s=t.getOffsetConfig(),{docsLeft:r,docsTop:c}=s,A=new Ie(s,e);if(this._isCollapsed()){const{contentBoxPointGroup:h,cursorList:f}=A.getRangePointData(n,n);if(this._setCursorList(f),h.length>0){const m=e.findGlyphByPosition(n);this._createOrUpdateAnchor(h,r,c,m)}return}const{borderBoxPointGroup:l,cursorList:d}=A.getRangePointData(n,i);this._setCursorList(d),l.length>0&&this._createOrUpdateRange(l,r,c)}_isEmpty(){return this.anchorNodePosition==null&&this.focusNodePosition==null}_isCollapsed(){const t=this.anchorNodePosition,e=this.focusNodePosition;if(t!=null&&e==null)return!0;if(t==null||e==null)return!1;const n=Object.keys(ze);for(const i of n){const s=t[i],r=e[i];if(s!==r)return!1}return t.isBack===e.isBack}_createOrUpdateRange(t,e,n){var r;if(this._rangeShape){this._rangeShape.translate(e,n),this._rangeShape.updatePointGroup(t),this._rangeShape.show();return}const i=.3,s=new R.RegularPolygon(Ks+a.Tools.generateRandomId(ti),{pointsGroup:t,fill:((r=this.style)==null?void 0:r.fill)||R.getColor(a.COLORS.black,i),left:e,top:n,evented:!1,debounceParentDirty:!1});this._rangeShape=s,this._scene.addObject(s,Pt)}_createOrUpdateAnchor(t,e,n,i){var m,p,S;const s=lt(t),{left:r}=s;let{top:c,height:A}=s;const l=14;A<l&&(c-=l-A,A=l);const d=12;let u=r+e;const g=c+n,h=((m=i==null?void 0:i.ts)==null?void 0:m.it)===a.BooleanNumber.TRUE;if(h&&(u+=A*Math.tan(d*Math.PI/180)/2),this._anchorShape){this._anchorShape.transformByState({left:u,top:g,height:A}),this._anchorShape.show(),h?this._anchorShape.skew(-12,0):this._anchorShape.skew(0,0);return}const f=new R.Rect(zs+a.Tools.generateRandomId(ti),{left:u,top:g,height:A,strokeWidth:((p=this.style)==null?void 0:p.strokeWidth)||1.5,stroke:((S=this.style)==null?void 0:S.strokeActive)||R.getColor(a.COLORS.black,1),evented:!1});h&&f.skew(-12,0),this._anchorShape=f,this._scene.addObject(f,Pt),this.activeStatic()}_setCursorList(t){t.length!==0&&(this._cursorList=t)}}const Gs="__DocTableRectRange__",Xs=6;function wt(o,t,e,n,i,s=R.NORMAL_TEXT_SELECTION_PLUGIN_STYLE,r="",c=-1){const A=t.getOffsetConfig(),d=new Qn(A,e).getNodePositionGroup(n,i);return(d!=null?d:[]).map(u=>new Fn(o,t,e,u.anchor,u.focus,s,r,c))}class Fn{constructor(t,e,n,i,s,r=R.NORMAL_TEXT_SELECTION_PLUGIN_STYLE,c="",A=-1){B(this,"rangeType",a.DOC_RANGE_TYPE.RECT);B(this,"_rangeShape");B(this,"_current",!1);B(this,"_startRow");B(this,"_startCol");B(this,"_endRow");B(this,"_endCol");B(this,"_tableId");this._scene=t,this._document=e,this._docSkeleton=n,this.anchorNodePosition=i,this.focusNodePosition=s,this.style=r,this._segmentId=c,this._segmentPage=A,this.refresh()}get startOffset(){const{startNodePosition:t}=this;return this._docSkeleton.findCharIndexByPosition(t)}get endOffset(){const{endNodePosition:t}=this;return this._docSkeleton.findCharIndexByPosition(t)}get collapsed(){return!1}get startRow(){return this._startRow}get startColumn(){return this._startCol}get endRow(){return this._endRow}get endColumn(){return this._endCol}get tableId(){return this._tableId}get segmentId(){return this._segmentId}get segmentPage(){return this._segmentPage}get spanEntireRow(){var r;const e=(r=this._docSkeleton.getViewModel().getSnapshot().tableSource)==null?void 0:r[this._tableId],{_startCol:n,_endCol:i}=this;if(e==null)throw new Error("Table is not found.");const{tableColumns:s}=e;return n===0&&i===s.length-1}get spanEntireColumn(){var r;const e=(r=this._docSkeleton.getViewModel().getSnapshot().tableSource)==null?void 0:r[this._tableId],{_startRow:n,_endRow:i}=this;if(e==null)throw new Error("Table is not found.");const{tableRows:s}=e;return n===0&&i===s.length-1}get spanEntireTable(){return this.spanEntireRow&&this.spanEntireColumn}get startNodePosition(){const{anchorNodePosition:t,focusNodePosition:e}=this;return wn(t,e)?t:e}get endNodePosition(){const{anchorNodePosition:t,focusNodePosition:e}=this;return wn(t,e)?e:t}get direction(){const{anchorNodePosition:t,focusNodePosition:e}=this;return wn(t,e)?a.RANGE_DIRECTION.FORWARD:a.RANGE_DIRECTION.BACKWARD}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var t;(t=this._rangeShape)==null||t.dispose(),this._rangeShape=null}isIntersection(t){const{startRow:e,startColumn:n,endRow:i,endColumn:s}=this,{startRow:r,startColumn:c,endRow:A,endColumn:l}=t,d={left:n,top:e,right:s,bottom:i},u={left:c,top:r,right:l,bottom:A};return a.Rectangle.hasIntersectionBetweenTwoRect(d,u)}refresh(){var p;(p=this._rangeShape)==null||p.hide();const{startNodePosition:t,endNodePosition:e,_document:n,_docSkeleton:i}=this,s=n.getOffsetConfig(),{docsLeft:r,docsTop:c}=s,l=new Qn(s,i).getRangePointData(t,e);if(l==null)return;const{pointGroup:d=[],startRow:u,endRow:g,startColumn:h,endColumn:f,tableId:m}=l;(d==null?void 0:d.length)>0&&this._createOrUpdateRange(d,r,c),this._updateTableInfo(u,g,h,f,m)}_updateTableInfo(t,e,n,i,s){this._startRow=t,this._endRow=e,this._startCol=n,this._endCol=i,this._tableId=s}_createOrUpdateRange(t,e,n){var r;if(this._rangeShape){this._rangeShape.translate(e,n),this._rangeShape.updatePointGroup(t),this._rangeShape.show();return}const i=.3,s=new R.RegularPolygon(Gs+a.Tools.generateRandomId(Xs),{pointsGroup:t,fill:((r=this.style)==null?void 0:r.fill)||R.getColor(a.COLORS.black,i),left:e,top:n,evented:!1,debounceParentDirty:!1});this._rangeShape=s,this._scene.addObject(s,Pt)}}function ni(o,t,e,n,i,s,r,c,A=!0,l=!0){const d=i.findNodePositionByCharIndex(o,A,r,c),u=i.findNodePositionByCharIndex(t,l,r,c);if(!(d==null||u==null))return new Me(e,n,i,d,u,s,r,c)}function Ys(o,t,e,n,i,s,r,c){const A=i.findNodePositionByCharIndex(o,!0,r,c),l=i.findNodePositionByCharIndex(t,!0,r,c);if(!(A==null||l==null))return new Fn(e,n,i,A,l,s,r,c)}function qs(o,t,e,n,i,s,r,c){const A=i.findNodePositionByCharIndex(o,!0,r,c),l=i.findNodePositionByCharIndex(t,!0,r,c);if(!(A==null||l==null))return kn(A,l,e,n,i,s,r,c)}function kn(o,t,e,n,i,s,r,c){const A=[],l=[],d=[e,n,i,o,t,s,r,c];if(ei(i,o,t)){if(Un(o,t))return A.push(new Me(...d)),{textRanges:A,rectRanges:l};{const C=wt(...d);return l.push(...C),{textRanges:A,rectRanges:l}}}if($o(o,t)){const C=wt(...d);return l.push(...C),{textRanges:A,rectRanges:l}}const u=i.getViewModel().getSelfOrHeaderFooterViewModel(r),g=i.findCharIndexByPosition(o),h=i.findCharIndexByPosition(t);if(g==null||h==null)return;const f=g<=h?a.RANGE_DIRECTION.FORWARD:a.RANGE_DIRECTION.BACKWARD,m=Math.min(g,h),p=Math.max(g,h);let S=m,I=p;for(const C of u.getChildren())for(const b of C.children){const{startIndex:O,endIndex:v,children:y}=b,x=C.children.indexOf(b),_=C.children[x+1],w=y[0];let D=!1;if(w){const{startIndex:P,endIndex:U,children:H}=w;let k=null,L=null;const z=H.find(V=>V.startIndex<=m&&V.endIndex>=m),W=H.find(V=>V.startIndex<=p&&V.endIndex>=p);if(m>P&&m<U)k=i.findNodePositionByCharIndex(z.startIndex+2,!0,r,c),L=i.findNodePositionByCharIndex(U-4,!0,r,c),S=U+1;else if(p>P&&p<U)k=i.findNodePositionByCharIndex(P+3,!0,r,c),L=i.findNodePositionByCharIndex(W.endIndex-3,!0,r,c),I=P-1,D=!0;else if(P>m&&U<p){if(k=i.findNodePositionByCharIndex(P+3,!0,r,c),L=i.findNodePositionByCharIndex(U-4,!0,r,c),S<=P-1){const V=i.findNodePositionByCharIndex(S,!0,r,c),K=i.findNodePositionByCharIndex(P-1,!1,r,c),G=f===a.RANGE_DIRECTION.FORWARD?V:K,J=f===a.RANGE_DIRECTION.FORWARD?K:V;A.push(new Me(e,n,i,G,J,s,r,c))}S=U+1}if(k&&L){const V=f===a.RANGE_DIRECTION.FORWARD?k:L,K=f===a.RANGE_DIRECTION.FORWARD?L:k;l.push(...wt(e,n,i,V,K,s,r,c))}}if(I===v+1&&!D&&_&&_.children.length&&(I=v,D=!0),I>=O&&I<=v||D){const P=i.findNodePositionByCharIndex(S,!0,r,c),U=i.findNodePositionByCharIndex(I,!D,r,c),H=f===a.RANGE_DIRECTION.FORWARD?P:U,k=f===a.RANGE_DIRECTION.FORWARD?U:P;if(l.length&&a.Tools.diffValue(H,k))continue;A.push(new Me(e,n,i,H,k,s,r,c))}}return{textRanges:A,rectRanges:l}}function oi(o){const t=o==null?void 0:o.getCanvasElement();if(!t)return{left:0,top:0};const{top:e,left:n}=R.getOffsetRectForDom(t);return{left:n,top:e}}function ii(o){var A;const t=(A=o.parent)==null?void 0:A.parent,e=t==null?void 0:t.parent;if(t==null||e==null)return;const{paragraphIndex:n}=t,i=e.lines.filter(l=>l.paragraphIndex===n);let s=-1,r="",c=!1;for(const l of i)for(const d of l.divides)for(const u of d.glyphGroup)c||(s+=u.count),u===o&&(c=!0),r+=u.count>0?u.content:"";return{st:i[0].st,ed:n,content:r,nodeIndex:s}}function Hn(o){const{startOffset:t,endOffset:e,collapsed:n,rangeType:i,startNodePosition:s,endNodePosition:r,direction:c,segmentId:A,segmentPage:l}=o;return{startOffset:t,endOffset:e,collapsed:n,rangeType:i,startNodePosition:s,endNodePosition:r,direction:c,segmentId:A,segmentPage:l,isActive:o.isActive()}}function Js(o){const t=Hn(o),{startRow:e,startColumn:n,endRow:i,endColumn:s,tableId:r,spanEntireRow:c,spanEntireColumn:A,spanEntireTable:l}=o;return{...t,startRow:e,startColumn:n,endRow:i,endColumn:s,tableId:r,spanEntireRow:c,spanEntireColumn:A,spanEntireTable:l}}var Zs=Object.getOwnPropertyDescriptor,$s=(o,t,e,n)=>{for(var i=n>1?void 0:n?Zs(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Qt=(o,t)=>(e,n)=>t(e,n,o);T.DocSelectionRenderService=class extends a.RxDisposable{constructor(e,n,i,s,r){super();B(this,"_onInputBefore$",new N.Subject);B(this,"onInputBefore$",this._onInputBefore$.asObservable());B(this,"_onKeydown$",new N.Subject);B(this,"onKeydown$",this._onKeydown$.asObservable());B(this,"_onInput$",new N.Subject);B(this,"onInput$",this._onInput$.asObservable());B(this,"_onCompositionstart$",new N.BehaviorSubject(null));B(this,"onCompositionstart$",this._onCompositionstart$.asObservable());B(this,"_onCompositionupdate$",new N.BehaviorSubject(null));B(this,"onCompositionupdate$",this._onCompositionupdate$.asObservable());B(this,"_onCompositionend$",new N.BehaviorSubject(null));B(this,"onCompositionend$",this._onCompositionend$.asObservable());B(this,"_onSelectionStart$",new N.BehaviorSubject(null));B(this,"onSelectionStart$",this._onSelectionStart$.asObservable());B(this,"onChangeByEvent$",N.merge(this._onInput$,this._onKeydown$.pipe(N.filter(e=>e.event.keyCode===E.KeyCode.BACKSPACE)),this._onCompositionend$));B(this,"_onPaste$",new N.Subject);B(this,"onPaste$",this._onPaste$.asObservable());B(this,"_textSelectionInner$",new N.BehaviorSubject(null));B(this,"textSelectionInner$",this._textSelectionInner$.asObservable());B(this,"_onFocus$",new N.Subject);B(this,"onFocus$",this._onFocus$.asObservable());B(this,"_onBlur$",new N.Subject);B(this,"onBlur$",this._onBlur$.asObservable());B(this,"_onPointerDown$",new N.Subject);B(this,"onPointerDown$",this._onPointerDown$.asObservable());B(this,"_container");B(this,"_inputParent");B(this,"_input");B(this,"_scrollTimers",[]);B(this,"_rangeList",[]);B(this,"_rangeListCache",[]);B(this,"_rectRangeList",[]);B(this,"_rectRangeListCache",[]);B(this,"_anchorNodePosition",null);B(this,"_focusNodePosition",null);B(this,"_currentSegmentId","");B(this,"_currentSegmentPage",-1);B(this,"_selectionStyle",R.NORMAL_TEXT_SELECTION_PLUGIN_STYLE);B(this,"_onPointerEvent",!1);B(this,"_viewPortObserverMap",new Map);B(this,"_isIMEInputApply",!1);B(this,"_scenePointerMoveSubs",[]);B(this,"_scenePointerUpSubs",[]);B(this,"_reserveRanges",!1);this._context=e,this._layoutService=n,this._logService=i,this._univerInstanceService=s,this._docSkeletonManagerService=r,this._initDOM(),this._registerContainer(),this._setSystemHighlightColorToStyle(),this._listenCurrentUnitChange()}get isOnPointerEvent(){return this._onPointerEvent}get isFocusing(){return this._input===document.activeElement}get canFocusing(){return this.isFocusing||document.activeElement===document.body||document.activeElement===null}_listenCurrentUnitChange(){this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_DOC).pipe(N.takeUntil(this.dispose$)).subscribe(e=>{if(e==null)return;e.getUnitId()!==this._context.unitId&&!this._reserveRanges&&this.removeAllRanges()})}get activeViewPort(){return this._context.scene.getViewports()[0]}setSegment(e){this._currentSegmentId=e}getSegment(){return this._currentSegmentId}setSegmentPage(e){this._currentSegmentPage=e}getSegmentPage(){return this._currentSegmentPage}setReserveRangesStatus(e){this._reserveRanges=e}_setRangeStyle(e=R.NORMAL_TEXT_SELECTION_PLUGIN_STYLE){this._selectionStyle=e}addDocRanges(e,n=!0,i){const{_currentSegmentId:s,_currentSegmentPage:r,_selectionStyle:c}=this,{scene:A,mainComponent:l}=this._context,d=l,u=this._docSkeletonManagerService.getSkeleton(),g=(h,f)=>{const m=qs(h,f,A,d,u,c,s,r);if(m==null)return;const{textRanges:p,rectRanges:S}=m;for(const I of p)this._addTextRange(I);this._addRectRanges(S)};for(const h of e){const{startOffset:f,endOffset:m,rangeType:p,startNodePosition:S,endNodePosition:I}=h;if(p===a.DOC_RANGE_TYPE.RECT){const C=Ys(f,m,A,d,u,c,s,r);C&&this._addRectRanges([C])}else if(p===a.DOC_RANGE_TYPE.TEXT)try{let C=null;S&&I?C=ni(S.isBack?f:f-1,I.isBack?m:m-1,A,d,u,c,s,r,S.isBack,I.isBack):C=ni(f,m,A,d,u,c,s,r),C&&this._addTextRange(C)}catch{g(f,m)}else g(f,m)}this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:s,segmentPage:r,style:c,isEditing:n,options:i}),this._updateInputPosition(i==null?void 0:i.forceFocus)}setCursorManually(e,n){const i=this._findNodeByCoord(e,n,{strict:!0,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage}),s=this._getNodePosition(i);if(s==null){this._removeAllRanges();return}(i==null?void 0:i.node.streamType)===a.DataStreamTreeTokenType.PARAGRAPH&&(s.isBack=!0),this._createTextRangeByAnchorPosition(s),this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage,style:this._selectionStyle,isEditing:!1})}sync(){this._updateInputPosition()}activate(e,n,i=!1){this._container.style.left=`${e}px`,this._container.style.top=`${n}px`,this._container.style.zIndex="1000",(this.canFocusing||i)&&this.focus()}hasFocus(){return document.activeElement===this._input}focus(){this._input.focus()}blur(){this._input.blur()}deactivate(){this._container.style.left="0px",this._container.style.top="0px"}__handleDblClick(e){const{offsetX:n,offsetY:i}=e,s=this._findNodeByCoord(n,i,{strict:!1,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage});if(s==null||s.node==null)return;const r=ii(s.node);if(r==null)return;const{content:c,st:A,nodeIndex:l}=r;if(l===-1||Intl.Segmenter==null)return;const u=new Intl.Segmenter(void 0,{granularity:"word"}).segment(c);let g=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(const{segment:f,index:m,isWordLike:p}of u)if(m<=l&&l<m+f.length&&p){g=m+A,h=m+A+f.length;break}if(Number.isFinite(g)&&Number.isFinite(h)){this.removeAllRanges();const f=[{startOffset:g,endOffset:h}];this.addDocRanges(f,!1,{forceFocus:!0})}}__handleTripleClick(e){const{offsetX:n,offsetY:i}=e,s=this._findNodeByCoord(n,i,{strict:!1,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage});if(s==null||s.node==null)return;const r=ii(s.node);if(r==null)return;this.removeAllRanges();const{st:c,ed:A}=r,l=[{startOffset:c,endOffset:A}];this.addDocRanges(l,!1,{forceFocus:!0})}__onPointDown(e){var p,S;const{scene:n,mainComponent:i}=this._context,s=this._docSkeletonManagerService.getSkeleton(),{offsetX:r,offsetY:c}=e,A=this._findNodeByCoord(r,c,{strict:!1,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage}),l=this._getNodePosition(A);if(l==null||A==null){this._removeAllRanges();return}(A==null?void 0:A.node.streamType)===a.DataStreamTreeTokenType.PARAGRAPH&&(l.isBack=!0);const d=this._textSelectionInner$.value;if(A&&e.button===2&&d){const I=s.findCharIndexByPosition(l);if(typeof I=="number"&&d.textRanges.some(C=>C.startOffset<=I&&C.endOffset>I)||typeof I=="number"&&d.rectRanges.some(C=>C.startOffset<=I&&C.endOffset>=I))return}const{segmentId:u,segmentPage:g}=A;u&&this._currentSegmentId&&u!==this._currentSegmentId&&this.setSegment(u),u&&g!==this._currentSegmentPage&&this.setSegmentPage(g),this._anchorNodePosition=l,e.shiftKey&&this._getActiveRangeInstance()?this._updateActiveRangePosition(l):e.ctrlKey?this._removeAllCollapsedTextRanges():this._isEmpty()||this._removeAllRanges(),n.disableObjectsEvent();const h=R.ScrollTimer.create(n);this._scrollTimers.push(h),h.startScroll(r,c),this._onSelectionStart$.next((p=this._getActiveRangeInstance())==null?void 0:p.startNodePosition),(S=n.getTransformer())==null||S.clearSelectedObjects();let f=r,m=c;this._onPointerEvent=!0,this._scenePointerMoveSubs.push(n.onPointerMove$.subscribeEvent(I=>{const{offsetX:C,offsetY:b}=I;n.setCursor(R.CURSOR_TYPE.TEXT),!(Math.sqrt((C-f)**2+(b-m)**2)<3)&&(this._moving(C,b),h.scrolling(C,b,()=>{this._moving(C,b)}),f=C,m=b)})),this._scenePointerUpSubs.push(n.onPointerUp$.subscribeEvent(()=>{if([...this._scenePointerMoveSubs,...this._scenePointerUpSubs].forEach(C=>{C.unsubscribe()}),this._onPointerEvent=!1,n.enableObjectsEvent(),this._anchorNodePosition&&!this._focusNodePosition){if(e.ctrlKey){this._disposeScrollTimers();return}const C=new Me(n,i,s,this._anchorNodePosition,void 0,this._selectionStyle,this._currentSegmentId,this._currentSegmentPage);this._addTextRange(C)}else if(this._anchorNodePosition&&this._focusNodePosition){for(const C of this._rangeListCache)e.ctrlKey?C.collapsed?C.dispose():this._addTextRange(C):this._addTextRange(C);this._addRectRanges(this._rectRangeListCache),this._rangeListCache=[],this._rectRangeListCache=[]}this._anchorNodePosition=null,this._focusNodePosition=null;const I={textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage,style:this._selectionStyle,isEditing:!1};this._textSelectionInner$.next(I),this._disposeScrollTimers(),this._updateInputPosition(!0)}))}removeAllRanges(){this._removeAllRanges(),this.deactivate()}getActiveTextRange(){return this._getActiveRangeInstance()}_disposeScrollTimers(){this._scrollTimers.forEach(e=>{e==null||e.dispose()}),this._scrollTimers=[]}_setSystemHighlightColorToStyle(){const{r:e,g:n,b:i,a:s}=R.getSystemHighlightColor(),r={strokeWidth:1.5,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:`rgba(${e}, ${n}, ${i}, ${s!=null?s:.3})`};this._setRangeStyle(r)}_getAllTextRanges(){return this._rangeList.map(Hn)}_getAllRectRanges(){return this._rectRangeList.map(Js)}getAllTextRanges(){return this._getAllTextRanges()}getAllRectRanges(){return this._getAllRectRanges()}_getActiveRange(){const e=this._rangeList.find(s=>s.isActive());if(e==null)return null;const{startOffset:n,endOffset:i}=e;return n==null||i==null?null:Hn(e)}_getActiveRangeInstance(){return this._rangeList.find(e=>e.isActive())}dispose(){super.dispose(),this._detachEvent(),this._removeAllRanges(),this._container.remove()}_initDOM(){const{unitId:e}=this._context,n=document.createElement("div");n.style.position="fixed",n.style.left="0px",n.style.top="0px",n.id=`univer-doc-selection-container-${e}`;const i=document.createElement("div"),s=document.createElement("div");i.appendChild(s),n.appendChild(i),this._container=n,this._inputParent=i,this._input=s,this._initInput(),this._initInputEvents(),document.body.appendChild(n)}_registerContainer(){this.disposeWithMe(this._layoutService.registerContainerElement(this._container))}_initInput(){this._inputParent.style.cssText=`
3
+ they are not in the same segment page when in header or footer.`);const{start:c,end:A}=xn(t,e);return this._selectionIterator(c,A,(l,d,u,g,h,m)=>{const{lineHeight:f,asc:p,paddingTop:S,marginTop:I,marginBottom:C}=m,{glyphGroup:y,st:R}=h;if(y.length===0)return;const{x:v,y:b}=this._liquid;let O,_;const w=y[l],D=y[d],U=y[l-1],P=(w==null?void 0:w.left)||0,k=(w==null?void 0:w.width)||0,H=(D==null?void 0:D.left)||0,Q=(D==null?void 0:D.width)||0,G=(w==null?void 0:w.glyphType)===B.GlyphType.LIST,{startOffset:Y,endOffset:W}=Ls(y,l,d,R),V=c.glyph===l&&u?c.isBack:!0,K=A.glyph===d&&g?A.isBack:!1,X=c===A,J=V&&U!=null?U:w;if(l===0&&d===y.length-1)O={startX:v+P+(G?k:0),startY:b,endX:v+H+(K?0:Q),endY:b+f-I-C},_={startX:v+P+(G?k:0),startY:b+S+p-J.bBox.ba,endX:v+H+(K?0:Q),endY:b+S+p+J.bBox.bd};else{const j=V&&!G;O={startX:v+P+(j?0:k),startY:b,endX:v+H+(K?0:Q),endY:b+f-I-C},_={startX:v+P+(j?0:k),startY:b+S+p-J.bBox.ba,endX:v+H+(K?0:Q),endY:b+S+p+J.bBox.bd}}n.push(Nn(O)),i.push(Nn(_)),s.push({startOffset:V?Y:Y+w.count,endOffset:K?W:W+D.count,collapsed:X})}),{borderBoxPointGroup:n,contentBoxPointGroup:i,cursorList:s}}_isValidPosition(t,e){const{segmentPage:n,pageType:i}=t,{segmentPage:s,pageType:r}=e;return i!==r?!1:i===B.DocumentSkeletonPageType.HEADER||i===B.DocumentSkeletonPageType.FOOTER?n===s:!0}_resetCurrentNodePositionState(){this._currentStartState={page:0,section:0,column:0,line:0,divide:0,glyph:0},this._currentEndState={page:0,section:0,column:0,line:0,divide:0,glyph:0}}_setNodePositionState(t=0,e,n,i){i===e?this._currentStartState[t]=1:this._currentStartState[t]=0,i===n?this._currentEndState[t]=2:this._currentEndState[t]=0}_checkPreviousNodePositionState(t,e=!0){let n=t,i;for(;n>=0;){const s=_t[n];let r;if(e?r=this._currentStartState[s]:r=this._currentEndState[s],r===void 0)return;if(i===void 0&&(i=r),r!==i)return 0;n--}return i}_getSelectionRuler(t,e,n,i,s){let r=0,c=i;const A=_t[t],l=_t[t+1];if(l===null||A===null)return{start_next:r,end_next:c};const d=e[A],u=n[A];this._setNodePositionState(A,d,u,s);const g=this._checkPreviousNodePositionState(t),h=this._checkPreviousNodePositionState(t,!1);return g===1&&(r=e[l]),h===2&&(c=n[l]),{start_next:r,end_next:c}}_selectionIterator(t,e,n){var y,R;const i=this._docSkeleton;if(!i)return[];const{pageType:s,path:r}=t;this._liquid.reset();const c=i.getSkeletonData();if(c==null)return[];const{pages:A,skeHeaders:l,skeFooters:d}=c,{page:u,segmentPage:g}=t,{page:h,segmentPage:m}=e;if(this._resetCurrentNodePositionState(),this._documentOffsetConfig==null)return[];const{pageLayoutType:f,pageMarginLeft:p,pageMarginTop:S}=this._documentOffsetConfig,I=s===B.DocumentSkeletonPageType.BODY||s===B.DocumentSkeletonPageType.CELL?u:g;for(let v=0;v<I;v++){const b=A[v];this._liquid.translatePage(b,f,p,S)}const C=s===B.DocumentSkeletonPageType.BODY||s===B.DocumentSkeletonPageType.CELL?h:m;for(let v=I;v<=C;v++){const b=A[v],{headerId:O,footerId:_,pageWidth:w}=b;let D=b;if(s===B.DocumentSkeletonPageType.HEADER?D=(y=l.get(O))==null?void 0:y.get(w):s===B.DocumentSkeletonPageType.FOOTER?D=(R=d.get(_))==null?void 0:R.get(w):s===B.DocumentSkeletonPageType.CELL&&(D=B.getPageFromPath(c,r)),D==null){this._liquid.translatePage(b,f,p,S);continue}const U=D.sections,{start_next:P,end_next:k}=this._getSelectionRuler(ze.page,t,e,U.length-1,s===B.DocumentSkeletonPageType.BODY||s===B.DocumentSkeletonPageType.CELL?v:0);switch(this._liquid.translateSave(),s){case B.DocumentSkeletonPageType.HEADER:this._liquid.translatePagePadding({...D,marginLeft:b.marginLeft});break;case B.DocumentSkeletonPageType.FOOTER:{const H=b.pageHeight-D.height-D.marginBottom;this._liquid.translate(b.marginLeft,H);break}case B.DocumentSkeletonPageType.CELL:{this._liquid.translatePagePadding(b);const H=D.parent,Q=H.parent,{left:G}=D,{top:Y,left:W}=Q,{top:V}=H;this._liquid.translate(W+G,Y+V),this._liquid.translatePagePadding(D);break}default:this._liquid.translatePagePadding(b);break}for(let H=P;H<=k;H++){const Q=U[H],G=Q.columns,{start_next:Y,end_next:W}=this._getSelectionRuler(ze.section,t,e,G.length-1,H);this._liquid.translateSection(Q);for(let V=Y;V<=W;V++){const K=G[V],X=K.lines,{start_next:J,end_next:j}=this._getSelectionRuler(ze.column,t,e,X.length-1,V);this._liquid.translateColumn(K);for(let z=J;z<=j;z++){const Z=X[z],{divides:ie}=Z,{start_next:fe,end_next:Be}=this._getSelectionRuler(ze.line,t,e,ie.length-1,z);this._liquid.translateSave(),this._liquid.translateLine(Z,!0,!1);for(let pe=fe;pe<=Be;pe++){const Qo=ie[pe];this._liquid.translateSave(),this._liquid.translateDivide(Qo);const{glyphGroup:YA}=Qo,{start_next:qA,end_next:JA}=this._getSelectionRuler(ze.divide,t,e,YA.length-1,pe);let bs=!1,Os=!1;v===I&&H===P&&V===Y&&z===J&&pe===fe&&(bs=!0),v===C&&H===k&&V===W&&z===j&&pe===Be&&(Os=!0),n&&n(qA,JA,bs,Os,Qo,Z,K,Q,D),this._liquid.translateRestore()}this._liquid.translateRestore()}}}this._liquid.translateRestore(),this._liquid.translatePage(b,f,p,S)}}}function Zo(o,t){const{path:e}=o,{path:n}=t;if(e.length!==n.length||e.indexOf("cells")===-1)return!1;const i=e.indexOf("skeTables")+1,s=e.indexOf("rows")+1,r=e.indexOf("cells")+1,{tableId:c,sliceIndex:A}=B.getTableIdAndSliceIndex(e[i]),{tableId:l,sliceIndex:d}=B.getTableIdAndSliceIndex(n[i]);if(c!==l)return!1;const u=e[s],g=n[s],h=e[r],m=n[r];return!(u===g&&h===m&&A===d)}function Pn(o,t){const{path:e}=o,{path:n}=t;return e.indexOf("cells")===-1||n.indexOf("cells")===-1||e.length!==n.length?!1:a.Tools.diffValue(e,n)}function $o(o,t,e){var h,m,f,p,S,I,C,y;const{path:n}=t,{path:i}=e;if(n.indexOf("cells")===-1||i.indexOf("cells")===-1)return!1;const s=o.findGlyphByPosition(t),r=o.findGlyphByPosition(e),c=(p=(f=(m=(h=s==null?void 0:s.parent)==null?void 0:h.parent)==null?void 0:m.parent)==null?void 0:f.parent)==null?void 0:p.parent,A=(y=(C=(I=(S=r==null?void 0:r.parent)==null?void 0:S.parent)==null?void 0:I.parent)==null?void 0:C.parent)==null?void 0:y.parent;if(c==null||A==null)return!1;const l=c.parent,d=A.parent,u=l.cells.indexOf(c),g=d.cells.indexOf(A);return u===g&&l.index===d.index}function Un(o,t){if(Pn(o,t))return Mn(o,t);const{path:e}=o,{path:n}=t,i=e[e.length-5],s=n[n.length-5];if(i!==s&&typeof i=="string"&&typeof s=="string"){const d=i.split("#-#")[1],u=s.split("#-#")[1];return+d<+u}const r=e[e.length-3],c=n[n.length-3],A=e[e.length-1],l=n[n.length-1];return r<c?!0:r>c?!1:A<=l}function je(o){return o.sections[0].columns[0].lines.length===0}function Fs(o,t,e){let n=t,i=e,s=o[n],r=o[i];for(;n<i&&(je(s)||je(r));)je(s)?(n++,s=o[n]):je(r)&&(i--,r=o[i]);if(!je(s)&&!je(r))return[s,r]}class wn{constructor(t,e){M(this,"_liquid",new B.Liquid);this._documentOffsetConfig=t,this._docSkeleton=e}getRangePointData(t,e){const n=[],s=this._docSkeleton.getSkeletonData();if(s==null)return;const{pages:r}=s,{segmentPage:c,page:A,pageType:l}=t,d=this._getTableRectRangeInfo(t,e);if(d==null)return;const{tableId:u,startRowIndex:g,startColumnIndex:h,endRowIndex:m,endColumnIndex:f}=d;this._liquid.reset();const{pageLayoutType:p,pageMarginLeft:S,pageMarginTop:I}=this._documentOffsetConfig,C=l===B.DocumentSkeletonPageType.BODY||l===B.DocumentSkeletonPageType.CELL?A:c;for(let y=0;y<C;y++){const R=r[y];this._liquid.translatePage(R,p,S,I)}for(let y=C;y<r.length;y++){const R=r[y];this._liquid.translatePagePadding(R);const{skeTables:v}=R;let b=null;for(const[D,U]of v.entries())D.startsWith(u)&&(b=U);if(b==null){this._liquid.restorePagePadding(R),this._liquid.translatePage(R,p,S,I);continue}this._liquid.translateSave(),this._liquid.translate(0,b.top);const{x:O,y:_}=this._liquid,{left:w}=b;for(const D of b.rows)if(D.index>=g&&D.index<=m){const U=Fs(D.cells,h,f);if(U==null)continue;const[P,k]=U,H={startX:O+P.left+w,startY:_+D.top,endX:O+k.left+k.pageWidth+w,endY:_+D.top+D.height};n.push(Nn(H))}this._liquid.translateRestore(),this._liquid.restorePagePadding(R),this._liquid.translatePage(R,p,S,I)}return{pointGroup:n,startRow:g,startColumn:h,endRow:m,endColumn:f,tableId:u}}getNodePositionGroup(t,e){const n=[],i=this._docSkeleton.findCharIndexByPosition(t),s=this._docSkeleton.findCharIndexByPosition(e);if(i==null||s==null)return;const r=i<s,c=this._getTableRectRangeInfo(t,e);if(c==null)return;const{tableId:A,startRowIndex:l,startColumnIndex:d,endRowIndex:u,endColumnIndex:g}=c,h=this._docSkeleton.getViewModel().findTableNodeById(A);if(h==null)return;const m=h.children[0].children.length;if(d===0&&g===m-1){const p=h.children[l].children[d],S=this._docSkeleton.findNodePositionByCharIndex(p.startIndex+1),I=h.children[u].children[g],C=this._docSkeleton.findNodePositionByCharIndex(I.endIndex-2);if(S==null||C==null)return;n.push({anchor:r?S:C,focus:r?C:S})}else for(let p=l;p<=u;p++){const S=h.children[p],I=S.children[d],C=S.children[g],y=this._docSkeleton.findNodePositionByCharIndex(I.startIndex+1),R=this._docSkeleton.findNodePositionByCharIndex(C.endIndex-2);if(y==null||R==null)return;n.push({anchor:r?y:R,focus:r?R:y})}return n}_getTableRectRangeInfo(t,e){const i=this._docSkeleton.getSkeletonData();if(i==null)return;const{pages:s}=i,{path:r}=t,{path:c}=e,A=B.getPageFromPath(i,r),l=B.getPageFromPath(i,c);if(A==null||l==null)return;const d=A.segmentId,u=A.parent.index,g=A.parent.cells.indexOf(A),h=(l==null?void 0:l.parent).index,m=(l==null?void 0:l.parent).cells.indexOf(l),f=Math.min(u,h),p=Math.max(u,h),S=Math.min(g,m),I=Math.max(g,m);return{pages:s,tableId:d,startRowIndex:f,startColumnIndex:S,endRowIndex:p,endColumnIndex:I}}}const ks="__TestSelectionRange__",Hs="__TestSelectionAnchor__",ei=6,Qn=500,Vs=500,Nt=3;function lt(o){const t=o[0],e=t[0],n=t[2],{x:i,y:s}=e,{x:r,y:c}=n;return{left:i,top:s,width:r-i,height:c-s}}function Pt(o){return o.map(t=>{let e=1/0,n=-1/0,i=1/0,s=-1/0;return t.forEach(r=>{e=Math.min(r.x,e),n=Math.max(r.x,n),s=Math.max(r.y,s),i=Math.min(r.y,i)}),{left:e,right:n,top:i,bottom:s}})}class Me{constructor(t,e,n,i,s,r=B.NORMAL_TEXT_SELECTION_PLUGIN_STYLE,c="",A=-1){M(this,"rangeType",a.DOC_RANGE_TYPE.TEXT);M(this,"_current",!1);M(this,"_rangeShape");M(this,"_anchorShape");M(this,"_cursorList",[]);M(this,"_anchorBlinkTimer",null);this._scene=t,this._document=e,this._docSkeleton=n,this.anchorNodePosition=i,this.focusNodePosition=s,this.style=r,this._segmentId=c,this._segmentPage=A,this._anchorBlink(),this.refresh()}_anchorBlink(){setTimeout(()=>{this._anchorShape&&this._anchorShape.visible&&this.deactivateStatic()},Qn),this._anchorBlinkTimer=setInterval(()=>{this._anchorShape&&this._anchorShape.visible&&(this.activeStatic(),setTimeout(()=>{this.deactivateStatic()},Qn))},Vs+Qn)}get startOffset(){var i;const{startOffset:t}=(i=_n(this._cursorList))!=null?i:{},e=this._docSkeleton.getViewModel().getDataModel().getSelfOrHeaderFooterModel(this._segmentId).getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(n,t)}get endOffset(){var i;const{endOffset:t}=(i=_n(this._cursorList))!=null?i:{},e=this._docSkeleton.getViewModel().getDataModel().getSelfOrHeaderFooterModel(this._segmentId).getBody();if(t==null||e==null)return t;const n=e.dataStream.length-2;return Math.min(t,n)}get collapsed(){const{startOffset:t,endOffset:e}=this;return t!=null&&t===e}get startNodePosition(){if(this.anchorNodePosition==null)return null;if(this.focusNodePosition==null)return this.anchorNodePosition;const{start:t}=xn(this.anchorNodePosition,this.focusNodePosition);return t}get endNodePosition(){if(this.anchorNodePosition==null)return this.focusNodePosition;if(this.focusNodePosition==null)return null;const{end:t}=xn(this.anchorNodePosition,this.focusNodePosition);return t}get direction(){const{collapsed:t,anchorNodePosition:e,focusNodePosition:n}=this;return t||e==null||n==null?a.RANGE_DIRECTION.NONE:Mn(e,n)?a.RANGE_DIRECTION.FORWARD:a.RANGE_DIRECTION.BACKWARD}get segmentId(){return this._segmentId}get segmentPage(){return this._segmentPage}getAbsolutePosition(){const t=this.anchorNodePosition,e=this.focusNodePosition;if(this._isEmpty())return;const n=this._document.getOffsetConfig(),{docsLeft:i,docsTop:s}=n,r=new Ie(n,this._docSkeleton);if(this._isCollapsed()){const{contentBoxPointGroup:d,cursorList:u}=r.getRangePointData(t,t);if(this._setCursorList(u),d.length===0)return;const g=lt(d);return{...g,left:g.left+i,top:g.top+s}}const{borderBoxPointGroup:c,cursorList:A}=r.getRangePointData(t,e);if(this._setCursorList(A),c.length===0)return;const l=lt(c);return{...l,left:l.left+i,top:l.top+s}}getAnchor(){return this._anchorShape}activeStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.strokeActive)||B.getColor(a.COLORS.black,1)})}deactivateStatic(){var t,e;(e=this._anchorShape)==null||e.setProps({stroke:((t=this.style)==null?void 0:t.stroke)||B.getColor(a.COLORS.black,0)})}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var t,e;(t=this._rangeShape)==null||t.dispose(),this._rangeShape=null,(e=this._anchorShape)==null||e.dispose(),this._anchorShape=null,this._anchorBlinkTimer&&(clearInterval(this._anchorBlinkTimer),this._anchorBlinkTimer=null)}isIntersection(t){const{startOffset:e,endOffset:n}=this,{startOffset:i,endOffset:s}=t;return e==null||n==null||i==null||s==null?!1:e<=s&&n>=i}refresh(){var u,g;const{_document:t,_docSkeleton:e}=this,n=this.anchorNodePosition,i=this.focusNodePosition;if((u=this._anchorShape)==null||u.hide(),(g=this._rangeShape)==null||g.hide(),this._isEmpty())return;const s=t.getOffsetConfig(),{docsLeft:r,docsTop:c}=s,A=new Ie(s,e);if(this._isCollapsed()){const{contentBoxPointGroup:h,cursorList:m}=A.getRangePointData(n,n);if(this._setCursorList(m),h.length>0){const f=e.findGlyphByPosition(n);this._createOrUpdateAnchor(h,r,c,f)}return}const{borderBoxPointGroup:l,cursorList:d}=A.getRangePointData(n,i);this._setCursorList(d),l.length>0&&this._createOrUpdateRange(l,r,c)}_isEmpty(){return this.anchorNodePosition==null&&this.focusNodePosition==null}_isCollapsed(){const t=this.anchorNodePosition,e=this.focusNodePosition;if(t!=null&&e==null)return!0;if(t==null||e==null)return!1;const n=Object.keys(ze);for(const i of n){const s=t[i],r=e[i];if(s!==r)return!1}return t.isBack===e.isBack}_createOrUpdateRange(t,e,n){var r;if(this._rangeShape){this._rangeShape.translate(e,n),this._rangeShape.updatePointGroup(t),this._rangeShape.show();return}const i=.3,s=new B.RegularPolygon(ks+a.Tools.generateRandomId(ei),{pointsGroup:t,fill:((r=this.style)==null?void 0:r.fill)||B.getColor(a.COLORS.black,i),left:e,top:n,evented:!1,debounceParentDirty:!1});this._rangeShape=s,this._scene.addObject(s,Nt)}_createOrUpdateAnchor(t,e,n,i){var f,p,S;const s=lt(t),{left:r}=s;let{top:c,height:A}=s;const l=14;A<l&&(c-=l-A,A=l);const d=12;let u=r+e;const g=c+n,h=((f=i==null?void 0:i.ts)==null?void 0:f.it)===a.BooleanNumber.TRUE;if(h&&(u+=A*Math.tan(d*Math.PI/180)/2),this._anchorShape){this._anchorShape.transformByState({left:u,top:g,height:A}),this._anchorShape.show(),h?this._anchorShape.skew(-12,0):this._anchorShape.skew(0,0);return}const m=new B.Rect(Hs+a.Tools.generateRandomId(ei),{left:u,top:g,height:A,strokeWidth:((p=this.style)==null?void 0:p.strokeWidth)||1.5,stroke:((S=this.style)==null?void 0:S.strokeActive)||B.getColor(a.COLORS.black,1),evented:!1});h&&m.skew(-12,0),this._anchorShape=m,this._scene.addObject(m,Nt),this.activeStatic()}_setCursorList(t){t.length!==0&&(this._cursorList=t)}}const Ws="__DocTableRectRange__",Ks=6;function Ut(o,t,e,n,i,s=B.NORMAL_TEXT_SELECTION_PLUGIN_STYLE,r="",c=-1){const A=t.getOffsetConfig(),d=new wn(A,e).getNodePositionGroup(n,i);return(d!=null?d:[]).map(u=>new Ln(o,t,e,u.anchor,u.focus,s,r,c))}class Ln{constructor(t,e,n,i,s,r=B.NORMAL_TEXT_SELECTION_PLUGIN_STYLE,c="",A=-1){M(this,"rangeType",a.DOC_RANGE_TYPE.RECT);M(this,"_rangeShape");M(this,"_current",!1);M(this,"_startRow");M(this,"_startCol");M(this,"_endRow");M(this,"_endCol");M(this,"_tableId");this._scene=t,this._document=e,this._docSkeleton=n,this.anchorNodePosition=i,this.focusNodePosition=s,this.style=r,this._segmentId=c,this._segmentPage=A,this.refresh()}get startOffset(){const{startNodePosition:t}=this;return this._docSkeleton.findCharIndexByPosition(t)}get endOffset(){const{endNodePosition:t}=this;return this._docSkeleton.findCharIndexByPosition(t)}get collapsed(){return!1}get startRow(){return this._startRow}get startColumn(){return this._startCol}get endRow(){return this._endRow}get endColumn(){return this._endCol}get tableId(){return this._tableId}get segmentId(){return this._segmentId}get segmentPage(){return this._segmentPage}get spanEntireRow(){var r;const e=(r=this._docSkeleton.getViewModel().getSnapshot().tableSource)==null?void 0:r[this._tableId],{_startCol:n,_endCol:i}=this;if(e==null)throw new Error("Table is not found.");const{tableColumns:s}=e;return n===0&&i===s.length-1}get spanEntireColumn(){var r;const e=(r=this._docSkeleton.getViewModel().getSnapshot().tableSource)==null?void 0:r[this._tableId],{_startRow:n,_endRow:i}=this;if(e==null)throw new Error("Table is not found.");const{tableRows:s}=e;return n===0&&i===s.length-1}get spanEntireTable(){return this.spanEntireRow&&this.spanEntireColumn}get startNodePosition(){const{anchorNodePosition:t,focusNodePosition:e}=this;return Un(t,e)?t:e}get endNodePosition(){const{anchorNodePosition:t,focusNodePosition:e}=this;return Un(t,e)?e:t}get direction(){const{anchorNodePosition:t,focusNodePosition:e}=this;return Un(t,e)?a.RANGE_DIRECTION.FORWARD:a.RANGE_DIRECTION.BACKWARD}isActive(){return this._current===!0}activate(){this._current=!0}deactivate(){this._current=!1}dispose(){var t;(t=this._rangeShape)==null||t.dispose(),this._rangeShape=null}isIntersection(t){const{startRow:e,startColumn:n,endRow:i,endColumn:s}=this,{startRow:r,startColumn:c,endRow:A,endColumn:l}=t,d={left:n,top:e,right:s,bottom:i},u={left:c,top:r,right:l,bottom:A};return a.Rectangle.hasIntersectionBetweenTwoRect(d,u)}refresh(){var p;(p=this._rangeShape)==null||p.hide();const{startNodePosition:t,endNodePosition:e,_document:n,_docSkeleton:i}=this,s=n.getOffsetConfig(),{docsLeft:r,docsTop:c}=s,l=new wn(s,i).getRangePointData(t,e);if(l==null)return;const{pointGroup:d=[],startRow:u,endRow:g,startColumn:h,endColumn:m,tableId:f}=l;(d==null?void 0:d.length)>0&&this._createOrUpdateRange(d,r,c),this._updateTableInfo(u,g,h,m,f)}_updateTableInfo(t,e,n,i,s){this._startRow=t,this._endRow=e,this._startCol=n,this._endCol=i,this._tableId=s}_createOrUpdateRange(t,e,n){var r;if(this._rangeShape){this._rangeShape.translate(e,n),this._rangeShape.updatePointGroup(t),this._rangeShape.show();return}const i=.3,s=new B.RegularPolygon(Ws+a.Tools.generateRandomId(Ks),{pointsGroup:t,fill:((r=this.style)==null?void 0:r.fill)||B.getColor(a.COLORS.black,i),left:e,top:n,evented:!1,debounceParentDirty:!1});this._rangeShape=s,this._scene.addObject(s,Nt)}}function ti(o,t,e,n,i,s,r,c,A=!0,l=!0){const d=i.findNodePositionByCharIndex(o,A,r,c),u=i.findNodePositionByCharIndex(t,l,r,c);if(!(d==null||u==null))return new Me(e,n,i,d,u,s,r,c)}function zs(o,t,e,n,i,s,r,c){const A=i.findNodePositionByCharIndex(o,!0,r,c),l=i.findNodePositionByCharIndex(t,!0,r,c);if(!(A==null||l==null))return new Ln(e,n,i,A,l,s,r,c)}function js(o,t,e,n,i,s,r,c){const A=i.findNodePositionByCharIndex(o,!0,r,c),l=i.findNodePositionByCharIndex(t,!0,r,c);if(!(A==null||l==null))return Fn(A,l,e,n,i,s,r,c)}function Fn(o,t,e,n,i,s,r,c){const A=[],l=[],d=[e,n,i,o,t,s,r,c];if($o(i,o,t)){if(Pn(o,t))return A.push(new Me(...d)),{textRanges:A,rectRanges:l};{const C=Ut(...d);return l.push(...C),{textRanges:A,rectRanges:l}}}if(Zo(o,t)){const C=Ut(...d);return l.push(...C),{textRanges:A,rectRanges:l}}const u=i.getViewModel().getSelfOrHeaderFooterViewModel(r),g=i.findCharIndexByPosition(o),h=i.findCharIndexByPosition(t);if(g==null||h==null)return;const m=g<=h?a.RANGE_DIRECTION.FORWARD:a.RANGE_DIRECTION.BACKWARD,f=Math.min(g,h),p=Math.max(g,h);let S=f,I=p;for(const C of u.getChildren())for(const y of C.children){const{startIndex:R,endIndex:v,children:b}=y,O=C.children.indexOf(y),_=C.children[O+1],w=b[0];let D=!1;if(w){const{startIndex:U,endIndex:P,children:k}=w;let H=null,Q=null;const G=k.find(W=>W.startIndex<=f&&W.endIndex>=f),Y=k.find(W=>W.startIndex<=p&&W.endIndex>=p);if(f>U&&f<P)H=i.findNodePositionByCharIndex(G.startIndex+2,!0,r,c),Q=i.findNodePositionByCharIndex(P-4,!0,r,c),S=P+1;else if(p>U&&p<P)H=i.findNodePositionByCharIndex(U+3,!0,r,c),Q=i.findNodePositionByCharIndex(Y.endIndex-3,!0,r,c),I=U-1,D=!0;else if(U>f&&P<p){if(H=i.findNodePositionByCharIndex(U+3,!0,r,c),Q=i.findNodePositionByCharIndex(P-4,!0,r,c),S<=U-1){const W=i.findNodePositionByCharIndex(S,!0,r,c),V=i.findNodePositionByCharIndex(U-1,!1,r,c),K=m===a.RANGE_DIRECTION.FORWARD?W:V,X=m===a.RANGE_DIRECTION.FORWARD?V:W;A.push(new Me(e,n,i,K,X,s,r,c))}S=P+1}if(H&&Q){const W=m===a.RANGE_DIRECTION.FORWARD?H:Q,V=m===a.RANGE_DIRECTION.FORWARD?Q:H;l.push(...Ut(e,n,i,W,V,s,r,c))}}if(I===v+1&&!D&&_&&_.children.length&&(I=v,D=!0),I>=R&&I<=v||D){const U=i.findNodePositionByCharIndex(S,!0,r,c),P=i.findNodePositionByCharIndex(I,!D,r,c),k=m===a.RANGE_DIRECTION.FORWARD?U:P,H=m===a.RANGE_DIRECTION.FORWARD?P:U;if(l.length&&a.Tools.diffValue(k,H))continue;A.push(new Me(e,n,i,k,H,s,r,c))}}return{textRanges:A,rectRanges:l}}function ni(o){const t=o==null?void 0:o.getCanvasElement();if(!t)return{left:0,top:0};const{top:e,left:n}=B.getOffsetRectForDom(t);return{left:n,top:e}}function oi(o){var A;const t=(A=o.parent)==null?void 0:A.parent,e=t==null?void 0:t.parent;if(t==null||e==null)return;const{paragraphIndex:n}=t,i=e.lines.filter(l=>l.paragraphIndex===n);let s=-1,r="",c=!1;for(const l of i)for(const d of l.divides)for(const u of d.glyphGroup)c||(s+=u.count),u===o&&(c=!0),r+=u.count>0?u.content:"";return{st:i[0].st,ed:n,content:r,nodeIndex:s}}function kn(o){const{startOffset:t,endOffset:e,collapsed:n,rangeType:i,startNodePosition:s,endNodePosition:r,direction:c,segmentId:A,segmentPage:l}=o;return{startOffset:t,endOffset:e,collapsed:n,rangeType:i,startNodePosition:s,endNodePosition:r,direction:c,segmentId:A,segmentPage:l,isActive:o.isActive()}}function Gs(o){const t=kn(o),{startRow:e,startColumn:n,endRow:i,endColumn:s,tableId:r,spanEntireRow:c,spanEntireColumn:A,spanEntireTable:l}=o;return{...t,startRow:e,startColumn:n,endRow:i,endColumn:s,tableId:r,spanEntireRow:c,spanEntireColumn:A,spanEntireTable:l}}var Xs=Object.getOwnPropertyDescriptor,Ys=(o,t,e,n)=>{for(var i=n>1?void 0:n?Xs(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},wt=(o,t)=>(e,n)=>t(e,n,o);T.DocSelectionRenderService=class extends a.RxDisposable{constructor(e,n,i,s,r){super();M(this,"_onInputBefore$",new N.Subject);M(this,"onInputBefore$",this._onInputBefore$.asObservable());M(this,"_onKeydown$",new N.Subject);M(this,"onKeydown$",this._onKeydown$.asObservable());M(this,"_onInput$",new N.Subject);M(this,"onInput$",this._onInput$.asObservable());M(this,"_onCompositionstart$",new N.BehaviorSubject(null));M(this,"onCompositionstart$",this._onCompositionstart$.asObservable());M(this,"_onCompositionupdate$",new N.BehaviorSubject(null));M(this,"onCompositionupdate$",this._onCompositionupdate$.asObservable());M(this,"_onCompositionend$",new N.BehaviorSubject(null));M(this,"onCompositionend$",this._onCompositionend$.asObservable());M(this,"_onSelectionStart$",new N.BehaviorSubject(null));M(this,"onSelectionStart$",this._onSelectionStart$.asObservable());M(this,"onChangeByEvent$",N.merge(this._onInput$,this._onKeydown$.pipe(N.filter(e=>e.event.keyCode===E.KeyCode.BACKSPACE)),this._onCompositionend$));M(this,"_onPaste$",new N.Subject);M(this,"onPaste$",this._onPaste$.asObservable());M(this,"_textSelectionInner$",new N.BehaviorSubject(null));M(this,"textSelectionInner$",this._textSelectionInner$.asObservable());M(this,"_onFocus$",new N.Subject);M(this,"onFocus$",this._onFocus$.asObservable());M(this,"_onBlur$",new N.Subject);M(this,"onBlur$",this._onBlur$.asObservable());M(this,"_onPointerDown$",new N.Subject);M(this,"onPointerDown$",this._onPointerDown$.asObservable());M(this,"_container");M(this,"_inputParent");M(this,"_input");M(this,"_scrollTimers",[]);M(this,"_rangeList",[]);M(this,"_rangeListCache",[]);M(this,"_rectRangeList",[]);M(this,"_rectRangeListCache",[]);M(this,"_anchorNodePosition",null);M(this,"_focusNodePosition",null);M(this,"_currentSegmentId","");M(this,"_currentSegmentPage",-1);M(this,"_selectionStyle",B.NORMAL_TEXT_SELECTION_PLUGIN_STYLE);M(this,"_onPointerEvent",!1);M(this,"_viewPortObserverMap",new Map);M(this,"_isIMEInputApply",!1);M(this,"_scenePointerMoveSubs",[]);M(this,"_scenePointerUpSubs",[]);M(this,"_reserveRanges",!1);this._context=e,this._layoutService=n,this._logService=i,this._univerInstanceService=s,this._docSkeletonManagerService=r,this._initDOM(),this._registerContainer(),this._setSystemHighlightColorToStyle(),this._listenCurrentUnitChange()}get isOnPointerEvent(){return this._onPointerEvent}get isFocusing(){return this._input===document.activeElement}get canFocusing(){return this.isFocusing||document.activeElement===document.body||document.activeElement===null}_listenCurrentUnitChange(){this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_DOC).pipe(N.takeUntil(this.dispose$)).subscribe(e=>{if(e==null)return;e.getUnitId()!==this._context.unitId&&!this._reserveRanges&&this.removeAllRanges()})}get activeViewPort(){return this._context.scene.getViewports()[0]}setSegment(e){this._currentSegmentId=e}getSegment(){return this._currentSegmentId}setSegmentPage(e){this._currentSegmentPage=e}getSegmentPage(){return this._currentSegmentPage}setReserveRangesStatus(e){this._reserveRanges=e}_setRangeStyle(e=B.NORMAL_TEXT_SELECTION_PLUGIN_STYLE){this._selectionStyle=e}addDocRanges(e,n=!0,i){const{_currentSegmentId:s,_currentSegmentPage:r,_selectionStyle:c}=this,{scene:A,mainComponent:l}=this._context,d=l,u=this._docSkeletonManagerService.getSkeleton(),g=(h,m)=>{const f=js(h,m,A,d,u,c,s,r);if(f==null)return;const{textRanges:p,rectRanges:S}=f;for(const I of p)this._addTextRange(I);this._addRectRanges(S)};for(const h of e){const{startOffset:m,endOffset:f,rangeType:p,startNodePosition:S,endNodePosition:I}=h;if(p===a.DOC_RANGE_TYPE.RECT){const C=zs(m,f,A,d,u,c,s,r);C&&this._addRectRanges([C])}else if(p===a.DOC_RANGE_TYPE.TEXT)try{let C=null;S&&I?C=ti(S.isBack?m:m-1,I.isBack?f:f-1,A,d,u,c,s,r,S.isBack,I.isBack):C=ti(m,f,A,d,u,c,s,r),C&&this._addTextRange(C)}catch{g(m,f)}else g(m,f)}this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:s,segmentPage:r,style:c,isEditing:n,options:i}),!(!e.length||(i==null?void 0:i.shouldFocus)===!1)&&this._updateInputPosition(i==null?void 0:i.forceFocus)}setCursorManually(e,n){const i=this._findNodeByCoord(e,n,{strict:!0,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage}),s=this._getNodePosition(i);if(s==null){this._removeAllRanges();return}(i==null?void 0:i.node.streamType)===a.DataStreamTreeTokenType.PARAGRAPH&&(s.isBack=!0),this._createTextRangeByAnchorPosition(s),this._textSelectionInner$.next({textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage,style:this._selectionStyle,isEditing:!1})}sync(){this._updateInputPosition()}activate(e,n,i=!1){this._container.style.left=`${e}px`,this._container.style.top=`${n}px`,this._container.style.zIndex="1000",(this.canFocusing||i)&&this.focus()}hasFocus(){return document.activeElement===this._input}focus(){this._input.focus()}blur(){this._input.blur()}deactivate(){this._container.style.left="0px",this._container.style.top="0px"}__handleDblClick(e){const{offsetX:n,offsetY:i}=e,s=this._findNodeByCoord(n,i,{strict:!1,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage});if(s==null||s.node==null)return;const r=oi(s.node);if(r==null)return;const{content:c,st:A,nodeIndex:l}=r;if(l===-1||Intl.Segmenter==null)return;const u=new Intl.Segmenter(void 0,{granularity:"word"}).segment(c);let g=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(const{segment:m,index:f,isWordLike:p}of u)if(f<=l&&l<f+m.length&&p){g=f+A,h=f+A+m.length;break}if(Number.isFinite(g)&&Number.isFinite(h)){this.removeAllRanges();const m=[{startOffset:g,endOffset:h}];this.addDocRanges(m,!1,{forceFocus:!0})}}__handleTripleClick(e){const{offsetX:n,offsetY:i}=e,s=this._findNodeByCoord(n,i,{strict:!1,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage});if(s==null||s.node==null)return;const r=oi(s.node);if(r==null)return;this.removeAllRanges();const{st:c,ed:A}=r,l=[{startOffset:c,endOffset:A}];this.addDocRanges(l,!1,{forceFocus:!0})}__onPointDown(e){var p,S;const{scene:n,mainComponent:i}=this._context,s=this._docSkeletonManagerService.getSkeleton(),{offsetX:r,offsetY:c}=e,A=this._findNodeByCoord(r,c,{strict:!1,segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage}),l=this._getNodePosition(A);if(l==null||A==null){this._removeAllRanges();return}(A==null?void 0:A.node.streamType)===a.DataStreamTreeTokenType.PARAGRAPH&&(l.isBack=!0);const d=this._textSelectionInner$.value;if(A&&e.button===2&&d){const I=s.findCharIndexByPosition(l);if(typeof I=="number"&&d.textRanges.some(C=>C.startOffset<=I&&C.endOffset>I)||typeof I=="number"&&d.rectRanges.some(C=>C.startOffset<=I&&C.endOffset>=I))return}const{segmentId:u,segmentPage:g}=A;u&&this._currentSegmentId&&u!==this._currentSegmentId&&this.setSegment(u),u&&g!==this._currentSegmentPage&&this.setSegmentPage(g),this._anchorNodePosition=l,e.shiftKey&&this._getActiveRangeInstance()?this._updateActiveRangePosition(l):e.ctrlKey?this._removeAllCollapsedTextRanges():this._isEmpty()||this._removeAllRanges(),n.disableObjectsEvent();const h=B.ScrollTimer.create(n);this._scrollTimers.push(h),h.startScroll(r,c),this._onSelectionStart$.next((p=this._getActiveRangeInstance())==null?void 0:p.startNodePosition),(S=n.getTransformer())==null||S.clearSelectedObjects();let m=r,f=c;this._onPointerEvent=!0,this._scenePointerMoveSubs.push(n.onPointerMove$.subscribeEvent(I=>{const{offsetX:C,offsetY:y}=I;n.setCursor(B.CURSOR_TYPE.TEXT),!(Math.sqrt((C-m)**2+(y-f)**2)<3)&&(this._moving(C,y),h.scrolling(C,y,()=>{this._moving(C,y)}),m=C,f=y)})),this._scenePointerUpSubs.push(n.onPointerUp$.subscribeEvent(()=>{if([...this._scenePointerMoveSubs,...this._scenePointerUpSubs].forEach(C=>{C.unsubscribe()}),this._onPointerEvent=!1,n.enableObjectsEvent(),this._anchorNodePosition&&!this._focusNodePosition){if(e.ctrlKey){this._disposeScrollTimers();return}const C=new Me(n,i,s,this._anchorNodePosition,void 0,this._selectionStyle,this._currentSegmentId,this._currentSegmentPage);this._addTextRange(C)}else if(this._anchorNodePosition&&this._focusNodePosition){for(const C of this._rangeListCache)e.ctrlKey?C.collapsed?C.dispose():this._addTextRange(C):this._addTextRange(C);this._addRectRanges(this._rectRangeListCache),this._rangeListCache=[],this._rectRangeListCache=[]}this._anchorNodePosition=null,this._focusNodePosition=null;const I={textRanges:this._getAllTextRanges(),rectRanges:this._getAllRectRanges(),segmentId:this._currentSegmentId,segmentPage:this._currentSegmentPage,style:this._selectionStyle,isEditing:!1};this._textSelectionInner$.next(I),this._disposeScrollTimers(),this._updateInputPosition(!0)}))}removeAllRanges(){this._removeAllRanges(),this.deactivate()}getActiveTextRange(){return this._getActiveRangeInstance()}_disposeScrollTimers(){this._scrollTimers.forEach(e=>{e==null||e.dispose()}),this._scrollTimers=[]}_setSystemHighlightColorToStyle(){const{r:e,g:n,b:i,a:s}=B.getSystemHighlightColor(),r={strokeWidth:1.5,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:`rgba(${e}, ${n}, ${i}, ${s!=null?s:.3})`};this._setRangeStyle(r)}_getAllTextRanges(){return this._rangeList.map(kn)}_getAllRectRanges(){return this._rectRangeList.map(Gs)}getAllTextRanges(){return this._getAllTextRanges()}getAllRectRanges(){return this._getAllRectRanges()}_getActiveRange(){const e=this._rangeList.find(s=>s.isActive());if(e==null)return null;const{startOffset:n,endOffset:i}=e;return n==null||i==null?null:kn(e)}_getActiveRangeInstance(){return this._rangeList.find(e=>e.isActive())}dispose(){super.dispose(),this._detachEvent(),this._removeAllRanges(),this._container.remove()}_initDOM(){const{unitId:e}=this._context,n=document.createElement("div");n.style.position="fixed",n.style.left="0px",n.style.top="0px",n.id=`univer-doc-selection-container-${e}`;const i=document.createElement("div"),s=document.createElement("div");i.appendChild(s),n.appendChild(i),this._container=n,this._inputParent=i,this._input=s,this._initInput(),this._initInputEvents(),document.body.appendChild(n)}_registerContainer(){this.disposeWithMe(this._layoutService.registerContainerElement(this._container))}_initInput(){this._inputParent.style.cssText=`
4
4
  position:absolute;
5
5
  height:1px;
6
6
  width:1px;
@@ -16,23 +16,24 @@
16
16
  caret-color: transparent;
17
17
  white-space: pre-wrap;
18
18
  user-select: text;
19
- `}_getNodePosition(e){if(e==null)return;const{node:n,ratioX:i,segmentPage:s}=e,c=this._docSkeletonManagerService.getSkeleton().findPositionByGlyph(n,s);if(c==null)return;let l=i<.5;return n.glyphType===R.GlyphType.LIST&&(l=!0),{...c,isBack:l}}_interactTextRanges(e){const n=[];for(const i of this._rangeList){if(e.some(s=>s.isIntersection(i))){i.dispose();continue}n.push(i)}this._rangeList=n}_interactRectRanges(e){const n=[];for(const i of this._rectRangeList){if(e.some(s=>s.isIntersection(i))){i.dispose();continue}n.push(i)}this._rectRangeList=n}_removeAllRanges(){this._removeAllTextRanges(),this._removeAllRectRanges()}_removeAllCacheRanges(){this._rangeListCache.forEach(e=>{e.dispose()}),this._rectRangeListCache.forEach(e=>{e.dispose()}),this._rangeListCache=[],this._rectRangeListCache=[]}_removeAllTextRanges(){this._rangeList.forEach(e=>{e.dispose()}),this._rangeList=[]}_removeAllRectRanges(){this._rectRangeList.forEach(e=>{e.dispose()}),this._rectRangeList=[]}_removeAllCollapsedTextRanges(){for(const e of this._rangeList)e.collapsed&&e.dispose()}_deactivateAllTextRanges(){this._rangeList.forEach(e=>{e.deactivate()})}_deactivateAllRectRanges(){this._rectRangeList.forEach(e=>{e.deactivate()})}_addTextRangesToCache(e){this._rangeListCache.push(...e)}_addTextRange(e){this._deactivateAllTextRanges(),e.activate(),this._rangeList.push(e)}_addRectRangesToCache(e){this._rectRangeListCache.push(...e)}_addRectRanges(e){e.length!==0&&(this._deactivateAllRectRanges(),e[e.length-1].activate(),this._rectRangeList.push(...e))}_createTextRangeByAnchorPosition(e){this._removeAllRanges();const{scene:n,mainComponent:i}=this._context,s=this._docSkeletonManagerService.getSkeleton(),r=new Me(n,i,s,e,void 0,this._selectionStyle,this._currentSegmentId,this._currentSegmentPage);this._addTextRange(r)}_updateActiveRangePosition(e){const n=this._getActiveRangeInstance();if(n==null||n.anchorNodePosition==null){this._logService.error("[DocSelectionRenderService] _updateActiveRangeFocusPosition: active range has no anchor");return}this._removeAllRanges(),this._anchorNodePosition=n.anchorNodePosition,this._focusNodePosition=e;const{scene:i,mainComponent:s}=this._context,r=this._docSkeletonManagerService.getSkeleton(),{_anchorNodePosition:c,_focusNodePosition:A,_selectionStyle:l,_currentSegmentId:d,_currentSegmentPage:u}=this;if(c==null||A==null||s==null)return;const g=kn(c,A,i,s,r,l,d,u);if(g==null)return;const{textRanges:h,rectRanges:f}=g;this._addTextRangesToCache(h),this._addRectRangesToCache(f),this.deactivate()}_isEmpty(){return this._rangeList.length===0&&this._rectRangeList.length===0}_getCanvasOffset(){var n;const e=(n=this._context.scene)==null?void 0:n.getEngine();return oi(e)}_updateInputPosition(e=!1){const n=this._getActiveRangeInstance(),i=n==null?void 0:n.getAnchor();if(!i||i&&!i.visible||this.activeViewPort==null){this.focus();return}const{left:s,top:r}=i,c=this.activeViewPort.getAbsoluteVector(R.Vector2.FromArray([s,r])),{x:A,y:l}=c;let{left:d,top:u}=this._getCanvasOffset();d+=A,u+=l,this.activate(d,u,e)}_moving(e,n){var I,C;const{_currentSegmentId:i,_currentSegmentPage:s}=this,r=this._findNodeByCoord(e,n,{strict:!0,segmentId:i,segmentPage:s}),c=this._getNodePosition(r);if(c==null||r==null)return;const A=r==null?void 0:r.node.parent,l=A==null?void 0:A.glyphGroup[A.glyphGroup.indexOf(r.node)+1];(r==null?void 0:r.node.streamType)===a.DataStreamTreeTokenType.PARAGRAPH&&(l==null?void 0:l.streamType)===a.DataStreamTreeTokenType.SECTION_BREAK&&(c.isBack=!0),this._focusNodePosition=c,this._removeAllCacheRanges();const{_anchorNodePosition:d,_selectionStyle:u}=this,{scene:g,mainComponent:h}=this._context,f=this._docSkeletonManagerService.getSkeleton();if(d==null||h==null)return;const m=kn(d,c,g,h,f,u,i,s);if(m==null)return;const{textRanges:p,rectRanges:S}=m;this._rangeList.length>0&&p.length>0&&this._interactTextRanges(p),this._rectRangeList.length>0&&S.length>0&&this._interactRectRanges(S),this._addTextRangesToCache(p),this._addRectRangesToCache(S),this.deactivate(),(C=(I=this._context.scene)==null?void 0:I.getEngine())==null||C.setCapture()}__attachScrollEvent(){const e=this.activeViewPort;if(!e)return;const{unitId:n}=this._context;if(this._viewPortObserverMap.has(n))return;const i=e.onScrollAfter$.subscribeEvent(r=>{if(!r.viewport)return;const A=this._getActiveRangeInstance();A==null||A.activeStatic()}),s=e.onScrollEnd$.subscribeEvent(r=>{const c=r.viewport;if(!c)return;const A=c.getBounding(),l=this._getActiveRangeInstance(),d=l==null?void 0:l.getAnchor();if(!(!d||d&&!d.visible)){if(A){const{left:u,top:g,right:h,bottom:f}=A.viewBound;if(d.left<u||d.left>h||d.top<g||d.top>f){l==null||l.deactivateStatic();return}}this._updateInputPosition()}});this._viewPortObserverMap.set(n,{scrollBefore:i,scrollStop:s})}_initInputEvents(){this.disposeWithMe(N.fromEvent(this._input,"keydown").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onKeydown$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"input").subscribe(e=>{if(!(e.inputType==="historyUndo"||e.inputType==="historyRedo")){if(this._rectRangeList.length>0)return e.stopPropagation(),e.preventDefault();this._isIMEInputApply||this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onInput$.next(n)})}})),this.disposeWithMe(N.fromEvent(this._input,"compositionstart").subscribe(e=>{if(this._rectRangeList.length>0)return e.stopPropagation(),e.preventDefault();this._isIMEInputApply=!0,this._eventHandle(e,n=>{this._onCompositionstart$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"compositionend").subscribe(e=>{this._isIMEInputApply=!1,this._eventHandle(e,n=>{this._onCompositionend$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"compositionupdate").subscribe(e=>{this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onCompositionupdate$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"paste").subscribe(e=>{this._eventHandle(e,n=>{this._onPaste$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"focus").subscribe(e=>{this._eventHandle(e,n=>{this._onFocus$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"blur").subscribe(e=>{this._eventHandle(e,n=>{this._onBlur$.next(n)})}))}_eventHandle(e,n){const i=this._input.textContent||"";this._input.innerHTML="";const s=this._getActiveRange(),r=this._getAllTextRanges();n({event:e,content:i,activeRange:s,rangeList:r})}_getTransformCoordForDocumentOffset(e,n){const i=this._context.mainComponent,{documentTransform:s}=i.getOffsetConfig();if(this.activeViewPort==null||s==null)return;const r=this.activeViewPort.transformVector2SceneCoord(R.Vector2.FromArray([e,n]));if(r)return s.clone().invert().applyPoint(r)}_findNodeByCoord(e,n,i){const s=this._getTransformCoordForDocumentOffset(e,n);if(s==null)return;const r=this._context.mainComponent,c=this._docSkeletonManagerService.getSkeleton(),{pageLayoutType:A=R.PageLayoutType.VERTICAL,pageMarginLeft:l,pageMarginTop:d}=r.getOffsetConfig();return c.findNodeByCoord(s,A,l,d,i)}_detachEvent(){this._onInputBefore$.complete(),this._onKeydown$.complete(),this._onInput$.complete(),this._onCompositionstart$.complete(),this._onCompositionupdate$.complete(),this._onCompositionend$.complete(),this._onSelectionStart$.complete(),this._textSelectionInner$.complete(),this._onPaste$.complete(),this._onFocus$.complete(),this._onBlur$.complete(),this._onPointerDown$.complete()}},T.DocSelectionRenderService=$s([Qt(1,E.ILayoutService),Qt(2,a.ILogService),Qt(3,a.IUniverInstanceService),Qt(4,a.Inject(M.DocSkeletonManagerService))],T.DocSelectionRenderService);class si extends a.Disposable{constructor(e,n,i,s,r){super();B(this,"_change$",new N.Subject);B(this,"change$",this._change$.asObservable());B(this,"_input$",new N.Subject);B(this,"input$",this._input$.asObservable());B(this,"_paste$",new N.Subject);B(this,"paste$",this._paste$.asObservable());B(this,"_focus$",new N.Subject);B(this,"focus$",this._focus$.asObservable());B(this,"_blur$",new N.Subject);B(this,"blur$",this._blur$.asObservable());B(this,"_selectionChange$",new N.Subject);B(this,"selectionChange$",this._selectionChange$.asObservable());this._param=e,this._univerInstanceService=n,this._docSelectionManagerService=i,this._commandService=s,this._undoRedoService=r,this._listenSelection()}get docSelectionRenderService(){return this._param.render.with(T.DocSelectionRenderService)}_listenSelection(){const e=this._param.render.with(T.DocSelectionRenderService);this.disposeWithMe(e.onBlur$.subscribe(n=>{this._blur$.next(n);const i=this.getDocumentData();this._change$.next({target:this,data:i})})),this.disposeWithMe(e.onFocus$.subscribe(n=>{this._focus$.next(n)})),this.disposeWithMe(e.onPaste$.subscribe(n=>{this._paste$.next(n)})),this.disposeWithMe(N.merge(e.onInput$,e.onKeydown$.pipe(At.filter(n=>{const i=n.event;return i.ctrlKey||i.metaKey?[E.KeyCode.X,E.KeyCode.V].includes(i.keyCode):[E.KeyCode.BACKSPACE].includes(i.keyCode)})),e.onCompositionupdate$,e.onCompositionend$,e.onPaste$).subscribe(n=>{if(n==null)return;const{content:i=""}=n,s=this.getDocumentData();this._input$.next({target:this,content:i,data:s,isComposing:n.event.type==="compositionupdate"})})),this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(n=>{if(n==null)return;const{unitId:i,subUnitId:s,...r}=n,c=this.getEditorId();i===c&&this._selectionChange$.next(r)}))}isFocus(){const e=this._param.render.with(T.DocSelectionRenderService);return e.isFocusing&&!!e.getActiveTextRange()}focus(){const e=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),n=this.getEditorId();(e==null||e.getUnitId()!==n)&&this._univerInstanceService.setCurrentUnitForType(n),this._param.render.with(T.DocSelectionRenderService).focus()}blur(){this._param.render.with(T.DocSelectionRenderService).blur()}select(){const e=this.getDocumentData();return this.setSelectionRanges([{startOffset:0,endOffset:e.body?e.body.dataStream.length-2:0}])}setSelectionRanges(e){const n=this.getEditorId(),i={unitId:n,subUnitId:n};return this._docSelectionManagerService.replaceDocRanges(e,i,!1)}getSelectionRanges(){const e=this.getEditorId(),n={unitId:e,subUnitId:e};return this._docSelectionManagerService.getDocRanges(n)}getCursorPosition(){var n,i;return(i=(n=this.getSelectionRanges().find(s=>s.collapsed))==null?void 0:n.startOffset)!=null?i:-1}getEditorId(){return this._getEditorId()}getDocumentData(){return this._getDocDataModel().getSnapshot()}getDocumentDataModel(){return this._getDocDataModel()}setDocumentData(e,n){const{id:i}=e;this._commandService.syncExecuteCommand(Mn.id,{unitId:i,snapshot:e,textRanges:n})}replaceText(e,n=!0){const i=this.getDocumentData();this.setDocumentData({...i,body:{dataStream:`${e}\r
20
- `,paragraphs:[{startIndex:0}],customRanges:[],sectionBreaks:[],tables:[],textRuns:[]}},n?[{startOffset:e.length,endOffset:e.length,collapsed:!0}]:null)}clearUndoRedoHistory(){const e=this.getEditorId();return this._undoRedoService.clearUndoRedo(e)}dispose(){this._getDocDataModel().dispose()}get editorUnitId(){return this._param.editorUnitId}get params(){return this._param}get cancelDefaultResizeListener(){return this._param.cancelDefaultResizeListener}get render(){return this._param.render}isReadOnly(){return this._param.readonly===!0}getBoundingClientRect(){return this._param.editorDom.getBoundingClientRect()}get editorDOM(){return this._param.editorDom}isVisible(){return this._param.visible}isSheetEditor(){return a.isInternalEditorID(this._getEditorId())}getValue(){var i;return(((i=this._getDocDataModel().getBody())==null?void 0:i.dataStream)||"").replace(/\r\n/g,"").replace(/\n/g,"").replace(/\n/g,"")}getBody(){return this._getDocDataModel().getBody()}update(e){this._param={...this._param,...e}}updateCanvasStyle(){var i;const e=this._getDocDataModel();if(e==null)return;const n={};(i=this._param.canvasStyle)!=null&&i.fontSize&&(n.textStyle==null&&(n.textStyle={}),n.textStyle.fs=this._param.canvasStyle.fontSize),e.updateDocumentStyle(n)}_getDocDataModel(){const e=this._getEditorId();return this._univerInstanceService.getUnit(e,a.UniverInstanceType.UNIVER_DOC)}_getEditorId(){var e;return((e=this._param.initialSnapshot)==null?void 0:e.id)||this._param.editorUnitId||""}}var ea=Object.getOwnPropertyDescriptor,ta=(o,t,e,n)=>{for(var i=n>1?void 0:n?ea(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Ge=(o,t)=>(e,n)=>t(e,n,o);const na=["univer-editor","univer-range-selector","univer-range-selector-editor","univer-render-canvas","univer-text-editor-container-placeholder"];T.EditorService=class extends a.Disposable{constructor(e,n,i,s,r,c){super();B(this,"_editors",new Map);B(this,"_focusEditorUnitId");B(this,"_blur$",new N.Subject);B(this,"blur$",this._blur$.asObservable());B(this,"_focus$",new N.Subject);B(this,"focus$",this._focus$.asObservable());this._univerInstanceService=e,this._renderManagerService=n,this._docSelectionManagerService=i,this._contextService=s,this._commandService=r,this._undoRedoService=c,this._initUniverFocusListener()}_initUniverFocusListener(){this.disposeWithMe(N.fromEvent(window,"focusin").subscribe(e=>{const n=e.target;this._blurSheetEditor(n)}))}_blurSheetEditor(e){if(na.some(i=>e.classList.contains(i)))return;const n=this.getFocusEditor();n&&n.isSheetEditor()!==!0&&this.blur()}_setFocusId(e){this._focusEditorUnitId=e}getFocusId(){return this._focusEditorUnitId}getFocusEditor(){if(this._focusEditorUnitId)return this.getEditor(this._focusEditorUnitId)}isEditor(e){return this._editors.has(e)}isSheetEditor(e){const n=this._editors.get(e);return!!(n&&n.isSheetEditor())}blur(e){const n=this.getFocusEditor();e&&(n==null||n.setSelectionRanges([])),n==null||n.blur(),this._contextService.setContextValue(a.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(a.FOCUSING_EDITOR_STANDALONE,!1),this._setFocusId(null),this._blur$.next(null)}focus(e){if(e===this._focusEditorUnitId||(this._focusEditorUnitId&&this.blur(),e==null))return;const n=this.getEditor(e);if(n==null)return;this._univerInstanceService.setCurrentUnitForType(e);const i=n.getValue().length;this._contextService.setContextValue(a.EDITOR_ACTIVATED,!0),a.isInternalEditorID(e)||this._contextService.setContextValue(a.FOCUSING_EDITOR_STANDALONE,!0),n.focus(),this._setFocusId(e),this._focus$.next({startOffset:i,endOffset:i})}dispose(){this._editors.clear(),super.dispose()}getEditor(e=this._getCurrentEditorUnitId()){return this._editors.get(e)}getAllEditor(){return this._editors}register(e,n){var l,d,u,g;const{initialSnapshot:i,canvasStyle:s={}}=e,r=i.id;this._univerInstanceService.getUnit(r,a.UniverInstanceType.UNIVER_DOC)==null&&this._univerInstanceService.createUnit(a.UniverInstanceType.UNIVER_DOC,i||this._getBlank(r),{makeCurrent:!1});let A=this._renderManagerService.getRenderById(r);if(A==null&&(this._renderManagerService.create(r),A=this._renderManagerService.getRenderById(r)),A){A.engine.setContainer(n);const h=new si({...e,render:A,editorDom:n,canvasStyle:s},this._univerInstanceService,this._docSelectionManagerService,this._commandService,this._undoRedoService);this._editors.set(r,h),e.scrollBar||(g=(u=(d=(l=A.mainComponent)==null?void 0:l.getScene())==null?void 0:d.getViewports())==null?void 0:u[0].getScrollBar())==null||g.dispose()}return a.toDisposable(()=>{this._unRegister(r)})}_unRegister(e){const n=this._editors.get(e);n!=null&&(this._renderManagerService.removeRender(e),n.dispose(),this._editors.delete(e),this._univerInstanceService.disposeUnit(e))}_getCurrentEditorUnitId(){return this._univerInstanceService.getCurrentUniverDocInstance().getUnitId()}_getBlank(e){return{id:e,body:{dataStream:`${a.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{renderConfig:{verticalAlign:a.VerticalAlign.TOP,horizontalAlign:a.HorizontalAlign.LEFT},marginLeft:3,marginTop:0,marginRight:3}}}},T.EditorService=ta([Ge(0,a.IUniverInstanceService),Ge(1,R.IRenderManagerService),Ge(2,a.Inject(M.DocSelectionManagerService)),Ge(3,a.IContextService),Ge(4,a.ICommandService),Ge(5,a.IUndoRedoService)],T.EditorService);const ce=a.createIdentifier("univer.editor.service");function oa(o){const{editorId:t,initialValue:e,container:n,autoFocus:i,isSingle:s}=o,r=F.useMemo(()=>i!=null?i:!1,[]),[c,A]=F.useState(),l=E.useDependency(ce);return F.useLayoutEffect(()=>{var d,u;if(n.current){const g={body:{dataStream:`\r
21
- `,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[],paragraphs:[{startIndex:0}]},...e,documentStyle:{...e==null?void 0:e.documentStyle,pageSize:{width:s?1/0:n.current.clientWidth,height:1/0}},id:t},h=l.register({autofocus:!0,editorUnitId:t,initialSnapshot:g},n.current),f=l.getEditor(t);if(A(f),r){f.focus();const m=((u=(d=g.body)==null?void 0:d.dataStream.length)!=null?u:2)-2;f.setSelectionRanges([{startOffset:m,endOffset:m}])}return()=>{h==null||h.dispose()}}},[]),c}const Ee={id:"doc.operation.move-cursor",type:a.CommandType.OPERATION,handler:(o,t)=>!!t},ve={id:"doc.operation.move-selection",type:a.CommandType.OPERATION,handler:(o,t)=>!!t},ia=(o,t,e,n)=>{const i=E.useDependency(a.ICommandService),s=E.useDependency(E.IShortcutService),r=F.useRef(t);r.current=t;const c=F.useRef(n);c.current=n,F.useEffect(()=>{if(!e||!o)return;const l=`sheet.formula-embedding-editor.${e.getEditorId()}`,d=new a.DisposableCollection,u=(h,f)=>{if(c.current){c.current(h,f);return}let m=a.Direction.LEFT;h===E.KeyCode.ARROW_DOWN?m=a.Direction.DOWN:h===E.KeyCode.ARROW_UP?m=a.Direction.UP:h===E.KeyCode.ARROW_RIGHT&&(m=a.Direction.RIGHT),f===E.MetaKeys.SHIFT?i.executeCommand(ve.id,{direction:m}):i.executeCommand(Ee.id,{direction:m})};return d.add(i.registerCommand({id:l,type:a.CommandType.OPERATION,handler(h,f){const{keyCode:m}=f;u(m)}})),[{keyCode:E.KeyCode.ARROW_DOWN},{keyCode:E.KeyCode.ARROW_LEFT},{keyCode:E.KeyCode.ARROW_RIGHT},{keyCode:E.KeyCode.ARROW_UP},{keyCode:E.KeyCode.ARROW_DOWN,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_LEFT,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_RIGHT,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_UP,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_DOWN,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_LEFT,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_RIGHT,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_UP,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_DOWN,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_LEFT,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_RIGHT,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_UP,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT}].map(({keyCode:h,metaKey:f})=>({id:l,binding:f?h|f:h,preconditions:()=>!0,priority:900,staticParameters:{eventType:R.DeviceInputEventType.Keyboard,keyCode:h}})).forEach(h=>{d.add(s.registerShortcut(h))}),()=>{d.dispose()}},[i,e,o,s])};function sa(o,t){const e=E.useDependency(a.ICommandService);F.useEffect(()=>{if(!o)return;const n=e.onCommandExecuted(i=>{if(i.id===M.RichTextEditingMutation.id){if(i.params.unitId!==o.getEditorId())return;t(o.getDocumentData())}});return()=>{n.dispose()}},[o,t,e])}const dt={richTextEditorActive:"univer-rich-text-editor-active",richTextEditorWrap:"univer-rich-text-editor-wrap",richTextEditorText:"univer-rich-text-editor-text",richTextEditorPlaceholder:"univer-rich-text-editor-placeholder"},aa=F.forwardRef((o,t)=>{var z;const{className:e,autoFocus:n,onFocusChange:i,initialValue:s,onClickOutside:r,keyboardEventConfig:c,moveCursor:A=!0,style:l,isSingle:d,editorId:u,onHeightChange:g,onChange:h,defaultHeight:f=32,maxHeight:m=32}=o,p=E.useDependency(ce),S=E.useEvent(i),I=E.useEvent(r),[C,b]=F.useState(f),O=F.useRef(null),v=F.useMemo(()=>u!=null?u:a.createInternalEditorID(`RICH_TEXT_EDITOR-${a.generateRandomId(4)}`),[u]),y=oa({editorId:v,initialValue:s,container:O,autoFocus:n,isSingle:d}),_=E.useDependency(R.IRenderManagerService).getRenderById(v),w=_==null?void 0:_.with(T.DocSelectionRenderService),D=(z=w==null?void 0:w.isFocusing)!=null?z:!1,P=F.useRef(null),[U,H]=F.useState(()=>{var W,V;return!a.BuildTextUtils.transform.getPlainText((V=(W=y==null?void 0:y.getDocumentData().body)==null?void 0:W.dataStream)!=null?V:"")}),{checkScrollBar:k}=Go(y,d,!0,!0),L=E.useEvent(W=>{const V=_==null?void 0:_.with(M.DocSkeletonManagerService),K=V==null?void 0:V.getSkeleton().getActualSize();K&&(g==null||g(K.actualHeight),b(Math.max(f,Math.min(K.actualHeight+10,m)))),h==null||h(W),k()});return F.useEffect(()=>{var V,K;H(!a.BuildTextUtils.transform.getPlainText((K=(V=y==null?void 0:y.getDocumentData().body)==null?void 0:V.dataStream)!=null?K:""));const W=y==null?void 0:y.selectionChange$.subscribe(()=>{var G,J;H(!a.BuildTextUtils.transform.getPlainText((J=(G=y==null?void 0:y.getDocumentData().body)==null?void 0:G.dataStream)!=null?J:""))});return()=>W==null?void 0:W.unsubscribe()},[y]),E.useObservable(y==null?void 0:y.blur$),E.useObservable(y==null?void 0:y.focus$),F.useEffect(()=>{S==null||S(D)},[D,S]),F.useEffect(()=>{const W=V=>{var G,J;p.getFocusId()!==v||((J=(G=V.target)==null?void 0:G.dataset)==null?void 0:J.editorid)===v||P.current&&!P.current.contains(V.target)&&(I==null||I())};return setTimeout(()=>{document.addEventListener("click",W)},100),()=>{document.removeEventListener("click",W)}},[y,v,p,I]),ia(D&&A,!1,y),jo(D,c,y),F.useImperativeHandle(t,()=>y,[y]),sa(y,L),Q.jsx("div",{className:_t(dt.richTextEditor,e),style:l,children:Q.jsxs("div",{className:_t(dt.richTextEditorWrap,{[dt.richTextEditorActive]:D}),style:{height:C},ref:P,children:[Q.jsx("div",{className:dt.richTextEditorText,ref:O,onMouseUp:()=>y==null?void 0:y.focus()}),U?Q.jsx("div",{className:dt.richTextEditorPlaceholder,children:o.placeholder}):null]})})});var Ae=function(){return Ae=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},Ae.apply(this,arguments)},ra=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},Xe=F.forwardRef(function(o,t){var e=o.icon,n=o.id,i=o.className,s=o.extend,r=ra(o,["icon","id","className","extend"]),c="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),A=F.useRef("_".concat(la()));return ai(e,"".concat(n),{defIds:e.defIds,idSuffix:A.current},Ae({ref:t,className:c},r),s)});function ai(o,t,e,n,i){return F.createElement(o.tag,Ae(Ae({key:t},ca(o,e,i)),n),(Aa(o,e).children||[]).map(function(s,r){return ai(s,"".concat(t,"-").concat(o.tag,"-").concat(r),e,void 0,i)}))}function ca(o,t,e){var n=Ae({},o.attrs);e!=null&&e.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=e.colorChannel1),o.tag==="mask"&&n.id&&(n.id=n.id+t.idSuffix),Object.entries(n).forEach(function(s){var r=s[0],c=s[1];r==="mask"&&typeof c=="string"&&(n[r]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))});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(s){var r=s[0],c=s[1];typeof c=="string"&&(n[r]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function Aa(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)?Ae(Ae({},o),{children:o.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?Ae(Ae({},i),{attrs:Ae(Ae({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):o}function la(){return Math.random().toString(36).substring(2,8)}Xe.displayName="UniverIcon";var da={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641 1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H13.9999C14.3313 6.76641 14.5999 6.49778 14.5999 6.16641 14.5999 5.83504 14.3313 5.56641 13.9999 5.56641H1.9999zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004 1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H13.9999C14.3313 14.1004 14.5999 13.8318 14.5999 13.5004 14.5999 13.169 14.3313 12.9004 13.9999 12.9004H1.9999z"}}]},ri=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"align-text-both-single",ref:t,icon:da}))});ri.displayName="AlignTextBothSingle";var ua={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM3.33315 5.56641C3.00178 5.56641 2.73315 5.83504 2.73315 6.16641 2.73315 6.49778 3.00178 6.76641 3.33315 6.76641H12.6665C12.9979 6.76641 13.2665 6.49778 13.2665 6.16641 13.2665 5.83504 12.9979 5.56641 12.6665 5.56641H3.33315zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM3.33315 12.9004C3.00178 12.9004 2.73315 13.169 2.73315 13.5004 2.73315 13.8318 3.00178 14.1004 3.33315 14.1004H12.6665C12.9979 14.1004 13.2665 13.8318 13.2665 13.5004 13.2665 13.169 12.9979 12.9004 12.6665 12.9004H3.33315z"}}]},ci=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"horizontally-single",ref:t,icon:ua}))});ci.displayName="HorizontallySingle";var ha={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641 1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H11.3332C11.6646 6.76641 11.9332 6.49778 11.9332 6.16641 11.9332 5.83504 11.6646 5.56641 11.3332 5.56641H1.9999zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004 1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H11.3332C11.6646 14.1004 11.9332 13.8318 11.9332 13.5004 11.9332 13.169 11.6646 12.9004 11.3332 12.9004H1.9999z"}}]},Ai=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"left-justifying-single",ref:t,icon:ha}))});Ai.displayName="LeftJustifyingSingle";var ga={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM4.66665 5.56641C4.33528 5.56641 4.06665 5.83504 4.06665 6.16641 4.06665 6.49778 4.33528 6.76641 4.66665 6.76641H14C14.3314 6.76641 14.6 6.49778 14.6 6.16641 14.6 5.83504 14.3314 5.56641 14 5.56641H4.66665zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM4.66665 12.9004C4.33528 12.9004 4.06665 13.169 4.06665 13.5004 4.06665 13.8318 4.33528 14.1004 4.66665 14.1004H14C14.3314 14.1004 14.6 13.8318 14.6 13.5004 14.6 13.169 14.3314 12.9004 14 12.9004H4.66665z"}}]},li=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"right-justifying-single",ref:t,icon:ga}))});li.displayName="RightJustifyingSingle";var ma={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.96372 2.59116C5.19803 2.35684 5.19803 1.97695 4.96372 1.74263 4.7294 1.50832 4.3495 1.50832 4.11519 1.74263L2.53945 3.31837 1.96372 2.74263C1.7294 2.50832 1.3495 2.50832 1.11519 2.74263.880874 2.97695.880874 3.35684 1.11519 3.59116L2.11519 4.59116C2.3495 4.82547 2.7294 4.82547 2.96372 4.59116L4.96372 2.59116zM14.4605 2.56689H6.8981C6.56672 2.56689 6.2981 2.83552 6.2981 3.16689 6.2981 3.49827 6.56672 3.76689 6.8981 3.76689H14.4605C14.7918 3.76689 15.0605 3.49827 15.0605 3.16689 15.0605 2.83552 14.7918 2.56689 14.4605 2.56689zM6.8981 7.2334C6.56672 7.2334 6.2981 7.50203 6.2981 7.8334 6.2981 8.16477 6.56672 8.4334 6.8981 8.4334H14.4605C14.7918 8.4334 15.0605 8.16477 15.0605 7.8334 15.0605 7.50203 14.7918 7.2334 14.4605 7.2334H6.8981zM6.2981 12.4999C6.2981 12.1685 6.56672 11.8999 6.8981 11.8999H14.4605C14.7918 11.8999 15.0605 12.1685 15.0605 12.4999 15.0605 12.8313 14.7918 13.0999 14.4605 13.0999H6.8981C6.56672 13.0999 6.2981 12.8313 6.2981 12.4999z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.87279 5.8999C1.80504 5.8999.939453 6.76549.939453 7.83324.939453 8.90099 1.80504 9.76657 2.87279 9.76657 3.94054 9.76657 4.80612 8.90099 4.80612 7.83324 4.80612 6.76549 3.94054 5.8999 2.87279 5.8999zM2.13945 7.83324C2.13945 7.42823 2.46778 7.0999 2.87279 7.0999 3.2778 7.0999 3.60612 7.42823 3.60612 7.83324 3.60612 8.23824 3.2778 8.56657 2.87279 8.56657 2.46778 8.56657 2.13945 8.23824 2.13945 7.83324zM.939453 12.5002C.939453 11.4325 1.80504 10.5669 2.87279 10.5669 3.94054 10.5669 4.80612 11.4325 4.80612 12.5002 4.80612 13.568 3.94054 14.4336 2.87279 14.4336 1.80504 14.4336.939453 13.568.939453 12.5002zM2.87279 11.7669C2.46778 11.7669 2.13945 12.0952 2.13945 12.5002 2.13945 12.9052 2.46778 13.2336 2.87279 13.2336 3.2778 13.2336 3.60612 12.9052 3.60612 12.5002 3.60612 12.0952 3.2778 11.7669 2.87279 11.7669z",fillRule:"evenodd",clipRule:"evenodd"}}]},di=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"todo-list",ref:t,icon:ma}))});di.displayName="TodoList";function ui(o){var n;const{dataStream:t}=(n=o.body)!=null?n:{},e=[a.DataStreamTreeTokenType.TABLE_START,a.DataStreamTreeTokenType.TABLE_CELL_END,a.DataStreamTreeTokenType.TABLE_CELL_START,a.DataStreamTreeTokenType.TABLE_END,a.DataStreamTreeTokenType.TABLE_ROW_END,a.DataStreamTreeTokenType.TABLE_ROW_START,a.DataStreamTreeTokenType.COLUMN_BREAK,a.DataStreamTreeTokenType.PAGE_BREAK,a.DataStreamTreeTokenType.TAB,a.DataStreamTreeTokenType.DOCS_END,a.DataStreamTreeTokenType.CUSTOM_BLOCK];if(typeof t=="string")for(let i=0;i<t.length;i++){const s=t[i];if(!e.includes(s))return i}return 0}const hi="COMPONENT_DOC_HEADER_FOOTER_PANEL",se={panel:"univer-panel",optionsSection:"univer-options-section",optionsFormItem:"univer-options-form-item",optionsInput:"univer-options-input",optionsMarginSetting:"univer-options-margin-setting"};function fa(o,t,e){const{useFirstPageHeaderFooter:n,evenAndOddHeaders:i,defaultHeaderId:s,defaultFooterId:r,firstPageHeaderId:c,firstPageFooterId:A,evenPageHeaderId:l,evenPageFooterId:d}=o;return t===R.DocumentEditArea.HEADER?n===a.BooleanNumber.TRUE&&e===0?c:i===a.BooleanNumber.TRUE&&e%2===1?l:s:n===a.BooleanNumber.TRUE&&e===0?A:i===a.BooleanNumber.TRUE&&e%2===1?d:r}const pa=o=>{const t=E.useDependency(a.LocaleService),e=E.useDependency(a.IUniverInstanceService),n=E.useDependency(R.IRenderManagerService),i=E.useDependency(a.ICommandService),s=E.useDependency(E.ILayoutService),{unitId:r}=o,c=n.getRenderById(r).with(T.DocSelectionRenderService),[A,l]=F.useState({}),d=(h,f)=>{var y;l(x=>({...x,[f]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE}));const m=e.getUniverDocInstance(r),p=m==null?void 0:m.getSnapshot().documentStyle,S=(y=n.getRenderById(r))==null?void 0:y.with(M.DocSkeletonManagerService),I=S==null?void 0:S.getViewModel();if(p==null||I==null)return;const C=I.getEditArea();let b=!1;const O=c.getSegmentPage();let v=!1;if(f==="useFirstPageHeaderFooter"&&h===!0&&((C===R.DocumentEditArea.HEADER&&!p.firstPageHeaderId||C===R.DocumentEditArea.FOOTER&&!p.firstPageFooterId)&&(b=!0),b&&O===0&&(v=!0)),f==="evenAndOddHeaders"&&h===!0&&((C===R.DocumentEditArea.HEADER&&!p.evenPageHeaderId||C===R.DocumentEditArea.FOOTER&&!p.evenPageFooterId)&&(b=!0),b&&O%2===1&&(v=!0)),b){const _=a.Tools.generateRandomId(6);v&&c.setSegment(_),i.executeCommand(Ft,{unitId:r,segmentId:_,headerFooterProps:{[f]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE}})}else{const x=c.getSegmentPage(),_=c.getSegment(),w=fa({...p,[f]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE},C,x);w&&w!==_&&c.setSegment(w),i.executeCommand(Ft,{unitId:r,headerFooterProps:{[f]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE}})}s.focus()},u=async(h,f)=>{l(m=>({...m,[f]:h})),await i.executeCommand(Ft,{unitId:r,headerFooterProps:{[f]:h}}),c.removeAllRanges(),c.blur()},g=()=>{i.executeCommand(Gn.id,{unitId:r})};return F.useEffect(()=>{const h=e.getUniverDocInstance(r),f=h==null?void 0:h.getSnapshot().documentStyle;if(f){const{marginHeader:m=0,marginFooter:p=0,useFirstPageHeaderFooter:S=a.BooleanNumber.FALSE,evenAndOddHeaders:I=a.BooleanNumber.FALSE}=f;l({marginHeader:m,marginFooter:p,useFirstPageHeaderFooter:S,evenAndOddHeaders:I})}},[r]),Q.jsxs("div",{className:se.options,children:[Q.jsxs("div",{className:se.optionsSection,children:[Q.jsx("div",{className:se.optionsFormItem,children:Q.jsx(ae.Checkbox,{checked:A.useFirstPageHeaderFooter===a.BooleanNumber.TRUE,onChange:h=>{d(h,"useFirstPageHeaderFooter")},children:t.t("headerFooter.firstPageCheckBox")})}),Q.jsx("div",{className:se.optionsFormItem,children:Q.jsx(ae.Checkbox,{checked:A.evenAndOddHeaders===a.BooleanNumber.TRUE,onChange:h=>{d(h,"evenAndOddHeaders")},children:t.t("headerFooter.oddEvenCheckBox")})})]}),Q.jsxs("div",{className:_t(se.optionsSection,se.optionsMarginSetting),children:[Q.jsxs("div",{className:se.optionsMarginItem,children:[Q.jsx("span",{children:t.t("headerFooter.headerTopMargin")}),Q.jsx(ae.InputNumber,{min:0,max:200,precision:1,value:A.marginHeader,onChange:h=>{u(h,"marginHeader")},className:se.optionsInput})]}),Q.jsxs("div",{className:se.optionsMarginItem,children:[Q.jsx("span",{children:t.t("headerFooter.footerBottomMargin")}),Q.jsx(ae.InputNumber,{min:0,max:200,precision:1,value:A.marginFooter,onChange:h=>{u(h,"marginFooter")},className:se.optionsInput})]})]}),Q.jsx("div",{className:se.optionsSection,children:Q.jsx(ae.Button,{onClick:g,children:t.t("headerFooter.closeHeaderFooter")})})]})},Sa=()=>{var l;const o=E.useDependency(a.LocaleService),t=E.useDependency(R.IRenderManagerService),i=E.useDependency(a.IUniverInstanceService).getCurrentUniverDocInstance().getUnitId(),r=((l=t.getRenderById(i))==null?void 0:l.with(M.DocSkeletonManagerService)).getViewModel(),[c,A]=F.useState(!0);return F.useEffect(()=>{const d=r.getEditArea();A(d!==R.DocumentEditArea.BODY);const u=r.editAreaChange$.subscribe(g=>{g!=null&&A(g!==R.DocumentEditArea.BODY)});return()=>{u.unsubscribe()}},[]),Q.jsx("div",{className:se.panel,children:c?Q.jsx(pa,{unitId:i}):Q.jsx("div",{className:se.panelDisableText,children:o.t("headerFooter.disableText")})})},gi=18,mi=200,Vn=6,Ia=4;function Ea(o,t){let{radius:e,width:n,height:i}=t;e=e!=null?e:0,n=n!=null?n:30,i=i!=null?i:30;let s=0;s=Math.min(e,n/2,i/2),o.beginPath(),o.moveTo(0,0),o.lineTo(n,0),o.lineTo(n,i-s),o.arc(n-s,i-s,s,0,Math.PI/2,!1),o.lineTo(0,i),o.lineTo(0,0),o.closePath(),t.fill&&(o.save(),o.fillStyle=t.fill,t.fillRule==="evenodd"?o.fill("evenodd"):o.fill(),o.restore())}class Lt extends R.Shape{constructor(e,n){super(e,n);B(this,"color");B(this,"text");this.color=n==null?void 0:n.color,this.text=n==null?void 0:n.text}static drawWith(e,n){const{text:i,color:s}=n;e.save(),e.font="13px Source Han Sans CN";const r=e.measureText(i).width,c=Math.min(r+2*Vn,mi);Ea(e,{height:gi,width:c,radius:4,fill:s}),e.fillStyle="rgba(58, 96, 247, 1)";const A=Vn,l=gi-Ia,d=mi-2*Vn;if(r>d){let u="",g=0;for(const h of i){const f=e.measureText(h).width;if(g+f<=d-e.measureText("...").width)u+=h,g+=f;else{u+="...";break}}e.fillText(u,A,l)}else e.fillText(i,A,l);e.restore()}_draw(e){Lt.drawWith(e,this)}}var va=Object.getOwnPropertyDescriptor,Ca=(o,t,e,n)=>{for(var i=n>1?void 0:n?va(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Oe=(o,t)=>(e,n)=>t(e,n,o);const fi="rgba(58, 96, 247, 1)",pi="rgba(58, 96, 247, 0.08)";var ie=(o=>(o[o.FIRST_PAGE_HEADER=0]="FIRST_PAGE_HEADER",o[o.FIRST_PAGE_FOOTER=1]="FIRST_PAGE_FOOTER",o[o.DEFAULT_HEADER=2]="DEFAULT_HEADER",o[o.DEFAULT_FOOTER=3]="DEFAULT_FOOTER",o[o.EVEN_PAGE_HEADER=4]="EVEN_PAGE_HEADER",o[o.EVEN_PAGE_FOOTER=5]="EVEN_PAGE_FOOTER",o))(ie||{});function Ta(o,t,e){const{documentStyle:n}=o.getDataModel().getSnapshot(),{defaultHeaderId:i,defaultFooterId:s,evenPageHeaderId:r,evenPageFooterId:c,firstPageHeaderId:A,firstPageFooterId:l,evenAndOddHeaders:d,useFirstPageHeaderFooter:u}=n;switch(t){case R.DocumentEditArea.BODY:return{createType:null,headerFooterId:null};case R.DocumentEditArea.HEADER:return u===a.BooleanNumber.TRUE&&!A?{createType:0,headerFooterId:null}:d===a.BooleanNumber.TRUE&&e%2===0&&!r?{createType:4,headerFooterId:null}:i?{createType:null,headerFooterId:i}:{createType:2,headerFooterId:null};case R.DocumentEditArea.FOOTER:return u===a.BooleanNumber.TRUE&&!l?{createType:1,headerFooterId:null}:d===a.BooleanNumber.TRUE&&e%2===0&&!c?{createType:5,headerFooterId:null}:s?{createType:null,headerFooterId:s}:{createType:3,headerFooterId:null};default:throw new Error(`Invalid editArea: ${t}`)}}let Wn=class extends a.Disposable{constructor(t,e,n,i,s,r,c,A,l){super();B(this,"_loadedMap",new WeakSet);this._context=t,this._commandService=e,this._editorService=n,this._instanceSrv=i,this._renderManagerService=s,this._docSkeletonManagerService=r,this._docSelectionRenderService=c,this._localeService=A,this._componentManager=l,this._initialize()}_initialize(){this._init(),this._drawHeaderFooterLabel(),this._initCustomComponents(),this._listenSwitchMode()}_listenSwitchMode(){this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(M.RichTextEditingMutation.id===t.id){const e=this._context.unit,i=this._docSkeletonManagerService.getViewModel().getEditArea(),s=e.getSnapshot().documentStyle.documentFlavor;i!==R.DocumentEditArea.BODY&&s===a.DocumentFlavor.MODERN&&this._commandService.executeCommand(Gn.id,{unitId:this._context.unitId})}}))}_initCustomComponents(){const t=this._componentManager;this.disposeWithMe(t.register(hi,Sa))}_init(){const{unitId:t}=this._context,e=Se(this._context);e==null||e.document==null||this._loadedMap.has(e.document)||(this._initialMain(t),this._loadedMap.add(e.document))}_initialMain(t){const e=Se(this._context),{document:n}=e;this.disposeWithMe(n.onDblclick$.subscribeEvent(async i=>{if(this._isEditorReadOnly(t)||!this._isTraditionalMode())return;const{offsetX:s,offsetY:r}=i,{pageLayoutType:c=R.PageLayoutType.VERTICAL,pageMarginLeft:A,pageMarginTop:l}=n.getOffsetConfig(),d=this._getTransformCoordForDocumentOffset(s,r);if(d==null)return;const u=this._docSkeletonManagerService.getViewModel(),g=this._docSkeletonManagerService.getSkeleton(),h=u.getEditArea(),{editArea:f,pageNumber:m}=g.findEditAreaByCoord(d,c,A,l);if(h===f)return;u.setEditArea(f);const{createType:p,headerFooterId:S}=Ta(u,f,m);if(f===R.DocumentEditArea.BODY)this._docSelectionRenderService.setSegment(""),this._docSelectionRenderService.setSegmentPage(-1),this._docSelectionRenderService.setCursorManually(s,r);else if(p!=null){const C=a.Tools.generateRandomId(6);this._docSelectionRenderService.setSegment(C),this._docSelectionRenderService.setSegmentPage(m),await this._commandService.executeCommand(Ii.id,{unitId:t,createType:p,segmentId:C})}else S!=null&&(this._docSelectionRenderService.setSegment(S),this._docSelectionRenderService.setSegmentPage(m),this._docSelectionRenderService.setCursorManually(s,r))}))}_getTransformCoordForDocumentOffset(t,e){const n=Se(this._context),{document:i,scene:s}=n,{documentTransform:r}=i.getOffsetConfig(),c=s.getViewports()[0];if(c==null)return;const A=c.transformVector2SceneCoord(R.Vector2.FromArray([t,e]));return r.clone().invert().applyPoint(A)}_drawHeaderFooterLabel(){const t=this._localeService;this._renderManagerService.currentRender$.subscribe(e=>{if(e==null)return;const n=this._renderManagerService.getRenderById(e);if(this._editorService.isEditor(e)||this._instanceSrv.getUniverDocInstance(e)==null||n==null)return;const{mainComponent:i}=n,s=i;this.disposeWithMe(a.toDisposable(s.pageRender$.subscribe(r=>{if(this._editorService.isEditor(e)||!this._isTraditionalMode())return;const l=this._docSkeletonManagerService.getViewModel().getEditArea()===R.DocumentEditArea.BODY,{page:d,pageLeft:u,pageTop:g,ctx:h}=r,{pageWidth:f,pageHeight:m,marginTop:p,marginBottom:S}=d;if(h.save(),h.translate(u-.5,g-.5),l?(R.Rect.drawWith(h,{left:0,top:0,width:f,height:p,fill:"rgba(255, 255, 255, 0.5)"}),h.save(),h.translate(0,m-S),R.Rect.drawWith(h,{left:0,top:0,width:f,height:S,fill:"rgba(255, 255, 255, 0.5)"}),h.restore()):(h.save(),h.translate(0,p),R.Rect.drawWith(h,{left:0,top:p,width:f,height:m-p-S,fill:"rgba(255, 255, 255, 0.5)"}),h.restore()),!l){const I={dataArray:[{command:"M",points:[0,p]},{command:"L",points:[f,p]}],strokeWidth:1,stroke:fi},C={dataArray:[{command:"M",points:[0,m-S]},{command:"L",points:[f,m-S]}],strokeWidth:1,stroke:fi};R.Path.drawWith(h,I),R.Path.drawWith(h,C),h.translate(0,p+1),Lt.drawWith(h,{text:t.t("headerFooter.header"),color:pi}),h.translate(0,m-p-S),Lt.drawWith(h,{text:t.t("headerFooter.footer"),color:pi})}h.restore()})))})}_isEditorReadOnly(t){const e=this._editorService.getEditor(t);return e?e.isReadOnly():!1}_isTraditionalMode(){return this._context.unit.getSnapshot().documentStyle.documentFlavor===a.DocumentFlavor.TRADITIONAL}};Wn=Ca([Oe(1,a.ICommandService),Oe(2,ce),Oe(3,a.IUniverInstanceService),Oe(4,R.IRenderManagerService),Oe(5,a.Inject(M.DocSkeletonManagerService)),Oe(6,a.Inject(T.DocSelectionRenderService)),Oe(7,a.Inject(a.LocaleService)),Oe(8,a.Inject(E.ComponentManager))],Wn);const Kn={id:"sidebar.operation.doc-header-footer-panel",type:a.CommandType.OPERATION,handler:async(o,t)=>{const e=o.get(E.ISidebarService),n=o.get(a.LocaleService);switch(t.value){case"open":e.open({header:{title:n.t("headerFooter.panel")},children:{label:hi},onClose:()=>{},width:400});break;case"close":default:e.close();break}return!0}};function Si(){return{dataStream:`\r
22
- `,textRuns:[{st:0,ed:0,ts:{fs:9}}],customBlocks:[],paragraphs:[{startIndex:0,paragraphStyle:{spaceAbove:{v:0},lineSpacing:1.5,spaceBelow:{v:0}}}],sectionBreaks:[{startIndex:1}]}}function zn(o,t,e,n){const i=a.JSONX.getInstance(),s=6,r=o!=null?o:a.Tools.generateRandomId(s),c=t===ie.DEFAULT_HEADER||t===ie.FIRST_PAGE_HEADER||t===ie.EVEN_PAGE_HEADER,A=i.insertOp([c?"headers":"footers",r],{[c?"headerId":"footerId"]:r,body:Si()});n.push(A);const l=a.Tools.generateRandomId(s),d=i.insertOp([c?"footers":"headers",l],{[c?"footerId":"headerId"]:l,body:Si()});n.push(d);let u="defaultHeaderId",g="defaultFooterId";switch(t){case ie.DEFAULT_HEADER:u="defaultHeaderId",g="defaultFooterId";break;case ie.DEFAULT_FOOTER:u="defaultFooterId",g="defaultHeaderId";break;case ie.FIRST_PAGE_HEADER:u="firstPageHeaderId",g="firstPageFooterId";break;case ie.FIRST_PAGE_FOOTER:u="firstPageFooterId",g="firstPageHeaderId";break;case ie.EVEN_PAGE_HEADER:u="evenPageHeaderId",g="evenPageFooterId";break;case ie.EVEN_PAGE_FOOTER:u="evenPageFooterId",g="evenPageHeaderId";break;default:throw new Error(`Unknown header footer type: ${t}`)}for(const[h,f]of[[u,r],[g,l]])if(e[h]!=null){const m=i.replaceOp(["documentStyle",h],e[h],f);n.push(m)}else{const m=i.insertOp(["documentStyle",h],f);n.push(m)}return n}const Ft="doc.command.core-header-footer",Ii={id:Ft,type:a.CommandType.COMMAND,handler:async(o,t)=>{var b;const e=o.get(a.ICommandService),n=o.get(a.IUniverInstanceService),i=o.get(R.IRenderManagerService),{unitId:s,segmentId:r,createType:c,headerFooterProps:A}=t,l=(b=i.getRenderById(s))==null?void 0:b.with(M.DocSkeletonManagerService),d=n.getUniverDocInstance(s),u=l==null?void 0:l.getViewModel();if(d==null||u==null)return!1;const g=u.getEditArea(),{documentStyle:h}=d.getSnapshot(),f=(A==null?void 0:A.marginFooter)!=null||(A==null?void 0:A.marginHeader)!=null,m=[{startOffset:0,endOffset:0,collapsed:!0}],p={id:M.RichTextEditingMutation.id,params:{unitId:s,actions:[],textRanges:m,debounce:!0}};f&&(p.params.noNeedSetTextRange=!0);const S=a.JSONX.getInstance(),I=[];return c!=null&&zn(r,c,h,I),A!=null&&Object.keys(A).forEach(O=>{const v=A[O],y=h[O];if(v===y)return;let x;if(y===void 0?x=S.insertOp(["documentStyle",O],v):x=S.replaceOp(["documentStyle",O],y,v),I.push(x),O==="useFirstPageHeaderFooter"&&v===a.BooleanNumber.TRUE&&!h.firstPageHeaderId){const _=g===R.DocumentEditArea.HEADER?ie.FIRST_PAGE_HEADER:ie.FIRST_PAGE_FOOTER;zn(r,_,h,I)}else if(O==="evenAndOddHeaders"&&v===a.BooleanNumber.TRUE&&!h.evenPageHeaderId){const _=g===R.DocumentEditArea.HEADER?ie.EVEN_PAGE_HEADER:ie.EVEN_PAGE_FOOTER;zn(r,_,h,I)}}),I.length===0?!1:(p.params.actions=I.reduce((O,v)=>a.JSONX.compose(O,v),null),!!e.syncExecuteCommand(p.id,p.params))}},jn={id:"doc.command.open-header-footer-panel",type:a.CommandType.COMMAND,handler:async(o,t)=>o.get(a.ICommandService).executeCommand(Kn.id,{value:"open"})},Gn={id:"doc.command.close-header-footer",type:a.CommandType.COMMAND,handler:async(o,t)=>{var f;const e=o.get(a.ICommandService),n=o.get(R.IRenderManagerService),i=o.get(M.DocSelectionManagerService),s=o.get(a.IUniverInstanceService),{unitId:r}=t,c=n.getRenderById(r);if(c==null)return!1;const{scene:A}=c,l=A.getTransformerByCreate(),d=c.with(M.DocSkeletonManagerService),u=c.with(T.DocSelectionRenderService),g=d==null?void 0:d.getSkeleton(),h=d==null?void 0:d.getViewModel();return h==null||g==null?!1:(i.replaceDocRanges([]),l.clearSelectedObjects(),u.setSegment(""),u.setSegmentPage(-1),h.setEditArea(R.DocumentEditArea.BODY),g.calculate(),(f=c.mainComponent)==null||f.makeDirty(!0),queueMicrotask(()=>{const m=s.getUnit(r),p=m==null?void 0:m.getSnapshot();if(p==null)return;const S=ui(p);i.replaceDocRanges([{startOffset:S,endOffset:S}])}),e.executeCommand(Kn.id,{value:"close"}),!0)}},Ye="UI_PLUGIN_DOCS",Xn=`${Ye}_COLOR_PICKER_COMPONENT`,Ei=`${Ye}_FONT_FAMILY_COMPONENT`,vi=`${Ye}_FONT_FAMILY_ITEM_COMPONENT`,Ci=`${Ye}_FONT_SIZE_COMPONENT`,Yn={docListTypePicker:"univer-doc-list-type-picker",docListTypePickerItem:"univer-doc-list-type-picker-item",docListTypePickerItemActive:"univer-doc-list-type-picker-item-active"},Ti=o=>{const{value:t,onChange:e,options:n}=o;return Q.jsx("div",{className:Yn.docListTypePicker,children:n.map(i=>Q.jsx("img",{className:Yn.docListTypePickerItem+(t===i.value?`
19
+ `}_getNodePosition(e){if(e==null)return;const{node:n,ratioX:i,segmentPage:s}=e,c=this._docSkeletonManagerService.getSkeleton().findPositionByGlyph(n,s);if(c==null)return;let l=i<.5;return n.glyphType===B.GlyphType.LIST&&(l=!0),{...c,isBack:l}}_interactTextRanges(e){const n=[];for(const i of this._rangeList){if(e.some(s=>s.isIntersection(i))){i.dispose();continue}n.push(i)}this._rangeList=n}_interactRectRanges(e){const n=[];for(const i of this._rectRangeList){if(e.some(s=>s.isIntersection(i))){i.dispose();continue}n.push(i)}this._rectRangeList=n}_removeAllRanges(){this._removeAllTextRanges(),this._removeAllRectRanges()}_removeAllCacheRanges(){this._rangeListCache.forEach(e=>{e.dispose()}),this._rectRangeListCache.forEach(e=>{e.dispose()}),this._rangeListCache=[],this._rectRangeListCache=[]}_removeAllTextRanges(){this._rangeList.forEach(e=>{e.dispose()}),this._rangeList=[]}_removeAllRectRanges(){this._rectRangeList.forEach(e=>{e.dispose()}),this._rectRangeList=[]}_removeAllCollapsedTextRanges(){for(const e of this._rangeList)e.collapsed&&e.dispose()}_deactivateAllTextRanges(){this._rangeList.forEach(e=>{e.deactivate()})}_deactivateAllRectRanges(){this._rectRangeList.forEach(e=>{e.deactivate()})}_addTextRangesToCache(e){this._rangeListCache.push(...e)}_addTextRange(e){this._deactivateAllTextRanges(),e.activate(),this._rangeList.push(e)}_addRectRangesToCache(e){this._rectRangeListCache.push(...e)}_addRectRanges(e){e.length!==0&&(this._deactivateAllRectRanges(),e[e.length-1].activate(),this._rectRangeList.push(...e))}_createTextRangeByAnchorPosition(e){this._removeAllRanges();const{scene:n,mainComponent:i}=this._context,s=this._docSkeletonManagerService.getSkeleton(),r=new Me(n,i,s,e,void 0,this._selectionStyle,this._currentSegmentId,this._currentSegmentPage);this._addTextRange(r)}_updateActiveRangePosition(e){const n=this._getActiveRangeInstance();if(n==null||n.anchorNodePosition==null){this._logService.error("[DocSelectionRenderService] _updateActiveRangeFocusPosition: active range has no anchor");return}this._removeAllRanges(),this._anchorNodePosition=n.anchorNodePosition,this._focusNodePosition=e;const{scene:i,mainComponent:s}=this._context,r=this._docSkeletonManagerService.getSkeleton(),{_anchorNodePosition:c,_focusNodePosition:A,_selectionStyle:l,_currentSegmentId:d,_currentSegmentPage:u}=this;if(c==null||A==null||s==null)return;const g=Fn(c,A,i,s,r,l,d,u);if(g==null)return;const{textRanges:h,rectRanges:m}=g;this._addTextRangesToCache(h),this._addRectRangesToCache(m),this.deactivate()}_isEmpty(){return this._rangeList.length===0&&this._rectRangeList.length===0}_getCanvasOffset(){var n;const e=(n=this._context.scene)==null?void 0:n.getEngine();return ni(e)}_updateInputPosition(e=!1){const n=this._getActiveRangeInstance(),i=n==null?void 0:n.getAnchor();if(!i||i&&!i.visible||this.activeViewPort==null){this.focus();return}const{left:s,top:r}=i,c=this.activeViewPort.getAbsoluteVector(B.Vector2.FromArray([s,r])),{x:A,y:l}=c;let{left:d,top:u}=this._getCanvasOffset();d+=A,u+=l,this.activate(d,u,e)}_moving(e,n){var I,C;const{_currentSegmentId:i,_currentSegmentPage:s}=this,r=this._findNodeByCoord(e,n,{strict:!0,segmentId:i,segmentPage:s}),c=this._getNodePosition(r);if(c==null||r==null)return;const A=r==null?void 0:r.node.parent,l=A==null?void 0:A.glyphGroup[A.glyphGroup.indexOf(r.node)+1];(r==null?void 0:r.node.streamType)===a.DataStreamTreeTokenType.PARAGRAPH&&(l==null?void 0:l.streamType)===a.DataStreamTreeTokenType.SECTION_BREAK&&(c.isBack=!0),this._focusNodePosition=c,this._removeAllCacheRanges();const{_anchorNodePosition:d,_selectionStyle:u}=this,{scene:g,mainComponent:h}=this._context,m=this._docSkeletonManagerService.getSkeleton();if(d==null||h==null)return;const f=Fn(d,c,g,h,m,u,i,s);if(f==null)return;const{textRanges:p,rectRanges:S}=f;this._rangeList.length>0&&p.length>0&&this._interactTextRanges(p),this._rectRangeList.length>0&&S.length>0&&this._interactRectRanges(S),this._addTextRangesToCache(p),this._addRectRangesToCache(S),this.deactivate(),(C=(I=this._context.scene)==null?void 0:I.getEngine())==null||C.setCapture()}__attachScrollEvent(){const e=this.activeViewPort;if(!e)return;const{unitId:n}=this._context;if(this._viewPortObserverMap.has(n))return;const i=e.onScrollAfter$.subscribeEvent(r=>{if(!r.viewport)return;const A=this._getActiveRangeInstance();A==null||A.activeStatic()}),s=e.onScrollEnd$.subscribeEvent(r=>{const c=r.viewport;if(!c)return;const A=c.getBounding(),l=this._getActiveRangeInstance(),d=l==null?void 0:l.getAnchor();if(!(!d||d&&!d.visible)){if(A){const{left:u,top:g,right:h,bottom:m}=A.viewBound;if(d.left<u||d.left>h||d.top<g||d.top>m){l==null||l.deactivateStatic();return}}this._updateInputPosition()}});this._viewPortObserverMap.set(n,{scrollBefore:i,scrollStop:s})}_initInputEvents(){this.disposeWithMe(N.fromEvent(this._input,"keydown").subscribe(e=>{this._isIMEInputApply||this._eventHandle(e,n=>{this._onKeydown$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"input").subscribe(e=>{if(!(e.inputType==="historyUndo"||e.inputType==="historyRedo")){if(this._rectRangeList.length>0)return e.stopPropagation(),e.preventDefault();this._isIMEInputApply||this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onInput$.next(n)})}})),this.disposeWithMe(N.fromEvent(this._input,"compositionstart").subscribe(e=>{if(this._rectRangeList.length>0)return e.stopPropagation(),e.preventDefault();this._isIMEInputApply=!0,this._eventHandle(e,n=>{this._onCompositionstart$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"compositionend").subscribe(e=>{this._isIMEInputApply=!1,this._eventHandle(e,n=>{this._onCompositionend$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"compositionupdate").subscribe(e=>{this._eventHandle(e,n=>{this._onInputBefore$.next(n),this._onCompositionupdate$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"paste").subscribe(e=>{this._eventHandle(e,n=>{this._onPaste$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"focus").subscribe(e=>{this._eventHandle(e,n=>{this._onFocus$.next(n)})})),this.disposeWithMe(N.fromEvent(this._input,"blur").subscribe(e=>{this._eventHandle(e,n=>{this._onBlur$.next(n)})}))}_eventHandle(e,n){const i=this._input.textContent||"";this._input.innerHTML="";const s=this._getActiveRange(),r=this._getAllTextRanges();n({event:e,content:i,activeRange:s,rangeList:r})}_getTransformCoordForDocumentOffset(e,n){const i=this._context.mainComponent,{documentTransform:s}=i.getOffsetConfig();if(this.activeViewPort==null||s==null)return;const r=this.activeViewPort.transformVector2SceneCoord(B.Vector2.FromArray([e,n]));if(r)return s.clone().invert().applyPoint(r)}_findNodeByCoord(e,n,i){const s=this._getTransformCoordForDocumentOffset(e,n);if(s==null)return;const r=this._context.mainComponent,c=this._docSkeletonManagerService.getSkeleton(),{pageLayoutType:A=B.PageLayoutType.VERTICAL,pageMarginLeft:l,pageMarginTop:d}=r.getOffsetConfig();return c.findNodeByCoord(s,A,l,d,i)}_detachEvent(){this._onInputBefore$.complete(),this._onKeydown$.complete(),this._onInput$.complete(),this._onCompositionstart$.complete(),this._onCompositionupdate$.complete(),this._onCompositionend$.complete(),this._onSelectionStart$.complete(),this._textSelectionInner$.complete(),this._onPaste$.complete(),this._onFocus$.complete(),this._onBlur$.complete(),this._onPointerDown$.complete()}},T.DocSelectionRenderService=Ys([wt(1,E.ILayoutService),wt(2,a.ILogService),wt(3,a.IUniverInstanceService),wt(4,a.Inject(x.DocSkeletonManagerService))],T.DocSelectionRenderService);class ii extends a.Disposable{constructor(e,n,i,s,r){super();M(this,"_change$",new N.Subject);M(this,"change$",this._change$.asObservable());M(this,"_input$",new N.Subject);M(this,"input$",this._input$.asObservable());M(this,"_paste$",new N.Subject);M(this,"paste$",this._paste$.asObservable());M(this,"_focus$",new N.Subject);M(this,"focus$",this._focus$.asObservable());M(this,"_blur$",new N.Subject);M(this,"blur$",this._blur$.asObservable());M(this,"_selectionChange$",new N.Subject);M(this,"selectionChange$",this._selectionChange$.asObservable());this._param=e,this._univerInstanceService=n,this._docSelectionManagerService=i,this._commandService=s,this._undoRedoService=r,this._listenSelection()}get docSelectionRenderService(){return this._param.render.with(T.DocSelectionRenderService)}_listenSelection(){const e=this._param.render.with(T.DocSelectionRenderService);this.disposeWithMe(e.onBlur$.subscribe(n=>{this._blur$.next(n);const i=this.getDocumentData();this._change$.next({target:this,data:i})})),this.disposeWithMe(e.onFocus$.subscribe(n=>{this._focus$.next(n)})),this.disposeWithMe(e.onPaste$.subscribe(n=>{this._paste$.next(n)})),this.disposeWithMe(N.merge(e.onInput$,e.onKeydown$.pipe(At.filter(n=>{const i=n.event;return i.ctrlKey||i.metaKey?[E.KeyCode.X,E.KeyCode.V].includes(i.keyCode):[E.KeyCode.BACKSPACE].includes(i.keyCode)})),e.onCompositionupdate$,e.onCompositionend$,e.onPaste$).subscribe(n=>{if(n==null)return;const{content:i=""}=n,s=this.getDocumentData();this._input$.next({target:this,content:i,data:s,isComposing:n.event.type==="compositionupdate"})})),this.disposeWithMe(this._docSelectionManagerService.textSelection$.subscribe(n=>{if(n==null)return;const{unitId:i,subUnitId:s,...r}=n,c=this.getEditorId();i===c&&this._selectionChange$.next(r)}))}isFocus(){const e=this._param.render.with(T.DocSelectionRenderService);return e.isFocusing&&!!e.getActiveTextRange()}focus(){const e=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),n=this.getEditorId();(e==null||e.getUnitId()!==n)&&this._univerInstanceService.setCurrentUnitForType(n),this._param.render.with(T.DocSelectionRenderService).focus()}blur(){this._param.render.with(T.DocSelectionRenderService).blur()}select(){const e=this.getDocumentData();return this.setSelectionRanges([{startOffset:0,endOffset:e.body?e.body.dataStream.length-2:0}])}setSelectionRanges(e,n=!0){const i=this.getEditorId(),s={unitId:i,subUnitId:i};return this._docSelectionManagerService.replaceDocRanges(e,s,!1,{shouldFocus:n})}getSelectionRanges(){const e=this.getEditorId(),n={unitId:e,subUnitId:e};return this._docSelectionManagerService.getDocRanges(n)}getCursorPosition(){var n,i;return(i=(n=this.getSelectionRanges().find(s=>s.collapsed))==null?void 0:n.startOffset)!=null?i:-1}getEditorId(){return this._getEditorId()}getDocumentData(){return this._getDocDataModel().getSnapshot()}getDocumentDataModel(){return this._getDocDataModel()}setDocumentData(e,n){const{id:i}=e;this._commandService.syncExecuteCommand(Bn.id,{unitId:i,snapshot:e,textRanges:n})}replaceText(e,n=!0){const i=this.getDocumentData();this.setDocumentData({...i,body:{dataStream:`${e}\r
20
+ `,paragraphs:[{startIndex:0}],customRanges:[],sectionBreaks:[],tables:[],textRuns:[]}},typeof n=="object"?n:n?[{startOffset:e.length,endOffset:e.length,collapsed:!0}]:null)}clearUndoRedoHistory(){const e=this.getEditorId();return this._undoRedoService.clearUndoRedo(e)}dispose(){this._getDocDataModel().dispose()}get editorUnitId(){return this._param.editorUnitId}get params(){return this._param}get cancelDefaultResizeListener(){return this._param.cancelDefaultResizeListener}get render(){return this._param.render}isReadOnly(){return this._param.readonly===!0}getBoundingClientRect(){return this._param.editorDom.getBoundingClientRect()}get editorDOM(){return this._param.editorDom}isVisible(){return this._param.visible}isSheetEditor(){return a.isInternalEditorID(this._getEditorId())}getValue(){var i;return(((i=this._getDocDataModel().getBody())==null?void 0:i.dataStream)||"").replace(/\r\n/g,"").replace(/\n/g,"").replace(/\n/g,"")}getBody(){return this._getDocDataModel().getBody()}update(e){this._param={...this._param,...e}}updateCanvasStyle(){var i;const e=this._getDocDataModel();if(e==null)return;const n={};(i=this._param.canvasStyle)!=null&&i.fontSize&&(n.textStyle==null&&(n.textStyle={}),n.textStyle.fs=this._param.canvasStyle.fontSize),e.updateDocumentStyle(n)}_getDocDataModel(){const e=this._getEditorId();return this._univerInstanceService.getUnit(e,a.UniverInstanceType.UNIVER_DOC)}_getEditorId(){var e;return((e=this._param.initialSnapshot)==null?void 0:e.id)||this._param.editorUnitId||""}}var qs=Object.getOwnPropertyDescriptor,Js=(o,t,e,n)=>{for(var i=n>1?void 0:n?qs(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Ge=(o,t)=>(e,n)=>t(e,n,o);const Zs=["univer-editor","univer-range-selector","univer-range-selector-editor","univer-render-canvas","univer-text-editor-container-placeholder"];T.EditorService=class extends a.Disposable{constructor(e,n,i,s,r,c){super();M(this,"_editors",new Map);M(this,"_focusEditorUnitId");M(this,"_blur$",new N.Subject);M(this,"blur$",this._blur$.asObservable());M(this,"_focus$",new N.Subject);M(this,"focus$",this._focus$.asObservable());this._univerInstanceService=e,this._renderManagerService=n,this._docSelectionManagerService=i,this._contextService=s,this._commandService=r,this._undoRedoService=c,this._initUniverFocusListener()}_initUniverFocusListener(){this.disposeWithMe(N.fromEvent(window,"focusin").subscribe(e=>{const n=e.target;this._blurSheetEditor(n)}))}_blurSheetEditor(e){if(Zs.some(i=>e.classList.contains(i)))return;const n=this.getFocusEditor();n&&n.isSheetEditor()!==!0&&this.blur()}_setFocusId(e){this._focusEditorUnitId=e}getFocusId(){return this._focusEditorUnitId}getFocusEditor(){if(this._focusEditorUnitId)return this.getEditor(this._focusEditorUnitId)}isEditor(e){return this._editors.has(e)}isSheetEditor(e){const n=this._editors.get(e);return!!(n&&n.isSheetEditor())}blur(e){const n=this.getFocusEditor();e&&(n==null||n.setSelectionRanges([])),n==null||n.blur(),this._contextService.setContextValue(a.EDITOR_ACTIVATED,!1),this._contextService.setContextValue(a.FOCUSING_EDITOR_STANDALONE,!1),this._setFocusId(null),this._blur$.next(null)}focus(e){if(e===this._focusEditorUnitId||(this._focusEditorUnitId&&this.blur(),e==null))return;const n=this.getEditor(e);if(n==null)return;this._univerInstanceService.setCurrentUnitForType(e);const i=n.getValue().length;this._contextService.setContextValue(a.EDITOR_ACTIVATED,!0),a.isInternalEditorID(e)||this._contextService.setContextValue(a.FOCUSING_EDITOR_STANDALONE,!0),n.focus(),this._setFocusId(e),this._focus$.next({startOffset:i,endOffset:i})}dispose(){this._editors.clear(),super.dispose()}getEditor(e=this._getCurrentEditorUnitId()){return this._editors.get(e)}getAllEditor(){return this._editors}register(e,n){var l,d,u,g;const{initialSnapshot:i,canvasStyle:s={}}=e,r=i.id;this._univerInstanceService.getUnit(r,a.UniverInstanceType.UNIVER_DOC)==null&&this._univerInstanceService.createUnit(a.UniverInstanceType.UNIVER_DOC,i||this._getBlank(r),{makeCurrent:!1});let A=this._renderManagerService.getRenderById(r);if(A==null&&(this._renderManagerService.create(r),A=this._renderManagerService.getRenderById(r)),A){A.engine.setContainer(n);const h=new ii({...e,render:A,editorDom:n,canvasStyle:s},this._univerInstanceService,this._docSelectionManagerService,this._commandService,this._undoRedoService);this._editors.set(r,h),e.scrollBar||(g=(u=(d=(l=A.mainComponent)==null?void 0:l.getScene())==null?void 0:d.getViewports())==null?void 0:u[0].getScrollBar())==null||g.dispose()}return a.toDisposable(()=>{this._unRegister(r)})}_unRegister(e){const n=this._editors.get(e);n!=null&&(this._renderManagerService.removeRender(e),n.dispose(),this._editors.delete(e),this._univerInstanceService.disposeUnit(e))}_getCurrentEditorUnitId(){return this._univerInstanceService.getCurrentUniverDocInstance().getUnitId()}_getBlank(e){return{id:e,body:{dataStream:`${a.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[],paragraphs:[{startIndex:0}]},documentStyle:{renderConfig:{verticalAlign:a.VerticalAlign.TOP,horizontalAlign:a.HorizontalAlign.LEFT},marginLeft:3,marginTop:0,marginRight:3}}}},T.EditorService=Js([Ge(0,a.IUniverInstanceService),Ge(1,B.IRenderManagerService),Ge(2,a.Inject(x.DocSelectionManagerService)),Ge(3,a.IContextService),Ge(4,a.ICommandService),Ge(5,a.IUndoRedoService)],T.EditorService);const ce=a.createIdentifier("univer.editor.service");function $s(o){const{editorId:t,initialValue:e,container:n,autoFocus:i,isSingle:s}=o,r=F.useMemo(()=>i!=null?i:!1,[]),[c,A]=F.useState(),l=E.useDependency(ce);return F.useLayoutEffect(()=>{var d,u;if(n.current){const g=typeof e=="string"?void 0:a.Tools.deepClone(e),h={body:{dataStream:typeof e=="string"?`${e}\r
21
+ `:`\r
22
+ `,textRuns:[],customBlocks:[],customDecorations:[],customRanges:[],paragraphs:[{startIndex:0}]},...g,documentStyle:{...g==null?void 0:g.documentStyle,pageSize:{width:s?1/0:n.current.clientWidth,height:1/0}},id:t},m=l.register({autofocus:!0,editorUnitId:t,initialSnapshot:h},n.current),f=l.getEditor(t);if(A(f),r){f.focus();const p=((u=(d=h.body)==null?void 0:d.dataStream.length)!=null?u:2)-2;f.setSelectionRanges([{startOffset:p,endOffset:p}])}return()=>{m==null||m.dispose()}}},[]),c}const Ee={id:"doc.operation.move-cursor",type:a.CommandType.OPERATION,handler:(o,t)=>!!t},ve={id:"doc.operation.move-selection",type:a.CommandType.OPERATION,handler:(o,t)=>!!t},ea=(o,t,e,n)=>{const i=E.useDependency(a.ICommandService),s=E.useDependency(E.IShortcutService),r=F.useRef(t);r.current=t;const c=F.useRef(n);c.current=n,F.useEffect(()=>{if(!e||!o)return;const l=`sheet.formula-embedding-editor.${e.getEditorId()}`,d=new a.DisposableCollection,u=(h,m)=>{if(c.current){c.current(h,m);return}let f=a.Direction.LEFT;h===E.KeyCode.ARROW_DOWN?f=a.Direction.DOWN:h===E.KeyCode.ARROW_UP?f=a.Direction.UP:h===E.KeyCode.ARROW_RIGHT&&(f=a.Direction.RIGHT),m===E.MetaKeys.SHIFT?i.executeCommand(ve.id,{direction:f}):i.executeCommand(Ee.id,{direction:f})};return d.add(i.registerCommand({id:l,type:a.CommandType.OPERATION,handler(h,m){const{keyCode:f}=m;u(f)}})),[{keyCode:E.KeyCode.ARROW_DOWN},{keyCode:E.KeyCode.ARROW_LEFT},{keyCode:E.KeyCode.ARROW_RIGHT},{keyCode:E.KeyCode.ARROW_UP},{keyCode:E.KeyCode.ARROW_DOWN,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_LEFT,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_RIGHT,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_UP,metaKey:E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_DOWN,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_LEFT,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_RIGHT,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_UP,metaKey:E.MetaKeys.CTRL_COMMAND},{keyCode:E.KeyCode.ARROW_DOWN,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_LEFT,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_RIGHT,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT},{keyCode:E.KeyCode.ARROW_UP,metaKey:E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT}].map(({keyCode:h,metaKey:m})=>({id:l,binding:m?h|m:h,preconditions:()=>!0,priority:900,staticParameters:{eventType:B.DeviceInputEventType.Keyboard,keyCode:h}})).forEach(h=>{d.add(s.registerShortcut(h))}),()=>{d.dispose()}},[i,e,o,s])};function ta(o,t){const e=E.useDependency(a.ICommandService);F.useEffect(()=>{if(!o)return;const n=e.onCommandExecuted(i=>{var s,r;if(i.id===x.RichTextEditingMutation.id){if(i.params.unitId!==o.getEditorId())return;const A=o.getDocumentData();t(A,a.getPlainText((r=(s=A.body)==null?void 0:s.dataStream)!=null?r:""))}});return()=>{n.dispose()}},[o,t,e])}const dt={richTextEditorActive:"univer-rich-text-editor-active",richTextEditorWrap:"univer-rich-text-editor-wrap",richTextEditorText:"univer-rich-text-editor-text",richTextEditorPlaceholder:"univer-rich-text-editor-placeholder"},na=o=>{var W;const{className:t,autoFocus:e,onFocusChange:n,initialValue:i,onClickOutside:s,keyboardEventConfig:r,moveCursor:c=!0,style:A,isSingle:l,editorId:d,onHeightChange:u,onChange:g,defaultHeight:h=32,maxHeight:m=32,icon:f,editorRef:p}=o,S=E.useDependency(ce),I=E.useEvent(n),C=E.useEvent(s),[y,R]=F.useState(h),v=F.useRef(null),b=F.useMemo(()=>d!=null?d:a.createInternalEditorID(`RICH_TEXT_EDITOR-${a.generateRandomId(4)}`),[d]),O=$s({editorId:b,initialValue:i,container:v,autoFocus:e,isSingle:l}),w=E.useDependency(B.IRenderManagerService).getRenderById(b),D=w==null?void 0:w.with(T.DocSelectionRenderService),U=E.useObservable(D==null?void 0:D.textSelectionInner$),P=!!((W=D==null?void 0:D.isFocusing)!=null&&W&&(U!=null&&U.textRanges.some(V=>V.collapsed))),k=F.useRef(null),[H,Q]=F.useState(()=>{var V,K;return!a.BuildTextUtils.transform.getPlainText((K=(V=O==null?void 0:O.getDocumentData().body)==null?void 0:V.dataStream)!=null?K:"")}),{checkScrollBar:G}=Go(O,l,!0,!0);F.useLayoutEffect(()=>{if(!(!p||!O)){if(typeof p=="function"){p(O);return}p.current=O}},[O]);const Y=E.useEvent(V=>{var J,j;const K=w==null?void 0:w.with(x.DocSkeletonManagerService),X=K==null?void 0:K.getSkeleton().getActualSize();X&&(u==null||u(X.actualHeight),R(Math.max(h,Math.min(X.actualHeight+10,m)))),g==null||g(V,a.getPlainText((j=(J=V.body)==null?void 0:J.dataStream)!=null?j:"")),G()});return F.useEffect(()=>{var K,X;Q(!a.BuildTextUtils.transform.getPlainText((X=(K=O==null?void 0:O.getDocumentData().body)==null?void 0:K.dataStream)!=null?X:""));const V=O==null?void 0:O.selectionChange$.subscribe(()=>{var J,j;Q(!a.BuildTextUtils.transform.getPlainText((j=(J=O==null?void 0:O.getDocumentData().body)==null?void 0:J.dataStream)!=null?j:""))});return()=>V==null?void 0:V.unsubscribe()},[O]),E.useObservable(O==null?void 0:O.blur$),E.useObservable(O==null?void 0:O.focus$),F.useEffect(()=>{var K,X;const V=O==null?void 0:O.getDocumentData();I==null||I(P,a.getPlainText((X=(K=V==null?void 0:V.body)==null?void 0:K.dataStream)!=null?X:""))},[P,I]),F.useEffect(()=>{const V=X=>{var j,z;S.getFocusId()!==b||((z=(j=X.target)==null?void 0:j.dataset)==null?void 0:z.editorid)===b||k.current&&!k.current.contains(X.target)&&(C==null||C())},K=setTimeout(()=>{document.addEventListener("click",V)},100);return()=>{document.removeEventListener("click",V),clearTimeout(K)}},[O,b,S,C]),ea(P&&c,!1,O),jo(P,r,O),ta(O,Y),L.jsx("div",{className:ne.clsx(dt.richTextEditor,t),style:A,children:L.jsxs("div",{className:ne.clsx(dt.richTextEditorWrap,{[dt.richTextEditorActive]:P}),style:{height:y},ref:k,children:[L.jsx("div",{className:dt.richTextEditorText,ref:v,onMouseUp:()=>O==null?void 0:O.focus()}),f,H?L.jsx("div",{className:dt.richTextEditorPlaceholder,children:o.placeholder}):null]})})};var Ae=function(){return Ae=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},Ae.apply(this,arguments)},oa=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},Xe=F.forwardRef(function(o,t){var e=o.icon,n=o.id,i=o.className,s=o.extend,r=oa(o,["icon","id","className","extend"]),c="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),A=F.useRef("_".concat(aa()));return si(e,"".concat(n),{defIds:e.defIds,idSuffix:A.current},Ae({ref:t,className:c},r),s)});function si(o,t,e,n,i){return F.createElement(o.tag,Ae(Ae({key:t},ia(o,e,i)),n),(sa(o,e).children||[]).map(function(s,r){return si(s,"".concat(t,"-").concat(o.tag,"-").concat(r),e,void 0,i)}))}function ia(o,t,e){var n=Ae({},o.attrs);e!=null&&e.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=e.colorChannel1),o.tag==="mask"&&n.id&&(n.id=n.id+t.idSuffix),Object.entries(n).forEach(function(s){var r=s[0],c=s[1];r==="mask"&&typeof c=="string"&&(n[r]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))});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(s){var r=s[0],c=s[1];typeof c=="string"&&(n[r]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function sa(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)?Ae(Ae({},o),{children:o.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?Ae(Ae({},i),{attrs:Ae(Ae({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):o}function aa(){return Math.random().toString(36).substring(2,8)}Xe.displayName="UniverIcon";var ra={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641 1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H13.9999C14.3313 6.76641 14.5999 6.49778 14.5999 6.16641 14.5999 5.83504 14.3313 5.56641 13.9999 5.56641H1.9999zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004 1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H13.9999C14.3313 14.1004 14.5999 13.8318 14.5999 13.5004 14.5999 13.169 14.3313 12.9004 13.9999 12.9004H1.9999z"}}]},ai=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"align-text-both-single",ref:t,icon:ra}))});ai.displayName="AlignTextBothSingle";var ca={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM3.33315 5.56641C3.00178 5.56641 2.73315 5.83504 2.73315 6.16641 2.73315 6.49778 3.00178 6.76641 3.33315 6.76641H12.6665C12.9979 6.76641 13.2665 6.49778 13.2665 6.16641 13.2665 5.83504 12.9979 5.56641 12.6665 5.56641H3.33315zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM3.33315 12.9004C3.00178 12.9004 2.73315 13.169 2.73315 13.5004 2.73315 13.8318 3.00178 14.1004 3.33315 14.1004H12.6665C12.9979 14.1004 13.2665 13.8318 13.2665 13.5004 13.2665 13.169 12.9979 12.9004 12.6665 12.9004H3.33315z"}}]},ri=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"horizontally-single",ref:t,icon:ca}))});ri.displayName="HorizontallySingle";var Aa={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM1.9999 5.56641C1.66853 5.56641 1.3999 5.83504 1.3999 6.16641 1.3999 6.49778 1.66853 6.76641 1.9999 6.76641H11.3332C11.6646 6.76641 11.9332 6.49778 11.9332 6.16641 11.9332 5.83504 11.6646 5.56641 11.3332 5.56641H1.9999zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM1.9999 12.9004C1.66853 12.9004 1.3999 13.169 1.3999 13.5004 1.3999 13.8318 1.66853 14.1004 1.9999 14.1004H11.3332C11.6646 14.1004 11.9332 13.8318 11.9332 13.5004 11.9332 13.169 11.6646 12.9004 11.3332 12.9004H1.9999z"}}]},ci=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"left-justifying-single",ref:t,icon:Aa}))});ci.displayName="LeftJustifyingSingle";var la={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.9999 1.89941C1.66853 1.89941 1.3999 2.16804 1.3999 2.49941 1.3999 2.83078 1.66853 3.09941 1.9999 3.09941H13.9999C14.3313 3.09941 14.5999 2.83078 14.5999 2.49941 14.5999 2.16804 14.3313 1.89941 13.9999 1.89941H1.9999zM4.66665 5.56641C4.33528 5.56641 4.06665 5.83504 4.06665 6.16641 4.06665 6.49778 4.33528 6.76641 4.66665 6.76641H14C14.3314 6.76641 14.6 6.49778 14.6 6.16641 14.6 5.83504 14.3314 5.56641 14 5.56641H4.66665zM1.3999 9.8334C1.3999 9.50203 1.66853 9.2334 1.9999 9.2334H13.9999C14.3313 9.2334 14.5999 9.50203 14.5999 9.8334 14.5999 10.1648 14.3313 10.4334 13.9999 10.4334H1.9999C1.66853 10.4334 1.3999 10.1648 1.3999 9.8334zM4.66665 12.9004C4.33528 12.9004 4.06665 13.169 4.06665 13.5004 4.06665 13.8318 4.33528 14.1004 4.66665 14.1004H14C14.3314 14.1004 14.6 13.8318 14.6 13.5004 14.6 13.169 14.3314 12.9004 14 12.9004H4.66665z"}}]},Ai=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"right-justifying-single",ref:t,icon:la}))});Ai.displayName="RightJustifyingSingle";var da={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.96372 2.59116C5.19803 2.35684 5.19803 1.97695 4.96372 1.74263 4.7294 1.50832 4.3495 1.50832 4.11519 1.74263L2.53945 3.31837 1.96372 2.74263C1.7294 2.50832 1.3495 2.50832 1.11519 2.74263.880874 2.97695.880874 3.35684 1.11519 3.59116L2.11519 4.59116C2.3495 4.82547 2.7294 4.82547 2.96372 4.59116L4.96372 2.59116zM14.4605 2.56689H6.8981C6.56672 2.56689 6.2981 2.83552 6.2981 3.16689 6.2981 3.49827 6.56672 3.76689 6.8981 3.76689H14.4605C14.7918 3.76689 15.0605 3.49827 15.0605 3.16689 15.0605 2.83552 14.7918 2.56689 14.4605 2.56689zM6.8981 7.2334C6.56672 7.2334 6.2981 7.50203 6.2981 7.8334 6.2981 8.16477 6.56672 8.4334 6.8981 8.4334H14.4605C14.7918 8.4334 15.0605 8.16477 15.0605 7.8334 15.0605 7.50203 14.7918 7.2334 14.4605 7.2334H6.8981zM6.2981 12.4999C6.2981 12.1685 6.56672 11.8999 6.8981 11.8999H14.4605C14.7918 11.8999 15.0605 12.1685 15.0605 12.4999 15.0605 12.8313 14.7918 13.0999 14.4605 13.0999H6.8981C6.56672 13.0999 6.2981 12.8313 6.2981 12.4999z"}},{tag:"path",attrs:{fill:"currentColor",d:"M2.87279 5.8999C1.80504 5.8999.939453 6.76549.939453 7.83324.939453 8.90099 1.80504 9.76657 2.87279 9.76657 3.94054 9.76657 4.80612 8.90099 4.80612 7.83324 4.80612 6.76549 3.94054 5.8999 2.87279 5.8999zM2.13945 7.83324C2.13945 7.42823 2.46778 7.0999 2.87279 7.0999 3.2778 7.0999 3.60612 7.42823 3.60612 7.83324 3.60612 8.23824 3.2778 8.56657 2.87279 8.56657 2.46778 8.56657 2.13945 8.23824 2.13945 7.83324zM.939453 12.5002C.939453 11.4325 1.80504 10.5669 2.87279 10.5669 3.94054 10.5669 4.80612 11.4325 4.80612 12.5002 4.80612 13.568 3.94054 14.4336 2.87279 14.4336 1.80504 14.4336.939453 13.568.939453 12.5002zM2.87279 11.7669C2.46778 11.7669 2.13945 12.0952 2.13945 12.5002 2.13945 12.9052 2.46778 13.2336 2.87279 13.2336 3.2778 13.2336 3.60612 12.9052 3.60612 12.5002 3.60612 12.0952 3.2778 11.7669 2.87279 11.7669z",fillRule:"evenodd",clipRule:"evenodd"}}]},li=F.forwardRef(function(o,t){return F.createElement(Xe,Object.assign({},o,{id:"todo-list",ref:t,icon:da}))});li.displayName="TodoList";function di(o){var n;const{dataStream:t}=(n=o.body)!=null?n:{},e=[a.DataStreamTreeTokenType.TABLE_START,a.DataStreamTreeTokenType.TABLE_CELL_END,a.DataStreamTreeTokenType.TABLE_CELL_START,a.DataStreamTreeTokenType.TABLE_END,a.DataStreamTreeTokenType.TABLE_ROW_END,a.DataStreamTreeTokenType.TABLE_ROW_START,a.DataStreamTreeTokenType.COLUMN_BREAK,a.DataStreamTreeTokenType.PAGE_BREAK,a.DataStreamTreeTokenType.TAB,a.DataStreamTreeTokenType.DOCS_END,a.DataStreamTreeTokenType.CUSTOM_BLOCK];if(typeof t=="string")for(let i=0;i<t.length;i++){const s=t[i];if(!e.includes(s))return i}return 0}const Hn="COMPONENT_DOC_HEADER_FOOTER_PANEL",ae={panel:"univer-panel",optionsSection:"univer-options-section",optionsFormItem:"univer-options-form-item",optionsInput:"univer-options-input",optionsMarginSetting:"univer-options-margin-setting"};function ua(o,t,e){const{useFirstPageHeaderFooter:n,evenAndOddHeaders:i,defaultHeaderId:s,defaultFooterId:r,firstPageHeaderId:c,firstPageFooterId:A,evenPageHeaderId:l,evenPageFooterId:d}=o;return t===B.DocumentEditArea.HEADER?n===a.BooleanNumber.TRUE&&e===0?c:i===a.BooleanNumber.TRUE&&e%2===1?l:s:n===a.BooleanNumber.TRUE&&e===0?A:i===a.BooleanNumber.TRUE&&e%2===1?d:r}const ha=o=>{const t=E.useDependency(a.LocaleService),e=E.useDependency(a.IUniverInstanceService),n=E.useDependency(B.IRenderManagerService),i=E.useDependency(a.ICommandService),s=E.useDependency(E.ILayoutService),{unitId:r}=o,c=n.getRenderById(r).with(T.DocSelectionRenderService),[A,l]=F.useState({}),d=(h,m)=>{var b;l(O=>({...O,[m]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE}));const f=e.getUniverDocInstance(r),p=f==null?void 0:f.getSnapshot().documentStyle,S=(b=n.getRenderById(r))==null?void 0:b.with(x.DocSkeletonManagerService),I=S==null?void 0:S.getViewModel();if(p==null||I==null)return;const C=I.getEditArea();let y=!1;const R=c.getSegmentPage();let v=!1;if(m==="useFirstPageHeaderFooter"&&h===!0&&((C===B.DocumentEditArea.HEADER&&!p.firstPageHeaderId||C===B.DocumentEditArea.FOOTER&&!p.firstPageFooterId)&&(y=!0),y&&R===0&&(v=!0)),m==="evenAndOddHeaders"&&h===!0&&((C===B.DocumentEditArea.HEADER&&!p.evenPageHeaderId||C===B.DocumentEditArea.FOOTER&&!p.evenPageFooterId)&&(y=!0),y&&R%2===1&&(v=!0)),y){const _=a.Tools.generateRandomId(6);v&&c.setSegment(_),i.executeCommand(Lt,{unitId:r,segmentId:_,headerFooterProps:{[m]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE}})}else{const O=c.getSegmentPage(),_=c.getSegment(),w=ua({...p,[m]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE},C,O);w&&w!==_&&c.setSegment(w),i.executeCommand(Lt,{unitId:r,headerFooterProps:{[m]:h?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE}})}s.focus()},u=async(h,m)=>{l(f=>({...f,[m]:h})),await i.executeCommand(Lt,{unitId:r,headerFooterProps:{[m]:h}}),c.removeAllRanges(),c.blur()},g=()=>{i.executeCommand(Gn.id,{unitId:r})};return F.useEffect(()=>{const h=e.getUniverDocInstance(r),m=h==null?void 0:h.getSnapshot().documentStyle;if(m){const{marginHeader:f=0,marginFooter:p=0,useFirstPageHeaderFooter:S=a.BooleanNumber.FALSE,evenAndOddHeaders:I=a.BooleanNumber.FALSE}=m;l({marginHeader:f,marginFooter:p,useFirstPageHeaderFooter:S,evenAndOddHeaders:I})}},[r]),L.jsxs("div",{className:ae.options,children:[L.jsxs("div",{className:ae.optionsSection,children:[L.jsx("div",{className:ae.optionsFormItem,children:L.jsx(ne.Checkbox,{checked:A.useFirstPageHeaderFooter===a.BooleanNumber.TRUE,onChange:h=>{d(h,"useFirstPageHeaderFooter")},children:t.t("headerFooter.firstPageCheckBox")})}),L.jsx("div",{className:ae.optionsFormItem,children:L.jsx(ne.Checkbox,{checked:A.evenAndOddHeaders===a.BooleanNumber.TRUE,onChange:h=>{d(h,"evenAndOddHeaders")},children:t.t("headerFooter.oddEvenCheckBox")})})]}),L.jsxs("div",{className:ne.clsx(ae.optionsSection,ae.optionsMarginSetting),children:[L.jsxs("div",{className:ae.optionsMarginItem,children:[L.jsx("span",{children:t.t("headerFooter.headerTopMargin")}),L.jsx(ne.InputNumber,{min:0,max:200,precision:1,value:A.marginHeader,onChange:h=>{u(h,"marginHeader")},className:ae.optionsInput})]}),L.jsxs("div",{className:ae.optionsMarginItem,children:[L.jsx("span",{children:t.t("headerFooter.footerBottomMargin")}),L.jsx(ne.InputNumber,{min:0,max:200,precision:1,value:A.marginFooter,onChange:h=>{u(h,"marginFooter")},className:ae.optionsInput})]})]}),L.jsx("div",{className:ae.optionsSection,children:L.jsx(ne.Button,{onClick:g,children:t.t("headerFooter.closeHeaderFooter")})})]})},ga=()=>{var l;const o=E.useDependency(a.LocaleService),t=E.useDependency(B.IRenderManagerService),i=E.useDependency(a.IUniverInstanceService).getCurrentUniverDocInstance().getUnitId(),r=((l=t.getRenderById(i))==null?void 0:l.with(x.DocSkeletonManagerService)).getViewModel(),[c,A]=F.useState(!0);return F.useEffect(()=>{const d=r.getEditArea();A(d!==B.DocumentEditArea.BODY);const u=r.editAreaChange$.subscribe(g=>{g!=null&&A(g!==B.DocumentEditArea.BODY)});return()=>{u.unsubscribe()}},[]),L.jsx("div",{className:ae.panel,children:c?L.jsx(ha,{unitId:i}):L.jsx("div",{className:ae.panelDisableText,children:o.t("headerFooter.disableText")})})},ui=18,hi=200,Vn=6,ma=4;function fa(o,t){let{radius:e,width:n,height:i}=t;e=e!=null?e:0,n=n!=null?n:30,i=i!=null?i:30;let s=0;s=Math.min(e,n/2,i/2),o.beginPath(),o.moveTo(0,0),o.lineTo(n,0),o.lineTo(n,i-s),o.arc(n-s,i-s,s,0,Math.PI/2,!1),o.lineTo(0,i),o.lineTo(0,0),o.closePath(),t.fill&&(o.save(),o.fillStyle=t.fill,t.fillRule==="evenodd"?o.fill("evenodd"):o.fill(),o.restore())}class Qt extends B.Shape{constructor(e,n){super(e,n);M(this,"color");M(this,"text");this.color=n==null?void 0:n.color,this.text=n==null?void 0:n.text}static drawWith(e,n){const{text:i,color:s}=n;e.save(),e.font="13px Source Han Sans CN";const r=e.measureText(i).width,c=Math.min(r+2*Vn,hi);fa(e,{height:ui,width:c,radius:4,fill:s}),e.fillStyle="rgba(58, 96, 247, 1)";const A=Vn,l=ui-ma,d=hi-2*Vn;if(r>d){let u="",g=0;for(const h of i){const m=e.measureText(h).width;if(g+m<=d-e.measureText("...").width)u+=h,g+=m;else{u+="...";break}}e.fillText(u,A,l)}else e.fillText(i,A,l);e.restore()}_draw(e){Qt.drawWith(e,this)}}var pa=Object.getOwnPropertyDescriptor,Sa=(o,t,e,n)=>{for(var i=n>1?void 0:n?pa(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Oe=(o,t)=>(e,n)=>t(e,n,o);const gi="rgba(58, 96, 247, 1)",mi="rgba(58, 96, 247, 0.08)";var se=(o=>(o[o.FIRST_PAGE_HEADER=0]="FIRST_PAGE_HEADER",o[o.FIRST_PAGE_FOOTER=1]="FIRST_PAGE_FOOTER",o[o.DEFAULT_HEADER=2]="DEFAULT_HEADER",o[o.DEFAULT_FOOTER=3]="DEFAULT_FOOTER",o[o.EVEN_PAGE_HEADER=4]="EVEN_PAGE_HEADER",o[o.EVEN_PAGE_FOOTER=5]="EVEN_PAGE_FOOTER",o))(se||{});function Ia(o,t,e){const{documentStyle:n}=o.getDataModel().getSnapshot(),{defaultHeaderId:i,defaultFooterId:s,evenPageHeaderId:r,evenPageFooterId:c,firstPageHeaderId:A,firstPageFooterId:l,evenAndOddHeaders:d,useFirstPageHeaderFooter:u}=n;switch(t){case B.DocumentEditArea.BODY:return{createType:null,headerFooterId:null};case B.DocumentEditArea.HEADER:return u===a.BooleanNumber.TRUE&&!A?{createType:0,headerFooterId:null}:d===a.BooleanNumber.TRUE&&e%2===0&&!r?{createType:4,headerFooterId:null}:i?{createType:null,headerFooterId:i}:{createType:2,headerFooterId:null};case B.DocumentEditArea.FOOTER:return u===a.BooleanNumber.TRUE&&!l?{createType:1,headerFooterId:null}:d===a.BooleanNumber.TRUE&&e%2===0&&!c?{createType:5,headerFooterId:null}:s?{createType:null,headerFooterId:s}:{createType:3,headerFooterId:null};default:throw new Error(`Invalid editArea: ${t}`)}}let Wn=class extends a.Disposable{constructor(t,e,n,i,s,r,c,A,l){super();M(this,"_loadedMap",new WeakSet);this._context=t,this._commandService=e,this._editorService=n,this._instanceSrv=i,this._renderManagerService=s,this._docSkeletonManagerService=r,this._docSelectionRenderService=c,this._localeService=A,this._componentManager=l,this._initialize()}_initialize(){this._init(),this._drawHeaderFooterLabel(),this._initCustomComponents(),this._listenSwitchMode()}_listenSwitchMode(){this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(x.RichTextEditingMutation.id===t.id){const e=this._context.unit,i=this._docSkeletonManagerService.getViewModel().getEditArea(),s=e.getSnapshot().documentStyle.documentFlavor;i!==B.DocumentEditArea.BODY&&s===a.DocumentFlavor.MODERN&&this._commandService.executeCommand(Gn.id,{unitId:this._context.unitId})}}))}_initCustomComponents(){this._componentManager.get(Hn)||this.disposeWithMe(this._componentManager.register(Hn,ga))}_init(){const{unitId:t}=this._context,e=Se(this._context);e==null||e.document==null||this._loadedMap.has(e.document)||(this._initialMain(t),this._loadedMap.add(e.document))}_initialMain(t){const e=Se(this._context),{document:n}=e;this.disposeWithMe(n.onDblclick$.subscribeEvent(async i=>{if(this._isEditorReadOnly(t)||!this._isTraditionalMode())return;const{offsetX:s,offsetY:r}=i,{pageLayoutType:c=B.PageLayoutType.VERTICAL,pageMarginLeft:A,pageMarginTop:l}=n.getOffsetConfig(),d=this._getTransformCoordForDocumentOffset(s,r);if(d==null)return;const u=this._docSkeletonManagerService.getViewModel(),g=this._docSkeletonManagerService.getSkeleton(),h=u.getEditArea(),{editArea:m,pageNumber:f}=g.findEditAreaByCoord(d,c,A,l);if(h===m)return;u.setEditArea(m);const{createType:p,headerFooterId:S}=Ia(u,m,f);if(m===B.DocumentEditArea.BODY)this._docSelectionRenderService.setSegment(""),this._docSelectionRenderService.setSegmentPage(-1),this._docSelectionRenderService.setCursorManually(s,r);else if(p!=null){const C=a.Tools.generateRandomId(6);this._docSelectionRenderService.setSegment(C),this._docSelectionRenderService.setSegmentPage(f),await this._commandService.executeCommand(pi.id,{unitId:t,createType:p,segmentId:C})}else S!=null&&(this._docSelectionRenderService.setSegment(S),this._docSelectionRenderService.setSegmentPage(f),this._docSelectionRenderService.setCursorManually(s,r))}))}_getTransformCoordForDocumentOffset(t,e){const n=Se(this._context),{document:i,scene:s}=n,{documentTransform:r}=i.getOffsetConfig(),c=s.getViewports()[0];if(c==null)return;const A=c.transformVector2SceneCoord(B.Vector2.FromArray([t,e]));return r.clone().invert().applyPoint(A)}_drawHeaderFooterLabel(){const t=this._localeService;this._instanceSrv.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_DOC).subscribe(e=>{if(e==null)return;const n=e.getUnitId(),i=this._renderManagerService.getRenderById(n);if(this._editorService.isEditor(n)||this._instanceSrv.getUniverDocInstance(n)==null||i==null)return;const{mainComponent:s}=i,r=s;this.disposeWithMe(a.toDisposable(r.pageRender$.subscribe(c=>{if(this._editorService.isEditor(n)||!this._isTraditionalMode())return;const d=this._docSkeletonManagerService.getViewModel().getEditArea()===B.DocumentEditArea.BODY,{page:u,pageLeft:g,pageTop:h,ctx:m}=c,{pageWidth:f,pageHeight:p,marginTop:S,marginBottom:I}=u;if(m.save(),m.translate(g-.5,h-.5),d?(B.Rect.drawWith(m,{left:0,top:0,width:f,height:S,fill:"rgba(255, 255, 255, 0.5)"}),m.save(),m.translate(0,p-I),B.Rect.drawWith(m,{left:0,top:0,width:f,height:I,fill:"rgba(255, 255, 255, 0.5)"}),m.restore()):(m.save(),m.translate(0,S),B.Rect.drawWith(m,{left:0,top:S,width:f,height:p-S-I,fill:"rgba(255, 255, 255, 0.5)"}),m.restore()),!d){const C={dataArray:[{command:"M",points:[0,S]},{command:"L",points:[f,S]}],strokeWidth:1,stroke:gi},y={dataArray:[{command:"M",points:[0,p-I]},{command:"L",points:[f,p-I]}],strokeWidth:1,stroke:gi};B.Path.drawWith(m,C),B.Path.drawWith(m,y),m.translate(0,S+1),Qt.drawWith(m,{text:t.t("headerFooter.header"),color:mi}),m.translate(0,p-S-I),Qt.drawWith(m,{text:t.t("headerFooter.footer"),color:mi})}m.restore()})))})}_isEditorReadOnly(t){const e=this._editorService.getEditor(t);return e?e.isReadOnly():!1}_isTraditionalMode(){return this._context.unit.getSnapshot().documentStyle.documentFlavor===a.DocumentFlavor.TRADITIONAL}};Wn=Sa([Oe(1,a.ICommandService),Oe(2,ce),Oe(3,a.IUniverInstanceService),Oe(4,B.IRenderManagerService),Oe(5,a.Inject(x.DocSkeletonManagerService)),Oe(6,a.Inject(T.DocSelectionRenderService)),Oe(7,a.Inject(a.LocaleService)),Oe(8,a.Inject(E.ComponentManager))],Wn);const Kn={id:"sidebar.operation.doc-header-footer-panel",type:a.CommandType.OPERATION,handler:async(o,t)=>{const e=o.get(E.ISidebarService),n=o.get(a.LocaleService);switch(t.value){case"open":e.open({header:{title:n.t("headerFooter.panel")},children:{label:Hn},onClose:()=>{},width:400});break;case"close":default:e.close();break}return!0}};function fi(){return{dataStream:`\r
23
+ `,textRuns:[{st:0,ed:0,ts:{fs:9}}],customBlocks:[],paragraphs:[{startIndex:0,paragraphStyle:{spaceAbove:{v:0},lineSpacing:1.5,spaceBelow:{v:0}}}],sectionBreaks:[{startIndex:1}]}}function zn(o,t,e,n){const i=a.JSONX.getInstance(),s=6,r=o!=null?o:a.Tools.generateRandomId(s),c=t===se.DEFAULT_HEADER||t===se.FIRST_PAGE_HEADER||t===se.EVEN_PAGE_HEADER,A=i.insertOp([c?"headers":"footers",r],{[c?"headerId":"footerId"]:r,body:fi()});n.push(A);const l=a.Tools.generateRandomId(s),d=i.insertOp([c?"footers":"headers",l],{[c?"footerId":"headerId"]:l,body:fi()});n.push(d);let u="defaultHeaderId",g="defaultFooterId";switch(t){case se.DEFAULT_HEADER:u="defaultHeaderId",g="defaultFooterId";break;case se.DEFAULT_FOOTER:u="defaultFooterId",g="defaultHeaderId";break;case se.FIRST_PAGE_HEADER:u="firstPageHeaderId",g="firstPageFooterId";break;case se.FIRST_PAGE_FOOTER:u="firstPageFooterId",g="firstPageHeaderId";break;case se.EVEN_PAGE_HEADER:u="evenPageHeaderId",g="evenPageFooterId";break;case se.EVEN_PAGE_FOOTER:u="evenPageFooterId",g="evenPageHeaderId";break;default:throw new Error(`Unknown header footer type: ${t}`)}for(const[h,m]of[[u,r],[g,l]])if(e[h]!=null){const f=i.replaceOp(["documentStyle",h],e[h],m);n.push(f)}else{const f=i.insertOp(["documentStyle",h],m);n.push(f)}return n}const Lt="doc.command.core-header-footer",pi={id:Lt,type:a.CommandType.COMMAND,handler:async(o,t)=>{var y;const e=o.get(a.ICommandService),n=o.get(a.IUniverInstanceService),i=o.get(B.IRenderManagerService),{unitId:s,segmentId:r,createType:c,headerFooterProps:A}=t,l=(y=i.getRenderById(s))==null?void 0:y.with(x.DocSkeletonManagerService),d=n.getUniverDocInstance(s),u=l==null?void 0:l.getViewModel();if(d==null||u==null)return!1;const g=u.getEditArea(),{documentStyle:h}=d.getSnapshot(),m=(A==null?void 0:A.marginFooter)!=null||(A==null?void 0:A.marginHeader)!=null,f=[{startOffset:0,endOffset:0,collapsed:!0}],p={id:x.RichTextEditingMutation.id,params:{unitId:s,actions:[],textRanges:f,debounce:!0}};m&&(p.params.noNeedSetTextRange=!0);const S=a.JSONX.getInstance(),I=[];return c!=null&&zn(r,c,h,I),A!=null&&Object.keys(A).forEach(R=>{const v=A[R],b=h[R];if(v===b)return;let O;if(b===void 0?O=S.insertOp(["documentStyle",R],v):O=S.replaceOp(["documentStyle",R],b,v),I.push(O),R==="useFirstPageHeaderFooter"&&v===a.BooleanNumber.TRUE&&!h.firstPageHeaderId){const _=g===B.DocumentEditArea.HEADER?se.FIRST_PAGE_HEADER:se.FIRST_PAGE_FOOTER;zn(r,_,h,I)}else if(R==="evenAndOddHeaders"&&v===a.BooleanNumber.TRUE&&!h.evenPageHeaderId){const _=g===B.DocumentEditArea.HEADER?se.EVEN_PAGE_HEADER:se.EVEN_PAGE_FOOTER;zn(r,_,h,I)}}),I.length===0?!1:(p.params.actions=I.reduce((R,v)=>a.JSONX.compose(R,v),null),!!e.syncExecuteCommand(p.id,p.params))}},jn={id:"doc.command.open-header-footer-panel",type:a.CommandType.COMMAND,handler:async(o,t)=>o.get(a.ICommandService).executeCommand(Kn.id,{value:"open"})},Gn={id:"doc.command.close-header-footer",type:a.CommandType.COMMAND,handler:async(o,t)=>{var m;const e=o.get(a.ICommandService),n=o.get(B.IRenderManagerService),i=o.get(x.DocSelectionManagerService),s=o.get(a.IUniverInstanceService),{unitId:r}=t,c=n.getRenderById(r);if(c==null)return!1;const{scene:A}=c,l=A.getTransformerByCreate(),d=c.with(x.DocSkeletonManagerService),u=c.with(T.DocSelectionRenderService),g=d==null?void 0:d.getSkeleton(),h=d==null?void 0:d.getViewModel();return h==null||g==null?!1:(i.replaceDocRanges([]),l.clearSelectedObjects(),u.setSegment(""),u.setSegmentPage(-1),h.setEditArea(B.DocumentEditArea.BODY),g.calculate(),(m=c.mainComponent)==null||m.makeDirty(!0),queueMicrotask(()=>{const f=s.getUnit(r),p=f==null?void 0:f.getSnapshot();if(p==null)return;const S=di(p);i.replaceDocRanges([{startOffset:S,endOffset:S}])}),e.executeCommand(Kn.id,{value:"close"}),!0)}},Ye="UI_PLUGIN_DOCS",Xn=`${Ye}_COLOR_PICKER_COMPONENT`,Si=`${Ye}_FONT_FAMILY_COMPONENT`,Ii=`${Ye}_FONT_FAMILY_ITEM_COMPONENT`,Ei=`${Ye}_FONT_SIZE_COMPONENT`,Yn={docListTypePicker:"univer-doc-list-type-picker",docListTypePickerItem:"univer-doc-list-type-picker-item",docListTypePickerItemActive:"univer-doc-list-type-picker-item-active"},vi=o=>{const{value:t,onChange:e,options:n}=o;return L.jsx("div",{className:ne.clsx(Yn.docListTypePicker,"univer-theme"),children:n.map(i=>L.jsx("img",{className:Yn.docListTypePickerItem+(t===i.value?`
23
24
  ${Yn.docListTypePickerItemActive}
24
- `:""),onClick:()=>{e(i.value)},src:i.img},i.value))})},ya=[{value:a.PresetListType.ORDER_LIST,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_1,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_2,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_3,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_4,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_5,img:"data:image/jpeg;base64,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"}],ba=o=>Q.jsx(Ti,{...o,options:ya}),Oa=[{value:a.PresetListType.BULLET_LIST,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_1,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_2,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_3,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_4,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_5,img:"data:image/jpeg;base64,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"}],Ra=o=>Q.jsx(Ti,{...o,options:Oa}),yi=`${Ye}_ORDER_LIST_TYPE_COMPONENT`,bi=`${Ye}_BULLET_LIST_TYPE_COMPONENT`,xe={id:"doc.command.tab",type:a.CommandType.COMMAND,async handler(o,t){const n=o.get(T.DocAutoFormatService).onAutoFormat(xe.id,t);return(await a.sequenceExecuteAsync(n,o.get(a.ICommandService))).result}},ut={id:"doc.command.after-space",type:a.CommandType.COMMAND,async handler(o){const e=o.get(T.DocAutoFormatService).onAutoFormat(ut.id);return(await a.sequenceExecuteAsync(e,o.get(a.ICommandService))).result}},qe={id:"doc.command.enter",type:a.CommandType.COMMAND,async handler(o){const e=o.get(T.DocAutoFormatService).onAutoFormat(qe.id);return(await a.sequenceExecuteAsync(e,o.get(a.ICommandService))).result}};function Z(o){return o.getContextValue(a.FOCUSING_DOC)&&o.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&!o.getContextValue(a.FOCUSING_COMMON_DRAWINGS)}function Da(o){return o.getContextValue(a.FOCUSING_DOC)&&o.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&!o.getContextValue(a.FOCUSING_COMMON_DRAWINGS)}const Ba={id:xe.id,binding:E.KeyCode.TAB,preconditions:Z},Ma={id:xe.id,binding:E.KeyCode.TAB|E.MetaKeys.SHIFT,preconditions:Z,staticParameters:{shift:!0}};var xa=Object.getOwnPropertyDescriptor,_a=(o,t,e,n)=>{for(var i=n>1?void 0:n?xa(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},qn=(o,t)=>(e,n)=>t(e,n,o);const Na=11,Pa=9,kt={ff:"Arial",fs:Na};let Ce=class extends a.Disposable{constructor(t,e,n){super();B(this,"_cacheStyle",null);this._textSelectionManagerService=t,this._univerInstanceService=e,this._renderManagerService=n,this._init()}_init(){this._listenDocRangeChange()}_listenDocRangeChange(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(()=>{this._clearStyleCache()}))}getStyleCache(){return this._cacheStyle}getDefaultStyle(){var r;const t=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(t==null)return{...kt};const e=t==null?void 0:t.getUnitId(),n=(r=this._renderManagerService.getRenderById(e))==null?void 0:r.with(M.DocSkeletonManagerService),i=n==null?void 0:n.getViewModel();return i==null?{...kt}:i.getEditArea()===R.DocumentEditArea.BODY?{...kt}:{...kt,fs:Pa}}setStyleCache(t){this._cacheStyle={...this._cacheStyle,...t}}_clearStyleCache(){this._cacheStyle=null}};Ce=_a([qn(0,a.Inject(M.DocSelectionManagerService)),qn(1,a.IUniverInstanceService),qn(2,R.IRenderManagerService)],Ce);function de(o,t,e){return e.executeCommand(Te.id,{preCommandId:o,...t!=null?t:{}})}const Oi="doc.command.set-inline-format-bold",_e={id:Oi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Oi,t,e)}},Ri="doc.command.set-inline-format-italic",Ne={id:Ri,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Ri,t,e)}},Di="doc.command.set-inline-format-underline",Pe={id:Di,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Di,t,e)}},Bi="doc.command.set-inline-format-strikethrough",Ue={id:Bi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Bi,t,e)}},Mi="doc.command.set-inline-format-subscript",Re={id:Mi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Mi,t,e)}},xi="doc.command.set-inline-format-superscript",we={id:xi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(xi,t,e)}},_i="doc.command.set-inline-format-fontsize",Qe={id:_i,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(_i,t,e)}},Ni="doc.command.set-inline-format-font-family",Le={id:Ni,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Ni,t,e)}},Pi="doc.command.set-inline-format-text-color",Fe={id:Pi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Pi,t,e)}},Ui="doc.command.set-inline-format-text-background-color",ke={id:Ui,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Ui,t,e)}},wi="doc.command.reset-inline-format-text-background-color",Je={id:wi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(wi,t,e)}},Jn={[_e.id]:"bl",[Ne.id]:"it",[Pe.id]:"ul",[Ue.id]:"st",[Qe.id]:"fs",[Le.id]:"ff",[Fe.id]:"cl",[ke.id]:"bg",[Je.id]:"bg",[Re.id]:"va",[we.id]:"va"},Te={id:"doc.command.set-inline-format",type:a.CommandType.COMMAND,handler:async(o,t)=>{var O;const{value:e,preCommandId:n}=t,i=o.get(a.ICommandService),s=o.get(M.DocSelectionManagerService),r=o.get(a.IUniverInstanceService),c=o.get(Ce),A=s.getDocRanges(),l=(O=A.find(v=>v.isActive))!=null?O:A[0];if(A.length===0)return!1;const{segmentId:d}=A[0],u=r.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(u==null)return!1;const g=u.getSelfOrHeaderFooterModel(d).getBody();if(g==null)return!1;const h=u.getUnitId();let f;switch(n){case _e.id:case Ne.id:case Pe.id:case Ue.id:case Re.id:case we.id:{const v=c.getDefaultStyle(),y=Li(g,l,v);f=wa(y,n);break}case Qe.id:case Le.id:{f=e;break}case Fe.id:case ke.id:{f={rgb:e};break}case Je.id:{f={rgb:null};break}default:throw new Error(`Unknown command: ${n} in handleInlineFormat`)}const m={id:M.RichTextEditingMutation.id,params:{unitId:h,actions:[],textRanges:A}},p=new a.TextX,S=a.JSONX.getInstance(),I=new a.MemoryCursor;I.reset();for(const v of A){let{startOffset:y,endOffset:x,rangeType:_}=v;if(y==null||x==null)continue;if(_===a.DOC_RANGE_TYPE.RECT&&(y=y-1),y===x){const P=c.getStyleCache(),U=Jn[n];c.setStyleCache({[U]:(P==null?void 0:P[U])!==void 0?Qi(P,U,n):f});continue}const w={dataStream:"",textRuns:[{st:0,ed:x-y,ts:{[Jn[n]]:f}}]},D=y-I.cursor;D!==0&&p.push({t:a.TextXActionType.RETAIN,len:D}),p.push({t:a.TextXActionType.RETAIN,body:w,len:x-y}),I.reset(),I.moveCursor(x)}const C=q(u,d);return m.params.actions=S.editOp(p.serialize(),C),!!i.syncExecuteCommand(m.id,m.params)}};function Ua(o){return o!==null&&typeof o=="object"}function Qi(o,t,e){if(/bl|it/.test(t))return(o==null?void 0:o[t])===a.BooleanNumber.TRUE?a.BooleanNumber.FALSE:a.BooleanNumber.TRUE;if(/ul|st/.test(t))return Ua(o==null?void 0:o[t])&&(o==null?void 0:o[t]).s===a.BooleanNumber.TRUE?{s:a.BooleanNumber.FALSE}:{s:a.BooleanNumber.TRUE};if(/va/.test(t))return e===Re.id?(o==null?void 0:o[t])===a.BaselineOffset.SUBSCRIPT?a.BaselineOffset.NORMAL:a.BaselineOffset.SUBSCRIPT:(o==null?void 0:o[t])===a.BaselineOffset.SUPERSCRIPT?a.BaselineOffset.NORMAL:a.BaselineOffset.SUPERSCRIPT}function Li(o,t,e){var l,d,u,g,h,f,m,p,S,I,C,b,O,v;const{startOffset:n,endOffset:i,collapsed:s}=t;if(s){const y=(l=o.textRuns)!=null?l:[];let x=null;for(let _=y.length-1;_>=0;_--){const w=y[_];if(w.st<n&&n<=w.ed){x=w;break}}return x!=null&&x.ts?{...e,...x.ts}:e}const{textRuns:r=[]}=a.getBodySlice(o,n,i),c=a.Tools.deepClone(e);c.fs=Math.max(c.fs,...r.map(y=>{var x,_;return(_=(x=y==null?void 0:y.ts)==null?void 0:x.fs)!=null?_:c.fs})),c.ff=(g=(u=(d=r.find(y=>{var x;return((x=y.ts)==null?void 0:x.ff)!=null}))==null?void 0:d.ts)==null?void 0:u.ff)!=null?g:c.ff,c.it=r.length&&r.every(y=>{var x;return((x=y.ts)==null?void 0:x.it)===a.BooleanNumber.TRUE})?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE,c.bl=r.length&&r.every(y=>{var x;return((x=y.ts)==null?void 0:x.bl)===a.BooleanNumber.TRUE})?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE,c.ul=r.length&&r.every(y=>{var x,_;return((_=(x=y.ts)==null?void 0:x.ul)==null?void 0:_.s)===a.BooleanNumber.TRUE})?(h=r[0].ts)==null?void 0:h.ul:c.ul,c.st=r.length&&r.every(y=>{var x,_;return((_=(x=y.ts)==null?void 0:x.st)==null?void 0:_.s)===a.BooleanNumber.TRUE})?(f=r[0].ts)==null?void 0:f.st:c.st,c.bg=(S=(p=(m=r.find(y=>{var x;return((x=y.ts)==null?void 0:x.bg)!=null}))==null?void 0:m.ts)==null?void 0:p.bg)!=null?S:c.bg,c.cl=(b=(C=(I=r.find(y=>{var x;return((x=y.ts)==null?void 0:x.cl)!=null}))==null?void 0:I.ts)==null?void 0:C.cl)!=null?b:c.cl;const A=r.filter(y=>{var x;return((x=y==null?void 0:y.ts)==null?void 0:x.va)!=null});if(A.length>0&&A.length===r.length){const y=(O=A[0].ts)==null?void 0:O.va;let x=!0;for(let _=1;_<A.length;_++)if(((v=A[_].ts)==null?void 0:v.va)!==y){x=!1;break}x&&(c.va=y)}return c}function wa(o,t){const e=Jn[t];return Qi(o,e,t)}const Ze={id:"doc.command.list-operation",type:a.CommandType.COMMAND,handler:(o,t)=>{var I,C;const e=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=t.listType,r=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),c=(I=e.getDocRanges())!=null?I:[];if(r==null||c.length===0)return!1;const A=c[0].segmentId,l=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(l==null)return!1;const d=$e(c,l),u=r.getUnitId(),g={id:M.RichTextEditingMutation.id,params:{unitId:u,actions:[],textRanges:c,isEditing:!1}};new a.MemoryCursor().reset();const f=a.BuildTextUtils.paragraph.bullet.switch({paragraphs:d,listType:s,document:r,segmentId:A}),m=a.JSONX.getInstance(),p=q(r,A);return g.params.actions=m.editOp(f.serialize(),p),!!i.syncExecuteCommand(g.id,g.params)}},ht={id:"doc.command.change-list-type",type:a.CommandType.COMMAND,handler:(o,t)=>{var I,C;const e=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),{listType:s}=t,r=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),c=e.getDocRanges();if(r==null||c==null||!c.length)return!1;const{segmentId:A}=c[0],l=(I=e.getDocRanges())!=null?I:[],d=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(d==null)return!1;const u=$e(l,d),g=r.getUnitId(),h=a.BuildTextUtils.paragraph.bullet.set({paragraphs:u,listType:s,segmentId:A,document:r});if(!h)return!1;const f=a.JSONX.getInstance(),m={id:M.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:l,isEditing:!1}},p=q(r,A);return m.params.actions=f.editOp(h.serialize(),p),!!i.syncExecuteCommand(m.id,m.params)}};var gt=(o=>(o[o.increase=1]="increase",o[o.decrease=-1]="decrease",o))(gt||{});const Ht={id:"doc.command.change-list-nesting-level",type:a.CommandType.COMMAND,handler:(o,t)=>{var I,C;if(!t)return!1;const{type:e}=t,n=o.get(M.DocSelectionManagerService),i=o.get(a.IUniverInstanceService),s=o.get(a.ICommandService),r=i.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),c=n.getActiveTextRange();if(r==null||c==null)return!1;const{segmentId:A}=c,l=(I=n.getDocRanges())!=null?I:[],d=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(d==null)return!1;const u=Kt(c,d),g=r.getUnitId(),h=a.JSONX.getInstance(),f=a.BuildTextUtils.paragraph.bullet.changeNestLevel({paragraphs:u,type:e,segmentId:A,document:r}),m={id:M.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:l,isEditing:!1}},p=q(r,A);return m.params.actions=h.editOp(f.serialize(),p),!!s.syncExecuteCommand(m.id,m.params)}},mt={id:"doc.command.bullet-list",type:a.CommandType.COMMAND,handler:(o,t)=>{const e=o.get(a.ICommandService);return t!=null&&t.value?e.syncExecuteCommand(ht.id,{listType:t.value}):e.syncExecuteCommand(Ze.id,{listType:a.PresetListType.BULLET_LIST})}},Vt={id:"doc.command.check-list",type:a.CommandType.COMMAND,handler:(o,t)=>{const e=o.get(a.ICommandService);return t!=null&&t.value?e.syncExecuteCommand(ht.id,{listType:t.value}):e.syncExecuteCommand(Ze.id,{listType:a.PresetListType.CHECK_LIST})}},Wt={id:"doc.command.toggle-check-list",type:a.CommandType.COMMAND,handler:(o,t)=>{var m;if(!t)return!1;const e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),{index:i,segmentId:s,textRanges:r}=t,c=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(c==null||((m=c.getSelfOrHeaderFooterModel(s).getBody())==null?void 0:m.paragraphs)==null)return!1;const l=c.getUnitId(),d={id:M.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:r!=null?r:[],segmentId:s,isEditing:!1}},u=a.BuildTextUtils.paragraph.bullet.toggleChecklist({document:c,paragraphIndex:i,segmentId:s});if(!u)return!1;const g=a.JSONX.getInstance(),h=q(c,s);return d.params.actions=g.editOp(u.serialize(),h),!!n.syncExecuteCommand(d.id,d.params)}},ft={id:"doc.command.order-list",type:a.CommandType.COMMAND,handler:(o,t)=>{const e=o.get(a.ICommandService);return t!=null&&t.value?e.syncExecuteCommand(ht.id,{listType:t.value}):e.syncExecuteCommand(Ze.id,{listType:a.PresetListType.ORDER_LIST})}},Zn={id:"doc.command.quick-list",type:a.CommandType.COMMAND,handler(o,t){var G,J,ee,$,j;if(!t)return!1;const e=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=e.getActiveTextRange();if(s==null||r==null)return!1;const{segmentId:c}=r,{listType:A,paragraph:l}=t,{paragraphStart:d,paragraphEnd:u}=l,g=new a.TextX,h=a.JSONX.getInstance(),{defaultTabStop:f=36}=s.getSnapshot().documentStyle,m=(J=(G=s.getSelfOrHeaderFooterModel(c).getBody())==null?void 0:G.sectionBreaks)!=null?J:[],{startIndex:p,paragraphStyle:S={}}=l,{indentFirstLine:I,snapToGrid:C,indentStart:b}=S,O=a.PRESET_LIST_TYPE[A].nestingLevel[0].paragraphProperties||{},{hanging:v,indentStart:y}=O,x=O.textStyle,{charSpace:_,gridType:w}=Qa(p,m)||{charSpace:0,gridType:a.GridType.LINES},D=R.getCharSpaceApply(_,f,w,C);let U=a.Tools.generateRandomId(6);const H=($=(ee=s.getBody())==null?void 0:ee.paragraphs)!=null?$:[],k=H.findIndex(Y=>Y.startIndex===l.startIndex),L=H[k-1],z=H[k+1];L&&L.bullet&&L.bullet.listType.indexOf(A)===0?U=L.bullet.listId:z&&z.bullet&&z.bullet.listType.indexOf(A)===0&&(U=z.bullet.listId);const W={id:M.RichTextEditingMutation.id,params:{unitId:s.getUnitId(),actions:[],textRanges:[{startOffset:d,endOffset:d,collapsed:!0}],isEditing:!1}};g.push({t:a.TextXActionType.RETAIN,len:d}),g.push({t:a.TextXActionType.DELETE,len:u-d}),g.push({t:a.TextXActionType.RETAIN,len:1,body:{dataStream:"",paragraphs:[{startIndex:0,paragraphStyle:{...S,textStyle:{...S.textStyle,...x},indentFirstLine:void 0,hanging:v,indentStart:{v:R.getNumberUnitValue(y,D)-R.getNumberUnitValue(v,D)+R.getNumberUnitValue(I,D)+R.getNumberUnitValue(b,D)}},bullet:{...(j=l.bullet)!=null?j:{nestingLevel:0,textStyle:{fs:20}},listType:A,listId:U}}]}});const V=q(s,c);return W.params.actions=h.editOp(g.serialize(),V),!!i.syncExecuteCommand(W.id,W.params)}};function Kt(o,t){const{startOffset:e,endOffset:n}=o,i=[];let s=-1;for(const r of t){const{startIndex:c}=r;(e>s&&e<=c||n>s&&n<=c||c>=e&&c<=n)&&i.push(r),s=c}return i}function $e(o,t){const e=[];for(const n of o){const i=Kt(n,t);e.push(...i)}return e}function Qa(o,t){const e=t.sort(a.sortRulesFactory("startIndex"));for(let n=0;n<e.length;n++){const i=t[n];if(i.startIndex>=o)return i}}const ge={id:"doc.command.align-action",type:a.CommandType.COMMAND,handler:(o,t)=>{var C;const e=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),{alignType:s}=t,r=n.getCurrentUniverDocInstance();if(r==null)return!1;const c=e.getDocRanges();if(c.length===0)return!1;const A=c[0].segmentId,l=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(l==null)return!1;const d=$e(c,l),u=r.getUnitId(),g=d.every(b=>{var O;return((O=b.paragraphStyle)==null?void 0:O.horizontalAlign)===s}),h={id:M.RichTextEditingMutation.id,params:{unitId:u,actions:[],textRanges:c}},f=new a.MemoryCursor;f.reset();const m=new a.TextX,p=a.JSONX.getInstance();for(const b of d){const{startIndex:O}=b;m.push({t:a.TextXActionType.RETAIN,len:O-f.cursor});const v={...b.paragraphStyle,horizontalAlign:g?a.HorizontalAlign.UNSPECIFIED:s};m.push({t:a.TextXActionType.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...b,paragraphStyle:v,startIndex:0}]},coverType:a.UpdateDocsAttributeType.REPLACE}),f.moveCursorTo(O+1)}const S=q(r,A);return h.params.actions=p.editOp(m.serialize(),S),!!i.syncExecuteCommand(h.id,h.params)}},pt={id:"doc.command.align-left",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.LEFT})},St={id:"doc.command.align-center",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.CENTER})},It={id:"doc.command.align-right",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.RIGHT})},Et={id:"doc.command.align-justify",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.JUSTIFIED})},La={id:_e.id,binding:E.KeyCode.B|E.MetaKeys.CTRL_COMMAND,preconditions:Z},Fa={id:Ne.id,binding:E.KeyCode.I|E.MetaKeys.CTRL_COMMAND,preconditions:Z},ka={id:Pe.id,binding:E.KeyCode.U|E.MetaKeys.CTRL_COMMAND,preconditions:Z},Ha={id:Ue.id,binding:E.KeyCode.X|E.MetaKeys.SHIFT|E.MetaKeys.CTRL_COMMAND,preconditions:Z},Va={id:Re.id,binding:E.KeyCode.COMMA|E.MetaKeys.CTRL_COMMAND,preconditions:Z},Wa={id:we.id,binding:E.KeyCode.PERIOD|E.MetaKeys.CTRL_COMMAND,preconditions:Z},Ka={id:pt.id,binding:E.KeyCode.L|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:Z},za={id:It.id,binding:E.KeyCode.R|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:Z},ja={id:St.id,binding:E.KeyCode.E|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:Z},Ga={id:Et.id,binding:E.KeyCode.J|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:Z},Xa={id:ft.id,binding:E.KeyCode.Digit7|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:Z},Ya={id:mt.id,binding:E.KeyCode.Digit8|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:Z},qa={docCountBar:"univer-doc-count-bar"},Ja=(o,t)=>{const e=o.get(a.IUniverInstanceService).getUniverDocInstance(t.unitId),n=(e==null?void 0:e.zoomRatio)||1;return{...a.Tools.deepClone(t),zoomRatio:n}},ue={id:"doc.operation.set-zoom-ratio",type:a.CommandType.OPERATION,handler:(o,t)=>{const e=o.get(a.IUniverInstanceService).getUniverDocInstance(t.unitId);if(!e)return!1;const n=e.getSnapshot();return n.settings==null?n.settings={zoomRatio:t.zoomRatio}:n.settings.zoomRatio=t.zoomRatio,!0}},Za=[50,80,100,130,150,170,200,400],$a=[10,400];function er(){const o=E.useDependency(a.ICommandService),t=E.useDependency(a.IUniverInstanceService),e=F.useMemo(()=>t.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_DOC),[]),n=E.useObservable(e),i=F.useCallback(()=>{var l,d;if(!n)return 100;const A=((d=(l=n.getSettings())==null?void 0:l.zoomRatio)!=null?d:1)*100;return Math.round(A)},[n]),[s,r]=F.useState(()=>i());F.useEffect(()=>(r(i()),o.onCommandExecuted(l=>{if(l.id===ue.id){const d=i();r(d)}}).dispose),[o,i]);function c(A){if(r(A),n==null)return;const l=A/100;o.executeCommand(ue.id,{unitId:n.getUnitId(),zoomRatio:l})}return Q.jsx(ae.Slider,{min:$a[0],value:s,shortcuts:Za,onChange:c})}function tr(o){return Q.jsx("section",{className:qa.docCountBar,children:Q.jsx(er,{})})}const nr={docFooterContainer:"univer-doc-footer-container"},or=()=>Q.jsxs("div",{className:nr.docFooterContainer,children:[Q.jsx("div",{}),Q.jsx(tr,{})]}),$n="docs-ui.config",Fi={layout:{docContainerConfig:ko,toolbarConfig:Fo}};var zt=(o=>(o[o.ABOVE=0]="ABOVE",o[o.BELLOW=1]="BELLOW",o))(zt||{}),eo=(o=>(o[o.LEFT=0]="LEFT",o[o.RIGHT=1]="RIGHT",o))(eo||{});function ir(o,t){let e=a.DataStreamTreeTokenType.TABLE_START;const n=[],i=[];for(let s=0;s<o;s++){e+=a.DataStreamTreeTokenType.TABLE_ROW_START;for(let r=0;r<t;r++)e+=`${a.DataStreamTreeTokenType.TABLE_CELL_START}\r
25
- ${a.DataStreamTreeTokenType.TABLE_CELL_END}`,n.push({startIndex:e.length-3,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),i.push({startIndex:e.length-2});e+=a.DataStreamTreeTokenType.TABLE_ROW_END}return e+=a.DataStreamTreeTokenType.TABLE_END,{dataStream:e,paragraphs:n,sectionBreaks:i}}function jt(){return{margin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}}}}function Gt(o){const t=jt();return{tableCells:[...new Array(o).fill(null).map(()=>a.Tools.deepClone(t))],trHeight:{val:{v:30},hRule:a.TableRowHeightRule.AUTO}}}function Xt(o){return{size:{type:a.TableSizeType.SPECIFIED,width:{v:o}}}}function to(o,t,e){const n=Xt(e/t),i=Gt(t),s=[...new Array(o).fill(null).map(()=>a.Tools.deepClone(i))],r=[...new Array(t).fill(null).map(()=>a.Tools.deepClone(n))],c=a.generateRandomId(6);return{tableRows:s,tableColumns:r,tableId:c,align:a.TableAlignmentType.START,indent:{v:0},textWrap:a.TableTextWrapType.NONE,position:{positionH:{relativeFrom:a.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:a.ObjectRelativeFromV.PAGE,posOffset:0}},dist:{distB:0,distL:0,distR:0,distT:0},cellMargin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}},size:{type:a.TableSizeType.UNSPECIFIED,width:{v:e}}}}function vt(o,t){if(!o&&!t)return null;if(t&&t.length>0){let e=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;const i="";for(const s of t){const{startOffset:r,endOffset:c,segmentId:A}=s;r==null||c==null||A==null||(e=Math.min(e,r),n=Math.max(n,c))}if(Number.isFinite(e)&&Number.isFinite(n))return{startOffset:e,endOffset:n,segmentId:i}}else if(o){const{startOffset:e,endOffset:n,segmentId:i}=o;return e==null||n==null||i==null?null:{startOffset:e,endOffset:n,segmentId:i}}}function sr(o){let t=a.DataStreamTreeTokenType.TABLE_ROW_START;const e=[],n=[];for(let i=0;i<o;i++)t+=`${a.DataStreamTreeTokenType.TABLE_CELL_START}\r
26
- ${a.DataStreamTreeTokenType.TABLE_CELL_END}`,e.push({startIndex:t.length-3,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),n.push({startIndex:t.length-2});return t+=a.DataStreamTreeTokenType.TABLE_ROW_END,{dataStream:t,paragraphs:e,sectionBreaks:n}}function ar(){const o=`${a.DataStreamTreeTokenType.TABLE_CELL_START}\r
27
- ${a.DataStreamTreeTokenType.TABLE_CELL_END}`,t=[],e=[];return t.push({startIndex:1,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),e.push({startIndex:2}),{dataStream:o,paragraphs:t,sectionBreaks:e}}function rr(o,t,e){var u,g,h;const{startOffset:n,endOffset:i,segmentId:s}=o,r=e.getSelfOrHeaderFooterViewModel(s),c=t===0?n:i;let A=null;const l=(h=(g=(u=e.getBody())==null?void 0:u.tables)==null?void 0:g.find(f=>c>=f.startIndex&&c<=f.endIndex))==null?void 0:h.tableId;let d=0;for(const f of r.getChildren()){for(const m of f.children){const{children:p}=m,S=p[0];if(S){for(const I of S.children)if(I.startIndex<=c&&c<=I.endIndex){d=S.children.indexOf(I),A=I;break}}if(A)break}if(A)break}return A==null||l==null?null:{offset:t===0?A.startIndex:A.endIndex+1,colCount:A.children.length,tableId:l,insertRowIndex:t===0?d:d+1}}function cr(o,t,e){var h,f,m;const{startOffset:n,endOffset:i,segmentId:s}=o,r=e.getSelfOrHeaderFooterViewModel(s),c=t===0?n:i,A=(m=(f=(h=e.getBody())==null?void 0:h.tables)==null?void 0:f.find(p=>c>=p.startIndex&&c<=p.endIndex))==null?void 0:m.tableId,l=[];let d=null,u=-1;for(const p of r.getChildren()){for(const S of p.children){const{children:I}=S,C=I[0];if(C){if(c<C.startIndex||c>C.endIndex)continue;d=C;for(const b of C.children){for(const O of b.children){const v=b.children.indexOf(O);if(c>=O.startIndex&&c<=O.endIndex){u=v;break}}if(u!==-1)break}}if(d)break}if(d)break}if(d==null||A==null||u===-1)return null;let g=0;for(const p of d.children){const S=p.children[u],I=t===0?S.startIndex:S.endIndex+1;l.push(I-g),g=I}return{offsets:l,tableId:A,columnIndex:u,rowCount:d.children.length}}function Ar(o,t,e){const n=[];let i=t[e].size.width.v,s=0;for(let r=0;r<t.length;r++)s+=t[r].size.width.v;s+=i;for(let r=0;r<t.length;r++)n.push(t[r].size.width.v/s*o);return i=i/s*o,{widths:n,newColWidth:i}}function ki(o,t){var g,h,f;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(f=(h=(g=t.getBody())==null?void 0:g.tables)==null?void 0:h.find(m=>e>=m.startIndex&&n<=m.endIndex))==null?void 0:f.tableId,c=[];let A=-1,l=0,d=-1,u=!1;for(const m of s.getChildren()){for(const p of m.children){const{children:S}=p,I=S[0];if(I){if(e<I.startIndex||n>I.endIndex)continue;d=I.startIndex+3;for(const C of I.children){const b=I.children.indexOf(C),{startIndex:O,endIndex:v}=C;e>=O&&e<=v?(A=O,c.push(b),l+=v-O+1):(O>e&&v<n||n>=O&&n<=v)&&(c.push(b),l+=v-O+1),c.length===I.children.length&&(u=!0)}}if(c.length)break}if(c.length)break}return r==null||c.length===0?null:{tableId:r,rowIndexes:c,offset:A,len:l,cursor:d,selectWholeTable:u}}function lr(o,t){var f,m,p;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(p=(m=(f=t.getBody())==null?void 0:f.tables)==null?void 0:m.find(S=>e>=S.startIndex&&n<=S.endIndex))==null?void 0:p.tableId,c=[];let A=null;const l=[];let d=-1,u=-1,g=-1;for(const S of s.getChildren()){for(const I of S.children){const{children:C}=I,b=C[0];if(b){if(e<b.startIndex||n>b.endIndex)continue;A=b;for(const O of b.children)for(const v of O.children){const y=O.children.indexOf(v);e>=v.startIndex&&e<=v.endIndex&&(u=y),n>=v.startIndex&&n<=v.endIndex&&(g=y)}}if(A)break}if(A)break}if(A==null||r==null)return null;for(let S=u;S<=g;S++)l.push(S);let h=0;for(const S of A.children){const I=S.children[u],C=S.children[g];c.push({retain:I.startIndex-h,delete:C.endIndex-I.startIndex+1}),h=C.endIndex+1}return d=A.startIndex+3,{offsets:c,tableId:r,columnIndexes:l,cursor:d,selectWholeTable:l.length===A.children[0].children.length,rowCount:A.children.length}}function Hi(o,t){var d,u,g;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(g=(u=(d=t.getBody())==null?void 0:d.tables)==null?void 0:u.find(h=>e>=h.startIndex&&n<=h.endIndex))==null?void 0:g.tableId;let c=-1,A=0,l=-1;for(const h of s.getChildren()){for(const f of h.children){const{children:m}=f,p=m[0];if(p){if(e<p.startIndex||n>p.endIndex)continue;c=p.startIndex,A=p.endIndex-p.startIndex+1,l=p.startIndex}if(p)break}if(A>0)break}return r==null?null:{tableId:r,offset:c,len:A,cursor:l}}function dr(o,t){var f,m,p;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(p=(m=(f=t.getBody())==null?void 0:f.tables)==null?void 0:m.find(S=>e>=S.startIndex&&n<=S.endIndex))==null?void 0:p.tableId,c=[];let A=null,l=-1,d=-1,u=-1,g=-1;for(const S of s.getChildren()){for(const I of S.children){const{children:C}=I,b=C[0];if(b){if(e<b.startIndex||n>b.endIndex)continue;A=b;for(const O of b.children){const v=b.children.indexOf(O);for(const y of O.children){const x=O.children.indexOf(y);e>=y.startIndex&&e<=y.endIndex&&(d=v,u=x),n>=y.startIndex&&n<=y.endIndex&&(g=x)}}}if(A)break}if(A)break}if(A==null||r==null||d===-1)return null;const h=A.children[d];for(let S=u;S<=g;S++){const I=h.children[S];c.push({retain:I.startIndex+1,delete:I.endIndex-I.startIndex-3})}return l=A.startIndex+3,{offsets:c,tableId:r,cursor:l,rowCount:A.children.length}}var no=(o=>(o[o.NEXT=0]="NEXT",o[o.PREV=1]="PREV",o))(no||{});function Vi(o,t,e){const{startOffset:n}=t;let i=null;for(const l of o.getChildren()){for(const d of l.children){const u=d.children[0];if(u&&n>u.startIndex&&n<u.endIndex){i=u;break}}if(i)break}if(i==null)return null;let s=-1,r=-1,c=null;for(const l of i.children){for(const d of l.children)if(n>d.startIndex&&n<d.endIndex){s=l.children.indexOf(d),r=i.children.indexOf(l),c=l;break}if(s>-1)break}if(s===-1||r===-1||c==null)return null;let A=null;if(e===0){if(A=c.children[s+1],!A){const l=i.children[r+1];l&&(A=l.children[0])}}else if(A=c.children[s-1],!A){const l=i.children[r-1];l&&(A=l.children[l.children.length-1])}if(A){const{startIndex:l,endIndex:d}=A;return{startOffset:l+1,endOffset:d-2}}}function Wi(o,t){const e=[],{customBlocks:n=[]}=o;for(const i of t){const{startOffset:s,endOffset:r}=i;if(!(s==null||r==null))for(const c of n){const{startIndex:A}=c;A>=s&&A<r&&e.push(c.blockId)}}return e}function ur(o){return o.some(t=>{const{startNodePosition:e}=t;return e?(e==null?void 0:e.path.indexOf("cells"))>-1:!1})}const hr=a.SHEET_EDITOR_UNITS,oo={id:"doc.command.inner-paste",type:a.CommandType.COMMAND,handler:async(o,t)=>{var _,w,D,P,U,H;const{segmentId:e,textRanges:n,doc:i}=t,s=o.get(a.ICommandService),r=o.get(M.DocSelectionManagerService),c=o.get(a.IUniverInstanceService),A=r.getTextRanges(),l=r.getRectRanges(),{body:d,tableSource:u,drawings:g}=i;if(!Array.isArray(A)||A.length===0||d==null)return!1;const h=c.getCurrentUniverDocInstance(),f=h==null?void 0:h.getSelfOrHeaderFooterModel(e).getBody();if(h==null||f==null)return!1;const m=h.getUnitId(),p={id:M.RichTextEditingMutation.id,params:{unitId:m,actions:[],textRanges:n,segmentId:e}},S=new a.MemoryCursor;S.reset();const I=new a.TextX,C=a.JSONX.getInstance(),b=[],O=!!((_=d.tables)!=null&&_.length),v=!!((w=d.customBlocks)!=null&&w.length);if(O&&e||O&&ur(A)||A.length&&(l!=null&&l.length))return!1;for(let k=0;k<A.length;k++){const L=A[k],{startOffset:z,endOffset:W,collapsed:V}=L,K=z-S.cursor,G=a.Tools.deepClone(d);if(O)for(const $ of G.tables){const{tableId:j}=$,Y=a.Tools.generateRandomId(6);$.tableId=Y;const oe=a.Tools.deepClone(u[j]);oe.tableId=Y;const fe=C.insertOp(["tableSource",Y],oe);b.push(fe)}if(v&&g){const $=(P=(D=h.getSnapshot().drawingsOrder)==null?void 0:D.length)!=null?P:0;for(const j of G.customBlocks){const{blockId:Y}=j,oe=a.Tools.generateRandomId(6);j.blockId=oe;const fe=a.Tools.deepClone(g[Y]);fe.drawingId=oe;const Be=C.insertOp(["drawings",oe],fe),pe=C.insertOp(["drawingsOrder",$],oe);b.push(Be),b.push(pe)}}const J=Dn((U=f.customRanges)!=null?U:[],W,hr.includes(m)),ee=Bn((H=f.customDecorations)!=null?H:[],W);if(J&&(G.customRanges=[{...J,startIndex:0,endIndex:d.dataStream.length-1}]),ee.length&&(G.customDecorations=ee.map($=>({...$,startIndex:0,endIndex:d.dataStream.length-1}))),V)I.push({t:a.TextXActionType.RETAIN,len:K}),I.push({t:a.TextXActionType.INSERT,body:G,len:d.dataStream.length});else{const $=a.BuildTextUtils.selection.delete([L],d,S.cursor,G,A.length===1);I.push(...$)}S.reset(),S.moveCursor(W)}const y=q(h,e);return b.push(C.editOp(I.serialize(),y)),p.params.actions=b.reduce((k,L)=>a.JSONX.compose(k,L),null),!!s.syncExecuteCommand(p.id,p.params)}};function gr(o,t){const{startOffset:e,endOffset:n}=o,i=t.some(r=>r.startIndex===n),s=Math.max(e,i?n-1:n);return{...o,endOffset:s,collapsed:e===s}}function mr(o,t,e){var f,m;const n=t.getSelfOrHeaderFooterModel(e).getBody(),i=new a.TextX,s=a.JSONX.getInstance(),r=[];if(n==null)return r;const{tables:c=[]}=n,A=new a.MemoryCursor;A.reset();for(let p=0;p<o.length;p++){const S=gr(o[p],c),{startOffset:I,endOffset:C,collapsed:b}=S,O=I-A.cursor;b?i.push({t:a.TextXActionType.RETAIN,len:O}):i.push(...a.BuildTextUtils.selection.delete([S],n,A.cursor,null,!1)),A.reset(),A.moveCursor(C)}const l=q(t,e);r.push(s.editOp(i.serialize(),l));const d=Wi(n,o),u=(f=t.getDrawings())!=null?f:{},g=(m=t.getDrawingsOrder())!=null?m:[],h=d.sort((p,S)=>g.indexOf(p)>g.indexOf(S)?-1:g.indexOf(p)<g.indexOf(S)?1:0);if(h.length>0)for(const p of h){const S=u[p],I=g.indexOf(p);if(S==null||I<0)continue;const C=s.removeOp(["drawings",p],S),b=s.removeOp(["drawingsOrder",I],p);r.push(C),r.push(b)}return r.reduce((p,S)=>a.JSONX.compose(p,S),null)}function fr(o,t,e,n){const i=[];if(t.getSelfOrHeaderFooterModel(n).getBody()==null)return i;const r=new a.TextX,c=a.JSONX.getInstance(),A=new a.MemoryCursor;A.reset();for(const d of o){const{startOffset:u,endOffset:g,spanEntireRow:h,spanEntireTable:f}=d;if(!(u==null||g==null))if(f){const m=Hi({startOffset:u,endOffset:g,segmentId:n},e);if(m==null)continue;const{offset:p,len:S,tableId:I}=m;p-A.cursor>0&&r.push({t:a.TextXActionType.RETAIN,len:p-A.cursor}),r.push({t:a.TextXActionType.DELETE,len:S});const C=c.removeOp(["tableSource",I]);i.push(C),A.moveCursorTo(p+S)}else if(h){const m=ki({startOffset:u,endOffset:g,segmentId:n},e);if(m==null)continue;const{offset:p,rowIndexes:S,len:I,tableId:C}=m;p-A.cursor>0&&r.push({t:a.TextXActionType.RETAIN,len:p-A.cursor}),r.push({t:a.TextXActionType.DELETE,len:I});for(const b of S.reverse()){const O=c.removeOp(["tableSource",C,"tableRows",b]);i.push(O)}A.moveCursorTo(p+I)}else{const m=dr({startOffset:u,endOffset:g,segmentId:n},e);if(m==null)continue;const{offsets:p}=m;for(const S of p){const{retain:I,delete:C}=S;I-A.cursor>0&&r.push({t:a.TextXActionType.RETAIN,len:I-A.cursor}),r.push({t:a.TextXActionType.DELETE,len:C}),A.moveCursorTo(I+C)}}}const l=q(t,n);return i.push(c.editOp(r.serialize(),l)),i.reduce((d,u)=>a.JSONX.compose(d,u),null)}function Ki(o,t,e,n,i){let s=[];if(Array.isArray(o)&&(o==null?void 0:o.length)!==0&&(s=mr(o,e,i)),Array.isArray(t)&&(t==null?void 0:t.length)!==0){const r=fr(t,e,n,i);s==null||s.length===0?s=r:s=a.JSONX.compose(s,a.JSONX.transform(r,s,"right"))}return s}const He={id:"doc.command.inner-cut",type:a.CommandType.COMMAND,handler:async(o,t)=>{var m,p;const{segmentId:e,textRanges:n}=t,i=o.get(a.ICommandService),s=o.get(M.DocSelectionManagerService),r=o.get(a.IUniverInstanceService),c=(m=t.selections)!=null?m:s.getTextRanges(),A=s.getRectRanges();if((!Array.isArray(c)||c.length===0)&&(!Array.isArray(A)||A.length===0))return!1;const l=(p=r.getCurrentUniverDocInstance())==null?void 0:p.getUnitId();if(!l)return!1;const d=r.getUniverDocInstance(l);if(d==null)return!1;const u=re(o,l);if(u==null)return!1;const g=u.getViewModel(),h={id:M.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:n}};return h.params.actions=Ki(c,A,d,g,e),!!i.syncExecuteCommand(h.id,h.params)}};var ne=(o=>(o[o.LEFT=0]="LEFT",o[o.RIGHT=1]="RIGHT",o))(ne||{});const zi="doc.command.insert-text",Yt={id:zi,type:a.CommandType.COMMAND,handler:async(o,t)=>{var v;const e=o.get(a.ICommandService),{range:n,segmentId:i,body:s,unitId:r,cursorOffset:c}=t,A=o.get(M.DocSelectionManagerService),d=o.get(a.IUniverInstanceService).getUnit(r,a.UniverInstanceType.UNIVER_DOC);if(d==null)return!1;const u=A.getActiveTextRange(),g=d.getSelfOrHeaderFooterModel((v=u==null?void 0:u.segmentId)!=null?v:"").getBody();if(g==null)return!1;const{startOffset:h,collapsed:f}=n,m=c!=null?c:s.dataStream.length,p=[{startOffset:h+m,endOffset:h+m,style:u==null?void 0:u.style,collapsed:f}],S={id:M.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:p,debounce:!0}},I=new a.TextX,C=a.JSONX.getInstance();if(f)h>0&&I.push({t:a.TextXActionType.RETAIN,len:h}),I.push({t:a.TextXActionType.INSERT,body:s,len:s.dataStream.length});else{const y=a.BuildTextUtils.selection.delete([n],g,0,s);I.push(...y)}S.params.textRanges=[{startOffset:h+m,endOffset:h+m,collapsed:f}];const b=q(d,i);return S.params.actions=C.editOp(I.serialize(),b),!!e.syncExecuteCommand(S.id,S.params)}},et={id:"doc.command.delete-text",type:a.CommandType.COMMAND,handler:async(o,t)=>{var O;const e=o.get(a.ICommandService),n=o.get(a.IUniverInstanceService),{range:i,segmentId:s,unitId:r,direction:c,len:A=1}=t,l=n.getUnit(r,a.UniverInstanceType.UNIVER_DOC),d=l==null?void 0:l.getSelfOrHeaderFooterModel(s).getBody();if(l==null||d==null)return!1;const{startOffset:u}=i;let g=c===ne.LEFT?u-A:u,h=c===ne.LEFT?u-1:u+A-1;const f=(O=d.customRanges)==null?void 0:O.find(v=>v.startIndex<=g&&v.endIndex>=h);f!=null&&f.wholeEntity&&(g=f.startIndex,h=Math.max(h,f.endIndex));const m={id:M.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:[{startOffset:g,endOffset:g,collapsed:!0}],debounce:!0}},p=new a.TextX,S=a.JSONX.getInstance();p.push({t:a.TextXActionType.RETAIN,len:g-0}),p.push({t:a.TextXActionType.DELETE,len:h-g+1});const C=q(l,s);return m.params.actions=S.editOp(p.serialize(),C),!!e.syncExecuteCommand(m.id,m.params)}},io={id:"doc.command.update-text",type:a.CommandType.COMMAND,handler:async(o,t)=>{const{range:e,segmentId:n,updateBody:i,coverType:s,unitId:r,textRanges:c}=t,A=o.get(a.ICommandService),d=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(d==null)return!1;const u={id:M.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:c}},g=new a.TextX,h=a.JSONX.getInstance(),{startOffset:f,endOffset:m}=e;g.push({t:a.TextXActionType.RETAIN,len:f}),g.push({t:a.TextXActionType.RETAIN,body:i,len:m-f,coverType:s});const p=q(d,n);return u.params.actions=h.editOp(g.serialize(),p),!!A.syncExecuteCommand(u.id,u.params)}},qt={id:"doc.command.delete-custom-block",type:a.CommandType.COMMAND,handler:async(o,t)=>{var D;const e=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=e.getActiveTextRange(),r=n.getCurrentUniverDocInstance();if(s==null||r==null)return!1;const{direction:c,range:A,unitId:l,drawingId:d}=t,{startOffset:u,segmentId:g,style:h}=s,f=c===ne.LEFT?u-1:u,m=[{startOffset:f,endOffset:f,style:h}],p={id:M.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:m,prevTextRanges:[A]}},S=new a.TextX,I=a.JSONX.getInstance(),C=[];u>0&&S.push({t:a.TextXActionType.RETAIN,len:c===ne.LEFT?u-1:u}),S.push({t:a.TextXActionType.DELETE,len:1});const b=q(r,g);C.push(I.editOp(S.serialize(),b));const O=((D=r.getDrawings())!=null?D:{})[d],y=r.getDrawingsOrder().indexOf(d),x=I.removeOp(["drawings",d],O),_=I.removeOp(["drawingsOrder",y],d);return C.push(x),C.push(_),p.params.actions=C.reduce((P,U)=>a.JSONX.compose(P,U),null),!!i.syncExecuteCommand(p.id,p.params)}},Jt={id:"doc.command.merge-two-paragraph",type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),{direction:s,range:r}=t,c=e.getActiveTextRange(),A=e.getTextRanges();if(c==null||A==null)return!1;const{segmentId:l,style:d}=c,u=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),g=u==null?void 0:u.getSelfOrHeaderFooterModel(l).getBody();if(u==null||g==null)return!1;const h=c,f=u.getUnitId(),{startOffset:m,collapsed:p}=h;if(!p)return!1;const S=s===ne.LEFT?m:m+1;let I,C;for(const D of g.paragraphs){if(D.startIndex>=S){C=D;break}I=D}if(I==null||C==null)return!1;const b=s===ne.LEFT?m-1:m,O=[{startOffset:b,endOffset:b,style:d}],v={id:M.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:O,prevTextRanges:[r]}},y=new a.TextX,x=a.JSONX.getInstance();I.startIndex>0&&y.push({t:a.TextXActionType.RETAIN,len:I.startIndex}),y.push({t:a.TextXActionType.DELETE,len:1}),C.startIndex>I.startIndex+1&&y.push({t:a.TextXActionType.RETAIN,len:C.startIndex-I.startIndex-1}),y.push({t:a.TextXActionType.RETAIN,len:1,coverType:a.UpdateDocsAttributeType.REPLACE,body:{dataStream:"",paragraphs:[{...a.Tools.deepClone(I),startIndex:0}]}});const _=q(u,l);return v.params.actions=x.editOp(y.serialize(),_),!!i.syncExecuteCommand(v.id,v.params)}};function Zt(o,t){let e=0;if(o==null||o.length===0){if(typeof t[0].startOffset=="number"){const n=t[0],{spanEntireRow:i,spanEntireTable:s}=n;s?e=n.startOffset-3:i?n.startRow>0?e=n.startOffset-6:e=n.startOffset:e=t[0].startOffset}}else if(o.length>0&&t.length>0){const n=o[0],i=t[0];if(n.startOffset!=null&&i.startOffset!=null){if(n.startOffset<i.startOffset)e=n.startOffset;else if(n.startOffset>=i.startOffset){const{spanEntireRow:s,spanEntireTable:r}=i;r?e=i.startOffset-3:s&&(e=i.startOffset-6)}}}return e}const Ct={id:"doc.command.delete-left",type:a.CommandType.COMMAND,handler:async o=>{var _,w;const t=o.get(M.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService);let i=!0;const s=e.getCurrentUniverDocInstance();if(s==null)return!1;const r=s.getUnitId(),c=re(o,r),A=t.getActiveTextRange(),l=t.getRectRanges(),d=t.getTextRanges(),u=c==null?void 0:c.getSkeleton();if(u==null)return!1;if(l!=null&&l.length){const D=Zt(d,l),P=l[0].segmentId,U=[{startOffset:D,endOffset:D}];return n.executeCommand(He.id,{segmentId:P,textRanges:U})}if(A==null||d==null)return!1;const{segmentId:g,style:h,segmentPage:f}=A,m=s.getSelfOrHeaderFooterModel(g).getBody();if(m==null)return!1;const p=A,{startOffset:S,collapsed:I}=p,C=u.findNodeByCharIndex(S,g,f),b=R.hasListGlyph(C),O=R.isIndentByGlyph(C,m);let v=S;const y=u.findNodeByCharIndex(S-1,g,f);if(R.isFirstGlyph(C)&&y!==C&&(b===!0||O===!0)&&I){const D=R.getParagraphByGlyph(C,m);if(D==null)return!1;const P=D==null?void 0:D.startIndex,U={startIndex:0},H=D.paragraphStyle;if(b===!0){const L=D.paragraphStyle;if(L){U.paragraphStyle=L;const{hanging:z}=L;z&&(U.paragraphStyle.indentStart=z,U.paragraphStyle.hanging=void 0)}}else if(O===!0){const L=D.bullet;L&&(U.bullet=L),H!=null&&(U.paragraphStyle={...H},delete U.paragraphStyle.hanging,delete U.paragraphStyle.indentStart)}const k=[{startOffset:v,endOffset:v,style:h}];i=await n.executeCommand(io.id,{unitId:s.getUnitId(),updateBody:{dataStream:"",paragraphs:[{...U}]},range:{startOffset:P,endOffset:P+1},textRanges:k,coverType:a.UpdateDocsAttributeType.REPLACE,segmentId:g})}else if(I===!0){if(y==null)return!0;if(y.content==="\r")i=await n.executeCommand(Jt.id,{direction:ne.LEFT,range:p});else if(y.streamType==="\b"){const D=(w=s.getSnapshot().drawings)==null?void 0:w[(_=y.drawingId)!=null?_:""];if(D==null)return!0;if(D.layoutType===a.PositionedObjectLayoutType.INLINE){const U=s.getUnitId();i=await n.executeCommand(qt.id,{direction:ne.LEFT,range:A,unitId:U,drawingId:y.drawingId})}else{const U=u.findNodeByCharIndex(S-2);if(U==null)return!0;v-=y.count,v-=U.count;const H=[{startOffset:v,endOffset:v,style:h}];i=await n.executeCommand(et.id,{unitId:s.getUnitId(),range:{...A,startOffset:A.startOffset-1,endOffset:A.endOffset-1},segmentId:g,direction:ne.LEFT,len:U.count,textRanges:H})}}else v-=y.count,i=await n.executeCommand(et.id,{unitId:s.getUnitId(),range:p,segmentId:g,direction:ne.LEFT,len:y.count})}else{const D=ji(p,[p]);i=await n.executeCommand(He.id,{segmentId:g,textRanges:D,selections:[p]})}return i}},so={id:"doc.command.delete-right",type:a.CommandType.COMMAND,handler:async o=>{var C,b;const t=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(!n)return!1;const i=re(o,n.getUnitId()),s=o.get(a.ICommandService),r=t.getActiveTextRange(),c=t.getRectRanges(),A=t.getTextRanges(),l=i==null?void 0:i.getSkeleton();if(c!=null&&c.length){const O=Zt(A,c),v=c[0].segmentId,y=[{startOffset:O,endOffset:O}];return s.executeCommand(He.id,{segmentId:v,textRanges:y})}if(r==null||l==null||A==null)return!1;const{segmentId:d,style:u,segmentPage:g}=r,h=n==null?void 0:n.getSelfOrHeaderFooterModel(d).getBody();if(!n||!h)return!1;const f=r,{startOffset:m,endOffset:p,collapsed:S}=f;if(m===h.dataStream.length-2&&S)return!0;let I=!1;if(S===!0){const O=l.findNodeByCharIndex(m,d,g),v=l.findNodeByCharIndex(m+1);if(O.streamType===a.DataStreamTreeTokenType.PARAGRAPH&&(v==null?void 0:v.streamType)===a.DataStreamTreeTokenType.SECTION_BREAK)return!1;if(O.content==="\r")I=await s.executeCommand(Jt.id,{direction:ne.RIGHT,range:r});else if(O.streamType==="\b"){const y=(b=n.getSnapshot().drawings)==null?void 0:b[(C=O.drawingId)!=null?C:""];if(y==null)return!0;if(y.layoutType===a.PositionedObjectLayoutType.INLINE){const _=n.getUnitId();I=await s.executeCommand(qt.id,{direction:ne.RIGHT,range:r,unitId:_,drawingId:O.drawingId})}else{if(v==null)return!0;const _=[{startOffset:m+1,endOffset:m+1,style:u}];I=await s.executeCommand(et.id,{unitId:n.getUnitId(),range:{...r,startOffset:m+1,endOffset:p+1},segmentId:d,direction:ne.RIGHT,textRanges:_,len:v.count})}}else{const y=[{startOffset:m,endOffset:m,style:u}];I=await s.executeCommand(et.id,{unitId:n.getUnitId(),range:f,segmentId:d,direction:ne.RIGHT,textRanges:y,len:O.count})}}else{const O=ji(f,[f]);I=await s.executeCommand(He.id,{segmentId:d,textRanges:O,selections:[f]})}return I}};function ji(o,t){let e=o.endOffset;for(const i of t){const{startOffset:s,endOffset:r}=i;s==null||r==null||r<=o.endOffset&&(e-=r-s)}return[{startOffset:e,endOffset:e,style:o.style}]}const pr=10,Sr=6;function Ir(){return a.Tools.generateRandomId(Sr)}function Er(o){const t=o.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}class vr{constructor(){B(this,"_cache",new a.LRUMap(pr))}set(t,e){this._cache.set(t,e)}get(t){return this._cache.get(t)}clear(){this._cache.clear()}}const ao=new vr;function ro(o){const t=o.style,e={},n=o.tagName.toLowerCase();switch(n){case"b":case"em":case"strong":{e.bl=a.BooleanNumber.TRUE;break}case"s":{e.st={s:a.BooleanNumber.TRUE};break}case"u":{e.ul={s:a.BooleanNumber.TRUE};break}case"i":{e.it=a.BooleanNumber.TRUE;break}case"sub":case"sup":{e.va=n==="sup"?a.BaselineOffset.SUPERSCRIPT:a.BaselineOffset.SUBSCRIPT;break}}for(let i=0;i<t.length;i++){const s=t[i],r=t.getPropertyValue(s);switch(s){case"font-family":{e.ff=r.replace(/^"/g,"").replace(/"$/g,"");break}case"font-size":{const c=Number.parseInt(r);Number.isNaN(c)||(r.endsWith("pt")?e.fs=c:r.endsWith("px")&&(e.fs=R.pixelToPt(c)));break}case"font-style":{r==="italic"&&(e.it=a.BooleanNumber.TRUE);break}case"font-weight":{(Number(r)>400||String(r)==="bold")&&(e.bl=a.BooleanNumber.TRUE);break}case"text-decoration":{/underline/.test(r)?e.ul={s:a.BooleanNumber.TRUE}:/overline/.test(r)?e.ol={s:a.BooleanNumber.TRUE}:/line-through/.test(r)&&(e.st={s:a.BooleanNumber.TRUE});break}case"color":{try{const c=new a.ColorKit(r);c.isValid&&(e.cl={rgb:c.toRgbString()})}catch{}break}case"background-color":{const c=new a.ColorKit(r);c.isValid&&(e.bg={rgb:c.toRgbString()});break}}}return e}function Cr(o){const t=new DOMParser,e=`<x-univer id="univer-root">${o}</x-univer>`;return t.parseFromString(e,"text/html").querySelector("#univer-root")}function Gi(o,t){const e=o.tagName.toLowerCase();return typeof t=="string"?e===t:Array.isArray(t)?t.some(n=>n===e):t(o)}const Xi=660,bn=class bn{constructor(){B(this,"_tableCache",[]);B(this,"_styleCache",new Map);B(this,"_styleRules",[]);B(this,"_afterProcessRules",[])}static use(t){if(this._pluginList.includes(t))throw new Error(`Univer paste plugin ${t.name} already added`);this._pluginList.push(t)}convert(t,e={}){var c;const n=bn._pluginList.find(A=>A.checkPasteType(t)),i=Cr(t),r={body:{dataStream:"",paragraphs:[],sectionBreaks:[],tables:[],textRuns:[],customBlocks:[]},tableSource:{},id:(c=e==null?void 0:e.unitId)!=null?c:""};return n&&(this._styleRules=[...n.stylesRules],this._afterProcessRules=[...n.afterProcessRules]),this._tableCache=[],this._styleCache.clear(),this._process(null,i.childNodes,r),this._styleCache.clear(),this._styleRules=[],this._afterProcessRules=[],r}_process(t,e,n){var s,r,c,A;const i=n.body;for(const l of e)if(l.nodeType===Node.TEXT_NODE){if(((s=l.nodeValue)==null?void 0:s.trim())==="")continue;const d=(r=l.nodeValue)==null?void 0:r.replace(/[\r\n]/g,"");let u;t&&this._styleCache.has(t)&&(u=this._styleCache.get(t)),i.dataStream+=d,u&&Object.getOwnPropertyNames(u).length&&i.textRuns.push({st:i.dataStream.length-d.length,ed:i.dataStream.length,ts:u})}else if(l.nodeName==="IMG"){const d=l,u=d.dataset.imageSourceType,g=u===On.ImageSourceType.UUID?d.dataset.source:d.src;if(g&&u){const h=Number(d.dataset.width||100),f=Number(d.dataset.height||100),m=Number(d.dataset.docTransformWidth||h),p=Number(d.dataset.docTransformHeight||f),S=a.Tools.generateRandomId(6);(A=(c=n.body)==null?void 0:c.customBlocks)==null||A.push({startIndex:i.dataStream.length,blockId:S}),i.dataStream+="\b",n.drawings||(n.drawings={}),n.drawings[S]={drawingId:S,title:"",description:"",imageSourceType:u,source:g,transform:{width:h,height:f,left:0},docTransform:{size:{width:m,height:p},angle:0,positionH:{relativeFrom:a.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:a.ObjectRelativeFromV.PARAGRAPH,posOffset:0}},layoutType:a.PositionedObjectLayoutType.INLINE,drawingType:a.DrawingTypeEnum.DRAWING_IMAGE,unitId:n.id||"",subUnitId:n.id||""}}}else{if(a.skipParseTagNames.includes(l.nodeName.toLowerCase()))continue;if(l.nodeType===Node.ELEMENT_NODE){const d=l,u=this._processBeforeLink(d,n),g=t?this._styleCache.get(t):{},h=this._styleRules.find(({filter:S})=>Gi(l,S)),f=h?h.getStyle(l):ro(l);this._styleCache.set(l,{...g,...f});const{childNodes:m}=l;this._processBeforeTable(l,n),this._process(l,m,n),this._processAfterTable(l,n);const p=this._afterProcessRules.find(({filter:S})=>Gi(l,S));p&&p.handler(n,l),this._processAfterLink(d,n,u)}}}_processBeforeTable(t,e){var s;const n=t.tagName.toUpperCase(),i=e.body;switch(n){case"TABLE":{i.dataStream[i.dataStream.length-1]!=="\r"&&(i.dataStream+="\r",i.paragraphs==null&&(i.paragraphs=[]),(s=i.paragraphs)==null||s.push({startIndex:i.dataStream.length-1}));const r=to(0,0,Xi);this._tableCache.push({table:r,startIndex:i.dataStream.length}),i.dataStream+=a.DataStreamTreeTokenType.TABLE_START;break}case"TR":{const r=Gt(0);this._tableCache[this._tableCache.length-1].table.tableRows.push(r),i.dataStream+=a.DataStreamTreeTokenType.TABLE_ROW_START;break}case"TD":{const r=jt(),c=this._tableCache[this._tableCache.length-1].table;c.tableRows[c.tableRows.length-1].tableCells.push(r),i.dataStream+=a.DataStreamTreeTokenType.TABLE_CELL_START;break}}}_processAfterTable(t,e){var r,c;const n=t.tagName.toUpperCase(),i=e.body;e.tableSource==null&&(e.tableSource={}),i.tables==null&&(i.tables=[]),i.sectionBreaks==null&&(i.sectionBreaks=[]);const{tableSource:s}=e;switch(n){case"TABLE":{const A=this._tableCache.pop(),{startIndex:l,table:d}=A,u=d.tableRows[0].tableCells.length,g=Xt(Xi/u),h=[...new Array(u).fill(null).map(()=>a.Tools.deepClone(g))];d.tableColumns=h,s[d.tableId]=d,i.dataStream+=a.DataStreamTreeTokenType.TABLE_END,i.tables.push({startIndex:l,endIndex:i.dataStream.length,tableId:d.tableId});break}case"TR":{i.dataStream+=a.DataStreamTreeTokenType.TABLE_ROW_END;break}case"TD":{i.dataStream[i.dataStream.length-1]!=="\r"&&((r=i.paragraphs)==null||r.push({startIndex:i.dataStream.length}),i.dataStream+="\r"),(c=i.sectionBreaks)==null||c.push({startIndex:i.dataStream.length}),i.dataStream+=`
28
- ${a.DataStreamTreeTokenType.TABLE_CELL_END}`;break}}}_processBeforeLink(t,e){return e.body.dataStream.length}_processAfterLink(t,e,n){var r,c;const i=e.body,s=t;s.tagName.toUpperCase()==="A"&&(i.customRanges=(r=i.customRanges)!=null?r:[],i.customRanges.push({startIndex:n,endIndex:i.dataStream.length-1,rangeId:(c=s.dataset.rangeid)!=null?c:a.generateRandomId(),rangeType:a.CustomRangeType.HYPERLINK,properties:{url:s.href}}))}};B(bn,"_pluginList",[]);let tt=bn;const Yi={name:"univer-doc-paste-plugin-lark",checkPasteType(o){return/lark-record-clipboard/i.test(o)},stylesRules:[{filter:["s"],getStyle(o){const t=ro(o);return{st:{s:a.BooleanNumber.TRUE},...t}}}],afterProcessRules:[{filter(o){return o.tagName==="DIV"&&/ace-line/i.test(o.className)},handler(o){const t=o.body;t.paragraphs==null&&(t.paragraphs=[]),t.paragraphs.push({startIndex:t.dataStream.length}),t.dataStream+="\r"}}]};function qi(o){const t=o.style,e={};for(let n=0;n<t.length;n++){const i=t[n],s=t.getPropertyValue(i);switch(i){case"margin-top":{const r=Number.parseInt(s);e.spaceAbove={v:/pt/.test(s)?R.ptToPixel(r):r};break}case"margin-bottom":{const r=Number.parseInt(s);e.spaceBelow={v:/pt/.test(s)?R.ptToPixel(r):r};break}case"line-height":{let r=Number.parseFloat(s);s.endsWith("%")&&(r/=100),e.lineSpacing=r;break}}}return Object.getOwnPropertyNames(e).length?e:null}const Ji={name:"univer-doc-paste-plugin-univer",checkPasteType(o){return/UniverNormal/i.test(o)},stylesRules:[],afterProcessRules:[{filter(o){return o.tagName==="P"&&/UniverNormal/i.test(o.className)},handler(o,t){const e=o.body;e.paragraphs==null&&(e.paragraphs=[]);const n={startIndex:e.dataStream.length},i=qi(t);i&&(n.paragraphStyle=i),e.paragraphs.push(n),e.dataStream+="\r"}}]},Zi={name:"univer-doc-paste-plugin-word",checkPasteType(o){return/word|mso/i.test(o)},stylesRules:[{filter:["b"],getStyle(o){const t=ro(o);return{bl:a.BooleanNumber.TRUE,...t}}}],afterProcessRules:[{filter(o){return o.tagName==="P"},handler(o,t){const e=o.body;e.paragraphs==null&&(e.paragraphs=[]);const n={startIndex:e.dataStream.length},i=qi(t);i&&(n.paragraphStyle=i),e.paragraphs.push(n),e.dataStream+="\r"}}]};function Tr(o){var n,i;const t=s=>{let r="";return Object.keys(s).forEach(c=>{s[c]!==void 0&&(r+=` ${c}=${s[c]}`)}),r},e={"data-doc-transform-height":o.docTransform.size.height,"data-doc-transform-width":o.docTransform.size.width,"data-width":(n=o.transform)==null?void 0:n.width,"data-height":(i=o.transform)==null?void 0:i.height,"data-image-source-type":o.imageSourceType,"data-source":o.imageSourceType===On.ImageSourceType.UUID?o.source:void 0,src:o.source};return`<img ${t(e)}></img>`}function $i(o,t){const{st:e,ed:n,ts:i={}}=t,{ff:s,fs:r,it:c,bl:A,ul:l,st:d,ol:u,bg:g,cl:h,va:f}=i;let m=o.slice(e,n);const p=[];return c===a.BooleanNumber.TRUE&&(m=`<i>${m}</i>`),f===a.BaselineOffset.SUPERSCRIPT?m=`<sup>${m}</sup>`:f===a.BaselineOffset.SUBSCRIPT&&(m=`<sub>${m}</sub>`),(l==null?void 0:l.s)===a.BooleanNumber.TRUE&&(m=`<u>${m}</u>`),(d==null?void 0:d.s)===a.BooleanNumber.TRUE&&(m=`<s>${m}</s>`),A===a.BooleanNumber.TRUE&&(m=`<strong>${m}</strong>`),s&&p.push(`font-family: ${s}`),h&&p.push(`color: ${h.rgb}`),r&&p.push(`font-size: ${r}pt`),u&&p.push("text-decoration: overline"),g&&p.push(`background: ${g.rgb}`),p.length?`<span style="${p.join("; ")};">${m}</span>`:m}function co(o,t,e){const{dataStream:n,textRuns:i=[]}=o;if(t===e)return"";let s=t;const r=[];for(const c of i){const{st:A,ed:l}=c;a.Tools.hasIntersectionBetweenTwoRanges(t,e,A,l)&&(A>s?(r.push(n.slice(s,A)),r.push($i(n,{...c,ed:Math.min(l,e)}))):r.push($i(n,{...c,st:s,ed:Math.min(l,e)}))),s=Math.max(t,Math.min(l,e))}return s!==e&&r.push(n.slice(s,e)),r.join("")}function yr(o,t,e){const n=o.body,i=o.drawings||{},{customRanges:s=[],customBlocks:r=[]}=n||{},c=[...r],A=s.filter(h=>h.startIndex>=t&&h.endIndex<=e);let l=t,d="";const u=(h,f)=>{let m="",p=0,S=h,I=c.findIndex(C=>h<=C.startIndex&&f>=C.startIndex);if(I===-1)return m=co(n,h,f),{sliceHtml:m,customBlockLength:p};for(;I!==-1;){const C=c[I];c.splice(I,1),m+=co(n,S,C.startIndex);const b=i[C.blockId];if(b)switch(b.drawingType){case a.DrawingTypeEnum.DRAWING_IMAGE:{m+=Tr(b),p++;break}}S=C.startIndex+1,I=c.findIndex(O=>S<=O.startIndex&&f>=O.startIndex)}return m=m+co(n,S,f+1),{sliceHtml:m,customBlockLength:p}};A.forEach(h=>{var b,O;const{startIndex:f,endIndex:m,rangeType:p,rangeId:S}=h,I=u(l,f);d+=I.sliceHtml;const C=u(f,m+1);switch(p){case a.CustomRangeType.HYPERLINK:{d+=`<a data-rangeid="${S}" href="${(O=(b=h.properties)==null?void 0:b.url)!=null?O:""}">${C.sliceHtml}</a>`;break}default:{d+=C.sliceHtml;break}}l=m+1+(I.customBlockLength+C.customBlockLength)});const g=u(l,e);return d+=g.sliceHtml,d}function br(o){const t=o.body||{},{paragraphs:e=[],sectionBreaks:n=[]}=t;let{dataStream:i=""}=t;i.endsWith(`\r
25
+ `:""),onClick:()=>{e(i.value)},src:i.img},i.value))})},Ea=[{value:a.PresetListType.ORDER_LIST,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_1,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_2,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_3,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_4,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.ORDER_LIST_5,img:"data:image/jpeg;base64,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"}],va=o=>L.jsx(vi,{...o,options:Ea}),Ca=[{value:a.PresetListType.BULLET_LIST,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_1,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_2,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_3,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_4,img:"data:image/jpeg;base64,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"},{value:a.PresetListType.BULLET_LIST_5,img:"data:image/jpeg;base64,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"}],Ta=o=>L.jsx(vi,{...o,options:Ca}),Ci=`${Ye}_ORDER_LIST_TYPE_COMPONENT`,Ti=`${Ye}_BULLET_LIST_TYPE_COMPONENT`,xe={id:"doc.command.tab",type:a.CommandType.COMMAND,async handler(o,t){const n=o.get(T.DocAutoFormatService).onAutoFormat(xe.id,t);return(await a.sequenceExecuteAsync(n,o.get(a.ICommandService))).result}},ut={id:"doc.command.after-space",type:a.CommandType.COMMAND,async handler(o){const e=o.get(T.DocAutoFormatService).onAutoFormat(ut.id);return(await a.sequenceExecuteAsync(e,o.get(a.ICommandService))).result}},qe={id:"doc.command.enter",type:a.CommandType.COMMAND,async handler(o){const e=o.get(T.DocAutoFormatService).onAutoFormat(qe.id);return(await a.sequenceExecuteAsync(e,o.get(a.ICommandService))).result}};function ee(o){return o.getContextValue(a.FOCUSING_DOC)&&o.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&!o.getContextValue(a.FOCUSING_COMMON_DRAWINGS)}function ya(o){return o.getContextValue(a.FOCUSING_DOC)&&o.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&!o.getContextValue(a.FOCUSING_COMMON_DRAWINGS)}const ba={id:xe.id,binding:E.KeyCode.TAB,preconditions:ee},Oa={id:xe.id,binding:E.KeyCode.TAB|E.MetaKeys.SHIFT,preconditions:ee,staticParameters:{shift:!0}};var Ra=Object.getOwnPropertyDescriptor,Da=(o,t,e,n)=>{for(var i=n>1?void 0:n?Ra(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},qn=(o,t)=>(e,n)=>t(e,n,o);const Ba=11,Ma=9,Ft={ff:"Arial",fs:Ba};let Ce=class extends a.Disposable{constructor(t,e,n){super();M(this,"_cacheStyle",null);this._textSelectionManagerService=t,this._univerInstanceService=e,this._renderManagerService=n,this._init()}_init(){this._listenDocRangeChange()}_listenDocRangeChange(){this.disposeWithMe(this._textSelectionManagerService.textSelection$.subscribe(()=>{this._clearStyleCache()}))}getStyleCache(){return this._cacheStyle}getDefaultStyle(){var r;const t=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(t==null)return{...Ft};const e=t==null?void 0:t.getUnitId(),n=(r=this._renderManagerService.getRenderById(e))==null?void 0:r.with(x.DocSkeletonManagerService),i=n==null?void 0:n.getViewModel();return i==null?{...Ft}:i.getEditArea()===B.DocumentEditArea.BODY?{...Ft}:{...Ft,fs:Ma}}setStyleCache(t){this._cacheStyle={...this._cacheStyle,...t}}_clearStyleCache(){this._cacheStyle=null}};Ce=Da([qn(0,a.Inject(x.DocSelectionManagerService)),qn(1,a.IUniverInstanceService),qn(2,B.IRenderManagerService)],Ce);function de(o,t,e){return e.executeCommand(Te.id,{preCommandId:o,...t!=null?t:{}})}const yi="doc.command.set-inline-format-bold",_e={id:yi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(yi,t,e)}},bi="doc.command.set-inline-format-italic",Ne={id:bi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(bi,t,e)}},Oi="doc.command.set-inline-format-underline",Pe={id:Oi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Oi,t,e)}},Ri="doc.command.set-inline-format-strikethrough",Ue={id:Ri,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Ri,t,e)}},Di="doc.command.set-inline-format-subscript",Re={id:Di,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Di,t,e)}},Bi="doc.command.set-inline-format-superscript",we={id:Bi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Bi,t,e)}},Mi="doc.command.set-inline-format-fontsize",Qe={id:Mi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Mi,t,e)}},xi="doc.command.set-inline-format-font-family",Le={id:xi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(xi,t,e)}},_i="doc.command.set-inline-format-text-color",Fe={id:_i,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(_i,t,e)}},Ni="doc.command.set-inline-format-text-background-color",ke={id:Ni,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Ni,t,e)}},Pi="doc.command.reset-inline-format-text-background-color",Je={id:Pi,type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(a.ICommandService);return de(Pi,t,e)}},Jn={[_e.id]:"bl",[Ne.id]:"it",[Pe.id]:"ul",[Ue.id]:"st",[Qe.id]:"fs",[Le.id]:"ff",[Fe.id]:"cl",[ke.id]:"bg",[Je.id]:"bg",[Re.id]:"va",[we.id]:"va"},Te={id:"doc.command.set-inline-format",type:a.CommandType.COMMAND,handler:async(o,t)=>{var R;const{value:e,preCommandId:n}=t,i=o.get(a.ICommandService),s=o.get(x.DocSelectionManagerService),r=o.get(a.IUniverInstanceService),c=o.get(Ce),A=s.getDocRanges(),l=(R=A.find(v=>v.isActive))!=null?R:A[0];if(A.length===0)return!1;const{segmentId:d}=A[0],u=r.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(u==null)return!1;const g=u.getSelfOrHeaderFooterModel(d).getBody();if(g==null)return!1;const h=u.getUnitId();let m;switch(n){case _e.id:case Ne.id:case Pe.id:case Ue.id:case Re.id:case we.id:{const v=c.getDefaultStyle(),b=wi(g,l,v);m=_a(b,n);break}case Qe.id:case Le.id:{m=e;break}case Fe.id:case ke.id:{m={rgb:e};break}case Je.id:{m={rgb:null};break}default:throw new Error(`Unknown command: ${n} in handleInlineFormat`)}const f={id:x.RichTextEditingMutation.id,params:{unitId:h,actions:[],textRanges:A}},p=new a.TextX,S=a.JSONX.getInstance(),I=new a.MemoryCursor;I.reset();for(const v of A){let{startOffset:b,endOffset:O,rangeType:_}=v;if(b==null||O==null)continue;if(_===a.DOC_RANGE_TYPE.RECT&&(b=b-1),b===O){const U=c.getStyleCache(),P=Jn[n];c.setStyleCache({[P]:(U==null?void 0:U[P])!==void 0?Ui(U,P,n):m});continue}const w={dataStream:"",textRuns:[{st:0,ed:O-b,ts:{[Jn[n]]:m}}]},D=b-I.cursor;D!==0&&p.push({t:a.TextXActionType.RETAIN,len:D}),p.push({t:a.TextXActionType.RETAIN,body:w,len:O-b}),I.reset(),I.moveCursor(O)}const C=$(u,d);return f.params.actions=S.editOp(p.serialize(),C),!!i.syncExecuteCommand(f.id,f.params)}};function xa(o){return o!==null&&typeof o=="object"}function Ui(o,t,e){if(/bl|it/.test(t))return(o==null?void 0:o[t])===a.BooleanNumber.TRUE?a.BooleanNumber.FALSE:a.BooleanNumber.TRUE;if(/ul|st/.test(t))return xa(o==null?void 0:o[t])&&(o==null?void 0:o[t]).s===a.BooleanNumber.TRUE?{s:a.BooleanNumber.FALSE}:{s:a.BooleanNumber.TRUE};if(/va/.test(t))return e===Re.id?(o==null?void 0:o[t])===a.BaselineOffset.SUBSCRIPT?a.BaselineOffset.NORMAL:a.BaselineOffset.SUBSCRIPT:(o==null?void 0:o[t])===a.BaselineOffset.SUPERSCRIPT?a.BaselineOffset.NORMAL:a.BaselineOffset.SUPERSCRIPT}function wi(o,t,e){var l,d,u,g,h,m,f,p,S,I,C,y,R,v;const{startOffset:n,endOffset:i,collapsed:s}=t;if(s){const b=(l=o.textRuns)!=null?l:[];let O=null;for(let _=b.length-1;_>=0;_--){const w=b[_];if(w.st<n&&n<=w.ed){O=w;break}}return O!=null&&O.ts?{...e,...O.ts}:e}const{textRuns:r=[]}=a.getBodySlice(o,n,i),c=a.Tools.deepClone(e);c.fs=Math.max(c.fs,...r.map(b=>{var O,_;return(_=(O=b==null?void 0:b.ts)==null?void 0:O.fs)!=null?_:c.fs})),c.ff=(g=(u=(d=r.find(b=>{var O;return((O=b.ts)==null?void 0:O.ff)!=null}))==null?void 0:d.ts)==null?void 0:u.ff)!=null?g:c.ff,c.it=r.length&&r.every(b=>{var O;return((O=b.ts)==null?void 0:O.it)===a.BooleanNumber.TRUE})?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE,c.bl=r.length&&r.every(b=>{var O;return((O=b.ts)==null?void 0:O.bl)===a.BooleanNumber.TRUE})?a.BooleanNumber.TRUE:a.BooleanNumber.FALSE,c.ul=r.length&&r.every(b=>{var O,_;return((_=(O=b.ts)==null?void 0:O.ul)==null?void 0:_.s)===a.BooleanNumber.TRUE})?(h=r[0].ts)==null?void 0:h.ul:c.ul,c.st=r.length&&r.every(b=>{var O,_;return((_=(O=b.ts)==null?void 0:O.st)==null?void 0:_.s)===a.BooleanNumber.TRUE})?(m=r[0].ts)==null?void 0:m.st:c.st,c.bg=(S=(p=(f=r.find(b=>{var O;return((O=b.ts)==null?void 0:O.bg)!=null}))==null?void 0:f.ts)==null?void 0:p.bg)!=null?S:c.bg,c.cl=(y=(C=(I=r.find(b=>{var O;return((O=b.ts)==null?void 0:O.cl)!=null}))==null?void 0:I.ts)==null?void 0:C.cl)!=null?y:c.cl;const A=r.filter(b=>{var O;return((O=b==null?void 0:b.ts)==null?void 0:O.va)!=null});if(A.length>0&&A.length===r.length){const b=(R=A[0].ts)==null?void 0:R.va;let O=!0;for(let _=1;_<A.length;_++)if(((v=A[_].ts)==null?void 0:v.va)!==b){O=!1;break}O&&(c.va=b)}return c}function _a(o,t){const e=Jn[t];return Ui(o,e,t)}const Ze={id:"doc.command.list-operation",type:a.CommandType.COMMAND,handler:(o,t)=>{var I,C;const e=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=t.listType,r=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),c=(I=e.getDocRanges())!=null?I:[];if(r==null||c.length===0)return!1;const A=c[0].segmentId,l=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(l==null)return!1;const d=$e(c,l),u=r.getUnitId(),g={id:x.RichTextEditingMutation.id,params:{unitId:u,actions:[],textRanges:c,isEditing:!1}};new a.MemoryCursor().reset();const m=a.BuildTextUtils.paragraph.bullet.switch({paragraphs:d,listType:s,document:r,segmentId:A}),f=a.JSONX.getInstance(),p=$(r,A);return g.params.actions=f.editOp(m.serialize(),p),!!i.syncExecuteCommand(g.id,g.params)}},ht={id:"doc.command.change-list-type",type:a.CommandType.COMMAND,handler:(o,t)=>{var I,C;const e=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),{listType:s}=t,r=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),c=e.getDocRanges();if(r==null||c==null||!c.length)return!1;const{segmentId:A}=c[0],l=(I=e.getDocRanges())!=null?I:[],d=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(d==null)return!1;const u=$e(l,d),g=r.getUnitId(),h=a.BuildTextUtils.paragraph.bullet.set({paragraphs:u,listType:s,segmentId:A,document:r});if(!h)return!1;const m=a.JSONX.getInstance(),f={id:x.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:l,isEditing:!1}},p=$(r,A);return f.params.actions=m.editOp(h.serialize(),p),!!i.syncExecuteCommand(f.id,f.params)}};var gt=(o=>(o[o.increase=1]="increase",o[o.decrease=-1]="decrease",o))(gt||{});const kt={id:"doc.command.change-list-nesting-level",type:a.CommandType.COMMAND,handler:(o,t)=>{var I,C;if(!t)return!1;const{type:e}=t,n=o.get(x.DocSelectionManagerService),i=o.get(a.IUniverInstanceService),s=o.get(a.ICommandService),r=i.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),c=n.getActiveTextRange();if(r==null||c==null)return!1;const{segmentId:A}=c,l=(I=n.getDocRanges())!=null?I:[],d=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(d==null)return!1;const u=Wt(c,d),g=r.getUnitId(),h=a.JSONX.getInstance(),m=a.BuildTextUtils.paragraph.bullet.changeNestLevel({paragraphs:u,type:e,segmentId:A,document:r}),f={id:x.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:l,isEditing:!1}},p=$(r,A);return f.params.actions=h.editOp(m.serialize(),p),!!s.syncExecuteCommand(f.id,f.params)}},mt={id:"doc.command.bullet-list",type:a.CommandType.COMMAND,handler:(o,t)=>{const e=o.get(a.ICommandService);return t!=null&&t.value?e.syncExecuteCommand(ht.id,{listType:t.value}):e.syncExecuteCommand(Ze.id,{listType:a.PresetListType.BULLET_LIST})}},Ht={id:"doc.command.check-list",type:a.CommandType.COMMAND,handler:(o,t)=>{const e=o.get(a.ICommandService);return t!=null&&t.value?e.syncExecuteCommand(ht.id,{listType:t.value}):e.syncExecuteCommand(Ze.id,{listType:a.PresetListType.CHECK_LIST})}},Vt={id:"doc.command.toggle-check-list",type:a.CommandType.COMMAND,handler:(o,t)=>{var f;if(!t)return!1;const e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),{index:i,segmentId:s,textRanges:r}=t,c=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(c==null||((f=c.getSelfOrHeaderFooterModel(s).getBody())==null?void 0:f.paragraphs)==null)return!1;const l=c.getUnitId(),d={id:x.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:r!=null?r:[],segmentId:s,isEditing:!1}},u=a.BuildTextUtils.paragraph.bullet.toggleChecklist({document:c,paragraphIndex:i,segmentId:s});if(!u)return!1;const g=a.JSONX.getInstance(),h=$(c,s);return d.params.actions=g.editOp(u.serialize(),h),!!n.syncExecuteCommand(d.id,d.params)}},ft={id:"doc.command.order-list",type:a.CommandType.COMMAND,handler:(o,t)=>{const e=o.get(a.ICommandService);return t!=null&&t.value?e.syncExecuteCommand(ht.id,{listType:t.value}):e.syncExecuteCommand(Ze.id,{listType:a.PresetListType.ORDER_LIST})}},Zn={id:"doc.command.quick-list",type:a.CommandType.COMMAND,handler(o,t){var K,X,J,j,z;if(!t)return!1;const e=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=e.getActiveTextRange();if(s==null||r==null)return!1;const{segmentId:c}=r,{listType:A,paragraph:l}=t,{paragraphStart:d,paragraphEnd:u}=l,g=new a.TextX,h=a.JSONX.getInstance(),{defaultTabStop:m=36}=s.getSnapshot().documentStyle,f=(X=(K=s.getSelfOrHeaderFooterModel(c).getBody())==null?void 0:K.sectionBreaks)!=null?X:[],{startIndex:p,paragraphStyle:S={}}=l,{indentFirstLine:I,snapToGrid:C,indentStart:y}=S,R=a.PRESET_LIST_TYPE[A].nestingLevel[0].paragraphProperties||{},{hanging:v,indentStart:b}=R,O=R.textStyle,{charSpace:_,gridType:w}=Na(p,f)||{charSpace:0,gridType:a.GridType.LINES},D=B.getCharSpaceApply(_,m,w,C);let P=a.Tools.generateRandomId(6);const k=(j=(J=s.getBody())==null?void 0:J.paragraphs)!=null?j:[],H=k.findIndex(Z=>Z.startIndex===l.startIndex),Q=k[H-1],G=k[H+1];Q&&Q.bullet&&Q.bullet.listType.indexOf(A)===0?P=Q.bullet.listId:G&&G.bullet&&G.bullet.listType.indexOf(A)===0&&(P=G.bullet.listId);const Y={id:x.RichTextEditingMutation.id,params:{unitId:s.getUnitId(),actions:[],textRanges:[{startOffset:d,endOffset:d,collapsed:!0}],isEditing:!1}};g.push({t:a.TextXActionType.RETAIN,len:d}),g.push({t:a.TextXActionType.DELETE,len:u-d}),g.push({t:a.TextXActionType.RETAIN,len:1,body:{dataStream:"",paragraphs:[{startIndex:0,paragraphStyle:{...S,textStyle:{...S.textStyle,...O},indentFirstLine:void 0,hanging:v,indentStart:{v:B.getNumberUnitValue(b,D)-B.getNumberUnitValue(v,D)+B.getNumberUnitValue(I,D)+B.getNumberUnitValue(y,D)}},bullet:{...(z=l.bullet)!=null?z:{nestingLevel:0,textStyle:{fs:20}},listType:A,listId:P}}]}});const W=$(s,c);return Y.params.actions=h.editOp(g.serialize(),W),!!i.syncExecuteCommand(Y.id,Y.params)}};function Wt(o,t){const{startOffset:e,endOffset:n}=o,i=[];let s=-1;for(const r of t){const{startIndex:c}=r;(e>s&&e<=c||n>s&&n<=c||c>=e&&c<=n)&&i.push(r),s=c}return i}function $e(o,t){const e=[];for(const n of o){const i=Wt(n,t);e.push(...i)}return e}function Na(o,t){const e=t.sort(a.sortRulesFactory("startIndex"));for(let n=0;n<e.length;n++){const i=t[n];if(i.startIndex>=o)return i}}const ge={id:"doc.command.align-action",type:a.CommandType.COMMAND,handler:(o,t)=>{var C;const e=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),{alignType:s}=t,r=n.getCurrentUniverDocInstance();if(r==null)return!1;const c=e.getDocRanges();if(c.length===0)return!1;const A=c[0].segmentId,l=(C=r.getSelfOrHeaderFooterModel(A).getBody())==null?void 0:C.paragraphs;if(l==null)return!1;const d=$e(c,l),u=r.getUnitId(),g=d.every(y=>{var R;return((R=y.paragraphStyle)==null?void 0:R.horizontalAlign)===s}),h={id:x.RichTextEditingMutation.id,params:{unitId:u,actions:[],textRanges:c}},m=new a.MemoryCursor;m.reset();const f=new a.TextX,p=a.JSONX.getInstance();for(const y of d){const{startIndex:R}=y;f.push({t:a.TextXActionType.RETAIN,len:R-m.cursor});const v={...y.paragraphStyle,horizontalAlign:g?a.HorizontalAlign.UNSPECIFIED:s};f.push({t:a.TextXActionType.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...y,paragraphStyle:v,startIndex:0}]},coverType:a.UpdateDocsAttributeType.REPLACE}),m.moveCursorTo(R+1)}const S=$(r,A);return h.params.actions=p.editOp(f.serialize(),S),!!i.syncExecuteCommand(h.id,h.params)}},pt={id:"doc.command.align-left",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.LEFT})},St={id:"doc.command.align-center",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.CENTER})},It={id:"doc.command.align-right",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.RIGHT})},Et={id:"doc.command.align-justify",type:a.CommandType.COMMAND,handler:o=>o.get(a.ICommandService).syncExecuteCommand(ge.id,{alignType:a.HorizontalAlign.JUSTIFIED})},Pa={id:_e.id,binding:E.KeyCode.B|E.MetaKeys.CTRL_COMMAND,preconditions:ee},Ua={id:Ne.id,binding:E.KeyCode.I|E.MetaKeys.CTRL_COMMAND,preconditions:ee},wa={id:Pe.id,binding:E.KeyCode.U|E.MetaKeys.CTRL_COMMAND,preconditions:ee},Qa={id:Ue.id,binding:E.KeyCode.X|E.MetaKeys.SHIFT|E.MetaKeys.CTRL_COMMAND,preconditions:ee},La={id:Re.id,binding:E.KeyCode.COMMA|E.MetaKeys.CTRL_COMMAND,preconditions:ee},Fa={id:we.id,binding:E.KeyCode.PERIOD|E.MetaKeys.CTRL_COMMAND,preconditions:ee},ka={id:pt.id,binding:E.KeyCode.L|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:ee},Ha={id:It.id,binding:E.KeyCode.R|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:ee},Va={id:St.id,binding:E.KeyCode.E|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:ee},Wa={id:Et.id,binding:E.KeyCode.J|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:ee},Ka={id:ft.id,binding:E.KeyCode.Digit7|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:ee},za={id:mt.id,binding:E.KeyCode.Digit8|E.MetaKeys.CTRL_COMMAND|E.MetaKeys.SHIFT,preconditions:ee},ja={docCountBar:"univer-doc-count-bar"},Ga=(o,t)=>{const e=o.get(a.IUniverInstanceService).getUniverDocInstance(t.unitId),n=(e==null?void 0:e.zoomRatio)||1;return{...a.Tools.deepClone(t),zoomRatio:n}},ue={id:"doc.operation.set-zoom-ratio",type:a.CommandType.OPERATION,handler:(o,t)=>{const e=o.get(a.IUniverInstanceService).getUniverDocInstance(t.unitId);if(!e)return!1;const n=e.getSnapshot();return n.settings==null?n.settings={zoomRatio:t.zoomRatio}:n.settings.zoomRatio=t.zoomRatio,!0}},Xa=[50,80,100,130,150,170,200,400],Ya=[10,400];function qa(){const o=E.useDependency(a.ICommandService),t=E.useDependency(a.IUniverInstanceService),e=F.useMemo(()=>t.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_DOC),[]),n=E.useObservable(e),i=F.useCallback(()=>{var l,d;if(!n)return 100;const A=((d=(l=n.getSettings())==null?void 0:l.zoomRatio)!=null?d:1)*100;return Math.round(A)},[n]),[s,r]=F.useState(()=>i());F.useEffect(()=>(r(i()),o.onCommandExecuted(l=>{if(l.id===ue.id){const d=i();r(d)}}).dispose),[o,i]);function c(A){if(r(A),n==null)return;const l=A/100;o.executeCommand(ue.id,{unitId:n.getUnitId(),zoomRatio:l})}return L.jsx(E.Slider,{min:Ya[0],value:s,shortcuts:Xa,onChange:c})}function Ja(o){return L.jsx("section",{className:ja.docCountBar,children:L.jsx(qa,{})})}const Za={docFooterContainer:"univer-doc-footer-container"},$a=()=>{const o=E.useDependency(a.IUniverInstanceService);return E.useObservable(()=>o.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[])?null:L.jsxs("div",{className:Za.docFooterContainer,children:[L.jsx("div",{}),L.jsx(Ja,{})]})},$n="docs-ui.config",Qi={layout:{docContainerConfig:ko,toolbarConfig:Fo}};var Kt=(o=>(o[o.ABOVE=0]="ABOVE",o[o.BELLOW=1]="BELLOW",o))(Kt||{}),eo=(o=>(o[o.LEFT=0]="LEFT",o[o.RIGHT=1]="RIGHT",o))(eo||{});function er(o,t){let e=a.DataStreamTreeTokenType.TABLE_START;const n=[],i=[];for(let s=0;s<o;s++){e+=a.DataStreamTreeTokenType.TABLE_ROW_START;for(let r=0;r<t;r++)e+=`${a.DataStreamTreeTokenType.TABLE_CELL_START}\r
26
+ ${a.DataStreamTreeTokenType.TABLE_CELL_END}`,n.push({startIndex:e.length-3,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),i.push({startIndex:e.length-2});e+=a.DataStreamTreeTokenType.TABLE_ROW_END}return e+=a.DataStreamTreeTokenType.TABLE_END,{dataStream:e,paragraphs:n,sectionBreaks:i}}function zt(){return{margin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}}}}function jt(o){const t=zt();return{tableCells:[...new Array(o).fill(null).map(()=>a.Tools.deepClone(t))],trHeight:{val:{v:30},hRule:a.TableRowHeightRule.AUTO}}}function Gt(o){return{size:{type:a.TableSizeType.SPECIFIED,width:{v:o}}}}function to(o,t,e){const n=Gt(e/t),i=jt(t),s=[...new Array(o).fill(null).map(()=>a.Tools.deepClone(i))],r=[...new Array(t).fill(null).map(()=>a.Tools.deepClone(n))],c=a.generateRandomId(6);return{tableRows:s,tableColumns:r,tableId:c,align:a.TableAlignmentType.START,indent:{v:0},textWrap:a.TableTextWrapType.NONE,position:{positionH:{relativeFrom:a.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:a.ObjectRelativeFromV.PAGE,posOffset:0}},dist:{distB:0,distL:0,distR:0,distT:0},cellMargin:{start:{v:10},end:{v:10},top:{v:5},bottom:{v:5}},size:{type:a.TableSizeType.UNSPECIFIED,width:{v:e}}}}function vt(o,t){if(!o&&!t)return null;if(t&&t.length>0){let e=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;const i="";for(const s of t){const{startOffset:r,endOffset:c,segmentId:A}=s;r==null||c==null||A==null||(e=Math.min(e,r),n=Math.max(n,c))}if(Number.isFinite(e)&&Number.isFinite(n))return{startOffset:e,endOffset:n,segmentId:i}}else if(o){const{startOffset:e,endOffset:n,segmentId:i}=o;return e==null||n==null||i==null?null:{startOffset:e,endOffset:n,segmentId:i}}}function tr(o){let t=a.DataStreamTreeTokenType.TABLE_ROW_START;const e=[],n=[];for(let i=0;i<o;i++)t+=`${a.DataStreamTreeTokenType.TABLE_CELL_START}\r
27
+ ${a.DataStreamTreeTokenType.TABLE_CELL_END}`,e.push({startIndex:t.length-3,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),n.push({startIndex:t.length-2});return t+=a.DataStreamTreeTokenType.TABLE_ROW_END,{dataStream:t,paragraphs:e,sectionBreaks:n}}function nr(){const o=`${a.DataStreamTreeTokenType.TABLE_CELL_START}\r
28
+ ${a.DataStreamTreeTokenType.TABLE_CELL_END}`,t=[],e=[];return t.push({startIndex:1,paragraphStyle:{spaceAbove:{v:3},lineSpacing:2,spaceBelow:{v:0}}}),e.push({startIndex:2}),{dataStream:o,paragraphs:t,sectionBreaks:e}}function or(o,t,e){var u,g,h;const{startOffset:n,endOffset:i,segmentId:s}=o,r=e.getSelfOrHeaderFooterViewModel(s),c=t===0?n:i;let A=null;const l=(h=(g=(u=e.getBody())==null?void 0:u.tables)==null?void 0:g.find(m=>c>=m.startIndex&&c<=m.endIndex))==null?void 0:h.tableId;let d=0;for(const m of r.getChildren()){for(const f of m.children){const{children:p}=f,S=p[0];if(S){for(const I of S.children)if(I.startIndex<=c&&c<=I.endIndex){d=S.children.indexOf(I),A=I;break}}if(A)break}if(A)break}return A==null||l==null?null:{offset:t===0?A.startIndex:A.endIndex+1,colCount:A.children.length,tableId:l,insertRowIndex:t===0?d:d+1}}function ir(o,t,e){var h,m,f;const{startOffset:n,endOffset:i,segmentId:s}=o,r=e.getSelfOrHeaderFooterViewModel(s),c=t===0?n:i,A=(f=(m=(h=e.getBody())==null?void 0:h.tables)==null?void 0:m.find(p=>c>=p.startIndex&&c<=p.endIndex))==null?void 0:f.tableId,l=[];let d=null,u=-1;for(const p of r.getChildren()){for(const S of p.children){const{children:I}=S,C=I[0];if(C){if(c<C.startIndex||c>C.endIndex)continue;d=C;for(const y of C.children){for(const R of y.children){const v=y.children.indexOf(R);if(c>=R.startIndex&&c<=R.endIndex){u=v;break}}if(u!==-1)break}}if(d)break}if(d)break}if(d==null||A==null||u===-1)return null;let g=0;for(const p of d.children){const S=p.children[u],I=t===0?S.startIndex:S.endIndex+1;l.push(I-g),g=I}return{offsets:l,tableId:A,columnIndex:u,rowCount:d.children.length}}function sr(o,t,e){const n=[];let i=t[e].size.width.v,s=0;for(let r=0;r<t.length;r++)s+=t[r].size.width.v;s+=i;for(let r=0;r<t.length;r++)n.push(t[r].size.width.v/s*o);return i=i/s*o,{widths:n,newColWidth:i}}function Li(o,t){var g,h,m;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(m=(h=(g=t.getBody())==null?void 0:g.tables)==null?void 0:h.find(f=>e>=f.startIndex&&n<=f.endIndex))==null?void 0:m.tableId,c=[];let A=-1,l=0,d=-1,u=!1;for(const f of s.getChildren()){for(const p of f.children){const{children:S}=p,I=S[0];if(I){if(e<I.startIndex||n>I.endIndex)continue;d=I.startIndex+3;for(const C of I.children){const y=I.children.indexOf(C),{startIndex:R,endIndex:v}=C;e>=R&&e<=v?(A=R,c.push(y),l+=v-R+1):(R>e&&v<n||n>=R&&n<=v)&&(c.push(y),l+=v-R+1),c.length===I.children.length&&(u=!0)}}if(c.length)break}if(c.length)break}return r==null||c.length===0?null:{tableId:r,rowIndexes:c,offset:A,len:l,cursor:d,selectWholeTable:u}}function ar(o,t){var m,f,p;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(p=(f=(m=t.getBody())==null?void 0:m.tables)==null?void 0:f.find(S=>e>=S.startIndex&&n<=S.endIndex))==null?void 0:p.tableId,c=[];let A=null;const l=[];let d=-1,u=-1,g=-1;for(const S of s.getChildren()){for(const I of S.children){const{children:C}=I,y=C[0];if(y){if(e<y.startIndex||n>y.endIndex)continue;A=y;for(const R of y.children)for(const v of R.children){const b=R.children.indexOf(v);e>=v.startIndex&&e<=v.endIndex&&(u=b),n>=v.startIndex&&n<=v.endIndex&&(g=b)}}if(A)break}if(A)break}if(A==null||r==null)return null;for(let S=u;S<=g;S++)l.push(S);let h=0;for(const S of A.children){const I=S.children[u],C=S.children[g];c.push({retain:I.startIndex-h,delete:C.endIndex-I.startIndex+1}),h=C.endIndex+1}return d=A.startIndex+3,{offsets:c,tableId:r,columnIndexes:l,cursor:d,selectWholeTable:l.length===A.children[0].children.length,rowCount:A.children.length}}function Fi(o,t){var d,u,g;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(g=(u=(d=t.getBody())==null?void 0:d.tables)==null?void 0:u.find(h=>e>=h.startIndex&&n<=h.endIndex))==null?void 0:g.tableId;let c=-1,A=0,l=-1;for(const h of s.getChildren()){for(const m of h.children){const{children:f}=m,p=f[0];if(p){if(e<p.startIndex||n>p.endIndex)continue;c=p.startIndex,A=p.endIndex-p.startIndex+1,l=p.startIndex}if(p)break}if(A>0)break}return r==null?null:{tableId:r,offset:c,len:A,cursor:l}}function rr(o,t){var m,f,p;const{startOffset:e,endOffset:n,segmentId:i}=o,s=t.getSelfOrHeaderFooterViewModel(i),r=(p=(f=(m=t.getBody())==null?void 0:m.tables)==null?void 0:f.find(S=>e>=S.startIndex&&n<=S.endIndex))==null?void 0:p.tableId,c=[];let A=null,l=-1,d=-1,u=-1,g=-1;for(const S of s.getChildren()){for(const I of S.children){const{children:C}=I,y=C[0];if(y){if(e<y.startIndex||n>y.endIndex)continue;A=y;for(const R of y.children){const v=y.children.indexOf(R);for(const b of R.children){const O=R.children.indexOf(b);e>=b.startIndex&&e<=b.endIndex&&(d=v,u=O),n>=b.startIndex&&n<=b.endIndex&&(g=O)}}}if(A)break}if(A)break}if(A==null||r==null||d===-1)return null;const h=A.children[d];for(let S=u;S<=g;S++){const I=h.children[S];c.push({retain:I.startIndex+1,delete:I.endIndex-I.startIndex-3})}return l=A.startIndex+3,{offsets:c,tableId:r,cursor:l,rowCount:A.children.length}}var no=(o=>(o[o.NEXT=0]="NEXT",o[o.PREV=1]="PREV",o))(no||{});function ki(o,t,e){const{startOffset:n}=t;let i=null;for(const l of o.getChildren()){for(const d of l.children){const u=d.children[0];if(u&&n>u.startIndex&&n<u.endIndex){i=u;break}}if(i)break}if(i==null)return null;let s=-1,r=-1,c=null;for(const l of i.children){for(const d of l.children)if(n>d.startIndex&&n<d.endIndex){s=l.children.indexOf(d),r=i.children.indexOf(l),c=l;break}if(s>-1)break}if(s===-1||r===-1||c==null)return null;let A=null;if(e===0){if(A=c.children[s+1],!A){const l=i.children[r+1];l&&(A=l.children[0])}}else if(A=c.children[s-1],!A){const l=i.children[r-1];l&&(A=l.children[l.children.length-1])}if(A){const{startIndex:l,endIndex:d}=A;return{startOffset:l+1,endOffset:d-2}}}function Hi(o,t){const e=[],{customBlocks:n=[]}=o;for(const i of t){const{startOffset:s,endOffset:r}=i;if(!(s==null||r==null))for(const c of n){const{startIndex:A}=c;A>=s&&A<r&&e.push(c.blockId)}}return e}function cr(o){return o.some(t=>{const{startNodePosition:e}=t;return e?(e==null?void 0:e.path.indexOf("cells"))>-1:!1})}const Ar=a.SHEET_EDITOR_UNITS,oo={id:"doc.command.inner-paste",type:a.CommandType.COMMAND,handler:async(o,t)=>{var _,w,D,U,P,k;const{segmentId:e,textRanges:n,doc:i}=t,s=o.get(a.ICommandService),r=o.get(x.DocSelectionManagerService),c=o.get(a.IUniverInstanceService),A=r.getTextRanges(),l=r.getRectRanges(),{body:d,tableSource:u,drawings:g}=i;if(!Array.isArray(A)||A.length===0||d==null)return!1;const h=c.getCurrentUniverDocInstance(),m=h==null?void 0:h.getSelfOrHeaderFooterModel(e).getBody();if(h==null||m==null)return!1;const f=h.getUnitId(),p={id:x.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:n,segmentId:e}},S=new a.MemoryCursor;S.reset();const I=new a.TextX,C=a.JSONX.getInstance(),y=[],R=!!((_=d.tables)!=null&&_.length),v=!!((w=d.customBlocks)!=null&&w.length);if(R&&e||R&&cr(A)||A.length&&(l!=null&&l.length))return!1;for(let H=0;H<A.length;H++){const Q=A[H],{startOffset:G,endOffset:Y,collapsed:W}=Q,V=G-S.cursor,K=a.Tools.deepClone(d);if(R)for(const j of K.tables){const{tableId:z}=j,Z=a.Tools.generateRandomId(6);j.tableId=Z;const ie=a.Tools.deepClone(u[z]);ie.tableId=Z;const fe=C.insertOp(["tableSource",Z],ie);y.push(fe)}if(v&&g){const j=(U=(D=h.getSnapshot().drawingsOrder)==null?void 0:D.length)!=null?U:0;for(const z of K.customBlocks){const{blockId:Z}=z,ie=a.Tools.generateRandomId(6);z.blockId=ie;const fe=a.Tools.deepClone(g[Z]);fe.drawingId=ie;const Be=C.insertOp(["drawings",ie],fe),pe=C.insertOp(["drawingsOrder",j],ie);y.push(Be),y.push(pe)}}const X=Rn((P=m.customRanges)!=null?P:[],Y,Ar.includes(f)),J=Dn((k=m.customDecorations)!=null?k:[],Y);if(X&&(K.customRanges=[{...X,startIndex:0,endIndex:d.dataStream.length-1}]),J.length&&(K.customDecorations=J.map(j=>({...j,startIndex:0,endIndex:d.dataStream.length-1}))),W)I.push({t:a.TextXActionType.RETAIN,len:V}),I.push({t:a.TextXActionType.INSERT,body:K,len:d.dataStream.length});else{const j=a.BuildTextUtils.selection.delete([Q],d,S.cursor,K,A.length===1);I.push(...j)}S.reset(),S.moveCursor(Y)}const b=$(h,e);return y.push(C.editOp(I.serialize(),b)),p.params.actions=y.reduce((H,Q)=>a.JSONX.compose(H,Q),null),!!s.syncExecuteCommand(p.id,p.params)}};function lr(o,t){const{startOffset:e,endOffset:n}=o,i=t.some(r=>r.startIndex===n),s=Math.max(e,i?n-1:n);return{...o,endOffset:s,collapsed:e===s}}function dr(o,t,e){var m,f;const n=t.getSelfOrHeaderFooterModel(e).getBody(),i=new a.TextX,s=a.JSONX.getInstance(),r=[];if(n==null)return r;const{tables:c=[]}=n,A=new a.MemoryCursor;A.reset();for(let p=0;p<o.length;p++){const S=lr(o[p],c),{startOffset:I,endOffset:C,collapsed:y}=S,R=I-A.cursor;y?i.push({t:a.TextXActionType.RETAIN,len:R}):i.push(...a.BuildTextUtils.selection.delete([S],n,A.cursor,null,!1)),A.reset(),A.moveCursor(C)}const l=$(t,e);r.push(s.editOp(i.serialize(),l));const d=Hi(n,o),u=(m=t.getDrawings())!=null?m:{},g=(f=t.getDrawingsOrder())!=null?f:[],h=d.sort((p,S)=>g.indexOf(p)>g.indexOf(S)?-1:g.indexOf(p)<g.indexOf(S)?1:0);if(h.length>0)for(const p of h){const S=u[p],I=g.indexOf(p);if(S==null||I<0)continue;const C=s.removeOp(["drawings",p],S),y=s.removeOp(["drawingsOrder",I],p);r.push(C),r.push(y)}return r.reduce((p,S)=>a.JSONX.compose(p,S),null)}function ur(o,t,e,n){const i=[];if(t.getSelfOrHeaderFooterModel(n).getBody()==null)return i;const r=new a.TextX,c=a.JSONX.getInstance(),A=new a.MemoryCursor;A.reset();for(const d of o){const{startOffset:u,endOffset:g,spanEntireRow:h,spanEntireTable:m}=d;if(!(u==null||g==null))if(m){const f=Fi({startOffset:u,endOffset:g,segmentId:n},e);if(f==null)continue;const{offset:p,len:S,tableId:I}=f;p-A.cursor>0&&r.push({t:a.TextXActionType.RETAIN,len:p-A.cursor}),r.push({t:a.TextXActionType.DELETE,len:S});const C=c.removeOp(["tableSource",I]);i.push(C),A.moveCursorTo(p+S)}else if(h){const f=Li({startOffset:u,endOffset:g,segmentId:n},e);if(f==null)continue;const{offset:p,rowIndexes:S,len:I,tableId:C}=f;p-A.cursor>0&&r.push({t:a.TextXActionType.RETAIN,len:p-A.cursor}),r.push({t:a.TextXActionType.DELETE,len:I});for(const y of S.reverse()){const R=c.removeOp(["tableSource",C,"tableRows",y]);i.push(R)}A.moveCursorTo(p+I)}else{const f=rr({startOffset:u,endOffset:g,segmentId:n},e);if(f==null)continue;const{offsets:p}=f;for(const S of p){const{retain:I,delete:C}=S;I-A.cursor>0&&r.push({t:a.TextXActionType.RETAIN,len:I-A.cursor}),r.push({t:a.TextXActionType.DELETE,len:C}),A.moveCursorTo(I+C)}}}const l=$(t,n);return i.push(c.editOp(r.serialize(),l)),i.reduce((d,u)=>a.JSONX.compose(d,u),null)}function Vi(o,t,e,n,i){let s=[];if(Array.isArray(o)&&(o==null?void 0:o.length)!==0&&(s=dr(o,e,i)),Array.isArray(t)&&(t==null?void 0:t.length)!==0){const r=ur(t,e,n,i);s==null||s.length===0?s=r:s=a.JSONX.compose(s,a.JSONX.transform(r,s,"right"))}return s}const He={id:"doc.command.inner-cut",type:a.CommandType.COMMAND,handler:async(o,t)=>{var f,p;const{segmentId:e,textRanges:n}=t,i=o.get(a.ICommandService),s=o.get(x.DocSelectionManagerService),r=o.get(a.IUniverInstanceService),c=(f=t.selections)!=null?f:s.getTextRanges(),A=s.getRectRanges();if((!Array.isArray(c)||c.length===0)&&(!Array.isArray(A)||A.length===0))return!1;const l=(p=r.getCurrentUniverDocInstance())==null?void 0:p.getUnitId();if(!l)return!1;const d=r.getUniverDocInstance(l);if(d==null)return!1;const u=re(o,l);if(u==null)return!1;const g=u.getViewModel(),h={id:x.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:n}};return h.params.actions=Vi(c,A,d,g,e),!!i.syncExecuteCommand(h.id,h.params)}};var oe=(o=>(o[o.LEFT=0]="LEFT",o[o.RIGHT=1]="RIGHT",o))(oe||{});const Wi="doc.command.insert-text",Xt={id:Wi,type:a.CommandType.COMMAND,handler:async(o,t)=>{var v;const e=o.get(a.ICommandService),{range:n,segmentId:i,body:s,unitId:r,cursorOffset:c}=t,A=o.get(x.DocSelectionManagerService),d=o.get(a.IUniverInstanceService).getUnit(r,a.UniverInstanceType.UNIVER_DOC);if(d==null)return!1;const u=A.getActiveTextRange(),g=d.getSelfOrHeaderFooterModel((v=u==null?void 0:u.segmentId)!=null?v:"").getBody();if(g==null)return!1;const{startOffset:h,collapsed:m}=n,f=c!=null?c:s.dataStream.length,p=[{startOffset:h+f,endOffset:h+f,style:u==null?void 0:u.style,collapsed:m}],S={id:x.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:p,debounce:!0}},I=new a.TextX,C=a.JSONX.getInstance();if(m)h>0&&I.push({t:a.TextXActionType.RETAIN,len:h}),I.push({t:a.TextXActionType.INSERT,body:s,len:s.dataStream.length});else{const b=a.BuildTextUtils.selection.delete([n],g,0,s);I.push(...b)}S.params.textRanges=[{startOffset:h+f,endOffset:h+f,collapsed:m}];const y=$(d,i);return S.params.actions=C.editOp(I.serialize(),y),!!e.syncExecuteCommand(S.id,S.params)}},et={id:"doc.command.delete-text",type:a.CommandType.COMMAND,handler:async(o,t)=>{var R;const e=o.get(a.ICommandService),n=o.get(a.IUniverInstanceService),{range:i,segmentId:s,unitId:r,direction:c,len:A=1}=t,l=n.getUnit(r,a.UniverInstanceType.UNIVER_DOC),d=l==null?void 0:l.getSelfOrHeaderFooterModel(s).getBody();if(l==null||d==null)return!1;const{startOffset:u}=i;let g=c===oe.LEFT?u-A:u,h=c===oe.LEFT?u-1:u+A-1;const m=(R=d.customRanges)==null?void 0:R.find(v=>v.startIndex<=g&&v.endIndex>=h);m!=null&&m.wholeEntity&&(g=m.startIndex,h=Math.max(h,m.endIndex));const f={id:x.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:[{startOffset:g,endOffset:g,collapsed:!0}],debounce:!0}},p=new a.TextX,S=a.JSONX.getInstance();p.push({t:a.TextXActionType.RETAIN,len:g-0}),p.push({t:a.TextXActionType.DELETE,len:h-g+1});const C=$(l,s);return f.params.actions=S.editOp(p.serialize(),C),!!e.syncExecuteCommand(f.id,f.params)}},io={id:"doc.command.update-text",type:a.CommandType.COMMAND,handler:async(o,t)=>{const{range:e,segmentId:n,updateBody:i,coverType:s,unitId:r,textRanges:c}=t,A=o.get(a.ICommandService),d=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(d==null)return!1;const u={id:x.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:c}},g=new a.TextX,h=a.JSONX.getInstance(),{startOffset:m,endOffset:f}=e;g.push({t:a.TextXActionType.RETAIN,len:m}),g.push({t:a.TextXActionType.RETAIN,body:i,len:f-m,coverType:s});const p=$(d,n);return u.params.actions=h.editOp(g.serialize(),p),!!A.syncExecuteCommand(u.id,u.params)}},Yt={id:"doc.command.delete-custom-block",type:a.CommandType.COMMAND,handler:async(o,t)=>{var D;const e=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=e.getActiveTextRange(),r=n.getCurrentUniverDocInstance();if(s==null||r==null)return!1;const{direction:c,range:A,unitId:l,drawingId:d}=t,{startOffset:u,segmentId:g,style:h}=s,m=c===oe.LEFT?u-1:u,f=[{startOffset:m,endOffset:m,style:h}],p={id:x.RichTextEditingMutation.id,params:{unitId:l,actions:[],textRanges:f,prevTextRanges:[A]}},S=new a.TextX,I=a.JSONX.getInstance(),C=[];u>0&&S.push({t:a.TextXActionType.RETAIN,len:c===oe.LEFT?u-1:u}),S.push({t:a.TextXActionType.DELETE,len:1});const y=$(r,g);C.push(I.editOp(S.serialize(),y));const R=((D=r.getDrawings())!=null?D:{})[d],b=r.getDrawingsOrder().indexOf(d),O=I.removeOp(["drawings",d],R),_=I.removeOp(["drawingsOrder",b],d);return C.push(O),C.push(_),p.params.actions=C.reduce((U,P)=>a.JSONX.compose(U,P),null),!!i.syncExecuteCommand(p.id,p.params)}},qt={id:"doc.command.merge-two-paragraph",type:a.CommandType.COMMAND,handler:async(o,t)=>{const e=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),{direction:s,range:r}=t,c=e.getActiveTextRange(),A=e.getTextRanges();if(c==null||A==null)return!1;const{segmentId:l,style:d}=c,u=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),g=u==null?void 0:u.getSelfOrHeaderFooterModel(l).getBody();if(u==null||g==null)return!1;const h=c,m=u.getUnitId(),{startOffset:f,collapsed:p}=h;if(!p)return!1;const S=s===oe.LEFT?f:f+1;let I,C;for(const D of g.paragraphs){if(D.startIndex>=S){C=D;break}I=D}if(I==null||C==null)return!1;const y=s===oe.LEFT?f-1:f,R=[{startOffset:y,endOffset:y,style:d}],v={id:x.RichTextEditingMutation.id,params:{unitId:m,actions:[],textRanges:R,prevTextRanges:[r]}},b=new a.TextX,O=a.JSONX.getInstance();I.startIndex>0&&b.push({t:a.TextXActionType.RETAIN,len:I.startIndex}),b.push({t:a.TextXActionType.DELETE,len:1}),C.startIndex>I.startIndex+1&&b.push({t:a.TextXActionType.RETAIN,len:C.startIndex-I.startIndex-1}),b.push({t:a.TextXActionType.RETAIN,len:1,coverType:a.UpdateDocsAttributeType.REPLACE,body:{dataStream:"",paragraphs:[{...a.Tools.deepClone(I),startIndex:0}]}});const _=$(u,l);return v.params.actions=O.editOp(b.serialize(),_),!!i.syncExecuteCommand(v.id,v.params)}};function Jt(o,t){let e=0;if(o==null||o.length===0){if(typeof t[0].startOffset=="number"){const n=t[0],{spanEntireRow:i,spanEntireTable:s}=n;s?e=n.startOffset-3:i?n.startRow>0?e=n.startOffset-6:e=n.startOffset:e=t[0].startOffset}}else if(o.length>0&&t.length>0){const n=o[0],i=t[0];if(n.startOffset!=null&&i.startOffset!=null){if(n.startOffset<i.startOffset)e=n.startOffset;else if(n.startOffset>=i.startOffset){const{spanEntireRow:s,spanEntireTable:r}=i;r?e=i.startOffset-3:s&&(e=i.startOffset-6)}}}return e}const Ct={id:"doc.command.delete-left",type:a.CommandType.COMMAND,handler:async o=>{var _,w;const t=o.get(x.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService);let i=!0;const s=e.getCurrentUniverDocInstance();if(s==null)return!1;const r=s.getUnitId(),c=re(o,r),A=t.getActiveTextRange(),l=t.getRectRanges(),d=t.getTextRanges(),u=c==null?void 0:c.getSkeleton();if(u==null)return!1;if(l!=null&&l.length){const D=Jt(d,l),U=l[0].segmentId,P=[{startOffset:D,endOffset:D}];return n.executeCommand(He.id,{segmentId:U,textRanges:P})}if(A==null||d==null)return!1;const{segmentId:g,style:h,segmentPage:m}=A,f=s.getSelfOrHeaderFooterModel(g).getBody();if(f==null)return!1;const p=A,{startOffset:S,collapsed:I}=p,C=u.findNodeByCharIndex(S,g,m),y=B.hasListGlyph(C),R=B.isIndentByGlyph(C,f);let v=S;const b=u.findNodeByCharIndex(S-1,g,m);if(B.isFirstGlyph(C)&&b!==C&&(y===!0||R===!0)&&I){const D=B.getParagraphByGlyph(C,f);if(D==null)return!1;const U=D==null?void 0:D.startIndex,P={startIndex:0},k=D.paragraphStyle;if(y===!0){const Q=D.paragraphStyle;if(Q){P.paragraphStyle=Q;const{hanging:G}=Q;G&&(P.paragraphStyle.indentStart=G,P.paragraphStyle.hanging=void 0)}}else if(R===!0){const Q=D.bullet;Q&&(P.bullet=Q),k!=null&&(P.paragraphStyle={...k},delete P.paragraphStyle.hanging,delete P.paragraphStyle.indentStart)}const H=[{startOffset:v,endOffset:v,style:h}];i=await n.executeCommand(io.id,{unitId:s.getUnitId(),updateBody:{dataStream:"",paragraphs:[{...P}]},range:{startOffset:U,endOffset:U+1},textRanges:H,coverType:a.UpdateDocsAttributeType.REPLACE,segmentId:g})}else if(I===!0){if(b==null)return!0;if(b.content==="\r")i=await n.executeCommand(qt.id,{direction:oe.LEFT,range:p});else if(b.streamType==="\b"){const D=(w=s.getSnapshot().drawings)==null?void 0:w[(_=b.drawingId)!=null?_:""];if(D==null)return!0;if(D.layoutType===a.PositionedObjectLayoutType.INLINE){const P=s.getUnitId();i=await n.executeCommand(Yt.id,{direction:oe.LEFT,range:A,unitId:P,drawingId:b.drawingId})}else{const P=u.findNodeByCharIndex(S-2);if(P==null)return!0;v-=b.count,v-=P.count;const k=[{startOffset:v,endOffset:v,style:h}];i=await n.executeCommand(et.id,{unitId:s.getUnitId(),range:{...A,startOffset:A.startOffset-1,endOffset:A.endOffset-1},segmentId:g,direction:oe.LEFT,len:P.count,textRanges:k})}}else v-=b.count,i=await n.executeCommand(et.id,{unitId:s.getUnitId(),range:p,segmentId:g,direction:oe.LEFT,len:b.count})}else{const D=Ki(p,[p]);i=await n.executeCommand(He.id,{segmentId:g,textRanges:D,selections:[p]})}return i}},so={id:"doc.command.delete-right",type:a.CommandType.COMMAND,handler:async o=>{var C,y;const t=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(!n)return!1;const i=re(o,n.getUnitId()),s=o.get(a.ICommandService),r=t.getActiveTextRange(),c=t.getRectRanges(),A=t.getTextRanges(),l=i==null?void 0:i.getSkeleton();if(c!=null&&c.length){const R=Jt(A,c),v=c[0].segmentId,b=[{startOffset:R,endOffset:R}];return s.executeCommand(He.id,{segmentId:v,textRanges:b})}if(r==null||l==null||A==null)return!1;const{segmentId:d,style:u,segmentPage:g}=r,h=n==null?void 0:n.getSelfOrHeaderFooterModel(d).getBody();if(!n||!h)return!1;const m=r,{startOffset:f,endOffset:p,collapsed:S}=m;if(f===h.dataStream.length-2&&S)return!0;let I=!1;if(S===!0){const R=l.findNodeByCharIndex(f,d,g),v=l.findNodeByCharIndex(f+1);if(R.streamType===a.DataStreamTreeTokenType.PARAGRAPH&&(v==null?void 0:v.streamType)===a.DataStreamTreeTokenType.SECTION_BREAK)return!1;if(R.content==="\r")I=await s.executeCommand(qt.id,{direction:oe.RIGHT,range:r});else if(R.streamType==="\b"){const b=(y=n.getSnapshot().drawings)==null?void 0:y[(C=R.drawingId)!=null?C:""];if(b==null)return!0;if(b.layoutType===a.PositionedObjectLayoutType.INLINE){const _=n.getUnitId();I=await s.executeCommand(Yt.id,{direction:oe.RIGHT,range:r,unitId:_,drawingId:R.drawingId})}else{if(v==null)return!0;const _=[{startOffset:f+1,endOffset:f+1,style:u}];I=await s.executeCommand(et.id,{unitId:n.getUnitId(),range:{...r,startOffset:f+1,endOffset:p+1},segmentId:d,direction:oe.RIGHT,textRanges:_,len:v.count})}}else{const b=[{startOffset:f,endOffset:f,style:u}];I=await s.executeCommand(et.id,{unitId:n.getUnitId(),range:m,segmentId:d,direction:oe.RIGHT,textRanges:b,len:R.count})}}else{const R=Ki(m,[m]);I=await s.executeCommand(He.id,{segmentId:d,textRanges:R,selections:[m]})}return I}};function Ki(o,t){let e=o.endOffset;for(const i of t){const{startOffset:s,endOffset:r}=i;s==null||r==null||r<=o.endOffset&&(e-=r-s)}return[{startOffset:e,endOffset:e,style:o.style}]}const hr=10,gr=6;function mr(){return a.Tools.generateRandomId(gr)}function fr(o){const t=o.match(/data-copy-id="([^\s]+)"/);return t&&t[1]?t[1]:null}class pr{constructor(){M(this,"_cache",new a.LRUMap(hr))}set(t,e){this._cache.set(t,e)}get(t){return this._cache.get(t)}clear(){this._cache.clear()}}const ao=new pr;function ro(o){const t=o.style,e={},n=o.tagName.toLowerCase();switch(n){case"b":case"em":case"strong":{e.bl=a.BooleanNumber.TRUE;break}case"s":{e.st={s:a.BooleanNumber.TRUE};break}case"u":{e.ul={s:a.BooleanNumber.TRUE};break}case"i":{e.it=a.BooleanNumber.TRUE;break}case"sub":case"sup":{e.va=n==="sup"?a.BaselineOffset.SUPERSCRIPT:a.BaselineOffset.SUBSCRIPT;break}}for(let i=0;i<t.length;i++){const s=t[i],r=t.getPropertyValue(s);switch(s){case"font-family":{e.ff=r.replace(/^"/g,"").replace(/"$/g,"");break}case"font-size":{const c=Number.parseInt(r);Number.isNaN(c)||(r.endsWith("pt")?e.fs=c:r.endsWith("px")&&(e.fs=B.pixelToPt(c)));break}case"font-style":{r==="italic"&&(e.it=a.BooleanNumber.TRUE);break}case"font-weight":{(Number(r)>400||String(r)==="bold")&&(e.bl=a.BooleanNumber.TRUE);break}case"text-decoration":{/underline/.test(r)?e.ul={s:a.BooleanNumber.TRUE}:/overline/.test(r)?e.ol={s:a.BooleanNumber.TRUE}:/line-through/.test(r)&&(e.st={s:a.BooleanNumber.TRUE});break}case"color":{try{const c=new a.ColorKit(r);c.isValid&&(e.cl={rgb:c.toRgbString()})}catch{}break}case"background-color":{const c=new a.ColorKit(r);c.isValid&&(e.bg={rgb:c.toRgbString()});break}}}return e}function Sr(o){const t=new DOMParser,e=`<x-univer id="univer-root">${o}</x-univer>`;return t.parseFromString(e,"text/html").querySelector("#univer-root")}function zi(o,t){const e=o.tagName.toLowerCase();return typeof t=="string"?e===t:Array.isArray(t)?t.some(n=>n===e):t(o)}const ji=660,yn=class yn{constructor(){M(this,"_tableCache",[]);M(this,"_styleCache",new Map);M(this,"_styleRules",[]);M(this,"_afterProcessRules",[])}static use(t){if(this._pluginList.includes(t))throw new Error(`Univer paste plugin ${t.name} already added`);this._pluginList.push(t)}convert(t,e={}){var c;const n=yn._pluginList.find(A=>A.checkPasteType(t)),i=Sr(t),r={body:{dataStream:"",paragraphs:[],sectionBreaks:[],tables:[],textRuns:[],customBlocks:[]},tableSource:{},id:(c=e==null?void 0:e.unitId)!=null?c:""};return n&&(this._styleRules=[...n.stylesRules],this._afterProcessRules=[...n.afterProcessRules]),this._tableCache=[],this._styleCache.clear(),this._process(null,i.childNodes,r),this._styleCache.clear(),this._styleRules=[],this._afterProcessRules=[],r}_process(t,e,n){var s,r,c,A;const i=n.body;for(const l of e)if(l.nodeType===Node.TEXT_NODE){if(((s=l.nodeValue)==null?void 0:s.trim())==="")continue;const d=(r=l.nodeValue)==null?void 0:r.replace(/[\r\n]/g,"");let u;t&&this._styleCache.has(t)&&(u=this._styleCache.get(t)),i.dataStream+=d,u&&Object.getOwnPropertyNames(u).length&&i.textRuns.push({st:i.dataStream.length-d.length,ed:i.dataStream.length,ts:u})}else if(l.nodeName==="IMG"){const d=l,u=d.dataset.imageSourceType,g=u===bn.ImageSourceType.UUID?d.dataset.source:d.src;if(g&&u){const h=Number(d.dataset.width||100),m=Number(d.dataset.height||100),f=Number(d.dataset.docTransformWidth||h),p=Number(d.dataset.docTransformHeight||m),S=a.Tools.generateRandomId(6);(A=(c=n.body)==null?void 0:c.customBlocks)==null||A.push({startIndex:i.dataStream.length,blockId:S}),i.dataStream+="\b",n.drawings||(n.drawings={}),n.drawings[S]={drawingId:S,title:"",description:"",imageSourceType:u,source:g,transform:{width:h,height:m,left:0},docTransform:{size:{width:f,height:p},angle:0,positionH:{relativeFrom:a.ObjectRelativeFromH.PAGE,posOffset:0},positionV:{relativeFrom:a.ObjectRelativeFromV.PARAGRAPH,posOffset:0}},layoutType:a.PositionedObjectLayoutType.INLINE,drawingType:a.DrawingTypeEnum.DRAWING_IMAGE,unitId:n.id||"",subUnitId:n.id||""}}}else{if(a.skipParseTagNames.includes(l.nodeName.toLowerCase()))continue;if(l.nodeType===Node.ELEMENT_NODE){const d=l,u=this._processBeforeLink(d,n),g=t?this._styleCache.get(t):{},h=this._styleRules.find(({filter:S})=>zi(l,S)),m=h?h.getStyle(l):ro(l);this._styleCache.set(l,{...g,...m});const{childNodes:f}=l;this._processBeforeTable(l,n),this._process(l,f,n),this._processAfterTable(l,n);const p=this._afterProcessRules.find(({filter:S})=>zi(l,S));p&&p.handler(n,l),this._processAfterLink(d,n,u)}}}_processBeforeTable(t,e){var s;const n=t.tagName.toUpperCase(),i=e.body;switch(n){case"TABLE":{i.dataStream[i.dataStream.length-1]!=="\r"&&(i.dataStream+="\r",i.paragraphs==null&&(i.paragraphs=[]),(s=i.paragraphs)==null||s.push({startIndex:i.dataStream.length-1}));const r=to(0,0,ji);this._tableCache.push({table:r,startIndex:i.dataStream.length}),i.dataStream+=a.DataStreamTreeTokenType.TABLE_START;break}case"TR":{const r=jt(0);this._tableCache[this._tableCache.length-1].table.tableRows.push(r),i.dataStream+=a.DataStreamTreeTokenType.TABLE_ROW_START;break}case"TD":{const r=zt(),c=this._tableCache[this._tableCache.length-1].table;c.tableRows[c.tableRows.length-1].tableCells.push(r),i.dataStream+=a.DataStreamTreeTokenType.TABLE_CELL_START;break}}}_processAfterTable(t,e){var r,c;const n=t.tagName.toUpperCase(),i=e.body;e.tableSource==null&&(e.tableSource={}),i.tables==null&&(i.tables=[]),i.sectionBreaks==null&&(i.sectionBreaks=[]);const{tableSource:s}=e;switch(n){case"TABLE":{const A=this._tableCache.pop(),{startIndex:l,table:d}=A,u=d.tableRows[0].tableCells.length,g=Gt(ji/u),h=[...new Array(u).fill(null).map(()=>a.Tools.deepClone(g))];d.tableColumns=h,s[d.tableId]=d,i.dataStream+=a.DataStreamTreeTokenType.TABLE_END,i.tables.push({startIndex:l,endIndex:i.dataStream.length,tableId:d.tableId});break}case"TR":{i.dataStream+=a.DataStreamTreeTokenType.TABLE_ROW_END;break}case"TD":{i.dataStream[i.dataStream.length-1]!=="\r"&&((r=i.paragraphs)==null||r.push({startIndex:i.dataStream.length}),i.dataStream+="\r"),(c=i.sectionBreaks)==null||c.push({startIndex:i.dataStream.length}),i.dataStream+=`
29
+ ${a.DataStreamTreeTokenType.TABLE_CELL_END}`;break}}}_processBeforeLink(t,e){return e.body.dataStream.length}_processAfterLink(t,e,n){var r,c;const i=e.body,s=t;s.tagName.toUpperCase()==="A"&&(i.customRanges=(r=i.customRanges)!=null?r:[],i.customRanges.push({startIndex:n,endIndex:i.dataStream.length-1,rangeId:(c=s.dataset.rangeid)!=null?c:a.generateRandomId(),rangeType:a.CustomRangeType.HYPERLINK,properties:{url:s.href}}))}};M(yn,"_pluginList",[]);let tt=yn;const Gi={name:"univer-doc-paste-plugin-lark",checkPasteType(o){return/lark-record-clipboard/i.test(o)},stylesRules:[{filter:["s"],getStyle(o){const t=ro(o);return{st:{s:a.BooleanNumber.TRUE},...t}}}],afterProcessRules:[{filter(o){return o.tagName==="DIV"&&/ace-line/i.test(o.className)},handler(o){const t=o.body;t.paragraphs==null&&(t.paragraphs=[]),t.paragraphs.push({startIndex:t.dataStream.length}),t.dataStream+="\r"}}]};function Xi(o){const t=o.style,e={};for(let n=0;n<t.length;n++){const i=t[n],s=t.getPropertyValue(i);switch(i){case"margin-top":{const r=Number.parseInt(s);e.spaceAbove={v:/pt/.test(s)?B.ptToPixel(r):r};break}case"margin-bottom":{const r=Number.parseInt(s);e.spaceBelow={v:/pt/.test(s)?B.ptToPixel(r):r};break}case"line-height":{let r=Number.parseFloat(s);s.endsWith("%")&&(r/=100),e.lineSpacing=r;break}}}return Object.getOwnPropertyNames(e).length?e:null}const Yi={name:"univer-doc-paste-plugin-univer",checkPasteType(o){return/UniverNormal/i.test(o)},stylesRules:[],afterProcessRules:[{filter(o){return o.tagName==="P"&&/UniverNormal/i.test(o.className)},handler(o,t){const e=o.body;e.paragraphs==null&&(e.paragraphs=[]);const n={startIndex:e.dataStream.length},i=Xi(t);i&&(n.paragraphStyle=i),e.paragraphs.push(n),e.dataStream+="\r"}}]},qi={name:"univer-doc-paste-plugin-word",checkPasteType(o){return/word|mso/i.test(o)},stylesRules:[{filter:["b"],getStyle(o){const t=ro(o);return{bl:a.BooleanNumber.TRUE,...t}}}],afterProcessRules:[{filter(o){return o.tagName==="P"},handler(o,t){const e=o.body;e.paragraphs==null&&(e.paragraphs=[]);const n={startIndex:e.dataStream.length},i=Xi(t);i&&(n.paragraphStyle=i),e.paragraphs.push(n),e.dataStream+="\r"}}]};function Ir(o){var n,i;const t=s=>{let r="";return Object.keys(s).forEach(c=>{s[c]!==void 0&&(r+=` ${c}=${s[c]}`)}),r},e={"data-doc-transform-height":o.docTransform.size.height,"data-doc-transform-width":o.docTransform.size.width,"data-width":(n=o.transform)==null?void 0:n.width,"data-height":(i=o.transform)==null?void 0:i.height,"data-image-source-type":o.imageSourceType,"data-source":o.imageSourceType===bn.ImageSourceType.UUID?o.source:void 0,src:o.source};return`<img ${t(e)}></img>`}function Ji(o,t){const{st:e,ed:n,ts:i={}}=t,{ff:s,fs:r,it:c,bl:A,ul:l,st:d,ol:u,bg:g,cl:h,va:m}=i;let f=o.slice(e,n);const p=[];return c===a.BooleanNumber.TRUE&&(f=`<i>${f}</i>`),m===a.BaselineOffset.SUPERSCRIPT?f=`<sup>${f}</sup>`:m===a.BaselineOffset.SUBSCRIPT&&(f=`<sub>${f}</sub>`),(l==null?void 0:l.s)===a.BooleanNumber.TRUE&&(f=`<u>${f}</u>`),(d==null?void 0:d.s)===a.BooleanNumber.TRUE&&(f=`<s>${f}</s>`),A===a.BooleanNumber.TRUE&&(f=`<strong>${f}</strong>`),s&&p.push(`font-family: ${s}`),h&&p.push(`color: ${h.rgb}`),r&&p.push(`font-size: ${r}pt`),u&&p.push("text-decoration: overline"),g&&p.push(`background: ${g.rgb}`),p.length?`<span style="${p.join("; ")};">${f}</span>`:f}function co(o,t,e){const{dataStream:n,textRuns:i=[]}=o;if(t===e)return"";let s=t;const r=[];for(const c of i){const{st:A,ed:l}=c;a.Tools.hasIntersectionBetweenTwoRanges(t,e,A,l)&&(A>s?(r.push(n.slice(s,A)),r.push(Ji(n,{...c,ed:Math.min(l,e)}))):r.push(Ji(n,{...c,st:s,ed:Math.min(l,e)}))),s=Math.max(t,Math.min(l,e))}return s!==e&&r.push(n.slice(s,e)),r.join("")}function Er(o,t,e){const n=o.body,i=o.drawings||{},{customRanges:s=[],customBlocks:r=[]}=n||{},c=[...r],A=s.filter(h=>h.startIndex>=t&&h.endIndex<=e);let l=t,d="";const u=(h,m)=>{let f="",p=0,S=h,I=c.findIndex(C=>h<=C.startIndex&&m>=C.startIndex);if(I===-1)return f=co(n,h,m),{sliceHtml:f,customBlockLength:p};for(;I!==-1;){const C=c[I];c.splice(I,1),f+=co(n,S,C.startIndex);const y=i[C.blockId];if(y)switch(y.drawingType){case a.DrawingTypeEnum.DRAWING_IMAGE:{f+=Ir(y),p++;break}}S=C.startIndex+1,I=c.findIndex(R=>S<=R.startIndex&&m>=R.startIndex)}return f=f+co(n,S,m+1),{sliceHtml:f,customBlockLength:p}};A.forEach(h=>{var y,R;const{startIndex:m,endIndex:f,rangeType:p,rangeId:S}=h,I=u(l,m);d+=I.sliceHtml;const C=u(m,f+1);switch(p){case a.CustomRangeType.HYPERLINK:{d+=`<a data-rangeid="${S}" href="${(R=(y=h.properties)==null?void 0:y.url)!=null?R:""}">${C.sliceHtml}</a>`;break}default:{d+=C.sliceHtml;break}}l=f+1+(I.customBlockLength+C.customBlockLength)});const g=u(l,e);return d+=g.sliceHtml,d}function vr(o){const t=o.body||{},{paragraphs:e=[],sectionBreaks:n=[]}=t;let{dataStream:i=""}=t;i.endsWith(`\r
29
30
  `)||(i+=`\r
30
- `,e.push({startIndex:i.length-2}),n.push({startIndex:i.length-1}),t.dataStream=i,t.paragraphs=e,t.sectionBreaks=n);const s={html:""},r=R.parseDataStreamToTree(i).sectionList;for(const c of r)nt(c,o,s);return s.html}function nt(o,t,e){var n,i;switch(o.nodeType){case a.DataStreamTreeNodeType.SECTION_BREAK:{for(const s of o.children)nt(s,t,e);break}case a.DataStreamTreeNodeType.PARAGRAPH:{const{children:s,startIndex:r,endIndex:c}=o,A=(i=(n=t.body)==null?void 0:n.paragraphs.find(f=>f.startIndex===c))!=null?i:{},{paragraphStyle:l={}}=A,{spaceAbove:d,spaceBelow:u,lineSpacing:g}=l,h=[];if(d!=null&&(typeof d=="number"?h.push(`margin-top: ${d}px`):h.push(`margin-top: ${d.v}px`)),u!=null&&(typeof u=="number"?h.push(`margin-bottom: ${u}px`):h.push(`margin-bottom: ${u.v}px`)),g!=null&&h.push(`line-height: ${g}`),e.html+=`<p class="UniverNormal" ${h.length?`style="${h.join("; ")};"`:""}>`,s.length)for(const f of s)nt(f,t,e);e.html+=`${yr(t,r,c)}</p>`;break}case a.DataStreamTreeNodeType.TABLE:{const{children:s}=o;e.html+='<table class="UniverTable" style="width: 100%; border-collapse: collapse;"><tbody>';for(const r of s)nt(r,t,e);e.html+="</tbody></table>";break}case a.DataStreamTreeNodeType.TABLE_ROW:{const{children:s}=o;e.html+='<tr class="UniverTableRow">';for(const r of s)nt(r,t,e);e.html+="</tr>";break}case a.DataStreamTreeNodeType.TABLE_CELL:{const{children:s}=o;e.html+='<td class="UniverTableCell">';for(const r of s)nt(r,t,e);e.html+="</td>";break}default:throw new Error(`Unknown node type: ${o.nodeType}`)}}class Or{convert(t){if(t.length===0)throw new Error("The bodyList length at least to be 1");let e="";for(const n of a.Tools.deepClone(t))e+=br(n);return e}}var Rr=Object.getOwnPropertyDescriptor,Dr=(o,t,e,n)=>{for(var i=n>1?void 0:n?Rr(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Tt=(o,t)=>(e,n)=>t(e,n,o);tt.use(Zi),tt.use(Yi),tt.use(Ji);function es(o,t,e){var s,r,c;const n=a.getBodySlice(o,t,e+2),i=a.DataStreamTreeTokenType.TABLE_START+a.DataStreamTreeTokenType.TABLE_ROW_START+a.DataStreamTreeTokenType.TABLE_CELL_START+n.dataStream+a.DataStreamTreeTokenType.TABLE_CELL_END+a.DataStreamTreeTokenType.TABLE_ROW_END+a.DataStreamTreeTokenType.TABLE_END;return n.dataStream=i,(s=n.textRuns)==null||s.forEach(A=>{const{st:l,ed:d}=A;A.st=l+3,A.ed=d+3}),(r=n.tables)==null||r.forEach(A=>{const{startIndex:l,endIndex:d}=A;A.startIndex=l+3,A.endIndex=d+3}),(c=n.paragraphs)==null||c.forEach(A=>{const{startIndex:l}=A;A.startIndex=l+3}),n}const ot=a.createIdentifier("doc.clipboard-service");let Ao=class extends a.Disposable{constructor(t,e,n,i,s){super();B(this,"_clipboardHooks",[]);B(this,"_htmlToUDM",new tt);B(this,"_umdToHtml",new Or);this._univerInstanceService=t,this._logService=e,this._commandService=n,this._clipboardInterfaceService=i,this._docSelectionManagerService=s}async copy(t=a.SliceBodyType.copy){var s;const{newSnapshotList:e=[],needCache:n=!1,snapshot:i}=(s=this._getDocumentBodyInRanges(t))!=null?s:{};if(e.length===0||i==null)return!1;try{const r=this._docSelectionManagerService.getActiveTextRange(),c=!!(r!=null&&r.segmentId);this._setClipboardData(e,!c&&n)}catch(r){return this._logService.error("[DocClipboardService] copy failed",r),!1}return!0}async cut(){return this._cut()}async paste(t){const e=await this._genDocDataFromClipboardItems(t);return this._paste(e)}async legacyPaste(t){let{html:e,text:n,files:i}=t;const s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=(s==null?void 0:s.getUnitId())||"";!e&&!n&&i.length&&(e=await this._createImagePasteHtml(i));const c=this._genDocDataFromHtmlAndText(e,n,r);if(r===a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)if(n){const A=a.BuildTextUtils.transform.fromPlainText(n);return this._paste({body:A})}else c.body.textRuns=[];return this._paste(c)}async _cut(){var r,c,A;const{segmentId:t,endOffset:e,style:n}=(r=this._docSelectionManagerService.getActiveTextRange())!=null?r:{},i=(c=this._docSelectionManagerService.getTextRanges())!=null?c:[],s=(A=this._docSelectionManagerService.getRectRanges())!=null?A:[];if(t==null&&this._logService.error("[DocClipboardController] segmentId is not existed"),i.length===0&&s.length===0)return!1;this.copy(a.SliceBodyType.cut);try{let l=0;if(s.length>0)l=Zt(i,s);else if(e!=null){l=e;for(const u of i){const{startOffset:g,endOffset:h}=u;g==null||h==null||h<=e&&(l-=h-g)}}const d=[{startOffset:l,endOffset:l,style:n}];return this._commandService.executeCommand(He.id,{segmentId:t,textRanges:d})}catch{return this._logService.error("[DocClipboardController] cut content failed"),!1}}async _paste(t){var d,u;const{body:e}=t;if(e==null)return!1;let n=a.normalizeBody(e);if(!((d=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC))==null?void 0:d.getUnitId()))return!1;this._clipboardHooks.forEach(g=>{g.onBeforePaste&&(n=g.onBeforePaste(n))}),n.customRanges=(u=n.customRanges)==null?void 0:u.map(a.BuildTextUtils.customRange.copyCustomRange);const s=this._docSelectionManagerService.getActiveTextRange(),{segmentId:r,endOffset:c,style:A}=s||{},l=this._docSelectionManagerService.getTextRanges();if(r==null&&this._logService.error("[DocClipboardController] segmentId does not exist!"),c==null||l==null)return!1;try{let g=c;for(const f of l){const{startOffset:m,endOffset:p}=f;m==null||p==null||p<=c&&(g+=n.dataStream.length-(p-m))}const h=[{startOffset:g,endOffset:g,style:A}];return this._commandService.executeCommand(oo.id,{doc:{...t,body:n},segmentId:r,textRanges:h})}catch{return this._logService.error("[DocClipboardController]","clipboard is empty."),!1}}async _setClipboardData(t,e=!0){var r,c,A,l;const n=Ir(),i=(t.length>1?t.map(d=>{var u;return((u=d.body)==null?void 0:u.dataStream)||""}).join(`
31
+ `,e.push({startIndex:i.length-2}),n.push({startIndex:i.length-1}),t.dataStream=i,t.paragraphs=e,t.sectionBreaks=n);const s={html:""},r=B.parseDataStreamToTree(i).sectionList;for(const c of r)nt(c,o,s);return s.html}function nt(o,t,e){var n,i;switch(o.nodeType){case a.DataStreamTreeNodeType.SECTION_BREAK:{for(const s of o.children)nt(s,t,e);break}case a.DataStreamTreeNodeType.PARAGRAPH:{const{children:s,startIndex:r,endIndex:c}=o,A=(i=(n=t.body)==null?void 0:n.paragraphs.find(m=>m.startIndex===c))!=null?i:{},{paragraphStyle:l={}}=A,{spaceAbove:d,spaceBelow:u,lineSpacing:g}=l,h=[];if(d!=null&&(typeof d=="number"?h.push(`margin-top: ${d}px`):h.push(`margin-top: ${d.v}px`)),u!=null&&(typeof u=="number"?h.push(`margin-bottom: ${u}px`):h.push(`margin-bottom: ${u.v}px`)),g!=null&&h.push(`line-height: ${g}`),e.html+=`<p class="UniverNormal" ${h.length?`style="${h.join("; ")};"`:""}>`,s.length)for(const m of s)nt(m,t,e);e.html+=`${Er(t,r,c)}</p>`;break}case a.DataStreamTreeNodeType.TABLE:{const{children:s}=o;e.html+='<table class="UniverTable" style="width: 100%; border-collapse: collapse;"><tbody>';for(const r of s)nt(r,t,e);e.html+="</tbody></table>";break}case a.DataStreamTreeNodeType.TABLE_ROW:{const{children:s}=o;e.html+='<tr class="UniverTableRow">';for(const r of s)nt(r,t,e);e.html+="</tr>";break}case a.DataStreamTreeNodeType.TABLE_CELL:{const{children:s}=o;e.html+='<td class="UniverTableCell">';for(const r of s)nt(r,t,e);e.html+="</td>";break}default:throw new Error(`Unknown node type: ${o.nodeType}`)}}class Cr{convert(t){if(t.length===0)throw new Error("The bodyList length at least to be 1");let e="";for(const n of a.Tools.deepClone(t))e+=vr(n);return e}}var Tr=Object.getOwnPropertyDescriptor,yr=(o,t,e,n)=>{for(var i=n>1?void 0:n?Tr(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Tt=(o,t)=>(e,n)=>t(e,n,o);tt.use(qi),tt.use(Gi),tt.use(Yi);function Zi(o,t,e){var s,r,c;const n=a.getBodySlice(o,t,e+2),i=a.DataStreamTreeTokenType.TABLE_START+a.DataStreamTreeTokenType.TABLE_ROW_START+a.DataStreamTreeTokenType.TABLE_CELL_START+n.dataStream+a.DataStreamTreeTokenType.TABLE_CELL_END+a.DataStreamTreeTokenType.TABLE_ROW_END+a.DataStreamTreeTokenType.TABLE_END;return n.dataStream=i,(s=n.textRuns)==null||s.forEach(A=>{const{st:l,ed:d}=A;A.st=l+3,A.ed=d+3}),(r=n.tables)==null||r.forEach(A=>{const{startIndex:l,endIndex:d}=A;A.startIndex=l+3,A.endIndex=d+3}),(c=n.paragraphs)==null||c.forEach(A=>{const{startIndex:l}=A;A.startIndex=l+3}),n}const ot=a.createIdentifier("doc.clipboard-service");let Ao=class extends a.Disposable{constructor(t,e,n,i,s){super();M(this,"_clipboardHooks",[]);M(this,"_htmlToUDM",new tt);M(this,"_umdToHtml",new Cr);this._univerInstanceService=t,this._logService=e,this._commandService=n,this._clipboardInterfaceService=i,this._docSelectionManagerService=s}async copy(t=a.SliceBodyType.copy){var s;const{newSnapshotList:e=[],needCache:n=!1,snapshot:i}=(s=this._getDocumentBodyInRanges(t))!=null?s:{};if(e.length===0||i==null)return!1;try{const r=this._docSelectionManagerService.getActiveTextRange(),c=!!(r!=null&&r.segmentId);this._setClipboardData(e,!c&&n)}catch(r){return this._logService.error("[DocClipboardService] copy failed",r),!1}return!0}async cut(){return this._cut()}async paste(t){const e=await this._genDocDataFromClipboardItems(t);return this._paste(e)}async legacyPaste(t){let{html:e,text:n,files:i}=t;const s=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=(s==null?void 0:s.getUnitId())||"";!e&&!n&&i.length&&(e=await this._createImagePasteHtml(i));const c=this._genDocDataFromHtmlAndText(e,n,r);if(r===a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY)if(n){const A=a.BuildTextUtils.transform.fromPlainText(n);return this._paste({body:A})}else c.body.textRuns=[];return this._paste(c)}async _cut(){var r,c,A;const{segmentId:t,endOffset:e,style:n}=(r=this._docSelectionManagerService.getActiveTextRange())!=null?r:{},i=(c=this._docSelectionManagerService.getTextRanges())!=null?c:[],s=(A=this._docSelectionManagerService.getRectRanges())!=null?A:[];if(t==null&&this._logService.error("[DocClipboardController] segmentId is not existed"),i.length===0&&s.length===0)return!1;this.copy(a.SliceBodyType.cut);try{let l=0;if(s.length>0)l=Jt(i,s);else if(e!=null){l=e;for(const u of i){const{startOffset:g,endOffset:h}=u;g==null||h==null||h<=e&&(l-=h-g)}}const d=[{startOffset:l,endOffset:l,style:n}];return this._commandService.executeCommand(He.id,{segmentId:t,textRanges:d})}catch{return this._logService.error("[DocClipboardController] cut content failed"),!1}}async _paste(t){var d,u;const{body:e}=t;if(e==null)return!1;let n=a.normalizeBody(e);if(!((d=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC))==null?void 0:d.getUnitId()))return!1;this._clipboardHooks.forEach(g=>{g.onBeforePaste&&(n=g.onBeforePaste(n))}),n.customRanges=(u=n.customRanges)==null?void 0:u.map(a.BuildTextUtils.customRange.copyCustomRange);const s=this._docSelectionManagerService.getActiveTextRange(),{segmentId:r,endOffset:c,style:A}=s||{},l=this._docSelectionManagerService.getTextRanges();if(r==null&&this._logService.error("[DocClipboardController] segmentId does not exist!"),c==null||l==null)return!1;try{let g=c;for(const m of l){const{startOffset:f,endOffset:p}=m;f==null||p==null||p<=c&&(g+=n.dataStream.length-(p-f))}const h=[{startOffset:g,endOffset:g,style:A}];return this._commandService.executeCommand(oo.id,{doc:{...t,body:n},segmentId:r,textRanges:h})}catch{return this._logService.error("[DocClipboardController]","clipboard is empty."),!1}}async _setClipboardData(t,e=!0){var r,c,A,l;const n=mr(),i=(t.length>1?t.map(d=>{var u;return((u=d.body)==null?void 0:u.dataStream)||""}).join(`
31
32
  `):((r=t[0].body)==null?void 0:r.dataStream)||"").replaceAll(a.DataStreamTreeTokenType.TABLE_START,"").replaceAll(a.DataStreamTreeTokenType.TABLE_END,"").replaceAll(a.DataStreamTreeTokenType.TABLE_ROW_START,"").replaceAll(a.DataStreamTreeTokenType.TABLE_ROW_END,"").replaceAll(a.DataStreamTreeTokenType.TABLE_CELL_START,"").replaceAll(a.DataStreamTreeTokenType.TABLE_CELL_END,"").replaceAll(`\r
32
- `," ");let s=this._umdToHtml.convert(t);if(t.length===1&&e){s=s.replace(/(<[a-z]+)/,(g,h)=>`${h} data-copy-id="${n}"`);const d=t[0],u={body:d.body};if((A=(c=d.body)==null?void 0:c.customBlocks)!=null&&A.length){u.drawings={};for(const g of d.body.customBlocks){const{blockId:h}=g,f=(l=d.drawings)==null?void 0:l[h];if(f){const m=a.Tools.generateRandomId(6);g.blockId=m,u.drawings[m]={...a.Tools.deepClone(f),drawingId:m}}}}ao.set(n,u)}return this._clipboardInterfaceService.write(i,s)}addClipboardHook(t){return this._clipboardHooks.push(t),a.toDisposable(()=>{const e=this._clipboardHooks.indexOf(t);e>-1&&this._clipboardHooks.splice(e,1)})}_getDocumentBodyInRanges(t){var l;const e=this._univerInstanceService.getCurrentUniverDocInstance(),n=this._docSelectionManagerService.getDocRanges(),i=[];let s=!0;if(e==null||n.length===0)return;const r=n[0].segmentId,c=(l=e==null?void 0:e.getSelfOrHeaderFooterModel(r))==null?void 0:l.getBody(),A=e.getSnapshot();if(c!=null){for(const d of n){const{startOffset:u,endOffset:g,collapsed:h,rangeType:f}=d;if(h||u==null||g==null)continue;if(f===a.DOC_RANGE_TYPE.RECT){s=!1;const{spanEntireRow:S}=d;let I;I=es(c,u,g),i.push(I);continue}const m={startOffset:u,endOffset:g},p=e.getSelfOrHeaderFooterModel(r).sliceBody(m.startOffset,m.endOffset,t);p!=null&&i.push(p)}return{newSnapshotList:i.map(d=>({...A,body:d})),needCache:s,snapshot:A}}}async _genDocDataFromClipboardItems(t){try{let e="",n="";const i=[];for(const s of t)for(const r of s.types)switch(r){case E.PLAIN_TEXT_CLIPBOARD_MIME_TYPE:{n=await s.getType(r).then(c=>c&&c.text());break}case E.HTML_CLIPBOARD_MIME_TYPE:{e=await s.getType(r).then(c=>c&&c.text());break}case E.FILE__BMP_CLIPBOARD_MIME_TYPE:case E.FILE__JPEG_CLIPBOARD_MIME_TYPE:case E.FILE__WEBP_CLIPBOARD_MIME_TYPE:case E.FILE_PNG_CLIPBOARD_MIME_TYPE:{const c=await s.getType(r),A=new File([c],`pasted_image.${r.split("/")[1]}`,{type:r});i.push(A);break}}return!e&&!n&&i.length&&(e=await this._createImagePasteHtml(i)),this._genDocDataFromHtmlAndText(e,n)}catch(e){return Promise.reject(e)}}_genDocDataFromHtmlAndText(t,e,n){if(!t){if(e)return{body:a.BuildTextUtils.transform.fromPlainText(e)};throw new Error("[DocClipboardService] html and text cannot be both empty!")}const i=Er(t);if(i){const r=ao.get(i);if(r)return r}if(!n){const r=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);n=(r==null?void 0:r.getUnitId())||""}const s=this._htmlToUDM.convert(t,{unitId:n});return i&&ao.set(i,s),s}async _createImagePasteHtml(t){var c,A;const e={id:"",documentStyle:{},body:{dataStream:"",customBlocks:[]},drawings:{}},n=async l=>{const d=new FileReader;return new Promise(u=>{d.onloadend=function(){u({source:d.result,imageSourceType:On.ImageSourceType.BASE64})},d.readAsDataURL(l)})},i=l=>{const d=new Image,u=500;return new Promise(g=>{d.src=typeof l=="string"?l:URL.createObjectURL(l),d.onload=()=>{const h=Math.min(u,d.naturalWidth),f=d.naturalHeight/d.naturalWidth;g({width:h,height:h*f})}})},s=(A=(c=this._clipboardHooks.find(l=>l.onBeforePasteImage))==null?void 0:c.onBeforePasteImage)!=null?A:n;return await Promise.all(t.map(async(l,d)=>{var S;const u=await s(l);if(!u)return Promise.resolve();const{width:g=100,height:h=100}=await i(l),f=`paste_image_id_${d}`,m=e.body,p=e.drawings;m.dataStream+="\b",(S=m.customBlocks)==null||S.push({startIndex:d,blockId:f}),p[f]={drawingId:f,unitId:"",subUnitId:"",imageSourceType:u.imageSourceType,title:"",source:u.source,description:"",layoutType:a.PositionedObjectLayoutType.INLINE,drawingType:a.DrawingTypeEnum.DRAWING_IMAGE,transform:{width:g,height:h,angle:0},docTransform:{angle:0,size:{width:g,height:h},positionH:{relativeFrom:a.ObjectRelativeFromH.CHARACTER,posOffset:0},positionV:{relativeFrom:a.ObjectRelativeFromV.LINE,posOffset:0}}}})),this._umdToHtml.convert([e])}};Ao=Dr([Tt(0,a.IUniverInstanceService),Tt(1,a.ILogService),Tt(2,a.ICommandService),Tt(3,E.IClipboardInterfaceService),Tt(4,a.Inject(M.DocSelectionManagerService))],Ao);function $t(o){return o.getContextValue(a.FOCUSING_DOC)||o.getContextValue(a.EDITOR_ACTIVATED)}const lo=999,yt={id:E.CopyCommand.id,name:"doc.command.copy",type:a.CommandType.COMMAND,multi:!0,priority:lo,preconditions:$t,handler:async o=>o.get(ot).copy()},en={id:E.CutCommand.id,name:"doc.command.cut",type:a.CommandType.COMMAND,multi:!0,priority:lo,preconditions:$t,handler:async o=>o.get(ot).cut()},tn={id:E.PasteCommand.id,name:"doc.command.paste",type:a.CommandType.COMMAND,multi:!0,priority:lo,preconditions:$t,handler:async o=>{const t=o.get(ot),n=await o.get(E.IClipboardInterfaceService).read();return n.length===0?!1:t.paste(n)}},nn={id:"doc.command.switch-mode",type:a.CommandType.COMMAND,handler:async o=>{var I,C,b,O,v;const t=o.get(a.ICommandService),e=o.get(R.IRenderManagerService),n=o.get(M.DocSelectionManagerService),s=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(s==null)return!1;const r=s.getUnitId(),c=(I=e.getRenderById(r))==null?void 0:I.with(M.DocSkeletonManagerService).getSkeleton(),A=(C=e.getRenderById(r))==null?void 0:C.with(T.DocSelectionRenderService);if(c==null||A==null)return!1;const l=A==null?void 0:A.getSegment(),d=A==null?void 0:A.getSegmentPage(),u=s.getSnapshot().documentStyle.documentFlavor,g=n.getDocRanges(),h={id:M.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:u===a.DocumentFlavor.TRADITIONAL&&l?[]:g}},f=a.JSONX.getInstance(),m=[];let p;if(u===void 0?p=f.insertOp(["documentStyle","documentFlavor"],a.DocumentFlavor.MODERN):u===a.DocumentFlavor.MODERN?p=f.replaceOp(["documentStyle","documentFlavor"],u,a.DocumentFlavor.TRADITIONAL):p=f.replaceOp(["documentStyle","documentFlavor"],u,a.DocumentFlavor.MODERN),p)m.push(p);else return!1;if(u!==a.DocumentFlavor.MODERN){const y=s.getSnapshot(),{drawings:x={},body:_}=y,w=(b=_==null?void 0:_.customBlocks)!=null?b:[];for(const D in x){const P=x[D],U=w.find(Y=>Y.blockId===D);if(U==null)continue;const H=P.docTransform.positionV,{relativeFrom:k,posOffset:L}=H;if(k===a.ObjectRelativeFromV.PARAGRAPH)continue;const{startIndex:z}=U,W=c.findNodeByCharIndex(z,l,d),V=(O=W==null?void 0:W.parent)==null?void 0:O.parent,K=V==null?void 0:V.parent,G=K==null?void 0:K.lines.find(Y=>Y.paragraphIndex===(V==null?void 0:V.paragraphIndex)&&Y.paragraphStart),J=(v=K==null?void 0:K.parent)==null?void 0:v.parent;if(W==null||V==null||G==null||K==null||J==null)continue;let ee=0;k===a.ObjectRelativeFromV.LINE?ee-=V.top:k===a.ObjectRelativeFromV.PAGE&&(ee+=J.marginTop),ee+=G.top;const $={...H,relativeFrom:a.ObjectRelativeFromV.PARAGRAPH,posOffset:(L!=null?L:0)-ee},j=f.replaceOp(["drawings",D,"docTransform","positionV"],H,$);j&&m.push(j)}}return h.params.actions=m.reduce((y,x)=>a.JSONX.compose(y,x),null),!!t.syncExecuteCommand(h.id,h.params)}},on={id:"doc.table.delete-rows",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(M.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=t.getRectRanges(),s=t.getActiveTextRange(),r=vt(s,i);if(r==null)return!1;const{segmentId:c}=r,A=e.getCurrentUniverDocInstance(),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c).getBody();if(A==null||l==null)return!1;const d=re(o,A.getUnitId());if(d==null)return!1;const u=d.getViewModel(),g=A==null?void 0:A.getUnitId(),h=new a.TextX,f=a.JSONX.getInstance(),m=ki(r,u);if(m==null)return!1;const{offset:p,rowIndexes:S,len:I,tableId:C,cursor:b,selectWholeTable:O}=m;if(O)return n.executeCommand(it.id);const v=[],y=[{startOffset:b,endOffset:b,collapsed:!0}],x={id:M.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:y}};p>0&&h.push({t:a.TextXActionType.RETAIN,len:p}),h.push({t:a.TextXActionType.DELETE,len:I});const _=q(A,c);v.push(f.editOp(h.serialize(),_));for(const D of S.reverse()){const P=f.removeOp(["tableSource",C,"tableRows",D]);v.push(P)}return x.params.actions=v.reduce((D,P)=>a.JSONX.compose(D,P),null),!!n.syncExecuteCommand(x.id,x.params)}},sn={id:"doc.table.delete-columns",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(M.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=t.getRectRanges(),s=t.getActiveTextRange(),r=vt(s,i);if(r==null)return!1;const{segmentId:c}=r,A=e.getCurrentUniverDocInstance(),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c).getBody();if(A==null||l==null)return!1;const d=re(o,A.getUnitId());if(d==null)return!1;const u=d.getViewModel(),g=A==null?void 0:A.getUnitId(),h=new a.TextX,f=a.JSONX.getInstance(),m=lr(r,u);if(m==null)return!1;const{offsets:p,columnIndexes:S,tableId:I,cursor:C,rowCount:b,selectWholeTable:O}=m;if(O)return n.executeCommand(it.id);const v=[],y=[{startOffset:C,endOffset:C,collapsed:!0}],x={id:M.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:y}};for(const D of p){const{retain:P,delete:U}=D;P>0&&h.push({t:a.TextXActionType.RETAIN,len:P}),h.push({t:a.TextXActionType.DELETE,len:U})}const _=q(A,c);v.push(f.editOp(h.serialize(),_)),S.reverse();for(let D=0;D<b;D++)for(const P of S){const U=f.removeOp(["tableSource",I,"tableRows",D,"tableCells",P]);v.push(U)}for(const D of S){const P=f.removeOp(["tableSource",I,"tableColumns",D]);v.push(P)}return x.params.actions=v.reduce((D,P)=>a.JSONX.compose(D,P),null),!!n.syncExecuteCommand(x.id,x.params)}},it={id:"doc.table.delete-table",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(M.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=t.getRectRanges(),s=t.getActiveTextRange(),r=vt(s,i);if(r==null)return!1;const{segmentId:c}=r,A=e.getCurrentUniverDocInstance(),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c).getBody();if(A==null||l==null)return!1;const d=re(o,A.getUnitId());if(d==null)return!1;const u=d.getViewModel(),g=A==null?void 0:A.getUnitId(),h=new a.TextX,f=a.JSONX.getInstance(),m=Hi(r,u);if(m==null)return!1;const{offset:p,len:S,tableId:I,cursor:C}=m,b=[],O=[{startOffset:C,endOffset:C,collapsed:!0}],v={id:M.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:O}};p>0&&h.push({t:a.TextXActionType.RETAIN,len:p}),h.push({t:a.TextXActionType.DELETE,len:S});const y=q(A,c);b.push(f.editOp(h.serialize(),y));const x=f.removeOp(["tableSource",I]);return b.push(x),v.params.actions=b.reduce((w,D)=>a.JSONX.compose(w,D),null),!!n.syncExecuteCommand(v.id,v.params)}},uo="doc.command.table-insert-row",ho="doc.command.table-insert-column",Br="doc.command.table-insert-row-above",Mr="doc.command.table-insert-row-bellow",xr="doc.command.table-insert-column-left",_r="doc.command.table-insert-column-right",an={id:Br,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(uo,{position:zt.ABOVE})},rn={id:Mr,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(uo,{position:zt.BELLOW})},cn={id:xr,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(ho,{position:eo.LEFT})},An={id:_r,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(ho,{position:eo.RIGHT})},go={id:uo,type:a.CommandType.COMMAND,handler:async(o,t)=>{const{position:e}=t,n=o.get(M.DocSelectionManagerService),i=o.get(a.IUniverInstanceService),s=o.get(a.ICommandService),r=n.getRectRanges(),c=n.getActiveTextRange(),A=vt(c,r);if(A==null)return!1;const{segmentId:l}=A,d=i.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),u=d==null?void 0:d.getSelfOrHeaderFooterModel(l).getBody();if(d==null||u==null)return!1;const g=re(o,d.getUnitId());if(g==null)return!1;const h=g.getViewModel(),f=d==null?void 0:d.getUnitId(),m=new a.TextX,p=a.JSONX.getInstance(),S=rr(A,e,h);if(S==null)return!1;const{offset:I,colCount:C,tableId:b,insertRowIndex:O}=S,v=[],y=I+2,x=[{startOffset:y,endOffset:y,collapsed:!0}],_={id:M.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:x}};I>0&&m.push({t:a.TextXActionType.RETAIN,len:I});const w=sr(C);m.push({t:a.TextXActionType.INSERT,body:w,len:w.dataStream.length});const D=q(d,l);v.push(p.editOp(m.serialize(),D));const P=Gt(C),U=p.insertOp(["tableSource",b,"tableRows",O],P);return v.push(U),_.params.actions=v.reduce((k,L)=>a.JSONX.compose(k,L),null),!!s.syncExecuteCommand(_.id,_.params)}},ts={id:ho,type:a.CommandType.COMMAND,handler:async(o,t)=>{var J,ee,$;const{position:e}=t,n=o.get(M.DocSelectionManagerService),i=o.get(a.IUniverInstanceService),s=o.get(a.ICommandService),r=n.getRectRanges(),c=n.getActiveTextRange(),A=vt(c,r);if(A==null)return!1;const{segmentId:l}=A,d=i.getCurrentUniverDocInstance(),u=d==null?void 0:d.getSelfOrHeaderFooterModel(l).getBody();if(d==null||u==null)return!1;const g=re(o,d.getUnitId());if(g==null)return!1;const h=g.getViewModel(),f=d==null?void 0:d.getUnitId(),m=new a.TextX,p=a.JSONX.getInstance(),S=cr(A,e,h);if(S==null)return!1;const{offsets:I,columnIndex:C,tableId:b,rowCount:O}=S,v=[],y=I[0]+1,x=[{startOffset:y,endOffset:y,collapsed:!0}],_={id:M.RichTextEditingMutation.id,params:{unitId:f,actions:[],textRanges:x}};for(const j of I){m.push({t:a.TextXActionType.RETAIN,len:j});const Y=ar();m.push({t:a.TextXActionType.INSERT,body:Y,len:Y.dataStream.length})}const w=q(d,l);v.push(p.editOp(m.serialize(),w));for(let j=0;j<O;j++){const Y=jt(),oe=p.insertOp(["tableSource",b,"tableRows",j,"tableCells",C],Y);v.push(oe)}const D=d.getSnapshot(),P=D.documentStyle,{marginLeft:U=0,marginRight:H=0}=P,k=((ee=(J=P.pageSize)==null?void 0:J.width)!=null?ee:800)-U-H,L=($=D==null?void 0:D.tableSource)==null?void 0:$[b].tableColumns,{newColWidth:z,widths:W}=Ar(k,L,C);for(let j=0;j<W.length;j++){const Y=p.replaceOp(["tableSource",b,"tableColumns",j,"size","width","v"],L[j].size.width.v,W[j]);v.push(Y)}const V=Xt(z),K=p.insertOp(["tableSource",b,"tableColumns",C],V);return v.push(K),_.params.actions=v.reduce((j,Y)=>a.JSONX.compose(j,Y),null),!!s.syncExecuteCommand(_.id,_.params)}},ns="COMPONENT_DOC_CREATE_TABLE_CONFIRM";function mo(o,t){const e=[];for(let n=0,i=o.length;n<i;n++)o[n]===a.DataStreamTreeTokenType.PARAGRAPH&&e.push({startIndex:n});if(t)for(const n of e)t.bullet&&(n.bullet=a.Tools.deepClone(t.bullet)),t.paragraphStyle&&(n.paragraphStyle=a.Tools.deepClone(t.paragraphStyle));return e}const fo={id:"doc.command.break-line",type:a.CommandType.COMMAND,handler:async o=>{var v,y;const t=o.get(M.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=o.get(Ce),s=t.getActiveTextRange(),r=t.getRectRanges();if(s==null)return!1;if(r&&r.length){const{startOffset:x}=s;return t.replaceDocRanges([{startOffset:x,endOffset:x}]),!0}const{segmentId:c}=s,A=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c!=null?c:"").getBody();if(A==null||l==null)return!1;const d=A.getUnitId(),{startOffset:u,endOffset:g}=s,f=((v=l.paragraphs)!=null?v:[]).find(x=>x.startIndex>=u);if(!f)return!1;const m=f.startIndex,p=i.getDefaultStyle(),S=i.getStyleCache(),I=xt(l,g,p,S),C={dataStream:a.DataStreamTreeTokenType.PARAGRAPH,paragraphs:mo(a.DataStreamTreeTokenType.PARAGRAPH,f),textRuns:[{st:0,ed:1,ts:{...I.ts}}]},b={startOffset:u,endOffset:g,collapsed:u===g},O=await n.executeCommand(Yt.id,{unitId:d,body:C,range:b,segmentId:c});if(((y=f.bullet)==null?void 0:y.listType)===a.PresetListType.CHECK_LIST_CHECKED){const x={index:m+1-(g-u),segmentId:c,textRanges:[{startOffset:u+1,endOffset:u+1}]};return!!await n.executeCommand(Wt.id,x)&&O}return O}},po={id:"doc.command.create-table",type:a.CommandType.COMMAND,handler:async(o,t)=>{var $,j,Y,oe,fe;const{rowCount:e,colCount:n}=t,i=o.get(M.DocSelectionManagerService),s=o.get(a.IUniverInstanceService),r=o.get(a.ICommandService),c=o.get(Ce),A=i.getActiveTextRange();if(A==null)return!1;const{segmentId:l,segmentPage:d}=A,u=s.getCurrentUniverDocInstance(),g=u==null?void 0:u.getSelfOrHeaderFooterModel(l).getBody();if(u==null||g==null)return!1;const h=u.getUnitId(),f=re(o,h),m=f==null?void 0:f.getSkeleton();if(m==null)return!1;const{startOffset:p}=A,I=(($=g.paragraphs)!=null?$:[]).find(Be=>Be.startIndex>=p),C=m.findNodeByCharIndex(p,l,d);if(C==null)return!1;const b=new a.TextX,O=a.JSONX.getInstance(),v=[],y=p+4,x=[{startOffset:y,endOffset:y,collapsed:!0}],_={id:M.RichTextEditingMutation.id,params:{unitId:h,actions:[],textRanges:x}};p>0&&b.push({t:a.TextXActionType.RETAIN,len:p}),b.push({t:a.TextXActionType.INSERT,body:{dataStream:a.DataStreamTreeTokenType.PARAGRAPH,paragraphs:mo(a.DataStreamTreeTokenType.PARAGRAPH,I)},len:1});const w=c.getDefaultStyle(),D=c.getStyleCache(),P=xt(g,p,w,D),{dataStream:U,paragraphs:H,sectionBreaks:k}=ir(e,n),L=(fe=(oe=(Y=(j=C.parent)==null?void 0:j.parent)==null?void 0:Y.parent)==null?void 0:oe.parent)==null?void 0:fe.parent;if(L==null)return!1;const{pageWidth:z,marginLeft:W,marginRight:V}=L,K=to(e,n,z-W-V);b.push({t:a.TextXActionType.INSERT,body:{dataStream:U,paragraphs:H,sectionBreaks:k,textRuns:[{...P,st:0,ed:U.length}],tables:[{startIndex:0,endIndex:U.length,tableId:K.tableId}]},len:U.length});const G=q(u,l);v.push(O.editOp(b.serialize(),G));const J=O.insertOp(["tableSource",K.tableId],K);return v.push(J),_.params.actions=v.reduce((Be,pe)=>a.JSONX.compose(Be,pe),null),!!r.syncExecuteCommand(_.id,_.params)}},So="doc.component.create-table-confirm",ln={id:"doc.operation.create-table",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(a.LocaleService),e=o.get(E.IConfirmService),n=o.get(a.ICommandService),i={rowCount:3,colCount:5},s=(r,c)=>{i.rowCount=r,i.colCount=c};return await e.open({id:So,children:{label:{name:ns,props:{handleRowColChange:s,tableCreateParams:i}}},width:400,title:{title:t.t("toolbar.table.insert")},onConfirm:()=>{n.executeCommand(po.id,i),e.close(So)},onClose:()=>{e.close(So)}}),!0}},me={id:"doc-paragraph-setting.command",type:a.CommandType.COMMAND,handler:async(o,t)=>{var S,I,C;const e=o.get(M.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=e.getDocRanges();if(!s||r.length===0||!t)return!1;const c=r[0].segmentId,A=s.getUnitId(),l=(I=(S=s.getSelfOrHeaderFooterModel(c).getBody())==null?void 0:S.paragraphs)!=null?I:[],d=(C=$e(r,l))!=null?C:[],u={id:M.RichTextEditingMutation.id,params:{unitId:A,actions:[],textRanges:r}},g=new a.MemoryCursor;g.reset();const h=new a.TextX,f=a.JSONX.getInstance();for(const b of d){const{startIndex:O}=b;h.push({t:a.TextXActionType.RETAIN,len:O-g.cursor});const v={...b.paragraphStyle,...t.paragraph};h.push({t:a.TextXActionType.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...b,paragraphStyle:v,startIndex:0}]},coverType:a.UpdateDocsAttributeType.REPLACE}),g.moveCursorTo(O+1)}const m=q(s,c);return u.params.actions=f.editOp(h.serialize(),m),!!i.syncExecuteCommand(u.id,u.params)}},Nr=()=>{const o=E.useDependency(M.DocSelectionManagerService),t=E.useDependency(st),e=F.useMemo(()=>o.getDocRanges(),[]);return F.useEffect(()=>{e.length||t.closePanel()},[e]),e},Pr=()=>{var r,c,A;const t=E.useDependency(a.IUniverInstanceService).getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),e=Nr();if(!t||e.length===0)return[];const n=e[0].segmentId,i=(c=(r=t.getSelfOrHeaderFooterModel(n).getBody())==null?void 0:r.paragraphs)!=null?c:[];return(A=$e(e,i))!=null?A:[]},Ur=(o,t)=>{const e=E.useDependency(a.ICommandService),[n,i]=F.useState(()=>{var c,A;const r=o[0];return r?String((A=(c=r.paragraphStyle)==null?void 0:c.horizontalAlign)!=null?A:t):t});return[n,r=>(i(r),e.executeCommand(me.id,{paragraph:{horizontalAlign:Number(r)}}))]},wr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?R.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.indentStart,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{indentStart:{v:s}}}))]},Qr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?R.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.indentEnd,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{indentEnd:{v:s}}}))]},Lr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?R.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.indentFirstLine,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{indentFirstLine:{v:s}}}))]},Fr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?R.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.hanging,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{hanging:{v:s}}}))]},kr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?R.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.spaceAbove,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{spaceAbove:{v:s}}}))]},Hr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?R.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.spaceBelow,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{spaceBelow:{v:s}}}))]},Vr=o=>{const t=E.useDependency(a.ICommandService),e=E.useDependency(R.IRenderManagerService),n=E.useDependency(a.IUniverInstanceService),i=F.useMemo(()=>{var f;const h=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(h)return(f=e.getRenderById(h==null?void 0:h.getUnitId()))==null?void 0:f.with(M.DocSkeletonManagerService).getSkeleton()},[]),s=F.useMemo(()=>new N.BehaviorSubject({}),[]),[r,c]=F.useState(()=>{var f,m;const h=o[0];return h&&(m=(f=h.paragraphStyle)==null?void 0:f.lineSpacing)!=null?m:1}),A=F.useRef(r),[l,d]=F.useState(()=>{var f,m;const h=o[0];return h&&(m=(f=h.paragraphStyle)==null?void 0:f.spacingRule)!=null?m:a.SpacingRule.AUTO}),u=async h=>{c(h),s.next({lineSpacing:h,spacingRule:l})},g=async h=>{if(h!==l){let f=A.current;if(h===a.SpacingRule.AT_LEAST){const m=i==null?void 0:i.findNodeByCharIndex(o[0].startIndex),p=m==null?void 0:m.parent,S=p==null?void 0:p.parent;(S==null?void 0:S.contentHeight)!==void 0&&(f=Math.max(S.contentHeight,f))}else f>5&&(f=2);A.current=r,u(f),d(h),s.next({spacingRule:h})}};return F.useEffect(()=>{const h=s.pipe(At.filter(f=>!!Object.keys(f).length),At.bufferTime(16),At.filter(f=>!!f.length),At.map(f=>f.reduce((m,p)=>(Object.keys(p).forEach(S=>{m[S]=p[S]}),m),{}))).subscribe(f=>t.executeCommand(me.id,{paragraph:{...f}}));return()=>h.unsubscribe()},[]),{lineSpacing:[r,u],spacingRule:[l,g]}},X={paragraphSettingIconList:"univer-paragraph-setting-icon-list",paragraphSettingIconListItem:"univer-paragraph-setting-icon-list-item",paragraphSettingIconListActive:"univer-paragraph-setting-icon-list-active",paragraphSettingTitle:"univer-paragraph-setting-title",paragraphSettingLabel:"univer-paragraph-setting-label",paragraphSettingMtBase:"univer-paragraph-setting-mt-base",paragraphSettingFlexCol:"univer-paragraph-setting-flex-col",paragraphSettingSpaceLine:"univer-paragraph-setting-space-line"},Ve=o=>{const{value:t,onChange:e,className:n="",min:i=0,max:s=100,step:r=1}=o,c=Ms.useRef(null);return Q.jsx(ae.InputNumber,{step:r,ref:c,min:i,max:s,value:t,onChange:A=>{e(A!=null?A:0).finally(()=>{setTimeout(()=>{var l;(l=c.current)==null||l.focus()},30)})},className:n})};function Wr(){const o=E.useDependency(a.LocaleService),t=F.useMemo(()=>[{label:o.t("toolbar.alignLeft"),value:String(a.HorizontalAlign.LEFT),icon:Q.jsx(Ai,{})},{label:o.t("toolbar.alignCenter"),value:String(a.HorizontalAlign.CENTER),icon:Q.jsx(ci,{})},{label:o.t("toolbar.alignRight"),value:String(a.HorizontalAlign.RIGHT),icon:Q.jsx(li,{})},{label:o.t("toolbar.alignJustify"),value:String(a.HorizontalAlign.JUSTIFIED),icon:Q.jsx(ri,{})}],[]),e=Pr(),[n,i]=Ur(e,t[0].value),[s,r]=wr(e),[c,A]=Qr(e),[l,d]=Lr(e),[u,g]=Fr(e),[h,f]=kr(e),[m,p]=Hr(e),{lineSpacing:[S,I],spacingRule:[C,b]}=Vr(e),O=F.useMemo(()=>C===a.SpacingRule.AUTO?{min:1,max:5,step:S<2?.5:1}:{min:1,max:100},[C,S]);return Q.jsxs("div",{className:X.paragraphSetting,children:[Q.jsx("div",{className:X.paragraphSettingTitle,children:o.t("doc.paragraphSetting.alignment")}),Q.jsx("div",{className:`
33
- ${X.paragraphSettingIconList}
34
- ${X.paragraphSettingMtBase}
35
- `,children:t.map(v=>Q.jsx(ae.Tooltip,{title:v.label,placement:"bottom",children:Q.jsx("span",{className:_t(X.paragraphSettingIconListItem,{[X.paragraphSettingIconListActive]:n===v.value}),onClick:()=>i(v.value),children:v.icon})},v.value))}),Q.jsx("div",{className:X.paragraphSettingTitle,children:o.t("doc.paragraphSetting.indentation")}),Q.jsxs("div",{children:[Q.jsxs("div",{className:X.paragraphSettingFlexCol,children:[Q.jsxs("div",{className:X.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.left"),"(px)"]}),Q.jsx(Ve,{className:X.paragraphSettingMtBase,value:s,onChange:v=>r(v!=null?v:0)})]}),Q.jsxs("div",{className:X.paragraphSettingFlexCol,children:[Q.jsxs("div",{className:X.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.right"),"(px)"]}),Q.jsx(Ve,{className:X.paragraphSettingMtBase,value:c,onChange:v=>A(v!=null?v:0)})]}),Q.jsxs("div",{className:X.paragraphSettingFlexCol,children:[Q.jsxs("div",{className:X.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.firstLine"),"(px)"]}),Q.jsx(Ve,{className:X.paragraphSettingMtBase,value:l,onChange:v=>d(v!=null?v:0)})]}),Q.jsxs("div",{className:X.paragraphSettingFlexCol,children:[Q.jsxs("div",{className:X.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.hanging"),"(px)"]}),Q.jsx(Ve,{className:X.paragraphSettingMtBase,value:u,onChange:v=>g(v!=null?v:0)})]})]}),Q.jsx("div",{className:X.paragraphSettingTitle,children:o.t("doc.paragraphSetting.spacing")}),Q.jsxs("div",{children:[Q.jsxs("div",{className:X.paragraphSettingFlexCol,children:[Q.jsxs("div",{className:X.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.before"),"(px)"]}),Q.jsx(Ve,{className:X.paragraphSettingMtBase,value:h,onChange:v=>f(v!=null?v:0)})]}),Q.jsxs("div",{className:X.paragraphSettingFlexCol,children:[Q.jsxs("div",{className:X.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.after"),"(px)"]}),Q.jsx(Ve,{className:X.paragraphSettingMtBase,value:m,onChange:v=>p(v!=null?v:0)})]}),Q.jsxs("div",{className:X.paragraphSettingFlexCol,children:[Q.jsx("div",{className:X.paragraphSettingLabel,children:o.t("doc.paragraphSetting.lineSpace")}),Q.jsxs("div",{className:`
36
- ${X.paragraphSettingMtBase}
37
- ${X.paragraphSettingSpaceLine}
38
- `,style:{width:162},children:[Q.jsx(ae.Select,{value:`${C}`,options:[{label:o.t("doc.paragraphSetting.multiSpace"),value:`${a.SpacingRule.AUTO}`},{label:o.t("doc.paragraphSetting.fixedValue"),value:`${a.SpacingRule.AT_LEAST}`}],onChange:v=>b(Number(v))}),Q.jsx(Ve,{...O,value:S,onChange:v=>I(v!=null?v:0)})]})]})]})]})}const Kr=(o,t)=>t.length===o.length&&o.some(e=>t.some(n=>n.startOffset===e.startOffset&&n.endOffset===e.endOffset));function zr(){const o=E.useDependency(a.ICommandService),t=E.useDependency(a.LocaleService),e=E.useObservable(t.currentLocale$),[n,i]=F.useState(""),s=F.useMemo(()=>a.debounce(()=>i(a.generateRandomId(4)),300),[]),r=F.useRef([]);return F.useEffect(()=>{const c=o.onCommandExecuted(A=>{if(M.SetTextSelectionsOperation.id===A.id){const l=A.params.ranges;Kr(l,r.current)||i(a.generateRandomId(4)),r.current=l}M.RichTextEditingMutation.id===A.id&&A.params.trigger!==me.id&&s()});return()=>c.dispose()},[s]),F.useEffect(()=>{i(a.generateRandomId(4))},[e]),F.useEffect(()=>()=>s.cancel(),[s]),Q.jsx(Wr,{},n)}var jr=Object.getOwnPropertyDescriptor,Gr=(o,t,e,n)=>{for(var i=n>1?void 0:n?jr(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Io=(o,t)=>(e,n)=>t(e,n,o);const os="doc_ui_paragraph-setting-panel";let st=class extends a.Disposable{constructor(t,e,n){super();B(this,"_id");this._commandService=t,this._componentManager=e,this._sidebarService=n,this._init()}_init(){this.disposeWithMe(this._componentManager.register(os,zr))}openPanel(){const t={header:{title:"doc.slider.paragraphSetting"},id:this._id,children:{label:os},width:300};this._sidebarService.open(t)}closePanel(){this._sidebarService.close(this._id)}};st=Gr([Io(0,a.ICommandService),Io(1,a.Inject(E.ComponentManager)),Io(2,a.Inject(E.ISidebarService))],st);const Eo={id:"sidebar.operation.doc-paragraph-setting-panel",type:a.CommandType.OPERATION,handler:o=>(o.get(st).openPanel(),!0)},vo=o=>{const t=o.get(M.DocSelectionManagerService);return new N.Observable(e=>{const n=t.textSelection$.subscribe(()=>{t.getDocRanges().some(r=>r.collapsed===!1||r.rangeType===a.DOC_RANGE_TYPE.RECT)?e.next(!1):e.next(!0)});return()=>n.unsubscribe()})};function Xr(o){if(o.length<2)return!0;const t=o.map(e=>e.tableId);return t.every(e=>e===t[0])}function is(o,t,e){var s;const n=t.getRectRanges(),i=t.getActiveTextRange();if(n&&n.length&&Xr(n)&&i==null){o.next(!1);return}if(i&&(n==null||n.length===0)){const{segmentId:r,startOffset:c,endOffset:A}=i,l=e.getCurrentUniverDocInstance(),d=(s=l==null?void 0:l.getSelfOrHeaderFooterModel(r).getBody())==null?void 0:s.tables;if(d&&d.length&&d.some(u=>{const{startIndex:g,endIndex:h}=u;return c>g&&c<h||A>g&&A<h})){o.next(!1);return}}o.next(!0)}const ye=o=>{const t=o.get(M.DocSelectionManagerService),e=o.get(a.IUniverInstanceService);return new N.Observable(n=>{const i=t.textSelection$.subscribe(()=>{is(n,t,e)});return is(n,t,e),()=>i.unsubscribe()})},Yr=o=>({id:yt.name,commandId:yt.id,type:E.MenuItemType.BUTTON,icon:"Copy",title:"rightClick.copy",disabled$:vo(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),qr=o=>({id:Eo.id,type:E.MenuItemType.BUTTON,icon:"MenuSingle24",title:"doc.menu.paragraphSetting",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),Jr=o=>({id:en.id,type:E.MenuItemType.BUTTON,icon:"Copy",title:"rightClick.cut",disabled$:vo(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),Zr=o=>({id:tn.id,type:E.MenuItemType.BUTTON,icon:"PasteSpecial",title:"rightClick.paste",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),$r=o=>({id:Ct.id,type:E.MenuItemType.BUTTON,icon:"PasteSpecial",title:"rightClick.delete",disabled$:vo(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),ss="doc.menu.table-insert";function ec(o){return{id:ss,type:E.MenuItemType.SUBITEMS,title:"table.insert",icon:"Insert",hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),ye(o),(t,e)=>t||e)}}function tc(o){return{id:an.id,type:E.MenuItemType.BUTTON,title:"table.insertRowAbove",icon:"InsertRowAbove",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function nc(o){return{id:rn.id,type:E.MenuItemType.BUTTON,title:"table.insertRowBelow",icon:"InsertRowBelow",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function oc(o){return{id:cn.id,type:E.MenuItemType.BUTTON,title:"table.insertColumnLeft",icon:"LeftInsertColumn",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function ic(o){return{id:An.id,type:E.MenuItemType.BUTTON,title:"table.insertColumnRight",icon:"RightInsertColumn",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}const as="doc.menu.table-delete";function sc(o){return{id:as,type:E.MenuItemType.SUBITEMS,title:"table.delete",icon:"Reduce",hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),ye(o),(t,e)=>t||e)}}function ac(o){return{id:on.id,type:E.MenuItemType.BUTTON,title:"table.deleteRows",icon:"DeleteRow",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function rc(o){return{id:sn.id,type:E.MenuItemType.BUTTON,title:"table.deleteColumns",icon:"DeleteColumn",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function cc(o){return{id:it.id,type:E.MenuItemType.BUTTON,title:"table.deleteTable",icon:"GridSingle",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function Ac(o){const t=o.get(a.IUniverInstanceService),e=o.get(R.IRenderManagerService);return new N.Observable(n=>{const i=t.focused$.subscribe(c=>{if(c==null||t.getUnitType(c)!==a.UniverInstanceType.UNIVER_DOC)return n.next(!0);const l=e.getRenderById(c);if(l==null)return n.next(!0);l.with(M.DocSkeletonManagerService).getViewModel().editAreaChange$.subscribe(u=>{n.next(u===R.DocumentEditArea.HEADER||u===R.DocumentEditArea.FOOTER)})}),s=e.getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_DOC);if(s==null)return n.next(!0);const r=s.with(M.DocSkeletonManagerService).getViewModel();return n.next(r.getEditArea()!==R.DocumentEditArea.BODY),()=>i.unsubscribe()})}function lc(o){const t=o.get(a.IUniverInstanceService),e=o.get(a.ICommandService);return new N.Observable(n=>{const i=e.onCommandExecuted(A=>{if(A.id===M.RichTextEditingMutation.id){const{unitId:l}=A.params,d=t.getUnit(l);if(d==null){n.next(!0);return}const{documentStyle:u}=d.getSnapshot();n.next((u==null?void 0:u.documentFlavor)!==a.DocumentFlavor.TRADITIONAL)}}),s=t.focused$.subscribe(A=>{if(A==null)return n.next(!0);const l=t.getUniverDocInstance(A),d=l==null?void 0:l.getSnapshot().documentStyle.documentFlavor;n.next(d!==a.DocumentFlavor.TRADITIONAL)}),r=t.getCurrentUniverDocInstance();if(r==null)return n.next(!0);const c=r==null?void 0:r.getSnapshot().documentStyle.documentFlavor;return n.next(c!==a.DocumentFlavor.TRADITIONAL),()=>{i.dispose(),s.unsubscribe()}})}function dc(o){const t=o.get(M.DocSelectionManagerService),e=o.get(a.IUniverInstanceService);return new N.Observable(n=>{const i=t.textSelection$.subscribe(s=>{if(s==null){n.next(!0);return}const{textRanges:r}=s;if(r.length!==1){n.next(!0);return}const c=r[0],{collapsed:A,startNodePosition:l,startOffset:d}=c;if(!A||d==null){n.next(!0);return}const u=e.getCurrentUniverDocInstance();if(u==null){n.next(!0);return}const g=re(o,u.getUnitId());if(g==null){n.next(!0);return}if(g.getViewModel().getCustomRangeRaw(d)){n.next(!0);return}if(l!=null){const{path:m}=l;if(m.indexOf("cells")!==-1){n.next(!0);return}}n.next(!1)});return()=>i.unsubscribe()})}function te(o){const t=o.get(M.DocSelectionManagerService);return new N.Observable(e=>{const n=t.textSelection$.subscribe(i=>{if(i==null){e.next(!0);return}const{textRanges:s,rectRanges:r}=i;if(s.length===0&&r.length===0){e.next(!0);return}e.next(!1)});return()=>n.unsubscribe()})}function uc(o){const t=o.get(a.ICommandService);return{id:_e.id,type:E.MenuItemType.BUTTON,icon:"BoldSingle",title:"Set bold",tooltip:"toolbar.bold",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.bl;e.next(A===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function hc(o){const t=o.get(a.ICommandService);return{id:Ne.id,type:E.MenuItemType.BUTTON,icon:"ItalicSingle",title:"Set italic",tooltip:"toolbar.italic",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.it;e.next(A===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function gc(o){const t=o.get(a.ICommandService);return{id:Pe.id,type:E.MenuItemType.BUTTON,icon:"UnderlineSingle",title:"Set underline",tooltip:"toolbar.underline",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.ul;e.next((A==null?void 0:A.s)===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function mc(o){const t=o.get(a.ICommandService);return{id:Ue.id,type:E.MenuItemType.BUTTON,icon:"StrikethroughSingle",title:"Set strike through",tooltip:"toolbar.strikethrough",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.st;e.next((A==null?void 0:A.s)===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function fc(o){const t=o.get(a.ICommandService);return{id:Re.id,type:E.MenuItemType.BUTTON,icon:"SubscriptSingle",tooltip:"toolbar.subscript",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.va;e.next(A===a.BaselineOffset.SUBSCRIPT)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function pc(o){const t=o.get(a.ICommandService);return{id:we.id,type:E.MenuItemType.BUTTON,icon:"SuperscriptSingle",tooltip:"toolbar.superscript",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.va;e.next(A===a.BaselineOffset.SUPERSCRIPT)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function Sc(o){const t=o.get(a.ICommandService);return{id:Le.id,tooltip:"toolbar.font",type:E.MenuItemType.SELECTOR,label:Ei,selections:E.FONT_FAMILY_LIST.map(e=>({label:{name:vi,hoverable:!0},value:e.value})),value$:new N.Observable(e=>{const n=a.DEFAULT_STYLES.ff,i=t.onCommandExecuted(s=>{var c;const r=s.id;if(r===M.SetTextSelectionsOperation.id||r===Le.id){const A=De(o);if(A==null){e.next(n);return}const l=(c=A.ts)==null?void 0:c.ff;e.next(l!=null?l:n)}});return e.next(n),i.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function Ic(o){const t=o.get(a.ICommandService);return{id:Qe.id,type:E.MenuItemType.SELECTOR,tooltip:"toolbar.fontSize",label:{name:Ci,props:{min:1,max:400}},selections:E.FONT_SIZE_LIST,value$:new N.Observable(e=>{const n=a.DEFAULT_STYLES.fs,i=t.onCommandExecuted(s=>{var c;const r=s.id;if(r===M.SetTextSelectionsOperation.id||r===Qe.id){const A=De(o);if(A==null){e.next(n);return}const l=(c=A.ts)==null?void 0:c.fs;e.next(l!=null?l:n)}});return e.next(n),i.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function Ec(o){const t=o.get(a.ICommandService),e=o.get(a.ThemeService);return{id:Fe.id,icon:"FontColor",tooltip:"toolbar.textColor.main",type:E.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:Xn,hoverable:!1}}],value$:new N.Observable(n=>{const i=e.getCurrentTheme().textColor,s=t.onCommandExecuted(r=>{if(r.id===Fe.id){const c=r.params.value;n.next(c!=null?c:i)}});return n.next(i),s.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function vc(o){return{id:jn.id,type:E.MenuItemType.BUTTON,icon:"HeaderFooterSingle",tooltip:"toolbar.headerFooter",hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY),lc(o),(t,e)=>t||e)}}const Cc="GridSingle",rs="doc.menu.table";function Tc(o){return{id:rs,type:E.MenuItemType.SUBITEMS,icon:Cc,tooltip:"toolbar.table.main",disabled$:dc(o),hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY),Ac(o),(t,e)=>t||e)}}function yc(o){return{id:ln.id,title:"toolbar.table.insert",type:E.MenuItemType.BUTTON,hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function bc(o){const t=o.get(a.ICommandService);return{id:pt.id,type:E.MenuItemType.BUTTON,icon:"LeftJustifyingSingle",tooltip:"toolbar.alignLeft",disabled$:te(o),activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===ge.id){const c=dn(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.LEFT)}});return e.next(!1),n.dispose}),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function Oc(o){const t=o.get(a.ICommandService);return{id:St.id,type:E.MenuItemType.BUTTON,icon:"HorizontallySingle",tooltip:"toolbar.alignCenter",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===ge.id){const c=dn(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.CENTER)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function Rc(o){const t=o.get(a.ICommandService);return{id:It.id,type:E.MenuItemType.BUTTON,icon:"RightJustifyingSingle",tooltip:"toolbar.alignRight",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===ge.id){const c=dn(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.RIGHT)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function Dc(o){const t=o.get(a.ICommandService);return{id:Et.id,type:E.MenuItemType.BUTTON,icon:"AlignTextBothSingle",tooltip:"toolbar.alignJustify",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===M.SetTextSelectionsOperation.id||s===ge.id){const c=dn(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.JUSTIFIED)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}const bt=o=>new N.Observable(t=>{const e=o.get(a.IUniverInstanceService),n=o.get(M.DocSelectionManagerService);let i;const s=e.focused$.subscribe(r=>{if(i==null||i.unsubscribe(),r==null)return;const c=e.getUniverDocInstance(r);c!=null&&(i=n.textSelection$.subscribe(()=>{var d,u,g;const A=n.getDocRanges(),l=(d=A.find(h=>h.isActive))!=null?d:A[0];if(l){const h=c.getSelfOrHeaderFooterModel(l==null?void 0:l.segmentId),f=Kt(l,(g=(u=h.getBody())==null?void 0:u.paragraphs)!=null?g:[]);let m;if(f.every(p=>{var S;return m||(m=(S=p.bullet)==null?void 0:S.listType),p.bullet&&p.bullet.listType===m})){t.next(m);return}}t.next(void 0)}))});return()=>{s.unsubscribe(),i==null||i.unsubscribe()}});function Bc(o){return{id:ft.id,type:E.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:yi,hoverable:!1},value$:bt(o)}],icon:"OrderSingle",tooltip:"toolbar.order",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),disabled$:te(o),activated$:bt(o).pipe(N.map(t=>t&&t.indexOf("ORDER_LIST")===0))}}function Mc(o){return{id:mt.id,type:E.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:bi,hoverable:!1},value$:bt(o)}],icon:"UnorderSingle",tooltip:"toolbar.unorder",disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),activated$:bt(o).pipe(N.map(t=>t&&t.indexOf("BULLET_LIST")===0))}}function xc(o){return{id:Vt.id,type:E.MenuItemType.BUTTON,icon:"TodoList",tooltip:"toolbar.checklist",disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),activated$:bt(o).pipe(N.map(t=>t&&t.indexOf("CHECK_LIST")===0))}}function _c(o){const t=o.get(a.ICommandService),e=o.get(a.IUniverInstanceService);return{id:nn.id,type:E.MenuItemType.BUTTON,icon:"KeyboardSingle",tooltip:"toolbar.documentFlavor",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY),activated$:new N.Observable(n=>{var r;const i=t.onCommandExecuted(c=>{var A;if(c.id===M.RichTextEditingMutation.id){const l=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);n.next(((A=l==null?void 0:l.getSnapshot())==null?void 0:A.documentStyle.documentFlavor)===a.DocumentFlavor.MODERN)}}),s=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);return n.next(((r=s==null?void 0:s.getSnapshot())==null?void 0:r.documentStyle.documentFlavor)===a.DocumentFlavor.MODERN),()=>i.dispose()})}}function Nc(o){return{id:Je.id,type:E.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColor"}}function Pc(o){const t=o.get(a.ICommandService),e=o.get(a.ThemeService);return{id:ke.id,tooltip:"toolbar.fillColor.main",type:E.MenuItemType.BUTTON_SELECTOR,icon:"PaintBucket",selections:[{label:{name:Xn,hoverable:!1}}],value$:new N.Observable(n=>{const i=e.getCurrentTheme().primaryColor,s=t.onCommandExecuted(r=>{if(r.id===ke.id){const c=r.params.value;n.next(c!=null?c:i)}});return n.next(i),s.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function De(o){var g,h;const t=o.get(a.IUniverInstanceService),e=o.get(M.DocSelectionManagerService),n=o.get(Ce),i=t.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),s=e.getDocRanges(),r=(g=s.find(f=>f.isActive))!=null?g:s[0],c=n.getDefaultStyle(),A=(h=n.getStyleCache())!=null?h:{};if(i==null||r==null)return{ts:{...c,...A}};const{segmentId:l}=r,d=i.getSelfOrHeaderFooterModel(l).getBody();return d==null?{ts:{...c,...A}}:{ts:{...Li(d,r,c),...A}}}function dn(o){var d,u;const t=o.get(a.IUniverInstanceService),e=o.get(M.DocSelectionManagerService),n=t.getCurrentUniverDocInstance(),i=e.getDocRanges(),s=(d=i.find(g=>g.isActive))!=null?d:i[0];if(n==null||s==null)return;const{startOffset:r,segmentId:c}=s,A=(u=n.getSelfOrHeaderFooterModel(c).getBody())==null?void 0:u.paragraphs;if(A==null)return;let l=-1;for(const g of A){const{startIndex:h}=g;if(r>l&&r<=h)return g;l=h}return null}const cs={[E.RibbonStartGroup.FORMAT]:{[_e.id]:{order:0,menuItemFactory:uc},[Ne.id]:{order:1,menuItemFactory:hc},[Pe.id]:{order:2,menuItemFactory:gc},[Ue.id]:{order:3,menuItemFactory:mc},[Re.id]:{order:4,menuItemFactory:fc},[we.id]:{order:5,menuItemFactory:pc},[Qe.id]:{order:6,menuItemFactory:Ic},[Le.id]:{order:7,menuItemFactory:Sc},[Fe.id]:{order:8,menuItemFactory:Ec},[ke.id]:{order:9,menuItemFactory:Pc,[Je.id]:{order:0,menuItemFactory:Nc}}},[E.RibbonStartGroup.LAYOUT]:{[rs]:{order:1,menuItemFactory:Tc,[ln.id]:{order:0,menuItemFactory:yc}},[pt.id]:{order:2,menuItemFactory:bc},[St.id]:{order:3,menuItemFactory:Oc},[It.id]:{order:4,menuItemFactory:Rc},[Et.id]:{order:5,menuItemFactory:Dc},[ft.id]:{order:6,menuItemFactory:Bc},[mt.id]:{order:7,menuItemFactory:Mc},[Vt.id]:{order:8,menuItemFactory:xc},[jn.id]:{order:9,menuItemFactory:vc},[nn.id]:{order:10,menuItemFactory:_c}},[E.ContextMenuPosition.MAIN_AREA]:{[E.ContextMenuGroup.FORMAT]:{[yt.name]:{order:0,menuItemFactory:Yr},[en.id]:{order:1,menuItemFactory:Jr},[tn.id]:{order:2,menuItemFactory:Zr},[Ct.id]:{order:3,menuItemFactory:$r}},[E.ContextMenuGroup.LAYOUT]:{[Eo.id]:{order:0,menuItemFactory:qr},[ss]:{order:1,menuItemFactory:ec,[an.id]:{order:1,menuItemFactory:tc},[rn.id]:{order:2,menuItemFactory:nc},[cn.id]:{order:3,menuItemFactory:oc},[An.id]:{order:4,menuItemFactory:ic}},[as]:{order:2,menuItemFactory:sc,[on.id]:{order:1,menuItemFactory:ac},[sn.id]:{order:2,menuItemFactory:rc},[it.id]:{order:3,menuItemFactory:cc}}}}};var Uc=Object.getOwnPropertyDescriptor,wc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Uc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},be=(o,t)=>(e,n)=>t(e,n,o);T.DocUIController=class extends a.Disposable{constructor(t,e,n,i,s,r,c,A,l){super(),this._injector=t,this._componentManager=e,this._commandService=n,this._layoutService=i,this._menuManagerService=s,this._uiPartsService=r,this._univerInstanceService=c,this._shortcutService=A,this._configService=l,this._init()}_initCustomComponents(){const t=this._componentManager;this.disposeWithMe(t.register(Xn,ae.ColorPicker)),this.disposeWithMe(t.register(Ei,E.FontFamily)),this.disposeWithMe(t.register(vi,E.FontFamilyItem)),this.disposeWithMe(t.register(Ci,E.FontSize)),this.disposeWithMe(t.register(bi,Ra)),this.disposeWithMe(t.register(yi,ba)),this.disposeWithMe(t.register("TodoList",di))}_initUiParts(){var n,i;const t=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_SHEET),e=this._configService.getConfig($n);(i=(n=e==null?void 0:e.layout)==null?void 0:n.docContainerConfig)!=null&&i.footer&&!t&&this.disposeWithMe(this._uiPartsService.registerComponent(E.BuiltInUIPart.FOOTER,()=>E.connectInjector(or,this._injector)))}_initMenus(){this._menuManagerService.mergeMenu(cs)}_initShortCut(){[La,Fa,ka,Ha,Va,Wa,ja,Ga,za,Ka,Xa,Ya,Ba].forEach(t=>{this.disposeWithMe(this._shortcutService.registerShortcut(t))})}_init(){this._initCustomComponents(),this._initMenus(),this._initFocusHandler(),this._initCommands(),this._initUiParts(),this._initShortCut()}_initCommands(){[Ii,jn,Kn].forEach(t=>this.disposeWithMe(this._commandService.registerCommand(t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(a.UniverInstanceType.UNIVER_DOC,t=>{this._injector.get(R.IRenderManagerService).getRenderById(t).with(T.DocSelectionRenderService).focus()}))}},T.DocUIController=wc([be(0,a.Inject(a.Injector)),be(1,a.Inject(E.ComponentManager)),be(2,a.ICommandService),be(3,E.ILayoutService),be(4,E.IMenuManagerService),be(5,E.IUIPartsService),be(6,a.IUniverInstanceService),be(7,E.IShortcutService),be(8,a.IConfigService)],T.DocUIController);var Qc=Object.getOwnPropertyDescriptor,Lc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Qc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Co=(o,t)=>(e,n)=>t(e,n,o);const As=1.5;T.DocBackScrollRenderController=class extends a.RxDisposable{constructor(t,e,n,i){super(),this._context=t,this._textSelectionManagerService=e,this._editorService=n,this._docSkeletonManagerService=i,this._init()}_init(){this._textSelectionManagerService.textSelection$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>{if(t==null)return;const{isEditing:e,unitId:n}=t;n!==this._context.unitId||!e||this._context.unitId!==a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._scrollToSelection()})}scrollToRange(t){const e=this._docSkeletonManagerService.getSkeleton();if(!e)return;const{startOffset:n}=t,i=e.findNodePositionByCharIndex(n);i&&this.scrollToNode(i)}scrollToNode(t){var w;const{unitId:e,scene:n,mainComponent:i}=this._context,s=this._docSkeletonManagerService.getSkeleton();if(i==null||s==null)return;const r=i.getOffsetConfig(),{docsLeft:c,docsTop:A}=r,l=new Ie(r,s),{contentBoxPointGroup:d}=l.getRangePointData(t,t),{left:u,top:g,height:h}=lt(d),f=u+c,m=g+A,p=n.getViewport(he.VIEW_MAIN),S=this._editorService.getEditor(e);if(p==null)return;const{left:I,top:C,right:b,bottom:O}=p.getBounding().viewBound;let v=0,y=0;const x=S?(w=S.params.backScrollOffset)!=null?w:0:100;m<C?v=m-C-x:m>O-h&&(v=m-O+h+x),f<I?y=f-I:f>b-As&&(y=f-b+As);const _=p.transViewportScroll2ScrollValue(y,v);p.scrollByBarDeltaValue(_)}_scrollToSelection(){const t=this._textSelectionManagerService.getActiveTextRange();if(t==null)return;const{collapsed:e,startNodePosition:n}=t;e&&this.scrollToNode(n)}},T.DocBackScrollRenderController=Lc([Co(1,a.Inject(M.DocSelectionManagerService)),Co(2,ce),Co(3,a.Inject(M.DocSkeletonManagerService))],T.DocBackScrollRenderController);var Fc=Object.getOwnPropertyDescriptor,kc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Fc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},at=(o,t)=>(e,n)=>t(e,n,o);T.DocRenderController=class extends a.RxDisposable{constructor(t,e,n,i,s,r,c){super(),this._context=t,this._commandService=e,this._docSelectionRenderService=n,this._docSkeletonManagerService=i,this._editorService=s,this._renderManagerService=r,this._univerInstanceService=c,this._addNewRender(),this._initRenderRefresh(),this._initCommandListener()}reRender(t){var r,c;const e=(r=this._renderManagerService.getRenderById(t))==null?void 0:r.with(M.DocSkeletonManagerService),n=e==null?void 0:e.getSkeleton();if(!n||!!n.getViewModel().getDataModel().getSnapshot().disabled)return;n.calculate();const s=this._editorService.getEditor(t);if(this._editorService.isEditor(t)&&!(s!=null&&s.params.scrollBar)){(c=this._context.mainComponent)==null||c.makeDirty();return}this._recalculateSizeBySkeleton(n)}_addNewRender(){const{scene:t,engine:e}=this._context,n=new R.Viewport(he.VIEW_MAIN,t,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});t.attachControl(),t.onMouseWheel$.subscribeEvent((s,r)=>{const c=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if((c==null?void 0:c.getUnitId())!==this._context.unitId)return;const A=s;if(A.ctrlKey){const l=Math.abs(A.deltaX);let d=l<40?.2:l<80?.4:.2;d*=A.deltaY>0?-1:1,t.scaleX<1&&(d/=2),t.scaleX+d>4?t.scale(4,4):t.scaleX+d<.1?t.scale(.1,.1):A.preventDefault()}else n.onMouseWheel(A,r)}),new R.ScrollBar(n),t.addLayer(new R.Layer(t,[],Mt),new R.Layer(t,[],Wo)),this._addComponent();const i=()=>t.render();this.disposeWithMe(this._context.activated$.subscribe(s=>{s?e.runRenderLoop(i):e.stopRenderLoop(i)})),this._docSelectionRenderService.__attachScrollEvent()}_addComponent(){const{scene:t,unit:e,components:n}=this._context,r={pageMarginLeft:20,pageMarginTop:20},c=new R.Documents(le.MAIN,void 0,r);c.zIndex=Rn;const A=new R.DocBackground(le.BACKGROUND,void 0,r);A.zIndex=Rn,this._context.mainComponent=c,n.set(le.MAIN,c),n.set(le.BACKGROUND,A),t.addObjects([c],Mt),t.addObjects([A],Vo),this._editorService.getEditor(e.getUnitId())==null&&t.enableLayerCache(Mt)}_initRenderRefresh(){this._docSkeletonManagerService.currentSkeletonBefore$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>{this._create(t)})}_create(t){var A;if(!t)return;const{mainComponent:e,components:n}=this._context,i=e,s=n.get(le.BACKGROUND);i.changeSkeleton(t),s.changeSkeleton(t);const{unitId:r}=this._context,c=this._editorService.getEditor(r);if(this._editorService.isEditor(r)&&!(c!=null&&c.params.scrollBar)){(A=this._context.mainComponent)==null||A.makeDirty();return}this._recalculateSizeBySkeleton(t)}_initCommandListener(){const t=[M.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){const n=e.params,{unitId:i}=n;this.reRender(i)}}))}_recalculateSizeBySkeleton(t){var f;const{mainComponent:e,scene:n,unitId:i,components:s}=this._context,r=e,c=s.get(le.BACKGROUND),A=(f=t.getSkeletonData())==null?void 0:f.pages;if(A==null)return;let l=0,d=0;const g=this._context.unit.getSnapshot().documentStyle.documentFlavor;for(let m=0,p=A.length;m<p;m++){const S=A[m];let{pageWidth:I,pageHeight:C}=S;if(g===a.DocumentFlavor.MODERN){const b=Hc(S);I=b.pageWidth,C=b.pageHeight}r.pageLayoutType===R.PageLayoutType.VERTICAL?(d+=C,d+=r.pageMarginTop,m===p-1&&(d+=r.pageMarginTop),l=Math.max(l,I)):r.pageLayoutType===R.PageLayoutType.HORIZONTAL&&(l+=I,m!==p-1&&(l+=r.pageMarginLeft),d=Math.max(d,C))}r.resize(l,d),c.resize(l,d);const h=this._editorService.getEditor(i);(!this._editorService.isEditor(i)||h!=null&&h.params.scrollBar)&&n.resize(l,d)}},T.DocRenderController=kc([at(1,a.ICommandService),at(2,a.Inject(T.DocSelectionRenderService)),at(3,a.Inject(M.DocSkeletonManagerService)),at(4,ce),at(5,R.IRenderManagerService),at(6,a.IUniverInstanceService)],T.DocRenderController);function Hc(o){let{pageWidth:t,pageHeight:e}=o;const{marginLeft:n,marginRight:i,marginTop:s,marginBottom:r,skeDrawings:c,skeTables:A}=o;t===Number.POSITIVE_INFINITY&&(t=o.width+n+i),e===Number.POSITIVE_INFINITY&&(e=o.height+s+r);for(const l of c.values())t=Math.max(t,l.aLeft+l.width+n+i),e=Math.max(e,l.aTop+l.height+s+r);for(const l of A.values())t=Math.max(t,l.left+l.width+n+i),e=Math.max(e,l.top+l.height+s+r);return{pageWidth:t,pageHeight:e}}const To={id:"doc.command.select-all",type:a.CommandType.COMMAND,handler:async o=>{var g;const t=o.get(a.IUniverInstanceService),e=o.get(M.DocSelectionManagerService),n=t.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),i=e.getDocRanges(),s=(g=i.find(h=>h.isActive))!=null?g:i[0];if(n==null||s==null)return!1;const{segmentId:r}=s,c=n.getUnitId(),A=n.getSelfOrHeaderFooterModel(r).getSnapshot().body;if(A==null)return!1;const{tables:l=[]}=A,d=[];let u=0;for(const h of l){const{startIndex:f,endIndex:m}=h;u!==f&&d.push({startOffset:u,endOffset:f-1,rangeType:a.DOC_RANGE_TYPE.TEXT}),d.push({startOffset:f+3,endOffset:m-5,rangeType:a.DOC_RANGE_TYPE.RECT}),u=m}return u!==A.dataStream.length-2&&d.push({startOffset:u,endOffset:A.dataStream.length-2,rangeType:a.DOC_RANGE_TYPE.TEXT}),e.replaceDocRanges(d,{unitId:c,subUnitId:c},!1),!0}};class Ot extends a.RxDisposable{constructor(e){super();B(this,"_previousActiveRange",null);B(this,"_undoMutationParamsCache",[]);B(this,"_redoMutationParamsCache",[]);this._context=e}clearUndoRedoMutationParamsCache(){this._undoMutationParamsCache=[],this._redoMutationParamsCache=[]}getUndoRedoMutationParamsCache(){return{undoCache:this._undoMutationParamsCache,redoCache:this._redoMutationParamsCache}}setUndoRedoMutationParamsCache({undoCache:e=[],redoCache:n=[]}){this._undoMutationParamsCache=e,this._redoMutationParamsCache=n}getActiveRange(){return this._previousActiveRange}setActiveRange(e){this._previousActiveRange=e}pushUndoRedoMutationParams(e,n){this._undoMutationParamsCache.push(e),this._redoMutationParamsCache.push(n)}fetchComposedUndoRedoMutationParams(){if(this._undoMutationParamsCache.length===0||this._previousActiveRange==null||this._redoMutationParamsCache.length===0)return null;const{unitId:e}=this._undoMutationParamsCache[0],n={unitId:e,actions:this._undoMutationParamsCache.reverse().reduce((s,r)=>a.JSONX.compose(s,r.actions),null),textRanges:[]};return{redoMutationParams:{unitId:e,actions:this._redoMutationParamsCache.reduce((s,r)=>a.JSONX.compose(s,r.actions),null),textRanges:[]},undoMutationParams:n,previousActiveRange:this._previousActiveRange}}dispose(){this._undoMutationParamsCache=[],this._redoMutationParamsCache=[],this._previousActiveRange=null}}const yo={id:"doc.command.ime-input",type:a.CommandType.COMMAND,handler:async(o,t)=>{var L,z,W;const{unitId:e,newText:n,oldTextLen:i,isCompositionEnd:s,isCompositionStart:r}=t,c=o.get(a.ICommandService),A=o.get(R.IRenderManagerService),l=o.get(a.IUniverInstanceService),d=o.get(Ce),u=(L=A.getRenderById(e))==null?void 0:L.with(Ot),g=l.getUnit(e,a.UniverInstanceType.UNIVER_DOC);if(g==null||u==null)return!1;const h=u.getActiveRange();if(h==null)return!1;const{style:f,segmentId:m}=h,p=g.getSelfOrHeaderFooterModel(m).getBody();if(p==null)return!1;Object.assign(h,h);const{startOffset:I,endOffset:C}=h,b=n.length,O=[{startOffset:I+b,endOffset:I+b,collapsed:!0,style:f}],v={id:M.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:O}},y=d.getDefaultStyle(),x=d.getStyleCache(),_=Dn((z=p.customRanges)!=null?z:[],I+i,a.SHEET_EDITOR_UNITS.includes(e)),w=xt(p,r?C:I+i,y,x,a.SHEET_EDITOR_UNITS.includes(e)),D=Bn((W=p.customDecorations)!=null?W:[],I+i),P=new a.TextX,U=a.JSONX.getInstance();if(!h.collapsed&&r){const V=a.BuildTextUtils.selection.delete([h],p,0,null,!1);P.push(...V),v.params.textRanges=[{startOffset:I+b,endOffset:I+b,collapsed:!0}]}else P.push({t:a.TextXActionType.RETAIN,len:I});i>0&&P.push({t:a.TextXActionType.DELETE,len:i}),P.push({t:a.TextXActionType.INSERT,body:{dataStream:n,textRuns:w?[{...w,st:0,ed:n.length}]:[],customRanges:_?[{..._,startIndex:0,endIndex:n.length-1}]:[],customDecorations:D.map(V=>({...V,startIndex:0,endIndex:n.length-1}))},len:n.length});const H=q(g,m);v.params.actions=U.editOp(P.serialize(),H),v.params.noHistory=!s,v.params.isCompositionEnd=s;const k=c.syncExecuteCommand(v.id,v.params);return u.pushUndoRedoMutationParams(k,v.params),!!k}},un={type:a.CommandType.COMMAND,id:"doc.command.set-zoom-ratio",handler:async(o,t)=>{var u,g,h;const e=o.get(a.ICommandService),n=o.get(a.IUndoRedoService),i=o.get(a.IUniverInstanceService);let s=(u=i.getCurrentUniverDocInstance())==null?void 0:u.getUnitId();if(!s)return!1;let r=1;if(t&&(s=(g=t.documentId)!=null?g:s,r=(h=t.zoomRatio)!=null?h:r),!i.getUniverDocInstance(s))return!1;const A={zoomRatio:r,unitId:s},l=Ja(o,A);return e.syncExecuteCommand(ue.id,A)?(n.pushUndoRedo({unitID:s,undoMutations:[{id:ue.id,params:l}],redoMutations:[{id:ue.id,params:A}]}),!0):!1}},bo={id:"doc.table.tab-in-table",type:a.CommandType.COMMAND,handler:async(o,t)=>{var f;const{shift:e}=t,n=o.get(M.DocSelectionManagerService),i=n.getDocRanges(),s=o.get(a.ICommandService),c=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(!c)return!1;const A=(f=i.find(m=>m.isActive))!=null?f:i[0],l=c.getUnitId(),d=re(o,l),u=d==null?void 0:d.getSkeleton(),g=u==null?void 0:u.getViewModel().getSelfOrHeaderFooterViewModel(A==null?void 0:A.segmentId);if(g==null||A==null)return!1;let h=null;if(e?h=Vi(g,A,no.PREV):h=Vi(g,A,no.NEXT),h){const{startOffset:m,endOffset:p}=h,S=[{startOffset:m,endOffset:p}];return n.replaceDocRanges(S),!0}return e===!1?await s.executeCommand(go.id,{position:zt.BELLOW}):!0}};var Vc=Object.getOwnPropertyDescriptor,Wc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Vc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Oo=(o,t)=>(e,n)=>t(e,n,o);let Ro=class{constructor(o,t,e){B(this,"_docContainer");B(this,"getComponent",o=>{if(this._docContainer=o,!o.getContentRef().current)throw new Error("container is not ready")});B(this,"changeLocale",o=>{this._localeService.setLocale(o)});this._localeService=o,this._injector=t,this._configService=e}getUIConfig(){return{injector:this._injector,config:this._configService.getConfig($n),changeLocale:this.changeLocale,getComponent:this.getComponent}}getContentRef(){return this._docContainer.getContentRef()}UIDidMount(o){if(this._docContainer)return o(this._docContainer)}getDocContainer(){return this._docContainer}};Ro=Wc([Oo(0,a.Inject(a.LocaleService)),Oo(1,a.Inject(a.Injector)),Oo(2,a.IConfigService)],Ro);var Kc=Object.getOwnPropertyDescriptor,zc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Kc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},jc=(o,t)=>(e,n)=>t(e,n,o);let hn=class extends a.RxDisposable{constructor(t){super();B(this,"_docContainerController");this._injector=t,this._docContainerController=this._injector.createInstance(Ro)}};hn=zc([jc(0,a.Inject(a.Injector))],hn);var Gc=Object.getOwnPropertyDescriptor,Xc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Gc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},ls=(o,t)=>(e,n)=>t(e,n,o);let gn=class extends a.Disposable{constructor(o,t){super(),this._docAutoFormatService=o,this._renderManagerService=t,this._initListTabAutoFormat(),this._initListSpaceAutoFormat(),this._initDefaultEnterFormat(),this._initExitListAutoFormat()}_initListTabAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:xe.id,match:o=>{var i;const{selection:t,paragraphs:e,unit:n}=o;if(e.length===1&&t.startOffset===e[0].paragraphStart&&e[0].bullet){const s=(i=n.getBody())==null?void 0:i.paragraphs,r=s==null?void 0:s.filter(c=>{var A;return((A=c.bullet)==null?void 0:A.listId)===e[0].bullet.listId});return(r==null?void 0:r.findIndex(c=>c.startIndex===e[0].startIndex))!==0}else if(e.length>1&&e.some(s=>s.bullet))return!0;return!1},getMutations(o){const t=o.commandParams;return[{id:Ht.id,params:{type:t!=null&&t.shift?gt.decrease:gt.increase}}]},priority:100})),this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:xe.id,match:o=>{const{selection:t,unit:e}=o,{startNodePosition:n,endNodePosition:i}=t,s=this._renderManagerService.getRenderById(e.getUnitId()),r=s==null?void 0:s.with(M.DocSkeletonManagerService).getSkeleton();return r==null?!1:!!(n&&i&&ei(r,n,i)||n&&!i&&n.path.indexOf("cells")>-1)},getMutations(o){const t=o.commandParams;return[{id:bo.id,params:{shift:!!(t!=null&&t.shift)}}]},priority:99}))}_initListSpaceAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:ut.id,match:o=>{var s;const{selection:t,paragraphs:e,unit:n}=o;if(!t.collapsed||e.length!==1)return!1;const i=(s=n.getBody())==null?void 0:s.dataStream.slice(e[0].paragraphStart,e[0].paragraphEnd-1);return!!(i&&Object.keys(a.QuickListTypeMap).includes(i))},getMutations(o){var i;const{paragraphs:t,unit:e}=o,n=(i=e.getBody())==null?void 0:i.dataStream.slice(t[0].paragraphStart,t[0].paragraphEnd-1);if(n&&Object.keys(a.QuickListTypeMap).includes(n)){const s=a.QuickListTypeMap[n];return[{id:Zn.id,params:{listType:s,paragraph:t[0]}}]}return[]}}))}_initExitListAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:qe.id,match:o=>{const{paragraphs:t}=o;return!!(t.length===1&&t[0].bullet&&t[0].paragraphStart===t[0].paragraphEnd)},getMutations:o=>{const t=o.paragraphs[0].bullet;return t?t.nestingLevel>0?[{id:Ht.id,params:{type:gt.decrease}}]:[{id:Ze.id,params:{listType:o.paragraphs[0].bullet.listType}}]:[]}}))}_initDefaultEnterFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:qe.id,match:()=>!0,getMutations(){return[{id:fo.id}]},priority:-9999}))}};gn=Xc([ls(0,a.Inject(T.DocAutoFormatService)),ls(1,R.IRenderManagerService)],gn);function Yc(o){return o.rows[0].cells[0].sections[0].columns[0].lines[0]}function qc(o){const t=o.rows[o.rows.length-1],e=t.cells[t.cells.length-1];return R.getLastLine(e)}function Jc(o,t){const{ed:e}=o,{skeTables:n}=t;let i=null;for(const s of n.values())if(s.st===e+1){i=s;break}return i}function ds(o){const t=o==null?void 0:o.parent;let e=null,n=null;if(o==null||t==null)return{lineBeforeTable:e,lineAfterTable:n};const{st:i,ed:s}=o,r=t.type===R.DocumentSkeletonPageType.CELL?[t]:t.parent.pages;return R.lineIterator(r,c=>{c.st===s+1?n=c:c.ed===i-1&&(e=c)}),{lineBeforeTable:e,lineAfterTable:n}}function us(o){return o.sections[0].columns[0].lines.length===0}function hs(o){var r,c;const t=o.parent,e=t==null?void 0:t.parent,n=e==null?void 0:e.tableId;if(t==null||e==null)return;const i=t.cells.indexOf(o);let s=e.rows[e.rows.indexOf(t)+1];if(s==null&&n.indexOf("#-#")){const[A,l]=n.split("#-#"),d=(c=(r=e.parent)==null?void 0:r.parent)==null?void 0:c.pages,u=`${A}#-#${Number.parseInt(l)+1}`;if(d)for(const g of d){const{skeTables:h}=g;if(h.has(u)){const f=h.get(u);if(f!=null&&f.rows.length){s=f.rows.find(m=>!m.isRepeatRow);break}}}}if(s!=null){const A=s.cells[i];return us(A)?hs(A):A}}function gs(o){var s,r;const t=o.parent,e=t==null?void 0:t.parent;if(t==null||e==null)return;let n=e.rows[e.rows.indexOf(t)-1];const i=t.cells.indexOf(o);if((n==null||n.isRepeatRow)&&e.tableId.indexOf("#-#")){const[c,A]=e.tableId.split("#-#"),l=(r=(s=e.parent)==null?void 0:s.parent)==null?void 0:r.pages,d=`${c}#-#${Number.parseInt(A)-1}`;if(l)for(const u of l){const{skeTables:g}=u;if(g.has(d)){const h=g.get(d);if(h!=null&&h.rows.length){n=h.rows[h.rows.length-1];break}}}}if(n!=null){const c=n.cells[i];return us(c)?gs(c):c}}function Zc(o,t){const{st:e}=o,{skeTables:n}=t;let i=null;for(const s of n.values())if(s.ed===e-1){i=s;break}return i}function $c(o){return o.sections[0].columns[0].lines[0]}function eA(o){const t=R.getLastColumn(o);return t.lines[t.lines.length-1]}var tA=Object.getOwnPropertyDescriptor,nA=(o,t,e,n)=>{for(var i=n>1?void 0:n?tA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},mn=(o,t)=>(e,n)=>t(e,n,o);let fn=class extends a.Disposable{constructor(t,e,n,i){super();B(this,"_onInputSubscription");this._univerInstanceService=t,this._renderManagerService=e,this._textSelectionManagerService=n,this._commandService=i,this._commandExecutedListener()}dispose(){var t;super.dispose(),(t=this._onInputSubscription)==null||t.unsubscribe()}_commandExecutedListener(){const t=[Ee.id,ve.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(!t.includes(e.id))return;const n=e.params;switch(e.id){case Ee.id:return this._handleMoveCursor(n.direction);case ve.id:return this._handleShiftMoveSelection(n.direction);default:throw new Error("Unknown command")}}))}_handleShiftMoveSelection(t){var C,b,O;const e=this._textSelectionManagerService.getActiveTextRange(),n=this._textSelectionManagerService.getTextRanges(),i=this._univerInstanceService.getCurrentUniverDocInstance();if(i==null)return;const s=(C=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:C.with(M.DocSkeletonManagerService).getSkeleton(),r=this._getDocObject();if(e==null||s==null||r==null)return;const{startOffset:c,endOffset:A,style:l,collapsed:d,direction:u,segmentId:g,startNodePosition:h,endNodePosition:f,segmentPage:m}=e;if(n.length>1){let v=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY;for(const x of n)v=Math.min(v,x.startOffset),y=Math.max(y,x.endOffset);this._textSelectionManagerService.replaceTextRanges([{startOffset:t===a.Direction.LEFT||t===a.Direction.UP?y:v,endOffset:t===a.Direction.LEFT||t===a.Direction.UP?v:y,style:l}],!1);return}const p=d||u===a.RANGE_DIRECTION.FORWARD?c:A;let S=d||u===a.RANGE_DIRECTION.FORWARD?A:c;const I=(b=i.getSelfOrHeaderFooterModel(g).getBody().dataStream.length)!=null?b:Number.POSITIVE_INFINITY;if(t===a.Direction.LEFT||t===a.Direction.RIGHT){const v=s.findNodeByCharIndex(S-1,g,m),y=s.findNodeByCharIndex(S,g,m);S=t===a.Direction.RIGHT?S+y.count:S-((O=v==null?void 0:v.count)!=null?O:0),S=Math.min(I-2,Math.max(0,S)),this._textSelectionManagerService.replaceTextRanges([{startOffset:p,endOffset:S,style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),S)}else{const v=s.findNodeByCharIndex(S,g,m),y=r.document.getOffsetConfig(),x=d?h:u===a.RANGE_DIRECTION.FORWARD?f:h,_=this._getTopOrBottomPosition(s,v,x,t===a.Direction.DOWN,!0);if(_==null){const D=t===a.Direction.UP?0:I-2;if(D===S)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:p,endOffset:D,style:l}],!1);return}const w=new Ie(y,s).getRangePointData(_,_).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{startOffset:p,endOffset:w.endOffset,style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),w.endOffset)}}_handleMoveCursor(t){var I,C,b,O;const e=this._textSelectionManagerService.getActiveTextRange(),n=this._textSelectionManagerService.getTextRanges(),i=this._univerInstanceService.getCurrentUniverDocInstance();if(i==null)return!1;const s=(I=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:I.with(M.DocSkeletonManagerService).getSkeleton(),r=this._getDocObject();if(e==null||s==null||r==null||n==null)return;const{startOffset:c,endOffset:A,style:l,collapsed:d,segmentId:u,startNodePosition:g,endNodePosition:h,segmentPage:f}=e,m=i.getSelfOrHeaderFooterModel(u).getBody();if(m==null)return;const p=(C=m.dataStream.length)!=null?C:Number.POSITIVE_INFINITY,S=(b=i.getCustomRanges())!=null?b:[];if(t===a.Direction.LEFT||t===a.Direction.RIGHT){let v;if(!e.collapsed||n.length>1){let _=Number.POSITIVE_INFINITY,w=Number.NEGATIVE_INFINITY;for(const D of n)_=Math.min(_,D.startOffset),w=Math.max(w,D.endOffset);v=t===a.Direction.LEFT?_:w}else{const _=s.findNodeByCharIndex(c-1,u,f),w=s.findNodeByCharIndex(c,u,f),D=s.findNodeByCharIndex(c+1,u,f);t===a.Direction.LEFT?v=Math.max(0,c-((O=_==null?void 0:_.count)!=null?O:1)):v=Math.min(p-2,A+w.count+((D==null?void 0:D.streamType)===a.DataStreamTreeTokenType.SECTION_BREAK?1:0))}const y=[a.DataStreamTreeTokenType.TABLE_START,a.DataStreamTreeTokenType.TABLE_END,a.DataStreamTreeTokenType.TABLE_ROW_START,a.DataStreamTreeTokenType.TABLE_ROW_END,a.DataStreamTreeTokenType.TABLE_CELL_START,a.DataStreamTreeTokenType.TABLE_CELL_END,a.DataStreamTreeTokenType.SECTION_BREAK];if(t===a.Direction.LEFT)for(;y.includes(m.dataStream[v]);)v--;else for(;y.includes(m.dataStream[v]);)v++;S.filter(_=>_.wholeEntity&&_.startIndex<v&&_.endIndex>=v).forEach(_=>{t===a.Direction.LEFT?v=Math.min(_.startIndex,v):v=Math.max(_.endIndex+1,v)}),this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,v),endOffset:Math.max(0,v),style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),v)}else{const v=s.findNodeByCharIndex(c,u,f),y=s.findNodeByCharIndex(A,u,f),x=r.document.getOffsetConfig(),_=this._getTopOrBottomPosition(s,t===a.Direction.UP||d?v:y,t===a.Direction.UP||d?g:h,t===a.Direction.DOWN);if(_==null){let D;d?D=t===a.Direction.UP?0:p-2:D=t===a.Direction.UP?c:A,this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,D),endOffset:Math.max(0,D),style:l}],!1);return}const w=new Ie(x,s).getRangePointData(_,_).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{...w,style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),w.endOffset)}}_getTopOrBottomPosition(t,e,n,i,s=!1){if(e==null||n==null)return;const r=this._getGlyphLeftOffsetInLine(e),c=this._getNextOrPrevLine(e,i,s);if(c==null)return;const A=this._matchPositionByLeftOffset(t,c,r,n);if(A!=null)return{...A,isBack:!0}}_getGlyphLeftOffsetInLine(t){const e=t.parent;if(e==null)return Number.NEGATIVE_INFINITY;const n=e.left,{left:i}=t;return n+i}_matchPositionByLeftOffset(t,e,n,i){const s={distance:Number.POSITIVE_INFINITY};for(const c of e.divides){const A=c.left;for(const l of c.glyphGroup){if(l.streamType===a.DataStreamTreeTokenType.SECTION_BREAK)continue;const{left:d}=l,u=A+d,g=Math.abs(n-u);g<s.distance&&(s.glyph=l,s.distance=g)}}if(s.glyph==null)return;const{segmentPage:r}=i;return t.findPositionByGlyph(s.glyph,r)}_getNextOrPrevLine(t,e,n=!1){var m,p,S,I,C,b,O,v,y,x,_,w;const i=t.parent,s=i==null?void 0:i.parent,r=s==null?void 0:s.parent,c=r==null?void 0:r.parent,A=c==null?void 0:c.parent;if(i==null||s==null||r==null||c==null||A==null)return;const l=r.lines.indexOf(s);if(l===-1)return;let d;if(A.type===R.DocumentSkeletonPageType.CELL&&n){const D=ms(A,e);if(D)return D}if(e===!0){d=r.lines[l+1];const D=Jc(s,A);if(D){const P=Yc(D);P&&(d=P)}}else{d=r.lines[l-1];const D=Zc(s,A);if(D){const P=qc(D);P&&(d=P)}}if(d!=null)return d;const u=c.columns.indexOf(r);if(u===-1)return;if(e===!0)d=(m=c.columns[u+1])==null?void 0:m.lines[0];else{const D=(S=(p=c.columns)==null?void 0:p[u-1])==null?void 0:S.lines;d=D==null?void 0:D[D.length-1]}if(d!=null)return d;const g=A.sections.indexOf(c);if(g===-1)return;if(e===!0)d=(C=(I=A.sections[g-1])==null?void 0:I.columns[0])==null?void 0:C.lines[0];else{const D=(O=(b=A.sections)==null?void 0:b[g-1])==null?void 0:O.columns,P=D==null?void 0:D[D.length-1],U=P==null?void 0:P.lines;d=U==null?void 0:U[U.length-1]}if(d!=null)return d;if(A.type===R.DocumentSkeletonPageType.CELL)return ms(A,e);const h=A.parent;if(h==null)return;const f=h.pages.indexOf(A);if(f!==-1){if(e===!0)d=(x=(y=(v=h.pages[f+1])==null?void 0:v.sections[0])==null?void 0:y.columns[0])==null?void 0:x.lines[0];else{const D=(_=h.pages[f-1])==null?void 0:_.sections;if(D==null)return;const P=(w=D[D.length-1])==null?void 0:w.columns,U=P[P.length-1],H=U==null?void 0:U.lines;d=H[H.length-1]}if(d!=null)return d}}_scrollToFocusNodePosition(t,e){var i;const n=(i=this._renderManagerService.getRenderById(t))==null?void 0:i.with(T.DocBackScrollRenderController);n!=null&&n.scrollToRange({startOffset:e,endOffset:e,collapsed:!0})}_getDocObject(){return Ko(this._univerInstanceService,this._renderManagerService)}};fn=nA([mn(0,a.IUniverInstanceService),mn(1,R.IRenderManagerService),mn(2,a.Inject(M.DocSelectionManagerService)),mn(3,a.ICommandService)],fn);function ms(o,t){var n,i;let e=null;if(t===!0){const s=hs(o);if(s)e=$c(s);else{const r=(n=o.parent)==null?void 0:n.parent,{lineAfterTable:c}=ds(r);c&&(e=c)}}else{const s=gs(o);if(s)e=eA(s);else{const r=(i=o.parent)==null?void 0:i.parent,{lineBeforeTable:c}=ds(r);c&&(e=c)}}return e}const We={create:"univer-create",createItem:"univer-create-item",createLabel:"univer-create-label",createInput:"univer-create-input"},oA=({handleRowColChange:o,tableCreateParams:t})=>{const e=E.useDependency(a.LocaleService),[n,i]=F.useState(3),[s,r]=F.useState(5);function c(A,l){i(A),r(l),o(A,l)}return F.useEffect(()=>{i(t.rowCount),r(t.colCount)},[t]),Q.jsxs("div",{className:We.create,children:[Q.jsxs("div",{className:We.createItem,children:[Q.jsx("span",{className:We.createLabel,children:e.t("toolbar.table.rowCount")}),Q.jsx(ae.InputNumber,{min:1,max:20,precision:0,value:n,onChange:A=>{c(A,s)},className:We.createInput})]}),Q.jsxs("div",{className:We.createItem,children:[Q.jsx("span",{className:We.createLabel,children:e.t("toolbar.table.colCount")}),Q.jsx(ae.InputNumber,{min:1,max:20,precision:0,value:s,onChange:A=>{c(n,A)},className:We.createInput})]})]})};var iA=Object.getOwnPropertyDescriptor,sA=(o,t,e,n)=>{for(var i=n>1?void 0:n?iA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},fs=(o,t)=>(e,n)=>t(e,n,o);let pn=class extends a.Disposable{constructor(o,t){super(),this._commandService=o,this._componentManager=t,this._initialize()}_initialize(){this._init(),this._registerCommands(),this._initCustomComponents()}_registerCommands(){[ln].forEach(o=>this.disposeWithMe(this._commandService.registerCommand(o)))}_initCustomComponents(){const o=this._componentManager;this.disposeWithMe(o.register(ns,oA))}_init(){}};pn=sA([fs(0,a.ICommandService),fs(1,a.Inject(E.ComponentManager))],pn);const Do=4;var aA=Object.getOwnPropertyDescriptor,rA=(o,t,e,n)=>{for(var i=n>1?void 0:n?aA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Sn=(o,t)=>(e,n)=>t(e,n,o);function ps(o,t){const e=Ss(o.left,o.top,t),n=Ss(o.right,o.bottom,t);return{left:e.x,top:e.y,right:n.x,bottom:n.y}}function Ss(o,t,e){const{scaleX:n,scaleY:i}=e.getAncestorScale(),s=e.getViewport(he.VIEW_MAIN);if(!s)return{x:o,y:t};const{viewportScrollX:r,viewportScrollY:c}=s,A=(o-r)*n,l=(t-c)*i;return{x:A,y:l}}function Is(o,t,e){const{scaleX:n,scaleY:i}=e.getAncestorScale(),s=e.getViewport(he.VIEW_MAIN);if(!s)return{x:o,y:t};const{viewportScrollX:r,viewportScrollY:c}=s,A=o/n+r,l=t/i+c;return{x:A,y:l}}const In=(o,t)=>{const{scene:e,mainComponent:n,engine:i}=t,s=t.with(M.DocSkeletonManagerService).getSkeleton(),r=s.findNodePositionByCharIndex(o.startOffset,!0,o.segmentId,o.segmentPage),c=s.findNodePositionByCharIndex(o.endOffset,!0,o.segmentId,o.segmentPage),A=n;if(!c||!r)return;const l=A.getOffsetConfig(),{docsLeft:d,docsTop:u}=l,g=i.getCanvasElement(),h=g.getBoundingClientRect(),f=R.pxToNum(g.style.width),{top:m,left:p,width:S}=h,I=S/f,{scaleX:C,scaleY:b}=e.getAncestorScale(),O=new Ie(l,s),{borderBoxPointGroup:v}=O.getRangePointData(r,c);return Ut(v).map(_=>ps(_,e)).map(_=>({left:(_.left+d*C)*I+p,right:(_.right+d*C)*I+p,top:(_.top+u*b)*I+m,bottom:(_.bottom+u*b)*I+m}))};T.DocCanvasPopManagerService=class extends a.Disposable{constructor(t,e,n,i){super(),this._globalPopupManagerService=t,this._renderManagerService=e,this._univerInstanceService=n,this._commandService=i}_createObjectPositionObserver(t,e){const n=()=>{const{scene:A,engine:l}=e,{left:d,top:u,width:g,height:h}=t,f={left:d,right:d+g,top:u,bottom:u+h},m=l.getCanvasElement(),p=m.getBoundingClientRect(),S=R.pxToNum(m.style.width),I=ps(f,A),{top:C,left:b,width:O}=p,v=O/S;return{left:I.left*v+b,right:I.right*v+b,top:I.top*v+C,bottom:I.bottom*v+C}},i=n(),s=new N.BehaviorSubject(i),r=new a.DisposableCollection;r.add(this._commandService.onCommandExecuted(A=>{if(A.id===ue.id||A.id===M.RichTextEditingMutation.id){const l=n();l&&s.next(l)}}));const c=e.scene.getViewport(he.VIEW_MAIN);return c&&r.add(c.onScrollAfter$.subscribeEvent(()=>{s.next(n())})),{position:i,position$:s,disposable:r}}_createRangePositionObserver(t,e){var c;const n=(c=In(t,e))!=null?c:[],i=new N.BehaviorSubject(n),s=new a.DisposableCollection;s.add(this._commandService.onCommandExecuted(A=>{if((A.id===ue.id||A.id===M.RichTextEditingMutation.id)&&A.params.unitId===e.unitId){const d=In(t,e);d&&i.next(d)}}));const r=e.scene.getViewport(he.VIEW_MAIN);return r&&s.add(r.onScrollAfter$.subscribeEvent(()=>{const A=In(t,e);A&&i.next(A)})),{positions:n,positions$:i,disposable:s}}attachPopupToObject(t,e,n){const i=this._renderManagerService.getRenderById(n);if(!i)throw new Error(`Current render not found, unitId: ${n}`);const{position:s,position$:r,disposable:c}=this._createObjectPositionObserver(t,i),A=this._globalPopupManagerService.addPopup({...e,unitId:n,subUnitId:"default",anchorRect:s,anchorRect$:r,canvasElement:i.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(A),r.complete(),c.dispose()}}}attachPopupToRange(t,e,n){if(!this._univerInstanceService.getUnit(n))throw new Error(`Document not found, unitId: ${n}`);const{direction:s="top",multipleDirection:r}=e,c=this._renderManagerService.getRenderById(n);if(!c)throw new Error(`Current render not found, unitId: ${n}`);const{positions:A,positions$:l,disposable:d}=this._createRangePositionObserver(t,c),u=l.pipe(N.map(h=>s.includes("top")?h[0]:h[h.length-1])),g=this._globalPopupManagerService.addPopup({...e,unitId:n,subUnitId:"default",anchorRect:s.includes("top")?A[0]:A[A.length-1],anchorRect$:u,excludeRects:A,excludeRects$:l,direction:s.includes("top")||s.includes("bottom")?A.length>1?r:s:"bottom",canvasElement:c.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(g),l.complete(),d.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==g}}},T.DocCanvasPopManagerService=rA([Sn(0,a.Inject(E.ICanvasPopupService)),Sn(1,R.IRenderManagerService),Sn(2,a.IUniverInstanceService),Sn(3,a.ICommandService)],T.DocCanvasPopManagerService);var cA=Object.getOwnPropertyDescriptor,AA=(o,t,e,n)=>{for(var i=n>1?void 0:n?cA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},lA=(o,t)=>(e,n)=>t(e,n,o);const dA=(o,t,e,n)=>{var g,h,f,m,p;const i=e.findNodePositionByCharIndex(o.startOffset,!0,o.segmentId,n),s=e.getSkeletonData();let r=o.endOffset;if(o.segmentId){const S=(p=Array.from((h=(g=s==null?void 0:s.skeFooters.get(o.segmentId))==null?void 0:g.values())!=null?h:[])[0])!=null?p:Array.from((m=(f=s==null?void 0:s.skeHeaders.get(o.segmentId))==null?void 0:f.values())!=null?m:[])[0];S&&(r=Math.min(S.ed,r))}const c=e.findNodePositionByCharIndex(r,!0,o.segmentId,n);if(!c||!i)return;const A=t.getOffsetConfig(),l=new Ie(A,e),{borderBoxPointGroup:d}=l.getRangePointData(i,c);return Ut(d).map(S=>({top:S.top+A.docsTop-Do,bottom:S.bottom+A.docsTop+Do,left:S.left+A.docsLeft,right:S.right+A.docsLeft}))},uA=(o,t,e,n=-1)=>{const i=e.findPositionByGlyph(o,n);if(!i)return;const s=t.getOffsetConfig(),r={...i,isBack:!0},c=new Ie(s,e),{borderBoxPointGroup:A}=c.getRangePointData(r,r),d=Ut(A)[0];return{top:d.top+s.docsTop,bottom:d.bottom+s.docsTop,left:d.left+s.docsLeft,right:d.left+s.docsLeft+o.width}};T.DocEventManagerService=class extends a.Disposable{constructor(e,n){super();B(this,"_hoverCustomRanges$",new N.BehaviorSubject([]));B(this,"hoverCustomRanges$",this._hoverCustomRanges$.pipe(N.distinctUntilChanged((e,n)=>e.length===n.length&&e.every((i,s)=>n[s].range.rangeId===i.range.rangeId&&n[s].segmentId===i.segmentId&&n[s].segmentPageIndex===i.segmentPageIndex&&n[s].range.startIndex===i.range.startIndex))));B(this,"_clickCustomRanges$",new N.Subject);B(this,"clickCustomRanges$",this._clickCustomRanges$.asObservable());B(this,"_hoverBullet$",new N.Subject);B(this,"hoverBullet$",this._hoverBullet$.pipe(N.distinctUntilChanged((e,n)=>(e==null?void 0:e.paragraph.startIndex)===(n==null?void 0:n.paragraph.startIndex)&&(e==null?void 0:e.segmentId)===(n==null?void 0:n.segmentId)&&(e==null?void 0:e.segmentPageIndex)===(n==null?void 0:n.segmentPageIndex))));B(this,"_clickBullet$",new N.Subject);B(this,"clickBullets$",this._clickBullet$.asObservable());B(this,"_customRangeDirty",!0);B(this,"_bulletDirty",!0);B(this,"_customRangeBounds",[]);B(this,"_bulletBounds",[]);this._context=e,this._docSkeletonManagerService=n,this._initResetDirty(),this._initEvents(),this._initPointer()}get _skeleton(){return this._docSkeletonManagerService.getSkeleton()}get _documents(){return this._context.mainComponent}dispose(){this._hoverCustomRanges$.complete(),this._clickCustomRanges$.complete(),super.dispose()}_initPointer(){let e=R.CURSOR_TYPE.TEXT;this.disposeWithMe(this.hoverCustomRanges$.subscribe(n=>{n.length?(e=this._context.scene.getCursor(),this._context.scene.setCursor(R.CURSOR_TYPE.POINTER)):this._context.scene.setCursor(e)}))}_initResetDirty(){this.disposeWithMe(this._skeleton.dirty$.subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0})),this.disposeWithMe(a.fromEventSubject(this._context.engine.onTransformChange$).pipe(N.filter(e=>e.type===R.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize)).subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0}))}_initEvents(){this.disposeWithMe(a.fromEventSubject(this._context.scene.onPointerMove$).pipe(N.throttleTime(30)).subscribe(i=>{this._hoverCustomRanges$.next(this._calcActiveRanges(i)),this._hoverBullet$.next(this._calcActiveBullet(i))})),this.disposeWithMe(this._context.scene.onPointerEnter$.subscribeEvent(()=>{this._hoverBullet$.next(null),this._hoverCustomRanges$.next([])}));const e=a.fromEventSubject(this._context.mainComponent.onPointerDown$),n=a.fromEventSubject(this._context.scene.onPointerUp$);this.disposeWithMe(e.pipe(N.switchMap(i=>n.pipe(N.take(1),N.map(s=>({down:i,up:s})))),N.filter(({down:i,up:s})=>i.target===s.target&&s.timeStamp-i.timeStamp<300)).subscribe(({down:i})=>{if(i.button===2)return;const s=this._calcActiveRanges(i);s.length&&this._clickCustomRanges$.next(s.pop());const r=this._calcActiveBullet(i);r&&this._clickBullet$.next(r)}))}_buildCustomRangeBoundsBySegment(e,n=-1){var r,c,A;const i=(A=(c=(r=this._context.unit.getSelfOrHeaderFooterModel(e))==null?void 0:r.getBody())==null?void 0:c.customRanges)!=null?A:[],s=[];return i.forEach(l=>{const d={startOffset:l.startIndex,endOffset:l.endIndex+1,segmentId:e},u=dA(d,this._documents,this._skeleton,n);if(!u)return null;s.push({customRange:l,rects:u,segmentId:e,segmentPageIndex:n})}),s}_buildCustomRangeBounds(){var n;if(!this._customRangeDirty)return;this._customRangeDirty=!1;const e=[];e.push(...this._buildCustomRangeBoundsBySegment()),(n=this._skeleton.getSkeletonData())==null||n.pages.forEach((i,s)=>{i.headerId&&e.push(...this._buildCustomRangeBoundsBySegment(i.headerId,s)),i.footerId&&e.push(...this._buildCustomRangeBoundsBySegment(i.footerId,s))}),this._customRangeBounds=e}_calcActiveRanges(e){this._buildCustomRangeBounds();const{offsetX:n,offsetY:i}=e,{x:s,y:r}=Is(n,i,this._context.scene);return this._customRangeBounds.filter(A=>A.rects.some(l=>{const{left:d,right:u,top:g,bottom:h}=l;return s>=d&&s<=u&&r>=g&&r<=h})).map(A=>({segmentId:A.segmentId,range:A.customRange,segmentPageIndex:A.segmentPageIndex,rects:A.rects}))}_buildBulletBoundsBySegment(e,n=-1){var l,d,u,g,h;const i=(l=this._context.unit.getSelfOrHeaderFooterModel(e))==null?void 0:l.getBody(),s=((d=i==null?void 0:i.paragraphs)!=null?d:[]).filter(f=>f.bullet&&f.bullet.listType.indexOf("CHECK_LIST")===0),r=[],c=this._skeleton.getSkeletonData();if(!c)return r;const A=f=>{var m,p,S;for(const I of f){const C=[...I.sections];if(I.skeTables){const b=Array.from(I.skeTables.values());C.push(...b.map(O=>O.rows.map(v=>v.cells.map(y=>y.sections))).flat(4))}for(const b of C)for(const O of b.columns)for(const v of O.lines)if(v.paragraphStart){const y=s.find(x=>x.startIndex===v.paragraphIndex);if(y){const x=v,_=(S=(p=(m=x==null?void 0:x.divides)==null?void 0:m[0])==null?void 0:p.glyphGroup)==null?void 0:S[0];if(!_)continue;const w=uA(_,this._documents,this._skeleton,n);if(!w)continue;r.push({rect:w,segmentId:e,segmentPageIndex:n,paragraph:y})}}}return r};if(e){const f=(h=(u=c.skeFooters.get(e))==null?void 0:u.values())!=null?h:(g=c.skeHeaders.get(e))==null?void 0:g.values();return f?A(Array.from(f)):r}return A(c.pages)}_buildBulletBounds(){var e;this._bulletDirty&&(this._bulletDirty=!1,this._bulletBounds=[],this._bulletBounds.push(...this._buildBulletBoundsBySegment()),(e=this._skeleton.getSkeletonData())==null||e.pages.forEach((n,i)=>{n.headerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(n.headerId,i)),n.footerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(n.footerId,i))}))}_calcActiveBullet(e){this._buildBulletBounds();const{offsetX:n,offsetY:i}=e,{x:s,y:r}=Is(n,i,this._context.scene);return this._bulletBounds.find(A=>{const{left:l,right:d,top:u,bottom:g}=A.rect;return s>=l&&s<=d&&r>=u&&r<=g})}},T.DocEventManagerService=AA([lA(1,a.Inject(M.DocSkeletonManagerService))],T.DocEventManagerService);var hA=Object.getOwnPropertyDescriptor,gA=(o,t,e,n)=>{for(var i=n>1?void 0:n?hA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},En=(o,t)=>(e,n)=>t(e,n,o);let Bo=class extends a.Disposable{constructor(o,t,e,n,i){super(),this._context=o,this._docSkeletonManagerService=t,this._commandService=e,this._docEventManagerService=n,this._textSelectionManagerService=i,this._initPointerDownObserver(),this._initHoverCursor()}_initPointerDownObserver(){this._docEventManagerService.clickBullets$.subscribe(o=>{const t=this._textSelectionManagerService.getTextRanges();this._commandService.executeCommand(Wt.id,{index:o.paragraph.startIndex,segmentId:o.segmentId,textRanges:t})})}_initHoverCursor(){this.disposeWithMe(this._docEventManagerService.hoverBullet$.subscribe(o=>{o?this._context.mainComponent.setCursor(R.CURSOR_TYPE.POINTER):this._context.mainComponent.setCursor(R.CURSOR_TYPE.TEXT)}))}_getTransformCoordForDocumentOffset(o,t,e,n){const{documentTransform:i}=o.getOffsetConfig(),s=t.transformVector2SceneCoord(R.Vector2.FromArray([e,n]));if(s)return i.clone().invert().applyPoint(s)}};Bo=gA([En(1,a.Inject(M.DocSkeletonManagerService)),En(2,a.ICommandService),En(3,a.Inject(T.DocEventManagerService)),En(4,a.Inject(M.DocSelectionManagerService))],Bo);var mA=Object.getOwnPropertyDescriptor,fA=(o,t,e,n)=>{for(var i=n>1?void 0:n?mA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Rt=(o,t)=>(e,n)=>t(e,n,o);let vn=class extends a.RxDisposable{constructor(o,t,e,n,i,s){super(),this._context=o,this._commandService=t,this._docClipboardService=e,this._docSelectionRenderService=n,this._contextService=i,this._editorService=s,this._init()}_init(){this._initLegacyPasteCommand()}_initLegacyPasteCommand(){var o;(o=this._docSelectionRenderService)==null||o.onPaste$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>{var c,A,l;if(!$t(this._contextService))return;t.event.preventDefault();const e=t.event;let n=(c=e.clipboardData)==null?void 0:c.getData(E.HTML_CLIPBOARD_MIME_TYPE);const i=(A=e.clipboardData)==null?void 0:A.getData(E.PLAIN_TEXT_CLIPBOARD_MIME_TYPE),s=[...((l=e.clipboardData)==null?void 0:l.items)||[]].filter(d=>E.imageMimeTypeSet.has(d.type)).map(d=>d.getAsFile()).filter(d=>!!d);this._editorService.getEditor(this._context.unitId)&&(n!=null?n:"").indexOf("</table>")>-1&&(n=""),this._docClipboardService.legacyPaste({html:n,text:i,files:s})})}};vn=fA([Rt(1,a.ICommandService),Rt(2,ot),Rt(3,a.Inject(T.DocSelectionRenderService)),Rt(4,a.IContextService),Rt(5,ce)],vn);var pA=Object.getOwnPropertyDescriptor,SA=(o,t,e,n)=>{for(var i=n>1?void 0:n?pA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Es=(o,t)=>(e,n)=>t(e,n,o);const IA=[a.DEFAULT_EMPTY_DOCUMENT_VALUE,a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY];let Mo=class extends a.Disposable{constructor(o,t,e){super(),this._context=o,this._contextMenuService=t,this._commandService=e,IA.includes(this._context.unitId)||(this._initPointerDown(),this._initEditChange())}_initPointerDown(){var e,n;const t=((n=(e=this._context)==null?void 0:e.mainComponent)==null?void 0:n.onPointerDown$).subscribeEvent(i=>{i.button===2&&this._contextMenuService.triggerContextMenu(i,E.ContextMenuPosition.MAIN_AREA)});this.disposeWithMe(t)}_initEditChange(){this.disposeWithMe(this._commandService.onCommandExecuted(o=>{o.id===M.RichTextEditingMutation.id&&this._contextMenuService.visible&&this._contextMenuService.hideContextMenu()}))}};Mo=SA([Es(1,E.IContextMenuService),Es(2,a.ICommandService)],Mo);var EA=Object.getOwnPropertyDescriptor,vA=(o,t,e,n)=>{for(var i=n>1?void 0:n?EA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},rt=(o,t)=>(e,n)=>t(e,n,o);let Cn=class extends a.Disposable{constructor(t,e,n,i,s,r,c){super();B(this,"_initialEditors",new Set);this._context=t,this._univerInstanceService=e,this._editorService=n,this._commandService=i,this._docSelectionRenderService=s,this._docSkeletonManagerService=r,this._renderManagerService=c,this._initialize()}_initialize(){this._editorService.getAllEditor().forEach(t=>{const e=t.getEditorId();e===this._context.unitId&&(this._initialEditors.has(e)||(this._initialEditors.add(e),this._resize(e)))}),this._commandExecutedListener(),this._initialBlur(),this._initialFocus()}_resize(t){if(t==null)return;const e=this._editorService.getEditor(t);if((e==null?void 0:e.cancelDefaultResizeListener)===!0)return;const n=this._univerInstanceService.getUniverDocInstance(t);if(!n)return;const i=this._docSkeletonManagerService.getSkeleton();if(e==null||e.render==null||i==null||n==null)return;i.calculate();const{marginTop:s=0,marginBottom:r=0,marginLeft:c=0,marginRight:A=0}=n.getSnapshot().documentStyle,{scene:l,mainComponent:d}=e.render;let{actualHeight:u,actualWidth:g}=i.getActualSize();u+=s+r,g+=c+A;const{width:h,height:f}=e.getBoundingClientRect(),m=Math.max(g,h),p=Math.max(u,f);l.transformByState({width:m,height:p}),d==null||d.resize(m,p)}_initialBlur(){this.disposeWithMe(this._editorService.blur$.subscribe(()=>{this._docSelectionRenderService.blur()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{const{unitId:t}=this._context,e=this._editorService.getEditor(t),n=this._editorService.getFocusEditor();e==null||e.isSheetEditor()||n&&n.getEditorId()===t||t.includes("range_selector")||t.includes("embedding_formula_editor")||this._editorService.blur()}))}_initialFocus(){const t=["univer-formula-search","univer-formula-help","formula-help-decorator","univer-formula-help-param"];this.disposeWithMe(N.fromEvent(window,"mousedown").subscribe(n=>{const s=n.target.classList[0]||"";a.checkForSubstrings(s,t)&&n.stopPropagation()})),this._univerInstanceService.getAllUnitsForType(a.UniverInstanceType.UNIVER_SHEET).forEach(n=>{const i=n.getUnitId(),s=this._renderManagerService.getRenderById(i),r=s==null?void 0:s.engine.getCanvas().getCanvasEle();r!=null&&N.fromEvent(r,"mousedown").subscribe(c=>{c.stopPropagation()})})}_commandExecutedListener(){const t=[M.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){const n=e.params,{unitId:i}=n;if(this._editorService.isSheetEditor(i)||i!==this._context.unitId)return;const s=this._editorService.getEditor(i);s&&!s.params.scrollBar&&this._resize(i)}}))}};Cn=vA([rt(1,a.IUniverInstanceService),rt(2,ce),rt(3,a.ICommandService),rt(4,a.Inject(T.DocSelectionRenderService)),rt(5,a.Inject(M.DocSkeletonManagerService)),rt(6,R.IRenderManagerService)],Cn);var CA=Object.getOwnPropertyDescriptor,TA=(o,t,e,n)=>{for(var i=n>1?void 0:n?CA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Tn=(o,t)=>(e,n)=>t(e,n,o);let xo=class extends a.Disposable{constructor(t,e,n,i,s){super();B(this,"_previousIMEContent","");B(this,"_isCompositionStart",!0);B(this,"_onStartSubscription");B(this,"_onUpdateSubscription");B(this,"_onEndSubscription");this._context=t,this._docSelectionRenderService=e,this._docImeInputManagerService=n,this._docSkeletonManagerService=i,this._commandService=s,this._initialize()}dispose(){var t,e,n;(t=this._onStartSubscription)==null||t.unsubscribe(),(e=this._onUpdateSubscription)==null||e.unsubscribe(),(n=this._onEndSubscription)==null||n.unsubscribe()}_initialize(){this._initialOnCompositionstart(),this._initialOnCompositionUpdate(),this._initialOnCompositionend()}_initialOnCompositionstart(){this._onStartSubscription=this._docSelectionRenderService.onCompositionstart$.subscribe(t=>{if(t==null)return;this._resetIME();const{activeRange:e}=t;e!=null&&this._docImeInputManagerService.setActiveRange(a.Tools.deepClone(e))})}_initialOnCompositionUpdate(){this._onUpdateSubscription=this._docSelectionRenderService.onCompositionupdate$.subscribe(t=>{this._updateContent(t,!0)})}_initialOnCompositionend(){this._onEndSubscription=this._docSelectionRenderService.onCompositionend$.subscribe(t=>{this._updateContent(t,!1)})}async _updateContent(t,e){if(t==null)return;const n=this._context.unitId,i=this._docSkeletonManagerService.getSkeleton(),{event:s,activeRange:r}=t;if(i==null||r==null)return;const A=s.data;A===this._previousIMEContent&&e||(await this._commandService.executeCommand(yo.id,{unitId:n,newText:A,oldTextLen:this._previousIMEContent.length,isCompositionStart:this._isCompositionStart,isCompositionEnd:!e}),e?(this._isCompositionStart&&(this._isCompositionStart=!1),this._previousIMEContent=A):this._resetIME())}_resetIME(){this._previousIMEContent="",this._isCompositionStart=!0,this._docImeInputManagerService.clearUndoRedoMutationParamsCache(),this._docImeInputManagerService.setActiveRange(null)}};xo=TA([Tn(1,a.Inject(T.DocSelectionRenderService)),Tn(2,a.Inject(Ot)),Tn(3,a.Inject(M.DocSkeletonManagerService)),Tn(4,a.ICommandService)],xo);var yA=Object.getOwnPropertyDescriptor,bA=(o,t,e,n)=>{for(var i=n>1?void 0:n?yA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},yn=(o,t)=>(e,n)=>t(e,n,o);let _o=class extends a.Disposable{constructor(t,e,n,i,s){super();B(this,"_onInputSubscription");this._context=t,this._docSelectionRenderService=e,this._docSkeletonManagerService=n,this._commandService=i,this._docMenuStyleService=s,this._init()}dispose(){var t;super.dispose(),(t=this._onInputSubscription)==null||t.unsubscribe()}_init(){this._initialNormalInput()}_initialNormalInput(){this._onInputSubscription=this._docSelectionRenderService.onInput$.subscribe(async t=>{var p,S;if(t==null)return;const{unitId:e}=this._context,{event:n,content:i="",activeRange:s}=t,r=n,c=this._docSkeletonManagerService.getSkeleton();if(r.data==null||c==null||s==null)return;const{segmentId:A}=s,d=this._context.unit.getSelfOrHeaderFooterModel(A).getBody(),u=this._docMenuStyleService.getDefaultStyle(),g=this._docMenuStyleService.getStyleCache(),h=Dn((p=d==null?void 0:d.customRanges)!=null?p:[],s.endOffset,a.SHEET_EDITOR_UNITS.includes(e)),f=xt(d,s.endOffset,u,g,a.SHEET_EDITOR_UNITS.includes(e)),m=Bn((S=d==null?void 0:d.customDecorations)!=null?S:[],s.endOffset);await this._commandService.executeCommand(Yt.id,{unitId:e,body:{dataStream:i,textRuns:f?[{...f,st:0,ed:i.length}]:[],customRanges:h?[{...h,startIndex:0,endIndex:i.length-1}]:[],customDecorations:m.map(I=>({...I,startIndex:0,endIndex:i.length-1}))},range:s,segmentId:A}),i===" "&&await this._commandService.executeCommand(ut.id)})}};_o=bA([yn(1,a.Inject(T.DocSelectionRenderService)),yn(2,a.Inject(M.DocSkeletonManagerService)),yn(3,a.ICommandService),yn(4,a.Inject(Ce))],_o);class No extends a.Disposable{constructor(t){super(),this._context=t}calculatePagePosition(){var b,O;const t=Se(this._context),n=(O=(b=this._context.unit.getSettings())==null?void 0:b.zoomRatio)!=null?O:1,{document:i,scene:s,docBackground:r}=t,c=s==null?void 0:s.getParent(),{width:A,height:l,pageMarginLeft:d,pageMarginTop:u}=i;if(c==null||A===Number.POSITIVE_INFINITY||l===Number.POSITIVE_INFINITY)return;const{width:g,height:h}=c;let f=0,m=u,p=0,S=0,I=Number.POSITIVE_INFINITY;g>(A+d*2)*n?(f=g/2-A*n/2,f/=n,p=(g-d*2)/n,I=0):(f=d,p=A+d*2,I=(p-g/n)/2),h>l?S=(h-u*2)/n:S=l+u*2,s.resize(p,S),g<=1&&(f=-1e4,m=-1e4),i.translate(f,m),r.translate(f,m);const C=s.getViewport(he.VIEW_MAIN);return I!==Number.POSITIVE_INFINITY&&C!=null&&C.scrollToViewportPos({viewportScrollX:I}),this}}var OA=Object.getOwnPropertyDescriptor,RA=(o,t,e,n)=>{for(var i=n>1?void 0:n?OA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},vs=(o,t)=>(e,n)=>t(e,n,o);let Po=class extends a.Disposable{constructor(o,t,e){super(),this._context=o,this._docPageLayoutService=t,this._textSelectionManagerService=e;const n=this._context.unitId;if(a.isInternalEditorID(n)&&n!==a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)return this;this._initResize()}_initResize(){this.disposeWithMe(a.fromEventSubject(this._context.engine.onTransformChange$).pipe(N.filter(o=>o.type===R.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),N.throttleTime(0,N.animationFrameScheduler)).subscribe(()=>{this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection()}))}};Po=RA([vs(1,a.Inject(No)),vs(2,a.Inject(M.DocSelectionManagerService))],Po);var DA=Object.getOwnPropertyDescriptor,BA=(o,t,e,n)=>{for(var i=n>1?void 0:n?DA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},ct=(o,t)=>(e,n)=>t(e,n,o);let Uo=class extends a.Disposable{constructor(t,e,n,i,s,r,c){super();B(this,"_loadedMap",new WeakSet);this._context=t,this._commandService=e,this._editorService=n,this._instanceSrv=i,this._docSelectionRenderService=s,this._docSkeletonManagerService=r,this._docSelectionManagerService=c,this._initialize()}_initialize(){this._init(),this._skeletonListener(),this._commandExecutedListener(),this._refreshListener(),this._syncSelection()}_init(){const{unitId:t}=this._context,e=Se(this._context);e==null||e.document==null||this._loadedMap.has(e.document)||(this._initialMain(t),this._loadedMap.add(e.document))}_refreshListener(){this.disposeWithMe(this._docSelectionManagerService.refreshSelection$.subscribe(t=>{if(t==null)return;const{unitId:e,docRanges:n,isEditing:i,options:s}=t;e===this._context.unitId&&(this._docSelectionRenderService.removeAllRanges(),this._docSelectionRenderService.addDocRanges(n,i,s))}))}_syncSelection(){this.disposeWithMe(this._docSelectionRenderService.textSelectionInner$.subscribe(t=>{t!=null&&this._docSelectionManagerService.__replaceTextRangesWithNoRefresh(t,{unitId:this._context.unitId,subUnitId:this._context.unitId})}))}_initialMain(t){const e=Se(this._context),{document:n,scene:i}=e;this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{this._isEditorReadOnly(t)||(n.cursor=R.CURSOR_TYPE.TEXT)})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n.cursor=R.CURSOR_TYPE.DEFAULT,i.resetCursor()})),this.disposeWithMe(n.onPointerDown$.subscribeEvent((s,r)=>{if(this._isEditorReadOnly(t))return;const c=this._instanceSrv.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);(c==null?void 0:c.getUnitId())!==t&&this._instanceSrv.setCurrentUnitForType(t);const A=this._docSkeletonManagerService.getSkeleton(),{offsetX:l,offsetY:d}=s,u=this._getTransformCoordForDocumentOffset(l,d);if(u!=null){const{pageLayoutType:g=R.PageLayoutType.VERTICAL,pageMarginLeft:h,pageMarginTop:f}=n.getOffsetConfig(),{editArea:m}=A.findEditAreaByCoord(u,g,h,f),p=this._docSkeletonManagerService.getViewModel(),S=p.getEditArea();S!==R.DocumentEditArea.BODY&&m!==R.DocumentEditArea.BODY&&m!==S&&p.setEditArea(m)}if(this._docSelectionRenderService.__onPointDown(s),this._editorService.getEditor(t)){this._setEditorFocus(t);const{offsetX:g,offsetY:h}=s;setTimeout(()=>{t!==this._editorService.getFocusId()&&(this._setEditorFocus(t),this._docSelectionRenderService.setCursorManually(g,h))},0)}s.button!==2&&r.stopPropagation()})),this.disposeWithMe(n.onDblclick$.subscribeEvent(s=>{this._isEditorReadOnly(t)||this._docSelectionRenderService.__handleDblClick(s)})),this.disposeWithMe(n.onTripleClick$.subscribeEvent(s=>{this._isEditorReadOnly(t)||this._docSelectionRenderService.__handleTripleClick(s)}))}_getTransformCoordForDocumentOffset(t,e){const n=Se(this._context),{document:i,scene:s}=n,{documentTransform:r}=i.getOffsetConfig(),c=s.getViewports()[0];if(c==null)return;const A=c.transformVector2SceneCoord(R.Vector2.FromArray([t,e]));return r.clone().invert().applyPoint(A)}_isEditorReadOnly(t){const e=this._editorService.getEditor(t);return e?e.isReadOnly():!1}_setEditorFocus(t){this._editorService.focus(t)}_commandExecutedListener(){const t=[ue.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var n;if(t.includes(e.id)){const i=e.params,{unitId:s}=i,r=(n=this._docSelectionManagerService.__getCurrentSelection())==null?void 0:n.unitId;if(s!==r)return;this._docSelectionManagerService.refreshSelection()}}))}_skeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(t=>{if(!t)return;const{unitId:e}=this._context;if(!a.isInternalEditorID(e)){this._docSelectionRenderService.focus();const s=this._context.unit.getSnapshot(),r=ui(s);this._docSelectionManagerService.replaceDocRanges([{startOffset:r,endOffset:r}],{unitId:e,subUnitId:e},!1)}}))}};Uo=BA([ct(1,a.ICommandService),ct(2,ce),ct(3,a.IUniverInstanceService),ct(4,a.Inject(T.DocSelectionRenderService)),ct(5,a.Inject(M.DocSkeletonManagerService)),ct(6,a.Inject(M.DocSelectionManagerService))],Uo);var MA=Object.getOwnPropertyDescriptor,xA=(o,t,e,n)=>{for(var i=n>1?void 0:n?MA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Ke=(o,t)=>(e,n)=>t(e,n,o);let wo=class extends a.Disposable{constructor(o,t,e,n,i,s,r,c){super(),this._context=o,this._contextService=t,this._docSkeletonManagerService=e,this._univerInstanceService=n,this._commandService=i,this._textSelectionManagerService=s,this._editorService=r,this._docPageLayoutService=c,this._initSkeletonListener(),this._initCommandExecutedListener(),this._initRenderRefresher(),setTimeout(()=>this.updateViewZoom(1,!0),20)}_initRenderRefresher(){this._docSkeletonManagerService.currentSkeleton$.subscribe(o=>{if(o==null)return;const{unitId:t,scene:e}=this._context;this._editorService.isEditor(t)||this.disposeWithMe(e.onMouseWheel$.subscribeEvent(n=>{if(!n.ctrlKey||!this._contextService.getContextValue(a.FOCUSING_DOC))return;const i=this._univerInstanceService.getCurrentUniverDocInstance();if(!i)return;const{documentFlavor:s}=i.getSnapshot().documentStyle;if(s===a.DocumentFlavor.MODERN)return;const r=Math.abs(n.deltaX);let c=r<40?.2:r<80?.4:.2;c*=n.deltaY>0?-1:1,e.scaleX<1&&(c/=2);const A=i.zoomRatio;let l=+Number.parseFloat(`${A+c}`).toFixed(1);l=l>=4?4:l<=.1?.1:l,this._commandService.executeCommand(un.id,{zoomRatio:l,unitId:i.getUnitId()}),n.preventDefault()}))})}_initSkeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(o=>{if(o==null)return;const t=this._univerInstanceService.getCurrentUniverDocInstance();if(!t)return;const e=t.zoomRatio||1;this.updateViewZoom(e,!1)}))}_initCommandExecutedListener(){const o=[ue.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(o.includes(t.id)&&t.params.unitId===this._context.unitId){const n=this._context.unit.zoomRatio||1;this.updateViewZoom(n)}})),this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{t.id===nn.id&&this._commandService.executeCommand(un.id,{zoomRatio:1,unitId:this._context.unitId})}))}updateViewZoom(o,t=!0){var n;const e=Se(this._context);e.scene.scale(o,o),this._editorService.isEditor(this._context.unitId)||this._docPageLayoutService.calculatePagePosition(),t&&!this._editorService.isEditor(this._context.unitId)&&this._textSelectionManagerService.refreshSelection(),(n=e.scene.getTransformer())==null||n.clearSelectedObjects()}};wo=xA([Ke(1,a.IContextService),Ke(2,a.Inject(M.DocSkeletonManagerService)),Ke(3,a.IUniverInstanceService),Ke(4,a.ICommandService),Ke(5,a.Inject(M.DocSelectionManagerService)),Ke(6,ce),Ke(7,a.Inject(No))],wo);var _A=Object.getOwnPropertyDescriptor,NA=(o,t,e,n)=>{for(var i=n>1?void 0:n?_A(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Dt=(o,t)=>(e,n)=>t(e,n,o);const Cs=300;T.DocStateChangeManagerService=class extends a.RxDisposable{constructor(e,n,i,s,r){super();B(this,"_docStateChange$",new N.BehaviorSubject(null));B(this,"docStateChange$",this._docStateChange$.asObservable());B(this,"_historyStateCache",new Map);B(this,"_changeStateCache",new Map);B(this,"_historyTimer",null);B(this,"_changeStateCacheTimer",null);this._undoRedoService=e,this._commandService=n,this._univerInstanceService=i,this._docStateEmitService=s,this._renderManagerService=r,this._initialize(),this._listenDocStateChange()}getStateCache(e){var n,i;return{history:(n=this._historyStateCache.get(e))!=null?n:[],collaboration:(i=this._changeStateCache.get(e))!=null?i:[]}}setStateCache(e,n){this._historyStateCache.set(e,n.history),this._changeStateCache.set(e,n.collaboration)}_setChangeState(e){this._cacheChangeState(e,"history"),this._cacheChangeState(e,"collaboration")}_initialize(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===a.UndoCommandId||e.id===a.RedoCommandId){const n=this._univerInstanceService.getCurrentUniverDocInstance();if(n==null)return;const i=n.getUnitId();this._pushHistory(i),this._emitChangeState(i)}}))}_listenDocStateChange(){this._docStateEmitService.docStateChangeParams$.pipe(N.takeUntil(this.dispose$)).subscribe(e=>{var A;if(e==null)return;const{isCompositionEnd:n,isSync:i,syncer:s,...r}=e,c=(A=this._renderManagerService.getRenderById(i?s:e.unitId))==null?void 0:A.with(Ot);if(c!=null){if(n){const l=c.fetchComposedUndoRedoMutationParams();if(l==null)throw new Error("historyParams is null in RichTextEditingMutation");const{undoMutationParams:d,redoMutationParams:u,previousActiveRange:g}=l;r.redoState.actions=u.actions,r.undoState.actions=d.actions,r.undoState.textRanges=[g]}this._setChangeState(r)}})}_cacheChangeState(e,n="history"){const{trigger:i,unitId:s,noHistory:r,debounce:c=!1}=e;if(r||i==null||n==="history"&&(i===a.RedoCommandId||i===a.UndoCommandId))return;const A=n==="history"?this._historyStateCache:this._changeStateCache,l=n==="history"?this._pushHistory.bind(this):this._emitChangeState.bind(this);if(A.has(s)){const d=A.get(s);d==null||d.push(e)}else A.set(s,[e]);c?n==="history"?(this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>{l(s)},Cs)):(this._changeStateCacheTimer&&clearTimeout(this._changeStateCacheTimer),this._changeStateCacheTimer=setTimeout(()=>{l(s)},Cs)):l(s)}_pushHistory(e){const n=this._undoRedoService,i=this._historyStateCache.get(e);if(!Array.isArray(i)||i.length===0)return;const s=i.length,r=i[0].commandId,c=i[0],A=i[s-1],l={unitId:e,actions:i.reduce((u,g)=>a.JSONX.compose(u,g.redoState.actions),null),textRanges:A.redoState.textRanges},d={unitId:e,actions:i.reverse().reduce((u,g)=>a.JSONX.compose(u,g.undoState.actions),null),textRanges:c.undoState.textRanges};n.pushUndoRedo({unitID:e,undoMutations:[{id:r,params:d}],redoMutations:[{id:r,params:l}]}),i.length=0}_emitChangeState(e){const n=this._changeStateCache.get(e);if(!Array.isArray(n)||n.length===0)return;const i=n.length,{commandId:s,trigger:r,segmentId:c,noHistory:A,debounce:l}=n[0],d=n[0],u=n[i-1],g={unitId:e,actions:n.reduce((m,p)=>a.JSONX.compose(m,p.redoState.actions),null),textRanges:u.redoState.textRanges},h={unitId:e,actions:n.reverse().reduce((m,p)=>a.JSONX.compose(m,p.undoState.actions),null),textRanges:d.undoState.textRanges},f={commandId:s,unitId:e,trigger:r,redoState:g,undoState:h,segmentId:c,noHistory:A,debounce:l};n.length=0,this._docStateChange$.next(f)}},T.DocStateChangeManagerService=NA([Dt(0,a.Inject(a.IUndoRedoService)),Dt(1,a.ICommandService),Dt(2,a.IUniverInstanceService),Dt(3,a.Inject(M.DocStateEmitService)),Dt(4,R.IRenderManagerService)],T.DocStateChangeManagerService);var PA=Object.getOwnPropertyDescriptor,UA=(o,t,e,n)=>{for(var i=n>1?void 0:n?PA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Ts=(o,t)=>(e,n)=>t(e,n,o);const ys="univer-doc-main-canvas";T.DocsRenderService=class extends a.RxDisposable{constructor(t,e){super(),this._instanceSrv=t,this._renderManagerService=e,this._init()}_init(){this._renderManagerService.createRender$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>this._createRenderWithId(t)),this._instanceSrv.getAllUnitsForType(a.UniverInstanceType.UNIVER_DOC).forEach(t=>this._createRenderer(t)),this._instanceSrv.getTypeOfUnitAdded$(a.UniverInstanceType.UNIVER_DOC).pipe(N.takeUntil(this.dispose$)).subscribe(t=>this._createRenderer(t)),this._instanceSrv.getTypeOfUnitDisposed$(a.UniverInstanceType.UNIVER_DOC).pipe(N.takeUntil(this.dispose$)).subscribe(t=>this._disposeRenderer(t))}_createRenderer(t){var i;const e=t.getUnitId(),n=(i=this._instanceSrv.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC))==null?void 0:i.getUnitId();this._renderManagerService.created$.subscribe(s=>{s.unitId===n&&(s.engine.getCanvas().setId(ys),s.engine.getCanvas().getContext().setId(ys))}),this._renderManagerService.has(e)||(this._createRenderWithId(e),this._renderManagerService.setCurrent(e))}_createRenderWithId(t){this._renderManagerService.createRender(t)}_disposeRenderer(t){const e=t.getUnitId();this._renderManagerService.removeRender(e)}},T.DocsRenderService=UA([Ts(0,a.IUniverInstanceService),Ts(1,R.IRenderManagerService)],T.DocsRenderService);class bs extends a.Disposable{constructor(){super(...arguments);B(this,"_currentSelectorId");B(this,"_selectionChange$",new N.Subject);B(this,"selectionChange$",this._selectionChange$.asObservable());B(this,"_openSelector$",new N.Subject);B(this,"openSelector$",this._openSelector$.asObservable());B(this,"_selectorModalVisible$",new N.BehaviorSubject(!1));B(this,"selectorModalVisible$",this._selectorModalVisible$.asObservable())}get selectorModalVisible(){return this._selectorModalVisible$.getValue()}setCurrentSelectorId(e){this._currentSelectorId=e}getCurrentSelectorId(){return this._currentSelectorId}selectionChange(e){this._currentSelectorId&&this._selectionChange$.next(e)}openSelector(){this._openSelector$.next(null)}triggerModalVisibleChange(e){this._selectorModalVisible$.next(e)}}const Os=a.createIdentifier("univer.range-selector.service"),wA={id:qe.id,preconditions:Da,binding:E.KeyCode.ENTER},QA={id:Ct.id,preconditions:Z,binding:E.KeyCode.BACKSPACE},LA={id:so.id,preconditions:Z,binding:E.KeyCode.DELETE},FA={id:Ee.id,binding:E.KeyCode.ARROW_UP,preconditions:Z,staticParameters:{direction:a.Direction.UP}},kA={id:Ee.id,binding:E.KeyCode.ARROW_DOWN,preconditions:Z,staticParameters:{direction:a.Direction.DOWN}},HA={id:Ee.id,binding:E.KeyCode.ARROW_LEFT,preconditions:Z,staticParameters:{direction:a.Direction.LEFT}},VA={id:Ee.id,binding:E.KeyCode.ARROW_RIGHT,preconditions:Z,staticParameters:{direction:a.Direction.RIGHT}},WA={id:ve.id,binding:E.KeyCode.ARROW_UP|E.MetaKeys.SHIFT,preconditions:Z,staticParameters:{direction:a.Direction.UP}},KA={id:ve.id,binding:E.KeyCode.ARROW_DOWN|E.MetaKeys.SHIFT,preconditions:Z,staticParameters:{direction:a.Direction.DOWN}},zA={id:ve.id,binding:E.KeyCode.ARROW_LEFT|E.MetaKeys.SHIFT,preconditions:Z,staticParameters:{direction:a.Direction.LEFT}},jA={id:ve.id,binding:E.KeyCode.ARROW_RIGHT|E.MetaKeys.SHIFT,preconditions:Z,staticParameters:{direction:a.Direction.RIGHT}},GA={id:To.id,binding:E.KeyCode.A|E.MetaKeys.CTRL_COMMAND,preconditions:o=>o.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&(o.getContextValue(a.FOCUSING_DOC)||o.getContextValue(a.EDITOR_ACTIVATED))};var XA=Object.defineProperty,YA=Object.getOwnPropertyDescriptor,qA=(o,t,e)=>t in o?XA(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,JA=(o,t,e,n)=>{for(var i=n>1?void 0:n?YA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Bt=(o,t)=>(e,n)=>t(e,n,o),ZA=(o,t,e)=>qA(o,t+"",e);T.UniverDocsUIPlugin=class extends a.Plugin{constructor(t=Fi,e,n,i,s,r){super(),this._config=t,this._injector=e,this._renderManagerSrv=n,this._commandService=i,this._logService=s,this._configService=r;const{menu:c,...A}=a.merge({},Fi,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig($n,A),this._initDependencies(e),this._initializeShortcut(),this._initCommand()}onReady(){this._initRenderBasics(),this._markDocAsFocused(),a.touchDependencies(this._injector,[[T.DocStateChangeManagerService],[T.DocsRenderService]])}onRendered(){this._initUI(),this._initRenderModules(),a.touchDependencies(this._injector,[[gn],[fn],[st],[pn],[T.DocUIController]])}_initCommand(){[Ct,so,_e,Ne,Pe,Ue,Re,we,Qe,Le,Fe,Je,ke,Te,fo,Yt,et,qt,io,Jt,ue,ft,mt,Ze,pt,St,It,ge,Et,po,go,an,rn,ts,cn,An,on,sn,it,Gn,bo,xe,ut,qe,Ht,ht,Vt,Wt,Zn,yo,nn,me,oo,He,Yo,Mn,qo,un,To,Eo,Ee,ve,Zo].forEach(t=>{this._commandService.registerCommand(t)}),[yt,en,tn].forEach(t=>this.disposeWithMe(this._commandService.registerMultipleCommand(t)))}_initializeShortcut(){[FA,kA,VA,HA,WA,KA,zA,jA,GA,QA,LA,wA,Ma].forEach(t=>{this._injector.get(E.IShortcutService).registerShortcut(t)})}_initDependencies(t){a.mergeOverrideWithDependencies([[vn],[Cn],[T.DocUIController],[gn],[pn],[fn],[hn],[st],[ce,{useClass:T.EditorService}],[Os,{useClass:bs}],[ot,{useClass:Ao}],[T.DocCanvasPopManagerService],[T.DocsRenderService],[T.DocStateChangeManagerService],[T.DocAutoFormatService],[Ce]],this._config.override).forEach(n=>t.add(n))}_markDocAsFocused(){const t=this._injector.get(a.IUniverInstanceService),e=this._injector.get(ce);try{const n=t.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(!n)return;const i=n.getUnitId();e.isEditor(i)||t.focusUnit(n.getUnitId())}catch(n){this._logService.warn(n)}}_initUI(){this._injector.get(hn)}_initRenderBasics(){[[M.DocSkeletonManagerService],[T.DocSelectionRenderService],[M.DocInterceptorService],[No],[Ot],[T.DocRenderController],[wo]].forEach(t=>{this._renderManagerSrv.registerRenderModule(a.UniverInstanceType.UNIVER_DOC,t)})}_initRenderModules(){[[T.DocEventManagerService],[T.DocBackScrollRenderController],[Uo],[Wn],[Po],[Mo],[Bo],[vn],[_o],[xo],[Cn]].forEach(t=>{this._renderManagerSrv.registerRenderModule(a.UniverInstanceType.UNIVER_DOC,t)})}},ZA(T.UniverDocsUIPlugin,"pluginName",Ho),T.UniverDocsUIPlugin=JA([a.DependentOn(R.UniverRenderEnginePlugin),Bt(1,a.Inject(a.Injector)),Bt(2,R.IRenderManagerService),Bt(3,a.ICommandService),Bt(4,a.ILogService),Bt(5,a.IConfigService)],T.UniverDocsUIPlugin),T.AfterSpaceCommand=ut,T.AlignCenterCommand=St,T.AlignJustifyCommand=Et,T.AlignLeftCommand=pt,T.AlignOperationCommand=ge,T.AlignRightCommand=It,T.BreakLineCommand=fo,T.BulletListCommand=mt,T.ChangeListNestingLevelCommand=Ht,T.ChangeListNestingLevelType=gt,T.ChangeListTypeCommand=ht,T.CheckListCommand=Vt,T.CoverContentCommand=qo,T.CreateDocTableCommand=po,T.CutContentCommand=He,T.DOCS_COMPONENT_BACKGROUND_LAYER_INDEX=Vo,T.DOCS_COMPONENT_DEFAULT_Z_INDEX=Rn,T.DOCS_COMPONENT_HEADER_LAYER_INDEX=Wo,T.DOCS_COMPONENT_MAIN_LAYER_INDEX=Mt,T.DOCS_VIEW_KEY=le,T.DOC_UI_PLUGIN_NAME=Ho,T.DOC_VERTICAL_PADDING=Do,T.DefaultDocContainerConfig=ko,T.DefaultToolbarConfig=Fo,T.DeleteCommand=et,T.DeleteCustomBlockCommand=qt,T.DeleteLeftCommand=Ct,T.DeleteRightCommand=so,T.DocCopyCommand=yt,T.DocCreateTableOperation=ln,T.DocCutCommand=en,T.DocIMEInputManagerService=Ot,T.DocPasteCommand=tn,T.DocSelectAllCommand=To,T.DocTableDeleteColumnsCommand=sn,T.DocTableDeleteRowsCommand=on,T.DocTableDeleteTableCommand=it,T.DocTableInsertColumnCommand=ts,T.DocTableInsertColumnLeftCommand=cn,T.DocTableInsertColumnRightCommand=An,T.DocTableInsertRowAboveCommand=an,T.DocTableInsertRowBellowCommand=rn,T.DocTableInsertRowCommand=go,T.DocTableTabCommand=bo,T.DocsUIMenuSchema=cs,T.Editor=si,T.EditorInsertTextCommandId=zi,T.EnterCommand=qe,T.IDocClipboardService=ot,T.IEditorService=ce,T.IMEInputCommand=yo,T.IRangeSelectorService=Os,T.InnerPasteCommand=oo,T.InsertCommand=Yt,T.ListOperationCommand=Ze,T.MergeTwoParagraphCommand=Jt,T.MoveCursorOperation=Ee,T.MoveSelectionOperation=ve,T.NORMAL_TEXT_SELECTION_PLUGIN_NAME=Ps,T.NodePositionConvertToCursor=Ie,T.NodePositionConvertToRectRange=Qn,T.OrderListCommand=ft,T.PastePluginLark=Yi,T.PastePluginUniver=Ji,T.PastePluginWord=Zi,T.QuickListCommand=Zn,T.RangeSelectorService=bs,T.RectRange=Fn,T.ReplaceContentCommand=Yo,T.ReplaceSnapshotCommand=Mn,T.ReplaceTextRunsCommand=Zo,T.ResetInlineFormatTextBackgroundColorCommand=Je,T.RichTextEditor=aa,T.SetDocZoomRatioCommand=un,T.SetDocZoomRatioOperation=ue,T.SetInlineFormatBoldCommand=_e,T.SetInlineFormatCommand=Te,T.SetInlineFormatFontFamilyCommand=Le,T.SetInlineFormatFontSizeCommand=Qe,T.SetInlineFormatItalicCommand=Ne,T.SetInlineFormatStrikethroughCommand=Ue,T.SetInlineFormatSubscriptCommand=Re,T.SetInlineFormatSuperscriptCommand=we,T.SetInlineFormatTextBackgroundColorCommand=ke,T.SetInlineFormatTextColorCommand=Fe,T.SetInlineFormatUnderlineCommand=Pe,T.TEXT_RANGE_LAYER_INDEX=Pt,T.TabCommand=xe,T.TextRange=Me,T.ToggleCheckListCommand=Wt,T.UpdateCommand=io,T.VIEWPORT_KEY=he,T.addCustomDecorationBySelectionFactory=ws,T.addCustomDecorationFactory=zo,T.calcDocRangePositions=In,T.convertPositionsToRectRanges=wt,T.deleteCustomDecorationFactory=Qs,T.docDrawingPositionToTransform=Fs,T.genTableSource=to,T.generateParagraphs=mo,T.getAnchorBounding=lt,T.getCanvasOffsetByEngine=oi,T.getCommandSkeleton=re,T.getCursorWhenDelete=Zt,T.getCustomBlockIdsInSelections=Wi,T.getCutActionsFromDocRanges=Ki,T.getDocObject=Ko,T.getDocObjectById=Us,T.getEmptyTableCell=jt,T.getEmptyTableRow=Gt,T.getLineBounding=Ut,T.getOneTextSelectionRange=Nn,T.getParagraphsInRange=Kt,T.getParagraphsInRanges=$e,T.getRichTextEditPath=q,T.getTableColumn=Xt,T.hasParagraphInTable=Ls,T.isInSameTableCell=Un,T.isValidRectRange=$o,T.neoGetDocObject=Se,T.transformToDocDrawingPosition=ks,T.useKeyboardEvent=jo,T.useResize=Go,T.whenDocAndEditorFocused=Z,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
33
+ `," ");let s=this._umdToHtml.convert(t);if(t.length===1&&e){s=s.replace(/(<[a-z]+)/,(g,h)=>`${h} data-copy-id="${n}"`);const d=t[0],u={body:d.body};if((A=(c=d.body)==null?void 0:c.customBlocks)!=null&&A.length){u.drawings={};for(const g of d.body.customBlocks){const{blockId:h}=g,m=(l=d.drawings)==null?void 0:l[h];if(m){const f=a.Tools.generateRandomId(6);g.blockId=f,u.drawings[f]={...a.Tools.deepClone(m),drawingId:f}}}}ao.set(n,u)}return this._clipboardInterfaceService.write(i,s)}addClipboardHook(t){return this._clipboardHooks.push(t),a.toDisposable(()=>{const e=this._clipboardHooks.indexOf(t);e>-1&&this._clipboardHooks.splice(e,1)})}_getDocumentBodyInRanges(t){var l;const e=this._univerInstanceService.getCurrentUniverDocInstance(),n=this._docSelectionManagerService.getDocRanges(),i=[];let s=!0;if(e==null||n.length===0)return;const r=n[0].segmentId,c=(l=e==null?void 0:e.getSelfOrHeaderFooterModel(r))==null?void 0:l.getBody(),A=e.getSnapshot();if(c!=null){for(const d of n){const{startOffset:u,endOffset:g,collapsed:h,rangeType:m}=d;if(h||u==null||g==null)continue;if(m===a.DOC_RANGE_TYPE.RECT){s=!1;const{spanEntireRow:S}=d;let I;I=Zi(c,u,g),i.push(I);continue}const f={startOffset:u,endOffset:g},p=e.getSelfOrHeaderFooterModel(r).sliceBody(f.startOffset,f.endOffset,t);p!=null&&i.push(p)}return{newSnapshotList:i.map(d=>({...A,body:d})),needCache:s,snapshot:A}}}async _genDocDataFromClipboardItems(t){try{let e="",n="";const i=[];for(const s of t)for(const r of s.types)switch(r){case E.PLAIN_TEXT_CLIPBOARD_MIME_TYPE:{n=await s.getType(r).then(c=>c&&c.text());break}case E.HTML_CLIPBOARD_MIME_TYPE:{e=await s.getType(r).then(c=>c&&c.text());break}case E.FILE__BMP_CLIPBOARD_MIME_TYPE:case E.FILE__JPEG_CLIPBOARD_MIME_TYPE:case E.FILE__WEBP_CLIPBOARD_MIME_TYPE:case E.FILE_PNG_CLIPBOARD_MIME_TYPE:{const c=await s.getType(r),A=new File([c],`pasted_image.${r.split("/")[1]}`,{type:r});i.push(A);break}}return!e&&!n&&i.length&&(e=await this._createImagePasteHtml(i)),this._genDocDataFromHtmlAndText(e,n)}catch(e){return Promise.reject(e)}}_genDocDataFromHtmlAndText(t,e,n){if(!t){if(e)return{body:a.BuildTextUtils.transform.fromPlainText(e)};throw new Error("[DocClipboardService] html and text cannot be both empty!")}const i=fr(t);if(i){const r=ao.get(i);if(r)return r}if(!n){const r=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);n=(r==null?void 0:r.getUnitId())||""}const s=this._htmlToUDM.convert(t,{unitId:n});return i&&ao.set(i,s),s}async _createImagePasteHtml(t){var c,A;const e={id:"",documentStyle:{},body:{dataStream:"",customBlocks:[]},drawings:{}},n=async l=>{const d=new FileReader;return new Promise(u=>{d.onloadend=function(){u({source:d.result,imageSourceType:bn.ImageSourceType.BASE64})},d.readAsDataURL(l)})},i=l=>{const d=new Image,u=500;return new Promise(g=>{d.src=typeof l=="string"?l:URL.createObjectURL(l),d.onload=()=>{const h=Math.min(u,d.naturalWidth),m=d.naturalHeight/d.naturalWidth;g({width:h,height:h*m})}})},s=(A=(c=this._clipboardHooks.find(l=>l.onBeforePasteImage))==null?void 0:c.onBeforePasteImage)!=null?A:n;return await Promise.all(t.map(async(l,d)=>{var S;const u=await s(l);if(!u)return Promise.resolve();const{width:g=100,height:h=100}=await i(l),m=`paste_image_id_${d}`,f=e.body,p=e.drawings;f.dataStream+="\b",(S=f.customBlocks)==null||S.push({startIndex:d,blockId:m}),p[m]={drawingId:m,unitId:"",subUnitId:"",imageSourceType:u.imageSourceType,title:"",source:u.source,description:"",layoutType:a.PositionedObjectLayoutType.INLINE,drawingType:a.DrawingTypeEnum.DRAWING_IMAGE,transform:{width:g,height:h,angle:0},docTransform:{angle:0,size:{width:g,height:h},positionH:{relativeFrom:a.ObjectRelativeFromH.CHARACTER,posOffset:0},positionV:{relativeFrom:a.ObjectRelativeFromV.LINE,posOffset:0}}}})),this._umdToHtml.convert([e])}};Ao=yr([Tt(0,a.IUniverInstanceService),Tt(1,a.ILogService),Tt(2,a.ICommandService),Tt(3,E.IClipboardInterfaceService),Tt(4,a.Inject(x.DocSelectionManagerService))],Ao);function Zt(o){return o.getContextValue(a.FOCUSING_DOC)||o.getContextValue(a.EDITOR_ACTIVATED)}const lo=999,yt={id:E.CopyCommand.id,name:"doc.command.copy",type:a.CommandType.COMMAND,multi:!0,priority:lo,preconditions:Zt,handler:async o=>o.get(ot).copy()},$t={id:E.CutCommand.id,name:"doc.command.cut",type:a.CommandType.COMMAND,multi:!0,priority:lo,preconditions:Zt,handler:async o=>o.get(ot).cut()},en={id:E.PasteCommand.id,name:"doc.command.paste",type:a.CommandType.COMMAND,multi:!0,priority:lo,preconditions:Zt,handler:async o=>{const t=o.get(ot),n=await o.get(E.IClipboardInterfaceService).read();return n.length===0?!1:t.paste(n)}},tn={id:"doc.command.switch-mode",type:a.CommandType.COMMAND,handler:async o=>{var I,C,y,R,v;const t=o.get(a.ICommandService),e=o.get(B.IRenderManagerService),n=o.get(x.DocSelectionManagerService),s=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(s==null)return!1;const r=s.getUnitId(),c=(I=e.getRenderById(r))==null?void 0:I.with(x.DocSkeletonManagerService).getSkeleton(),A=(C=e.getRenderById(r))==null?void 0:C.with(T.DocSelectionRenderService);if(c==null||A==null)return!1;const l=A==null?void 0:A.getSegment(),d=A==null?void 0:A.getSegmentPage(),u=s.getSnapshot().documentStyle.documentFlavor,g=n.getDocRanges(),h={id:x.RichTextEditingMutation.id,params:{unitId:r,actions:[],textRanges:u===a.DocumentFlavor.TRADITIONAL&&l?[]:g}},m=a.JSONX.getInstance(),f=[];let p;if(u===void 0?p=m.insertOp(["documentStyle","documentFlavor"],a.DocumentFlavor.MODERN):u===a.DocumentFlavor.MODERN?p=m.replaceOp(["documentStyle","documentFlavor"],u,a.DocumentFlavor.TRADITIONAL):p=m.replaceOp(["documentStyle","documentFlavor"],u,a.DocumentFlavor.MODERN),p)f.push(p);else return!1;if(u!==a.DocumentFlavor.MODERN){const b=s.getSnapshot(),{drawings:O={},body:_}=b,w=(y=_==null?void 0:_.customBlocks)!=null?y:[];for(const D in O){const U=O[D],P=w.find(Z=>Z.blockId===D);if(P==null)continue;const k=U.docTransform.positionV,{relativeFrom:H,posOffset:Q}=k;if(H===a.ObjectRelativeFromV.PARAGRAPH)continue;const{startIndex:G}=P,Y=c.findNodeByCharIndex(G,l,d),W=(R=Y==null?void 0:Y.parent)==null?void 0:R.parent,V=W==null?void 0:W.parent,K=V==null?void 0:V.lines.find(Z=>Z.paragraphIndex===(W==null?void 0:W.paragraphIndex)&&Z.paragraphStart),X=(v=V==null?void 0:V.parent)==null?void 0:v.parent;if(Y==null||W==null||K==null||V==null||X==null)continue;let J=0;H===a.ObjectRelativeFromV.LINE?J-=W.top:H===a.ObjectRelativeFromV.PAGE&&(J+=X.marginTop),J+=K.top;const j={...k,relativeFrom:a.ObjectRelativeFromV.PARAGRAPH,posOffset:(Q!=null?Q:0)-J},z=m.replaceOp(["drawings",D,"docTransform","positionV"],k,j);z&&f.push(z)}}return h.params.actions=f.reduce((b,O)=>a.JSONX.compose(b,O),null),!!t.syncExecuteCommand(h.id,h.params)}},nn={id:"doc.table.delete-rows",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(x.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=t.getRectRanges(),s=t.getActiveTextRange(),r=vt(s,i);if(r==null)return!1;const{segmentId:c}=r,A=e.getCurrentUniverDocInstance(),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c).getBody();if(A==null||l==null)return!1;const d=re(o,A.getUnitId());if(d==null)return!1;const u=d.getViewModel(),g=A==null?void 0:A.getUnitId(),h=new a.TextX,m=a.JSONX.getInstance(),f=Li(r,u);if(f==null)return!1;const{offset:p,rowIndexes:S,len:I,tableId:C,cursor:y,selectWholeTable:R}=f;if(R)return n.executeCommand(it.id);const v=[],b=[{startOffset:y,endOffset:y,collapsed:!0}],O={id:x.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:b}};p>0&&h.push({t:a.TextXActionType.RETAIN,len:p}),h.push({t:a.TextXActionType.DELETE,len:I});const _=$(A,c);v.push(m.editOp(h.serialize(),_));for(const D of S.reverse()){const U=m.removeOp(["tableSource",C,"tableRows",D]);v.push(U)}return O.params.actions=v.reduce((D,U)=>a.JSONX.compose(D,U),null),!!n.syncExecuteCommand(O.id,O.params)}},on={id:"doc.table.delete-columns",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(x.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=t.getRectRanges(),s=t.getActiveTextRange(),r=vt(s,i);if(r==null)return!1;const{segmentId:c}=r,A=e.getCurrentUniverDocInstance(),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c).getBody();if(A==null||l==null)return!1;const d=re(o,A.getUnitId());if(d==null)return!1;const u=d.getViewModel(),g=A==null?void 0:A.getUnitId(),h=new a.TextX,m=a.JSONX.getInstance(),f=ar(r,u);if(f==null)return!1;const{offsets:p,columnIndexes:S,tableId:I,cursor:C,rowCount:y,selectWholeTable:R}=f;if(R)return n.executeCommand(it.id);const v=[],b=[{startOffset:C,endOffset:C,collapsed:!0}],O={id:x.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:b}};for(const D of p){const{retain:U,delete:P}=D;U>0&&h.push({t:a.TextXActionType.RETAIN,len:U}),h.push({t:a.TextXActionType.DELETE,len:P})}const _=$(A,c);v.push(m.editOp(h.serialize(),_)),S.reverse();for(let D=0;D<y;D++)for(const U of S){const P=m.removeOp(["tableSource",I,"tableRows",D,"tableCells",U]);v.push(P)}for(const D of S){const U=m.removeOp(["tableSource",I,"tableColumns",D]);v.push(U)}return O.params.actions=v.reduce((D,U)=>a.JSONX.compose(D,U),null),!!n.syncExecuteCommand(O.id,O.params)}},it={id:"doc.table.delete-table",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(x.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=t.getRectRanges(),s=t.getActiveTextRange(),r=vt(s,i);if(r==null)return!1;const{segmentId:c}=r,A=e.getCurrentUniverDocInstance(),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c).getBody();if(A==null||l==null)return!1;const d=re(o,A.getUnitId());if(d==null)return!1;const u=d.getViewModel(),g=A==null?void 0:A.getUnitId(),h=new a.TextX,m=a.JSONX.getInstance(),f=Fi(r,u);if(f==null)return!1;const{offset:p,len:S,tableId:I,cursor:C}=f,y=[],R=[{startOffset:C,endOffset:C,collapsed:!0}],v={id:x.RichTextEditingMutation.id,params:{unitId:g,actions:[],textRanges:R}};p>0&&h.push({t:a.TextXActionType.RETAIN,len:p}),h.push({t:a.TextXActionType.DELETE,len:S});const b=$(A,c);y.push(m.editOp(h.serialize(),b));const O=m.removeOp(["tableSource",I]);return y.push(O),v.params.actions=y.reduce((w,D)=>a.JSONX.compose(w,D),null),!!n.syncExecuteCommand(v.id,v.params)}},uo="doc.command.table-insert-row",ho="doc.command.table-insert-column",br="doc.command.table-insert-row-above",Or="doc.command.table-insert-row-bellow",Rr="doc.command.table-insert-column-left",Dr="doc.command.table-insert-column-right",sn={id:br,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(uo,{position:Kt.ABOVE})},an={id:Or,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(uo,{position:Kt.BELLOW})},rn={id:Rr,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(ho,{position:eo.LEFT})},cn={id:Dr,type:a.CommandType.COMMAND,handler:async o=>o.get(a.ICommandService).executeCommand(ho,{position:eo.RIGHT})},go={id:uo,type:a.CommandType.COMMAND,handler:async(o,t)=>{const{position:e}=t,n=o.get(x.DocSelectionManagerService),i=o.get(a.IUniverInstanceService),s=o.get(a.ICommandService),r=n.getRectRanges(),c=n.getActiveTextRange(),A=vt(c,r);if(A==null)return!1;const{segmentId:l}=A,d=i.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),u=d==null?void 0:d.getSelfOrHeaderFooterModel(l).getBody();if(d==null||u==null)return!1;const g=re(o,d.getUnitId());if(g==null)return!1;const h=g.getViewModel(),m=d==null?void 0:d.getUnitId(),f=new a.TextX,p=a.JSONX.getInstance(),S=or(A,e,h);if(S==null)return!1;const{offset:I,colCount:C,tableId:y,insertRowIndex:R}=S,v=[],b=I+2,O=[{startOffset:b,endOffset:b,collapsed:!0}],_={id:x.RichTextEditingMutation.id,params:{unitId:m,actions:[],textRanges:O}};I>0&&f.push({t:a.TextXActionType.RETAIN,len:I});const w=tr(C);f.push({t:a.TextXActionType.INSERT,body:w,len:w.dataStream.length});const D=$(d,l);v.push(p.editOp(f.serialize(),D));const U=jt(C),P=p.insertOp(["tableSource",y,"tableRows",R],U);return v.push(P),_.params.actions=v.reduce((H,Q)=>a.JSONX.compose(H,Q),null),!!s.syncExecuteCommand(_.id,_.params)}},$i={id:ho,type:a.CommandType.COMMAND,handler:async(o,t)=>{var X,J,j;const{position:e}=t,n=o.get(x.DocSelectionManagerService),i=o.get(a.IUniverInstanceService),s=o.get(a.ICommandService),r=n.getRectRanges(),c=n.getActiveTextRange(),A=vt(c,r);if(A==null)return!1;const{segmentId:l}=A,d=i.getCurrentUniverDocInstance(),u=d==null?void 0:d.getSelfOrHeaderFooterModel(l).getBody();if(d==null||u==null)return!1;const g=re(o,d.getUnitId());if(g==null)return!1;const h=g.getViewModel(),m=d==null?void 0:d.getUnitId(),f=new a.TextX,p=a.JSONX.getInstance(),S=ir(A,e,h);if(S==null)return!1;const{offsets:I,columnIndex:C,tableId:y,rowCount:R}=S,v=[],b=I[0]+1,O=[{startOffset:b,endOffset:b,collapsed:!0}],_={id:x.RichTextEditingMutation.id,params:{unitId:m,actions:[],textRanges:O}};for(const z of I){f.push({t:a.TextXActionType.RETAIN,len:z});const Z=nr();f.push({t:a.TextXActionType.INSERT,body:Z,len:Z.dataStream.length})}const w=$(d,l);v.push(p.editOp(f.serialize(),w));for(let z=0;z<R;z++){const Z=zt(),ie=p.insertOp(["tableSource",y,"tableRows",z,"tableCells",C],Z);v.push(ie)}const D=d.getSnapshot(),U=D.documentStyle,{marginLeft:P=0,marginRight:k=0}=U,H=((J=(X=U.pageSize)==null?void 0:X.width)!=null?J:800)-P-k,Q=(j=D==null?void 0:D.tableSource)==null?void 0:j[y].tableColumns,{newColWidth:G,widths:Y}=sr(H,Q,C);for(let z=0;z<Y.length;z++){const Z=p.replaceOp(["tableSource",y,"tableColumns",z,"size","width","v"],Q[z].size.width.v,Y[z]);v.push(Z)}const W=Gt(G),V=p.insertOp(["tableSource",y,"tableColumns",C],W);return v.push(V),_.params.actions=v.reduce((z,Z)=>a.JSONX.compose(z,Z),null),!!s.syncExecuteCommand(_.id,_.params)}},es="COMPONENT_DOC_CREATE_TABLE_CONFIRM";function mo(o,t){const e=[];for(let n=0,i=o.length;n<i;n++)o[n]===a.DataStreamTreeTokenType.PARAGRAPH&&e.push({startIndex:n});if(t)for(const n of e)t.bullet&&(n.bullet=a.Tools.deepClone(t.bullet)),t.paragraphStyle&&(n.paragraphStyle=a.Tools.deepClone(t.paragraphStyle));return e}const fo={id:"doc.command.break-line",type:a.CommandType.COMMAND,handler:async o=>{var v,b;const t=o.get(x.DocSelectionManagerService),e=o.get(a.IUniverInstanceService),n=o.get(a.ICommandService),i=o.get(Ce),s=t.getActiveTextRange(),r=t.getRectRanges();if(s==null)return!1;if(r&&r.length){const{startOffset:O}=s;return t.replaceDocRanges([{startOffset:O,endOffset:O}]),!0}const{segmentId:c}=s,A=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),l=A==null?void 0:A.getSelfOrHeaderFooterModel(c!=null?c:"").getBody();if(A==null||l==null)return!1;const d=A.getUnitId(),{startOffset:u,endOffset:g}=s,m=((v=l.paragraphs)!=null?v:[]).find(O=>O.startIndex>=u);if(!m)return!1;const f=m.startIndex,p=i.getDefaultStyle(),S=i.getStyleCache(),I=xt(l,g,p,S),C={dataStream:a.DataStreamTreeTokenType.PARAGRAPH,paragraphs:mo(a.DataStreamTreeTokenType.PARAGRAPH,m),textRuns:[{st:0,ed:1,ts:{...I.ts}}]},y={startOffset:u,endOffset:g,collapsed:u===g},R=await n.executeCommand(Xt.id,{unitId:d,body:C,range:y,segmentId:c});if(((b=m.bullet)==null?void 0:b.listType)===a.PresetListType.CHECK_LIST_CHECKED){const O={index:f+1-(g-u),segmentId:c,textRanges:[{startOffset:u+1,endOffset:u+1}]};return!!await n.executeCommand(Vt.id,O)&&R}return R}},po={id:"doc.command.create-table",type:a.CommandType.COMMAND,handler:async(o,t)=>{var j,z,Z,ie,fe;const{rowCount:e,colCount:n}=t,i=o.get(x.DocSelectionManagerService),s=o.get(a.IUniverInstanceService),r=o.get(a.ICommandService),c=o.get(Ce),A=i.getActiveTextRange();if(A==null)return!1;const{segmentId:l,segmentPage:d}=A,u=s.getCurrentUniverDocInstance(),g=u==null?void 0:u.getSelfOrHeaderFooterModel(l).getBody();if(u==null||g==null)return!1;const h=u.getUnitId(),m=re(o,h),f=m==null?void 0:m.getSkeleton();if(f==null)return!1;const{startOffset:p}=A,I=((j=g.paragraphs)!=null?j:[]).find(Be=>Be.startIndex>=p),C=f.findNodeByCharIndex(p,l,d);if(C==null)return!1;const y=new a.TextX,R=a.JSONX.getInstance(),v=[],b=p+4,O=[{startOffset:b,endOffset:b,collapsed:!0}],_={id:x.RichTextEditingMutation.id,params:{unitId:h,actions:[],textRanges:O}};p>0&&y.push({t:a.TextXActionType.RETAIN,len:p}),y.push({t:a.TextXActionType.INSERT,body:{dataStream:a.DataStreamTreeTokenType.PARAGRAPH,paragraphs:mo(a.DataStreamTreeTokenType.PARAGRAPH,I)},len:1});const w=c.getDefaultStyle(),D=c.getStyleCache(),U=xt(g,p,w,D),{dataStream:P,paragraphs:k,sectionBreaks:H}=er(e,n),Q=(fe=(ie=(Z=(z=C.parent)==null?void 0:z.parent)==null?void 0:Z.parent)==null?void 0:ie.parent)==null?void 0:fe.parent;if(Q==null)return!1;const{pageWidth:G,marginLeft:Y,marginRight:W}=Q,V=to(e,n,G-Y-W);y.push({t:a.TextXActionType.INSERT,body:{dataStream:P,paragraphs:k,sectionBreaks:H,textRuns:[{...U,st:0,ed:P.length}],tables:[{startIndex:0,endIndex:P.length,tableId:V.tableId}]},len:P.length});const K=$(u,l);v.push(R.editOp(y.serialize(),K));const X=R.insertOp(["tableSource",V.tableId],V);return v.push(X),_.params.actions=v.reduce((Be,pe)=>a.JSONX.compose(Be,pe),null),!!r.syncExecuteCommand(_.id,_.params)}},So="doc.component.create-table-confirm",An={id:"doc.operation.create-table",type:a.CommandType.COMMAND,handler:async o=>{const t=o.get(a.LocaleService),e=o.get(E.IConfirmService),n=o.get(a.ICommandService),i={rowCount:3,colCount:5},s=(r,c)=>{i.rowCount=r,i.colCount=c};return await e.open({id:So,children:{label:{name:es,props:{handleRowColChange:s,tableCreateParams:i}}},width:400,title:{title:t.t("toolbar.table.insert")},onConfirm:()=>{n.executeCommand(po.id,i),e.close(So)},onClose:()=>{e.close(So)}}),!0}},me={id:"doc-paragraph-setting.command",type:a.CommandType.COMMAND,handler:async(o,t)=>{var S,I,C;const e=o.get(x.DocSelectionManagerService),n=o.get(a.IUniverInstanceService),i=o.get(a.ICommandService),s=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),r=e.getDocRanges();if(!s||r.length===0||!t)return!1;const c=r[0].segmentId,A=s.getUnitId(),l=(I=(S=s.getSelfOrHeaderFooterModel(c).getBody())==null?void 0:S.paragraphs)!=null?I:[],d=(C=$e(r,l))!=null?C:[],u={id:x.RichTextEditingMutation.id,params:{unitId:A,actions:[],textRanges:r}},g=new a.MemoryCursor;g.reset();const h=new a.TextX,m=a.JSONX.getInstance();for(const y of d){const{startIndex:R}=y;h.push({t:a.TextXActionType.RETAIN,len:R-g.cursor});const v={...y.paragraphStyle,...t.paragraph};h.push({t:a.TextXActionType.RETAIN,len:1,body:{dataStream:"",paragraphs:[{...y,paragraphStyle:v,startIndex:0}]},coverType:a.UpdateDocsAttributeType.REPLACE}),g.moveCursorTo(R+1)}const f=$(s,c);return u.params.actions=m.editOp(h.serialize(),f),!!i.syncExecuteCommand(u.id,u.params)}},Br=()=>{const o=E.useDependency(x.DocSelectionManagerService),t=E.useDependency(st),e=F.useMemo(()=>o.getDocRanges(),[]);return F.useEffect(()=>{e.length||t.closePanel()},[e]),e},Mr=()=>{var r,c,A;const t=E.useDependency(a.IUniverInstanceService).getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),e=Br();if(!t||e.length===0)return[];const n=e[0].segmentId,i=(c=(r=t.getSelfOrHeaderFooterModel(n).getBody())==null?void 0:r.paragraphs)!=null?c:[];return(A=$e(e,i))!=null?A:[]},xr=(o,t)=>{const e=E.useDependency(a.ICommandService),[n,i]=F.useState(()=>{var c,A;const r=o[0];return r?String((A=(c=r.paragraphStyle)==null?void 0:c.horizontalAlign)!=null?A:t):t});return[n,r=>(i(r),e.executeCommand(me.id,{paragraph:{horizontalAlign:Number(r)}}))]},_r=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?B.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.indentStart,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{indentStart:{v:s}}}))]},Nr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?B.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.indentEnd,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{indentEnd:{v:s}}}))]},Pr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?B.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.indentFirstLine,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{indentFirstLine:{v:s}}}))]},Ur=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?B.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.hanging,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{hanging:{v:s}}}))]},wr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?B.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.spaceAbove,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{spaceAbove:{v:s}}}))]},Qr=o=>{const t=E.useDependency(a.ICommandService),[e,n]=F.useState(()=>{var r;const s=o[0];return s?B.getNumberUnitValue((r=s.paragraphStyle)==null?void 0:r.spaceBelow,0):0});return[e,s=>(n(s),t.executeCommand(me.id,{paragraph:{spaceBelow:{v:s}}}))]},Lr=o=>{const t=E.useDependency(a.ICommandService),e=E.useDependency(B.IRenderManagerService),n=E.useDependency(a.IUniverInstanceService),i=F.useMemo(()=>{var m;const h=n.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(h)return(m=e.getRenderById(h==null?void 0:h.getUnitId()))==null?void 0:m.with(x.DocSkeletonManagerService).getSkeleton()},[]),s=F.useMemo(()=>new N.BehaviorSubject({}),[]),[r,c]=F.useState(()=>{var m,f;const h=o[0];return h&&(f=(m=h.paragraphStyle)==null?void 0:m.lineSpacing)!=null?f:1}),A=F.useRef(r),[l,d]=F.useState(()=>{var m,f;const h=o[0];return h&&(f=(m=h.paragraphStyle)==null?void 0:m.spacingRule)!=null?f:a.SpacingRule.AUTO}),u=async h=>{c(h),s.next({lineSpacing:h,spacingRule:l})},g=async h=>{if(h!==l){let m=A.current;if(h===a.SpacingRule.AT_LEAST){const f=i==null?void 0:i.findNodeByCharIndex(o[0].startIndex),p=f==null?void 0:f.parent,S=p==null?void 0:p.parent;(S==null?void 0:S.contentHeight)!==void 0&&(m=Math.max(S.contentHeight,m))}else m>5&&(m=2);A.current=r,u(m),d(h),s.next({spacingRule:h})}};return F.useEffect(()=>{const h=s.pipe(At.filter(m=>!!Object.keys(m).length),At.bufferTime(16),At.filter(m=>!!m.length),At.map(m=>m.reduce((f,p)=>(Object.keys(p).forEach(S=>{f[S]=p[S]}),f),{}))).subscribe(m=>t.executeCommand(me.id,{paragraph:{...m}}));return()=>h.unsubscribe()},[]),{lineSpacing:[r,u],spacingRule:[l,g]}},q={paragraphSettingIconList:"univer-paragraph-setting-icon-list",paragraphSettingIconListItem:"univer-paragraph-setting-icon-list-item",paragraphSettingIconListActive:"univer-paragraph-setting-icon-list-active",paragraphSettingTitle:"univer-paragraph-setting-title",paragraphSettingLabel:"univer-paragraph-setting-label",paragraphSettingMtBase:"univer-paragraph-setting-mt-base",paragraphSettingFlexCol:"univer-paragraph-setting-flex-col",paragraphSettingSpaceLine:"univer-paragraph-setting-space-line"},Ve=o=>{const{value:t,onChange:e,className:n="",min:i=0,max:s=100,step:r=1}=o,c=F.useRef(null);return L.jsx(ne.InputNumber,{step:r,ref:c,min:i,max:s,value:t,onChange:A=>{e(A!=null?A:0).finally(()=>{setTimeout(()=>{var l;(l=c.current)==null||l.focus()},30)})},className:n})};function Fr(){const o=E.useDependency(a.LocaleService),t=F.useMemo(()=>[{label:o.t("toolbar.alignLeft"),value:String(a.HorizontalAlign.LEFT),icon:L.jsx(ci,{})},{label:o.t("toolbar.alignCenter"),value:String(a.HorizontalAlign.CENTER),icon:L.jsx(ri,{})},{label:o.t("toolbar.alignRight"),value:String(a.HorizontalAlign.RIGHT),icon:L.jsx(Ai,{})},{label:o.t("toolbar.alignJustify"),value:String(a.HorizontalAlign.JUSTIFIED),icon:L.jsx(ai,{})}],[]),e=Mr(),[n,i]=xr(e,t[0].value),[s,r]=_r(e),[c,A]=Nr(e),[l,d]=Pr(e),[u,g]=Ur(e),[h,m]=wr(e),[f,p]=Qr(e),{lineSpacing:[S,I],spacingRule:[C,y]}=Lr(e),R=F.useMemo(()=>C===a.SpacingRule.AUTO?{min:1,max:5,step:S<2?.5:1}:{min:1,max:100},[C,S]);return L.jsxs("div",{className:q.paragraphSetting,children:[L.jsx("div",{className:q.paragraphSettingTitle,children:o.t("doc.paragraphSetting.alignment")}),L.jsx("div",{className:`
34
+ ${q.paragraphSettingIconList}
35
+ ${q.paragraphSettingMtBase}
36
+ `,children:t.map(v=>L.jsx(ne.Tooltip,{title:v.label,placement:"bottom",children:L.jsx("span",{className:ne.clsx(q.paragraphSettingIconListItem,{[q.paragraphSettingIconListActive]:n===v.value}),onClick:()=>i(v.value),children:v.icon})},v.value))}),L.jsx("div",{className:q.paragraphSettingTitle,children:o.t("doc.paragraphSetting.indentation")}),L.jsxs("div",{children:[L.jsxs("div",{className:q.paragraphSettingFlexCol,children:[L.jsxs("div",{className:q.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.left"),"(px)"]}),L.jsx(Ve,{className:q.paragraphSettingMtBase,value:s,onChange:v=>r(v!=null?v:0)})]}),L.jsxs("div",{className:q.paragraphSettingFlexCol,children:[L.jsxs("div",{className:q.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.right"),"(px)"]}),L.jsx(Ve,{className:q.paragraphSettingMtBase,value:c,onChange:v=>A(v!=null?v:0)})]}),L.jsxs("div",{className:q.paragraphSettingFlexCol,children:[L.jsxs("div",{className:q.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.firstLine"),"(px)"]}),L.jsx(Ve,{className:q.paragraphSettingMtBase,value:l,onChange:v=>d(v!=null?v:0)})]}),L.jsxs("div",{className:q.paragraphSettingFlexCol,children:[L.jsxs("div",{className:q.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.hanging"),"(px)"]}),L.jsx(Ve,{className:q.paragraphSettingMtBase,value:u,onChange:v=>g(v!=null?v:0)})]})]}),L.jsx("div",{className:q.paragraphSettingTitle,children:o.t("doc.paragraphSetting.spacing")}),L.jsxs("div",{children:[L.jsxs("div",{className:q.paragraphSettingFlexCol,children:[L.jsxs("div",{className:q.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.before"),"(px)"]}),L.jsx(Ve,{className:q.paragraphSettingMtBase,value:h,onChange:v=>m(v!=null?v:0)})]}),L.jsxs("div",{className:q.paragraphSettingFlexCol,children:[L.jsxs("div",{className:q.paragraphSettingLabel,children:[o.t("doc.paragraphSetting.after"),"(px)"]}),L.jsx(Ve,{className:q.paragraphSettingMtBase,value:f,onChange:v=>p(v!=null?v:0)})]}),L.jsxs("div",{className:q.paragraphSettingFlexCol,children:[L.jsx("div",{className:q.paragraphSettingLabel,children:o.t("doc.paragraphSetting.lineSpace")}),L.jsxs("div",{className:`
37
+ ${q.paragraphSettingMtBase}
38
+ ${q.paragraphSettingSpaceLine}
39
+ `,style:{width:162},children:[L.jsx(ne.Select,{value:`${C}`,options:[{label:o.t("doc.paragraphSetting.multiSpace"),value:`${a.SpacingRule.AUTO}`},{label:o.t("doc.paragraphSetting.fixedValue"),value:`${a.SpacingRule.AT_LEAST}`}],onChange:v=>y(Number(v))}),L.jsx(Ve,{...R,value:S,onChange:v=>I(v!=null?v:0)})]})]})]})]})}const kr=(o,t)=>t.length===o.length&&o.some(e=>t.some(n=>n.startOffset===e.startOffset&&n.endOffset===e.endOffset));function Hr(){const o=E.useDependency(a.ICommandService),t=E.useDependency(a.LocaleService),e=E.useObservable(t.currentLocale$),[n,i]=F.useState(""),s=F.useMemo(()=>a.debounce(()=>i(a.generateRandomId(4)),300),[]),r=F.useRef([]);return F.useEffect(()=>{const c=o.onCommandExecuted(A=>{if(x.SetTextSelectionsOperation.id===A.id){const l=A.params.ranges;kr(l,r.current)||i(a.generateRandomId(4)),r.current=l}x.RichTextEditingMutation.id===A.id&&A.params.trigger!==me.id&&s()});return()=>c.dispose()},[s]),F.useEffect(()=>{i(a.generateRandomId(4))},[e]),F.useEffect(()=>()=>s.cancel(),[s]),L.jsx(Fr,{},n)}var Vr=Object.getOwnPropertyDescriptor,Wr=(o,t,e,n)=>{for(var i=n>1?void 0:n?Vr(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Io=(o,t)=>(e,n)=>t(e,n,o);const ts="doc_ui_paragraph-setting-panel";let st=class extends a.Disposable{constructor(t,e,n){super();M(this,"_id");this._commandService=t,this._componentManager=e,this._sidebarService=n,this._init()}_init(){this.disposeWithMe(this._componentManager.register(ts,Hr))}openPanel(){const t={header:{title:"doc.slider.paragraphSetting"},id:this._id,children:{label:ts},width:300};this._sidebarService.open(t)}closePanel(){this._sidebarService.close(this._id)}};st=Wr([Io(0,a.ICommandService),Io(1,a.Inject(E.ComponentManager)),Io(2,a.Inject(E.ISidebarService))],st);const Eo={id:"sidebar.operation.doc-paragraph-setting-panel",type:a.CommandType.OPERATION,handler:o=>(o.get(st).openPanel(),!0)},vo=o=>{const t=o.get(x.DocSelectionManagerService);return new N.Observable(e=>{const n=t.textSelection$.subscribe(()=>{t.getDocRanges().some(r=>r.collapsed===!1||r.rangeType===a.DOC_RANGE_TYPE.RECT)?e.next(!1):e.next(!0)});return()=>n.unsubscribe()})};function Kr(o){if(o.length<2)return!0;const t=o.map(e=>e.tableId);return t.every(e=>e===t[0])}function ns(o,t,e){var s;const n=t.getRectRanges(),i=t.getActiveTextRange();if(n&&n.length&&Kr(n)&&i==null){o.next(!1);return}if(i&&(n==null||n.length===0)){const{segmentId:r,startOffset:c,endOffset:A}=i,l=e.getCurrentUniverDocInstance(),d=(s=l==null?void 0:l.getSelfOrHeaderFooterModel(r).getBody())==null?void 0:s.tables;if(d&&d.length&&d.some(u=>{const{startIndex:g,endIndex:h}=u;return c>g&&c<h||A>g&&A<h})){o.next(!1);return}}o.next(!0)}const ye=o=>{const t=o.get(x.DocSelectionManagerService),e=o.get(a.IUniverInstanceService);return new N.Observable(n=>{const i=t.textSelection$.subscribe(()=>{ns(n,t,e)});return ns(n,t,e),()=>i.unsubscribe()})},zr=o=>({id:yt.name,commandId:yt.id,type:E.MenuItemType.BUTTON,icon:"Copy",title:"rightClick.copy",disabled$:vo(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),jr=o=>({id:Eo.id,type:E.MenuItemType.BUTTON,icon:"MenuSingle24",title:"doc.menu.paragraphSetting",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),Gr=o=>({id:$t.id,type:E.MenuItemType.BUTTON,icon:"Copy",title:"rightClick.cut",disabled$:vo(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),Xr=o=>({id:en.id,type:E.MenuItemType.BUTTON,icon:"PasteSpecial",title:"rightClick.paste",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),Yr=o=>({id:Ct.id,type:E.MenuItemType.BUTTON,icon:"PasteSpecial",title:"rightClick.delete",disabled$:vo(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}),os="doc.menu.table-insert";function qr(o){return{id:os,type:E.MenuItemType.SUBITEMS,title:"table.insert",icon:"Insert",hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),ye(o),(t,e)=>t||e)}}function Jr(o){return{id:sn.id,type:E.MenuItemType.BUTTON,title:"table.insertRowAbove",icon:"InsertRowAbove",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function Zr(o){return{id:an.id,type:E.MenuItemType.BUTTON,title:"table.insertRowBelow",icon:"InsertRowBelow",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function $r(o){return{id:rn.id,type:E.MenuItemType.BUTTON,title:"table.insertColumnLeft",icon:"LeftInsertColumn",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function ec(o){return{id:cn.id,type:E.MenuItemType.BUTTON,title:"table.insertColumnRight",icon:"RightInsertColumn",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}const is="doc.menu.table-delete";function tc(o){return{id:is,type:E.MenuItemType.SUBITEMS,title:"table.delete",icon:"Reduce",hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),ye(o),(t,e)=>t||e)}}function nc(o){return{id:nn.id,type:E.MenuItemType.BUTTON,title:"table.deleteRows",icon:"DeleteRow",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function oc(o){return{id:on.id,type:E.MenuItemType.BUTTON,title:"table.deleteColumns",icon:"DeleteColumn",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function ic(o){return{id:it.id,type:E.MenuItemType.BUTTON,title:"table.deleteTable",icon:"GridSingle",disabled$:ye(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function sc(o){const t=o.get(a.IUniverInstanceService),e=o.get(B.IRenderManagerService);return new N.Observable(n=>{const i=t.focused$.subscribe(s=>{if(s==null||t.getUnitType(s)!==a.UniverInstanceType.UNIVER_DOC)return n.next(!0);const c=e.getRenderById(s);if(c==null)return n.next(!0);c.with(x.DocSkeletonManagerService).getViewModel().editAreaChange$.subscribe(l=>{n.next(l===B.DocumentEditArea.HEADER||l===B.DocumentEditArea.FOOTER)})});return()=>i.unsubscribe()})}function ac(o){const t=o.get(a.IUniverInstanceService),e=o.get(a.ICommandService);return new N.Observable(n=>{const i=e.onCommandExecuted(A=>{if(A.id===x.RichTextEditingMutation.id){const{unitId:l}=A.params,d=t.getUnit(l);if(d==null){n.next(!0);return}const{documentStyle:u}=d.getSnapshot();n.next((u==null?void 0:u.documentFlavor)!==a.DocumentFlavor.TRADITIONAL)}}),s=t.focused$.subscribe(A=>{if(A==null)return n.next(!0);const l=t.getUniverDocInstance(A),d=l==null?void 0:l.getSnapshot().documentStyle.documentFlavor;n.next(d!==a.DocumentFlavor.TRADITIONAL)}),r=t.getCurrentUniverDocInstance();if(r==null)return n.next(!0);const c=r==null?void 0:r.getSnapshot().documentStyle.documentFlavor;return n.next(c!==a.DocumentFlavor.TRADITIONAL),()=>{i.dispose(),s.unsubscribe()}})}function rc(o){const t=o.get(x.DocSelectionManagerService),e=o.get(a.IUniverInstanceService);return new N.Observable(n=>{const i=t.textSelection$.subscribe(s=>{if(s==null){n.next(!0);return}const{textRanges:r}=s;if(r.length!==1){n.next(!0);return}const c=r[0],{collapsed:A,startNodePosition:l,startOffset:d}=c;if(!A||d==null){n.next(!0);return}const u=e.getCurrentUniverDocInstance();if(u==null){n.next(!0);return}const g=re(o,u.getUnitId());if(g==null){n.next(!0);return}if(g.getViewModel().getCustomRangeRaw(d)){n.next(!0);return}if(l!=null){const{path:f}=l;if(f.indexOf("cells")!==-1){n.next(!0);return}}n.next(!1)});return()=>i.unsubscribe()})}function te(o){const t=o.get(x.DocSelectionManagerService);return new N.Observable(e=>{const n=t.textSelection$.subscribe(i=>{if(i==null){e.next(!0);return}const{textRanges:s,rectRanges:r}=i;if(s.length===0&&r.length===0){e.next(!0);return}e.next(!1)});return()=>n.unsubscribe()})}function cc(o){const t=o.get(a.ICommandService);return{id:_e.id,type:E.MenuItemType.BUTTON,icon:"BoldSingle",title:"Set bold",tooltip:"toolbar.bold",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.bl;e.next(A===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function Ac(o){const t=o.get(a.ICommandService);return{id:Ne.id,type:E.MenuItemType.BUTTON,icon:"ItalicSingle",title:"Set italic",tooltip:"toolbar.italic",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.it;e.next(A===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function lc(o){const t=o.get(a.ICommandService);return{id:Pe.id,type:E.MenuItemType.BUTTON,icon:"UnderlineSingle",title:"Set underline",tooltip:"toolbar.underline",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.ul;e.next((A==null?void 0:A.s)===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function dc(o){const t=o.get(a.ICommandService);return{id:Ue.id,type:E.MenuItemType.BUTTON,icon:"StrikethroughSingle",title:"Set strike through",tooltip:"toolbar.strikethrough",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.st;e.next((A==null?void 0:A.s)===a.BooleanNumber.TRUE)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function uc(o){const t=o.get(a.ICommandService);return{id:Re.id,type:E.MenuItemType.BUTTON,icon:"SubscriptSingle",tooltip:"toolbar.subscript",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.va;e.next(A===a.BaselineOffset.SUBSCRIPT)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function hc(o){const t=o.get(a.ICommandService);return{id:we.id,type:E.MenuItemType.BUTTON,icon:"SuperscriptSingle",tooltip:"toolbar.superscript",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===Te.id){const c=De(o);if(c==null){e.next(!1);return}const A=(r=c.ts)==null?void 0:r.va;e.next(A===a.BaselineOffset.SUPERSCRIPT)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function gc(o){const t=o.get(a.ICommandService);return{id:Le.id,tooltip:"toolbar.font",type:E.MenuItemType.SELECTOR,label:Si,selections:E.FONT_FAMILY_LIST.map(e=>({label:{name:Ii},value:e.value})),value$:new N.Observable(e=>{const n=a.DEFAULT_STYLES.ff,i=t.onCommandExecuted(s=>{var c;const r=s.id;if(r===x.SetTextSelectionsOperation.id||r===Le.id){const A=De(o);if(A==null){e.next(n);return}const l=(c=A.ts)==null?void 0:c.ff;e.next(l!=null?l:n)}});return e.next(n),i.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function mc(o){const t=o.get(a.ICommandService);return{id:Qe.id,type:E.MenuItemType.SELECTOR,tooltip:"toolbar.fontSize",label:{name:Ei,props:{min:1,max:400}},selections:E.FONT_SIZE_LIST,value$:new N.Observable(e=>{const n=a.DEFAULT_STYLES.fs,i=t.onCommandExecuted(s=>{var c;const r=s.id;if(r===x.SetTextSelectionsOperation.id||r===Qe.id){const A=De(o);if(A==null){e.next(n);return}const l=(c=A.ts)==null?void 0:c.fs;e.next(l!=null?l:n)}});return e.next(n),i.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function fc(o){const t=o.get(a.ICommandService),e=o.get(a.ThemeService);return{id:Fe.id,icon:"FontColor",tooltip:"toolbar.textColor.main",type:E.MenuItemType.BUTTON_SELECTOR,selections:[{label:{name:Xn,hoverable:!1,selectable:!1}}],value$:new N.Observable(n=>{const i=e.getCurrentTheme().textColor,s=t.onCommandExecuted(r=>{if(r.id===Fe.id){const c=r.params.value;n.next(c!=null?c:i)}});return n.next(i),s.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function pc(o){return{id:jn.id,type:E.MenuItemType.BUTTON,icon:"HeaderFooterSingle",tooltip:"toolbar.headerFooter",hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY),ac(o),(t,e)=>t||e)}}const Sc="GridSingle",ss="doc.menu.table";function Ic(o){return{id:ss,type:E.MenuItemType.SUBITEMS,icon:Sc,tooltip:"toolbar.table.main",disabled$:rc(o),hidden$:N.combineLatest(E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY),sc(o),(t,e)=>t||e)}}function Ec(o){return{id:An.id,title:"toolbar.table.insert",type:E.MenuItemType.BUTTON,hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function vc(o){const t=o.get(a.ICommandService);return{id:pt.id,type:E.MenuItemType.BUTTON,icon:"LeftJustifyingSingle",tooltip:"toolbar.alignLeft",disabled$:te(o),activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===ge.id){const c=ln(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.LEFT)}});return e.next(!1),n.dispose}),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function Cc(o){const t=o.get(a.ICommandService);return{id:St.id,type:E.MenuItemType.BUTTON,icon:"HorizontallySingle",tooltip:"toolbar.alignCenter",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===ge.id){const c=ln(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.CENTER)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function Tc(o){const t=o.get(a.ICommandService);return{id:It.id,type:E.MenuItemType.BUTTON,icon:"RightJustifyingSingle",tooltip:"toolbar.alignRight",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===ge.id){const c=ln(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.RIGHT)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}function yc(o){const t=o.get(a.ICommandService);return{id:Et.id,type:E.MenuItemType.BUTTON,icon:"AlignTextBothSingle",tooltip:"toolbar.alignJustify",activated$:new N.Observable(e=>{const n=t.onCommandExecuted(i=>{var r;const s=i.id;if(s===x.SetTextSelectionsOperation.id||s===ge.id){const c=ln(o);if(c==null)return;const A=(r=c.paragraphStyle)==null?void 0:r.horizontalAlign;e.next(A===a.HorizontalAlign.JUSTIFIED)}});return e.next(!1),n.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)}}const bt=o=>new N.Observable(t=>{const e=o.get(a.IUniverInstanceService),n=o.get(x.DocSelectionManagerService);let i;const s=e.focused$.subscribe(r=>{if(i==null||i.unsubscribe(),r==null)return;const c=e.getUniverDocInstance(r);c!=null&&(i=n.textSelection$.subscribe(()=>{var d,u,g;const A=n.getDocRanges(),l=(d=A.find(h=>h.isActive))!=null?d:A[0];if(l){const h=c.getSelfOrHeaderFooterModel(l==null?void 0:l.segmentId),m=Wt(l,(g=(u=h.getBody())==null?void 0:u.paragraphs)!=null?g:[]);let f;if(m.every(p=>{var S;return f||(f=(S=p.bullet)==null?void 0:S.listType),p.bullet&&p.bullet.listType===f})){t.next(f);return}}t.next(void 0)}))});return()=>{s.unsubscribe(),i==null||i.unsubscribe()}});function bc(o){return{id:ft.id,type:E.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:Ci,hoverable:!1,selectable:!1},value$:bt(o)}],icon:"OrderSingle",tooltip:"toolbar.order",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),disabled$:te(o),activated$:bt(o).pipe(N.map(t=>t&&t.indexOf("ORDER_LIST")===0))}}function Oc(o){return{id:mt.id,type:E.MenuItemType.BUTTON_SELECTOR,slot:!0,selections:[{label:{name:Ti,hoverable:!1,selectable:!1},value$:bt(o)}],icon:"UnorderSingle",tooltip:"toolbar.unorder",disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),activated$:bt(o).pipe(N.map(t=>t&&t.indexOf("BULLET_LIST")===0))}}function Rc(o){return{id:Ht.id,type:E.MenuItemType.BUTTON,icon:"TodoList",tooltip:"toolbar.checklist",disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC),activated$:bt(o).pipe(N.map(t=>t&&t.indexOf("CHECK_LIST")===0))}}function Dc(o){const t=o.get(a.ICommandService),e=o.get(a.IUniverInstanceService);return{id:tn.id,type:E.MenuItemType.BUTTON,icon:"KeyboardSingle",tooltip:"toolbar.documentFlavor",hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC,void 0,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY),activated$:new N.Observable(n=>{var r;const i=t.onCommandExecuted(c=>{var A;if(c.id===x.RichTextEditingMutation.id){const l=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);n.next(((A=l==null?void 0:l.getSnapshot())==null?void 0:A.documentStyle.documentFlavor)===a.DocumentFlavor.MODERN)}}),s=e.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);return n.next(((r=s==null?void 0:s.getSnapshot())==null?void 0:r.documentStyle.documentFlavor)===a.DocumentFlavor.MODERN),()=>i.dispose()})}}function Bc(o){return{id:Je.id,type:E.MenuItemType.BUTTON,title:"toolbar.resetColor",icon:"NoColor"}}function Mc(o){const t=o.get(a.ICommandService),e=o.get(a.ThemeService);return{id:ke.id,tooltip:"toolbar.fillColor.main",type:E.MenuItemType.BUTTON_SELECTOR,icon:"PaintBucket",selections:[{label:{name:Xn,hoverable:!1,selectable:!1}}],value$:new N.Observable(n=>{const i=e.getCurrentTheme().primaryColor,s=t.onCommandExecuted(r=>{if(r.id===ke.id){const c=r.params.value;n.next(c!=null?c:i)}});return n.next(i),s.dispose}),disabled$:te(o),hidden$:E.getMenuHiddenObservable(o,a.UniverInstanceType.UNIVER_DOC)}}function De(o){var g,h;const t=o.get(a.IUniverInstanceService),e=o.get(x.DocSelectionManagerService),n=o.get(Ce),i=t.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),s=e.getDocRanges(),r=(g=s.find(m=>m.isActive))!=null?g:s[0],c=n.getDefaultStyle(),A=(h=n.getStyleCache())!=null?h:{};if(i==null||r==null)return{ts:{...c,...A}};const{segmentId:l}=r,d=i.getSelfOrHeaderFooterModel(l).getBody();return d==null?{ts:{...c,...A}}:{ts:{...wi(d,r,c),...A}}}function ln(o){var d,u;const t=o.get(a.IUniverInstanceService),e=o.get(x.DocSelectionManagerService),n=t.getCurrentUniverDocInstance(),i=e.getDocRanges(),s=(d=i.find(g=>g.isActive))!=null?d:i[0];if(n==null||s==null)return;const{startOffset:r,segmentId:c}=s,A=(u=n.getSelfOrHeaderFooterModel(c).getBody())==null?void 0:u.paragraphs;if(A==null)return;let l=-1;for(const g of A){const{startIndex:h}=g;if(r>l&&r<=h)return g;l=h}return null}const as={[E.RibbonStartGroup.FORMAT]:{[_e.id]:{order:0,menuItemFactory:cc},[Ne.id]:{order:1,menuItemFactory:Ac},[Pe.id]:{order:2,menuItemFactory:lc},[Ue.id]:{order:3,menuItemFactory:dc},[Re.id]:{order:4,menuItemFactory:uc},[we.id]:{order:5,menuItemFactory:hc},[Qe.id]:{order:6,menuItemFactory:mc},[Le.id]:{order:7,menuItemFactory:gc},[Fe.id]:{order:8,menuItemFactory:fc},[ke.id]:{order:9,menuItemFactory:Mc,[Je.id]:{order:0,menuItemFactory:Bc}}},[E.RibbonStartGroup.LAYOUT]:{[ss]:{order:1,menuItemFactory:Ic,[An.id]:{order:0,menuItemFactory:Ec}},[pt.id]:{order:2,menuItemFactory:vc},[St.id]:{order:3,menuItemFactory:Cc},[It.id]:{order:4,menuItemFactory:Tc},[Et.id]:{order:5,menuItemFactory:yc},[ft.id]:{order:6,menuItemFactory:bc},[mt.id]:{order:7,menuItemFactory:Oc},[Ht.id]:{order:8,menuItemFactory:Rc},[jn.id]:{order:9,menuItemFactory:pc},[tn.id]:{order:10,menuItemFactory:Dc}},[E.ContextMenuPosition.MAIN_AREA]:{[E.ContextMenuGroup.FORMAT]:{[yt.name]:{order:0,menuItemFactory:zr},[$t.id]:{order:1,menuItemFactory:Gr},[en.id]:{order:2,menuItemFactory:Xr},[Ct.id]:{order:3,menuItemFactory:Yr}},[E.ContextMenuGroup.LAYOUT]:{[Eo.id]:{order:0,menuItemFactory:jr},[os]:{order:1,menuItemFactory:qr,[sn.id]:{order:1,menuItemFactory:Jr},[an.id]:{order:2,menuItemFactory:Zr},[rn.id]:{order:3,menuItemFactory:$r},[cn.id]:{order:4,menuItemFactory:ec}},[is]:{order:2,menuItemFactory:tc,[nn.id]:{order:1,menuItemFactory:nc},[on.id]:{order:2,menuItemFactory:oc},[it.id]:{order:3,menuItemFactory:ic}}}}};var xc=Object.getOwnPropertyDescriptor,_c=(o,t,e,n)=>{for(var i=n>1?void 0:n?xc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},be=(o,t)=>(e,n)=>t(e,n,o);T.DocUIController=class extends a.Disposable{constructor(t,e,n,i,s,r,c,A,l){super(),this._injector=t,this._componentManager=e,this._commandService=n,this._layoutService=i,this._menuManagerService=s,this._uiPartsService=r,this._univerInstanceService=c,this._shortcutService=A,this._configService=l,this._init()}_initCustomComponents(){const t=this._componentManager;this.disposeWithMe(t.register(Xn,ne.ColorPicker)),this.disposeWithMe(t.register(Si,E.FontFamily)),this.disposeWithMe(t.register(Ii,E.FontFamilyItem)),this.disposeWithMe(t.register(Ei,E.FontSize)),this.disposeWithMe(t.register(Ti,Ta)),this.disposeWithMe(t.register(Ci,va)),this.disposeWithMe(t.register("TodoList",li))}_initUiParts(){var e,n;const t=this._configService.getConfig($n);(n=(e=t==null?void 0:t.layout)==null?void 0:e.docContainerConfig)!=null&&n.footer&&this.disposeWithMe(this._uiPartsService.registerComponent(E.BuiltInUIPart.FOOTER,()=>E.connectInjector($a,this._injector)))}_initMenus(){this._menuManagerService.mergeMenu(as)}_initShortCut(){[Pa,Ua,wa,Qa,La,Fa,Va,Wa,Ha,ka,Ka,za,ba].forEach(t=>{this.disposeWithMe(this._shortcutService.registerShortcut(t))})}_init(){this._initCustomComponents(),this._initMenus(),this._initFocusHandler(),this._initCommands(),this._initUiParts(),this._initShortCut()}_initCommands(){[pi,jn,Kn].forEach(t=>this.disposeWithMe(this._commandService.registerCommand(t)))}_initFocusHandler(){this.disposeWithMe(this._layoutService.registerFocusHandler(a.UniverInstanceType.UNIVER_DOC,t=>{this._injector.get(B.IRenderManagerService).getRenderById(t).with(T.DocSelectionRenderService).focus()}))}},T.DocUIController=_c([be(0,a.Inject(a.Injector)),be(1,a.Inject(E.ComponentManager)),be(2,a.ICommandService),be(3,E.ILayoutService),be(4,E.IMenuManagerService),be(5,E.IUIPartsService),be(6,a.IUniverInstanceService),be(7,E.IShortcutService),be(8,a.IConfigService)],T.DocUIController);var Nc=Object.getOwnPropertyDescriptor,Pc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Nc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Co=(o,t)=>(e,n)=>t(e,n,o);const rs=1.5;T.DocBackScrollRenderController=class extends a.RxDisposable{constructor(t,e,n,i){super(),this._context=t,this._textSelectionManagerService=e,this._editorService=n,this._docSkeletonManagerService=i,this._init()}_init(){this._textSelectionManagerService.textSelection$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>{if(t==null)return;const{isEditing:e,unitId:n}=t;n!==this._context.unitId||!e||this._context.unitId!==a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY&&this._scrollToSelection()})}scrollToRange(t){const e=this._docSkeletonManagerService.getSkeleton();if(!e)return;const{startOffset:n}=t,i=e.findNodePositionByCharIndex(n);i&&this.scrollToNode(i)}scrollToNode(t){var w;const{unitId:e,scene:n,mainComponent:i}=this._context,s=this._docSkeletonManagerService.getSkeleton();if(i==null||s==null)return;const r=i.getOffsetConfig(),{docsLeft:c,docsTop:A}=r,l=new Ie(r,s),{contentBoxPointGroup:d}=l.getRangePointData(t,t),{left:u,top:g,height:h}=lt(d),m=u+c,f=g+A,p=n.getViewport(he.VIEW_MAIN),S=this._editorService.getEditor(e);if(p==null)return;const{left:I,top:C,right:y,bottom:R}=p.getBounding().viewBound;let v=0,b=0;const O=S?(w=S.params.backScrollOffset)!=null?w:0:100;f<C?v=f-C-O:f>R-h&&(v=f-R+h+O),m<I?b=m-I:m>y-rs&&(b=m-y+rs);const _=p.transViewportScroll2ScrollValue(b,v);p.scrollByBarDeltaValue(_)}_scrollToSelection(){const t=this._textSelectionManagerService.getActiveTextRange();if(t==null)return;const{collapsed:e,startNodePosition:n}=t;e&&this.scrollToNode(n)}},T.DocBackScrollRenderController=Pc([Co(1,a.Inject(x.DocSelectionManagerService)),Co(2,ce),Co(3,a.Inject(x.DocSkeletonManagerService))],T.DocBackScrollRenderController);var Uc=Object.getOwnPropertyDescriptor,wc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Uc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},at=(o,t)=>(e,n)=>t(e,n,o);T.DocRenderController=class extends a.RxDisposable{constructor(t,e,n,i,s,r,c){super(),this._context=t,this._commandService=e,this._docSelectionRenderService=n,this._docSkeletonManagerService=i,this._editorService=s,this._renderManagerService=r,this._univerInstanceService=c,this._addNewRender(),this._initRenderRefresh(),this._initCommandListener()}reRender(t){var r,c;const e=(r=this._renderManagerService.getRenderById(t))==null?void 0:r.with(x.DocSkeletonManagerService),n=e==null?void 0:e.getSkeleton();if(!n||!!n.getViewModel().getDataModel().getSnapshot().disabled)return;n.calculate();const s=this._editorService.getEditor(t);if(this._editorService.isEditor(t)&&!(s!=null&&s.params.scrollBar)){(c=this._context.mainComponent)==null||c.makeDirty();return}this._recalculateSizeBySkeleton(n)}_addNewRender(){const{scene:t,engine:e}=this._context,n=new B.Viewport(he.VIEW_MAIN,t,{left:0,top:0,bottom:0,right:0,isWheelPreventDefaultX:!0});t.attachControl(),t.onMouseWheel$.subscribeEvent((s,r)=>{const c=this._univerInstanceService.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if((c==null?void 0:c.getUnitId())!==this._context.unitId)return;const A=s;if(A.ctrlKey){const l=Math.abs(A.deltaX);let d=l<40?.2:l<80?.4:.2;d*=A.deltaY>0?-1:1,t.scaleX<1&&(d/=2),t.scaleX+d>4?t.scale(4,4):t.scaleX+d<.1?t.scale(.1,.1):A.preventDefault()}else n.onMouseWheel(A,r)}),new B.ScrollBar(n),t.addLayer(new B.Layer(t,[],Mt),new B.Layer(t,[],Wo)),this._addComponent();const i=()=>t.render();this.disposeWithMe(this._context.activated$.subscribe(s=>{s?e.runRenderLoop(i):e.stopRenderLoop(i)})),this._docSelectionRenderService.__attachScrollEvent()}_addComponent(){const{scene:t,unit:e,components:n}=this._context,r={pageMarginLeft:20,pageMarginTop:20},c=new B.Documents(le.MAIN,void 0,r);c.zIndex=On;const A=new B.DocBackground(le.BACKGROUND,void 0,r);A.zIndex=On,this._context.mainComponent=c,n.set(le.MAIN,c),n.set(le.BACKGROUND,A),t.addObjects([c],Mt),t.addObjects([A],Vo),this._editorService.getEditor(e.getUnitId())==null&&t.enableLayerCache(Mt)}_initRenderRefresh(){this._docSkeletonManagerService.currentSkeletonBefore$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>{this._create(t)})}_create(t){var A;if(!t)return;const{mainComponent:e,components:n}=this._context,i=e,s=n.get(le.BACKGROUND);i.changeSkeleton(t),s.changeSkeleton(t);const{unitId:r}=this._context,c=this._editorService.getEditor(r);if(this._editorService.isEditor(r)&&!(c!=null&&c.params.scrollBar)){(A=this._context.mainComponent)==null||A.makeDirty();return}this._recalculateSizeBySkeleton(t)}_initCommandListener(){const t=[x.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){const n=e.params,{unitId:i}=n;this.reRender(i)}}))}_recalculateSizeBySkeleton(t){var m;const{mainComponent:e,scene:n,unitId:i,components:s}=this._context,r=e,c=s.get(le.BACKGROUND),A=(m=t.getSkeletonData())==null?void 0:m.pages;if(A==null)return;let l=0,d=0;const g=this._context.unit.getSnapshot().documentStyle.documentFlavor;for(let f=0,p=A.length;f<p;f++){const S=A[f];let{pageWidth:I,pageHeight:C}=S;if(g===a.DocumentFlavor.MODERN){const y=Qc(S);I=y.pageWidth,C=y.pageHeight}r.pageLayoutType===B.PageLayoutType.VERTICAL?(d+=C,d+=r.pageMarginTop,f===p-1&&(d+=r.pageMarginTop),l=Math.max(l,I)):r.pageLayoutType===B.PageLayoutType.HORIZONTAL&&(l+=I,f!==p-1&&(l+=r.pageMarginLeft),d=Math.max(d,C))}r.resize(l,d),c.resize(l,d);const h=this._editorService.getEditor(i);(!this._editorService.isEditor(i)||h!=null&&h.params.scrollBar)&&n.resize(l,d)}},T.DocRenderController=wc([at(1,a.ICommandService),at(2,a.Inject(T.DocSelectionRenderService)),at(3,a.Inject(x.DocSkeletonManagerService)),at(4,ce),at(5,B.IRenderManagerService),at(6,a.IUniverInstanceService)],T.DocRenderController);function Qc(o){let{pageWidth:t,pageHeight:e}=o;const{marginLeft:n,marginRight:i,marginTop:s,marginBottom:r,skeDrawings:c,skeTables:A}=o;t===Number.POSITIVE_INFINITY&&(t=o.width+n+i),e===Number.POSITIVE_INFINITY&&(e=o.height+s+r);for(const l of c.values())t=Math.max(t,l.aLeft+l.width+n+i),e=Math.max(e,l.aTop+l.height+s+r);for(const l of A.values())t=Math.max(t,l.left+l.width+n+i),e=Math.max(e,l.top+l.height+s+r);return{pageWidth:t,pageHeight:e}}const To={id:"doc.command.select-all",type:a.CommandType.COMMAND,handler:async o=>{var g;const t=o.get(a.IUniverInstanceService),e=o.get(x.DocSelectionManagerService),n=t.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC),i=e.getDocRanges(),s=(g=i.find(h=>h.isActive))!=null?g:i[0];if(n==null||s==null)return!1;const{segmentId:r}=s,c=n.getUnitId(),A=n.getSelfOrHeaderFooterModel(r).getSnapshot().body;if(A==null)return!1;const{tables:l=[]}=A,d=[];let u=0;for(const h of l){const{startIndex:m,endIndex:f}=h;u!==m&&d.push({startOffset:u,endOffset:m-1,rangeType:a.DOC_RANGE_TYPE.TEXT}),d.push({startOffset:m+3,endOffset:f-5,rangeType:a.DOC_RANGE_TYPE.RECT}),u=f}return u!==A.dataStream.length-2&&d.push({startOffset:u,endOffset:A.dataStream.length-2,rangeType:a.DOC_RANGE_TYPE.TEXT}),e.replaceDocRanges(d,{unitId:c,subUnitId:c},!1),!0}};class Ot extends a.RxDisposable{constructor(e){super();M(this,"_previousActiveRange",null);M(this,"_undoMutationParamsCache",[]);M(this,"_redoMutationParamsCache",[]);this._context=e}clearUndoRedoMutationParamsCache(){this._undoMutationParamsCache=[],this._redoMutationParamsCache=[]}getUndoRedoMutationParamsCache(){return{undoCache:this._undoMutationParamsCache,redoCache:this._redoMutationParamsCache}}setUndoRedoMutationParamsCache({undoCache:e=[],redoCache:n=[]}){this._undoMutationParamsCache=e,this._redoMutationParamsCache=n}getActiveRange(){return this._previousActiveRange}setActiveRange(e){this._previousActiveRange=e}pushUndoRedoMutationParams(e,n){this._undoMutationParamsCache.push(e),this._redoMutationParamsCache.push(n)}fetchComposedUndoRedoMutationParams(){if(this._undoMutationParamsCache.length===0||this._previousActiveRange==null||this._redoMutationParamsCache.length===0)return null;const{unitId:e}=this._undoMutationParamsCache[0],n={unitId:e,actions:this._undoMutationParamsCache.reverse().reduce((s,r)=>a.JSONX.compose(s,r.actions),null),textRanges:[]};return{redoMutationParams:{unitId:e,actions:this._redoMutationParamsCache.reduce((s,r)=>a.JSONX.compose(s,r.actions),null),textRanges:[]},undoMutationParams:n,previousActiveRange:this._previousActiveRange}}dispose(){this._undoMutationParamsCache=[],this._redoMutationParamsCache=[],this._previousActiveRange=null}}const yo={id:"doc.command.ime-input",type:a.CommandType.COMMAND,handler:async(o,t)=>{var Q,G,Y;const{unitId:e,newText:n,oldTextLen:i,isCompositionEnd:s,isCompositionStart:r}=t,c=o.get(a.ICommandService),A=o.get(B.IRenderManagerService),l=o.get(a.IUniverInstanceService),d=o.get(Ce),u=(Q=A.getRenderById(e))==null?void 0:Q.with(Ot),g=l.getUnit(e,a.UniverInstanceType.UNIVER_DOC);if(g==null||u==null)return!1;const h=u.getActiveRange();if(h==null)return!1;const{style:m,segmentId:f}=h,p=g.getSelfOrHeaderFooterModel(f).getBody();if(p==null)return!1;Object.assign(h,h);const{startOffset:I,endOffset:C}=h,y=n.length,R=[{startOffset:I+y,endOffset:I+y,collapsed:!0,style:m}],v={id:x.RichTextEditingMutation.id,params:{unitId:e,actions:[],textRanges:R}},b=d.getDefaultStyle(),O=d.getStyleCache(),_=Rn((G=p.customRanges)!=null?G:[],I+i,a.SHEET_EDITOR_UNITS.includes(e)),w=xt(p,r?C:I+i,b,O,a.SHEET_EDITOR_UNITS.includes(e)),D=Dn((Y=p.customDecorations)!=null?Y:[],I+i),U=new a.TextX,P=a.JSONX.getInstance();if(!h.collapsed&&r){const W=a.BuildTextUtils.selection.delete([h],p,0,null,!1);U.push(...W),v.params.textRanges=[{startOffset:I+y,endOffset:I+y,collapsed:!0}]}else U.push({t:a.TextXActionType.RETAIN,len:I});i>0&&U.push({t:a.TextXActionType.DELETE,len:i}),U.push({t:a.TextXActionType.INSERT,body:{dataStream:n,textRuns:w?[{...w,st:0,ed:n.length}]:[],customRanges:_?[{..._,startIndex:0,endIndex:n.length-1}]:[],customDecorations:D.map(W=>({...W,startIndex:0,endIndex:n.length-1}))},len:n.length});const k=$(g,f);v.params.actions=P.editOp(U.serialize(),k),v.params.noHistory=!s,v.params.isCompositionEnd=s;const H=c.syncExecuteCommand(v.id,v.params);return u.pushUndoRedoMutationParams(H,v.params),!!H}},dn={type:a.CommandType.COMMAND,id:"doc.command.set-zoom-ratio",handler:async(o,t)=>{var u,g,h;const e=o.get(a.ICommandService),n=o.get(a.IUndoRedoService),i=o.get(a.IUniverInstanceService);let s=(u=i.getCurrentUniverDocInstance())==null?void 0:u.getUnitId();if(!s)return!1;let r=1;if(t&&(s=(g=t.documentId)!=null?g:s,r=(h=t.zoomRatio)!=null?h:r),!i.getUniverDocInstance(s))return!1;const A={zoomRatio:r,unitId:s},l=Ga(o,A);return e.syncExecuteCommand(ue.id,A)?(n.pushUndoRedo({unitID:s,undoMutations:[{id:ue.id,params:l}],redoMutations:[{id:ue.id,params:A}]}),!0):!1}},bo={id:"doc.table.tab-in-table",type:a.CommandType.COMMAND,handler:async(o,t)=>{var m;const{shift:e}=t,n=o.get(x.DocSelectionManagerService),i=n.getDocRanges(),s=o.get(a.ICommandService),c=o.get(a.IUniverInstanceService).getCurrentUniverDocInstance();if(!c)return!1;const A=(m=i.find(f=>f.isActive))!=null?m:i[0],l=c.getUnitId(),d=re(o,l),u=d==null?void 0:d.getSkeleton(),g=u==null?void 0:u.getViewModel().getSelfOrHeaderFooterViewModel(A==null?void 0:A.segmentId);if(g==null||A==null)return!1;let h=null;if(e?h=ki(g,A,no.PREV):h=ki(g,A,no.NEXT),h){const{startOffset:f,endOffset:p}=h,S=[{startOffset:f,endOffset:p}];return n.replaceDocRanges(S),!0}return e===!1?await s.executeCommand(go.id,{position:Kt.BELLOW}):!0}};var Lc=Object.getOwnPropertyDescriptor,Fc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Lc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Oo=(o,t)=>(e,n)=>t(e,n,o);let Ro=class{constructor(o,t,e){M(this,"_docContainer");M(this,"getComponent",o=>{if(this._docContainer=o,!o.getContentRef().current)throw new Error("container is not ready")});M(this,"changeLocale",o=>{this._localeService.setLocale(o)});this._localeService=o,this._injector=t,this._configService=e}getUIConfig(){return{injector:this._injector,config:this._configService.getConfig($n),changeLocale:this.changeLocale,getComponent:this.getComponent}}getContentRef(){return this._docContainer.getContentRef()}UIDidMount(o){if(this._docContainer)return o(this._docContainer)}getDocContainer(){return this._docContainer}};Ro=Fc([Oo(0,a.Inject(a.LocaleService)),Oo(1,a.Inject(a.Injector)),Oo(2,a.IConfigService)],Ro);var kc=Object.getOwnPropertyDescriptor,Hc=(o,t,e,n)=>{for(var i=n>1?void 0:n?kc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Vc=(o,t)=>(e,n)=>t(e,n,o);let un=class extends a.RxDisposable{constructor(t){super();M(this,"_docContainerController");this._injector=t,this._docContainerController=this._injector.createInstance(Ro)}};un=Hc([Vc(0,a.Inject(a.Injector))],un);var Wc=Object.getOwnPropertyDescriptor,Kc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Wc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},cs=(o,t)=>(e,n)=>t(e,n,o);let hn=class extends a.Disposable{constructor(o,t){super(),this._docAutoFormatService=o,this._renderManagerService=t,this._initListTabAutoFormat(),this._initListSpaceAutoFormat(),this._initDefaultEnterFormat(),this._initExitListAutoFormat()}_initListTabAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:xe.id,match:o=>{var i;const{selection:t,paragraphs:e,unit:n}=o;if(e.length===1&&t.startOffset===e[0].paragraphStart&&e[0].bullet){const s=(i=n.getBody())==null?void 0:i.paragraphs,r=s==null?void 0:s.filter(c=>{var A;return((A=c.bullet)==null?void 0:A.listId)===e[0].bullet.listId});return(r==null?void 0:r.findIndex(c=>c.startIndex===e[0].startIndex))!==0}else if(e.length>1&&e.some(s=>s.bullet))return!0;return!1},getMutations(o){const t=o.commandParams;return[{id:kt.id,params:{type:t!=null&&t.shift?gt.decrease:gt.increase}}]},priority:100})),this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:xe.id,match:o=>{const{selection:t,unit:e}=o,{startNodePosition:n,endNodePosition:i}=t,s=this._renderManagerService.getRenderById(e.getUnitId()),r=s==null?void 0:s.with(x.DocSkeletonManagerService).getSkeleton();return r==null?!1:!!(n&&i&&$o(r,n,i)||n&&!i&&n.path.indexOf("cells")>-1)},getMutations(o){const t=o.commandParams;return[{id:bo.id,params:{shift:!!(t!=null&&t.shift)}}]},priority:99}))}_initListSpaceAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:ut.id,match:o=>{var s;const{selection:t,paragraphs:e,unit:n}=o;if(!t.collapsed||e.length!==1)return!1;const i=(s=n.getBody())==null?void 0:s.dataStream.slice(e[0].paragraphStart,e[0].paragraphEnd-1);return!!(i&&Object.keys(a.QuickListTypeMap).includes(i))},getMutations(o){var i;const{paragraphs:t,unit:e}=o,n=(i=e.getBody())==null?void 0:i.dataStream.slice(t[0].paragraphStart,t[0].paragraphEnd-1);if(n&&Object.keys(a.QuickListTypeMap).includes(n)){const s=a.QuickListTypeMap[n];return[{id:Zn.id,params:{listType:s,paragraph:t[0]}}]}return[]}}))}_initExitListAutoFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:qe.id,match:o=>{const{paragraphs:t}=o;return!!(t.length===1&&t[0].bullet&&t[0].paragraphStart===t[0].paragraphEnd)},getMutations:o=>{const t=o.paragraphs[0].bullet;return t?t.nestingLevel>0?[{id:kt.id,params:{type:gt.decrease}}]:[{id:Ze.id,params:{listType:o.paragraphs[0].bullet.listType}}]:[]}}))}_initDefaultEnterFormat(){this.disposeWithMe(this._docAutoFormatService.registerAutoFormat({id:qe.id,match:()=>!0,getMutations(){return[{id:fo.id}]},priority:-9999}))}};hn=Kc([cs(0,a.Inject(T.DocAutoFormatService)),cs(1,B.IRenderManagerService)],hn);function zc(o){return o.rows[0].cells[0].sections[0].columns[0].lines[0]}function jc(o){const t=o.rows[o.rows.length-1],e=t.cells[t.cells.length-1];return B.getLastLine(e)}function Gc(o,t){const{ed:e}=o,{skeTables:n}=t;let i=null;for(const s of n.values())if(s.st===e+1){i=s;break}return i}function As(o){const t=o==null?void 0:o.parent;let e=null,n=null;if(o==null||t==null)return{lineBeforeTable:e,lineAfterTable:n};const{st:i,ed:s}=o,r=t.type===B.DocumentSkeletonPageType.CELL?[t]:t.parent.pages;return B.lineIterator(r,c=>{c.st===s+1?n=c:c.ed===i-1&&(e=c)}),{lineBeforeTable:e,lineAfterTable:n}}function ls(o){return o.sections[0].columns[0].lines.length===0}function ds(o){var r,c;const t=o.parent,e=t==null?void 0:t.parent,n=e==null?void 0:e.tableId;if(t==null||e==null)return;const i=t.cells.indexOf(o);let s=e.rows[e.rows.indexOf(t)+1];if(s==null&&n.indexOf("#-#")){const[A,l]=n.split("#-#"),d=(c=(r=e.parent)==null?void 0:r.parent)==null?void 0:c.pages,u=`${A}#-#${Number.parseInt(l)+1}`;if(d)for(const g of d){const{skeTables:h}=g;if(h.has(u)){const m=h.get(u);if(m!=null&&m.rows.length){s=m.rows.find(f=>!f.isRepeatRow);break}}}}if(s!=null){const A=s.cells[i];return ls(A)?ds(A):A}}function us(o){var s,r;const t=o.parent,e=t==null?void 0:t.parent;if(t==null||e==null)return;let n=e.rows[e.rows.indexOf(t)-1];const i=t.cells.indexOf(o);if((n==null||n.isRepeatRow)&&e.tableId.indexOf("#-#")){const[c,A]=e.tableId.split("#-#"),l=(r=(s=e.parent)==null?void 0:s.parent)==null?void 0:r.pages,d=`${c}#-#${Number.parseInt(A)-1}`;if(l)for(const u of l){const{skeTables:g}=u;if(g.has(d)){const h=g.get(d);if(h!=null&&h.rows.length){n=h.rows[h.rows.length-1];break}}}}if(n!=null){const c=n.cells[i];return ls(c)?us(c):c}}function Xc(o,t){const{st:e}=o,{skeTables:n}=t;let i=null;for(const s of n.values())if(s.ed===e-1){i=s;break}return i}function Yc(o){return o.sections[0].columns[0].lines[0]}function qc(o){const t=B.getLastColumn(o);return t.lines[t.lines.length-1]}var Jc=Object.getOwnPropertyDescriptor,Zc=(o,t,e,n)=>{for(var i=n>1?void 0:n?Jc(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},gn=(o,t)=>(e,n)=>t(e,n,o);let mn=class extends a.Disposable{constructor(t,e,n,i){super();M(this,"_onInputSubscription");this._univerInstanceService=t,this._renderManagerService=e,this._textSelectionManagerService=n,this._commandService=i,this._commandExecutedListener()}dispose(){var t;super.dispose(),(t=this._onInputSubscription)==null||t.unsubscribe()}_commandExecutedListener(){const t=[Ee.id,ve.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(!t.includes(e.id))return;const n=e.params;switch(e.id){case Ee.id:return this._handleMoveCursor(n.direction);case ve.id:return this._handleShiftMoveSelection(n.direction);default:throw new Error("Unknown command")}}))}_handleShiftMoveSelection(t){var C,y,R;const e=this._textSelectionManagerService.getActiveTextRange(),n=this._textSelectionManagerService.getTextRanges(),i=this._univerInstanceService.getCurrentUniverDocInstance();if(i==null)return;const s=(C=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:C.with(x.DocSkeletonManagerService).getSkeleton(),r=this._getDocObject();if(e==null||s==null||r==null)return;const{startOffset:c,endOffset:A,style:l,collapsed:d,direction:u,segmentId:g,startNodePosition:h,endNodePosition:m,segmentPage:f}=e;if(n.length>1){let v=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY;for(const O of n)v=Math.min(v,O.startOffset),b=Math.max(b,O.endOffset);this._textSelectionManagerService.replaceTextRanges([{startOffset:t===a.Direction.LEFT||t===a.Direction.UP?b:v,endOffset:t===a.Direction.LEFT||t===a.Direction.UP?v:b,style:l}],!1);return}const p=d||u===a.RANGE_DIRECTION.FORWARD?c:A;let S=d||u===a.RANGE_DIRECTION.FORWARD?A:c;const I=(y=i.getSelfOrHeaderFooterModel(g).getBody().dataStream.length)!=null?y:Number.POSITIVE_INFINITY;if(t===a.Direction.LEFT||t===a.Direction.RIGHT){const v=s.findNodeByCharIndex(S-1,g,f),b=s.findNodeByCharIndex(S,g,f);S=t===a.Direction.RIGHT?S+b.count:S-((R=v==null?void 0:v.count)!=null?R:0),S=Math.min(I-2,Math.max(0,S)),this._textSelectionManagerService.replaceTextRanges([{startOffset:p,endOffset:S,style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),S)}else{const v=s.findNodeByCharIndex(S,g,f),b=r.document.getOffsetConfig(),O=d?h:u===a.RANGE_DIRECTION.FORWARD?m:h,_=this._getTopOrBottomPosition(s,v,O,t===a.Direction.DOWN,!0);if(_==null){const D=t===a.Direction.UP?0:I-2;if(D===S)return;this._textSelectionManagerService.replaceTextRanges([{startOffset:p,endOffset:D,style:l}],!1);return}const w=new Ie(b,s).getRangePointData(_,_).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{startOffset:p,endOffset:w.endOffset,style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),w.endOffset)}}_handleMoveCursor(t){var I,C,y,R;const e=this._textSelectionManagerService.getActiveTextRange(),n=this._textSelectionManagerService.getTextRanges(),i=this._univerInstanceService.getCurrentUniverDocInstance();if(i==null)return!1;const s=(I=this._renderManagerService.getRenderById(i.getUnitId()))==null?void 0:I.with(x.DocSkeletonManagerService).getSkeleton(),r=this._getDocObject();if(e==null||s==null||r==null||n==null)return;const{startOffset:c,endOffset:A,style:l,collapsed:d,segmentId:u,startNodePosition:g,endNodePosition:h,segmentPage:m}=e,f=i.getSelfOrHeaderFooterModel(u).getBody();if(f==null)return;const p=(C=f.dataStream.length)!=null?C:Number.POSITIVE_INFINITY,S=(y=i.getCustomRanges())!=null?y:[];if(t===a.Direction.LEFT||t===a.Direction.RIGHT){let v;if(!e.collapsed||n.length>1){let _=Number.POSITIVE_INFINITY,w=Number.NEGATIVE_INFINITY;for(const D of n)_=Math.min(_,D.startOffset),w=Math.max(w,D.endOffset);v=t===a.Direction.LEFT?_:w}else{const _=s.findNodeByCharIndex(c-1,u,m),w=s.findNodeByCharIndex(c,u,m),D=s.findNodeByCharIndex(c+1,u,m);t===a.Direction.LEFT?v=Math.max(0,c-((R=_==null?void 0:_.count)!=null?R:1)):v=Math.min(p-2,A+w.count+((D==null?void 0:D.streamType)===a.DataStreamTreeTokenType.SECTION_BREAK?1:0))}const b=[a.DataStreamTreeTokenType.TABLE_START,a.DataStreamTreeTokenType.TABLE_END,a.DataStreamTreeTokenType.TABLE_ROW_START,a.DataStreamTreeTokenType.TABLE_ROW_END,a.DataStreamTreeTokenType.TABLE_CELL_START,a.DataStreamTreeTokenType.TABLE_CELL_END,a.DataStreamTreeTokenType.SECTION_BREAK];if(t===a.Direction.LEFT)for(;b.includes(f.dataStream[v]);)v--;else for(;b.includes(f.dataStream[v]);)v++;S.filter(_=>_.wholeEntity&&_.startIndex<v&&_.endIndex>=v).forEach(_=>{t===a.Direction.LEFT?v=Math.min(_.startIndex,v):v=Math.max(_.endIndex+1,v)}),this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,v),endOffset:Math.max(0,v),style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),v)}else{const v=s.findNodeByCharIndex(c,u,m),b=s.findNodeByCharIndex(A,u,m),O=r.document.getOffsetConfig(),_=this._getTopOrBottomPosition(s,t===a.Direction.UP||d?v:b,t===a.Direction.UP||d?g:h,t===a.Direction.DOWN);if(_==null){let D;d?D=t===a.Direction.UP?0:p-2:D=t===a.Direction.UP?c:A,this._textSelectionManagerService.replaceTextRanges([{startOffset:Math.max(0,D),endOffset:Math.max(0,D),style:l}],!1);return}const w=new Ie(O,s).getRangePointData(_,_).cursorList[0];this._textSelectionManagerService.replaceTextRanges([{...w,style:l}],!1),this._scrollToFocusNodePosition(i.getUnitId(),w.endOffset)}}_getTopOrBottomPosition(t,e,n,i,s=!1){if(e==null||n==null)return;const r=this._getGlyphLeftOffsetInLine(e),c=this._getNextOrPrevLine(e,i,s);if(c==null)return;const A=this._matchPositionByLeftOffset(t,c,r,n);if(A!=null)return{...A,isBack:!0}}_getGlyphLeftOffsetInLine(t){const e=t.parent;if(e==null)return Number.NEGATIVE_INFINITY;const n=e.left,{left:i}=t;return n+i}_matchPositionByLeftOffset(t,e,n,i){const s={distance:Number.POSITIVE_INFINITY};for(const c of e.divides){const A=c.left;for(const l of c.glyphGroup){if(l.streamType===a.DataStreamTreeTokenType.SECTION_BREAK)continue;const{left:d}=l,u=A+d,g=Math.abs(n-u);g<s.distance&&(s.glyph=l,s.distance=g)}}if(s.glyph==null)return;const{segmentPage:r}=i;return t.findPositionByGlyph(s.glyph,r)}_getNextOrPrevLine(t,e,n=!1){var f,p,S,I,C,y,R,v,b,O,_,w;const i=t.parent,s=i==null?void 0:i.parent,r=s==null?void 0:s.parent,c=r==null?void 0:r.parent,A=c==null?void 0:c.parent;if(i==null||s==null||r==null||c==null||A==null)return;const l=r.lines.indexOf(s);if(l===-1)return;let d;if(A.type===B.DocumentSkeletonPageType.CELL&&n){const D=hs(A,e);if(D)return D}if(e===!0){d=r.lines[l+1];const D=Gc(s,A);if(D){const U=zc(D);U&&(d=U)}}else{d=r.lines[l-1];const D=Xc(s,A);if(D){const U=jc(D);U&&(d=U)}}if(d!=null)return d;const u=c.columns.indexOf(r);if(u===-1)return;if(e===!0)d=(f=c.columns[u+1])==null?void 0:f.lines[0];else{const D=(S=(p=c.columns)==null?void 0:p[u-1])==null?void 0:S.lines;d=D==null?void 0:D[D.length-1]}if(d!=null)return d;const g=A.sections.indexOf(c);if(g===-1)return;if(e===!0)d=(C=(I=A.sections[g-1])==null?void 0:I.columns[0])==null?void 0:C.lines[0];else{const D=(R=(y=A.sections)==null?void 0:y[g-1])==null?void 0:R.columns,U=D==null?void 0:D[D.length-1],P=U==null?void 0:U.lines;d=P==null?void 0:P[P.length-1]}if(d!=null)return d;if(A.type===B.DocumentSkeletonPageType.CELL)return hs(A,e);const h=A.parent;if(h==null)return;const m=h.pages.indexOf(A);if(m!==-1){if(e===!0)d=(O=(b=(v=h.pages[m+1])==null?void 0:v.sections[0])==null?void 0:b.columns[0])==null?void 0:O.lines[0];else{const D=(_=h.pages[m-1])==null?void 0:_.sections;if(D==null)return;const U=(w=D[D.length-1])==null?void 0:w.columns,P=U[U.length-1],k=P==null?void 0:P.lines;d=k[k.length-1]}if(d!=null)return d}}_scrollToFocusNodePosition(t,e){var i;const n=(i=this._renderManagerService.getRenderById(t))==null?void 0:i.with(T.DocBackScrollRenderController);n!=null&&n.scrollToRange({startOffset:e,endOffset:e,collapsed:!0})}_getDocObject(){return Ko(this._univerInstanceService,this._renderManagerService)}};mn=Zc([gn(0,a.IUniverInstanceService),gn(1,B.IRenderManagerService),gn(2,a.Inject(x.DocSelectionManagerService)),gn(3,a.ICommandService)],mn);function hs(o,t){var n,i;let e=null;if(t===!0){const s=ds(o);if(s)e=Yc(s);else{const r=(n=o.parent)==null?void 0:n.parent,{lineAfterTable:c}=As(r);c&&(e=c)}}else{const s=us(o);if(s)e=qc(s);else{const r=(i=o.parent)==null?void 0:i.parent,{lineBeforeTable:c}=As(r);c&&(e=c)}}return e}const We={create:"univer-create",createItem:"univer-create-item",createLabel:"univer-create-label",createInput:"univer-create-input"},$c=({handleRowColChange:o,tableCreateParams:t})=>{const e=E.useDependency(a.LocaleService),[n,i]=F.useState(3),[s,r]=F.useState(5);function c(A,l){i(A),r(l),o(A,l)}return F.useEffect(()=>{i(t.rowCount),r(t.colCount)},[t]),L.jsxs("div",{className:We.create,children:[L.jsxs("div",{className:We.createItem,children:[L.jsx("span",{className:We.createLabel,children:e.t("toolbar.table.rowCount")}),L.jsx(ne.InputNumber,{min:1,max:20,precision:0,value:n,onChange:A=>{c(A,s)},className:We.createInput})]}),L.jsxs("div",{className:We.createItem,children:[L.jsx("span",{className:We.createLabel,children:e.t("toolbar.table.colCount")}),L.jsx(ne.InputNumber,{min:1,max:20,precision:0,value:s,onChange:A=>{c(n,A)},className:We.createInput})]})]})};var eA=Object.getOwnPropertyDescriptor,tA=(o,t,e,n)=>{for(var i=n>1?void 0:n?eA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},gs=(o,t)=>(e,n)=>t(e,n,o);let fn=class extends a.Disposable{constructor(o,t){super(),this._commandService=o,this._componentManager=t,this._initialize()}_initialize(){this._init(),this._registerCommands(),this._initCustomComponents()}_registerCommands(){[An].forEach(o=>this.disposeWithMe(this._commandService.registerCommand(o)))}_initCustomComponents(){const o=this._componentManager;this.disposeWithMe(o.register(es,$c))}_init(){}};fn=tA([gs(0,a.ICommandService),gs(1,a.Inject(E.ComponentManager))],fn);const Do=4;var nA=Object.getOwnPropertyDescriptor,oA=(o,t,e,n)=>{for(var i=n>1?void 0:n?nA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},pn=(o,t)=>(e,n)=>t(e,n,o);function ms(o,t){const e=fs(o.left,o.top,t),n=fs(o.right,o.bottom,t);return{left:e.x,top:e.y,right:n.x,bottom:n.y}}function fs(o,t,e){const{scaleX:n,scaleY:i}=e.getAncestorScale(),s=e.getViewport(he.VIEW_MAIN);if(!s)return{x:o,y:t};const{viewportScrollX:r,viewportScrollY:c}=s,A=(o-r)*n,l=(t-c)*i;return{x:A,y:l}}function ps(o,t,e){const{scaleX:n,scaleY:i}=e.getAncestorScale(),s=e.getViewport(he.VIEW_MAIN);if(!s)return{x:o,y:t};const{viewportScrollX:r,viewportScrollY:c}=s,A=o/n+r,l=t/i+c;return{x:A,y:l}}const Sn=(o,t)=>{const{scene:e,mainComponent:n,engine:i}=t,s=t.with(x.DocSkeletonManagerService).getSkeleton(),r=s.findNodePositionByCharIndex(o.startOffset,!0,o.segmentId,o.segmentPage),c=s.findNodePositionByCharIndex(o.endOffset,!0,o.segmentId,o.segmentPage),A=n;if(!c||!r)return;const l=A.getOffsetConfig(),{docsLeft:d,docsTop:u}=l,g=i.getCanvasElement(),h=g.getBoundingClientRect(),m=B.pxToNum(g.style.width),{top:f,left:p,width:S}=h,I=S/m,{scaleX:C,scaleY:y}=e.getAncestorScale(),R=new Ie(l,s),{borderBoxPointGroup:v}=R.getRangePointData(r,c);return Pt(v).map(_=>ms(_,e)).map(_=>({left:(_.left+d*C)*I+p,right:(_.right+d*C)*I+p,top:(_.top+u*y)*I+f,bottom:(_.bottom+u*y)*I+f}))};T.DocCanvasPopManagerService=class extends a.Disposable{constructor(t,e,n,i){super(),this._globalPopupManagerService=t,this._renderManagerService=e,this._univerInstanceService=n,this._commandService=i}_createObjectPositionObserver(t,e){const n=()=>{const{scene:A,engine:l}=e,{left:d,top:u,width:g,height:h}=t,m={left:d,right:d+g,top:u,bottom:u+h},f=l.getCanvasElement(),p=f.getBoundingClientRect(),S=B.pxToNum(f.style.width),I=ms(m,A),{top:C,left:y,width:R}=p,v=R/S;return{left:I.left*v+y,right:I.right*v+y,top:I.top*v+C,bottom:I.bottom*v+C}},i=n(),s=new N.BehaviorSubject(i),r=new a.DisposableCollection;r.add(this._commandService.onCommandExecuted(A=>{if(A.id===ue.id||A.id===x.RichTextEditingMutation.id){const l=n();l&&s.next(l)}}));const c=e.scene.getViewport(he.VIEW_MAIN);return c&&r.add(c.onScrollAfter$.subscribeEvent(()=>{s.next(n())})),{position:i,position$:s,disposable:r}}_createRangePositionObserver(t,e){var c;const n=(c=Sn(t,e))!=null?c:[],i=new N.BehaviorSubject(n),s=new a.DisposableCollection;s.add(this._commandService.onCommandExecuted(A=>{if((A.id===ue.id||A.id===x.RichTextEditingMutation.id)&&A.params.unitId===e.unitId){const d=Sn(t,e);d&&i.next(d)}}));const r=e.scene.getViewport(he.VIEW_MAIN);return r&&s.add(r.onScrollAfter$.subscribeEvent(()=>{const A=Sn(t,e);A&&i.next(A)})),{positions:n,positions$:i,disposable:s}}attachPopupToObject(t,e,n){const i=this._renderManagerService.getRenderById(n);if(!i)throw new Error(`Current render not found, unitId: ${n}`);const{position:s,position$:r,disposable:c}=this._createObjectPositionObserver(t,i),A=this._globalPopupManagerService.addPopup({...e,unitId:n,subUnitId:"default",anchorRect:s,anchorRect$:r,canvasElement:i.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(A),r.complete(),c.dispose()}}}attachPopupToRange(t,e,n){if(!this._univerInstanceService.getUnit(n))throw new Error(`Document not found, unitId: ${n}`);const{direction:s="top",multipleDirection:r}=e,c=this._renderManagerService.getRenderById(n);if(!c)throw new Error(`Current render not found, unitId: ${n}`);const{positions:A,positions$:l,disposable:d}=this._createRangePositionObserver(t,c),u=l.pipe(N.map(h=>s.includes("top")?h[0]:h[h.length-1])),g=this._globalPopupManagerService.addPopup({...e,unitId:n,subUnitId:"default",anchorRect:s.includes("top")?A[0]:A[A.length-1],anchorRect$:u,excludeRects:A,excludeRects$:l,direction:s.includes("top")||s.includes("bottom")?A.length>1?r:s:"bottom",canvasElement:c.engine.getCanvasElement()});return{dispose:()=>{this._globalPopupManagerService.removePopup(g),l.complete(),d.dispose()},canDispose:()=>this._globalPopupManagerService.activePopupId!==g}}},T.DocCanvasPopManagerService=oA([pn(0,a.Inject(E.ICanvasPopupService)),pn(1,B.IRenderManagerService),pn(2,a.IUniverInstanceService),pn(3,a.ICommandService)],T.DocCanvasPopManagerService);var iA=Object.getOwnPropertyDescriptor,sA=(o,t,e,n)=>{for(var i=n>1?void 0:n?iA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},aA=(o,t)=>(e,n)=>t(e,n,o);const rA=(o,t,e,n)=>{var g,h,m,f,p;const i=e.findNodePositionByCharIndex(o.startOffset,!0,o.segmentId,n),s=e.getSkeletonData();let r=o.endOffset;if(o.segmentId){const S=(p=Array.from((h=(g=s==null?void 0:s.skeFooters.get(o.segmentId))==null?void 0:g.values())!=null?h:[])[0])!=null?p:Array.from((f=(m=s==null?void 0:s.skeHeaders.get(o.segmentId))==null?void 0:m.values())!=null?f:[])[0];S&&(r=Math.min(S.ed,r))}const c=e.findNodePositionByCharIndex(r,!0,o.segmentId,n);if(!c||!i)return;const A=t.getOffsetConfig(),l=new Ie(A,e),{borderBoxPointGroup:d}=l.getRangePointData(i,c);return Pt(d).map(S=>({top:S.top+A.docsTop-Do,bottom:S.bottom+A.docsTop+Do,left:S.left+A.docsLeft,right:S.right+A.docsLeft}))},cA=(o,t,e,n=-1)=>{const i=e.findPositionByGlyph(o,n);if(!i)return;const s=t.getOffsetConfig(),r={...i,isBack:!0},c=new Ie(s,e),{borderBoxPointGroup:A}=c.getRangePointData(r,r),d=Pt(A)[0];return{top:d.top+s.docsTop,bottom:d.bottom+s.docsTop,left:d.left+s.docsLeft,right:d.left+s.docsLeft+o.width}};T.DocEventManagerService=class extends a.Disposable{constructor(e,n){super();M(this,"_hoverCustomRanges$",new N.BehaviorSubject([]));M(this,"hoverCustomRanges$",this._hoverCustomRanges$.pipe(N.distinctUntilChanged((e,n)=>e.length===n.length&&e.every((i,s)=>n[s].range.rangeId===i.range.rangeId&&n[s].segmentId===i.segmentId&&n[s].segmentPageIndex===i.segmentPageIndex&&n[s].range.startIndex===i.range.startIndex))));M(this,"_clickCustomRanges$",new N.Subject);M(this,"clickCustomRanges$",this._clickCustomRanges$.asObservable());M(this,"_hoverBullet$",new N.Subject);M(this,"hoverBullet$",this._hoverBullet$.pipe(N.distinctUntilChanged((e,n)=>(e==null?void 0:e.paragraph.startIndex)===(n==null?void 0:n.paragraph.startIndex)&&(e==null?void 0:e.segmentId)===(n==null?void 0:n.segmentId)&&(e==null?void 0:e.segmentPageIndex)===(n==null?void 0:n.segmentPageIndex))));M(this,"_clickBullet$",new N.Subject);M(this,"clickBullets$",this._clickBullet$.asObservable());M(this,"_customRangeDirty",!0);M(this,"_bulletDirty",!0);M(this,"_customRangeBounds",[]);M(this,"_bulletBounds",[]);this._context=e,this._docSkeletonManagerService=n,this._initResetDirty(),this._initEvents(),this._initPointer()}get _skeleton(){return this._docSkeletonManagerService.getSkeleton()}get _documents(){return this._context.mainComponent}dispose(){this._hoverCustomRanges$.complete(),this._clickCustomRanges$.complete(),super.dispose()}_initPointer(){let e=B.CURSOR_TYPE.TEXT;this.disposeWithMe(this.hoverCustomRanges$.subscribe(n=>{n.length?(e=this._context.scene.getCursor(),this._context.scene.setCursor(B.CURSOR_TYPE.POINTER)):this._context.scene.setCursor(e)}))}_initResetDirty(){this.disposeWithMe(this._skeleton.dirty$.subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0})),this.disposeWithMe(a.fromEventSubject(this._context.engine.onTransformChange$).pipe(N.filter(e=>e.type===B.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize)).subscribe(()=>{this._customRangeDirty=!0,this._bulletDirty=!0}))}_initEvents(){this.disposeWithMe(a.fromEventSubject(this._context.scene.onPointerMove$).pipe(N.throttleTime(30)).subscribe(i=>{this._hoverCustomRanges$.next(this._calcActiveRanges(i)),this._hoverBullet$.next(this._calcActiveBullet(i))})),this.disposeWithMe(this._context.scene.onPointerEnter$.subscribeEvent(()=>{this._hoverBullet$.next(null),this._hoverCustomRanges$.next([])}));const e=a.fromEventSubject(this._context.mainComponent.onPointerDown$),n=a.fromEventSubject(this._context.scene.onPointerUp$);this.disposeWithMe(e.pipe(N.switchMap(i=>n.pipe(N.take(1),N.map(s=>({down:i,up:s})))),N.filter(({down:i,up:s})=>i.target===s.target&&s.timeStamp-i.timeStamp<300)).subscribe(({down:i})=>{if(i.button===2)return;const s=this._calcActiveRanges(i);s.length&&this._clickCustomRanges$.next(s.pop());const r=this._calcActiveBullet(i);r&&this._clickBullet$.next(r)}))}_buildCustomRangeBoundsBySegment(e,n=-1){var r,c,A;const i=(A=(c=(r=this._context.unit.getSelfOrHeaderFooterModel(e))==null?void 0:r.getBody())==null?void 0:c.customRanges)!=null?A:[],s=[];return i.forEach(l=>{const d={startOffset:l.startIndex,endOffset:l.endIndex+1,segmentId:e},u=rA(d,this._documents,this._skeleton,n);if(!u)return null;s.push({customRange:l,rects:u,segmentId:e,segmentPageIndex:n})}),s}_buildCustomRangeBounds(){var n;if(!this._customRangeDirty)return;this._customRangeDirty=!1;const e=[];e.push(...this._buildCustomRangeBoundsBySegment()),(n=this._skeleton.getSkeletonData())==null||n.pages.forEach((i,s)=>{i.headerId&&e.push(...this._buildCustomRangeBoundsBySegment(i.headerId,s)),i.footerId&&e.push(...this._buildCustomRangeBoundsBySegment(i.footerId,s))}),this._customRangeBounds=e}_calcActiveRanges(e){this._buildCustomRangeBounds();const{offsetX:n,offsetY:i}=e,{x:s,y:r}=ps(n,i,this._context.scene);return this._customRangeBounds.filter(A=>A.rects.some(l=>{const{left:d,right:u,top:g,bottom:h}=l;return s>=d&&s<=u&&r>=g&&r<=h})).map(A=>({segmentId:A.segmentId,range:A.customRange,segmentPageIndex:A.segmentPageIndex,rects:A.rects}))}_buildBulletBoundsBySegment(e,n=-1){var l,d,u,g,h;const i=(l=this._context.unit.getSelfOrHeaderFooterModel(e))==null?void 0:l.getBody(),s=((d=i==null?void 0:i.paragraphs)!=null?d:[]).filter(m=>m.bullet&&m.bullet.listType.indexOf("CHECK_LIST")===0),r=[],c=this._skeleton.getSkeletonData();if(!c)return r;const A=m=>{var f,p,S;for(const I of m){const C=[...I.sections];if(I.skeTables){const y=Array.from(I.skeTables.values());C.push(...y.map(R=>R.rows.map(v=>v.cells.map(b=>b.sections))).flat(4))}for(const y of C)for(const R of y.columns)for(const v of R.lines)if(v.paragraphStart){const b=s.find(O=>O.startIndex===v.paragraphIndex);if(b){const O=v,_=(S=(p=(f=O==null?void 0:O.divides)==null?void 0:f[0])==null?void 0:p.glyphGroup)==null?void 0:S[0];if(!_)continue;const w=cA(_,this._documents,this._skeleton,n);if(!w)continue;r.push({rect:w,segmentId:e,segmentPageIndex:n,paragraph:b})}}}return r};if(e){const m=(h=(u=c.skeFooters.get(e))==null?void 0:u.values())!=null?h:(g=c.skeHeaders.get(e))==null?void 0:g.values();return m?A(Array.from(m)):r}return A(c.pages)}_buildBulletBounds(){var e;this._bulletDirty&&(this._bulletDirty=!1,this._bulletBounds=[],this._bulletBounds.push(...this._buildBulletBoundsBySegment()),(e=this._skeleton.getSkeletonData())==null||e.pages.forEach((n,i)=>{n.headerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(n.headerId,i)),n.footerId&&this._bulletBounds.push(...this._buildBulletBoundsBySegment(n.footerId,i))}))}_calcActiveBullet(e){this._buildBulletBounds();const{offsetX:n,offsetY:i}=e,{x:s,y:r}=ps(n,i,this._context.scene);return this._bulletBounds.find(A=>{const{left:l,right:d,top:u,bottom:g}=A.rect;return s>=l&&s<=d&&r>=u&&r<=g})}},T.DocEventManagerService=sA([aA(1,a.Inject(x.DocSkeletonManagerService))],T.DocEventManagerService);var AA=Object.getOwnPropertyDescriptor,lA=(o,t,e,n)=>{for(var i=n>1?void 0:n?AA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},In=(o,t)=>(e,n)=>t(e,n,o);let Bo=class extends a.Disposable{constructor(o,t,e,n,i){super(),this._context=o,this._docSkeletonManagerService=t,this._commandService=e,this._docEventManagerService=n,this._textSelectionManagerService=i,this._initPointerDownObserver(),this._initHoverCursor()}_initPointerDownObserver(){this._docEventManagerService.clickBullets$.subscribe(o=>{const t=this._textSelectionManagerService.getTextRanges();this._commandService.executeCommand(Vt.id,{index:o.paragraph.startIndex,segmentId:o.segmentId,textRanges:t})})}_initHoverCursor(){this.disposeWithMe(this._docEventManagerService.hoverBullet$.subscribe(o=>{o?this._context.mainComponent.setCursor(B.CURSOR_TYPE.POINTER):this._context.mainComponent.setCursor(B.CURSOR_TYPE.TEXT)}))}_getTransformCoordForDocumentOffset(o,t,e,n){const{documentTransform:i}=o.getOffsetConfig(),s=t.transformVector2SceneCoord(B.Vector2.FromArray([e,n]));if(s)return i.clone().invert().applyPoint(s)}};Bo=lA([In(1,a.Inject(x.DocSkeletonManagerService)),In(2,a.ICommandService),In(3,a.Inject(T.DocEventManagerService)),In(4,a.Inject(x.DocSelectionManagerService))],Bo);var dA=Object.getOwnPropertyDescriptor,uA=(o,t,e,n)=>{for(var i=n>1?void 0:n?dA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Rt=(o,t)=>(e,n)=>t(e,n,o);let En=class extends a.RxDisposable{constructor(o,t,e,n,i,s){super(),this._context=o,this._commandService=t,this._docClipboardService=e,this._docSelectionRenderService=n,this._contextService=i,this._editorService=s,this._init()}_init(){this._initLegacyPasteCommand()}_initLegacyPasteCommand(){var o;(o=this._docSelectionRenderService)==null||o.onPaste$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>{var c,A,l;if(!Zt(this._contextService))return;t.event.preventDefault();const e=t.event;let n=(c=e.clipboardData)==null?void 0:c.getData(E.HTML_CLIPBOARD_MIME_TYPE);const i=(A=e.clipboardData)==null?void 0:A.getData(E.PLAIN_TEXT_CLIPBOARD_MIME_TYPE),s=[...((l=e.clipboardData)==null?void 0:l.items)||[]].filter(d=>E.imageMimeTypeSet.has(d.type)).map(d=>d.getAsFile()).filter(d=>!!d);this._editorService.getEditor(this._context.unitId)&&(n!=null?n:"").indexOf("</table>")>-1&&(n=""),this._docClipboardService.legacyPaste({html:n,text:i,files:s})})}};En=uA([Rt(1,a.ICommandService),Rt(2,ot),Rt(3,a.Inject(T.DocSelectionRenderService)),Rt(4,a.IContextService),Rt(5,ce)],En);var hA=Object.getOwnPropertyDescriptor,gA=(o,t,e,n)=>{for(var i=n>1?void 0:n?hA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Ss=(o,t)=>(e,n)=>t(e,n,o);const mA=[a.DEFAULT_EMPTY_DOCUMENT_VALUE,a.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY,a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY,a.DOCS_ZEN_EDITOR_UNIT_ID_KEY];let Mo=class extends a.Disposable{constructor(o,t,e){super(),this._context=o,this._contextMenuService=t,this._commandService=e,mA.includes(this._context.unitId)||(this._initPointerDown(),this._initEditChange())}_initPointerDown(){var e,n;const t=((n=(e=this._context)==null?void 0:e.mainComponent)==null?void 0:n.onPointerDown$).subscribeEvent(i=>{i.button===2&&this._contextMenuService.triggerContextMenu(i,E.ContextMenuPosition.MAIN_AREA)});this.disposeWithMe(t)}_initEditChange(){this.disposeWithMe(this._commandService.onCommandExecuted(o=>{o.id===x.RichTextEditingMutation.id&&this._contextMenuService.visible&&this._contextMenuService.hideContextMenu()}))}};Mo=gA([Ss(1,E.IContextMenuService),Ss(2,a.ICommandService)],Mo);var fA=Object.getOwnPropertyDescriptor,pA=(o,t,e,n)=>{for(var i=n>1?void 0:n?fA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},rt=(o,t)=>(e,n)=>t(e,n,o);let vn=class extends a.Disposable{constructor(t,e,n,i,s,r,c){super();M(this,"_initialEditors",new Set);this._context=t,this._univerInstanceService=e,this._editorService=n,this._commandService=i,this._docSelectionRenderService=s,this._docSkeletonManagerService=r,this._renderManagerService=c,this._initialize()}_initialize(){this._editorService.getAllEditor().forEach(t=>{const e=t.getEditorId();e===this._context.unitId&&(this._initialEditors.has(e)||(this._initialEditors.add(e),this._resize(e)))}),this._commandExecutedListener(),this._initialBlur(),this._initialFocus()}_resize(t){if(t==null)return;const e=this._editorService.getEditor(t);if((e==null?void 0:e.cancelDefaultResizeListener)===!0)return;const n=this._univerInstanceService.getUniverDocInstance(t);if(!n)return;const i=this._docSkeletonManagerService.getSkeleton();if(e==null||e.render==null||i==null||n==null)return;i.calculate();const{marginTop:s=0,marginBottom:r=0,marginLeft:c=0,marginRight:A=0}=n.getSnapshot().documentStyle,{scene:l,mainComponent:d}=e.render;let{actualHeight:u,actualWidth:g}=i.getActualSize();u+=s+r,g+=c+A;const{width:h,height:m}=e.getBoundingClientRect(),f=Math.max(g,h),p=Math.max(u,m);l.transformByState({width:f,height:p}),d==null||d.resize(f,p)}_initialBlur(){this.disposeWithMe(this._editorService.blur$.subscribe(()=>{this._docSelectionRenderService.blur()})),this.disposeWithMe(this._docSelectionRenderService.onBlur$.subscribe(()=>{const{unitId:t}=this._context,e=this._editorService.getEditor(t),n=this._editorService.getFocusEditor();e==null||e.isSheetEditor()||n&&n.getEditorId()===t||t.includes("range_selector")||t.includes("embedding_formula_editor")||this._editorService.blur()}))}_initialFocus(){const t=["univer-formula-search","univer-formula-help","formula-help-decorator","univer-formula-help-param"];this.disposeWithMe(N.fromEvent(window,"mousedown").subscribe(n=>{const s=n.target.classList[0]||"";a.checkForSubstrings(s,t)&&n.stopPropagation()}));const e=new a.DisposableCollection;this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).subscribe(n=>{if(e.dispose(),!n)return;const i=n.getUnitId(),s=this._renderManagerService.getRenderById(i),r=s==null?void 0:s.engine.getCanvas().getCanvasEle();if(r==null)return;const c=N.fromEvent(r,"mousedown").subscribe(A=>{A.stopPropagation()});e.add(c)})),this.disposeWithMe(()=>e.dispose())}_commandExecutedListener(){const t=[x.RichTextEditingMutation.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{if(t.includes(e.id)){const n=e.params,{unitId:i}=n;if(this._editorService.isSheetEditor(i)||i!==this._context.unitId)return;const s=this._editorService.getEditor(i);s&&!s.params.scrollBar&&this._resize(i)}}))}};vn=pA([rt(1,a.IUniverInstanceService),rt(2,ce),rt(3,a.ICommandService),rt(4,a.Inject(T.DocSelectionRenderService)),rt(5,a.Inject(x.DocSkeletonManagerService)),rt(6,B.IRenderManagerService)],vn);var SA=Object.getOwnPropertyDescriptor,IA=(o,t,e,n)=>{for(var i=n>1?void 0:n?SA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Cn=(o,t)=>(e,n)=>t(e,n,o);let xo=class extends a.Disposable{constructor(t,e,n,i,s){super();M(this,"_previousIMEContent","");M(this,"_isCompositionStart",!0);M(this,"_onStartSubscription");M(this,"_onUpdateSubscription");M(this,"_onEndSubscription");this._context=t,this._docSelectionRenderService=e,this._docImeInputManagerService=n,this._docSkeletonManagerService=i,this._commandService=s,this._initialize()}dispose(){var t,e,n;(t=this._onStartSubscription)==null||t.unsubscribe(),(e=this._onUpdateSubscription)==null||e.unsubscribe(),(n=this._onEndSubscription)==null||n.unsubscribe()}_initialize(){this._initialOnCompositionstart(),this._initialOnCompositionUpdate(),this._initialOnCompositionend()}_initialOnCompositionstart(){this._onStartSubscription=this._docSelectionRenderService.onCompositionstart$.subscribe(t=>{if(t==null)return;this._resetIME();const{activeRange:e}=t;e!=null&&this._docImeInputManagerService.setActiveRange(a.Tools.deepClone(e))})}_initialOnCompositionUpdate(){this._onUpdateSubscription=this._docSelectionRenderService.onCompositionupdate$.subscribe(t=>{this._updateContent(t,!0)})}_initialOnCompositionend(){this._onEndSubscription=this._docSelectionRenderService.onCompositionend$.subscribe(t=>{this._updateContent(t,!1)})}async _updateContent(t,e){if(t==null)return;const n=this._context.unitId,i=this._docSkeletonManagerService.getSkeleton(),{event:s,activeRange:r}=t;if(i==null||r==null)return;const A=s.data;A===this._previousIMEContent&&e||(await this._commandService.executeCommand(yo.id,{unitId:n,newText:A,oldTextLen:this._previousIMEContent.length,isCompositionStart:this._isCompositionStart,isCompositionEnd:!e}),e?(this._isCompositionStart&&(this._isCompositionStart=!1),this._previousIMEContent=A):this._resetIME())}_resetIME(){this._previousIMEContent="",this._isCompositionStart=!0,this._docImeInputManagerService.clearUndoRedoMutationParamsCache(),this._docImeInputManagerService.setActiveRange(null)}};xo=IA([Cn(1,a.Inject(T.DocSelectionRenderService)),Cn(2,a.Inject(Ot)),Cn(3,a.Inject(x.DocSkeletonManagerService)),Cn(4,a.ICommandService)],xo);var EA=Object.getOwnPropertyDescriptor,vA=(o,t,e,n)=>{for(var i=n>1?void 0:n?EA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Tn=(o,t)=>(e,n)=>t(e,n,o);let _o=class extends a.Disposable{constructor(t,e,n,i,s){super();M(this,"_onInputSubscription");this._context=t,this._docSelectionRenderService=e,this._docSkeletonManagerService=n,this._commandService=i,this._docMenuStyleService=s,this._init()}dispose(){var t;super.dispose(),(t=this._onInputSubscription)==null||t.unsubscribe()}_init(){this._initialNormalInput()}_initialNormalInput(){this._onInputSubscription=this._docSelectionRenderService.onInput$.subscribe(async t=>{var p,S;if(t==null)return;const{unitId:e}=this._context,{event:n,content:i="",activeRange:s}=t,r=n,c=this._docSkeletonManagerService.getSkeleton();if(r.data==null||c==null||s==null)return;const{segmentId:A}=s,d=this._context.unit.getSelfOrHeaderFooterModel(A).getBody(),u=this._docMenuStyleService.getDefaultStyle(),g=this._docMenuStyleService.getStyleCache(),h=Rn((p=d==null?void 0:d.customRanges)!=null?p:[],s.endOffset,a.SHEET_EDITOR_UNITS.includes(e)),m=xt(d,s.endOffset,u,g,a.SHEET_EDITOR_UNITS.includes(e)),f=Dn((S=d==null?void 0:d.customDecorations)!=null?S:[],s.endOffset);await this._commandService.executeCommand(Xt.id,{unitId:e,body:{dataStream:i,textRuns:m?[{...m,st:0,ed:i.length}]:[],customRanges:h?[{...h,startIndex:0,endIndex:i.length-1}]:[],customDecorations:f.map(I=>({...I,startIndex:0,endIndex:i.length-1}))},range:s,segmentId:A}),i===" "&&await this._commandService.executeCommand(ut.id)})}};_o=vA([Tn(1,a.Inject(T.DocSelectionRenderService)),Tn(2,a.Inject(x.DocSkeletonManagerService)),Tn(3,a.ICommandService),Tn(4,a.Inject(Ce))],_o);class No extends a.Disposable{constructor(t){super(),this._context=t}calculatePagePosition(){var y,R;const t=Se(this._context),n=(R=(y=this._context.unit.getSettings())==null?void 0:y.zoomRatio)!=null?R:1,{document:i,scene:s,docBackground:r}=t,c=s==null?void 0:s.getParent(),{width:A,height:l,pageMarginLeft:d,pageMarginTop:u}=i;if(c==null||A===Number.POSITIVE_INFINITY||l===Number.POSITIVE_INFINITY)return;const{width:g,height:h}=c;let m=0,f=u,p=0,S=0,I=Number.POSITIVE_INFINITY;g>(A+d*2)*n?(m=g/2-A*n/2,m/=n,p=(g-d*2)/n,I=0):(m=d,p=A+d*2,I=(p-g/n)/2),h>l?S=(h-u*2)/n:S=l+u*2,s.resize(p,S),g<=1&&(m=-1e4,f=-1e4),i.translate(m,f),r.translate(m,f);const C=s.getViewport(he.VIEW_MAIN);return I!==Number.POSITIVE_INFINITY&&C!=null&&C.scrollToViewportPos({viewportScrollX:I}),this}}var CA=Object.getOwnPropertyDescriptor,TA=(o,t,e,n)=>{for(var i=n>1?void 0:n?CA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Is=(o,t)=>(e,n)=>t(e,n,o);let Po=class extends a.Disposable{constructor(o,t,e){super(),this._context=o,this._docPageLayoutService=t,this._textSelectionManagerService=e;const n=this._context.unitId;if(a.isInternalEditorID(n)&&n!==a.DOCS_ZEN_EDITOR_UNIT_ID_KEY)return this;this._initResize()}_initResize(){this.disposeWithMe(a.fromEventSubject(this._context.engine.onTransformChange$).pipe(N.filter(o=>o.type===B.TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize),N.throttleTime(0,N.animationFrameScheduler)).subscribe(()=>{this._docPageLayoutService.calculatePagePosition(),this._textSelectionManagerService.refreshSelection()}))}};Po=TA([Is(1,a.Inject(No)),Is(2,a.Inject(x.DocSelectionManagerService))],Po);var yA=Object.getOwnPropertyDescriptor,bA=(o,t,e,n)=>{for(var i=n>1?void 0:n?yA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},ct=(o,t)=>(e,n)=>t(e,n,o);let Uo=class extends a.Disposable{constructor(t,e,n,i,s,r,c){super();M(this,"_loadedMap",new WeakSet);this._context=t,this._commandService=e,this._editorService=n,this._instanceSrv=i,this._docSelectionRenderService=s,this._docSkeletonManagerService=r,this._docSelectionManagerService=c,this._initialize()}_initialize(){this._init(),this._skeletonListener(),this._commandExecutedListener(),this._refreshListener(),this._syncSelection()}_init(){const{unitId:t}=this._context,e=Se(this._context);e==null||e.document==null||this._loadedMap.has(e.document)||(this._initialMain(t),this._loadedMap.add(e.document))}_refreshListener(){this.disposeWithMe(this._docSelectionManagerService.refreshSelection$.subscribe(t=>{if(t==null)return;const{unitId:e,docRanges:n,isEditing:i,options:s}=t;e===this._context.unitId&&(this._docSelectionRenderService.removeAllRanges(),this._docSelectionRenderService.addDocRanges(n,i,s))}))}_syncSelection(){this.disposeWithMe(this._docSelectionRenderService.textSelectionInner$.subscribe(t=>{t!=null&&this._docSelectionManagerService.__replaceTextRangesWithNoRefresh(t,{unitId:this._context.unitId,subUnitId:this._context.unitId})}))}_initialMain(t){const e=Se(this._context),{document:n,scene:i}=e;this.disposeWithMe(n.onPointerEnter$.subscribeEvent(()=>{this._isEditorReadOnly(t)||(n.cursor=B.CURSOR_TYPE.TEXT)})),this.disposeWithMe(n.onPointerLeave$.subscribeEvent(()=>{n.cursor=B.CURSOR_TYPE.DEFAULT,i.resetCursor()})),this.disposeWithMe(n.onPointerDown$.subscribeEvent((s,r)=>{if(this._isEditorReadOnly(t))return;const c=this._instanceSrv.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);(c==null?void 0:c.getUnitId())!==t&&this._instanceSrv.setCurrentUnitForType(t);const A=this._docSkeletonManagerService.getSkeleton(),{offsetX:l,offsetY:d}=s,u=this._getTransformCoordForDocumentOffset(l,d);if(u!=null){const{pageLayoutType:g=B.PageLayoutType.VERTICAL,pageMarginLeft:h,pageMarginTop:m}=n.getOffsetConfig(),{editArea:f}=A.findEditAreaByCoord(u,g,h,m),p=this._docSkeletonManagerService.getViewModel(),S=p.getEditArea();S!==B.DocumentEditArea.BODY&&f!==B.DocumentEditArea.BODY&&f!==S&&p.setEditArea(f)}if(this._docSelectionRenderService.__onPointDown(s),this._editorService.getEditor(t)){this._setEditorFocus(t);const{offsetX:g,offsetY:h}=s;setTimeout(()=>{t!==this._editorService.getFocusId()&&(this._setEditorFocus(t),this._docSelectionRenderService.setCursorManually(g,h))},0)}s.button!==2&&r.stopPropagation()})),this.disposeWithMe(n.onDblclick$.subscribeEvent(s=>{this._isEditorReadOnly(t)||this._docSelectionRenderService.__handleDblClick(s)})),this.disposeWithMe(n.onTripleClick$.subscribeEvent(s=>{this._isEditorReadOnly(t)||this._docSelectionRenderService.__handleTripleClick(s)}))}_getTransformCoordForDocumentOffset(t,e){const n=Se(this._context),{document:i,scene:s}=n,{documentTransform:r}=i.getOffsetConfig(),c=s.getViewports()[0];if(c==null)return;const A=c.transformVector2SceneCoord(B.Vector2.FromArray([t,e]));return r.clone().invert().applyPoint(A)}_isEditorReadOnly(t){const e=this._editorService.getEditor(t);return e?e.isReadOnly():!1}_setEditorFocus(t){this._editorService.focus(t)}_commandExecutedListener(){const t=[ue.id];this.disposeWithMe(this._commandService.onCommandExecuted(e=>{var n;if(t.includes(e.id)){const i=e.params,{unitId:s}=i,r=(n=this._docSelectionManagerService.__getCurrentSelection())==null?void 0:n.unitId;if(s!==r)return;this._docSelectionManagerService.refreshSelection()}}))}_skeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(t=>{if(!t)return;const{unitId:e}=this._context;if(!a.isInternalEditorID(e)){this._docSelectionRenderService.focus();const s=this._context.unit.getSnapshot(),r=di(s);this._docSelectionManagerService.replaceDocRanges([{startOffset:r,endOffset:r}],{unitId:e,subUnitId:e},!1)}}))}};Uo=bA([ct(1,a.ICommandService),ct(2,ce),ct(3,a.IUniverInstanceService),ct(4,a.Inject(T.DocSelectionRenderService)),ct(5,a.Inject(x.DocSkeletonManagerService)),ct(6,a.Inject(x.DocSelectionManagerService))],Uo);var OA=Object.getOwnPropertyDescriptor,RA=(o,t,e,n)=>{for(var i=n>1?void 0:n?OA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Ke=(o,t)=>(e,n)=>t(e,n,o);let wo=class extends a.Disposable{constructor(o,t,e,n,i,s,r,c){super(),this._context=o,this._contextService=t,this._docSkeletonManagerService=e,this._univerInstanceService=n,this._commandService=i,this._textSelectionManagerService=s,this._editorService=r,this._docPageLayoutService=c,this._initSkeletonListener(),this._initCommandExecutedListener(),this._initRenderRefresher(),setTimeout(()=>this.updateViewZoom(1,!0),20)}_initRenderRefresher(){this._docSkeletonManagerService.currentSkeleton$.subscribe(o=>{if(o==null)return;const{unitId:t,scene:e}=this._context;this._editorService.isEditor(t)||this.disposeWithMe(e.onMouseWheel$.subscribeEvent(n=>{if(!n.ctrlKey||!this._contextService.getContextValue(a.FOCUSING_DOC))return;const i=this._univerInstanceService.getCurrentUniverDocInstance();if(!i)return;const{documentFlavor:s}=i.getSnapshot().documentStyle;if(s===a.DocumentFlavor.MODERN)return;const r=Math.abs(n.deltaX);let c=r<40?.2:r<80?.4:.2;c*=n.deltaY>0?-1:1,e.scaleX<1&&(c/=2);const A=i.zoomRatio;let l=+Number.parseFloat(`${A+c}`).toFixed(1);l=l>=4?4:l<=.1?.1:l,this._commandService.executeCommand(dn.id,{zoomRatio:l,unitId:i.getUnitId()}),n.preventDefault()}))})}_initSkeletonListener(){this.disposeWithMe(this._docSkeletonManagerService.currentSkeleton$.subscribe(o=>{if(o==null)return;const t=this._univerInstanceService.getCurrentUniverDocInstance();if(!t)return;const e=t.zoomRatio||1;this.updateViewZoom(e,!1)}))}_initCommandExecutedListener(){const o=[ue.id];this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(o.includes(t.id)&&t.params.unitId===this._context.unitId){const n=this._context.unit.zoomRatio||1;this.updateViewZoom(n)}})),this.disposeWithMe(this._commandService.beforeCommandExecuted(t=>{t.id===tn.id&&this._commandService.executeCommand(dn.id,{zoomRatio:1,unitId:this._context.unitId})}))}updateViewZoom(o,t=!0){var n;const e=Se(this._context);e.scene.scale(o,o),this._editorService.isEditor(this._context.unitId)||this._docPageLayoutService.calculatePagePosition(),t&&!this._editorService.isEditor(this._context.unitId)&&this._textSelectionManagerService.refreshSelection(),(n=e.scene.getTransformer())==null||n.clearSelectedObjects()}};wo=RA([Ke(1,a.IContextService),Ke(2,a.Inject(x.DocSkeletonManagerService)),Ke(3,a.IUniverInstanceService),Ke(4,a.ICommandService),Ke(5,a.Inject(x.DocSelectionManagerService)),Ke(6,ce),Ke(7,a.Inject(No))],wo);var DA=Object.getOwnPropertyDescriptor,BA=(o,t,e,n)=>{for(var i=n>1?void 0:n?DA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Dt=(o,t)=>(e,n)=>t(e,n,o);const Es=300;T.DocStateChangeManagerService=class extends a.RxDisposable{constructor(e,n,i,s,r){super();M(this,"_docStateChange$",new N.BehaviorSubject(null));M(this,"docStateChange$",this._docStateChange$.asObservable());M(this,"_historyStateCache",new Map);M(this,"_changeStateCache",new Map);M(this,"_historyTimer",null);M(this,"_changeStateCacheTimer",null);this._undoRedoService=e,this._commandService=n,this._univerInstanceService=i,this._docStateEmitService=s,this._renderManagerService=r,this._initialize(),this._listenDocStateChange()}getStateCache(e){var n,i;return{history:(n=this._historyStateCache.get(e))!=null?n:[],collaboration:(i=this._changeStateCache.get(e))!=null?i:[]}}setStateCache(e,n){this._historyStateCache.set(e,n.history),this._changeStateCache.set(e,n.collaboration)}_setChangeState(e){this._cacheChangeState(e,"history"),this._cacheChangeState(e,"collaboration")}_initialize(){this.disposeWithMe(this._commandService.beforeCommandExecuted(e=>{if(e.id===a.UndoCommandId||e.id===a.RedoCommandId){const n=this._univerInstanceService.getCurrentUniverDocInstance();if(n==null)return;const i=n.getUnitId();this._pushHistory(i),this._emitChangeState(i)}}))}_listenDocStateChange(){this._docStateEmitService.docStateChangeParams$.pipe(N.takeUntil(this.dispose$)).subscribe(e=>{var A;if(e==null)return;const{isCompositionEnd:n,isSync:i,syncer:s,...r}=e,c=(A=this._renderManagerService.getRenderById(i?s:e.unitId))==null?void 0:A.with(Ot);if(c!=null){if(n){const l=c.fetchComposedUndoRedoMutationParams();if(l==null)throw new Error("historyParams is null in RichTextEditingMutation");const{undoMutationParams:d,redoMutationParams:u,previousActiveRange:g}=l;r.redoState.actions=u.actions,r.undoState.actions=d.actions,r.undoState.textRanges=[g]}this._setChangeState(r)}})}_cacheChangeState(e,n="history"){const{trigger:i,unitId:s,noHistory:r,debounce:c=!1}=e;if(r||i==null||n==="history"&&(i===a.RedoCommandId||i===a.UndoCommandId))return;const A=n==="history"?this._historyStateCache:this._changeStateCache,l=n==="history"?this._pushHistory.bind(this):this._emitChangeState.bind(this);if(A.has(s)){const d=A.get(s);d==null||d.push(e)}else A.set(s,[e]);c?n==="history"?(this._historyTimer&&clearTimeout(this._historyTimer),this._historyTimer=setTimeout(()=>{l(s)},Es)):(this._changeStateCacheTimer&&clearTimeout(this._changeStateCacheTimer),this._changeStateCacheTimer=setTimeout(()=>{l(s)},Es)):l(s)}_pushHistory(e){const n=this._undoRedoService,i=this._historyStateCache.get(e);if(!Array.isArray(i)||i.length===0)return;const s=i.length,r=i[0].commandId,c=i[0],A=i[s-1],l={unitId:e,actions:i.reduce((u,g)=>a.JSONX.compose(u,g.redoState.actions),null),textRanges:A.redoState.textRanges},d={unitId:e,actions:i.reverse().reduce((u,g)=>a.JSONX.compose(u,g.undoState.actions),null),textRanges:c.undoState.textRanges};n.pushUndoRedo({unitID:e,undoMutations:[{id:r,params:d}],redoMutations:[{id:r,params:l}]}),i.length=0}_emitChangeState(e){const n=this._changeStateCache.get(e);if(!Array.isArray(n)||n.length===0)return;const i=n.length,{commandId:s,trigger:r,segmentId:c,noHistory:A,debounce:l}=n[0],d=n[0],u=n[i-1],g={unitId:e,actions:n.reduce((f,p)=>a.JSONX.compose(f,p.redoState.actions),null),textRanges:u.redoState.textRanges},h={unitId:e,actions:n.reverse().reduce((f,p)=>a.JSONX.compose(f,p.undoState.actions),null),textRanges:d.undoState.textRanges},m={commandId:s,unitId:e,trigger:r,redoState:g,undoState:h,segmentId:c,noHistory:A,debounce:l};n.length=0,this._docStateChange$.next(m)}},T.DocStateChangeManagerService=BA([Dt(0,a.Inject(a.IUndoRedoService)),Dt(1,a.ICommandService),Dt(2,a.IUniverInstanceService),Dt(3,a.Inject(x.DocStateEmitService)),Dt(4,B.IRenderManagerService)],T.DocStateChangeManagerService);var MA=Object.getOwnPropertyDescriptor,xA=(o,t,e,n)=>{for(var i=n>1?void 0:n?MA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},vs=(o,t)=>(e,n)=>t(e,n,o);const Cs="univer-doc-main-canvas";T.DocsRenderService=class extends a.RxDisposable{constructor(t,e){super(),this._instanceSrv=t,this._renderManagerService=e,this._init()}_init(){this._renderManagerService.createRender$.pipe(N.takeUntil(this.dispose$)).subscribe(t=>this._createRenderWithId(t)),this._instanceSrv.getAllUnitsForType(a.UniverInstanceType.UNIVER_DOC).forEach(t=>this._createRenderer(t)),this._instanceSrv.getTypeOfUnitAdded$(a.UniverInstanceType.UNIVER_DOC).pipe(N.takeUntil(this.dispose$)).subscribe(t=>this._createRenderer(t)),this._instanceSrv.getTypeOfUnitDisposed$(a.UniverInstanceType.UNIVER_DOC).pipe(N.takeUntil(this.dispose$)).subscribe(t=>this._disposeRenderer(t))}_createRenderer(t){var i;const e=t.getUnitId(),n=(i=this._instanceSrv.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC))==null?void 0:i.getUnitId();this._renderManagerService.created$.subscribe(s=>{s.unitId===n&&(s.engine.getCanvas().setId(Cs),s.engine.getCanvas().getContext().setId(Cs))}),this._renderManagerService.has(e)||this._createRenderWithId(e)}_createRenderWithId(t){this._renderManagerService.createRender(t)}_disposeRenderer(t){const e=t.getUnitId();this._renderManagerService.removeRender(e)}},T.DocsRenderService=xA([vs(0,a.IUniverInstanceService),vs(1,B.IRenderManagerService)],T.DocsRenderService);class Ts extends a.Disposable{constructor(){super(...arguments);M(this,"_currentSelectorId");M(this,"_selectionChange$",new N.Subject);M(this,"selectionChange$",this._selectionChange$.asObservable());M(this,"_openSelector$",new N.Subject);M(this,"openSelector$",this._openSelector$.asObservable());M(this,"_selectorModalVisible$",new N.BehaviorSubject(!1));M(this,"selectorModalVisible$",this._selectorModalVisible$.asObservable())}get selectorModalVisible(){return this._selectorModalVisible$.getValue()}setCurrentSelectorId(e){this._currentSelectorId=e}getCurrentSelectorId(){return this._currentSelectorId}selectionChange(e){this._currentSelectorId&&this._selectionChange$.next(e)}openSelector(){this._openSelector$.next(null)}triggerModalVisibleChange(e){this._selectorModalVisible$.next(e)}}const ys=a.createIdentifier("univer.range-selector.service"),_A={id:qe.id,preconditions:ya,binding:E.KeyCode.ENTER},NA={id:Ct.id,preconditions:ee,binding:E.KeyCode.BACKSPACE},PA={id:so.id,preconditions:ee,binding:E.KeyCode.DELETE},UA={id:Ee.id,binding:E.KeyCode.ARROW_UP,preconditions:ee,staticParameters:{direction:a.Direction.UP}},wA={id:Ee.id,binding:E.KeyCode.ARROW_DOWN,preconditions:ee,staticParameters:{direction:a.Direction.DOWN}},QA={id:Ee.id,binding:E.KeyCode.ARROW_LEFT,preconditions:ee,staticParameters:{direction:a.Direction.LEFT}},LA={id:Ee.id,binding:E.KeyCode.ARROW_RIGHT,preconditions:ee,staticParameters:{direction:a.Direction.RIGHT}},FA={id:ve.id,binding:E.KeyCode.ARROW_UP|E.MetaKeys.SHIFT,preconditions:ee,staticParameters:{direction:a.Direction.UP}},kA={id:ve.id,binding:E.KeyCode.ARROW_DOWN|E.MetaKeys.SHIFT,preconditions:ee,staticParameters:{direction:a.Direction.DOWN}},HA={id:ve.id,binding:E.KeyCode.ARROW_LEFT|E.MetaKeys.SHIFT,preconditions:ee,staticParameters:{direction:a.Direction.LEFT}},VA={id:ve.id,binding:E.KeyCode.ARROW_RIGHT|E.MetaKeys.SHIFT,preconditions:ee,staticParameters:{direction:a.Direction.RIGHT}},WA={id:To.id,binding:E.KeyCode.A|E.MetaKeys.CTRL_COMMAND,preconditions:o=>o.getContextValue(a.FOCUSING_UNIVER_EDITOR)&&(o.getContextValue(a.FOCUSING_DOC)||o.getContextValue(a.EDITOR_ACTIVATED))};var KA=Object.defineProperty,zA=Object.getOwnPropertyDescriptor,jA=(o,t,e)=>t in o?KA(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,GA=(o,t,e,n)=>{for(var i=n>1?void 0:n?zA(t,e):t,s=o.length-1,r;s>=0;s--)(r=o[s])&&(i=r(i)||i);return i},Bt=(o,t)=>(e,n)=>t(e,n,o),XA=(o,t,e)=>jA(o,t+"",e);T.UniverDocsUIPlugin=class extends a.Plugin{constructor(t=Qi,e,n,i,s,r){super(),this._config=t,this._injector=e,this._renderManagerSrv=n,this._commandService=i,this._logService=s,this._configService=r;const{menu:c,...A}=a.merge({},Qi,this._config);c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig($n,A),this._initDependencies(e),this._initializeShortcut(),this._initCommand()}onReady(){this._initRenderBasics(),this._markDocAsFocused(),a.touchDependencies(this._injector,[[T.DocStateChangeManagerService],[T.DocsRenderService]])}onRendered(){this._initUI(),this._initRenderModules(),a.touchDependencies(this._injector,[[hn],[mn],[st],[fn],[T.DocUIController]])}_initCommand(){[Ct,so,_e,Ne,Pe,Ue,Re,we,Qe,Le,Fe,Je,ke,Te,fo,Xt,et,Yt,io,qt,ue,ft,mt,Ze,pt,St,It,ge,Et,po,go,sn,an,$i,rn,cn,nn,on,it,Gn,bo,xe,ut,qe,kt,ht,Ht,Vt,Zn,yo,tn,me,oo,He,Xo,Bn,Yo,dn,To,Eo,Ee,ve,Jo].forEach(t=>{this._commandService.registerCommand(t)}),[yt,$t,en].forEach(t=>this.disposeWithMe(this._commandService.registerMultipleCommand(t)))}_initializeShortcut(){[UA,wA,LA,QA,FA,kA,HA,VA,WA,NA,PA,_A,Oa].forEach(t=>{this._injector.get(E.IShortcutService).registerShortcut(t)})}_initDependencies(t){a.mergeOverrideWithDependencies([[En],[vn],[T.DocUIController],[hn],[fn],[mn],[un],[st],[ce,{useClass:T.EditorService}],[ys,{useClass:Ts}],[ot,{useClass:Ao}],[T.DocCanvasPopManagerService],[T.DocsRenderService],[T.DocStateChangeManagerService],[T.DocAutoFormatService],[Ce]],this._config.override).forEach(n=>t.add(n))}_markDocAsFocused(){const t=this._injector.get(a.IUniverInstanceService),e=this._injector.get(ce);try{const n=t.getCurrentUnitForType(a.UniverInstanceType.UNIVER_DOC);if(!n)return;const i=n.getUnitId();e.isEditor(i)||t.focusUnit(n.getUnitId())}catch(n){this._logService.warn(n)}}_initUI(){this._injector.get(un)}_initRenderBasics(){[[x.DocSkeletonManagerService],[T.DocSelectionRenderService],[x.DocInterceptorService],[No],[Ot],[T.DocRenderController],[wo]].forEach(t=>{this._renderManagerSrv.registerRenderModule(a.UniverInstanceType.UNIVER_DOC,t)})}_initRenderModules(){[[T.DocEventManagerService],[T.DocBackScrollRenderController],[Uo],[Wn],[Po],[Mo],[Bo],[En],[_o],[xo],[vn]].forEach(t=>{this._renderManagerSrv.registerRenderModule(a.UniverInstanceType.UNIVER_DOC,t)})}},XA(T.UniverDocsUIPlugin,"pluginName",Ho),T.UniverDocsUIPlugin=GA([a.DependentOn(B.UniverRenderEnginePlugin),Bt(1,a.Inject(a.Injector)),Bt(2,B.IRenderManagerService),Bt(3,a.ICommandService),Bt(4,a.ILogService),Bt(5,a.IConfigService)],T.UniverDocsUIPlugin),T.AfterSpaceCommand=ut,T.AlignCenterCommand=St,T.AlignJustifyCommand=Et,T.AlignLeftCommand=pt,T.AlignOperationCommand=ge,T.AlignRightCommand=It,T.BreakLineCommand=fo,T.BulletListCommand=mt,T.ChangeListNestingLevelCommand=kt,T.ChangeListNestingLevelType=gt,T.ChangeListTypeCommand=ht,T.CheckListCommand=Ht,T.CoverContentCommand=Yo,T.CreateDocTableCommand=po,T.CutContentCommand=He,T.DOCS_COMPONENT_BACKGROUND_LAYER_INDEX=Vo,T.DOCS_COMPONENT_DEFAULT_Z_INDEX=On,T.DOCS_COMPONENT_HEADER_LAYER_INDEX=Wo,T.DOCS_COMPONENT_MAIN_LAYER_INDEX=Mt,T.DOCS_VIEW_KEY=le,T.DOC_UI_PLUGIN_NAME=Ho,T.DOC_VERTICAL_PADDING=Do,T.DefaultDocContainerConfig=ko,T.DefaultToolbarConfig=Fo,T.DeleteCommand=et,T.DeleteCustomBlockCommand=Yt,T.DeleteLeftCommand=Ct,T.DeleteRightCommand=so,T.DocCopyCommand=yt,T.DocCreateTableOperation=An,T.DocCutCommand=$t,T.DocIMEInputManagerService=Ot,T.DocPasteCommand=en,T.DocSelectAllCommand=To,T.DocTableDeleteColumnsCommand=on,T.DocTableDeleteRowsCommand=nn,T.DocTableDeleteTableCommand=it,T.DocTableInsertColumnCommand=$i,T.DocTableInsertColumnLeftCommand=rn,T.DocTableInsertColumnRightCommand=cn,T.DocTableInsertRowAboveCommand=sn,T.DocTableInsertRowBellowCommand=an,T.DocTableInsertRowCommand=go,T.DocTableTabCommand=bo,T.DocsUIMenuSchema=as,T.Editor=ii,T.EditorInsertTextCommandId=Wi,T.EnterCommand=qe,T.IDocClipboardService=ot,T.IEditorService=ce,T.IMEInputCommand=yo,T.IRangeSelectorService=ys,T.InnerPasteCommand=oo,T.InsertCommand=Xt,T.ListOperationCommand=Ze,T.MergeTwoParagraphCommand=qt,T.MoveCursorOperation=Ee,T.MoveSelectionOperation=ve,T.NORMAL_TEXT_SELECTION_PLUGIN_NAME=Ms,T.NodePositionConvertToCursor=Ie,T.NodePositionConvertToRectRange=wn,T.OrderListCommand=ft,T.PastePluginLark=Gi,T.PastePluginUniver=Yi,T.PastePluginWord=qi,T.QuickListCommand=Zn,T.RangeSelectorService=Ts,T.RectRange=Ln,T.ReplaceContentCommand=Xo,T.ReplaceSnapshotCommand=Bn,T.ReplaceTextRunsCommand=Jo,T.ResetInlineFormatTextBackgroundColorCommand=Je,T.RichTextEditor=na,T.SetDocZoomRatioCommand=dn,T.SetDocZoomRatioOperation=ue,T.SetInlineFormatBoldCommand=_e,T.SetInlineFormatCommand=Te,T.SetInlineFormatFontFamilyCommand=Le,T.SetInlineFormatFontSizeCommand=Qe,T.SetInlineFormatItalicCommand=Ne,T.SetInlineFormatStrikethroughCommand=Ue,T.SetInlineFormatSubscriptCommand=Re,T.SetInlineFormatSuperscriptCommand=we,T.SetInlineFormatTextBackgroundColorCommand=ke,T.SetInlineFormatTextColorCommand=Fe,T.SetInlineFormatUnderlineCommand=Pe,T.TEXT_RANGE_LAYER_INDEX=Nt,T.TabCommand=xe,T.TextRange=Me,T.ToggleCheckListCommand=Vt,T.UpdateCommand=io,T.VIEWPORT_KEY=he,T.addCustomDecorationBySelectionFactory=_s,T.addCustomDecorationFactory=zo,T.calcDocRangePositions=Sn,T.convertPositionsToRectRanges=Ut,T.deleteCustomDecorationFactory=Ns,T.docDrawingPositionToTransform=Us,T.genTableSource=to,T.generateParagraphs=mo,T.getAnchorBounding=lt,T.getCanvasOffsetByEngine=ni,T.getCommandSkeleton=re,T.getCursorWhenDelete=Jt,T.getCustomBlockIdsInSelections=Hi,T.getCutActionsFromDocRanges=Vi,T.getDocObject=Ko,T.getDocObjectById=xs,T.getEmptyTableCell=zt,T.getEmptyTableRow=jt,T.getLineBounding=Pt,T.getOneTextSelectionRange=_n,T.getParagraphsInRange=Wt,T.getParagraphsInRanges=$e,T.getRichTextEditPath=$,T.getTableColumn=Gt,T.hasParagraphInTable=Ps,T.isInSameTableCell=Pn,T.isValidRectRange=Zo,T.neoGetDocObject=Se,T.transformToDocDrawingPosition=ws,T.useKeyboardEvent=jo,T.useResize=Go,T.whenDocAndEditorFocused=ee,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});