@univerjs/thread-comment-ui 0.7.0-nightly.202505081607 → 0.7.0-nightly.202505091607

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/umd/index.js CHANGED
@@ -1,29 +1,35 @@
1
- (function(c,l){typeof exports=="object"&&typeof module<"u"?l(exports,require("@univerjs/core"),require("@univerjs/thread-comment"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("react"),require("@univerjs/docs-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/thread-comment","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","react","@univerjs/docs-ui"],l):(c=typeof globalThis<"u"?globalThis:c||self,l(c.UniverThreadCommentUi={},c.UniverCore,c.UniverThreadComment,c.UniverUi,c.rxjs,c.React,c.UniverDesign,c.React,c.UniverDocsUi))})(this,function(c,l,_,f,X,s,B,d,se){"use strict";var Ke=Object.defineProperty;var Ge=(c,l,_)=>l in c?Ke(c,l,{enumerable:!0,configurable:!0,writable:!0,value:_}):c[l]=_;var Y=(c,l,_)=>Ge(c,typeof l!="symbol"?l+"":l,_);var Se=Object.getOwnPropertyDescriptor,_e=(t,e,n,r)=>{for(var i=r>1?void 0:r?Se(e,n):e,a=t.length-1,v;a>=0;a--)(v=t[a])&&(i=v(i)||i);return i},ae=(t,e)=>(n,r)=>e(n,r,t);c.ThreadCommentPanelService=class extends l.Disposable{constructor(n,r){super();Y(this,"_panelVisible",!1);Y(this,"_panelVisible$",new X.BehaviorSubject(!1));Y(this,"_activeCommentId");Y(this,"_activeCommentId$",new X.BehaviorSubject(void 0));Y(this,"panelVisible$",this._panelVisible$.asObservable());Y(this,"activeCommentId$",this._activeCommentId$.asObservable());this._sidebarService=n,this._univerInstanceService=r,this._init(),this.disposeWithMe(()=>{this._activeCommentId$.complete(),this._panelVisible$.complete()})}_init(){this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(n=>{n.visible||this.setPanelVisible(!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(l.UniverInstanceType.UNIVER_SHEET).pipe(X.filter(n=>!n)).subscribe(()=>{this._sidebarService.close()}))}get panelVisible(){return this._panelVisible}get activeCommentId(){return this._activeCommentId}setPanelVisible(n){this._panelVisible=n,this._panelVisible$.next(n)}setActiveComment(n){this._activeCommentId=n,this._activeCommentId$.next(n)}},c.ThreadCommentPanelService=_e([ae(0,l.Inject(f.ISidebarService)),ae(1,l.IUniverInstanceService)],c.ThreadCommentPanelService);const oe="thread-comment-panel",Te="UNIVER_THREAD_COMMENT_UI_PLUGIN",de={id:"thread-comment-ui.operation.toggle-panel",type:l.CommandType.OPERATION,handler(t){const e=t.get(f.ISidebarService),n=t.get(c.ThreadCommentPanelService);return n.panelVisible?(e.close(),n.setPanelVisible(!1)):(e.open({header:{title:"threadCommentUI.panel.title"},children:{label:oe},width:330}),n.setPanelVisible(!0)),!0}},z={id:"thread-comment-ui.operation.set-active-comment",type:l.CommandType.OPERATION,handler(t,e){return t.get(c.ThreadCommentPanelService).setActiveComment(e),!0}},Ne="thread-comment-ui.config",ue={};var Ue=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Oe=(t,e,n)=>e in t?Ue(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,De=(t,e,n,r)=>{for(var i=r>1?void 0:r?we(e,n):e,a=t.length-1,v;a>=0;a--)(v=t[a])&&(i=v(i)||i);return i},le=(t,e)=>(n,r)=>e(n,r,t),ce=(t,e,n)=>Oe(t,typeof e!="symbol"?e+"":e,n);c.UniverThreadCommentUIPlugin=class extends l.Plugin{constructor(e=ue,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;const{menu:a,...v}=l.merge({},ue,this._config);a&&this._configService.setConfig("menu",a,{merge:!0}),this._configService.setConfig(Ne,v)}onStarting(){var e;l.mergeOverrideWithDependencies([[c.ThreadCommentPanelService]],(e=this._config)==null?void 0:e.overrides).forEach(n=>{this._injector.add(n)}),[de,z].forEach(n=>{this._commandService.registerCommand(n)})}},ce(c.UniverThreadCommentUIPlugin,"pluginName",Te),ce(c.UniverThreadCommentUIPlugin,"type",l.UniverInstanceType.UNIVER_UNKNOWN),c.UniverThreadCommentUIPlugin=De([l.DependentOn(_.UniverThreadCommentPlugin),le(1,l.Inject(l.Injector)),le(2,l.ICommandService),le(3,l.IConfigService)],c.UniverThreadCommentUIPlugin);var E=function(){return E=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},E.apply(this,arguments)},Ee=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n},K=d.forwardRef(function(t,e){var n=t.icon,r=t.id,i=t.className,a=t.extend,v=Ee(t,["icon","id","className","extend"]),C="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),I=d.useRef("_".concat(ke()));return ve(n,"".concat(r),{defIds:n.defIds,idSuffix:I.current},E({ref:e,className:C},v),a)});function ve(t,e,n,r,i){return d.createElement(t.tag,E(E({key:e},Me(t,n,i)),r),(je(t,n).children||[]).map(function(a,v){return ve(a,"".concat(e,"-").concat(t.tag,"-").concat(v),n,void 0,i)}))}function Me(t,e,n){var r=E({},t.attrs);n!=null&&n.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=n.colorChannel1),t.tag==="mask"&&r.id&&(r.id=r.id+e.idSuffix),Object.entries(r).forEach(function(a){var v=a[0],C=a[1];v==="mask"&&typeof C=="string"&&(r[v]=C.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var i=e.defIds;return!i||i.length===0||(t.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+e.idSuffix),Object.entries(r).forEach(function(a){var v=a[0],C=a[1];typeof C=="string"&&(r[v]=C.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),r}function je(t,e){var n,r=e.defIds;return!r||r.length===0?t:t.tag==="defs"&&(!((n=t.children)===null||n===void 0)&&n.length)?E(E({},t),{children:t.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?E(E({},i),{attrs:E(E({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):t}function ke(){return Math.random().toString(36).substring(2,8)}K.displayName="UniverIcon";var Pe={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993.866699 5.9313.866699H10.069C10.4004.866699 10.669 1.13533 10.669 1.4667 10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667zM1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443 14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443zM6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928 9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171 10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778 9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539 9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263 6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539 5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778 6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},me=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"delete-single",ref:e,icon:Pe}))});me.displayName="DeleteSingle";var $e={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z"}}]},fe=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"increase-single",ref:e,icon:$e}))});fe.displayName="IncreaseSingle";var He={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3 9C3.55228 9 4 8.55228 4 8 4 7.44772 3.55228 7 3 7 2.44772 7 2 7.44772 2 8 2 8.55228 2.44772 9 3 9zM8 9C8.55228 9 9 8.55228 9 8 9 7.44772 8.55228 7 8 7 7.44772 7 7 7.44772 7 8 7 8.55228 7.44772 9 8 9zM13 9C13.5523 9 14 8.55228 14 8 14 7.44772 13.5523 7 13 7 12.4477 7 12 7.44772 12 8 12 8.55228 12.4477 9 13 9z"}}]},he=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"more-horizontal-single",ref:e,icon:He}))});he.displayName="MoreHorizontalSingle";var Le={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{stroke:"currentColor",d:"M7.48389 10.3267V12.1905C7.48389 12.7428 7.9316 13.1905 8.48389 13.1905H11.2216L12.2955 14.2644L13.3695 13.1905H14.1593C14.7116 13.1905 15.1593 12.7428 15.1593 12.1905V8.46289C15.1593 7.91061 14.7116 7.46289 14.1593 7.46289H12.2955",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M0.840332 3.73535C0.840332 2.63078 1.73576 1.73535 2.84033 1.73535H10.2955C11.4001 1.73535 12.2955 2.63078 12.2955 3.73535V8.32676C12.2955 9.43132 11.4001 10.3268 10.2955 10.3268H5.6014L4.1695 11.7587L3.05978 10.3268H2.84033C1.73576 10.3268 0.840332 9.43133 0.840332 8.32676V3.73535Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M6.41016 6.1311H6.76813M8.91626 6.1311H9.27424M3.90454 6.1311H4.26252",strokeLinecap:"round",strokeWidth:1.2}}]},pe=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"reply-to-comment-single",ref:e,icon:Le}))});pe.displayName="ReplyToCommentSingle";var Ve={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6106 15.4036C12.4766 15.4036 15.6106 12.2696 15.6106 8.40356C15.6106 4.53757 12.4766 1.40356 8.6106 1.40356C4.7446 1.40356 1.6106 4.53757 1.6106 8.40356C1.6106 12.2696 4.7446 15.4036 8.6106 15.4036ZM12.3351 6.82773C12.5694 6.59342 12.5694 6.21352 12.3351 5.9792C12.1007 5.74489 11.7208 5.74489 11.4865 5.9792L7.91079 9.55494L6.33506 7.9792C6.10074 7.74489 5.72084 7.74489 5.48653 7.9792C5.25221 8.21352 5.25221 8.59342 5.48653 8.82773L7.48653 10.8277C7.72084 11.062 8.10074 11.062 8.33506 10.8277L12.3351 6.82773Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ge=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"resolved-single",ref:e,icon:Ve}))});ge.displayName="ResolvedSingle";var Be={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"circle",attrs:{cx:8.73,cy:8.4,r:6.4,stroke:"currentColor",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M6.02637 8.40356L8.02637 10.4036L12.0264 6.40356",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.2}}]},Ce=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"solve-single",ref:e,icon:Be}))});Ce.displayName="SolveSingle";function Ie(t){return{id:"d",body:t,documentStyle:{}}}const be=d.forwardRef((t,e)=>{var L;const{comment:n,onSave:r,id:i,onCancel:a,autoFocus:v,unitId:C,type:I}=t,O=f.useDependency(l.ICommandService),M=f.useDependency(l.LocaleService),[F,j]=d.useState(!1),T=f.useDependency(se.IEditorService),h=d.useRef(null),p=I===l.UniverInstanceType.UNIVER_SHEET?l.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:C,[k,N]=d.useState(()=>{var m,g,b;return l.BuildTextUtils.transform.getPlainText((b=(g=(m=h.current)==null?void 0:m.getDocumentData().body)==null?void 0:g.dataStream)!=null?b:"")});d.useEffect(()=>{var g,b,U,x;N(l.BuildTextUtils.transform.getPlainText((U=(b=(g=h.current)==null?void 0:g.getDocumentData().body)==null?void 0:b.dataStream)!=null?U:""));const m=(x=h.current)==null?void 0:x.selectionChange$.subscribe(()=>{var o,w,G;N(l.BuildTextUtils.transform.getPlainText((G=(w=(o=h.current)==null?void 0:o.getDocumentData().body)==null?void 0:w.dataStream)!=null?G:""))});return()=>m==null?void 0:m.unsubscribe()},[(L=h.current)==null?void 0:L.selectionChange$]);const q=d.useMemo(()=>({keyCodes:[{keyCode:f.KeyCode.ENTER}],handler:m=>{m===f.KeyCode.ENTER&&O.executeCommand(se.BreakLineCommand.id)}}),[O]);d.useImperativeHandle(e,()=>({reply(m){var b,U;if(!h.current)return;T.focus((b=h.current.getEditorId())!=null?b:"");const g=Ie(m);(U=h.current)==null||U.setDocumentData(g,[{startOffset:g.body.dataStream.length-2,endOffset:g.body.dataStream.length-2,collapsed:!0}])}}));const S=()=>{if(h.current){const m=l.Tools.deepClone(h.current.getDocumentData().body);j(!1),r==null||r({...n,text:m}),h.current.replaceText(""),setTimeout(()=>{var g,b;(g=h.current)==null||g.setSelectionRanges([]),(b=h.current)==null||b.blur()},10)}};return s.jsxs("div",{onClick:m=>m.preventDefault(),children:[s.jsx(se.RichTextEditor,{className:"univer-w-full",editorRef:h,autoFocus:v,keyboardEventConfig:q,placeholder:M.t("threadCommentUI.editor.placeholder"),initialValue:(n==null?void 0:n.text)&&Ie(n.text),onFocusChange:m=>m&&j(m),isSingle:!1,maxHeight:64,onClickOutside:()=>{setTimeout(()=>{T.focus(p)},30)}}),F?s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-end",children:[s.jsx(B.Button,{style:{marginRight:12},onClick:()=>{var m;a==null||a(),j(!1),(m=h.current)==null||m.replaceText("",!0),O.executeCommand(z.id)},children:M.t("threadCommentUI.editor.cancel")}),s.jsx(B.Button,{variant:"primary",disabled:!k,onClick:S,children:M.t(i?"threadCommentUI.editor.save":"threadCommentUI.editor.reply")})]}):null]})}),Ae=t=>{const{dataStream:e,customRanges:n}=t,r=e.endsWith(`\r
2
- `)?e.length-2:e.length,i=[];let a=0;return n==null||n.forEach(v=>{a<v.startIndex&&i.push({type:"text",content:e.slice(a,v.startIndex)}),i.push({type:"mention",content:{label:e.slice(v.startIndex,v.endIndex+1),id:v.rangeId}}),a=v.endIndex+1}),i.push({type:"text",content:e.slice(a,r)}),i},We=t=>{const{paragraphs:e=[]}=t;let n=0;return e.map(r=>{const i=l.getBodySlice(t,n,r.startIndex);return n=r.startIndex+1,Ae(i)})},Fe=t=>{let e="";const n=[];return t.forEach(r=>{switch(r.type){case"text":e+=r.content;break;case"mention":{const i=e.length;e+=r.content.label;const a=e.length-1;n.push({rangeId:r.content.id,rangeType:l.CustomRangeType.MENTION,startIndex:i,endIndex:a,properties:{},wholeEntity:!0});break}}}),e+=`\r
3
- `,{textRuns:[],paragraphs:[{startIndex:e.length-2,paragraphStyle:{}}],sectionBreaks:[{startIndex:e.length-1}],dataStream:e,customRanges:n}},xe="__mock__",qe=t=>{const{item:e,unitId:n,subUnitId:r,editing:i,onEditingChange:a,onReply:v,resolved:C,isRoot:I,onClose:O,onDeleteComment:M,type:F}=t,j=f.useDependency(l.ICommandService),T=f.useDependency(l.LocaleService),h=f.useDependency(l.UserManagerService),p=h.getUser(e.personId),k=f.useObservable(h.currentUser$),N=(k==null?void 0:k.userID)===e.personId,q=e.id===xe,[S,L]=d.useState(!1),m=f.useConfigValue(f.UI_PLUGIN_CONFIG_KEY),g=m==null?void 0:m.avatarFallback,b=()=>{(M==null?void 0:M(e))!==!1&&(j.executeCommand(I?_.DeleteCommentTreeCommand.id:_.DeleteCommentCommand.id,{unitId:n,subUnitId:r,commentId:e.id}),I&&(O==null||O()))};return s.jsxs("div",{className:"univer-relative univer-mb-3 univer-pl-[30px]",onMouseLeave:()=>L(!1),onMouseEnter:()=>L(!0),children:[s.jsx("div",{className:`
1
+ (function(c,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("@univerjs/core"),require("@univerjs/thread-comment"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("react"),require("@univerjs/docs-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/thread-comment","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","react","@univerjs/docs-ui"],a):(c=typeof globalThis<"u"?globalThis:c||self,a(c.UniverThreadCommentUi={},c.UniverCore,c.UniverThreadComment,c.UniverUi,c.rxjs,c.React,c.UniverDesign,c.React,c.UniverDocsUi))})(this,function(c,a,_,f,X,s,L,d,se){"use strict";var Ke=Object.defineProperty;var Ge=(c,a,_)=>a in c?Ke(c,a,{enumerable:!0,configurable:!0,writable:!0,value:_}):c[a]=_;var Y=(c,a,_)=>Ge(c,typeof a!="symbol"?a+"":a,_);var Se=Object.getOwnPropertyDescriptor,_e=(t,e,n,r)=>{for(var i=r>1?void 0:r?Se(e,n):e,l=t.length-1,v;l>=0;l--)(v=t[l])&&(i=v(i)||i);return i},le=(t,e)=>(n,r)=>e(n,r,t);c.ThreadCommentPanelService=class extends a.Disposable{constructor(n,r){super();Y(this,"_panelVisible",!1);Y(this,"_panelVisible$",new X.BehaviorSubject(!1));Y(this,"_activeCommentId");Y(this,"_activeCommentId$",new X.BehaviorSubject(void 0));Y(this,"panelVisible$",this._panelVisible$.asObservable());Y(this,"activeCommentId$",this._activeCommentId$.asObservable());this._sidebarService=n,this._univerInstanceService=r,this._init(),this.disposeWithMe(()=>{this._activeCommentId$.complete(),this._panelVisible$.complete()})}_init(){this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(n=>{n.visible||this.setPanelVisible(!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(X.filter(n=>!n)).subscribe(()=>{this._sidebarService.close()}))}get panelVisible(){return this._panelVisible}get activeCommentId(){return this._activeCommentId}setPanelVisible(n){this._panelVisible=n,this._panelVisible$.next(n)}setActiveComment(n){this._activeCommentId=n,this._activeCommentId$.next(n)}},c.ThreadCommentPanelService=_e([le(0,a.Inject(f.ISidebarService)),le(1,a.IUniverInstanceService)],c.ThreadCommentPanelService);const oe="thread-comment-panel",Te="UNIVER_THREAD_COMMENT_UI_PLUGIN",de={id:"thread-comment-ui.operation.toggle-panel",type:a.CommandType.OPERATION,handler(t){const e=t.get(f.ISidebarService),n=t.get(c.ThreadCommentPanelService);return n.panelVisible?(e.close(),n.setPanelVisible(!1)):(e.open({header:{title:"threadCommentUI.panel.title"},children:{label:oe},width:330}),n.setPanelVisible(!0)),!0}},z={id:"thread-comment-ui.operation.set-active-comment",type:a.CommandType.OPERATION,handler(t,e){return t.get(c.ThreadCommentPanelService).setActiveComment(e),!0}},Ne="thread-comment-ui.config",ue={};var Ue=Object.defineProperty,we=Object.getOwnPropertyDescriptor,Oe=(t,e,n)=>e in t?Ue(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,De=(t,e,n,r)=>{for(var i=r>1?void 0:r?we(e,n):e,l=t.length-1,v;l>=0;l--)(v=t[l])&&(i=v(i)||i);return i},ae=(t,e)=>(n,r)=>e(n,r,t),ce=(t,e,n)=>Oe(t,typeof e!="symbol"?e+"":e,n);c.UniverThreadCommentUIPlugin=class extends a.Plugin{constructor(e=ue,n,r,i){super(),this._config=e,this._injector=n,this._commandService=r,this._configService=i;const{menu:l,...v}=a.merge({},ue,this._config);l&&this._configService.setConfig("menu",l,{merge:!0}),this._configService.setConfig(Ne,v)}onStarting(){var e;a.mergeOverrideWithDependencies([[c.ThreadCommentPanelService]],(e=this._config)==null?void 0:e.overrides).forEach(n=>{this._injector.add(n)}),[de,z].forEach(n=>{this._commandService.registerCommand(n)})}},ce(c.UniverThreadCommentUIPlugin,"pluginName",Te),ce(c.UniverThreadCommentUIPlugin,"type",a.UniverInstanceType.UNIVER_UNKNOWN),c.UniverThreadCommentUIPlugin=De([a.DependentOn(_.UniverThreadCommentPlugin),ae(1,a.Inject(a.Injector)),ae(2,a.ICommandService),ae(3,a.IConfigService)],c.UniverThreadCommentUIPlugin);var E=function(){return E=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++){e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},E.apply(this,arguments)},Ee=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n},K=d.forwardRef(function(t,e){var n=t.icon,r=t.id,i=t.className,l=t.extend,v=Ee(t,["icon","id","className","extend"]),C="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),I=d.useRef("_".concat(je()));return ve(n,"".concat(r),{defIds:n.defIds,idSuffix:I.current},E({ref:e,className:C},v),l)});function ve(t,e,n,r,i){return d.createElement(t.tag,E(E({key:e},ke(t,n,i)),r),(Me(t,n).children||[]).map(function(l,v){return ve(l,"".concat(e,"-").concat(t.tag,"-").concat(v),n,void 0,i)}))}function ke(t,e,n){var r=E({},t.attrs);n!=null&&n.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=n.colorChannel1),t.tag==="mask"&&r.id&&(r.id=r.id+e.idSuffix),Object.entries(r).forEach(function(l){var v=l[0],C=l[1];v==="mask"&&typeof C=="string"&&(r[v]=C.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var i=e.defIds;return!i||i.length===0||(t.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+e.idSuffix),Object.entries(r).forEach(function(l){var v=l[0],C=l[1];typeof C=="string"&&(r[v]=C.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),r}function Me(t,e){var n,r=e.defIds;return!r||r.length===0?t:t.tag==="defs"&&(!((n=t.children)===null||n===void 0)&&n.length)?E(E({},t),{children:t.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?E(E({},i),{attrs:E(E({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):t}function je(){return Math.random().toString(36).substring(2,8)}K.displayName="UniverIcon";var Pe={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993.866699 5.9313.866699H10.069C10.4004.866699 10.669 1.13533 10.669 1.4667 10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667zM1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443 14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443zM6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928 9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171 10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778 9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539 9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263 6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539 5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778 6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},me=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"delete-single",ref:e,icon:Pe}))});me.displayName="DeleteSingle";var $e={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z"}}]},fe=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"increase-single",ref:e,icon:$e}))});fe.displayName="IncreaseSingle";var He={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M3 9C3.55228 9 4 8.55228 4 8 4 7.44772 3.55228 7 3 7 2.44772 7 2 7.44772 2 8 2 8.55228 2.44772 9 3 9zM8 9C8.55228 9 9 8.55228 9 8 9 7.44772 8.55228 7 8 7 7.44772 7 7 7.44772 7 8 7 8.55228 7.44772 9 8 9zM13 9C13.5523 9 14 8.55228 14 8 14 7.44772 13.5523 7 13 7 12.4477 7 12 7.44772 12 8 12 8.55228 12.4477 9 13 9z"}}]},he=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"more-horizontal-single",ref:e,icon:He}))});he.displayName="MoreHorizontalSingle";var Le={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{stroke:"currentColor",d:"M7.48389 10.3267V12.1905C7.48389 12.7428 7.9316 13.1905 8.48389 13.1905H11.2216L12.2955 14.2644L13.3695 13.1905H14.1593C14.7116 13.1905 15.1593 12.7428 15.1593 12.1905V8.46289C15.1593 7.91061 14.7116 7.46289 14.1593 7.46289H12.2955",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M0.840332 3.73535C0.840332 2.63078 1.73576 1.73535 2.84033 1.73535H10.2955C11.4001 1.73535 12.2955 2.63078 12.2955 3.73535V8.32676C12.2955 9.43132 11.4001 10.3268 10.2955 10.3268H5.6014L4.1695 11.7587L3.05978 10.3268H2.84033C1.73576 10.3268 0.840332 9.43133 0.840332 8.32676V3.73535Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M6.41016 6.1311H6.76813M8.91626 6.1311H9.27424M3.90454 6.1311H4.26252",strokeLinecap:"round",strokeWidth:1.2}}]},pe=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"reply-to-comment-single",ref:e,icon:Le}))});pe.displayName="ReplyToCommentSingle";var Ve={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6106 15.4036C12.4766 15.4036 15.6106 12.2696 15.6106 8.40356C15.6106 4.53757 12.4766 1.40356 8.6106 1.40356C4.7446 1.40356 1.6106 4.53757 1.6106 8.40356C1.6106 12.2696 4.7446 15.4036 8.6106 15.4036ZM12.3351 6.82773C12.5694 6.59342 12.5694 6.21352 12.3351 5.9792C12.1007 5.74489 11.7208 5.74489 11.4865 5.9792L7.91079 9.55494L6.33506 7.9792C6.10074 7.74489 5.72084 7.74489 5.48653 7.9792C5.25221 8.21352 5.25221 8.59342 5.48653 8.82773L7.48653 10.8277C7.72084 11.062 8.10074 11.062 8.33506 10.8277L12.3351 6.82773Z",fillRule:"evenodd",clipRule:"evenodd"}}]},ge=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"resolved-single",ref:e,icon:Ve}))});ge.displayName="ResolvedSingle";var Be={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 17",width:"1em",height:"1em"},children:[{tag:"circle",attrs:{cx:8.73,cy:8.4,r:6.4,stroke:"currentColor",strokeWidth:1.2}},{tag:"path",attrs:{stroke:"currentColor",d:"M6.02637 8.40356L8.02637 10.4036L12.0264 6.40356",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.2}}]},Ce=d.forwardRef(function(t,e){return d.createElement(K,Object.assign({},t,{id:"solve-single",ref:e,icon:Be}))});Ce.displayName="SolveSingle";function Ie(t){return{id:"d",body:t,documentStyle:{}}}const be=d.forwardRef((t,e)=>{var V;const{comment:n,onSave:r,id:i,onCancel:l,autoFocus:v,unitId:C,type:I}=t,O=f.useDependency(a.ICommandService),k=f.useDependency(a.LocaleService),[F,M]=d.useState(!1),T=f.useDependency(se.IEditorService),h=d.useRef(null),p=I===a.UniverInstanceType.UNIVER_SHEET?a.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:C,[j,N]=d.useState(()=>{var m,g,b;return a.BuildTextUtils.transform.getPlainText((b=(g=(m=h.current)==null?void 0:m.getDocumentData().body)==null?void 0:g.dataStream)!=null?b:"")});d.useEffect(()=>{var g,b,U,x;N(a.BuildTextUtils.transform.getPlainText((U=(b=(g=h.current)==null?void 0:g.getDocumentData().body)==null?void 0:b.dataStream)!=null?U:""));const m=(x=h.current)==null?void 0:x.selectionChange$.subscribe(()=>{var o,w,G;N(a.BuildTextUtils.transform.getPlainText((G=(w=(o=h.current)==null?void 0:o.getDocumentData().body)==null?void 0:w.dataStream)!=null?G:""))});return()=>m==null?void 0:m.unsubscribe()},[(V=h.current)==null?void 0:V.selectionChange$]);const q=d.useMemo(()=>({keyCodes:[{keyCode:f.KeyCode.ENTER}],handler:m=>{m===f.KeyCode.ENTER&&O.executeCommand(se.BreakLineCommand.id)}}),[O]);d.useImperativeHandle(e,()=>({reply(m){var b,U;if(!h.current)return;T.focus((b=h.current.getEditorId())!=null?b:"");const g=Ie(m);(U=h.current)==null||U.setDocumentData(g,[{startOffset:g.body.dataStream.length-2,endOffset:g.body.dataStream.length-2,collapsed:!0}])}}));const y=()=>{if(h.current){const m=a.Tools.deepClone(h.current.getDocumentData().body);M(!1),r==null||r({...n,text:m}),h.current.replaceText(""),setTimeout(()=>{var g,b;(g=h.current)==null||g.setSelectionRanges([]),(b=h.current)==null||b.blur()},10)}};return s.jsxs("div",{onClick:m=>m.preventDefault(),children:[s.jsx(se.RichTextEditor,{className:"univer-w-full",editorRef:h,autoFocus:v,keyboardEventConfig:q,placeholder:k.t("threadCommentUI.editor.placeholder"),initialValue:(n==null?void 0:n.text)&&Ie(n.text),onFocusChange:m=>m&&M(m),isSingle:!1,maxHeight:64,onClickOutside:()=>{setTimeout(()=>{T.focus(p)},30)}}),F?s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-end",children:[s.jsx(L.Button,{style:{marginRight:12},onClick:()=>{var m;l==null||l(),M(!1),(m=h.current)==null||m.replaceText("",!0),O.executeCommand(z.id)},children:k.t("threadCommentUI.editor.cancel")}),s.jsx(L.Button,{variant:"primary",disabled:!j,onClick:y,children:k.t(i?"threadCommentUI.editor.save":"threadCommentUI.editor.reply")})]}):null]})}),Ae=t=>{const{dataStream:e,customRanges:n}=t,r=e.endsWith(`\r
2
+ `)?e.length-2:e.length,i=[];let l=0;return n==null||n.forEach(v=>{l<v.startIndex&&i.push({type:"text",content:e.slice(l,v.startIndex)}),i.push({type:"mention",content:{label:e.slice(v.startIndex,v.endIndex+1),id:v.rangeId}}),l=v.endIndex+1}),i.push({type:"text",content:e.slice(l,r)}),i},We=t=>{const{paragraphs:e=[]}=t;let n=0;return e.map(r=>{const i=a.getBodySlice(t,n,r.startIndex);return n=r.startIndex+1,Ae(i)})},Fe=t=>{let e="";const n=[];return t.forEach(r=>{switch(r.type){case"text":e+=r.content;break;case"mention":{const i=e.length;e+=r.content.label;const l=e.length-1;n.push({rangeId:r.content.id,rangeType:a.CustomRangeType.MENTION,startIndex:i,endIndex:l,properties:{},wholeEntity:!0});break}}}),e+=`\r
3
+ `,{textRuns:[],paragraphs:[{startIndex:e.length-2,paragraphStyle:{}}],sectionBreaks:[{startIndex:e.length-1}],dataStream:e,customRanges:n}},xe="__mock__",qe=t=>{const{item:e,unitId:n,subUnitId:r,editing:i,onEditingChange:l,onReply:v,resolved:C,isRoot:I,onClose:O,onDeleteComment:k,type:F}=t,M=f.useDependency(a.ICommandService),T=f.useDependency(a.LocaleService),h=f.useDependency(a.UserManagerService),p=h.getUser(e.personId),j=f.useObservable(h.currentUser$),N=(j==null?void 0:j.userID)===e.personId,q=e.id===xe,[y,V]=d.useState(!1),m=f.useConfigValue(f.UI_PLUGIN_CONFIG_KEY),g=m==null?void 0:m.avatarFallback,b=()=>{(k==null?void 0:k(e))!==!1&&(M.executeCommand(I?_.DeleteCommentTreeCommand.id:_.DeleteCommentCommand.id,{unitId:n,subUnitId:r,commentId:e.id}),I&&(O==null||O()))};return s.jsxs("div",{className:"univer-relative univer-mb-3 univer-pl-[30px]",onMouseLeave:()=>V(!1),onMouseEnter:()=>V(!0),children:[s.jsx("div",{className:`
4
4
  univer-absolute univer-left-0 univer-top-0 univer-h-6 univer-w-6 univer-rounded-full univer-bg-cover
5
5
  univer-bg-center univer-bg-no-repeat
6
- `,style:{backgroundImage:`url(${(p==null?void 0:p.avatar)||g})`}}),p?s.jsxs("div",{className:"univer-mb-1 univer-flex univer-h-6 univer-items-center univer-justify-between",children:[s.jsx("div",{className:"univer-text-sm univer-font-medium univer-leading-5",children:(p==null?void 0:p.name)||" "}),s.jsxs("div",{children:[q||C?null:S&&p?s.jsx("div",{className:`
6
+ `,style:{backgroundImage:`url(${(p==null?void 0:p.avatar)||g})`}}),p?s.jsxs("div",{className:"univer-mb-1 univer-flex univer-h-6 univer-items-center univer-justify-between",children:[s.jsx("div",{className:"univer-text-sm univer-font-medium univer-leading-5",children:(p==null?void 0:p.name)||" "}),s.jsxs("div",{children:[q||C?null:y&&p?s.jsx("div",{className:`
7
7
  univer-ml-1 univer-inline-flex univer-h-6 univer-w-6
8
8
  univer-cursor-pointer univer-items-center univer-justify-center
9
9
  univer-rounded-sm univer-text-base
10
10
  hover:univer-bg-gray-50
11
- `,onClick:()=>v(p),children:s.jsx(pe,{})}):null,N&&!q&&!C?s.jsx(B.Dropdown,{overlay:s.jsx("div",{className:"univer-rounded-lg",children:s.jsxs("ul",{className:`
11
+ `,onClick:()=>v(p),children:s.jsx(pe,{})}):null,N&&!q&&!C?s.jsx(L.Dropdown,{overlay:s.jsx("div",{className:"univer-rounded-lg",children:s.jsxs("ul",{className:`
12
12
  univer-m-0 univer-box-border univer-grid univer-list-none
13
- univer-p-1.5 univer-text-[13px] univer-text-sm
13
+ univer-p-1.5 univer-text-sm
14
14
  [&_a]:univer-block [&_a]:univer-cursor-pointer
15
15
  [&_a]:univer-rounded [&_a]:univer-px-2 [&_a]:univer-py-1.5
16
16
  [&_a]:univer-transition-colors
17
- `,children:[s.jsx("li",{children:s.jsx("a",{className:"hover:univer-bg-gray-200",onClick:()=>a==null?void 0:a(!0),children:T.t("threadCommentUI.item.edit")})}),s.jsx("li",{children:s.jsx("a",{className:"hover:univer-bg-gray-200",onClick:b,children:T.t("threadCommentUI.item.delete")})})]})}),children:s.jsx("div",{className:`
17
+ `,children:[s.jsx("li",{children:s.jsx("a",{className:"hover:univer-bg-gray-200",onClick:()=>l==null?void 0:l(!0),children:T.t("threadCommentUI.item.edit")})}),s.jsx("li",{children:s.jsx("a",{className:"hover:univer-bg-gray-200",onClick:b,children:T.t("threadCommentUI.item.delete")})})]})}),children:s.jsx("div",{className:`
18
18
  univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer
19
19
  univer-items-center univer-justify-center univer-rounded-sm
20
20
  univer-text-base
21
21
  hover:univer-bg-gray-50
22
- `,children:s.jsx(he,{})})}):null]})]}):null,s.jsx("div",{className:"univer-mb-1 univer-text-xs/normal univer-text-gray-600",children:e.dT}),i?s.jsx(be,{type:F,id:e.id,comment:e,onCancel:()=>a==null?void 0:a(!1),autoFocus:!0,unitId:n,subUnitId:r,onSave:({text:U,attachments:x})=>{a==null||a(!1),j.executeCommand(_.UpdateCommentCommand.id,{unitId:n,subUnitId:r,payload:{commentId:e.id,text:U,attachments:x}})}}):s.jsx("div",{className:"univer-text-[13px]/normal univer-text-gray-900",children:We(e.text).map((U,x)=>s.jsx("div",{className:"univer-break-words",children:U.map((o,w)=>{switch(o.type){case"mention":return s.jsxs("a",{className:"univer-text-primary-600",children:[o.content.label," "]},w);default:return o.content}})},x))})]})},ye=t=>{var ie,Q,u;const{id:e,unitId:n,subUnitId:r,refStr:i,showEdit:a=!0,onClick:v,showHighlight:C,onClose:I,getSubUnitName:O,prefix:M,autoFocus:F,onMouseEnter:j,onMouseLeave:T,onAddComment:h,onDeleteComment:p,onResolve:k,type:N,style:q,full:S}=t,L=f.useDependency(_.ThreadCommentModel),[m,g]=d.useState(!1),[b,U]=d.useState(""),x=d.useMemo(()=>L.commentUpdate$.pipe(X.debounceTime(16)),[L]);f.useObservable(x);const o=e?L.getCommentWithChildren(n,r,e):null,w=f.useDependency(l.ICommandService),G=f.useDependency(l.UserManagerService),P=o==null?void 0:o.root.resolved,$=f.useObservable(G.currentUser$),A=d.useRef(null),R=[...o?[o.root]:[{id:xe,text:{dataStream:`
23
- \r`},personId:(ie=$==null?void 0:$.userID)!=null?ie:"",ref:i!=null?i:"",dT:"",unitId:n,subUnitId:r,threadId:""}],...(Q=o==null?void 0:o.children)!=null?Q:[]],V=d.useRef(null),ee=y=>{y.stopPropagation(),P?w.executeCommand(z.id,{unitId:n,subUnitId:r,commentId:e}):w.executeCommand(z.id),w.executeCommand(_.ResolveCommentCommand.id,{unitId:n,subUnitId:r,commentId:e,resolved:!P}),k==null||k(!P)},J=y=>{y.stopPropagation(),w.executeCommand(z.id),!(o!=null&&o.root&&(p==null?void 0:p(o.root))===!1)&&(w.executeCommand(_.DeleteCommentTreeCommand.id,{unitId:n,subUnitId:r,commentId:e}),I==null||I())};d.useEffect(()=>T==null?void 0:T(),[]);const ne=O((u=o==null?void 0:o.root.subUnitId)!=null?u:r),te=a&&!b&&!P,re=`${i||(o==null?void 0:o.root.ref)||""}${ne?" · ":""}${ne}`;return s.jsxs("div",{className:B.clsx(`
24
- univer-relative univer-box-border univer-rounded-md univer-border univer-border-solid
25
- univer-border-gray-200 univer-bg-white univer-p-4
26
- `,S?"univer-w-full":"univer-w-[278px]",{"univer-shadow":!P&&(C||m||M==="cell")}),style:q,onClick:v,id:`${M}-${n}-${r}-${e}`,onMouseEnter:()=>{j==null||j(),g(!0)},onMouseLeave:()=>{T==null||T(),g(!1)},children:[!P&&C?s.jsx("div",{className:`
22
+ `,children:s.jsx(he,{})})}):null]})]}):null,s.jsx("time",{className:`
23
+ univer-mb-1 univer-text-xs/normal univer-text-gray-600
24
+ dark:univer-text-gray-400
25
+ `,children:e.dT}),i?s.jsx(be,{type:F,id:e.id,comment:e,onCancel:()=>l==null?void 0:l(!1),autoFocus:!0,unitId:n,subUnitId:r,onSave:({text:U,attachments:x})=>{l==null||l(!1),M.executeCommand(_.UpdateCommentCommand.id,{unitId:n,subUnitId:r,payload:{commentId:e.id,text:U,attachments:x}})}}):s.jsx("div",{className:`
26
+ univer-text-smmal univer-text-gray-900
27
+ dark:univer-text-white
28
+ `,children:We(e.text).map((U,x)=>s.jsx("div",{className:"univer-break-words",children:U.map((o,w)=>{switch(o.type){case"mention":return s.jsxs("a",{className:"univer-text-primary-600",children:[o.content.label," "]},w);default:return o.content}})},x))})]})},ye=t=>{var ie,Q,u;const{id:e,unitId:n,subUnitId:r,refStr:i,showEdit:l=!0,onClick:v,showHighlight:C,onClose:I,getSubUnitName:O,prefix:k,autoFocus:F,onMouseEnter:M,onMouseLeave:T,onAddComment:h,onDeleteComment:p,onResolve:j,type:N,style:q,full:y}=t,V=f.useDependency(_.ThreadCommentModel),[m,g]=d.useState(!1),[b,U]=d.useState(""),x=d.useMemo(()=>V.commentUpdate$.pipe(X.debounceTime(16)),[V]);f.useObservable(x);const o=e?V.getCommentWithChildren(n,r,e):null,w=f.useDependency(a.ICommandService),G=f.useDependency(a.UserManagerService),P=o==null?void 0:o.root.resolved,$=f.useObservable(G.currentUser$),A=d.useRef(null),R=[...o?[o.root]:[{id:xe,text:{dataStream:`
29
+ \r`},personId:(ie=$==null?void 0:$.userID)!=null?ie:"",ref:i!=null?i:"",dT:"",unitId:n,subUnitId:r,threadId:""}],...(Q=o==null?void 0:o.children)!=null?Q:[]],B=d.useRef(null),ee=S=>{S.stopPropagation(),P?w.executeCommand(z.id,{unitId:n,subUnitId:r,commentId:e}):w.executeCommand(z.id),w.executeCommand(_.ResolveCommentCommand.id,{unitId:n,subUnitId:r,commentId:e,resolved:!P}),j==null||j(!P)},J=S=>{S.stopPropagation(),w.executeCommand(z.id),!(o!=null&&o.root&&(p==null?void 0:p(o.root))===!1)&&(w.executeCommand(_.DeleteCommentTreeCommand.id,{unitId:n,subUnitId:r,commentId:e}),I==null||I())};d.useEffect(()=>T==null?void 0:T(),[]);const ne=O((u=o==null?void 0:o.root.subUnitId)!=null?u:r),te=l&&!b&&!P,re=`${i||(o==null?void 0:o.root.ref)||""}${ne?" · ":""}${ne}`;return s.jsxs("div",{id:`${k}-${n}-${r}-${e}`,className:L.clsx(`
30
+ univer-relative univer-box-border univer-rounded-md univer-bg-white univer-p-4
31
+ dark:univer-bg-gray-900 dark:univer-text-white
32
+ `,L.borderClassName,{"univer-w-[278px]":!y,"univer-w-full":y,"univer-shadow":!P&&(C||m||k==="cell")}),style:q,onClick:v,onMouseEnter:()=>{M==null||M(),g(!0)},onMouseLeave:()=>{T==null||T(),g(!1)},children:[!P&&C?s.jsx("div",{className:`
27
33
  univer-absolute univer-left-0 univer-right-0 univer-top-0 univer-h-1.5 univer-rounded-t-md
28
34
  univer-bg-yellow-400
29
35
  `}):null,s.jsxs("div",{className:`
@@ -31,19 +37,21 @@
31
37
  univer-leading-5
32
38
  `,children:[s.jsxs("div",{className:"univer-flex univer-flex-1 univer-flex-row univer-items-center univer-overflow-hidden",children:[s.jsx("div",{className:`
33
39
  univer-mr-2 univer-h-3.5 univer-w-[3px] univer-flex-shrink-0 univer-flex-grow-0
34
- univer-rounded-sm univer-bg-yellow-400
35
- `}),s.jsx(B.Tooltip,{showIfEllipsis:!0,title:re,children:s.jsx("div",{className:`
40
+ univer-rounded-sm univer-bg-yellow-500
41
+ `}),s.jsx(L.Tooltip,{showIfEllipsis:!0,title:re,children:s.jsx("div",{className:`
36
42
  univer-flex-1 univer-overflow-hidden univer-text-ellipsis univer-whitespace-nowrap
37
- `,children:re})})]}),o?s.jsxs("div",{className:"univer-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-row",children:[s.jsx("div",{onClick:ee,className:B.clsx(`
43
+ `,children:re})})]}),o?s.jsxs("div",{className:"univer-flex univer-flex-shrink-0 univer-flex-grow-0 univer-flex-row",children:[s.jsx("div",{className:L.clsx(`
38
44
  univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer
39
45
  univer-items-center univer-justify-center univer-rounded-[3px] univer-text-base
46
+ dark:hover:univer-bg-gray-800
40
47
  hover:univer-bg-gray-50
41
- `,{"univer-text-green-500":P}),children:P?s.jsx(ge,{}):s.jsx(Ce,{})}),($==null?void 0:$.userID)===o.root.personId?s.jsx("div",{className:`
48
+ `,{"univer-text-green-500":P}),onClick:ee,children:P?s.jsx(ge,{}):s.jsx(Ce,{})}),($==null?void 0:$.userID)===o.root.personId?s.jsx("div",{className:`
42
49
  univer-ml-1 univer-inline-flex univer-h-6 univer-w-6 univer-cursor-pointer
43
50
  univer-items-center univer-justify-center univer-rounded-[3px]
44
51
  univer-text-base
52
+ dark:hover:univer-bg-gray-800
45
53
  hover:univer-bg-gray-50
46
- `,onClick:J,children:s.jsx(me,{})}):null]}):null]}),s.jsx("div",{ref:V,className:"univer-max-h-[300px] univer-overflow-y-auto univer-overflow-x-hidden",children:R.map(y=>s.jsx(qe,{onClose:I,unitId:n,subUnitId:r,item:y,isRoot:y.id===(o==null?void 0:o.root.id),editing:b===y.id,resolved:o==null?void 0:o.root.resolved,type:N,onEditingChange:H=>{U(H?y.id:"")},onReply:H=>{H&&requestAnimationFrame(()=>{var W;(W=A.current)==null||W.reply(Fe([{type:"mention",content:{id:H.userID,label:`@${H.name}`}},{type:"text",content:" "}]))})},onAddComment:h,onDeleteComment:p},y.id))}),te?s.jsx("div",{children:s.jsx(be,{ref:A,type:N,unitId:n,subUnitId:r,onSave:async({text:y,attachments:H})=>{const W={text:y,attachments:H,dT:_.getDT(),id:l.generateRandomId(),ref:i,personId:$==null?void 0:$.userID,parentId:o==null?void 0:o.root.id,unitId:n,subUnitId:r,threadId:o==null?void 0:o.root.threadId};(h==null?void 0:h(W))!==!1&&(await w.executeCommand(_.AddCommentCommand.id,{unitId:n,subUnitId:r,comment:W}),V.current&&(V.current.scrollTop=V.current.scrollHeight))},autoFocus:F||!o,onCancel:()=>{o||I==null||I()}},`${F}`)}):null]})},ze=t=>{const{unitId:e,subUnitId$:n,type:r,onAdd:i,getSubUnitName:a,onResolve:v,sortComments:C,onItemLeave:I,onItemEnter:O,disableAdd:M,tempComment:F,onAddComment:j,onDeleteComment:T,showComments:h}=t,[p,k]=d.useState("all"),[N,q]=d.useState("all"),S=f.useDependency(l.LocaleService),L=f.useDependency(l.UserManagerService),m=f.useDependency(_.ThreadCommentModel),[g,b]=d.useState(()=>m.getUnit(e)),U=f.useDependency(c.ThreadCommentPanelService),x=f.useObservable(U.activeCommentId$),o=f.useObservable(m.commentUpdate$),w=f.useDependency(l.ICommandService),G=f.useObservable(n),P=d.useRef(!0),$="panel",A=f.useObservable(L.currentUser$),R=d.useMemo(()=>{var W;const u=p==="all"?g:(W=g.filter(D=>D.subUnitId===G))!=null?W:[],y=C!=null?C:D=>D,H=u.map(D=>{var Z;return{...D.root,children:(Z=D.children)!=null?Z:[],users:D.relativeUsers}});if(h){const D=new Map;return H.forEach(Z=>{D.set(Z.id,Z)}),[...h,""].map(Z=>D.get(Z)).filter(Boolean)}else return y(H)},[h,p,g,C,G]),V=d.useMemo(()=>[...R.filter(u=>!u.resolved),...R.filter(u=>u.resolved)],[R]),ee=d.useMemo(()=>N==="resolved"?V.filter(u=>u.resolved):N==="unsolved"?V.filter(u=>!u.resolved):N==="concern_me"&&A!=null&&A.userID?V.filter(u=>u==null?void 0:u.users.has(A.userID)):V,[V,A==null?void 0:A.userID,N]),J=F?[F,...ee]:ee,ne=J.filter(u=>!u.resolved),te=J.filter(u=>u.resolved),re=N!=="all"||p!=="all",ie=()=>{q("all"),k("all")};d.useEffect(()=>{e&&b(m.getUnit(e))},[e,m,o]),d.useEffect(()=>{var D;if(!x)return;if(!P.current){P.current=!0;return}const{unitId:u,subUnitId:y,commentId:H}=x,W=`${$}-${u}-${y}-${H}`;(D=document.getElementById(W))==null||D.scrollIntoView({block:"center"})},[x]);const Q=u=>s.jsx(ye,{full:!0,prefix:$,getSubUnitName:a,id:u.id,unitId:u.unitId,subUnitId:u.subUnitId,refStr:u.ref,type:r,showEdit:(x==null?void 0:x.commentId)===u.id,showHighlight:(x==null?void 0:x.commentId)===u.id,onClick:()=>{P.current=!1,u.resolved?w.executeCommand(z.id):w.executeCommand(z.id,{unitId:u.unitId,subUnitId:u.subUnitId,commentId:u.id,temp:!1})},onMouseEnter:()=>O==null?void 0:O(u),onMouseLeave:()=>I==null?void 0:I(u),onAddComment:j,onDeleteComment:T,onResolve:y=>v==null?void 0:v(u.id,y)},u.id);return s.jsxs("div",{className:"univer-flex univer-min-h-full univer-flex-col univer-pb-3",children:[s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-between",children:[r===l.UniverInstanceType.UNIVER_SHEET?s.jsx(B.Select,{borderless:!0,value:p,options:[{value:"current",label:S.t("threadCommentUI.filter.sheet.current")},{value:"all",label:S.t("threadCommentUI.filter.sheet.all")}],onChange:k}):null,s.jsx(B.Select,{borderless:!0,value:N,options:[{value:"all",label:S.t("threadCommentUI.filter.status.all")},{value:"resolved",label:S.t("threadCommentUI.filter.status.resolved")},{value:"unsolved",label:S.t("threadCommentUI.filter.status.unsolved")},{value:"concern_me",label:S.t("threadCommentUI.filter.status.concernMe")}],onChange:q})]}),J.length===0?s.jsxs("div",{className:`
54
+ `,onClick:J,children:s.jsx(me,{})}):null]}):null]}),s.jsx("div",{ref:B,className:"univer-max-h-80 univer-overflow-y-auto univer-overflow-x-hidden",children:R.map(S=>s.jsx(qe,{onClose:I,unitId:n,subUnitId:r,item:S,isRoot:S.id===(o==null?void 0:o.root.id),editing:b===S.id,resolved:o==null?void 0:o.root.resolved,type:N,onEditingChange:H=>{U(H?S.id:"")},onReply:H=>{H&&requestAnimationFrame(()=>{var W;(W=A.current)==null||W.reply(Fe([{type:"mention",content:{id:H.userID,label:`@${H.name}`}},{type:"text",content:" "}]))})},onAddComment:h,onDeleteComment:p},S.id))}),te?s.jsx("div",{children:s.jsx(be,{ref:A,type:N,unitId:n,subUnitId:r,onSave:async({text:S,attachments:H})=>{const W={text:S,attachments:H,dT:_.getDT(),id:a.generateRandomId(),ref:i,personId:$==null?void 0:$.userID,parentId:o==null?void 0:o.root.id,unitId:n,subUnitId:r,threadId:o==null?void 0:o.root.threadId};(h==null?void 0:h(W))!==!1&&(await w.executeCommand(_.AddCommentCommand.id,{unitId:n,subUnitId:r,comment:W}),B.current&&(B.current.scrollTop=B.current.scrollHeight))},autoFocus:F||!o,onCancel:()=>{o||I==null||I()}},`${F}`)}):null]})},ze=t=>{const{unitId:e,subUnitId$:n,type:r,onAdd:i,getSubUnitName:l,onResolve:v,sortComments:C,onItemLeave:I,onItemEnter:O,disableAdd:k,tempComment:F,onAddComment:M,onDeleteComment:T,showComments:h}=t,[p,j]=d.useState("all"),[N,q]=d.useState("all"),y=f.useDependency(a.LocaleService),V=f.useDependency(a.UserManagerService),m=f.useDependency(_.ThreadCommentModel),[g,b]=d.useState(()=>m.getUnit(e)),U=f.useDependency(c.ThreadCommentPanelService),x=f.useObservable(U.activeCommentId$),o=f.useObservable(m.commentUpdate$),w=f.useDependency(a.ICommandService),G=f.useObservable(n),P=d.useRef(!0),$="panel",A=f.useObservable(V.currentUser$),R=d.useMemo(()=>{var W;const u=p==="all"?g:(W=g.filter(D=>D.subUnitId===G))!=null?W:[],S=C!=null?C:D=>D,H=u.map(D=>{var Z;return{...D.root,children:(Z=D.children)!=null?Z:[],users:D.relativeUsers}});if(h){const D=new Map;return H.forEach(Z=>{D.set(Z.id,Z)}),[...h,""].map(Z=>D.get(Z)).filter(Boolean)}else return S(H)},[h,p,g,C,G]),B=d.useMemo(()=>[...R.filter(u=>!u.resolved),...R.filter(u=>u.resolved)],[R]),ee=d.useMemo(()=>N==="resolved"?B.filter(u=>u.resolved):N==="unsolved"?B.filter(u=>!u.resolved):N==="concern_me"&&A!=null&&A.userID?B.filter(u=>u==null?void 0:u.users.has(A.userID)):B,[B,A==null?void 0:A.userID,N]),J=F?[F,...ee]:ee,ne=J.filter(u=>!u.resolved),te=J.filter(u=>u.resolved),re=N!=="all"||p!=="all",ie=()=>{q("all"),j("all")};d.useEffect(()=>{e&&b(m.getUnit(e))},[e,m,o]),d.useEffect(()=>{var D;if(!x)return;if(!P.current){P.current=!0;return}const{unitId:u,subUnitId:S,commentId:H}=x,W=`${$}-${u}-${S}-${H}`;(D=document.getElementById(W))==null||D.scrollIntoView({block:"center"})},[x]);const Q=u=>s.jsx(ye,{full:!0,prefix:$,getSubUnitName:l,id:u.id,unitId:u.unitId,subUnitId:u.subUnitId,refStr:u.ref,type:r,showEdit:(x==null?void 0:x.commentId)===u.id,showHighlight:(x==null?void 0:x.commentId)===u.id,onClick:()=>{P.current=!1,u.resolved?w.executeCommand(z.id):w.executeCommand(z.id,{unitId:u.unitId,subUnitId:u.subUnitId,commentId:u.id,temp:!1})},onMouseEnter:()=>O==null?void 0:O(u),onMouseLeave:()=>I==null?void 0:I(u),onAddComment:M,onDeleteComment:T,onResolve:S=>v==null?void 0:v(u.id,S)},u.id);return s.jsxs("div",{className:"univer-flex univer-min-h-full univer-flex-col univer-pb-3",children:[s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-row univer-justify-between",children:[r===a.UniverInstanceType.UNIVER_SHEET?s.jsx(L.Select,{borderless:!0,value:p,options:[{value:"current",label:y.t("threadCommentUI.filter.sheet.current")},{value:"all",label:y.t("threadCommentUI.filter.sheet.all")}],onChange:j}):null,s.jsx(L.Select,{borderless:!0,value:N,options:[{value:"all",label:y.t("threadCommentUI.filter.status.all")},{value:"resolved",label:y.t("threadCommentUI.filter.status.resolved")},{value:"unsolved",label:y.t("threadCommentUI.filter.status.unsolved")},{value:"concern_me",label:y.t("threadCommentUI.filter.status.concernMe")}],onChange:q})]}),J.length===0?s.jsxs("div",{className:`
47
55
  univer-flex univer-flex-1 univer-flex-col univer-items-center univer-justify-center
48
- univer-text-[13px] univer-text-gray-600
49
- `,children:[S.t("threadCommentUI.panel.empty"),re?s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsx(B.Button,{onClick:ie,children:S.t("threadCommentUI.panel.reset")})}):M?null:s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsxs(B.Button,{onClick:i,children:[s.jsx(fe,{className:"univer-mr-1.5"}),S.t("threadCommentUI.panel.add")]})})]}):s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-col univer-gap-3",children:[ne.map(Q),te.length>0&&s.jsx("div",{className:"univer-text-xs",children:S.t("threadCommentUI.panel.solved")}),te.map(Q)]})]})};c.SetActiveCommentOperation=z,c.THREAD_COMMENT_PANEL=oe,c.ThreadCommentPanel=ze,c.ThreadCommentTree=ye,c.ToggleSheetCommentPanelOperation=de,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
56
+ univer-text-sm univer-text-gray-600
57
+ `,children:[y.t("threadCommentUI.panel.empty"),re?s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsx(L.Button,{onClick:ie,children:y.t("threadCommentUI.panel.reset")})}):k?null:s.jsx("div",{className:"univer-mt-2 univer-flex univer-flex-row",children:s.jsxs(L.Button,{onClick:i,children:[s.jsx(fe,{className:"univer-mr-1.5"}),y.t("threadCommentUI.panel.add")]})})]}):s.jsxs("div",{className:"univer-mt-3 univer-flex univer-flex-col univer-gap-3",children:[ne.map(Q),te.length>0&&s.jsx("div",{className:"univer-text-xs",children:y.t("threadCommentUI.panel.solved")}),te.map(Q)]})]})};c.SetActiveCommentOperation=z,c.THREAD_COMMENT_PANEL=oe,c.ThreadCommentPanel=ze,c.ThreadCommentTree=ye,c.ToggleSheetCommentPanelOperation=de,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@univerjs/thread-comment-ui",
3
- "version": "0.7.0-nightly.202505081607",
3
+ "version": "0.7.0-nightly.202505091607",
4
4
  "private": false,
