@univerjs/docs-thread-comment-ui 0.4.2-nightly.202411061606 → 0.4.2-nightly.202411081606

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.
@@ -0,0 +1,2 @@
1
+ "use strict";var re=Object.defineProperty;var ie=(e,t,r)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var H=(e,t,r)=>ie(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@univerjs/core"),P=require("@univerjs/engine-render"),O=require("@univerjs/thread-comment-ui"),_=require("@univerjs/docs"),j=require("@univerjs/docs-ui"),A=require("@univerjs/thread-comment"),v=require("@univerjs/ui"),w=require("rxjs"),oe=require("react/jsx-runtime"),S=require("react"),ce="DOC_THREAD_COMMENT_UI_PLUGIN",b="default_doc",se="docs-thread-comment-ui.config",de={};var ae=Object.defineProperty,me=Object.getOwnPropertyDescriptor,le=(e,t,r,n)=>{for(var i=n>1?void 0:n?me(t,r):t,c=e.length-1,s;c>=0;c--)(s=e[c])&&(i=(n?s(t,r,i):s(i))||i);return n&&i&&ae(t,r,i),i},J=(e,t)=>(r,n)=>t(r,n,e);let x=class extends o.Disposable{constructor(t,r){super();H(this,"_addingComment$",new w.BehaviorSubject(void 0));H(this,"addingComment$",this._addingComment$.asObservable());this._sidebarService=t,this._threadCommentPanelService=r,this.disposeWithMe(()=>{this._addingComment$.complete()})}get addingComment(){return this._addingComment$.getValue()}startAdd(t){this._addingComment$.next(t)}endAdd(){this._addingComment$.next(void 0)}};x=le([J(0,v.ISidebarService),J(1,o.Inject(O.ThreadCommentPanelService))],x);const G={id:"docs.command.add-comment",type:o.CommandType.COMMAND,async handler(e,t){if(!t)return!1;const{comment:r,unitId:n}=t,c=await e.get(A.IThreadCommentDataSourceService).addComment(r),s=e.get(o.ICommandService),d=j.addCustomDecorationBySelectionFactory(e,{id:c.threadId,type:o.CustomDecorationType.COMMENT});if(d){const u={id:A.AddCommentMutation.id,params:{unitId:n,subUnitId:b,comment:c}},h={id:O.SetActiveCommentOperation.id,params:{unitId:n,subUnitId:b,commentId:c.id}};return(await o.sequenceExecute([u,d,h],s)).result}return!1}},Z={id:"docs.command.delete-comment",type:o.CommandType.COMMAND,async handler(e,t){if(!t)return!1;const{commentId:r,unitId:n}=t,i=e.get(o.ICommandService),c=j.deleteCustomDecorationFactory(e,{id:r,unitId:n});return c?(await o.sequenceExecute([c],i)).result:!1}},Y=e=>{const t=e.get(P.IRenderManagerService),r=e.get(_.DocSelectionManagerService),n=t.getCurrent(),i=n==null?void 0:n.with(_.DocSkeletonManagerService).getSkeleton(),c=i==null?void 0:i.getViewModel().getEditArea();if(c===P.DocumentEditArea.FOOTER||c===P.DocumentEditArea.HEADER)return!0;const s=r.getActiveTextRange();return!!(s==null||s.collapsed)};function ue(e){return{id:V.id,type:v.MenuItemType.BUTTON,icon:"CommentSingle",title:"threadCommentUI.panel.addComment",tooltip:"threadCommentUI.panel.addComment",hidden$:v.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC,void 0,o.SHEET_EDITOR_UNITS),disabled$:new w.Observable(function(t){const n=e.get(_.DocSelectionManagerService).textSelection$.pipe(w.debounceTime(16)).subscribe(()=>{t.next(Y(e))});return()=>{n.unsubscribe()}})}}function Ce(e){return{id:z.id,type:v.MenuItemType.BUTTON,icon:"CommentSingle",title:"threadCommentUI.panel.addComment",tooltip:"threadCommentUI.panel.addComment",hidden$:v.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC)}}const R=()=>{const e=o.useDependency(o.IUniverInstanceService),t=o.useDependency(o.Injector),r=S.useMemo(()=>e.getCurrentTypeOfUnit$(o.UniverInstanceType.UNIVER_DOC),[e]),n=o.useObservable(r),i=S.useMemo(()=>new w.Observable(m=>m.next(b)),[]),c=o.useDependency(_.DocSelectionManagerService),s=S.useMemo(()=>c.textSelection$.pipe(w.debounceTime(16)),[c.textSelection$]);o.useObservable(s);const d=o.useDependency(o.ICommandService),u=o.useDependency(x),h=o.useObservable(u.addingComment$),[a,I]=S.useState([]);if(S.useEffect(()=>{var D;const m=new Set,l=n==null?void 0:n.getCustomDecorations();I((D=l==null?void 0:l.map(C=>C.id).filter(C=>{const T=m.has(C);return m.add(C),!T}))!=null?D:[]);const M=d.onCommandExecuted(C=>{var T;if(C.id===_.RichTextEditingMutation.id){const E=new Set,F=n==null?void 0:n.getCustomDecorations();I((T=F==null?void 0:F.map($=>$.id).filter($=>{const ne=E.has($);return E.add($),!ne}))!=null?T:[])}});return()=>{M.dispose()}},[d,n]),!n)return null;const g=Y(t),f=n.getUnitId();return oe.jsx(O.ThreadCommentPanel,{unitId:f,subUnitId$:i,type:o.UniverInstanceType.UNIVER_DOC,onAdd:()=>{d.executeCommand(V.id)},getSubUnitName:()=>"",disableAdd:g,tempComment:h,onAddComment:m=>{if(!m.parentId){const l={unitId:f,range:h,comment:m};return d.executeCommand(G.id,l),u.endAdd(),!1}return!0},onDeleteComment:m=>{if(!m.parentId){const l={unitId:f,commentId:m.id};return d.executeCommand(Z.id,l),!1}return!0},showComments:a})};R.componentKey="univer.doc.thread-comment-panel";const N={id:"docs.operation.show-comment-panel",type:o.CommandType.OPERATION,handler(e,t){var i;const r=e.get(O.ThreadCommentPanelService),n=e.get(v.ISidebarService);return(!r.panelVisible||((i=n.options.children)==null?void 0:i.label)!==R.componentKey)&&(n.open({header:{title:"threadCommentUI.panel.title"},children:{label:R.componentKey},width:320,onClose:()=>r.setPanelVisible(!1)}),r.setPanelVisible(!0)),t&&r.setActiveComment(t==null?void 0:t.activeComment),!0}},z={id:"docs.operation.toggle-comment-panel",type:o.CommandType.OPERATION,handler(e){var n;const t=e.get(O.ThreadCommentPanelService),r=e.get(v.ISidebarService);return!t.panelVisible||((n=r.options.children)==null?void 0:n.label)!==R.componentKey?(r.open({header:{title:"threadCommentUI.panel.title"},children:{label:R.componentKey},width:320,onClose:()=>t.setPanelVisible(!1)}),t.setPanelVisible(!0)):(r.close(),t.setPanelVisible(!1),t.setActiveComment(null)),!0}},V={id:"docs.operation.start-add-comment",type:o.CommandType.OPERATION,handler(e){var C,T,E;const t=e.get(O.ThreadCommentPanelService),n=e.get(o.IUniverInstanceService).getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),i=e.get(_.DocSelectionManagerService),c=e.get(P.IRenderManagerService),s=e.get(o.UserManagerService),d=e.get(x),u=e.get(o.ICommandService),h=e.get(v.ISidebarService),a=i.getActiveTextRange();if(!n||!a)return!1;const I=(C=c.getRenderById(n.getUnitId()))==null?void 0:C.with(j.DocSelectionRenderService);if(a.collapsed)return t.panelVisible?(t.setPanelVisible(!1),h.close()):u.executeCommand(N.id),!0;u.executeCommand(N.id);const g=n.getUnitId(),f=((E=(T=n.getBody())==null?void 0:T.dataStream)!=null?E:"").slice(a.startOffset,a.endOffset),m=o.BuildTextUtils.transform.getPlainText(f),l=b,M="",D={unitId:g,subUnitId:l,id:M,ref:m,dT:A.getDT(),personId:s.getCurrentUser().userID,text:{dataStream:`\r
2
+ `},startOffset:a.startOffset,endOffset:a.endOffset,collapsed:!0,threadId:M};return I==null||I.blurEditor(),d.startAdd(D),t.setActiveComment({unitId:g,subUnitId:l,commentId:M}),!0}};var he=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,ve=(e,t,r,n)=>{for(var i=n>1?void 0:n?fe(t,r):t,c=e.length-1,s;c>=0;c--)(s=e[c])&&(i=(n?s(t,r,i):s(i))||i);return n&&i&&he(t,r,i),i},y=(e,t)=>(r,n)=>t(r,n,e);let B=class extends o.Disposable{constructor(e,t,r,n,i,c){super(),this._threadCommentPanelService=e,this._univerInstanceService=t,this._commandService=r,this._docThreadCommentService=n,this._renderManagerService=i,this._threadCommentModel=c,this._initSelectionChange(),this._initActiveCommandChange()}_initSelectionChange(){let e;this.disposeWithMe(this._commandService.onCommandExecuted(t=>{var r,n,i,c;if(t.id===_.SetTextSelectionsOperation.id){const s=t.params,{unitId:d,ranges:u}=s,h=this._univerInstanceService.getUnit(d,o.UniverInstanceType.UNIVER_DOC),a=u[0];if((e==null?void 0:e.startOffset)===(a==null?void 0:a.startOffset)&&(e==null?void 0:e.endOffset)===(a==null?void 0:a.endOffset))return;if(e=a,a&&h){const{startOffset:I,endOffset:g,collapsed:f}=a;let m;if(f?m=(n=(r=h.getBody())==null?void 0:r.customDecorations)==null?void 0:n.find(l=>l.startIndex<=I&&l.endIndex>=g-1):m=(c=(i=h.getBody())==null?void 0:i.customDecorations)==null?void 0:c.find(l=>l.startIndex<=I&&l.endIndex>=g-1),m){const l=this._threadCommentModel.getComment(d,b,m.id);l&&!l.resolved&&this._commandService.executeCommand(N.id,{activeComment:{unitId:d,subUnitId:b,commentId:m.id}});return}}if(!this._threadCommentPanelService.activeCommentId)return;this._commandService.executeCommand(O.SetActiveCommentOperation.id)}}))}_initActiveCommandChange(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var t,r,n,i;if(e){const c=this._univerInstanceService.getUnit(e.unitId);if(c){const s=(t=this._renderManagerService.getRenderById(e.unitId))==null?void 0:t.with(j.DocBackScrollRenderController),d=(n=(r=c.getBody())==null?void 0:r.customDecorations)==null?void 0:n.find(u=>u.id===e.commentId);d&&s&&s.scrollToRange({startOffset:d.startIndex,endOffset:d.endIndex,collapsed:!1})}}(!e||e.commentId!==((i=this._docThreadCommentService.addingComment)==null?void 0:i.id))&&this._docThreadCommentService.endAdd()}))}};B=ve([y(0,o.Inject(O.ThreadCommentPanelService)),y(1,o.IUniverInstanceService),y(2,o.ICommandService),y(3,o.Inject(x)),y(4,P.IRenderManagerService),y(5,o.Inject(A.ThreadCommentModel))],B);var p=function(){return p=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},p.apply(this,arguments)},Ie=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},Q=S.forwardRef(function(e,t){var r=e.icon,n=e.id,i=e.className,c=e.extend,s=Ie(e,["icon","id","className","extend"]),d="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),u=S.useRef("_".concat(Se()));return X(r,"".concat(n),{defIds:r.defIds,idSuffix:u.current},p({ref:t,className:d},s),c)});function X(e,t,r,n,i){return S.createElement(e.tag,p(p({key:t},ge(e,r,i)),n),(pe(e,r).children||[]).map(function(c,s){return X(c,"".concat(t,"-").concat(e.tag,"-").concat(s),r,void 0,i)}))}function ge(e,t,r){var n=p({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var i=t.defIds;return!i||i.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(c){var s=c[0],d=c[1];typeof d=="string"&&(n[s]=d.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function pe(e,t){var r,n=t.defIds;return!n||n.length===0?e:e.tag==="defs"&&(!((r=e.children)===null||r===void 0)&&r.length)?p(p({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?p(p({},i),{attrs:p(p({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):e}function Se(){return Math.random().toString(36).substring(2,8)}Q.displayName="UniverIcon";var _e={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521C5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345ZM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521C8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345ZM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521C11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521 5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345zM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521 8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345zM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521 11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.84351 3.41861C1.84351 3.01861 2.15531 2.69434 2.53993 2.69434H14.9381C15.3228 2.69434 15.6346 3.01861 15.6346 3.41861V12.4611C15.6346 12.8612 15.3228 13.1854 14.9381 13.1854H8.82117L6.06643 14.6179C5.85054 14.7301 5.59416 14.7181 5.38884 14.5862C5.18352 14.4542 5.05855 14.2211 5.05855 13.9701V13.1854H2.53993C2.15531 13.1854 1.84351 12.8612 1.84351 12.4611L1.84351 3.41861ZM6.45141 12.7982L8.34531 12.0135C8.44201 11.9632 8.54864 11.9371 8.65676 11.9371H14.2417C14.3522 11.9371 14.4417 11.8475 14.4417 11.7371V4.14271C14.4417 4.03225 14.3522 3.94271 14.2417 3.94271H3.23636C3.12591 3.94271 3.03636 4.03225 3.03636 4.14271L3.03636 11.7371C3.03636 11.8475 3.12591 11.9371 3.23636 11.9371L5.75498 11.9371C6.1396 11.9371 6.45141 12.0611 6.45141 12.4611V12.7982Z",fillRule:"evenodd",clipRule:"evenodd"}}]},k=S.forwardRef(function(e,t){return S.createElement(Q,Object.assign({},e,{id:"comment-single",ref:t,icon:_e}))});k.displayName="CommentSingle";const Oe={[v.RibbonStartGroup.OTHERS]:{[z.id]:{order:1,menuItemFactory:Ce}},[v.ContextMenuPosition.MAIN_AREA]:{[v.ContextMenuGroup.DATA]:{[V.id]:{order:1,menuItemFactory:ue}}}};var Me=Object.defineProperty,be=Object.getOwnPropertyDescriptor,Te=(e,t,r,n)=>{for(var i=n>1?void 0:n?be(t,r):t,c=e.length-1,s;c>=0;c--)(s=e[c])&&(i=(n?s(t,r,i):s(i))||i);return n&&i&&Me(t,r,i),i},L=(e,t)=>(r,n)=>t(r,n,e);let q=class extends o.Disposable{constructor(e,t,r){super(),this._commandService=e,this._menuManagerService=t,this._componentManager=r,this._initCommands(),this._initMenus(),this._initComponents()}_initCommands(){[G,Z,N,V,z].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(Oe)}_initComponents(){[R].forEach(e=>{this.disposeWithMe(this._componentManager.register(e.componentKey,e))}),this.disposeWithMe(this._componentManager.register("CommentSingle",k))}};q=Te([L(0,o.ICommandService),L(1,v.IMenuManagerService),L(2,o.Inject(v.ComponentManager))],q);var De=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ue=(e,t,r,n)=>{for(var i=n>1?void 0:n?ye(t,r):t,c=e.length-1,s;c>=0;c--)(s=e[c])&&(i=(n?s(t,r,i):s(i))||i);return n&&i&&De(t,r,i),i},U=(e,t)=>(r,n)=>t(r,n,e);let K=class extends o.Disposable{constructor(e,t,r,n,i,c,s){super(),this._context=e,this._docInterceptorService=t,this._threadCommentPanelService=r,this._docRenderController=n,this._univerInstanceService=i,this._threadCommentModel=c,this._commandService=s,this._interceptorViewModel(),this._initReRender(),this._initSyncComments()}_initReRender(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var r;if(e){this._docRenderController.reRender(e.unitId);return}const t=(r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC))==null?void 0:r.getUnitId();t&&this._docRenderController.reRender(t)})),this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{e.type==="resolve"&&this._docRenderController.reRender(e.unitId)}))}_interceptorViewModel(){this._docInterceptorService.intercept(_.DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION,{handler:(e,t,r)=>{if(!e)return r(e);const{unitId:n,index:i,customDecorations:c}=t,s=this._threadCommentPanelService.activeCommentId,{commentId:d,unitId:u}=s||{},h=c.find(f=>f.id===d),a=this._threadCommentModel.getComment(n,b,e.id);if(!a)return r({...e,show:!1});const I=h&&i>=h.startIndex&&i<=h.endIndex,g=u===n&&e.id===d;return r({...e,active:g||I,show:!a.resolved})}})}_initSyncComments(){var i,c,s;const e=this._context.unit.getUnitId(),t=b,r=(s=(c=(i=this._context.unit.getBody())==null?void 0:i.customDecorations)==null?void 0:c.filter(d=>d.type===o.CustomDecorationType.COMMENT).map(d=>d.id))!=null?s:[];r.forEach(d=>{this._threadCommentModel.getComment(e,t,d)||this._threadCommentModel.addComment(e,t,{id:d,threadId:d,ref:"",dT:"",personId:"",text:{dataStream:""},unitId:e,subUnitId:t})}),r.length&&this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(),b,r);let n=r.sort();this.disposeWithMe(this._commandService.onCommandExecuted(d=>{var u,h,a;if(d.id===_.RichTextEditingMutation.id){if(d.params.unitId!==this._context.unit.getUnitId())return;const g=(a=(h=(u=this._context.unit.getBody())==null?void 0:u.customDecorations)==null?void 0:h.filter(m=>m.type===o.CustomDecorationType.COMMENT).map(m=>m.id))!=null?a:[],f=g.sort();if(JSON.stringify(n)!==JSON.stringify(f)){const m=new Set(n),l=new Set(f),M=new Set,D=new Set;g.forEach(C=>{m.has(C)||M.add(C)}),n.forEach(C=>{l.has(C)||D.add(C)}),n=f,M.forEach(C=>{this._threadCommentModel.getComment(e,t,C)||this._threadCommentModel.addComment(e,t,{id:C,threadId:C,ref:"",dT:"",personId:"",text:{dataStream:""},unitId:e,subUnitId:t})}),this._threadCommentModel.syncThreadComments(e,t,[...M])}}}))}};K=Ue([U(1,o.Inject(_.DocInterceptorService)),U(2,o.Inject(O.ThreadCommentPanelService)),U(3,o.Inject(j.DocRenderController)),U(4,o.IUniverInstanceService),U(5,o.Inject(A.ThreadCommentModel)),U(6,o.ICommandService)],K);var ee=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,xe=(e,t,r)=>t in e?ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Re=(e,t,r,n)=>{for(var i=n>1?void 0:n?Pe(t,r):t,c=e.length-1,s;c>=0;c--)(s=e[c])&&(i=(n?s(t,r,i):s(i))||i);return n&&i&&ee(t,r,i),i},W=(e,t)=>(r,n)=>t(r,n,e),te=(e,t,r)=>xe(e,typeof t!="symbol"?t+"":t,r);exports.UniverDocsThreadCommentUIPlugin=class extends o.Plugin{constructor(t=de,r,n,i){super(),this._config=t,this._injector=r,this._renderManagerSrv=n,this._configService=i;const{menu:c,...s}=this._config;c&&this._configService.setConfig("menu",c,{merge:!0}),this._configService.setConfig(se,s)}onStarting(){[[q],[B],[x]].forEach(t=>{this._injector.add(t)})}onRendered(){this._initRenderModule(),this._injector.get(B),this._injector.get(q)}_initRenderModule(){[K].forEach(t=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,t)})}};te(exports.UniverDocsThreadCommentUIPlugin,"pluginName",ce);te(exports.UniverDocsThreadCommentUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC);exports.UniverDocsThreadCommentUIPlugin=Re([o.DependentOn(O.UniverThreadCommentUIPlugin),W(1,o.Inject(o.Injector)),W(2,P.IRenderManagerService),W(3,o.IConfigService)],exports.UniverDocsThreadCommentUIPlugin);exports.AddDocCommentComment=G;exports.DeleteDocCommentComment=Z;exports.ShowCommentPanelOperation=N;exports.StartAddCommentOperation=V;
package/lib/es/index.js CHANGED
@@ -1,284 +1,282 @@
1
- var __defProp = Object.defineProperty;
2
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
- var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
- import { Inject, Disposable, CommandType, ICommandService, CustomDecorationType, sequenceExecute, UniverInstanceType, SHEET_EDITOR_UNITS, useDependency, IUniverInstanceService, Injector, useObservable, UserManagerService, BuildTextUtils, DependentOn, Plugin, IConfigService } from "@univerjs/core";
6
- import { IRenderManagerService, DocumentEditArea } from "@univerjs/engine-render";
7
- import { ThreadCommentPanelService, SetActiveCommentOperation, ThreadCommentPanel, UniverThreadCommentUIPlugin } from "@univerjs/thread-comment-ui";
8
- import { DocSelectionManagerService, DocSkeletonManagerService, RichTextEditingMutation, SetTextSelectionsOperation, DocInterceptorService, DOC_INTERCEPTOR_POINT } from "@univerjs/docs";
9
- import { addCustomDecorationBySelectionFactory, deleteCustomDecorationFactory, DocSelectionRenderService, DocBackScrollRenderController, DocRenderController } from "@univerjs/docs-ui";
10
- import { IThreadCommentDataSourceService, AddCommentMutation, getDT, ThreadCommentModel } from "@univerjs/thread-comment";
11
- import { ISidebarService, MenuItemType, getMenuHiddenObservable, RibbonStartGroup, ContextMenuPosition, ContextMenuGroup, ComponentManager, IMenuManagerService } from "@univerjs/ui";
12
- import { BehaviorSubject, Observable, debounceTime } from "rxjs";
13
- import React, { useMemo, useState, useEffect, forwardRef, useRef, createElement } from "react";
14
- const PLUGIN_NAME = "DOC_THREAD_COMMENT_UI_PLUGIN", DEFAULT_DOC_SUBUNIT_ID = "default_doc", PLUGIN_CONFIG_KEY = "docs-thread-comment-ui.config", defaultPluginConfig = {};
15
- var __defProp$4 = Object.defineProperty, __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor, __decorateClass$4 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
16
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$4(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
17
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
18
- return kind && result && __defProp$4(target, key, result), result;
19
- }, "__decorateClass$4"), __decorateParam$4 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$4"), _a;
20
- let DocThreadCommentService = (_a = class extends Disposable {
21
- constructor(_sidebarService, _threadCommentPanelService) {
1
+ var Se = Object.defineProperty;
2
+ var Oe = (e, t, r) => t in e ? Se(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
3
+ var G = (e, t, r) => Oe(e, typeof t != "symbol" ? t + "" : t, r);
4
+ import { Inject as _, Disposable as j, CommandType as E, ICommandService as M, CustomDecorationType as Y, sequenceExecute as te, UniverInstanceType as S, SHEET_EDITOR_UNITS as Me, useDependency as R, IUniverInstanceService as B, Injector as ne, useObservable as Z, UserManagerService as be, BuildTextUtils as De, DependentOn as xe, Plugin as Te, IConfigService as ye } from "@univerjs/core";
5
+ import { IRenderManagerService as F, DocumentEditArea as k } from "@univerjs/engine-render";
6
+ import { ThreadCommentPanelService as U, SetActiveCommentOperation as re, ThreadCommentPanel as Ue, UniverThreadCommentUIPlugin as Pe } from "@univerjs/thread-comment-ui";
7
+ import { DocSelectionManagerService as H, DocSkeletonManagerService as Re, RichTextEditingMutation as oe, SetTextSelectionsOperation as Ee, DocInterceptorService as we, DOC_INTERCEPTOR_POINT as Ae } from "@univerjs/docs";
8
+ import { addCustomDecorationBySelectionFactory as Ne, deleteCustomDecorationFactory as Ve, DocSelectionRenderService as $e, DocBackScrollRenderController as je, DocRenderController as Be } from "@univerjs/docs-ui";
9
+ import { IThreadCommentDataSourceService as Fe, AddCommentMutation as He, getDT as Le, ThreadCommentModel as ie } from "@univerjs/thread-comment";
10
+ import { ISidebarService as L, MenuItemType as se, getMenuHiddenObservable as de, RibbonStartGroup as We, ContextMenuPosition as Ke, ContextMenuGroup as Ge, ComponentManager as Ze, IMenuManagerService as ze } from "@univerjs/ui";
11
+ import { BehaviorSubject as Je, Observable as ce, debounceTime as ae } from "rxjs";
12
+ import { jsx as qe } from "react/jsx-runtime";
13
+ import { useMemo as z, useState as Ye, useEffect as Qe, forwardRef as me, useRef as Xe, createElement as le } from "react";
14
+ const ke = "DOC_THREAD_COMMENT_UI_PLUGIN", I = "default_doc", et = "docs-thread-comment-ui.config", tt = {};
15
+ var nt = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, ot = (e, t, r, n) => {
16
+ for (var o = n > 1 ? void 0 : n ? rt(t, r) : t, i = e.length - 1, s; i >= 0; i--)
17
+ (s = e[i]) && (o = (n ? s(t, r, o) : s(o)) || o);
18
+ return n && o && nt(t, r, o), o;
19
+ }, ee = (e, t) => (r, n) => t(r, n, e);
20
+ let T = class extends j {
21
+ constructor(t, r) {
22
22
  super();
23
- __publicField(this, "_addingComment$", new BehaviorSubject(void 0));
24
- __publicField(this, "addingComment$", this._addingComment$.asObservable());
25
- this._sidebarService = _sidebarService, this._threadCommentPanelService = _threadCommentPanelService, this.disposeWithMe(() => {
23
+ G(this, "_addingComment$", new Je(void 0));
24
+ G(this, "addingComment$", this._addingComment$.asObservable());
25
+ this._sidebarService = t, this._threadCommentPanelService = r, this.disposeWithMe(() => {
26
26
  this._addingComment$.complete();
27
27
  });
28
28
  }
29
29
  get addingComment() {
30
30
  return this._addingComment$.getValue();
31
31
  }
32
- startAdd(comment) {
33
- this._addingComment$.next(comment);
32
+ startAdd(t) {
33
+ this._addingComment$.next(t);
34
34
  }
35
35
  endAdd() {
36
36
  this._addingComment$.next(void 0);
37
37
  }
38
- }, __name(_a, "DocThreadCommentService"), _a);
39
- DocThreadCommentService = __decorateClass$4([
40
- __decorateParam$4(0, ISidebarService),
41
- __decorateParam$4(1, Inject(ThreadCommentPanelService))
42
- ], DocThreadCommentService);
43
- const AddDocCommentComment = {
38
+ };
39
+ T = ot([
40
+ ee(0, L),
41
+ ee(1, _(U))
42
+ ], T);
43
+ const ue = {
44
44
  id: "docs.command.add-comment",
45
- type: CommandType.COMMAND,
46
- async handler(accessor, params) {
47
- if (!params)
45
+ type: E.COMMAND,
46
+ async handler(e, t) {
47
+ if (!t)
48
48
  return !1;
49
- const { comment: originComment, unitId } = params, comment = await accessor.get(IThreadCommentDataSourceService).addComment(originComment), commandService = accessor.get(ICommandService), doMutation = addCustomDecorationBySelectionFactory(
50
- accessor,
49
+ const { comment: r, unitId: n } = t, i = await e.get(Fe).addComment(r), s = e.get(M), d = Ne(
50
+ e,
51
51
  {
52
- id: comment.threadId,
53
- type: CustomDecorationType.COMMENT
52
+ id: i.threadId,
53
+ type: Y.COMMENT
54
54
  }
55
55
  );
56
- if (doMutation) {
57
- const addComment = {
58
- id: AddCommentMutation.id,
56
+ if (d) {
57
+ const l = {
58
+ id: He.id,
59
59
  params: {
60
- unitId,
61
- subUnitId: DEFAULT_DOC_SUBUNIT_ID,
62
- comment
60
+ unitId: n,
61
+ subUnitId: I,
62
+ comment: i
63
63
  }
64
- }, activeOperation = {
65
- id: SetActiveCommentOperation.id,
64
+ }, f = {
65
+ id: re.id,
66
66
  params: {
67
- unitId,
68
- subUnitId: DEFAULT_DOC_SUBUNIT_ID,
69
- commentId: comment.id
67
+ unitId: n,
68
+ subUnitId: I,
69
+ commentId: i.id
70
70
  }
71
71
  };
72
- return (await sequenceExecute([addComment, doMutation, activeOperation], commandService)).result;
72
+ return (await te([l, d, f], s)).result;
73
73
  }
74
74
  return !1;
75
75
  }
76
- }, DeleteDocCommentComment = {
76
+ }, fe = {
77
77
  id: "docs.command.delete-comment",
78
- type: CommandType.COMMAND,
79
- async handler(accessor, params) {
80
- if (!params)
78
+ type: E.COMMAND,
79
+ async handler(e, t) {
80
+ if (!t)
81
81
  return !1;
82
- const { commentId, unitId } = params, commandService = accessor.get(ICommandService), doMutation = deleteCustomDecorationFactory(accessor, {
83
- id: commentId,
84
- unitId
82
+ const { commentId: r, unitId: n } = t, o = e.get(M), i = Ve(e, {
83
+ id: r,
84
+ unitId: n
85
85
  });
86
- return doMutation ? (await sequenceExecute([doMutation], commandService)).result : !1;
86
+ return i ? (await te([i], o)).result : !1;
87
87
  }
88
- }, shouldDisableAddComment = /* @__PURE__ */ __name((accessor) => {
89
- const renderManagerService = accessor.get(IRenderManagerService), docSelectionManagerService = accessor.get(DocSelectionManagerService), render2 = renderManagerService.getCurrent(), skeleton = render2 == null ? void 0 : render2.with(DocSkeletonManagerService).getSkeleton(), editArea = skeleton == null ? void 0 : skeleton.getViewModel().getEditArea();
90
- if (editArea === DocumentEditArea.FOOTER || editArea === DocumentEditArea.HEADER)
88
+ }, he = (e) => {
89
+ const t = e.get(F), r = e.get(H), n = t.getCurrent(), o = n == null ? void 0 : n.with(Re).getSkeleton(), i = o == null ? void 0 : o.getViewModel().getEditArea();
90
+ if (i === k.FOOTER || i === k.HEADER)
91
91
  return !0;
92
- const range = docSelectionManagerService.getActiveTextRange();
93
- return !!(range == null || range.collapsed);
94
- }, "shouldDisableAddComment");
95
- function AddDocCommentMenuItemFactory(accessor) {
92
+ const s = r.getActiveTextRange();
93
+ return !!(s == null || s.collapsed);
94
+ };
95
+ function it(e) {
96
96
  return {
97
- id: StartAddCommentOperation.id,
98
- type: MenuItemType.BUTTON,
97
+ id: W.id,
98
+ type: se.BUTTON,
99
99
  icon: "CommentSingle",
100
100
  title: "threadCommentUI.panel.addComment",
101
101
  tooltip: "threadCommentUI.panel.addComment",
102
- hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC, void 0, SHEET_EDITOR_UNITS),
103
- disabled$: new Observable(function(subscribe) {
104
- const observer = accessor.get(DocSelectionManagerService).textSelection$.pipe(debounceTime(16)).subscribe(() => {
105
- subscribe.next(shouldDisableAddComment(accessor));
102
+ hidden$: de(e, S.UNIVER_DOC, void 0, Me),
103
+ disabled$: new ce(function(t) {
104
+ const n = e.get(H).textSelection$.pipe(ae(16)).subscribe(() => {
105
+ t.next(he(e));
106
106
  });
107
107
  return () => {
108
- observer.unsubscribe();
108
+ n.unsubscribe();
109
109
  };
110
110
  })
111
111
  };
112
112
  }
113
- __name(AddDocCommentMenuItemFactory, "AddDocCommentMenuItemFactory");
114
- function ToolbarDocCommentMenuItemFactory(accessor) {
113
+ function st(e) {
115
114
  return {
116
- id: ToggleCommentPanelOperation.id,
117
- type: MenuItemType.BUTTON,
115
+ id: X.id,
116
+ type: se.BUTTON,
118
117
  icon: "CommentSingle",
119
118
  title: "threadCommentUI.panel.addComment",
120
119
  tooltip: "threadCommentUI.panel.addComment",
121
- hidden$: getMenuHiddenObservable(accessor, UniverInstanceType.UNIVER_DOC)
120
+ hidden$: de(e, S.UNIVER_DOC)
122
121
  };
123
122
  }
124
- __name(ToolbarDocCommentMenuItemFactory, "ToolbarDocCommentMenuItemFactory");
125
- const DocThreadCommentPanel = /* @__PURE__ */ __name(() => {
126
- const univerInstanceService = useDependency(IUniverInstanceService), injector = useDependency(Injector), doc$ = useMemo(() => univerInstanceService.getCurrentTypeOfUnit$(UniverInstanceType.UNIVER_DOC), [univerInstanceService]), doc = useObservable(doc$), subUnitId$ = useMemo(() => new Observable((sub) => sub.next(DEFAULT_DOC_SUBUNIT_ID)), []), docSelectionManagerService = useDependency(DocSelectionManagerService), selectionChange$ = useMemo(
127
- () => docSelectionManagerService.textSelection$.pipe(debounceTime(16)),
128
- [docSelectionManagerService.textSelection$]
123
+ const y = () => {
124
+ const e = R(B), t = R(ne), r = z(() => e.getCurrentTypeOfUnit$(S.UNIVER_DOC), [e]), n = Z(r), o = z(() => new ce((a) => a.next(I)), []), i = R(H), s = z(
125
+ () => i.textSelection$.pipe(ae(16)),
126
+ [i.textSelection$]
129
127
  );
130
- useObservable(selectionChange$);
131
- const commandService = useDependency(ICommandService), docCommentService = useDependency(DocThreadCommentService), tempComment = useObservable(docCommentService.addingComment$), [commentIds, setCommentIds] = useState([]);
132
- if (useEffect(() => {
133
- var _a6;
134
- const set = /* @__PURE__ */ new Set(), customRanges = doc == null ? void 0 : doc.getCustomDecorations();
135
- setCommentIds((_a6 = customRanges == null ? void 0 : customRanges.map((r) => r.id).filter((i) => {
136
- const hasRepeat = set.has(i);
137
- return set.add(i), !hasRepeat;
138
- })) != null ? _a6 : []);
139
- const dispose = commandService.onCommandExecuted((command) => {
140
- var _a7;
141
- if (command.id === RichTextEditingMutation.id) {
142
- const set2 = /* @__PURE__ */ new Set(), customRanges2 = doc == null ? void 0 : doc.getCustomDecorations();
143
- setCommentIds((_a7 = customRanges2 == null ? void 0 : customRanges2.map((r) => r.id).filter((i) => {
144
- const hasRepeat = set2.has(i);
145
- return set2.add(i), !hasRepeat;
146
- })) != null ? _a7 : []);
128
+ Z(s);
129
+ const d = R(M), l = R(T), f = Z(l.addingComment$), [c, C] = Ye([]);
130
+ if (Qe(() => {
131
+ var b;
132
+ const a = /* @__PURE__ */ new Set(), m = n == null ? void 0 : n.getCustomDecorations();
133
+ C((b = m == null ? void 0 : m.map((u) => u.id).filter((u) => {
134
+ const O = a.has(u);
135
+ return a.add(u), !O;
136
+ })) != null ? b : []);
137
+ const p = d.onCommandExecuted((u) => {
138
+ var O;
139
+ if (u.id === oe.id) {
140
+ const P = /* @__PURE__ */ new Set(), K = n == null ? void 0 : n.getCustomDecorations();
141
+ C((O = K == null ? void 0 : K.map((w) => w.id).filter((w) => {
142
+ const Ie = P.has(w);
143
+ return P.add(w), !Ie;
144
+ })) != null ? O : []);
147
145
  }
148
146
  });
149
147
  return () => {
150
- dispose.dispose();
148
+ p.dispose();
151
149
  };
152
- }, [commandService, doc]), !doc)
150
+ }, [d, n]), !n)
153
151
  return null;
154
- const isInValidSelection = shouldDisableAddComment(injector), unitId = doc.getUnitId();
155
- return /* @__PURE__ */ React.createElement(
156
- ThreadCommentPanel,
152
+ const v = he(t), h = n.getUnitId();
153
+ return /* @__PURE__ */ qe(
154
+ Ue,
157
155
  {
158
- unitId,
159
- subUnitId$,
160
- type: UniverInstanceType.UNIVER_DOC,
161
- onAdd: /* @__PURE__ */ __name(() => {
162
- commandService.executeCommand(StartAddCommentOperation.id);
163
- }, "onAdd"),
164
- getSubUnitName: /* @__PURE__ */ __name(() => "", "getSubUnitName"),
165
- disableAdd: isInValidSelection,
166
- tempComment,
167
- onAddComment: /* @__PURE__ */ __name((comment) => {
168
- if (!comment.parentId) {
169
- const params = {
170
- unitId,
171
- range: tempComment,
172
- comment
156
+ unitId: h,
157
+ subUnitId$: o,
158
+ type: S.UNIVER_DOC,
159
+ onAdd: () => {
160
+ d.executeCommand(W.id);
161
+ },
162
+ getSubUnitName: () => "",
163
+ disableAdd: v,
164
+ tempComment: f,
165
+ onAddComment: (a) => {
166
+ if (!a.parentId) {
167
+ const m = {
168
+ unitId: h,
169
+ range: f,
170
+ comment: a
173
171
  };
174
- return commandService.executeCommand(AddDocCommentComment.id, params), docCommentService.endAdd(), !1;
172
+ return d.executeCommand(ue.id, m), l.endAdd(), !1;
175
173
  }
176
174
  return !0;
177
- }, "onAddComment"),
178
- onDeleteComment: /* @__PURE__ */ __name((comment) => {
179
- if (!comment.parentId) {
180
- const params = {
181
- unitId,
182
- commentId: comment.id
175
+ },
176
+ onDeleteComment: (a) => {
177
+ if (!a.parentId) {
178
+ const m = {
179
+ unitId: h,
180
+ commentId: a.id
183
181
  };
184
- return commandService.executeCommand(DeleteDocCommentComment.id, params), !1;
182
+ return d.executeCommand(fe.id, m), !1;
185
183
  }
186
184
  return !0;
187
- }, "onDeleteComment"),
188
- showComments: commentIds
185
+ },
186
+ showComments: c
189
187
  }
190
188
  );
191
- }, "DocThreadCommentPanel");
192
- DocThreadCommentPanel.componentKey = "univer.doc.thread-comment-panel";
193
- const ShowCommentPanelOperation = {
189
+ };
190
+ y.componentKey = "univer.doc.thread-comment-panel";
191
+ const A = {
194
192
  id: "docs.operation.show-comment-panel",
195
- type: CommandType.OPERATION,
196
- handler(accessor, params) {
197
- var _a6;
198
- const panelService = accessor.get(ThreadCommentPanelService), sidebarService = accessor.get(ISidebarService);
199
- return (!panelService.panelVisible || ((_a6 = sidebarService.options.children) == null ? void 0 : _a6.label) !== DocThreadCommentPanel.componentKey) && (sidebarService.open({
193
+ type: E.OPERATION,
194
+ handler(e, t) {
195
+ var o;
196
+ const r = e.get(U), n = e.get(L);
197
+ return (!r.panelVisible || ((o = n.options.children) == null ? void 0 : o.label) !== y.componentKey) && (n.open({
200
198
  header: { title: "threadCommentUI.panel.title" },
201
- children: { label: DocThreadCommentPanel.componentKey },
199
+ children: { label: y.componentKey },
202
200
  width: 320,
203
- onClose: /* @__PURE__ */ __name(() => panelService.setPanelVisible(!1), "onClose")
204
- }), panelService.setPanelVisible(!0)), params && panelService.setActiveComment(params == null ? void 0 : params.activeComment), !0;
201
+ onClose: () => r.setPanelVisible(!1)
202
+ }), r.setPanelVisible(!0)), t && r.setActiveComment(t == null ? void 0 : t.activeComment), !0;
205
203
  }
206
- }, ToggleCommentPanelOperation = {
204
+ }, X = {
207
205
  id: "docs.operation.toggle-comment-panel",
208
- type: CommandType.OPERATION,
209
- handler(accessor) {
210
- var _a6;
211
- const panelService = accessor.get(ThreadCommentPanelService), sidebarService = accessor.get(ISidebarService);
212
- return !panelService.panelVisible || ((_a6 = sidebarService.options.children) == null ? void 0 : _a6.label) !== DocThreadCommentPanel.componentKey ? (sidebarService.open({
206
+ type: E.OPERATION,
207
+ handler(e) {
208
+ var n;
209
+ const t = e.get(U), r = e.get(L);
210
+ return !t.panelVisible || ((n = r.options.children) == null ? void 0 : n.label) !== y.componentKey ? (r.open({
213
211
  header: { title: "threadCommentUI.panel.title" },
214
- children: { label: DocThreadCommentPanel.componentKey },
212
+ children: { label: y.componentKey },
215
213
  width: 320,
216
- onClose: /* @__PURE__ */ __name(() => panelService.setPanelVisible(!1), "onClose")
217
- }), panelService.setPanelVisible(!0)) : (sidebarService.close(), panelService.setPanelVisible(!1), panelService.setActiveComment(null)), !0;
214
+ onClose: () => t.setPanelVisible(!1)
215
+ }), t.setPanelVisible(!0)) : (r.close(), t.setPanelVisible(!1), t.setActiveComment(null)), !0;
218
216
  }
219
- }, StartAddCommentOperation = {
217
+ }, W = {
220
218
  id: "docs.operation.start-add-comment",
221
- type: CommandType.OPERATION,
222
- handler(accessor) {
223
- var _a6, _b, _c;
224
- const panelService = accessor.get(ThreadCommentPanelService), doc = accessor.get(IUniverInstanceService).getCurrentUnitForType(UniverInstanceType.UNIVER_DOC), docSelectionManagerService = accessor.get(DocSelectionManagerService), renderManagerService = accessor.get(IRenderManagerService), userManagerService = accessor.get(UserManagerService), docCommentService = accessor.get(DocThreadCommentService), commandService = accessor.get(ICommandService), sidebarService = accessor.get(ISidebarService), textRange = docSelectionManagerService.getActiveTextRange();
225
- if (!doc || !textRange)
219
+ type: E.OPERATION,
220
+ handler(e) {
221
+ var u, O, P;
222
+ const t = e.get(U), n = e.get(B).getCurrentUnitForType(S.UNIVER_DOC), o = e.get(H), i = e.get(F), s = e.get(be), d = e.get(T), l = e.get(M), f = e.get(L), c = o.getActiveTextRange();
223
+ if (!n || !c)
226
224
  return !1;
227
- const docSelectionRenderManager = (_a6 = renderManagerService.getRenderById(doc.getUnitId())) == null ? void 0 : _a6.with(DocSelectionRenderService);
228
- if (textRange.collapsed)
229
- return panelService.panelVisible ? (panelService.setPanelVisible(!1), sidebarService.close()) : commandService.executeCommand(ShowCommentPanelOperation.id), !0;
230
- commandService.executeCommand(ShowCommentPanelOperation.id);
231
- const unitId = doc.getUnitId(), dataStream = ((_c = (_b = doc.getBody()) == null ? void 0 : _b.dataStream) != null ? _c : "").slice(textRange.startOffset, textRange.endOffset), text = BuildTextUtils.transform.getPlainText(dataStream), subUnitId = DEFAULT_DOC_SUBUNIT_ID, commentId = "", comment = {
232
- unitId,
233
- subUnitId,
234
- id: commentId,
235
- ref: text,
236
- dT: getDT(),
237
- personId: userManagerService.getCurrentUser().userID,
225
+ const C = (u = i.getRenderById(n.getUnitId())) == null ? void 0 : u.with($e);
226
+ if (c.collapsed)
227
+ return t.panelVisible ? (t.setPanelVisible(!1), f.close()) : l.executeCommand(A.id), !0;
228
+ l.executeCommand(A.id);
229
+ const v = n.getUnitId(), h = ((P = (O = n.getBody()) == null ? void 0 : O.dataStream) != null ? P : "").slice(c.startOffset, c.endOffset), a = De.transform.getPlainText(h), m = I, p = "", b = {
230
+ unitId: v,
231
+ subUnitId: m,
232
+ id: p,
233
+ ref: a,
234
+ dT: Le(),
235
+ personId: s.getCurrentUser().userID,
238
236
  text: {
239
237
  dataStream: `\r
240
238
  `
241
239
  },
242
- startOffset: textRange.startOffset,
243
- endOffset: textRange.endOffset,
240
+ startOffset: c.startOffset,
241
+ endOffset: c.endOffset,
244
242
  collapsed: !0,
245
- threadId: commentId
243
+ threadId: p
246
244
  };
247
- return docSelectionRenderManager == null || docSelectionRenderManager.blurEditor(), docCommentService.startAdd(comment), panelService.setActiveComment({
248
- unitId,
249
- subUnitId,
250
- commentId
245
+ return C == null || C.blurEditor(), d.startAdd(b), t.setActiveComment({
246
+ unitId: v,
247
+ subUnitId: m,
248
+ commentId: p
251
249
  }), !0;
252
250
  }
253
251
  };
254
- var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
255
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
256
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
257
- return kind && result && __defProp$3(target, key, result), result;
258
- }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a2;
259
- let DocThreadCommentSelectionController = (_a2 = class extends Disposable {
260
- constructor(_threadCommentPanelService, _univerInstanceService, _commandService, _docThreadCommentService, _renderManagerService, _threadCommentModel) {
261
- super(), this._threadCommentPanelService = _threadCommentPanelService, this._univerInstanceService = _univerInstanceService, this._commandService = _commandService, this._docThreadCommentService = _docThreadCommentService, this._renderManagerService = _renderManagerService, this._threadCommentModel = _threadCommentModel, this._initSelectionChange(), this._initActiveCommandChange();
252
+ var dt = Object.defineProperty, ct = Object.getOwnPropertyDescriptor, at = (e, t, r, n) => {
253
+ for (var o = n > 1 ? void 0 : n ? ct(t, r) : t, i = e.length - 1, s; i >= 0; i--)
254
+ (s = e[i]) && (o = (n ? s(t, r, o) : s(o)) || o);
255
+ return n && o && dt(t, r, o), o;
256
+ }, D = (e, t) => (r, n) => t(r, n, e);
257
+ let N = class extends j {
258
+ constructor(e, t, r, n, o, i) {
259
+ super(), this._threadCommentPanelService = e, this._univerInstanceService = t, this._commandService = r, this._docThreadCommentService = n, this._renderManagerService = o, this._threadCommentModel = i, this._initSelectionChange(), this._initActiveCommandChange();
262
260
  }
263
261
  _initSelectionChange() {
264
- let lastSelection;
262
+ let e;
265
263
  this.disposeWithMe(
266
- this._commandService.onCommandExecuted((commandInfo) => {
267
- var _a6, _b, _c, _d;
268
- if (commandInfo.id === SetTextSelectionsOperation.id) {
269
- const params = commandInfo.params, { unitId, ranges } = params, doc = this._univerInstanceService.getUnit(unitId, UniverInstanceType.UNIVER_DOC), primary = ranges[0];
270
- if ((lastSelection == null ? void 0 : lastSelection.startOffset) === (primary == null ? void 0 : primary.startOffset) && (lastSelection == null ? void 0 : lastSelection.endOffset) === (primary == null ? void 0 : primary.endOffset))
264
+ this._commandService.onCommandExecuted((t) => {
265
+ var r, n, o, i;
266
+ if (t.id === Ee.id) {
267
+ const s = t.params, { unitId: d, ranges: l } = s, f = this._univerInstanceService.getUnit(d, S.UNIVER_DOC), c = l[0];
268
+ if ((e == null ? void 0 : e.startOffset) === (c == null ? void 0 : c.startOffset) && (e == null ? void 0 : e.endOffset) === (c == null ? void 0 : c.endOffset))
271
269
  return;
272
- if (lastSelection = primary, primary && doc) {
273
- const { startOffset, endOffset, collapsed } = primary;
274
- let customRange;
275
- if (collapsed ? customRange = (_b = (_a6 = doc.getBody()) == null ? void 0 : _a6.customDecorations) == null ? void 0 : _b.find((value) => value.startIndex <= startOffset && value.endIndex >= endOffset - 1) : customRange = (_d = (_c = doc.getBody()) == null ? void 0 : _c.customDecorations) == null ? void 0 : _d.find((value) => value.startIndex <= startOffset && value.endIndex >= endOffset - 1), customRange) {
276
- const comment = this._threadCommentModel.getComment(unitId, DEFAULT_DOC_SUBUNIT_ID, customRange.id);
277
- comment && !comment.resolved && this._commandService.executeCommand(ShowCommentPanelOperation.id, {
270
+ if (e = c, c && f) {
271
+ const { startOffset: C, endOffset: v, collapsed: h } = c;
272
+ let a;
273
+ if (h ? a = (n = (r = f.getBody()) == null ? void 0 : r.customDecorations) == null ? void 0 : n.find((m) => m.startIndex <= C && m.endIndex >= v - 1) : a = (i = (o = f.getBody()) == null ? void 0 : o.customDecorations) == null ? void 0 : i.find((m) => m.startIndex <= C && m.endIndex >= v - 1), a) {
274
+ const m = this._threadCommentModel.getComment(d, I, a.id);
275
+ m && !m.resolved && this._commandService.executeCommand(A.id, {
278
276
  activeComment: {
279
- unitId,
280
- subUnitId: DEFAULT_DOC_SUBUNIT_ID,
281
- commentId: customRange.id
277
+ unitId: d,
278
+ subUnitId: I,
279
+ commentId: a.id
282
280
  }
283
281
  });
284
282
  return;
@@ -286,260 +284,256 @@ let DocThreadCommentSelectionController = (_a2 = class extends Disposable {
286
284
  }
287
285
  if (!this._threadCommentPanelService.activeCommentId)
288
286
  return;
289
- this._commandService.executeCommand(SetActiveCommentOperation.id);
287
+ this._commandService.executeCommand(re.id);
290
288
  }
291
289
  })
292
290
  );
293
291
  }
294
292
  _initActiveCommandChange() {
295
- this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((activeComment) => {
296
- var _a6, _b, _c, _d;
297
- if (activeComment) {
298
- const doc = this._univerInstanceService.getUnit(activeComment.unitId);
299
- if (doc) {
300
- const backScrollController = (_a6 = this._renderManagerService.getRenderById(activeComment.unitId)) == null ? void 0 : _a6.with(DocBackScrollRenderController), customRange = (_c = (_b = doc.getBody()) == null ? void 0 : _b.customDecorations) == null ? void 0 : _c.find((range) => range.id === activeComment.commentId);
301
- customRange && backScrollController && backScrollController.scrollToRange({
302
- startOffset: customRange.startIndex,
303
- endOffset: customRange.endIndex,
293
+ this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((e) => {
294
+ var t, r, n, o;
295
+ if (e) {
296
+ const i = this._univerInstanceService.getUnit(e.unitId);
297
+ if (i) {
298
+ const s = (t = this._renderManagerService.getRenderById(e.unitId)) == null ? void 0 : t.with(je), d = (n = (r = i.getBody()) == null ? void 0 : r.customDecorations) == null ? void 0 : n.find((l) => l.id === e.commentId);
299
+ d && s && s.scrollToRange({
300
+ startOffset: d.startIndex,
301
+ endOffset: d.endIndex,
304
302
  collapsed: !1
305
303
  });
306
304
  }
307
305
  }
308
- (!activeComment || activeComment.commentId !== ((_d = this._docThreadCommentService.addingComment) == null ? void 0 : _d.id)) && this._docThreadCommentService.endAdd();
306
+ (!e || e.commentId !== ((o = this._docThreadCommentService.addingComment) == null ? void 0 : o.id)) && this._docThreadCommentService.endAdd();
309
307
  }));
310
308
  }
311
- }, __name(_a2, "DocThreadCommentSelectionController"), _a2);
312
- DocThreadCommentSelectionController = __decorateClass$3([
313
- __decorateParam$3(0, Inject(ThreadCommentPanelService)),
314
- __decorateParam$3(1, IUniverInstanceService),
315
- __decorateParam$3(2, ICommandService),
316
- __decorateParam$3(3, Inject(DocThreadCommentService)),
317
- __decorateParam$3(4, IRenderManagerService),
318
- __decorateParam$3(5, Inject(ThreadCommentModel))
319
- ], DocThreadCommentSelectionController);
320
- var __assign = function() {
321
- return __assign = Object.assign || function(t) {
322
- for (var s, i = 1, n = arguments.length; i < n; i++) {
323
- s = arguments[i];
324
- for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && (t[p] = s[p]);
309
+ };
310
+ N = at([
311
+ D(0, _(U)),
312
+ D(1, B),
313
+ D(2, M),
314
+ D(3, _(T)),
315
+ D(4, F),
316
+ D(5, _(ie))
317
+ ], N);
318
+ var g = function() {
319
+ return g = Object.assign || function(e) {
320
+ for (var t, r = 1, n = arguments.length; r < n; r++) {
321
+ t = arguments[r];
322
+ for (var o in t) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
325
323
  }
326
- return t;
327
- }, __assign.apply(this, arguments);
328
- }, __rest = function(s, e) {
329
- var t = {};
330
- for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
331
- if (s != null && typeof Object.getOwnPropertySymbols == "function")
332
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++)
333
- e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
334
- return t;
335
- }, IconBase = forwardRef(function(props, ref) {
336
- var icon = props.icon, id = props.id, className = props.className, extend = props.extend, restProps = __rest(props, ["icon", "id", "className", "extend"]), cls = "univerjs-icon univerjs-icon-".concat(id, " ").concat(className || "").trim(), idSuffix = useRef("_".concat(generateShortUuid()));
337
- return render(icon, "".concat(id), { defIds: icon.defIds, idSuffix: idSuffix.current }, __assign({ ref, className: cls }, restProps), extend);
324
+ return e;
325
+ }, g.apply(this, arguments);
326
+ }, mt = function(e, t) {
327
+ var r = {};
328
+ for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (r[n] = e[n]);
329
+ if (e != null && typeof Object.getOwnPropertySymbols == "function")
330
+ for (var o = 0, n = Object.getOwnPropertySymbols(e); o < n.length; o++)
331
+ t.indexOf(n[o]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[o]) && (r[n[o]] = e[n[o]]);
332
+ return r;
333
+ }, Ce = me(function(e, t) {
334
+ var r = e.icon, n = e.id, o = e.className, i = e.extend, s = mt(e, ["icon", "id", "className", "extend"]), d = "univerjs-icon univerjs-icon-".concat(n, " ").concat(o || "").trim(), l = Xe("_".concat(ft()));
335
+ return ve(r, "".concat(n), { defIds: r.defIds, idSuffix: l.current }, g({ ref: t, className: d }, s), i);
338
336
  });
339
- function render(node, id, runtimeProps, rootProps, extend) {
340
- return createElement(node.tag, __assign(__assign({ key: id }, replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend)), rootProps), (replaceRuntimeIdsInDefs(node, runtimeProps).children || []).map(function(child, index) {
341
- return render(child, "".concat(id, "-").concat(node.tag, "-").concat(index), runtimeProps, void 0, extend);
337
+ function ve(e, t, r, n, o) {
338
+ return le(e.tag, g(g({ key: t }, lt(e, r, o)), n), (ut(e, r).children || []).map(function(i, s) {
339
+ return ve(i, "".concat(t, "-").concat(e.tag, "-").concat(s), r, void 0, o);
342
340
  }));
343
341
  }
344
- __name(render, "render");
345
- function replaceRuntimeIdsAndExtInAttrs(node, runtimeProps, extend) {
346
- var attrs = __assign({}, node.attrs);
347
- extend != null && extend.colorChannel1 && attrs.fill === "colorChannel1" && (attrs.fill = extend.colorChannel1);
348
- var defIds = runtimeProps.defIds;
349
- return !defIds || defIds.length === 0 || (node.tag === "use" && attrs["xlink:href"] && (attrs["xlink:href"] = attrs["xlink:href"] + runtimeProps.idSuffix), Object.entries(attrs).forEach(function(_a6) {
350
- var key = _a6[0], value = _a6[1];
351
- typeof value == "string" && (attrs[key] = value.replace(/url\(#(.*)\)/, "url(#$1".concat(runtimeProps.idSuffix, ")")));
352
- })), attrs;
342
+ function lt(e, t, r) {
343
+ var n = g({}, e.attrs);
344
+ r != null && r.colorChannel1 && n.fill === "colorChannel1" && (n.fill = r.colorChannel1);
345
+ var o = t.defIds;
346
+ return !o || o.length === 0 || (e.tag === "use" && n["xlink:href"] && (n["xlink:href"] = n["xlink:href"] + t.idSuffix), Object.entries(n).forEach(function(i) {
347
+ var s = i[0], d = i[1];
348
+ typeof d == "string" && (n[s] = d.replace(/url\(#(.*)\)/, "url(#$1".concat(t.idSuffix, ")")));
349
+ })), n;
353
350
  }
354
- __name(replaceRuntimeIdsAndExtInAttrs, "replaceRuntimeIdsAndExtInAttrs");
355
- function replaceRuntimeIdsInDefs(node, runtimeProps) {
356
- var _a6, defIds = runtimeProps.defIds;
357
- return !defIds || defIds.length === 0 ? node : node.tag === "defs" && (!((_a6 = node.children) === null || _a6 === void 0) && _a6.length) ? __assign(__assign({}, node), { children: node.children.map(function(child) {
358
- return typeof child.attrs.id == "string" && defIds && defIds.indexOf(child.attrs.id) > -1 ? __assign(__assign({}, child), { attrs: __assign(__assign({}, child.attrs), { id: child.attrs.id + runtimeProps.idSuffix }) }) : child;
359
- }) }) : node;
351
+ function ut(e, t) {
352
+ var r, n = t.defIds;
353
+ return !n || n.length === 0 ? e : e.tag === "defs" && (!((r = e.children) === null || r === void 0) && r.length) ? g(g({}, e), { children: e.children.map(function(o) {
354
+ return typeof o.attrs.id == "string" && n && n.indexOf(o.attrs.id) > -1 ? g(g({}, o), { attrs: g(g({}, o.attrs), { id: o.attrs.id + t.idSuffix }) }) : o;
355
+ }) }) : e;
360
356
  }
361
- __name(replaceRuntimeIdsInDefs, "replaceRuntimeIdsInDefs");
362
- function generateShortUuid() {
357
+ function ft() {
363
358
  return Math.random().toString(36).substring(2, 8);
364
359
  }
365
- __name(generateShortUuid, "generateShortUuid");
366
- IconBase.displayName = "UniverIcon";
367
- var element = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 17", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521C5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345ZM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521C8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345ZM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521C11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345Z", fillRule: "evenodd", clipRule: "evenodd" } }, { tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521 5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345zM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521 8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345zM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521 11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M1.84351 3.41861C1.84351 3.01861 2.15531 2.69434 2.53993 2.69434H14.9381C15.3228 2.69434 15.6346 3.01861 15.6346 3.41861V12.4611C15.6346 12.8612 15.3228 13.1854 14.9381 13.1854H8.82117L6.06643 14.6179C5.85054 14.7301 5.59416 14.7181 5.38884 14.5862C5.18352 14.4542 5.05855 14.2211 5.05855 13.9701V13.1854H2.53993C2.15531 13.1854 1.84351 12.8612 1.84351 12.4611L1.84351 3.41861ZM6.45141 12.7982L8.34531 12.0135C8.44201 11.9632 8.54864 11.9371 8.65676 11.9371H14.2417C14.3522 11.9371 14.4417 11.8475 14.4417 11.7371V4.14271C14.4417 4.03225 14.3522 3.94271 14.2417 3.94271H3.23636C3.12591 3.94271 3.03636 4.03225 3.03636 4.14271L3.03636 11.7371C3.03636 11.8475 3.12591 11.9371 3.23636 11.9371L5.75498 11.9371C6.1396 11.9371 6.45141 12.0611 6.45141 12.4611V12.7982Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, CommentSingle = forwardRef(function(props, ref) {
368
- return createElement(IconBase, Object.assign({}, props, {
360
+ Ce.displayName = "UniverIcon";
361
+ var ht = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 17 17", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521C5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345ZM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521C8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345ZM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521C11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345Z", fillRule: "evenodd", clipRule: "evenodd" } }, { tag: "path", attrs: { fill: "currentColor", d: "M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521 5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345zM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521 8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345zM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521 11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M1.84351 3.41861C1.84351 3.01861 2.15531 2.69434 2.53993 2.69434H14.9381C15.3228 2.69434 15.6346 3.01861 15.6346 3.41861V12.4611C15.6346 12.8612 15.3228 13.1854 14.9381 13.1854H8.82117L6.06643 14.6179C5.85054 14.7301 5.59416 14.7181 5.38884 14.5862C5.18352 14.4542 5.05855 14.2211 5.05855 13.9701V13.1854H2.53993C2.15531 13.1854 1.84351 12.8612 1.84351 12.4611L1.84351 3.41861ZM6.45141 12.7982L8.34531 12.0135C8.44201 11.9632 8.54864 11.9371 8.65676 11.9371H14.2417C14.3522 11.9371 14.4417 11.8475 14.4417 11.7371V4.14271C14.4417 4.03225 14.3522 3.94271 14.2417 3.94271H3.23636C3.12591 3.94271 3.03636 4.03225 3.03636 4.14271L3.03636 11.7371C3.03636 11.8475 3.12591 11.9371 3.23636 11.9371L5.75498 11.9371C6.1396 11.9371 6.45141 12.0611 6.45141 12.4611V12.7982Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, ge = me(function(e, t) {
362
+ return le(Ce, Object.assign({}, e, {
369
363
  id: "comment-single",
370
- ref,
371
- icon: element
364
+ ref: t,
365
+ icon: ht
372
366
  }));
373
367
  });
374
- CommentSingle.displayName = "CommentSingle";
375
- const menuSchema = {
376
- [RibbonStartGroup.OTHERS]: {
377
- [ToggleCommentPanelOperation.id]: {
368
+ ge.displayName = "CommentSingle";
369
+ const Ct = {
370
+ [We.OTHERS]: {
371
+ [X.id]: {
378
372
  order: 1,
379
- menuItemFactory: ToolbarDocCommentMenuItemFactory
373
+ menuItemFactory: st
380
374
  }
381
375
  },
382
- [ContextMenuPosition.MAIN_AREA]: {
383
- [ContextMenuGroup.DATA]: {
384
- [StartAddCommentOperation.id]: {
376
+ [Ke.MAIN_AREA]: {
377
+ [Ge.DATA]: {
378
+ [W.id]: {
385
379
  order: 1,
386
- menuItemFactory: AddDocCommentMenuItemFactory
380
+ menuItemFactory: it
387
381
  }
388
382
  }
389
383
  }
390
384
  };
391
- var __defProp$2 = Object.defineProperty, __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor, __decorateClass$2 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
392
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
393
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
394
- return kind && result && __defProp$2(target, key, result), result;
395
- }, "__decorateClass$2"), __decorateParam$2 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$2"), _a3;
396
- let DocThreadCommentUIController = (_a3 = class extends Disposable {
397
- constructor(_commandService, _menuManagerService, _componentManager) {
398
- super(), this._commandService = _commandService, this._menuManagerService = _menuManagerService, this._componentManager = _componentManager, this._initCommands(), this._initMenus(), this._initComponents();
385
+ var vt = Object.defineProperty, gt = Object.getOwnPropertyDescriptor, _t = (e, t, r, n) => {
386
+ for (var o = n > 1 ? void 0 : n ? gt(t, r) : t, i = e.length - 1, s; i >= 0; i--)
387
+ (s = e[i]) && (o = (n ? s(t, r, o) : s(o)) || o);
388
+ return n && o && vt(t, r, o), o;
389
+ }, J = (e, t) => (r, n) => t(r, n, e);
390
+ let V = class extends j {
391
+ constructor(e, t, r) {
392
+ super(), this._commandService = e, this._menuManagerService = t, this._componentManager = r, this._initCommands(), this._initMenus(), this._initComponents();
399
393
  }
400
394
  _initCommands() {
401
395
  [
402
- AddDocCommentComment,
403
- DeleteDocCommentComment,
404
- ShowCommentPanelOperation,
405
- StartAddCommentOperation,
406
- ToggleCommentPanelOperation
407
- ].forEach((command) => {
408
- this.disposeWithMe(this._commandService.registerCommand(command));
396
+ ue,
397
+ fe,
398
+ A,
399
+ W,
400
+ X
401
+ ].forEach((e) => {
402
+ this.disposeWithMe(this._commandService.registerCommand(e));
409
403
  });
410
404
  }
411
405
  _initMenus() {
412
- this._menuManagerService.mergeMenu(menuSchema);
406
+ this._menuManagerService.mergeMenu(Ct);
413
407
  }
414
408
  _initComponents() {
415
- [DocThreadCommentPanel].forEach((comp) => {
416
- this.disposeWithMe(this._componentManager.register(comp.componentKey, comp));
417
- }), this.disposeWithMe(this._componentManager.register("CommentSingle", CommentSingle));
409
+ [y].forEach((e) => {
410
+ this.disposeWithMe(this._componentManager.register(e.componentKey, e));
411
+ }), this.disposeWithMe(this._componentManager.register("CommentSingle", ge));
418
412
  }
419
- }, __name(_a3, "DocThreadCommentUIController"), _a3);
420
- DocThreadCommentUIController = __decorateClass$2([
421
- __decorateParam$2(0, ICommandService),
422
- __decorateParam$2(1, IMenuManagerService),
423
- __decorateParam$2(2, Inject(ComponentManager))
424
- ], DocThreadCommentUIController);
425
- var __defProp$1 = Object.defineProperty, __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor, __decorateClass$1 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
426
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
427
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
428
- return kind && result && __defProp$1(target, key, result), result;
429
- }, "__decorateClass$1"), __decorateParam$1 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$1"), _a4;
430
- let DocThreadCommentRenderController = (_a4 = class extends Disposable {
431
- constructor(_context, _docInterceptorService, _threadCommentPanelService, _docRenderController, _univerInstanceService, _threadCommentModel, _commandService) {
432
- super(), this._context = _context, this._docInterceptorService = _docInterceptorService, this._threadCommentPanelService = _threadCommentPanelService, this._docRenderController = _docRenderController, this._univerInstanceService = _univerInstanceService, this._threadCommentModel = _threadCommentModel, this._commandService = _commandService, this._interceptorViewModel(), this._initReRender(), this._initSyncComments();
413
+ };
414
+ V = _t([
415
+ J(0, M),
416
+ J(1, ze),
417
+ J(2, _(Ze))
418
+ ], V);
419
+ var pt = Object.defineProperty, It = Object.getOwnPropertyDescriptor, St = (e, t, r, n) => {
420
+ for (var o = n > 1 ? void 0 : n ? It(t, r) : t, i = e.length - 1, s; i >= 0; i--)
421
+ (s = e[i]) && (o = (n ? s(t, r, o) : s(o)) || o);
422
+ return n && o && pt(t, r, o), o;
423
+ }, x = (e, t) => (r, n) => t(r, n, e);
424
+ let Q = class extends j {
425
+ constructor(e, t, r, n, o, i, s) {
426
+ super(), this._context = e, this._docInterceptorService = t, this._threadCommentPanelService = r, this._docRenderController = n, this._univerInstanceService = o, this._threadCommentModel = i, this._commandService = s, this._interceptorViewModel(), this._initReRender(), this._initSyncComments();
433
427
  }
434
428
  _initReRender() {
435
- this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((activeComment) => {
436
- var _a6;
437
- if (activeComment) {
438
- this._docRenderController.reRender(activeComment.unitId);
429
+ this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe((e) => {
430
+ var r;
431
+ if (e) {
432
+ this._docRenderController.reRender(e.unitId);
439
433
  return;
440
434
  }
441
- const unitId = (_a6 = this._univerInstanceService.getCurrentUnitForType(UniverInstanceType.UNIVER_DOC)) == null ? void 0 : _a6.getUnitId();
442
- unitId && this._docRenderController.reRender(unitId);
443
- })), this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe((update) => {
444
- update.type === "resolve" && this._docRenderController.reRender(update.unitId);
435
+ const t = (r = this._univerInstanceService.getCurrentUnitForType(S.UNIVER_DOC)) == null ? void 0 : r.getUnitId();
436
+ t && this._docRenderController.reRender(t);
437
+ })), this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe((e) => {
438
+ e.type === "resolve" && this._docRenderController.reRender(e.unitId);
445
439
  }));
446
440
  }
447
441
  _interceptorViewModel() {
448
- this._docInterceptorService.intercept(DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION, {
449
- handler: /* @__PURE__ */ __name((data, pos, next) => {
450
- if (!data)
451
- return next(data);
452
- const { unitId, index, customDecorations } = pos, activeComment = this._threadCommentPanelService.activeCommentId, { commentId, unitId: commentUnitID } = activeComment || {}, activeCustomDecoration = customDecorations.find((i) => i.id === commentId), comment = this._threadCommentModel.getComment(unitId, DEFAULT_DOC_SUBUNIT_ID, data.id);
453
- if (!comment)
454
- return next({
455
- ...data,
442
+ this._docInterceptorService.intercept(Ae.CUSTOM_DECORATION, {
443
+ handler: (e, t, r) => {
444
+ if (!e)
445
+ return r(e);
446
+ const { unitId: n, index: o, customDecorations: i } = t, s = this._threadCommentPanelService.activeCommentId, { commentId: d, unitId: l } = s || {}, f = i.find((h) => h.id === d), c = this._threadCommentModel.getComment(n, I, e.id);
447
+ if (!c)
448
+ return r({
449
+ ...e,
456
450
  show: !1
457
451
  });
458
- const isActiveIndex = activeCustomDecoration && index >= activeCustomDecoration.startIndex && index <= activeCustomDecoration.endIndex, isActive = commentUnitID === unitId && data.id === commentId;
459
- return next({
460
- ...data,
461
- active: isActive || isActiveIndex,
462
- show: !comment.resolved
452
+ const C = f && o >= f.startIndex && o <= f.endIndex, v = l === n && e.id === d;
453
+ return r({
454
+ ...e,
455
+ active: v || C,
456
+ show: !c.resolved
463
457
  });
464
- }, "handler")
458
+ }
465
459
  });
466
460
  }
467
461
  _initSyncComments() {
468
- var _a6, _b, _c;
469
- const unitId = this._context.unit.getUnitId(), subUnitId = DEFAULT_DOC_SUBUNIT_ID, threadIds = (_c = (_b = (_a6 = this._context.unit.getBody()) == null ? void 0 : _a6.customDecorations) == null ? void 0 : _b.filter((i) => i.type === CustomDecorationType.COMMENT).map((i) => i.id)) != null ? _c : [];
470
- threadIds.forEach((id) => {
471
- this._threadCommentModel.getComment(unitId, subUnitId, id) || this._threadCommentModel.addComment(unitId, subUnitId, { id, threadId: id, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId, subUnitId });
472
- }), threadIds.length && this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(), DEFAULT_DOC_SUBUNIT_ID, threadIds);
473
- let prevThreadIds = threadIds.sort();
474
- this.disposeWithMe(this._commandService.onCommandExecuted((commandInfo) => {
475
- var _a7, _b2, _c2;
476
- if (commandInfo.id === RichTextEditingMutation.id) {
477
- if (commandInfo.params.unitId !== this._context.unit.getUnitId())
462
+ var o, i, s;
463
+ const e = this._context.unit.getUnitId(), t = I, r = (s = (i = (o = this._context.unit.getBody()) == null ? void 0 : o.customDecorations) == null ? void 0 : i.filter((d) => d.type === Y.COMMENT).map((d) => d.id)) != null ? s : [];
464
+ r.forEach((d) => {
465
+ this._threadCommentModel.getComment(e, t, d) || this._threadCommentModel.addComment(e, t, { id: d, threadId: d, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId: e, subUnitId: t });
466
+ }), r.length && this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(), I, r);
467
+ let n = r.sort();
468
+ this.disposeWithMe(this._commandService.onCommandExecuted((d) => {
469
+ var l, f, c;
470
+ if (d.id === oe.id) {
471
+ if (d.params.unitId !== this._context.unit.getUnitId())
478
472
  return;
479
- const currentThreadIds = (_c2 = (_b2 = (_a7 = this._context.unit.getBody()) == null ? void 0 : _a7.customDecorations) == null ? void 0 : _b2.filter((i) => i.type === CustomDecorationType.COMMENT).map((i) => i.id)) != null ? _c2 : [], currentThreadIdsSorted = currentThreadIds.sort();
480
- if (JSON.stringify(prevThreadIds) !== JSON.stringify(currentThreadIdsSorted)) {
481
- const preIds = new Set(prevThreadIds), currentIds = new Set(currentThreadIdsSorted), addIds = /* @__PURE__ */ new Set(), deleteIds = /* @__PURE__ */ new Set();
482
- currentThreadIds.forEach((id) => {
483
- preIds.has(id) || addIds.add(id);
484
- }), prevThreadIds.forEach((id) => {
485
- currentIds.has(id) || deleteIds.add(id);
486
- }), prevThreadIds = currentThreadIdsSorted, addIds.forEach((id) => {
487
- this._threadCommentModel.getComment(unitId, subUnitId, id) || this._threadCommentModel.addComment(unitId, subUnitId, { id, threadId: id, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId, subUnitId });
488
- }), this._threadCommentModel.syncThreadComments(unitId, subUnitId, [...addIds]);
473
+ const v = (c = (f = (l = this._context.unit.getBody()) == null ? void 0 : l.customDecorations) == null ? void 0 : f.filter((a) => a.type === Y.COMMENT).map((a) => a.id)) != null ? c : [], h = v.sort();
474
+ if (JSON.stringify(n) !== JSON.stringify(h)) {
475
+ const a = new Set(n), m = new Set(h), p = /* @__PURE__ */ new Set(), b = /* @__PURE__ */ new Set();
476
+ v.forEach((u) => {
477
+ a.has(u) || p.add(u);
478
+ }), n.forEach((u) => {
479
+ m.has(u) || b.add(u);
480
+ }), n = h, p.forEach((u) => {
481
+ this._threadCommentModel.getComment(e, t, u) || this._threadCommentModel.addComment(e, t, { id: u, threadId: u, ref: "", dT: "", personId: "", text: { dataStream: "" }, unitId: e, subUnitId: t });
482
+ }), this._threadCommentModel.syncThreadComments(e, t, [...p]);
489
483
  }
490
484
  }
491
485
  }));
492
486
  }
493
- }, __name(_a4, "DocThreadCommentRenderController"), _a4);
494
- DocThreadCommentRenderController = __decorateClass$1([
495
- __decorateParam$1(1, Inject(DocInterceptorService)),
496
- __decorateParam$1(2, Inject(ThreadCommentPanelService)),
497
- __decorateParam$1(3, Inject(DocRenderController)),
498
- __decorateParam$1(4, IUniverInstanceService),
499
- __decorateParam$1(5, Inject(ThreadCommentModel)),
500
- __decorateParam$1(6, ICommandService)
501
- ], DocThreadCommentRenderController);
502
- var __defProp2 = Object.defineProperty, __getOwnPropDesc = Object.getOwnPropertyDescriptor, __defNormalProp2 = /* @__PURE__ */ __name((obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value, "__defNormalProp"), __decorateClass = /* @__PURE__ */ __name((decorators, target, key, kind) => {
503
- for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
504
- (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
505
- return kind && result && __defProp2(target, key, result), result;
506
- }, "__decorateClass"), __decorateParam = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam"), __publicField2 = /* @__PURE__ */ __name((obj, key, value) => __defNormalProp2(obj, typeof key != "symbol" ? key + "" : key, value), "__publicField"), _a5;
507
- let UniverDocsThreadCommentUIPlugin = (_a5 = class extends Plugin {
508
- constructor(_config = defaultPluginConfig, _injector, _renderManagerSrv, _configService) {
509
- super(), this._config = _config, this._injector = _injector, this._renderManagerSrv = _renderManagerSrv, this._configService = _configService;
510
- const { menu, ...rest } = this._config;
511
- menu && this._configService.setConfig("menu", menu, { merge: !0 }), this._configService.setConfig(PLUGIN_CONFIG_KEY, rest);
487
+ };
488
+ Q = St([
489
+ x(1, _(we)),
490
+ x(2, _(U)),
491
+ x(3, _(Be)),
492
+ x(4, B),
493
+ x(5, _(ie)),
494
+ x(6, M)
495
+ ], Q);
496
+ var _e = Object.defineProperty, Ot = Object.getOwnPropertyDescriptor, Mt = (e, t, r) => t in e ? _e(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, bt = (e, t, r, n) => {
497
+ for (var o = n > 1 ? void 0 : n ? Ot(t, r) : t, i = e.length - 1, s; i >= 0; i--)
498
+ (s = e[i]) && (o = (n ? s(t, r, o) : s(o)) || o);
499
+ return n && o && _e(t, r, o), o;
500
+ }, q = (e, t) => (r, n) => t(r, n, e), pe = (e, t, r) => Mt(e, typeof t != "symbol" ? t + "" : t, r);
501
+ let $ = class extends Te {
502
+ constructor(e = tt, t, r, n) {
503
+ super(), this._config = e, this._injector = t, this._renderManagerSrv = r, this._configService = n;
504
+ const { menu: o, ...i } = this._config;
505
+ o && this._configService.setConfig("menu", o, { merge: !0 }), this._configService.setConfig(et, i);
512
506
  }
513
507
  onStarting() {
514
508
  [
515
- [DocThreadCommentUIController],
516
- [DocThreadCommentSelectionController],
517
- [DocThreadCommentService]
518
- ].forEach((dep) => {
519
- this._injector.add(dep);
509
+ [V],
510
+ [N],
511
+ [T]
512
+ ].forEach((e) => {
513
+ this._injector.add(e);
520
514
  });
521
515
  }
522
516
  onRendered() {
523
- this._initRenderModule(), this._injector.get(DocThreadCommentSelectionController), this._injector.get(DocThreadCommentUIController);
517
+ this._initRenderModule(), this._injector.get(N), this._injector.get(V);
524
518
  }
525
519
  _initRenderModule() {
526
- [DocThreadCommentRenderController].forEach((dep) => {
527
- this._renderManagerSrv.registerRenderModule(UniverInstanceType.UNIVER_DOC, dep);
520
+ [Q].forEach((e) => {
521
+ this._renderManagerSrv.registerRenderModule(S.UNIVER_DOC, e);
528
522
  });
529
523
  }
530
- }, __name(_a5, "UniverDocsThreadCommentUIPlugin"), _a5);
531
- __publicField2(UniverDocsThreadCommentUIPlugin, "pluginName", PLUGIN_NAME);
532
- __publicField2(UniverDocsThreadCommentUIPlugin, "type", UniverInstanceType.UNIVER_DOC);
533
- UniverDocsThreadCommentUIPlugin = __decorateClass([
534
- DependentOn(UniverThreadCommentUIPlugin),
535
- __decorateParam(1, Inject(Injector)),
536
- __decorateParam(2, IRenderManagerService),
537
- __decorateParam(3, IConfigService)
538
- ], UniverDocsThreadCommentUIPlugin);
524
+ };
525
+ pe($, "pluginName", ke);
526
+ pe($, "type", S.UNIVER_DOC);
527
+ $ = bt([
528
+ xe(Pe),
529
+ q(1, _(ne)),
530
+ q(2, F),
531
+ q(3, ye)
532
+ ], $);
539
533
  export {
540
- AddDocCommentComment,
541
- DeleteDocCommentComment,
542
- ShowCommentPanelOperation,
543
- StartAddCommentOperation,
544
- UniverDocsThreadCommentUIPlugin
534
+ ue as AddDocCommentComment,
535
+ fe as DeleteDocCommentComment,
536
+ A as ShowCommentPanelOperation,
537
+ W as StartAddCommentOperation,
538
+ $ as UniverDocsThreadCommentUIPlugin
545
539
  };
package/lib/umd/index.js CHANGED
@@ -1,10 +1,2 @@
1
- (function(c,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/thread-comment-ui"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/thread-comment"),require("@univerjs/ui"),require("rxjs"),require("react")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/thread-comment-ui","@univerjs/docs","@univerjs/docs-ui","@univerjs/thread-comment","@univerjs/ui","rxjs","react"],o):(c=typeof globalThis<"u"?globalThis:c||self,o(c.UniverDocsThreadCommentUi={},c.UniverCore,c.UniverEngineRender,c.UniverThreadCommentUi,c.UniverDocs,c.UniverDocsUi,c.UniverThreadComment,c.UniverUi,c.rxjs,c.React))})(this,function(c,o,g,T,M,j,w,C,A,O){"use strict";var Fe=Object.defineProperty;var Le=(c,o,g)=>o in c?Fe(c,o,{enumerable:!0,configurable:!0,writable:!0,value:g}):c[o]=g;var Y=(c,o,g)=>Le(c,typeof o!="symbol"?o+"":o,g);const se="DOC_THREAD_COMMENT_UI_PLUGIN",y="default_doc",de="docs-thread-comment-ui.config",ae={};var ce=Object.defineProperty,me=Object.getOwnPropertyDescriptor,le=(e,t,r,n)=>{for(var i=n>1?void 0:n?me(t,r):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(i=(n?d(t,r,i):d(i))||i);return n&&i&&ce(t,r,i),i},Q=(e,t)=>(r,n)=>t(r,n,e);let U=class extends o.Disposable{constructor(t,r){super();Y(this,"_addingComment$",new A.BehaviorSubject(void 0));Y(this,"addingComment$",this._addingComment$.asObservable());this._sidebarService=t,this._threadCommentPanelService=r,this.disposeWithMe(()=>{this._addingComment$.complete()})}get addingComment(){return this._addingComment$.getValue()}startAdd(t){this._addingComment$.next(t)}endAdd(){this._addingComment$.next(void 0)}};U=le([Q(0,C.ISidebarService),Q(1,o.Inject(T.ThreadCommentPanelService))],U);var X={exports:{}},B={};/**
2
- * @license React
3
- * react-jsx-runtime.production.min.js
4
- *
5
- * Copyright (c) Facebook, Inc. and its affiliates.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */var ue=O,ve=Symbol.for("react.element"),fe=Symbol.for("react.fragment"),he=Object.prototype.hasOwnProperty,Ce=ue.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,pe={key:!0,ref:!0,__self:!0,__source:!0};function k(e,t,r){var n,i={},s=null,d=null;r!==void 0&&(s=""+r),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(d=t.ref);for(n in t)he.call(t,n)&&!pe.hasOwnProperty(n)&&(i[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)i[n]===void 0&&(i[n]=t[n]);return{$$typeof:ve,type:e,key:s,ref:d,props:i,_owner:Ce.current}}B.Fragment=fe,B.jsx=k,B.jsxs=k,X.exports=B;var Ie=X.exports;const W={id:"docs.command.add-comment",type:o.CommandType.COMMAND,async handler(e,t){if(!t)return!1;const{comment:r,unitId:n}=t,s=await e.get(w.IThreadCommentDataSourceService).addComment(r),d=e.get(o.ICommandService),a=j.addCustomDecorationBySelectionFactory(e,{id:s.threadId,type:o.CustomDecorationType.COMMENT});if(a){const v={id:w.AddCommentMutation.id,params:{unitId:n,subUnitId:y,comment:s}},h={id:T.SetActiveCommentOperation.id,params:{unitId:n,subUnitId:y,commentId:s.id}};return(await o.sequenceExecute([v,a,h],d)).result}return!1}},K={id:"docs.command.delete-comment",type:o.CommandType.COMMAND,async handler(e,t){if(!t)return!1;const{commentId:r,unitId:n}=t,i=e.get(o.ICommandService),s=j.deleteCustomDecorationFactory(e,{id:r,unitId:n});return s?(await o.sequenceExecute([s],i)).result:!1}},ee=e=>{const t=e.get(g.IRenderManagerService),r=e.get(M.DocSelectionManagerService),n=t.getCurrent(),i=n==null?void 0:n.with(M.DocSkeletonManagerService).getSkeleton(),s=i==null?void 0:i.getViewModel().getEditArea();if(s===g.DocumentEditArea.FOOTER||s===g.DocumentEditArea.HEADER)return!0;const d=r.getActiveTextRange();return!!(d==null||d.collapsed)};function _e(e){return{id:V.id,type:C.MenuItemType.BUTTON,icon:"CommentSingle",title:"threadCommentUI.panel.addComment",tooltip:"threadCommentUI.panel.addComment",hidden$:C.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC,void 0,o.SHEET_EDITOR_UNITS),disabled$:new A.Observable(function(t){const n=e.get(M.DocSelectionManagerService).textSelection$.pipe(A.debounceTime(16)).subscribe(()=>{t.next(ee(e))});return()=>{n.unsubscribe()}})}}function Se(e){return{id:G.id,type:C.MenuItemType.BUTTON,icon:"CommentSingle",title:"threadCommentUI.panel.addComment",tooltip:"threadCommentUI.panel.addComment",hidden$:C.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC)}}const P=()=>{const e=o.useDependency(o.IUniverInstanceService),t=o.useDependency(o.Injector),r=O.useMemo(()=>e.getCurrentTypeOfUnit$(o.UniverInstanceType.UNIVER_DOC),[e]),n=o.useObservable(r),i=O.useMemo(()=>new A.Observable(l=>l.next(y)),[]),s=o.useDependency(M.DocSelectionManagerService),d=O.useMemo(()=>s.textSelection$.pipe(A.debounceTime(16)),[s.textSelection$]);o.useObservable(d);const a=o.useDependency(o.ICommandService),v=o.useDependency(U),h=o.useObservable(v.addingComment$),[m,_]=O.useState([]);if(O.useEffect(()=>{var E;const l=new Set,u=n==null?void 0:n.getCustomDecorations();_((E=u==null?void 0:u.map(f=>f.id).filter(f=>{const b=l.has(f);return l.add(f),!b}))!=null?E:[]);const D=a.onCommandExecuted(f=>{var b;if(f.id===M.RichTextEditingMutation.id){const $=new Set,q=n==null?void 0:n.getCustomDecorations();_((b=q==null?void 0:q.map(H=>H.id).filter(H=>{const Be=$.has(H);return $.add(H),!Be}))!=null?b:[])}});return()=>{D.dispose()}},[a,n]),!n)return null;const S=ee(t),p=n.getUnitId();return Ie.jsx(T.ThreadCommentPanel,{unitId:p,subUnitId$:i,type:o.UniverInstanceType.UNIVER_DOC,onAdd:()=>{a.executeCommand(V.id)},getSubUnitName:()=>"",disableAdd:S,tempComment:h,onAddComment:l=>{if(!l.parentId){const u={unitId:p,range:h,comment:l};return a.executeCommand(W.id,u),v.endAdd(),!1}return!0},onDeleteComment:l=>{if(!l.parentId){const u={unitId:p,commentId:l.id};return a.executeCommand(K.id,u),!1}return!0},showComments:m})};P.componentKey="univer.doc.thread-comment-panel";const N={id:"docs.operation.show-comment-panel",type:o.CommandType.OPERATION,handler(e,t){var i;const r=e.get(T.ThreadCommentPanelService),n=e.get(C.ISidebarService);return(!r.panelVisible||((i=n.options.children)==null?void 0:i.label)!==P.componentKey)&&(n.open({header:{title:"threadCommentUI.panel.title"},children:{label:P.componentKey},width:320,onClose:()=>r.setPanelVisible(!1)}),r.setPanelVisible(!0)),t&&r.setActiveComment(t==null?void 0:t.activeComment),!0}},G={id:"docs.operation.toggle-comment-panel",type:o.CommandType.OPERATION,handler(e){var n;const t=e.get(T.ThreadCommentPanelService),r=e.get(C.ISidebarService);return!t.panelVisible||((n=r.options.children)==null?void 0:n.label)!==P.componentKey?(r.open({header:{title:"threadCommentUI.panel.title"},children:{label:P.componentKey},width:320,onClose:()=>t.setPanelVisible(!1)}),t.setPanelVisible(!0)):(r.close(),t.setPanelVisible(!1),t.setActiveComment(null)),!0}},V={id:"docs.operation.start-add-comment",type:o.CommandType.OPERATION,handler(e){var f,b,$;const t=e.get(T.ThreadCommentPanelService),n=e.get(o.IUniverInstanceService).getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),i=e.get(M.DocSelectionManagerService),s=e.get(g.IRenderManagerService),d=e.get(o.UserManagerService),a=e.get(U),v=e.get(o.ICommandService),h=e.get(C.ISidebarService),m=i.getActiveTextRange();if(!n||!m)return!1;const _=(f=s.getRenderById(n.getUnitId()))==null?void 0:f.with(j.DocSelectionRenderService);if(m.collapsed)return t.panelVisible?(t.setPanelVisible(!1),h.close()):v.executeCommand(N.id),!0;v.executeCommand(N.id);const S=n.getUnitId(),p=(($=(b=n.getBody())==null?void 0:b.dataStream)!=null?$:"").slice(m.startOffset,m.endOffset),l=o.BuildTextUtils.transform.getPlainText(p),u=y,D="",E={unitId:S,subUnitId:u,id:D,ref:l,dT:w.getDT(),personId:d.getCurrentUser().userID,text:{dataStream:`\r
10
- `},startOffset:m.startOffset,endOffset:m.endOffset,collapsed:!0,threadId:D};return _==null||_.blurEditor(),a.startAdd(E),t.setActiveComment({unitId:S,subUnitId:u,commentId:D}),!0}};var ge=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,Te=(e,t,r,n)=>{for(var i=n>1?void 0:n?Oe(t,r):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(i=(n?d(t,r,i):d(i))||i);return n&&i&&ge(t,r,i),i},x=(e,t)=>(r,n)=>t(r,n,e);let F=class extends o.Disposable{constructor(e,t,r,n,i,s){super(),this._threadCommentPanelService=e,this._univerInstanceService=t,this._commandService=r,this._docThreadCommentService=n,this._renderManagerService=i,this._threadCommentModel=s,this._initSelectionChange(),this._initActiveCommandChange()}_initSelectionChange(){let e;this.disposeWithMe(this._commandService.onCommandExecuted(t=>{var r,n,i,s;if(t.id===M.SetTextSelectionsOperation.id){const d=t.params,{unitId:a,ranges:v}=d,h=this._univerInstanceService.getUnit(a,o.UniverInstanceType.UNIVER_DOC),m=v[0];if((e==null?void 0:e.startOffset)===(m==null?void 0:m.startOffset)&&(e==null?void 0:e.endOffset)===(m==null?void 0:m.endOffset))return;if(e=m,m&&h){const{startOffset:_,endOffset:S,collapsed:p}=m;let l;if(p?l=(n=(r=h.getBody())==null?void 0:r.customDecorations)==null?void 0:n.find(u=>u.startIndex<=_&&u.endIndex>=S-1):l=(s=(i=h.getBody())==null?void 0:i.customDecorations)==null?void 0:s.find(u=>u.startIndex<=_&&u.endIndex>=S-1),l){const u=this._threadCommentModel.getComment(a,y,l.id);u&&!u.resolved&&this._commandService.executeCommand(N.id,{activeComment:{unitId:a,subUnitId:y,commentId:l.id}});return}}if(!this._threadCommentPanelService.activeCommentId)return;this._commandService.executeCommand(T.SetActiveCommentOperation.id)}}))}_initActiveCommandChange(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var t,r,n,i;if(e){const s=this._univerInstanceService.getUnit(e.unitId);if(s){const d=(t=this._renderManagerService.getRenderById(e.unitId))==null?void 0:t.with(j.DocBackScrollRenderController),a=(n=(r=s.getBody())==null?void 0:r.customDecorations)==null?void 0:n.find(v=>v.id===e.commentId);a&&d&&d.scrollToRange({startOffset:a.startIndex,endOffset:a.endIndex,collapsed:!1})}}(!e||e.commentId!==((i=this._docThreadCommentService.addingComment)==null?void 0:i.id))&&this._docThreadCommentService.endAdd()}))}};F=Te([x(0,o.Inject(T.ThreadCommentPanelService)),x(1,o.IUniverInstanceService),x(2,o.ICommandService),x(3,o.Inject(U)),x(4,g.IRenderManagerService),x(5,o.Inject(w.ThreadCommentModel))],F);var I=function(){return I=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},I.apply(this,arguments)},Me=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},te=O.forwardRef(function(e,t){var r=e.icon,n=e.id,i=e.className,s=e.extend,d=Me(e,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),v=O.useRef("_".concat(be()));return ne(r,"".concat(n),{defIds:r.defIds,idSuffix:v.current},I({ref:t,className:a},d),s)});function ne(e,t,r,n,i){return O.createElement(e.tag,I(I({key:t},ye(e,r,i)),n),(De(e,r).children||[]).map(function(s,d){return ne(s,"".concat(t,"-").concat(e.tag,"-").concat(d),r,void 0,i)}))}function ye(e,t,r){var n=I({},e.attrs);r!=null&&r.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=r.colorChannel1);var i=t.defIds;return!i||i.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(s){var d=s[0],a=s[1];typeof a=="string"&&(n[d]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function De(e,t){var r,n=t.defIds;return!n||n.length===0?e:e.tag==="defs"&&(!((r=e.children)===null||r===void 0)&&r.length)?I(I({},e),{children:e.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?I(I({},i),{attrs:I(I({},i.attrs),{id:i.attrs.id+t.idSuffix})}):i})}):e}function be(){return Math.random().toString(36).substring(2,8)}te.displayName="UniverIcon";var Ue={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521C5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345ZM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521C8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345ZM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521C11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521 5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345zM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521 8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345zM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521 11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.84351 3.41861C1.84351 3.01861 2.15531 2.69434 2.53993 2.69434H14.9381C15.3228 2.69434 15.6346 3.01861 15.6346 3.41861V12.4611C15.6346 12.8612 15.3228 13.1854 14.9381 13.1854H8.82117L6.06643 14.6179C5.85054 14.7301 5.59416 14.7181 5.38884 14.5862C5.18352 14.4542 5.05855 14.2211 5.05855 13.9701V13.1854H2.53993C2.15531 13.1854 1.84351 12.8612 1.84351 12.4611L1.84351 3.41861ZM6.45141 12.7982L8.34531 12.0135C8.44201 11.9632 8.54864 11.9371 8.65676 11.9371H14.2417C14.3522 11.9371 14.4417 11.8475 14.4417 11.7371V4.14271C14.4417 4.03225 14.3522 3.94271 14.2417 3.94271H3.23636C3.12591 3.94271 3.03636 4.03225 3.03636 4.14271L3.03636 11.7371C3.03636 11.8475 3.12591 11.9371 3.23636 11.9371L5.75498 11.9371C6.1396 11.9371 6.45141 12.0611 6.45141 12.4611V12.7982Z",fillRule:"evenodd",clipRule:"evenodd"}}]},re=O.forwardRef(function(e,t){return O.createElement(te,Object.assign({},e,{id:"comment-single",ref:t,icon:Ue}))});re.displayName="CommentSingle";const Pe={[C.RibbonStartGroup.OTHERS]:{[G.id]:{order:1,menuItemFactory:Se}},[C.ContextMenuPosition.MAIN_AREA]:{[C.ContextMenuGroup.DATA]:{[V.id]:{order:1,menuItemFactory:_e}}}};var xe=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Ee=(e,t,r,n)=>{for(var i=n>1?void 0:n?Re(t,r):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(i=(n?d(t,r,i):d(i))||i);return n&&i&&xe(t,r,i),i},Z=(e,t)=>(r,n)=>t(r,n,e);let L=class extends o.Disposable{constructor(e,t,r){super(),this._commandService=e,this._menuManagerService=t,this._componentManager=r,this._initCommands(),this._initMenus(),this._initComponents()}_initCommands(){[W,K,N,V,G].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(Pe)}_initComponents(){[P].forEach(e=>{this.disposeWithMe(this._componentManager.register(e.componentKey,e))}),this.disposeWithMe(this._componentManager.register("CommentSingle",re))}};L=Ee([Z(0,o.ICommandService),Z(1,C.IMenuManagerService),Z(2,o.Inject(C.ComponentManager))],L);var je=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Ae=(e,t,r,n)=>{for(var i=n>1?void 0:n?we(t,r):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(i=(n?d(t,r,i):d(i))||i);return n&&i&&je(t,r,i),i},R=(e,t)=>(r,n)=>t(r,n,e);let z=class extends o.Disposable{constructor(e,t,r,n,i,s,d){super(),this._context=e,this._docInterceptorService=t,this._threadCommentPanelService=r,this._docRenderController=n,this._univerInstanceService=i,this._threadCommentModel=s,this._commandService=d,this._interceptorViewModel(),this._initReRender(),this._initSyncComments()}_initReRender(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var r;if(e){this._docRenderController.reRender(e.unitId);return}const t=(r=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC))==null?void 0:r.getUnitId();t&&this._docRenderController.reRender(t)})),this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{e.type==="resolve"&&this._docRenderController.reRender(e.unitId)}))}_interceptorViewModel(){this._docInterceptorService.intercept(M.DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION,{handler:(e,t,r)=>{if(!e)return r(e);const{unitId:n,index:i,customDecorations:s}=t,d=this._threadCommentPanelService.activeCommentId,{commentId:a,unitId:v}=d||{},h=s.find(p=>p.id===a),m=this._threadCommentModel.getComment(n,y,e.id);if(!m)return r({...e,show:!1});const _=h&&i>=h.startIndex&&i<=h.endIndex,S=v===n&&e.id===a;return r({...e,active:S||_,show:!m.resolved})}})}_initSyncComments(){var i,s,d;const e=this._context.unit.getUnitId(),t=y,r=(d=(s=(i=this._context.unit.getBody())==null?void 0:i.customDecorations)==null?void 0:s.filter(a=>a.type===o.CustomDecorationType.COMMENT).map(a=>a.id))!=null?d:[];r.forEach(a=>{this._threadCommentModel.getComment(e,t,a)||this._threadCommentModel.addComment(e,t,{id:a,threadId:a,ref:"",dT:"",personId:"",text:{dataStream:""},unitId:e,subUnitId:t})}),r.length&&this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(),y,r);let n=r.sort();this.disposeWithMe(this._commandService.onCommandExecuted(a=>{var v,h,m;if(a.id===M.RichTextEditingMutation.id){if(a.params.unitId!==this._context.unit.getUnitId())return;const S=(m=(h=(v=this._context.unit.getBody())==null?void 0:v.customDecorations)==null?void 0:h.filter(l=>l.type===o.CustomDecorationType.COMMENT).map(l=>l.id))!=null?m:[],p=S.sort();if(JSON.stringify(n)!==JSON.stringify(p)){const l=new Set(n),u=new Set(p),D=new Set,E=new Set;S.forEach(f=>{l.has(f)||D.add(f)}),n.forEach(f=>{u.has(f)||E.add(f)}),n=p,D.forEach(f=>{this._threadCommentModel.getComment(e,t,f)||this._threadCommentModel.addComment(e,t,{id:f,threadId:f,ref:"",dT:"",personId:"",text:{dataStream:""},unitId:e,subUnitId:t})}),this._threadCommentModel.syncThreadComments(e,t,[...D])}}}))}};z=Ae([R(1,o.Inject(M.DocInterceptorService)),R(2,o.Inject(T.ThreadCommentPanelService)),R(3,o.Inject(j.DocRenderController)),R(4,o.IUniverInstanceService),R(5,o.Inject(w.ThreadCommentModel)),R(6,o.ICommandService)],z);var ie=Object.defineProperty,Ne=Object.getOwnPropertyDescriptor,Ve=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,$e=(e,t,r,n)=>{for(var i=n>1?void 0:n?Ne(t,r):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(i=(n?d(t,r,i):d(i))||i);return n&&i&&ie(t,r,i),i},J=(e,t)=>(r,n)=>t(r,n,e),oe=(e,t,r)=>Ve(e,typeof t!="symbol"?t+"":t,r);c.UniverDocsThreadCommentUIPlugin=class extends o.Plugin{constructor(t=ae,r,n,i){super(),this._config=t,this._injector=r,this._renderManagerSrv=n,this._configService=i;const{menu:s,...d}=this._config;s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig(de,d)}onStarting(){[[L],[F],[U]].forEach(t=>{this._injector.add(t)})}onRendered(){this._initRenderModule(),this._injector.get(F),this._injector.get(L)}_initRenderModule(){[z].forEach(t=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,t)})}},oe(c.UniverDocsThreadCommentUIPlugin,"pluginName",se),oe(c.UniverDocsThreadCommentUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC),c.UniverDocsThreadCommentUIPlugin=$e([o.DependentOn(T.UniverThreadCommentUIPlugin),J(1,o.Inject(o.Injector)),J(2,g.IRenderManagerService),J(3,o.IConfigService)],c.UniverDocsThreadCommentUIPlugin),c.AddDocCommentComment=W,c.DeleteDocCommentComment=K,c.ShowCommentPanelOperation=N,c.StartAddCommentOperation=V,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
1
+ (function(c,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/thread-comment-ui"),require("@univerjs/docs"),require("@univerjs/docs-ui"),require("@univerjs/thread-comment"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("react")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/thread-comment-ui","@univerjs/docs","@univerjs/docs-ui","@univerjs/thread-comment","@univerjs/ui","rxjs","react/jsx-runtime","react"],o):(c=typeof globalThis<"u"?globalThis:c||self,o(c.UniverDocsThreadCommentUi={},c.UniverCore,c.UniverEngineRender,c.UniverThreadCommentUi,c.UniverDocs,c.UniverDocsUi,c.UniverThreadComment,c.UniverUi,c.rxjs,c["react/jsx-runtime"],c.React))})(this,function(c,o,_,O,M,j,A,h,w,ie,T){"use strict";var Re=Object.defineProperty;var Ee=(c,o,_)=>o in c?Re(c,o,{enumerable:!0,configurable:!0,writable:!0,value:_}):c[o]=_;var J=(c,o,_)=>Ee(c,typeof o!="symbol"?o+"":o,_);const re="DOC_THREAD_COMMENT_UI_PLUGIN",D="default_doc",oe="docs-thread-comment-ui.config",se={};var de=Object.defineProperty,ae=Object.getOwnPropertyDescriptor,ce=(e,t,i,n)=>{for(var r=n>1?void 0:n?ae(t,i):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(r=(n?d(t,i,r):d(r))||r);return n&&r&&de(t,i,r),r},Y=(e,t)=>(i,n)=>t(i,n,e);let U=class extends o.Disposable{constructor(t,i){super();J(this,"_addingComment$",new w.BehaviorSubject(void 0));J(this,"addingComment$",this._addingComment$.asObservable());this._sidebarService=t,this._threadCommentPanelService=i,this.disposeWithMe(()=>{this._addingComment$.complete()})}get addingComment(){return this._addingComment$.getValue()}startAdd(t){this._addingComment$.next(t)}endAdd(){this._addingComment$.next(void 0)}};U=ce([Y(0,h.ISidebarService),Y(1,o.Inject(O.ThreadCommentPanelService))],U);const H={id:"docs.command.add-comment",type:o.CommandType.COMMAND,async handler(e,t){if(!t)return!1;const{comment:i,unitId:n}=t,s=await e.get(A.IThreadCommentDataSourceService).addComment(i),d=e.get(o.ICommandService),a=j.addCustomDecorationBySelectionFactory(e,{id:s.threadId,type:o.CustomDecorationType.COMMENT});if(a){const v={id:A.AddCommentMutation.id,params:{unitId:n,subUnitId:D,comment:s}},C={id:O.SetActiveCommentOperation.id,params:{unitId:n,subUnitId:D,commentId:s.id}};return(await o.sequenceExecute([v,a,C],d)).result}return!1}},L={id:"docs.command.delete-comment",type:o.CommandType.COMMAND,async handler(e,t){if(!t)return!1;const{commentId:i,unitId:n}=t,r=e.get(o.ICommandService),s=j.deleteCustomDecorationFactory(e,{id:i,unitId:n});return s?(await o.sequenceExecute([s],r)).result:!1}},Q=e=>{const t=e.get(_.IRenderManagerService),i=e.get(M.DocSelectionManagerService),n=t.getCurrent(),r=n==null?void 0:n.with(M.DocSkeletonManagerService).getSkeleton(),s=r==null?void 0:r.getViewModel().getEditArea();if(s===_.DocumentEditArea.FOOTER||s===_.DocumentEditArea.HEADER)return!0;const d=i.getActiveTextRange();return!!(d==null||d.collapsed)};function me(e){return{id:V.id,type:h.MenuItemType.BUTTON,icon:"CommentSingle",title:"threadCommentUI.panel.addComment",tooltip:"threadCommentUI.panel.addComment",hidden$:h.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC,void 0,o.SHEET_EDITOR_UNITS),disabled$:new w.Observable(function(t){const n=e.get(M.DocSelectionManagerService).textSelection$.pipe(w.debounceTime(16)).subscribe(()=>{t.next(Q(e))});return()=>{n.unsubscribe()}})}}function le(e){return{id:W.id,type:h.MenuItemType.BUTTON,icon:"CommentSingle",title:"threadCommentUI.panel.addComment",tooltip:"threadCommentUI.panel.addComment",hidden$:h.getMenuHiddenObservable(e,o.UniverInstanceType.UNIVER_DOC)}}const P=()=>{const e=o.useDependency(o.IUniverInstanceService),t=o.useDependency(o.Injector),i=T.useMemo(()=>e.getCurrentTypeOfUnit$(o.UniverInstanceType.UNIVER_DOC),[e]),n=o.useObservable(i),r=T.useMemo(()=>new w.Observable(l=>l.next(D)),[]),s=o.useDependency(M.DocSelectionManagerService),d=T.useMemo(()=>s.textSelection$.pipe(w.debounceTime(16)),[s.textSelection$]);o.useObservable(d);const a=o.useDependency(o.ICommandService),v=o.useDependency(U),C=o.useObservable(v.addingComment$),[m,S]=T.useState([]);if(T.useEffect(()=>{var E;const l=new Set,u=n==null?void 0:n.getCustomDecorations();S((E=u==null?void 0:u.map(f=>f.id).filter(f=>{const y=l.has(f);return l.add(f),!y}))!=null?E:[]);const b=a.onCommandExecuted(f=>{var y;if(f.id===M.RichTextEditingMutation.id){const $=new Set,z=n==null?void 0:n.getCustomDecorations();S((y=z==null?void 0:z.map(F=>F.id).filter(F=>{const xe=$.has(F);return $.add(F),!xe}))!=null?y:[])}});return()=>{b.dispose()}},[a,n]),!n)return null;const g=Q(t),I=n.getUnitId();return ie.jsx(O.ThreadCommentPanel,{unitId:I,subUnitId$:r,type:o.UniverInstanceType.UNIVER_DOC,onAdd:()=>{a.executeCommand(V.id)},getSubUnitName:()=>"",disableAdd:g,tempComment:C,onAddComment:l=>{if(!l.parentId){const u={unitId:I,range:C,comment:l};return a.executeCommand(H.id,u),v.endAdd(),!1}return!0},onDeleteComment:l=>{if(!l.parentId){const u={unitId:I,commentId:l.id};return a.executeCommand(L.id,u),!1}return!0},showComments:m})};P.componentKey="univer.doc.thread-comment-panel";const N={id:"docs.operation.show-comment-panel",type:o.CommandType.OPERATION,handler(e,t){var r;const i=e.get(O.ThreadCommentPanelService),n=e.get(h.ISidebarService);return(!i.panelVisible||((r=n.options.children)==null?void 0:r.label)!==P.componentKey)&&(n.open({header:{title:"threadCommentUI.panel.title"},children:{label:P.componentKey},width:320,onClose:()=>i.setPanelVisible(!1)}),i.setPanelVisible(!0)),t&&i.setActiveComment(t==null?void 0:t.activeComment),!0}},W={id:"docs.operation.toggle-comment-panel",type:o.CommandType.OPERATION,handler(e){var n;const t=e.get(O.ThreadCommentPanelService),i=e.get(h.ISidebarService);return!t.panelVisible||((n=i.options.children)==null?void 0:n.label)!==P.componentKey?(i.open({header:{title:"threadCommentUI.panel.title"},children:{label:P.componentKey},width:320,onClose:()=>t.setPanelVisible(!1)}),t.setPanelVisible(!0)):(i.close(),t.setPanelVisible(!1),t.setActiveComment(null)),!0}},V={id:"docs.operation.start-add-comment",type:o.CommandType.OPERATION,handler(e){var f,y,$;const t=e.get(O.ThreadCommentPanelService),n=e.get(o.IUniverInstanceService).getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC),r=e.get(M.DocSelectionManagerService),s=e.get(_.IRenderManagerService),d=e.get(o.UserManagerService),a=e.get(U),v=e.get(o.ICommandService),C=e.get(h.ISidebarService),m=r.getActiveTextRange();if(!n||!m)return!1;const S=(f=s.getRenderById(n.getUnitId()))==null?void 0:f.with(j.DocSelectionRenderService);if(m.collapsed)return t.panelVisible?(t.setPanelVisible(!1),C.close()):v.executeCommand(N.id),!0;v.executeCommand(N.id);const g=n.getUnitId(),I=(($=(y=n.getBody())==null?void 0:y.dataStream)!=null?$:"").slice(m.startOffset,m.endOffset),l=o.BuildTextUtils.transform.getPlainText(I),u=D,b="",E={unitId:g,subUnitId:u,id:b,ref:l,dT:A.getDT(),personId:d.getCurrentUser().userID,text:{dataStream:`\r
2
+ `},startOffset:m.startOffset,endOffset:m.endOffset,collapsed:!0,threadId:b};return S==null||S.blurEditor(),a.startAdd(E),t.setActiveComment({unitId:g,subUnitId:u,commentId:b}),!0}};var ue=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,fe=(e,t,i,n)=>{for(var r=n>1?void 0:n?ve(t,i):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(r=(n?d(t,i,r):d(r))||r);return n&&r&&ue(t,i,r),r},x=(e,t)=>(i,n)=>t(i,n,e);let B=class extends o.Disposable{constructor(e,t,i,n,r,s){super(),this._threadCommentPanelService=e,this._univerInstanceService=t,this._commandService=i,this._docThreadCommentService=n,this._renderManagerService=r,this._threadCommentModel=s,this._initSelectionChange(),this._initActiveCommandChange()}_initSelectionChange(){let e;this.disposeWithMe(this._commandService.onCommandExecuted(t=>{var i,n,r,s;if(t.id===M.SetTextSelectionsOperation.id){const d=t.params,{unitId:a,ranges:v}=d,C=this._univerInstanceService.getUnit(a,o.UniverInstanceType.UNIVER_DOC),m=v[0];if((e==null?void 0:e.startOffset)===(m==null?void 0:m.startOffset)&&(e==null?void 0:e.endOffset)===(m==null?void 0:m.endOffset))return;if(e=m,m&&C){const{startOffset:S,endOffset:g,collapsed:I}=m;let l;if(I?l=(n=(i=C.getBody())==null?void 0:i.customDecorations)==null?void 0:n.find(u=>u.startIndex<=S&&u.endIndex>=g-1):l=(s=(r=C.getBody())==null?void 0:r.customDecorations)==null?void 0:s.find(u=>u.startIndex<=S&&u.endIndex>=g-1),l){const u=this._threadCommentModel.getComment(a,D,l.id);u&&!u.resolved&&this._commandService.executeCommand(N.id,{activeComment:{unitId:a,subUnitId:D,commentId:l.id}});return}}if(!this._threadCommentPanelService.activeCommentId)return;this._commandService.executeCommand(O.SetActiveCommentOperation.id)}}))}_initActiveCommandChange(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var t,i,n,r;if(e){const s=this._univerInstanceService.getUnit(e.unitId);if(s){const d=(t=this._renderManagerService.getRenderById(e.unitId))==null?void 0:t.with(j.DocBackScrollRenderController),a=(n=(i=s.getBody())==null?void 0:i.customDecorations)==null?void 0:n.find(v=>v.id===e.commentId);a&&d&&d.scrollToRange({startOffset:a.startIndex,endOffset:a.endIndex,collapsed:!1})}}(!e||e.commentId!==((r=this._docThreadCommentService.addingComment)==null?void 0:r.id))&&this._docThreadCommentService.endAdd()}))}};B=fe([x(0,o.Inject(O.ThreadCommentPanelService)),x(1,o.IUniverInstanceService),x(2,o.ICommandService),x(3,o.Inject(U)),x(4,_.IRenderManagerService),x(5,o.Inject(A.ThreadCommentModel))],B);var p=function(){return p=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},p.apply(this,arguments)},Ce=function(e,t){var i={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(i[n[r]]=e[n[r]]);return i},X=T.forwardRef(function(e,t){var i=e.icon,n=e.id,r=e.className,s=e.extend,d=Ce(e,["icon","id","className","extend"]),a="univerjs-icon univerjs-icon-".concat(n," ").concat(r||"").trim(),v=T.useRef("_".concat(pe()));return k(i,"".concat(n),{defIds:i.defIds,idSuffix:v.current},p({ref:t,className:a},d),s)});function k(e,t,i,n,r){return T.createElement(e.tag,p(p({key:t},he(e,i,r)),n),(Ie(e,i).children||[]).map(function(s,d){return k(s,"".concat(t,"-").concat(e.tag,"-").concat(d),i,void 0,r)}))}function he(e,t,i){var n=p({},e.attrs);i!=null&&i.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=i.colorChannel1);var r=t.defIds;return!r||r.length===0||(e.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+t.idSuffix),Object.entries(n).forEach(function(s){var d=s[0],a=s[1];typeof a=="string"&&(n[d]=a.replace(/url\(#(.*)\)/,"url(#$1".concat(t.idSuffix,")")))})),n}function Ie(e,t){var i,n=t.defIds;return!n||n.length===0?e:e.tag==="defs"&&(!((i=e.children)===null||i===void 0)&&i.length)?p(p({},e),{children:e.children.map(function(r){return typeof r.attrs.id=="string"&&n&&n.indexOf(r.attrs.id)>-1?p(p({},r),{attrs:p(p({},r.attrs),{id:r.attrs.id+t.idSuffix})}):r})}):e}function pe(){return Math.random().toString(36).substring(2,8)}X.displayName="UniverIcon";var Se={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521C5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345ZM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521C8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345ZM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521C11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M5.83725 6.78345C6.22188 6.78345 6.53368 7.10742 6.53368 7.50706V8.41159C6.53368 8.81123 6.22188 9.13521 5.83725 9.13521 5.45263 9.13521 5.14082 8.81123 5.14082 8.41159V7.50706C5.14082 7.10742 5.45263 6.78345 5.83725 6.78345zM8.73904 6.78345C9.12366 6.78345 9.43546 7.10742 9.43546 7.50706V8.41159C9.43546 8.81123 9.12366 9.13521 8.73904 9.13521 8.35441 9.13521 8.04261 8.81123 8.04261 8.41159V7.50706C8.04261 7.10742 8.35441 6.78345 8.73904 6.78345zM11.6408 6.78345C12.0254 6.78345 12.3372 7.10742 12.3372 7.50706V8.41159C12.3372 8.81123 12.0254 9.13521 11.6408 9.13521 11.2562 9.13521 10.9444 8.81123 10.9444 8.41159V7.50706C10.9444 7.10742 11.2562 6.78345 11.6408 6.78345z"}},{tag:"path",attrs:{fill:"currentColor",d:"M1.84351 3.41861C1.84351 3.01861 2.15531 2.69434 2.53993 2.69434H14.9381C15.3228 2.69434 15.6346 3.01861 15.6346 3.41861V12.4611C15.6346 12.8612 15.3228 13.1854 14.9381 13.1854H8.82117L6.06643 14.6179C5.85054 14.7301 5.59416 14.7181 5.38884 14.5862C5.18352 14.4542 5.05855 14.2211 5.05855 13.9701V13.1854H2.53993C2.15531 13.1854 1.84351 12.8612 1.84351 12.4611L1.84351 3.41861ZM6.45141 12.7982L8.34531 12.0135C8.44201 11.9632 8.54864 11.9371 8.65676 11.9371H14.2417C14.3522 11.9371 14.4417 11.8475 14.4417 11.7371V4.14271C14.4417 4.03225 14.3522 3.94271 14.2417 3.94271H3.23636C3.12591 3.94271 3.03636 4.03225 3.03636 4.14271L3.03636 11.7371C3.03636 11.8475 3.12591 11.9371 3.23636 11.9371L5.75498 11.9371C6.1396 11.9371 6.45141 12.0611 6.45141 12.4611V12.7982Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ee=T.forwardRef(function(e,t){return T.createElement(X,Object.assign({},e,{id:"comment-single",ref:t,icon:Se}))});ee.displayName="CommentSingle";const ge={[h.RibbonStartGroup.OTHERS]:{[W.id]:{order:1,menuItemFactory:le}},[h.ContextMenuPosition.MAIN_AREA]:{[h.ContextMenuGroup.DATA]:{[V.id]:{order:1,menuItemFactory:me}}}};var _e=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,Me=(e,t,i,n)=>{for(var r=n>1?void 0:n?Oe(t,i):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(r=(n?d(t,i,r):d(r))||r);return n&&r&&_e(t,i,r),r},K=(e,t)=>(i,n)=>t(i,n,e);let q=class extends o.Disposable{constructor(e,t,i){super(),this._commandService=e,this._menuManagerService=t,this._componentManager=i,this._initCommands(),this._initMenus(),this._initComponents()}_initCommands(){[H,L,N,V,W].forEach(e=>{this.disposeWithMe(this._commandService.registerCommand(e))})}_initMenus(){this._menuManagerService.mergeMenu(ge)}_initComponents(){[P].forEach(e=>{this.disposeWithMe(this._componentManager.register(e.componentKey,e))}),this.disposeWithMe(this._componentManager.register("CommentSingle",ee))}};q=Me([K(0,o.ICommandService),K(1,h.IMenuManagerService),K(2,o.Inject(h.ComponentManager))],q);var Te=Object.defineProperty,De=Object.getOwnPropertyDescriptor,be=(e,t,i,n)=>{for(var r=n>1?void 0:n?De(t,i):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(r=(n?d(t,i,r):d(r))||r);return n&&r&&Te(t,i,r),r},R=(e,t)=>(i,n)=>t(i,n,e);let G=class extends o.Disposable{constructor(e,t,i,n,r,s,d){super(),this._context=e,this._docInterceptorService=t,this._threadCommentPanelService=i,this._docRenderController=n,this._univerInstanceService=r,this._threadCommentModel=s,this._commandService=d,this._interceptorViewModel(),this._initReRender(),this._initSyncComments()}_initReRender(){this.disposeWithMe(this._threadCommentPanelService.activeCommentId$.subscribe(e=>{var i;if(e){this._docRenderController.reRender(e.unitId);return}const t=(i=this._univerInstanceService.getCurrentUnitForType(o.UniverInstanceType.UNIVER_DOC))==null?void 0:i.getUnitId();t&&this._docRenderController.reRender(t)})),this.disposeWithMe(this._threadCommentModel.commentUpdate$.subscribe(e=>{e.type==="resolve"&&this._docRenderController.reRender(e.unitId)}))}_interceptorViewModel(){this._docInterceptorService.intercept(M.DOC_INTERCEPTOR_POINT.CUSTOM_DECORATION,{handler:(e,t,i)=>{if(!e)return i(e);const{unitId:n,index:r,customDecorations:s}=t,d=this._threadCommentPanelService.activeCommentId,{commentId:a,unitId:v}=d||{},C=s.find(I=>I.id===a),m=this._threadCommentModel.getComment(n,D,e.id);if(!m)return i({...e,show:!1});const S=C&&r>=C.startIndex&&r<=C.endIndex,g=v===n&&e.id===a;return i({...e,active:g||S,show:!m.resolved})}})}_initSyncComments(){var r,s,d;const e=this._context.unit.getUnitId(),t=D,i=(d=(s=(r=this._context.unit.getBody())==null?void 0:r.customDecorations)==null?void 0:s.filter(a=>a.type===o.CustomDecorationType.COMMENT).map(a=>a.id))!=null?d:[];i.forEach(a=>{this._threadCommentModel.getComment(e,t,a)||this._threadCommentModel.addComment(e,t,{id:a,threadId:a,ref:"",dT:"",personId:"",text:{dataStream:""},unitId:e,subUnitId:t})}),i.length&&this._threadCommentModel.syncThreadComments(this._context.unit.getUnitId(),D,i);let n=i.sort();this.disposeWithMe(this._commandService.onCommandExecuted(a=>{var v,C,m;if(a.id===M.RichTextEditingMutation.id){if(a.params.unitId!==this._context.unit.getUnitId())return;const g=(m=(C=(v=this._context.unit.getBody())==null?void 0:v.customDecorations)==null?void 0:C.filter(l=>l.type===o.CustomDecorationType.COMMENT).map(l=>l.id))!=null?m:[],I=g.sort();if(JSON.stringify(n)!==JSON.stringify(I)){const l=new Set(n),u=new Set(I),b=new Set,E=new Set;g.forEach(f=>{l.has(f)||b.add(f)}),n.forEach(f=>{u.has(f)||E.add(f)}),n=I,b.forEach(f=>{this._threadCommentModel.getComment(e,t,f)||this._threadCommentModel.addComment(e,t,{id:f,threadId:f,ref:"",dT:"",personId:"",text:{dataStream:""},unitId:e,subUnitId:t})}),this._threadCommentModel.syncThreadComments(e,t,[...b])}}}))}};G=be([R(1,o.Inject(M.DocInterceptorService)),R(2,o.Inject(O.ThreadCommentPanelService)),R(3,o.Inject(j.DocRenderController)),R(4,o.IUniverInstanceService),R(5,o.Inject(A.ThreadCommentModel)),R(6,o.ICommandService)],G);var te=Object.defineProperty,ye=Object.getOwnPropertyDescriptor,Ue=(e,t,i)=>t in e?te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,Pe=(e,t,i,n)=>{for(var r=n>1?void 0:n?ye(t,i):t,s=e.length-1,d;s>=0;s--)(d=e[s])&&(r=(n?d(t,i,r):d(r))||r);return n&&r&&te(t,i,r),r},Z=(e,t)=>(i,n)=>t(i,n,e),ne=(e,t,i)=>Ue(e,typeof t!="symbol"?t+"":t,i);c.UniverDocsThreadCommentUIPlugin=class extends o.Plugin{constructor(t=se,i,n,r){super(),this._config=t,this._injector=i,this._renderManagerSrv=n,this._configService=r;const{menu:s,...d}=this._config;s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig(oe,d)}onStarting(){[[q],[B],[U]].forEach(t=>{this._injector.add(t)})}onRendered(){this._initRenderModule(),this._injector.get(B),this._injector.get(q)}_initRenderModule(){[G].forEach(t=>{this._renderManagerSrv.registerRenderModule(o.UniverInstanceType.UNIVER_DOC,t)})}},ne(c.UniverDocsThreadCommentUIPlugin,"pluginName",re),ne(c.UniverDocsThreadCommentUIPlugin,"type",o.UniverInstanceType.UNIVER_DOC),c.UniverDocsThreadCommentUIPlugin=Pe([o.DependentOn(O.UniverThreadCommentUIPlugin),Z(1,o.Inject(o.Injector)),Z(2,_.IRenderManagerService),Z(3,o.IConfigService)],c.UniverDocsThreadCommentUIPlugin),c.AddDocCommentComment=H,c.DeleteDocCommentComment=L,c.ShowCommentPanelOperation=N,c.StartAddCommentOperation=V,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/docs-thread-comment-ui",
3
- "version": "0.4.2-nightly.202411061606",
3
+ "version": "0.4.2-nightly.202411081606",
4
4
  "private": false,
5
5
  "description": "Univer thread comment plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -21,10 +21,12 @@
21
21
  "exports": {
22
22
  ".": {
23
23
  "import": "./lib/es/index.js",
24
+ "require": "./lib/cjs/index.js",
24
25
  "types": "./lib/types/index.d.ts"
25
26
  },
26
27
  "./*": {
27
28
  "import": "./lib/es/*",
29
+ "require": "./lib/cjs/*",
28
30
  "types": "./lib/types/index.d.ts"
29
31
  },
30
32
  "./lib/*": "./lib/*"
@@ -45,17 +47,17 @@
45
47
  "rxjs": ">=7.0.0"
46
48
  },
47
49
  "dependencies": {
48
- "@univerjs/icons": "^0.2.3",
50
+ "@univerjs/icons": "^0.2.5",
49
51
  "clsx": "^2.1.1",
50
- "@univerjs/design": "0.4.2-nightly.202411061606",
51
- "@univerjs/docs": "0.4.2-nightly.202411061606",
52
- "@univerjs/engine-formula": "0.4.2-nightly.202411061606",
53
- "@univerjs/thread-comment": "0.4.2-nightly.202411061606",
54
- "@univerjs/engine-render": "0.4.2-nightly.202411061606",
55
- "@univerjs/docs-ui": "0.4.2-nightly.202411061606",
56
- "@univerjs/thread-comment-ui": "0.4.2-nightly.202411061606",
57
- "@univerjs/core": "0.4.2-nightly.202411061606",
58
- "@univerjs/ui": "0.4.2-nightly.202411061606"
52
+ "@univerjs/core": "0.4.2-nightly.202411081606",
53
+ "@univerjs/docs": "0.4.2-nightly.202411081606",
54
+ "@univerjs/design": "0.4.2-nightly.202411081606",
55
+ "@univerjs/engine-formula": "0.4.2-nightly.202411081606",
56
+ "@univerjs/docs-ui": "0.4.2-nightly.202411081606",
57
+ "@univerjs/engine-render": "0.4.2-nightly.202411081606",
58
+ "@univerjs/thread-comment-ui": "0.4.2-nightly.202411081606",
59
+ "@univerjs/thread-comment": "0.4.2-nightly.202411081606",
60
+ "@univerjs/ui": "0.4.2-nightly.202411081606"
59
61
  },
60
62
  "devDependencies": {
61
63
  "react": "18.3.1",
@@ -65,13 +67,15 @@
65
67
  "vitest": "^2.1.4",
66
68
  "@univerjs-infra/shared": "0.4.2"
67
69
  },
68
- "univerSpace": {
70
+ "space": {
69
71
  ".": {
70
72
  "import": "./lib/es/index.js",
73
+ "require": "./lib/cjs/index.js",
71
74
  "types": "./lib/types/index.d.ts"
72
75
  },
73
76
  "./*": {
74
77
  "import": "./lib/es/*",
78
+ "require": "./lib/cjs/*",
75
79
  "types": "./lib/types/index.d.ts"
76
80
  },
77
81
  "./lib/*": "./lib/*"
@@ -81,7 +85,7 @@
81
85
  "test:watch": "vitest",
82
86
  "coverage": "vitest run --coverage",
83
87
  "lint:types": "tsc --noEmit",
84
- "build": "tsc && vite build"
88
+ "build": "tsx build.ts"
85
89
  },
86
90
  "module": "./lib/es/index.js"
87
91
  }