@univerjs/thread-comment-ui 0.5.4 → 0.5.5-experimental.20250122-3362a4a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1,11 +1,4 @@
1
- "use strict";var Oe=Object.defineProperty;var Re=(n,e,t)=>e in n?Oe(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var W=(n,e,t)=>Re(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),H=require("@univerjs/thread-comment"),V=require("@univerjs/ui"),se=require("rxjs"),m=require("react"),E=require("@univerjs/design"),Me=require("@univerjs/docs"),we=require("@univerjs/docs-ui"),De=require("@univerjs/engine-render");var $e=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Ae=(n,e,t,r)=>{for(var i=r>1?void 0:r?He(e,t):e,s=n.length-1,l;s>=0;s--)(l=n[s])&&(i=(r?l(e,t,i):l(i))||i);return r&&i&&$e(e,t,i),i},ce=(n,e)=>(t,r)=>e(t,r,n);exports.ThreadCommentPanelService=class extends a.Disposable{constructor(t,r){super();W(this,"_panelVisible",!1);W(this,"_panelVisible$",new se.BehaviorSubject(!1));W(this,"_activeCommentId");W(this,"_activeCommentId$",new se.BehaviorSubject(void 0));W(this,"panelVisible$",this._panelVisible$.asObservable());W(this,"activeCommentId$",this._activeCommentId$.asObservable());this._sidebarService=t,this._univerInstanceService=r,this._init(),this.disposeWithMe(()=>{this._activeCommentId$.complete(),this._panelVisible$.complete()})}_init(){this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(t=>{t.visible||this.setPanelVisible(!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(a.UniverInstanceType.UNIVER_SHEET).pipe(se.filter(t=>!t)).subscribe(()=>{this._sidebarService.close()}))}get panelVisible(){return this._panelVisible}get activeCommentId(){return this._activeCommentId}setPanelVisible(t){this._panelVisible=t,this._panelVisible$.next(t)}setActiveComment(t){this._activeCommentId=t,this._activeCommentId$.next(t)}};exports.ThreadCommentPanelService=Ae([ce(0,a.Inject(V.ISidebarService)),ce(1,a.IUniverInstanceService)],exports.ThreadCommentPanelService);const ve="thread-comment-panel",Le="UNIVER_THREAD_COMMENT_UI_PLUGIN",fe={id:"thread-comment-ui.operation.toggle-panel",type:a.CommandType.OPERATION,handler(n){const e=n.get(V.ISidebarService),t=n.get(exports.ThreadCommentPanelService);return t.panelVisible?(e.close(),t.setPanelVisible(!1)):(e.open({header:{title:"threadCommentUI.panel.title"},children:{label:ve},width:330}),t.setPanelVisible(!0)),!0}},B={id:"thread-comment-ui.operation.set-active-comment",type:a.CommandType.OPERATION,handler(n,e){return n.get(exports.ThreadCommentPanelService).setActiveComment(e),!0}},ke="thread-comment-ui.config",me={};var Ce=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,Be=(n,e,t)=>e in n?Ce(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,qe=(n,e,t,r)=>{for(var i=r>1?void 0:r?Ve(e,t):e,s=n.length-1,l;s>=0;s--)(l=n[s])&&(i=(r?l(e,t,i):l(i))||i);return r&&i&&Ce(e,t,i),i},de=(n,e)=>(t,r)=>e(t,r,n),pe=(n,e,t)=>Be(n,typeof e!="symbol"?e+"":e,t);exports.UniverThreadCommentUIPlugin=class extends a.Plugin{constructor(e=me,t,r,i){super(),this._config=e,this._injector=t,this._commandService=r,this._configService=i;const{menu:s,...l}=a.merge({},me,this._config);s&&this._configService.setConfig("menu",s,{merge:!0}),this._configService.setConfig(ke,l)}onStarting(){var e;a.mergeOverrideWithDependencies([[exports.ThreadCommentPanelService]],(e=this._config)==null?void 0:e.overrides).forEach(t=>{this._injector.add(t)}),[fe,B].forEach(t=>{this._commandService.registerCommand(t)})}};pe(exports.UniverThreadCommentUIPlugin,"pluginName",Le);pe(exports.UniverThreadCommentUIPlugin,"type",a.UniverInstanceType.UNIVER_UNKNOWN);exports.UniverThreadCommentUIPlugin=qe([a.DependentOn(H.UniverThreadCommentPlugin),de(1,a.Inject(a.Injector)),de(2,a.ICommandService),de(3,a.IConfigService)],exports.UniverThreadCommentUIPlugin);var le={exports:{}},ee={};/**
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;function Fe(){if(ue)return ee;ue=1;var n=m,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function l(v,u,T){var f,C={},p=null,y=null;T!==void 0&&(p=""+T),u.key!==void 0&&(p=""+u.key),u.ref!==void 0&&(y=u.ref);for(f in u)r.call(u,f)&&!s.hasOwnProperty(f)&&(C[f]=u[f]);if(v&&v.defaultProps)for(f in u=v.defaultProps,u)C[f]===void 0&&(C[f]=u[f]);return{$$typeof:e,type:v,key:p,ref:y,props:C,_owner:i.current}}return ee.Fragment=t,ee.jsx=l,ee.jsxs=l,ee}var he;function We(){return he||(he=1,le.exports=Fe()),le.exports}var o=We(),R=function(){return R=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},R.apply(this,arguments)},ze=function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(t[r[i]]=n[r[i]]);return t},z=m.forwardRef(function(n,e){var t=n.icon,r=n.id,i=n.className,s=n.extend,l=ze(n,["icon","id","className","extend"]),v="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),u=m.useRef("_".concat(Ge()));return ge(t,"".concat(r),{defIds:t.defIds,idSuffix:u.current},R({ref:e,className:v},l),s)});function ge(n,e,t,r,i){return m.createElement(n.tag,R(R({key:e},Ze(n,t,i)),r),(Je(n,t).children||[]).map(function(s,l){return ge(s,"".concat(e,"-").concat(n.tag,"-").concat(l),t,void 0,i)}))}function Ze(n,e,t){var r=R({},n.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1);var i=e.defIds;return!i||i.length===0||(n.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+e.idSuffix),Object.entries(r).forEach(function(s){var l=s[0],v=s[1];typeof v=="string"&&(r[l]=v.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),r}function Je(n,e){var t,r=e.defIds;return!r||r.length===0?n:n.tag==="defs"&&(!((t=n.children)===null||t===void 0)&&t.length)?R(R({},n),{children:n.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?R(R({},i),{attrs:R(R({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):n}function Ge(){return Math.random().toString(36).substring(2,8)}z.displayName="UniverIcon";var Ke={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"}}]},Ie=m.forwardRef(function(n,e){return m.createElement(z,Object.assign({},n,{id:"delete-single",ref:e,icon:Ke}))});Ie.displayName="DeleteSingle";var Ye={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"}}]},xe=m.forwardRef(function(n,e){return m.createElement(z,Object.assign({},n,{id:"increase-single",ref:e,icon:Ye}))});xe.displayName="IncreaseSingle";var Qe={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"}}]},Se=m.forwardRef(function(n,e){return m.createElement(z,Object.assign({},n,{id:"more-horizontal-single",ref:e,icon:Qe}))});Se.displayName="MoreHorizontalSingle";var Xe={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}}]},be=m.forwardRef(function(n,e){return m.createElement(z,Object.assign({},n,{id:"reply-to-comment-single",ref:e,icon:Xe}))});be.displayName="ReplyToCommentSingle";var et={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"}}]},ye=m.forwardRef(function(n,e){return m.createElement(z,Object.assign({},n,{id:"resolved-single",ref:e,icon:et}))});ye.displayName="ResolvedSingle";var tt={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}}]},_e=m.forwardRef(function(n,e){return m.createElement(z,Object.assign({},n,{id:"solve-single",ref:e,icon:tt}))});_e.displayName="SolveSingle";function Te(n){var e,t,r="";if(typeof n=="string"||typeof n=="number")r+=n;else if(typeof n=="object")if(Array.isArray(n)){var i=n.length;for(e=0;e<i;e++)n[e]&&(t=Te(n[e]))&&(r&&(r+=" "),r+=t)}else for(t in n)n[t]&&(r&&(r+=" "),r+=t);return r}function nt(){for(var n,e,t=0,r="",i=arguments.length;t<i;t++)(n=arguments[t])&&(e=Te(n))&&(r&&(r+=" "),r+=e);return r}const rt="univer-thread-comment-editor-buttons",it="univer-thread-comment-editor-suggestion",ot="univer-thread-comment-editor-suggestionActive",st="univer-thread-comment-editor-suggestion-icon",ae={threadCommentEditorButtons:rt,threadCommentEditorSuggestion:it,threadCommentEditorSuggestionActive:ot,threadCommentEditorSuggestionIcon:st},at=n=>{const e=/@\[(.*?)\]\((.*?)\)|(\w+)/g;let t,r=0;const i=[];for(;(t=e.exec(n))!==null;)t.index>r&&i.push({type:"text",content:n.substring(r,t.index)}),t[1]&&t[2]?i.push({type:"mention",content:{label:t[1],id:t[2]}}):t[3]&&i.push({type:"text",content:t[3]}),r=e.lastIndex;return r<n.length&&i.push({type:"text",content:n.substring(r)}),i},dt=n=>n.map(e=>{switch(e.type){case"mention":return`@[${e.content.label}](${e.content.id})`;default:return e.content}}).join(""),je=n=>{const{dataStream:e,customRanges:t}=n,r=e.length-2,i=[];let s=0;return t==null||t.forEach(l=>{s<l.startIndex&&i.push({type:"text",content:e.slice(s,l.startIndex)}),i.push({type:"mention",content:{label:e.slice(l.startIndex,l.endIndex).slice(1,-1),id:l.rangeId}}),s=l.endIndex}),i.push({type:"text",content:e.slice(s,r)}),i},Ue=n=>{let e="";const t=[];return n.forEach(r=>{switch(r.type){case"text":e+=r.content;break;case"mention":{const i=e.length;e+=`${r.content.label}`;const s=e.length;t.push({rangeId:r.content.id,rangeType:a.CustomRangeType.MENTION,startIndex:i,endIndex:s,properties:{}});break}}}),e+=`
10
- \r`,{textRuns:[],paragraphs:[{startIndex:e.length-2,paragraphStyle:{}}],sectionBreaks:[{startIndex:e.length-1}],dataStream:e,customRanges:t}},lt=(n,e,t,r,i)=>{var l,v;const s=(l=n.raw)==null?void 0:l.icon;return o.jsxs("div",{className:ae.threadCommentEditorSuggestion,children:[s?o.jsx("img",{className:ae.threadCommentEditorSuggestionIcon,src:s}):null,o.jsx("div",{children:(v=n.display)!=null?v:n.id})]})},Ne=m.forwardRef((n,e)=>{var A;const{comment:t,onSave:r,id:i,onCancel:s,autoFocus:l,unitId:v}=n,u=a.useDependency(a.IMentionIOService),T=a.useDependency(a.ICommandService),f=a.useDependency(a.LocaleService),[C,p]=m.useState({...t}),[y,g]=m.useState(!1),S=m.useRef(null),M=a.useDependency(Me.DocSelectionManagerService),U=(A=a.useDependency(De.IRenderManagerService).getCurrentTypeOfRenderer(a.UniverInstanceType.UNIVER_DOC))==null?void 0:A.with(we.DocSelectionRenderService);m.useImperativeHandle(e,()=>({reply(h){var b;p({...t,text:h,attachments:[]}),(b=S.current)==null||b.inputElement.focus()}}));const x=()=>{var h;C.text&&(r==null||r({...C,text:C.text}),g(!1),p({text:void 0}),(h=S.current)==null||h.inputElement.blur())};return o.jsxs("div",{className:ae.threadCommentEditor,onClick:h=>h.preventDefault(),children:[o.jsx(E.Mentions,{ref:S,autoFocus:l,style:{width:"100%"},placeholder:f.t("threadCommentUI.editor.placeholder"),value:C!=null&&C.text?dt(je(C.text)):"",onChange:h=>{h.target.value||p({...t,text:void 0}),p==null||p({...t,text:Ue(at(h.target.value))})},onFocus:()=>{const h=M.getActiveTextRange();h&&h.collapsed&&(U==null||U.removeAllRanges()),U==null||U.blur(),g(!0)},children:o.jsx(E.Mention,{trigger:"@",data:(h,b)=>u.list({search:h,unitId:v}).then(c=>c.list.map(w=>w.mentions.map(_=>({id:_.objectId,display:_.label,raw:_}))).flat()).then(b),displayTransform:(h,b)=>`@${b} `,renderSuggestion:lt},"@")}),y?o.jsxs("div",{className:ae.threadCommentEditorButtons,children:[o.jsx(E.Button,{style:{marginRight:12},onClick:()=>{s==null||s(),g(!1),p({text:void 0}),T.executeCommand(B.id)},children:f.t("threadCommentUI.editor.cancel")}),o.jsx(E.Button,{type:"primary",disabled:!C.text,onClick:x,children:f.t(i?"threadCommentUI.editor.save":"threadCommentUI.editor.reply")})]}):null]})}),ct="univer-thread-comment",mt="univer-thread-comment-active",ut="univer-thread-comment-content",ht="univer-thread-comment-highlight",vt="univer-thread-comment-icon-container",ft="univer-thread-comment-icon",Ct="univer-thread-comment-title",pt="univer-thread-comment-title-position",gt="univer-thread-comment-title-highlight",It="univer-thread-comment-title-position-text",xt="univer-thread-comment-username",St="univer-thread-comment-item",bt="univer-thread-comment-item-head",yt="univer-thread-comment-item-title",_t="univer-thread-comment-item-title-position",Tt="univer-thread-comment-item-title-highlight",jt="univer-thread-comment-item-time",Ut="univer-thread-comment-item-content",Nt="univer-thread-comment-item-at",I={threadComment:ct,threadCommentActive:mt,threadCommentContent:ut,threadCommentHighlight:ht,threadCommentIconContainer:vt,threadCommentIcon:ft,threadCommentTitle:Ct,threadCommentTitlePosition:pt,threadCommentTitleHighlight:gt,threadCommentTitlePositionText:It,threadCommentUsername:xt,threadCommentItem:St,threadCommentItemHead:bt,threadCommentItemTitle:yt,threadCommentItemTitlePosition:_t,threadCommentItemTitleHighlight:Tt,threadCommentItemTime:jt,threadCommentItemContent:Ut,threadCommentItemAt:Nt},Pe="__mock__",Pt=n=>{const{item:e,unitId:t,subUnitId:r,editing:i,onEditingChange:s,onReply:l,resolved:v,isRoot:u,onClose:T,onDeleteComment:f}=n,C=a.useDependency(a.ICommandService),p=a.useDependency(a.LocaleService),y=a.useDependency(a.UserManagerService),g=y.getUser(e.personId),S=V.useObservable(y.currentUser$),M=(S==null?void 0:S.userID)===e.personId,j=e.id===Pe,[U,x]=m.useState(!1),A=()=>{(f==null?void 0:f(e))!==!1&&(C.executeCommand(u?H.DeleteCommentTreeCommand.id:H.DeleteCommentCommand.id,{unitId:t,subUnitId:r,commentId:e.id}),u&&(T==null||T()))};return o.jsxs("div",{className:I.threadCommentItem,onMouseLeave:()=>x(!1),onMouseEnter:()=>x(!0),children:[o.jsx("img",{className:I.threadCommentItemHead,src:g==null?void 0:g.avatar}),o.jsxs("div",{className:I.threadCommentItemTitle,children:[o.jsx("div",{className:I.threadCommentUsername,children:(g==null?void 0:g.name)||" "}),o.jsxs("div",{children:[j||v?null:U?o.jsx("div",{className:I.threadCommentIcon,onClick:()=>l(g),children:o.jsx(be,{})}):null,M&&!j&&!v?o.jsx(E.DropdownLegacy,{overlay:o.jsxs(E.Menu,{children:[o.jsx(E.MenuItem,{onClick:()=>s==null?void 0:s(!0),children:p.t("threadCommentUI.item.edit")},"edit"),o.jsx(E.MenuItem,{onClick:A,children:p.t("threadCommentUI.item.delete")},"delete")]}),children:o.jsx("div",{className:I.threadCommentIcon,children:o.jsx(Se,{})})}):null]})]}),o.jsx("div",{className:I.threadCommentItemTime,children:e.dT}),i?o.jsx(Ne,{id:e.id,comment:e,onCancel:()=>s==null?void 0:s(!1),autoFocus:!0,unitId:t,subUnitId:r,onSave:({text:h,attachments:b})=>{s==null||s(!1),C.executeCommand(H.UpdateCommentCommand.id,{unitId:t,subUnitId:r,payload:{commentId:e.id,text:h,attachments:b}})}}):o.jsx("div",{className:I.threadCommentItemContent,children:je(e.text).map((h,b)=>{switch(h.type){case"mention":return o.jsxs("a",{className:I.threadCommentItemAt,children:["@",h.content.label," "]},b);default:return h.content}})})]})},Ee=n=>{var re,Y,Q;const{id:e,unitId:t,subUnitId:r,refStr:i,showEdit:s=!0,onClick:l,showHighlight:v,onClose:u,getSubUnitName:T,prefix:f,autoFocus:C,onMouseEnter:p,onMouseLeave:y,onAddComment:g,onDeleteComment:S,onResolve:M}=n,j=a.useDependency(H.ThreadCommentModel),[U,x]=m.useState(!1),[A,h]=m.useState(""),b=m.useMemo(()=>j.commentUpdate$.pipe(se.debounceTime(16)),[j]);V.useObservable(b);const c=e?j.getCommentWithChildren(t,r,e):null,w=a.useDependency(a.ICommandService),_=a.useDependency(a.UserManagerService),D=c==null?void 0:c.root.resolved,O=V.useObservable(_.currentUser$),J=m.useRef(null),G=[...c?[c.root]:[{id:Pe,text:{dataStream:`
11
- \r`},personId:(re=O==null?void 0:O.userID)!=null?re:"",ref:i!=null?i:"",dT:"",unitId:t,subUnitId:r,threadId:""}],...(Y=c==null?void 0:c.children)!=null?Y:[]],q=m.useRef(null),L=N=>{N.stopPropagation(),D?w.executeCommand(B.id,{unitId:t,subUnitId:r,commentId:e}):w.executeCommand(B.id),w.executeCommand(H.ResolveCommentCommand.id,{unitId:t,subUnitId:r,commentId:e,resolved:!D}),M==null||M(!D)},K=N=>{N.stopPropagation(),w.executeCommand(B.id),!(c!=null&&c.root&&(S==null?void 0:S(c.root))===!1)&&(w.executeCommand(H.DeleteCommentTreeCommand.id,{unitId:t,subUnitId:r,commentId:e}),u==null||u())};m.useEffect(()=>y==null?void 0:y(),[]);const k=T((Q=c==null?void 0:c.root.subUnitId)!=null?Q:r),ne=s&&!A&&!D,Z=`${i||(c==null?void 0:c.root.ref)||""}${k?" · ":""}${k}`;return o.jsxs("div",{className:nt(I.threadComment,{[I.threadCommentActive]:!D&&(v||U||f==="cell")}),onClick:l,id:`${f}-${t}-${r}-${e}`,onMouseEnter:()=>{p==null||p(),x(!0)},onMouseLeave:()=>{y==null||y(),x(!1)},children:[!D&&v?o.jsx("div",{className:I.threadCommentHighlight}):null,o.jsxs("div",{className:I.threadCommentTitle,children:[o.jsxs("div",{className:I.threadCommentTitlePosition,children:[o.jsx("div",{className:I.threadCommentTitleHighlight}),o.jsx(E.Tooltip,{showIfEllipsis:!0,title:Z,children:o.jsx("div",{className:I.threadCommentTitlePositionText,children:Z})})]}),c?o.jsxs("div",{className:I.threadCommentIconContainer,children:[o.jsx("div",{onClick:L,className:I.threadCommentIcon,style:{color:D?"rgb(var(--green-500))":""},children:D?o.jsx(ye,{}):o.jsx(_e,{})}),(O==null?void 0:O.userID)===c.root.personId?o.jsx("div",{className:I.threadCommentIcon,onClick:K,children:o.jsx(Ie,{})}):null]}):null]}),o.jsx("div",{className:I.threadCommentContent,ref:q,children:G.map(N=>o.jsx(Pt,{onClose:u,unitId:t,subUnitId:r,item:N,isRoot:N.id===(c==null?void 0:c.root.id),editing:A===N.id,resolved:c==null?void 0:c.root.resolved,onEditingChange:$=>{h($?N.id:"")},onReply:$=>{$&&requestAnimationFrame(()=>{var d;(d=J.current)==null||d.reply(Ue([{type:"mention",content:{id:$.userID,label:$.name}}]))})},onAddComment:g,onDeleteComment:S},N.id))}),ne?o.jsx("div",{children:o.jsx(Ne,{ref:J,unitId:t,subUnitId:r,onSave:async({text:N,attachments:$})=>{const d={text:N,attachments:$,dT:H.getDT(),id:a.generateRandomId(),ref:i,personId:O==null?void 0:O.userID,parentId:c==null?void 0:c.root.id,unitId:t,subUnitId:r,threadId:c==null?void 0:c.root.threadId};(g==null?void 0:g(d))!==!1&&(await w.executeCommand(H.AddCommentCommand.id,{unitId:t,subUnitId:r,comment:d}),q.current&&(q.current.scrollTop=q.current.scrollHeight))},autoFocus:C||!c,onCancel:()=>{c||u==null||u()}},`${C}`)}):null]})},Et="univer-thread-comment-panel",Ot="univer-thread-comment",Rt="univer-thread-comment-panel-forms",Mt="univer-select",wt="univer-thread-comment-panel-empty",Dt="univer-thread-comment-panel-add",$t="univer-thread-comment-panel-solved",te={threadCommentPanel:Et,threadComment:Ot,threadCommentPanelForms:Rt,select:Mt,threadCommentPanelEmpty:wt,threadCommentPanelAdd:Dt,threadCommentPanelSolved:$t},Ht=n=>{const{unitId:e,subUnitId$:t,type:r,onAdd:i,getSubUnitName:s,onResolve:l,sortComments:v,onItemLeave:u,onItemEnter:T,disableAdd:f,tempComment:C,onAddComment:p,onDeleteComment:y,showComments:g}=n,[S,M]=m.useState("all"),[j,U]=m.useState("all"),x=a.useDependency(a.LocaleService),A=a.useDependency(a.UserManagerService),h=a.useDependency(H.ThreadCommentModel),[b,c]=m.useState(()=>h.getUnit(e)),w=a.useDependency(exports.ThreadCommentPanelService),_=V.useObservable(w.activeCommentId$),D=V.useObservable(h.commentUpdate$),O=a.useDependency(a.ICommandService),J=V.useObservable(t),G=m.useRef(!0),q="panel",L=V.useObservable(A.currentUser$),K=m.useMemo(()=>{var oe;const d=S==="all"?b:(oe=b.filter(P=>P.subUnitId===J))!=null?oe:[],X=v!=null?v:P=>P,ie=d.map(P=>{var F;return{...P.root,children:(F=P.children)!=null?F:[],users:P.relativeUsers}});if(g){const P=new Map;return ie.forEach(F=>{P.set(F.id,F)}),[...g,""].map(F=>P.get(F)).filter(Boolean)}else return X(ie)},[g,S,b,v,J]),k=m.useMemo(()=>[...K.filter(d=>!d.resolved),...K.filter(d=>d.resolved)],[K]),ne=m.useMemo(()=>j==="resolved"?k.filter(d=>d.resolved):j==="unsolved"?k.filter(d=>!d.resolved):j==="concern_me"&&L!=null&&L.userID?k.filter(d=>d==null?void 0:d.users.has(L.userID)):k,[k,L==null?void 0:L.userID,j]),Z=C?[C,...ne]:ne,re=Z.filter(d=>!d.resolved),Y=Z.filter(d=>d.resolved),Q=j!=="all"||S!=="all",N=()=>{U("all"),M("all")};m.useEffect(()=>{e&&c(h.getUnit(e))},[e,h,D]),m.useEffect(()=>{var P;if(!_)return;if(!G.current){G.current=!0;return}const{unitId:d,subUnitId:X,commentId:ie}=_,oe=`${q}-${d}-${X}-${ie}`;(P=document.getElementById(oe))==null||P.scrollIntoView({block:"center"})},[_]);const $=d=>o.jsx(Ee,{prefix:q,getSubUnitName:s,id:d.id,unitId:d.unitId,subUnitId:d.subUnitId,refStr:d.ref,type:r,showEdit:(_==null?void 0:_.commentId)===d.id,showHighlight:(_==null?void 0:_.commentId)===d.id,onClick:()=>{G.current=!1,d.resolved?O.executeCommand(B.id):O.executeCommand(B.id,{unitId:d.unitId,subUnitId:d.subUnitId,commentId:d.id,temp:!1})},onMouseEnter:()=>T==null?void 0:T(d),onMouseLeave:()=>u==null?void 0:u(d),onAddComment:p,onDeleteComment:y,onResolve:X=>l==null?void 0:l(d.id,X)},d.id);return o.jsxs("div",{className:te.threadCommentPanel,children:[o.jsxs("div",{className:te.threadCommentPanelForms,children:[r===a.UniverInstanceType.UNIVER_SHEET?o.jsx(E.Select,{borderless:!0,value:S,onChange:d=>M(d),options:[{value:"current",label:x.t("threadCommentUI.filter.sheet.current")},{value:"all",label:x.t("threadCommentUI.filter.sheet.all")}]}):null,o.jsx(E.Select,{borderless:!0,value:j,onChange:d=>U(d),options:[{value:"all",label:x.t("threadCommentUI.filter.status.all")},{value:"resolved",label:x.t("threadCommentUI.filter.status.resolved")},{value:"unsolved",label:x.t("threadCommentUI.filter.status.unsolved")},{value:"concern_me",label:x.t("threadCommentUI.filter.status.concernMe")}]})]}),re.map($),Y.length?o.jsx("div",{className:te.threadCommentPanelSolved,children:"已解决"}):null,Y.map($),Z.length?null:o.jsxs("div",{className:te.threadCommentPanelEmpty,children:[Q?x.t("threadCommentUI.panel.filterEmpty"):x.t("threadCommentUI.panel.empty"),Q?o.jsx(E.Button,{onClick:N,type:"link",children:x.t("threadCommentUI.panel.reset")}):o.jsxs(E.Button,{id:"thread-comment-add",className:te.threadCommentPanelAdd,type:"primary",onClick:i,disabled:f,children:[o.jsx(xe,{}),x.t("threadCommentUI.panel.addComment")]})]})]})};exports.SetActiveCommentOperation=B;exports.THREAD_COMMENT_PANEL=ve;exports.ThreadCommentPanel=Ht;exports.ThreadCommentTree=Ee;exports.ToggleSheetCommentPanelOperation=fe;
1
+ "use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),threadComment$2=require("@univerjs/thread-comment"),ui=require("@univerjs/ui"),rxjs=require("rxjs"),jsxRuntime=require("react/jsx-runtime"),design=require("@univerjs/design"),react=require("react"),docsUi=require("@univerjs/docs-ui");var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1"),_a;exports.ThreadCommentPanelService=(_a=class extends core.Disposable{constructor(_sidebarService,_univerInstanceService){super();__publicField(this,"_panelVisible",!1);__publicField(this,"_panelVisible$",new rxjs.BehaviorSubject(!1));__publicField(this,"_activeCommentId");__publicField(this,"_activeCommentId$",new rxjs.BehaviorSubject(void 0));__publicField(this,"panelVisible$",this._panelVisible$.asObservable());__publicField(this,"activeCommentId$",this._activeCommentId$.asObservable());this._sidebarService=_sidebarService,this._univerInstanceService=_univerInstanceService,this._init(),this.disposeWithMe(()=>{this._activeCommentId$.complete(),this._panelVisible$.complete()})}_init(){this.disposeWithMe(this._sidebarService.sidebarOptions$.subscribe(opt=>{opt.visible||this.setPanelVisible(!1)})),this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SHEET).pipe(rxjs.filter(sheet=>!sheet)).subscribe(()=>{this._sidebarService.close()}))}get panelVisible(){return this._panelVisible}get activeCommentId(){return this._activeCommentId}setPanelVisible(visible){this._panelVisible=visible,this._panelVisible$.next(visible)}setActiveComment(commentInfo){this._activeCommentId=commentInfo,this._activeCommentId$.next(commentInfo)}},__name(_a,"ThreadCommentPanelService"),_a);exports.ThreadCommentPanelService=__decorateClass$1([__decorateParam$1(0,core.Inject(ui.ISidebarService)),__decorateParam$1(1,core.IUniverInstanceService)],exports.ThreadCommentPanelService);const THREAD_COMMENT_PANEL="thread-comment-panel",PLUGIN_NAME="UNIVER_THREAD_COMMENT_UI_PLUGIN",ToggleSheetCommentPanelOperation={id:"thread-comment-ui.operation.toggle-panel",type:core.CommandType.OPERATION,handler(accessor){const sidebarService=accessor.get(ui.ISidebarService),panelService=accessor.get(exports.ThreadCommentPanelService);return panelService.panelVisible?(sidebarService.close(),panelService.setPanelVisible(!1)):(sidebarService.open({header:{title:"threadCommentUI.panel.title"},children:{label:THREAD_COMMENT_PANEL},width:330}),panelService.setPanelVisible(!0)),!0}},SetActiveCommentOperation={id:"thread-comment-ui.operation.set-active-comment",type:core.CommandType.OPERATION,handler(accessor,params){return accessor.get(exports.ThreadCommentPanelService).setActiveComment(params),!0}},THREAD_COMMENT_UI_PLUGIN_CONFIG_KEY="thread-comment-ui.config",defaultPluginConfig={};var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__defNormalProp2=__name((obj,key,value)=>key in obj?__defProp2(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp"),__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam"),__publicField2=__name((obj,key,value)=>__defNormalProp2(obj,typeof key!="symbol"?key+"":key,value),"__publicField"),_a2;exports.UniverThreadCommentUIPlugin=(_a2=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_commandService,_configService){super(),this._config=_config,this._injector=_injector,this._commandService=_commandService,this._configService=_configService;const{menu,...rest}=core.merge({},defaultPluginConfig,this._config);menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(THREAD_COMMENT_UI_PLUGIN_CONFIG_KEY,rest)}onStarting(){var _a3;core.mergeOverrideWithDependencies([[exports.ThreadCommentPanelService]],(_a3=this._config)==null?void 0:_a3.overrides).forEach(dep=>{this._injector.add(dep)}),[ToggleSheetCommentPanelOperation,SetActiveCommentOperation].forEach(command=>{this._commandService.registerCommand(command)})}},__name(_a2,"UniverThreadCommentUIPlugin"),_a2);__publicField2(exports.UniverThreadCommentUIPlugin,"pluginName",PLUGIN_NAME);__publicField2(exports.UniverThreadCommentUIPlugin,"type",core.UniverInstanceType.UNIVER_UNKNOWN);exports.UniverThreadCommentUIPlugin=__decorateClass([core.DependentOn(threadComment$2.UniverThreadCommentPlugin),__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.ICommandService),__decorateParam(3,core.IConfigService)],exports.UniverThreadCommentUIPlugin);var __assign=function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p])}return t},__assign.apply(this,arguments)},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++)e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i])&&(t[p[i]]=s[p[i]]);return t},IconBase=react.forwardRef(function(props,ref){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=react.useRef("_".concat(generateShortUuid()));return render(icon,"".concat(id),{defIds:icon.defIds,idSuffix:idSuffix.current},__assign({ref,className:cls},restProps),extend)});function render(node,id,runtimeProps,rootProps,extend){return react.createElement(node.tag,__assign(__assign({key:id},replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend)),rootProps),(replaceRuntimeIdsInDefs(node,runtimeProps).children||[]).map(function(child,index){return render(child,"".concat(id,"-").concat(node.tag,"-").concat(index),runtimeProps,void 0,extend)}))}__name(render,"render");function replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend){var attrs=__assign({},node.attrs);extend!=null&&extend.colorChannel1&&attrs.fill==="colorChannel1"&&(attrs.fill=extend.colorChannel1);var defIds=runtimeProps.defIds;return!defIds||defIds.length===0||(node.tag==="use"&&attrs["xlink:href"]&&(attrs["xlink:href"]=attrs["xlink:href"]+runtimeProps.idSuffix),Object.entries(attrs).forEach(function(_a3){var key=_a3[0],value=_a3[1];typeof value=="string"&&(attrs[key]=value.replace(/url\(#(.*)\)/,"url(#$1".concat(runtimeProps.idSuffix,")")))})),attrs}__name(replaceRuntimeIdsAndExtInAttrs,"replaceRuntimeIdsAndExtInAttrs");function replaceRuntimeIdsInDefs(node,runtimeProps){var _a3,defIds=runtimeProps.defIds;return!defIds||defIds.length===0?node:node.tag==="defs"&&(!((_a3=node.children)===null||_a3===void 0)&&_a3.length)?__assign(__assign({},node),{children:node.children.map(function(child){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})}):node}__name(replaceRuntimeIdsInDefs,"replaceRuntimeIdsInDefs");function generateShortUuid(){return Math.random().toString(36).substring(2,8)}__name(generateShortUuid,"generateShortUuid");IconBase.displayName="UniverIcon";var element$5={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"}}]},DeleteSingle=react.forwardRef(function(props,ref){return react.createElement(IconBase,Object.assign({},props,{id:"delete-single",ref,icon:element$5}))});DeleteSingle.displayName="DeleteSingle";var element$4={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"}}]},IncreaseSingle=react.forwardRef(function(props,ref){return react.createElement(IconBase,Object.assign({},props,{id:"increase-single",ref,icon:element$4}))});IncreaseSingle.displayName="IncreaseSingle";var element$3={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"}}]},MoreHorizontalSingle=react.forwardRef(function(props,ref){return react.createElement(IconBase,Object.assign({},props,{id:"more-horizontal-single",ref,icon:element$3}))});MoreHorizontalSingle.displayName="MoreHorizontalSingle";var element$2={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}}]},ReplyToCommentSingle=react.forwardRef(function(props,ref){return react.createElement(IconBase,Object.assign({},props,{id:"reply-to-comment-single",ref,icon:element$2}))});ReplyToCommentSingle.displayName="ReplyToCommentSingle";var element$1={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"}}]},ResolvedSingle=react.forwardRef(function(props,ref){return react.createElement(IconBase,Object.assign({},props,{id:"resolved-single",ref,icon:element$1}))});ResolvedSingle.displayName="ResolvedSingle";var element={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}}]},SolveSingle=react.forwardRef(function(props,ref){return react.createElement(IconBase,Object.assign({},props,{id:"solve-single",ref,icon:element}))});SolveSingle.displayName="SolveSingle";function r(e){var t,f,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}__name(r,"r");function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}__name(clsx,"clsx");const threadCommentEditorButtons="univer-thread-comment-editor-buttons",threadCommentEditorSuggestion="univer-thread-comment-editor-suggestion",threadCommentEditorSuggestionActive="univer-thread-comment-editor-suggestionActive",threadCommentEditorSuggestionIcon="univer-thread-comment-editor-suggestion-icon",styles$2={threadCommentEditorButtons,threadCommentEditorSuggestion,threadCommentEditorSuggestionActive,threadCommentEditorSuggestionIcon};function getSnapshot(body){return{id:"d",body,documentStyle:{}}}__name(getSnapshot,"getSnapshot");const ThreadCommentEditor=react.forwardRef((props,ref)=>{var _a3;const{comment,onSave,id,onCancel,autoFocus,unitId,type}=props,commandService=core.useDependency(core.ICommandService),localeService=core.useDependency(core.LocaleService),[editing,setEditing]=react.useState(!1),editorService=core.useDependency(docsUi.IEditorService),editor=react.useRef(null),rootEditorId=type===core.UniverInstanceType.UNIVER_SHEET?core.DOCS_NORMAL_EDITOR_UNIT_ID_KEY:unitId,[canSubmit,setCanSubmit]=react.useState(()=>{var _a4,_b,_c;return core.BuildTextUtils.transform.getPlainText((_c=(_b=(_a4=editor.current)==null?void 0:_a4.getDocumentData().body)==null?void 0:_b.dataStream)!=null?_c:"")});react.useEffect(()=>{var _a4,_b,_c,_d;setCanSubmit(core.BuildTextUtils.transform.getPlainText((_c=(_b=(_a4=editor.current)==null?void 0:_a4.getDocumentData().body)==null?void 0:_b.dataStream)!=null?_c:""));const sub=(_d=editor.current)==null?void 0:_d.selectionChange$.subscribe(()=>{var _a5,_b2,_c2;setCanSubmit(core.BuildTextUtils.transform.getPlainText((_c2=(_b2=(_a5=editor.current)==null?void 0:_a5.getDocumentData().body)==null?void 0:_b2.dataStream)!=null?_c2:""))});return()=>sub==null?void 0:sub.unsubscribe()},[(_a3=editor.current)==null?void 0:_a3.selectionChange$]);const keyboardEventConfig=react.useMemo(()=>({keyCodes:[{keyCode:ui.KeyCode.ENTER}],handler:__name(keyCode=>{keyCode===ui.KeyCode.ENTER&&commandService.executeCommand(docsUi.BreakLineCommand.id)},"handler")}),[commandService]);react.useImperativeHandle(ref,()=>({reply(text){var _a4,_b;(_a4=editor.current)==null||_a4.focus(),(_b=editor.current)==null||_b.setDocumentData(getSnapshot(text))}}));const handleSave=__name(()=>{if(editor.current){const newText=core.Tools.deepClone(editor.current.getDocumentData().body);setEditing(!1),onSave==null||onSave({...comment,text:newText}),editor.current.replaceText(""),setTimeout(()=>{var _a4,_b;(_a4=editor.current)==null||_a4.setSelectionRanges([]),(_b=editor.current)==null||_b.blur()},10)}},"handleSave");return jsxRuntime.jsxs("div",{className:styles$2.threadCommentEditor,onClick:__name(e=>e.preventDefault(),"onClick"),children:[jsxRuntime.jsx(docsUi.RichTextEditor,{ref:editor,autoFocus,style:{width:"100%"},keyboardEventConfig,placeholder:localeService.t("threadCommentUI.editor.placeholder"),initialValue:(comment==null?void 0:comment.text)&&getSnapshot(comment.text),onFocusChange:__name(isFocus=>isFocus&&setEditing(isFocus),"onFocusChange"),isSingle:!1,maxHeight:64,onClickOutside:__name(()=>{setTimeout(()=>{editorService.focus(rootEditorId)},30)},"onClickOutside")}),editing?jsxRuntime.jsxs("div",{className:styles$2.threadCommentEditorButtons,children:[jsxRuntime.jsx(design.Button,{style:{marginRight:12},onClick:__name(()=>{var _a4;onCancel==null||onCancel(),setEditing(!1),(_a4=editor.current)==null||_a4.replaceText("",!0),commandService.executeCommand(SetActiveCommentOperation.id)},"onClick"),children:localeService.t("threadCommentUI.editor.cancel")}),jsxRuntime.jsx(design.Button,{type:"primary",disabled:!canSubmit,onClick:handleSave,children:localeService.t(id?"threadCommentUI.editor.save":"threadCommentUI.editor.reply")})]}):null]})}),transformDocument2TextNodesInParagraph=__name(doc=>{const{dataStream,customRanges}=doc,end=dataStream.endsWith(`\r
2
+ `)?dataStream.length-2:dataStream.length,textNodes=[];let lastIndex=0;return customRanges==null||customRanges.forEach(range=>{lastIndex<range.startIndex&&textNodes.push({type:"text",content:dataStream.slice(lastIndex,range.startIndex)}),textNodes.push({type:"mention",content:{label:dataStream.slice(range.startIndex,range.endIndex+1),id:range.rangeId}}),lastIndex=range.endIndex+1}),textNodes.push({type:"text",content:dataStream.slice(lastIndex,end)}),textNodes},"transformDocument2TextNodesInParagraph"),transformDocument2TextNodes=__name(doc=>{const{paragraphs=[]}=doc;let lastIndex=0;return paragraphs.map(paragraph=>{const body=core.getBodySlice(doc,lastIndex,paragraph.startIndex);return lastIndex=paragraph.startIndex+1,transformDocument2TextNodesInParagraph(body)})},"transformDocument2TextNodes"),transformTextNodes2Document=__name(nodes=>{let str="";const customRanges=[];return nodes.forEach(node=>{switch(node.type){case"text":str+=node.content;break;case"mention":{const start=str.length;str+=node.content.label;const end=str.length-1;customRanges.push({rangeId:node.content.id,rangeType:core.CustomRangeType.MENTION,startIndex:start,endIndex:end,properties:{}});break}}}),str+=`
3
+ \r`,{textRuns:[],paragraphs:[{startIndex:str.length-2,paragraphStyle:{}}],sectionBreaks:[{startIndex:str.length-1}],dataStream:str,customRanges}},"transformTextNodes2Document"),threadComment$1="univer-thread-comment",threadCommentActive="univer-thread-comment-active",threadCommentContent="univer-thread-comment-content",threadCommentHighlight="univer-thread-comment-highlight",threadCommentIconContainer="univer-thread-comment-icon-container",threadCommentIcon="univer-thread-comment-icon",threadCommentTitle="univer-thread-comment-title",threadCommentTitlePosition="univer-thread-comment-title-position",threadCommentTitleHighlight="univer-thread-comment-title-highlight",threadCommentTitlePositionText="univer-thread-comment-title-position-text",threadCommentUsername="univer-thread-comment-username",threadCommentItem="univer-thread-comment-item",threadCommentItemHead="univer-thread-comment-item-head",threadCommentItemTitle="univer-thread-comment-item-title",threadCommentItemTitlePosition="univer-thread-comment-item-title-position",threadCommentItemTitleHighlight="univer-thread-comment-item-title-highlight",threadCommentItemTime="univer-thread-comment-item-time",threadCommentItemContent="univer-thread-comment-item-content",threadCommentItemAt="univer-thread-comment-item-at",styles$1={threadComment:threadComment$1,threadCommentActive,threadCommentContent,threadCommentHighlight,threadCommentIconContainer,threadCommentIcon,threadCommentTitle,threadCommentTitlePosition,threadCommentTitleHighlight,threadCommentTitlePositionText,threadCommentUsername,threadCommentItem,threadCommentItemHead,threadCommentItemTitle,threadCommentItemTitlePosition,threadCommentItemTitleHighlight,threadCommentItemTime,threadCommentItemContent,threadCommentItemAt},MOCK_ID="__mock__",ThreadCommentItem=__name(props=>{const{item,unitId,subUnitId,editing,onEditingChange,onReply,resolved,isRoot,onClose,onDeleteComment,type}=props,commandService=core.useDependency(core.ICommandService),localeService=core.useDependency(core.LocaleService),userManagerService=core.useDependency(core.UserManagerService),user=userManagerService.getUser(item.personId),currentUser=ui.useObservable(userManagerService.currentUser$),isCommentBySelf=(currentUser==null?void 0:currentUser.userID)===item.personId,isMock=item.id===MOCK_ID,[showReply,setShowReply]=react.useState(!1),handleDeleteItem=__name(()=>{(onDeleteComment==null?void 0:onDeleteComment(item))!==!1&&(commandService.executeCommand(isRoot?threadComment$2.DeleteCommentTreeCommand.id:threadComment$2.DeleteCommentCommand.id,{unitId,subUnitId,commentId:item.id}),isRoot&&(onClose==null||onClose()))},"handleDeleteItem");return jsxRuntime.jsxs("div",{className:styles$1.threadCommentItem,onMouseLeave:__name(()=>setShowReply(!1),"onMouseLeave"),onMouseEnter:__name(()=>setShowReply(!0),"onMouseEnter"),children:[jsxRuntime.jsx("img",{className:styles$1.threadCommentItemHead,src:user==null?void 0:user.avatar}),jsxRuntime.jsxs("div",{className:styles$1.threadCommentItemTitle,children:[jsxRuntime.jsx("div",{className:styles$1.threadCommentUsername,children:(user==null?void 0:user.name)||" "}),jsxRuntime.jsxs("div",{children:[isMock||resolved?null:showReply?jsxRuntime.jsx("div",{className:styles$1.threadCommentIcon,onClick:__name(()=>onReply(user),"onClick"),children:jsxRuntime.jsx(ReplyToCommentSingle,{})}):null,isCommentBySelf&&!isMock&&!resolved?jsxRuntime.jsx(design.DropdownLegacy,{overlay:jsxRuntime.jsxs(design.Menu,{children:[jsxRuntime.jsx(design.MenuItem,{onClick:__name(()=>onEditingChange==null?void 0:onEditingChange(!0),"onClick"),children:localeService.t("threadCommentUI.item.edit")},"edit"),jsxRuntime.jsx(design.MenuItem,{onClick:handleDeleteItem,children:localeService.t("threadCommentUI.item.delete")},"delete")]}),children:jsxRuntime.jsx("div",{className:styles$1.threadCommentIcon,children:jsxRuntime.jsx(MoreHorizontalSingle,{})})}):null]})]}),jsxRuntime.jsx("div",{className:styles$1.threadCommentItemTime,children:item.dT}),editing?jsxRuntime.jsx(ThreadCommentEditor,{type,id:item.id,comment:item,onCancel:__name(()=>onEditingChange==null?void 0:onEditingChange(!1),"onCancel"),autoFocus:!0,unitId,subUnitId,onSave:__name(({text,attachments})=>{onEditingChange==null||onEditingChange(!1),commandService.executeCommand(threadComment$2.UpdateCommentCommand.id,{unitId,subUnitId,payload:{commentId:item.id,text,attachments}})},"onSave")}):jsxRuntime.jsx("div",{className:styles$1.threadCommentItemContent,children:transformDocument2TextNodes(item.text).map((paragraph,i)=>jsxRuntime.jsx("div",{children:paragraph.map((item2,i2)=>{switch(item2.type){case"mention":return jsxRuntime.jsxs("a",{className:styles$1.threadCommentItemAt,children:[item2.content.label," "]},i2);default:return item2.content}})},i))})]})},"ThreadCommentItem"),ThreadCommentTree=__name(props=>{var _a3,_b,_c;const{id,unitId,subUnitId,refStr,showEdit=!0,onClick,showHighlight,onClose,getSubUnitName,prefix,autoFocus,onMouseEnter,onMouseLeave,onAddComment,onDeleteComment,onResolve,type}=props,threadCommentModel=core.useDependency(threadComment$2.ThreadCommentModel),[isHover,setIsHover]=react.useState(!1),[editingId,setEditingId]=react.useState(""),updte$=react.useMemo(()=>threadCommentModel.commentUpdate$.pipe(rxjs.debounceTime(16)),[threadCommentModel]);ui.useObservable(updte$);const comments=id?threadCommentModel.getCommentWithChildren(unitId,subUnitId,id):null,commandService=core.useDependency(core.ICommandService),userManagerService=core.useDependency(core.UserManagerService),resolved=comments==null?void 0:comments.root.resolved,currentUser=ui.useObservable(userManagerService.currentUser$),editorRef=react.useRef(null),renderComments=[...comments?[comments.root]:[{id:MOCK_ID,text:{dataStream:`
4
+ \r`},personId:(_a3=currentUser==null?void 0:currentUser.userID)!=null?_a3:"",ref:refStr!=null?refStr:"",dT:"",unitId,subUnitId,threadId:""}],...(_b=comments==null?void 0:comments.children)!=null?_b:[]],scroller=react.useRef(null),handleResolve=__name(e=>{e.stopPropagation(),resolved?commandService.executeCommand(SetActiveCommentOperation.id,{unitId,subUnitId,commentId:id}):commandService.executeCommand(SetActiveCommentOperation.id),commandService.executeCommand(threadComment$2.ResolveCommentCommand.id,{unitId,subUnitId,commentId:id,resolved:!resolved}),onResolve==null||onResolve(!resolved)},"handleResolve"),handleDeleteRoot=__name(e=>{e.stopPropagation(),commandService.executeCommand(SetActiveCommentOperation.id),!(comments!=null&&comments.root&&(onDeleteComment==null?void 0:onDeleteComment(comments.root))===!1)&&(commandService.executeCommand(threadComment$2.DeleteCommentTreeCommand.id,{unitId,subUnitId,commentId:id}),onClose==null||onClose())},"handleDeleteRoot");react.useEffect(()=>onMouseLeave==null?void 0:onMouseLeave(),[]);const subUnitName=getSubUnitName((_c=comments==null?void 0:comments.root.subUnitId)!=null?_c:subUnitId),editorVisible=showEdit&&!editingId&&!resolved,title=`${refStr||(comments==null?void 0:comments.root.ref)||""}${subUnitName?" · ":""}${subUnitName}`;return jsxRuntime.jsxs("div",{className:clsx(styles$1.threadComment,{[styles$1.threadCommentActive]:!resolved&&(showHighlight||isHover||prefix==="cell")}),onClick,id:`${prefix}-${unitId}-${subUnitId}-${id}`,onMouseEnter:__name(()=>{onMouseEnter==null||onMouseEnter(),setIsHover(!0)},"onMouseEnter"),onMouseLeave:__name(()=>{onMouseLeave==null||onMouseLeave(),setIsHover(!1)},"onMouseLeave"),children:[!resolved&&showHighlight?jsxRuntime.jsx("div",{className:styles$1.threadCommentHighlight}):null,jsxRuntime.jsxs("div",{className:styles$1.threadCommentTitle,children:[jsxRuntime.jsxs("div",{className:styles$1.threadCommentTitlePosition,children:[jsxRuntime.jsx("div",{className:styles$1.threadCommentTitleHighlight}),jsxRuntime.jsx(design.Tooltip,{showIfEllipsis:!0,title,children:jsxRuntime.jsx("div",{className:styles$1.threadCommentTitlePositionText,children:title})})]}),comments?jsxRuntime.jsxs("div",{className:styles$1.threadCommentIconContainer,children:[jsxRuntime.jsx("div",{onClick:handleResolve,className:styles$1.threadCommentIcon,style:{color:resolved?"rgb(var(--green-500))":""},children:resolved?jsxRuntime.jsx(ResolvedSingle,{}):jsxRuntime.jsx(SolveSingle,{})}),(currentUser==null?void 0:currentUser.userID)===comments.root.personId?jsxRuntime.jsx("div",{className:styles$1.threadCommentIcon,onClick:handleDeleteRoot,children:jsxRuntime.jsx(DeleteSingle,{})}):null]}):null]}),jsxRuntime.jsx("div",{className:styles$1.threadCommentContent,ref:scroller,children:renderComments.map(item=>jsxRuntime.jsx(ThreadCommentItem,{onClose,unitId,subUnitId,item,isRoot:item.id===(comments==null?void 0:comments.root.id),editing:editingId===item.id,resolved:comments==null?void 0:comments.root.resolved,type,onEditingChange:__name(editing=>{setEditingId(editing?item.id:"")},"onEditingChange"),onReply:__name(user=>{user&&requestAnimationFrame(()=>{var _a4;(_a4=editorRef.current)==null||_a4.reply(transformTextNodes2Document([{type:"mention",content:{id:user.userID,label:user.name}}]))})},"onReply"),onAddComment,onDeleteComment},item.id))}),editorVisible?jsxRuntime.jsx("div",{children:jsxRuntime.jsx(ThreadCommentEditor,{ref:editorRef,type,unitId,subUnitId,onSave:__name(async({text,attachments})=>{const comment={text,attachments,dT:threadComment$2.getDT(),id:core.generateRandomId(),ref:refStr,personId:currentUser==null?void 0:currentUser.userID,parentId:comments==null?void 0:comments.root.id,unitId,subUnitId,threadId:comments==null?void 0:comments.root.threadId};(onAddComment==null?void 0:onAddComment(comment))!==!1&&(await commandService.executeCommand(threadComment$2.AddCommentCommand.id,{unitId,subUnitId,comment}),scroller.current&&(scroller.current.scrollTop=scroller.current.scrollHeight))},"onSave"),autoFocus:autoFocus||!comments,onCancel:__name(()=>{comments||onClose==null||onClose()},"onCancel")},`${autoFocus}`)}):null]})},"ThreadCommentTree"),threadCommentPanel="univer-thread-comment-panel",threadComment="univer-thread-comment",threadCommentPanelForms="univer-thread-comment-panel-forms",select="univer-select",threadCommentPanelEmpty="univer-thread-comment-panel-empty",threadCommentPanelAdd="univer-thread-comment-panel-add",threadCommentPanelSolved="univer-thread-comment-panel-solved",styles={threadCommentPanel,threadComment,threadCommentPanelForms,select,threadCommentPanelEmpty,threadCommentPanelAdd,threadCommentPanelSolved},ThreadCommentPanel=__name(props=>{const{unitId,subUnitId$,type,onAdd,getSubUnitName,onResolve,sortComments,onItemLeave,onItemEnter,disableAdd,tempComment,onAddComment,onDeleteComment,showComments}=props,[unit,setUnit]=react.useState("all"),[status,setStatus]=react.useState("all"),localeService=core.useDependency(core.LocaleService),userService=core.useDependency(core.UserManagerService),threadCommentModel=core.useDependency(threadComment$2.ThreadCommentModel),[unitComments,setUnitComments]=react.useState(()=>threadCommentModel.getUnit(unitId)),panelService=core.useDependency(exports.ThreadCommentPanelService),activeCommentId=ui.useObservable(panelService.activeCommentId$),update=ui.useObservable(threadCommentModel.commentUpdate$),commandService=core.useDependency(core.ICommandService),subUnitId=ui.useObservable(subUnitId$),shouldScroll=react.useRef(!0),prefix="panel",currentUser=ui.useObservable(userService.currentUser$),comments=react.useMemo(()=>{var _a3;const allComments=unit==="all"?unitComments:(_a3=unitComments.filter(i=>i.subUnitId===subUnitId))!=null?_a3:[],sort=sortComments!=null?sortComments:a=>a,res=allComments.map(i=>{var _a4;return{...i.root,children:(_a4=i.children)!=null?_a4:[],users:i.relativeUsers}});if(showComments){const map=new Map;return res.forEach(comment=>{map.set(comment.id,comment)}),[...showComments,""].map(id=>map.get(id)).filter(Boolean)}else return sort(res)},[showComments,unit,unitComments,sortComments,subUnitId]),commentsSorted=react.useMemo(()=>[...comments.filter(comment=>!comment.resolved),...comments.filter(comment=>comment.resolved)],[comments]),statuedComments=react.useMemo(()=>status==="resolved"?commentsSorted.filter(comment=>comment.resolved):status==="unsolved"?commentsSorted.filter(comment=>!comment.resolved):status==="concern_me"&&currentUser!=null&&currentUser.userID?commentsSorted.filter(comment=>comment==null?void 0:comment.users.has(currentUser.userID)):commentsSorted,[commentsSorted,currentUser==null?void 0:currentUser.userID,status]),renderComments=tempComment?[tempComment,...statuedComments]:statuedComments,unSolvedComments=renderComments.filter(comment=>!comment.resolved),solvedComments=renderComments.filter(comment=>comment.resolved),isFiltering=status!=="all"||unit!=="all",onReset=__name(()=>{setStatus("all"),setUnit("all")},"onReset");react.useEffect(()=>{unitId&&setUnitComments(threadCommentModel.getUnit(unitId))},[unitId,threadCommentModel,update]),react.useEffect(()=>{var _a3;if(!activeCommentId)return;if(!shouldScroll.current){shouldScroll.current=!0;return}const{unitId:unitId2,subUnitId:subUnitId2,commentId}=activeCommentId,id=`${prefix}-${unitId2}-${subUnitId2}-${commentId}`;(_a3=document.getElementById(id))==null||_a3.scrollIntoView({block:"center"})},[activeCommentId]);const renderComment=__name(comment=>jsxRuntime.jsx(ThreadCommentTree,{prefix,getSubUnitName,id:comment.id,unitId:comment.unitId,subUnitId:comment.subUnitId,refStr:comment.ref,type,showEdit:(activeCommentId==null?void 0:activeCommentId.commentId)===comment.id,showHighlight:(activeCommentId==null?void 0:activeCommentId.commentId)===comment.id,onClick:__name(()=>{shouldScroll.current=!1,comment.resolved?commandService.executeCommand(SetActiveCommentOperation.id):commandService.executeCommand(SetActiveCommentOperation.id,{unitId:comment.unitId,subUnitId:comment.subUnitId,commentId:comment.id,temp:!1})},"onClick"),onMouseEnter:__name(()=>onItemEnter==null?void 0:onItemEnter(comment),"onMouseEnter"),onMouseLeave:__name(()=>onItemLeave==null?void 0:onItemLeave(comment),"onMouseLeave"),onAddComment,onDeleteComment,onResolve:__name(resolved=>onResolve==null?void 0:onResolve(comment.id,resolved),"onResolve")},comment.id),"renderComment");return jsxRuntime.jsxs("div",{className:styles.threadCommentPanel,children:[jsxRuntime.jsxs("div",{className:styles.threadCommentPanelForms,children:[type===core.UniverInstanceType.UNIVER_SHEET?jsxRuntime.jsx(design.Select,{borderless:!0,value:unit,onChange:__name(e=>setUnit(e),"onChange"),options:[{value:"current",label:localeService.t("threadCommentUI.filter.sheet.current")},{value:"all",label:localeService.t("threadCommentUI.filter.sheet.all")}]}):null,jsxRuntime.jsx(design.Select,{borderless:!0,value:status,onChange:__name(e=>setStatus(e),"onChange"),options:[{value:"all",label:localeService.t("threadCommentUI.filter.status.all")},{value:"resolved",label:localeService.t("threadCommentUI.filter.status.resolved")},{value:"unsolved",label:localeService.t("threadCommentUI.filter.status.unsolved")},{value:"concern_me",label:localeService.t("threadCommentUI.filter.status.concernMe")}]})]}),unSolvedComments.map(renderComment),solvedComments.length?jsxRuntime.jsx("div",{className:styles.threadCommentPanelSolved,children:"已解决"}):null,solvedComments.map(renderComment),renderComments.length?null:jsxRuntime.jsxs("div",{className:styles.threadCommentPanelEmpty,children:[isFiltering?localeService.t("threadCommentUI.panel.filterEmpty"):localeService.t("threadCommentUI.panel.empty"),isFiltering?jsxRuntime.jsx(design.Button,{onClick:onReset,type:"link",children:localeService.t("threadCommentUI.panel.reset")}):jsxRuntime.jsxs(design.Button,{id:"thread-comment-add",className:styles.threadCommentPanelAdd,type:"primary",onClick:onAdd,disabled:disableAdd,children:[jsxRuntime.jsx(IncreaseSingle,{}),localeService.t("threadCommentUI.panel.addComment")]})]})]})},"ThreadCommentPanel");exports.SetActiveCommentOperation=SetActiveCommentOperation;exports.THREAD_COMMENT_PANEL=THREAD_COMMENT_PANEL;exports.ThreadCommentPanel=ThreadCommentPanel;exports.ThreadCommentTree=ThreadCommentTree;exports.ToggleSheetCommentPanelOperation=ToggleSheetCommentPanelOperation;
@@ -1 +1 @@
1
- "use strict";const e={threadCommentUI:{panel:{title:"Comment Management",empty:"No comments yet",filterEmpty:"No match result",reset:"Reset Filter",addComment:"Add Comment"},editor:{placeholder:"Reply or add others with @",reply:"Comment",cancel:"Cancel",save:"Save"},item:{edit:"Edit",delete:"Delete This Comment"},filter:{sheet:{all:"All sheet",current:"Current sheet"},status:{all:"All comments",resolved:"Resolved",unsolved:"Not resolved",concernMe:"Concern me"}}}};module.exports=e;
1
+ "use strict";const enUS={threadCommentUI:{panel:{title:"Comment Management",empty:"No comments yet",filterEmpty:"No match result",reset:"Reset Filter",addComment:"Add Comment"},editor:{placeholder:"Reply or add others with @",reply:"Comment",cancel:"Cancel",save:"Save"},item:{edit:"Edit",delete:"Delete This Comment"},filter:{sheet:{all:"All sheet",current:"Current sheet"},status:{all:"All comments",resolved:"Resolved",unsolved:"Not resolved",concernMe:"Concern me"}}}};module.exports=enUS;
@@ -1 +1 @@
1
- "use strict";const e={threadCommentUI:{panel:{title:"مدیریت نظرات",empty:"هنوز نظری وجود ندارد",filterEmpty:"نتیجه ای یافت نشد",reset:"بازنشانی فیلتر",addComment:"افزودن نظر"},editor:{placeholder:"پاسخ یا اضافه کردن دیگران با @",reply:"نظر",cancel:"انصراف",save:"ذخیره"},item:{edit:"ویرایش",delete:"حذف این نظر"},filter:{sheet:{all:"همه برگه‌ها",current:"برگه فعلی"},status:{all:"همه نظرات",resolved:"حل شده",unsolved:"حل نشده",concernMe:"موضوع مربوط به من"}}}};module.exports=e;
1
+ "use strict";const locale={threadCommentUI:{panel:{title:"مدیریت نظرات",empty:"هنوز نظری وجود ندارد",filterEmpty:"نتیجه ای یافت نشد",reset:"بازنشانی فیلتر",addComment:"افزودن نظر"},editor:{placeholder:"پاسخ یا اضافه کردن دیگران با @",reply:"نظر",cancel:"انصراف",save:"ذخیره"},item:{edit:"ویرایش",delete:"حذف این نظر"},filter:{sheet:{all:"همه برگه‌ها",current:"برگه فعلی"},status:{all:"همه نظرات",resolved:"حل شده",unsolved:"حل نشده",concernMe:"موضوع مربوط به من"}}}};module.exports=locale;
@@ -1 +1 @@
1
- "use strict";const e={threadCommentUI:{panel:{title:"Gestion des commentaires",empty:"Pas encore de commentaires",filterEmpty:"Aucun résultat correspondant",reset:"Réinitialiser le filtre",addComment:"Ajouter un commentaire"},editor:{placeholder:"Répondre ou ajouter d'autres avec @",reply:"Commenter",cancel:"Annuler",save:"Enregistrer"},item:{edit:"Modifier",delete:"Supprimer ce commentaire"},filter:{sheet:{all:"Toutes les feuilles",current:"Feuille actuelle"},status:{all:"Tous les commentaires",resolved:"Résolu",unsolved:"Non résolu",concernMe:"Me concerne"}}}};module.exports=e;
1
+ "use strict";const enUS={threadCommentUI:{panel:{title:"Gestion des commentaires",empty:"Pas encore de commentaires",filterEmpty:"Aucun résultat correspondant",reset:"Réinitialiser le filtre",addComment:"Ajouter un commentaire"},editor:{placeholder:"Répondre ou ajouter d'autres avec @",reply:"Commenter",cancel:"Annuler",save:"Enregistrer"},item:{edit:"Modifier",delete:"Supprimer ce commentaire"},filter:{sheet:{all:"Toutes les feuilles",current:"Feuille actuelle"},status:{all:"Tous les commentaires",resolved:"Résolu",unsolved:"Non résolu",concernMe:"Me concerne"}}}};module.exports=enUS;
@@ -1 +1 @@
1
- "use strict";const e={threadCommentUI:{panel:{title:"Comment Management",empty:"No comments yet",filterEmpty:"No match result",reset:"Reset Filter",addComment:"Add Comment"},editor:{placeholder:"Reply or add others with @",reply:"Comment",cancel:"Cancel",save:"Save"},item:{edit:"Edit",delete:"Delete This Comment"},filter:{sheet:{all:"All sheet",current:"Current sheet"},status:{all:"All comments",resolved:"Resolved",unsolved:"Not resolved",concernMe:"Concern me"}}}};module.exports=e;
1
+ "use strict";const ruRU={threadCommentUI:{panel:{title:"Comment Management",empty:"No comments yet",filterEmpty:"No match result",reset:"Reset Filter",addComment:"Add Comment"},editor:{placeholder:"Reply or add others with @",reply:"Comment",cancel:"Cancel",save:"Save"},item:{edit:"Edit",delete:"Delete This Comment"},filter:{sheet:{all:"All sheet",current:"Current sheet"},status:{all:"All comments",resolved:"Resolved",unsolved:"Not resolved",concernMe:"Concern me"}}}};module.exports=ruRU;
@@ -1 +1 @@
1
- "use strict";const e={threadCommentUI:{panel:{title:"Quản lý Bình luận",empty:"Chưa có bình luận",filterEmpty:"Không có kết quả phù hợp",reset:"Đặt lại",addComment:"Thêm bình luận"},editor:{placeholder:"Phản hồi",reply:"Phản hồi",cancel:"Hủy",save:"Lưu"},item:{edit:"Chỉnh sửa",delete:"Xóa"},filter:{sheet:{all:"Tất cả bảng",current:"Bảng hiện tại"},status:{all:"Tất cả bình luận",resolved:"Đã giải quyết",unsolved:"Chưa giải quyết",concernMe:"Liên quan đến tôi"}}}};module.exports=e;
1
+ "use strict";const enUS={threadCommentUI:{panel:{title:"Quản lý Bình luận",empty:"Chưa có bình luận",filterEmpty:"Không có kết quả phù hợp",reset:"Đặt lại",addComment:"Thêm bình luận"},editor:{placeholder:"Phản hồi",reply:"Phản hồi",cancel:"Hủy",save:"Lưu"},item:{edit:"Chỉnh sửa",delete:"Xóa"},filter:{sheet:{all:"Tất cả bảng",current:"Bảng hiện tại"},status:{all:"Tất cả bình luận",resolved:"Đã giải quyết",unsolved:"Chưa giải quyết",concernMe:"Liên quan đến tôi"}}}};module.exports=enUS;
@@ -1 +1 @@
1
- "use strict";const e={threadCommentUI:{panel:{title:"评论管理",empty:"暂无评论",filterEmpty:"没有匹配的结果",reset:"重置",addComment:"添加评论"},editor:{placeholder:"回复",reply:"回复",cancel:"取消",save:"保存"},item:{edit:"编辑",delete:"删除"},filter:{sheet:{all:"所有表格",current:"当前表格"},status:{all:"所有评论",resolved:"已解决",unsolved:"未解决",concernMe:"与我有关"}}}};module.exports=e;
1
+ "use strict";const zhCN={threadCommentUI:{panel:{title:"评论管理",empty:"暂无评论",filterEmpty:"没有匹配的结果",reset:"重置",addComment:"添加评论"},editor:{placeholder:"回复",reply:"回复",cancel:"取消",save:"保存"},item:{edit:"编辑",delete:"删除"},filter:{sheet:{all:"所有表格",current:"当前表格"},status:{all:"所有评论",resolved:"已解决",unsolved:"未解决",concernMe:"与我有关"}}}};module.exports=zhCN;
@@ -1 +1 @@
1
- "use strict";const e={threadCommentUI:{panel:{title:"評論管理",empty:"暫無評論",filterEmpty:"沒有符合的結果",reset:"重置",addComment:"新增評論"},editor:{placeholder:"回覆",reply:"回覆",cancel:"取消",save:"儲存"},item:{edit:"編輯",delete:"刪除"},filter:{sheet:{all:"所有表格",current:"當前表格"},status:{all:"所有評論",resolved:"已解決",unsolved:"未解決",concernMe:"與我有關"}}}};module.exports=e;
1
+ "use strict";const enUS={threadCommentUI:{panel:{title:"評論管理",empty:"暫無評論",filterEmpty:"沒有符合的結果",reset:"重置",addComment:"新增評論"},editor:{placeholder:"回覆",reply:"回覆",cancel:"取消",save:"儲存"},item:{edit:"編輯",delete:"刪除"},filter:{sheet:{all:"所有表格",current:"當前表格"},status:{all:"所有評論",resolved:"已解決",unsolved:"未解決",concernMe:"與我有關"}}}};module.exports=enUS;