5
5
  "description": "Univer common thread comment UI plugin",
6
6
  "author": "DreamNum <developer@univer.ai>",
@@ -53,11 +53,11 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@univerjs/icons": "^0.3.24",
56
- "@univerjs/design": "0.7.0-nightly.202505081607",
57
- "@univerjs/core": "0.7.0-nightly.202505081607",
58
- "@univerjs/docs-ui": "0.7.0-nightly.202505081607",
59
- "@univerjs/ui": "0.7.0-nightly.202505081607",
60
- "@univerjs/thread-comment": "0.7.0-nightly.202505081607"
56
+ "@univerjs/core": "0.7.0-nightly.202505091607",
57
+ "@univerjs/docs-ui": "0.7.0-nightly.202505091607",
58
+ "@univerjs/thread-comment": "0.7.0-nightly.202505091607",
59
+ "@univerjs/ui": "0.7.0-nightly.202505091607",
60
+ "@univerjs/design": "0.7.0-nightly.202505091607"
61
61
  },
62
62
  "devDependencies": {
63
63
  "postcss": "^8.5.3",
@@ -67,7 +67,7 @@
67
67
  "typescript": "^5.8.3",
68
68
  "vite": "^6.3.5",
69
69
  "vitest": "^3.1.3",
70
- "@univerjs-infra/shared": "0.7.0-beta.0"
70
+ "@univerjs-infra/shared": "0.7.0-beta.1"
71
71
  },
72
72
  "scripts": {
73
73
  "test": "vitest run",