@next-bricks/ai-portal 0.47.3 → 0.48.1
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/dist/bricks.json +20 -20
- package/dist/chunks/1026.a0469066.js +2 -0
- package/dist/chunks/1026.a0469066.js.map +1 -0
- package/dist/chunks/{1692.e1b92e84.js → 1692.01919eaa.js} +2 -2
- package/dist/chunks/{1692.e1b92e84.js.map → 1692.01919eaa.js.map} +1 -1
- package/dist/chunks/7431.9d8c1ccb.js +3 -0
- package/dist/chunks/7431.9d8c1ccb.js.map +1 -0
- package/dist/chunks/9328.283c35b3.js +2 -0
- package/dist/chunks/9328.283c35b3.js.map +1 -0
- package/dist/chunks/9474.dca1f47c.js +2 -0
- package/dist/chunks/9474.dca1f47c.js.map +1 -0
- package/dist/chunks/{chat-box.57a9d3ec.js → chat-box.0fd70952.js} +2 -2
- package/dist/chunks/chat-box.0fd70952.js.map +1 -0
- package/dist/chunks/{elevo-sidebar.7f4d37a1.js → elevo-sidebar.aa3aa869.js} +3 -3
- package/dist/chunks/elevo-sidebar.aa3aa869.js.map +1 -0
- package/dist/chunks/{main.3bb7cf04.js → main.040f8a8b.js} +2 -2
- package/dist/chunks/{main.3bb7cf04.js.map → main.040f8a8b.js.map} +1 -1
- package/dist/chunks/preview-container.89b082ac.js +2 -0
- package/dist/chunks/preview-container.89b082ac.js.map +1 -0
- package/dist/examples.json +18 -18
- package/dist/index.6dbc99ec.js +2 -0
- package/dist/index.6dbc99ec.js.map +1 -0
- package/dist/manifest.json +197 -189
- package/dist/types.json +344 -332
- package/dist-types/chat-box/index.d.ts +2 -0
- package/dist-types/preview-container/index.d.ts +2 -0
- package/package.json +2 -2
- package/dist/chunks/4144.e2d748f8.js +0 -2
- package/dist/chunks/4144.e2d748f8.js.map +0 -1
- package/dist/chunks/7431.59dc7d9e.js +0 -3
- package/dist/chunks/7431.59dc7d9e.js.map +0 -1
- package/dist/chunks/9328.1fc3c9b4.js +0 -2
- package/dist/chunks/9328.1fc3c9b4.js.map +0 -1
- package/dist/chunks/9474.8a4c4815.js +0 -2
- package/dist/chunks/9474.8a4c4815.js.map +0 -1
- package/dist/chunks/chat-box.57a9d3ec.js.map +0 -1
- package/dist/chunks/elevo-sidebar.7f4d37a1.js.map +0 -1
- package/dist/chunks/preview-container.ebe8c4fc.js +0 -2
- package/dist/chunks/preview-container.ebe8c4fc.js.map +0 -1
- package/dist/index.96fa671b.js +0 -2
- package/dist/index.96fa671b.js.map +0 -1
- /package/dist/chunks/{7431.59dc7d9e.js.LICENSE.txt → 7431.9d8c1ccb.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{elevo-sidebar.7f4d37a1.js.LICENSE.txt → elevo-sidebar.aa3aa869.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[6573],{433:(e,t,n)=>{n.d(t,{I:()=>l,K:()=>i,NS:()=>s,t:()=>c});var o=n(68443);let i=function(e){return e.ASK_ANY_THING="ASK_ANYTHING",e.COMMON_TASKS="COMMON_TASKS",e}({});const r={[i.ASK_ANY_THING]:"Ask anything",[i.COMMON_TASKS]:"Common tasks"},a={[i.ASK_ANY_THING]:"询问任何问题",[i.COMMON_TASKS]:"常用任务"},s="bricks/ai-portal/chat-box",l={en:r,zh:a},c=o.i18n.getFixedT(null,s)},20062:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},23144:(e,t,n)=>{n.d(t,{U:()=>r});var o=n(56548);let i;function r(e,t){i||(i=document.createElement("div"),i.setAttribute("tab-index","-1"),i.setAttribute("aria-hidden","true"),document.body.appendChild(i)),i.setAttribute("style",(0,o.w)(e)),i.textContent=e.value.slice(0,t);const n=document.createElement("span");n.textContent="",i.appendChild(n);const r=n.getBoundingClientRect();return n.remove(),{top:r.top,left:r.left}}},24586:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(11369);function i(e,t,n){return(t=(0,o.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},39992:(e,t,n)=>{n.d(t,{e:()=>c});var o=n(89575),i=n(18769),r=n(59435),a=n(99126),s=n(75584);const l=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",c=i.forwardRef(u);function u(e,t){let{autoResize:n,minRows:c,maxRows:u,borderSize:d,paddingSize:p,containerRef:h,value:m,style:f,submitWhen:b,desiredSelectionRef:g,onChange:v,onSubmit:x,onKeyDown:w,onCompositionStart:A,onCompositionEnd:y,...k}=e;const S=null==n||n,[E,C]=(0,i.useState)(null!=m?m:""),_=(0,i.useRef)(null),[R,M]=(0,i.useState)(null);(0,i.useImperativeHandle)(t,(()=>({focus:()=>{const e=_.current;if(e){var t;const n=null===(t=e.value)||void 0===t?void 0:t.length;e.focus(),n&&e.setSelectionRange(n,n)}},element:_.current})),[]);const z=(0,i.useCallback)((()=>{const e=_.current;if(e&&S){const t=(0,s.A)(e,{minRows:c,maxRows:u,borderSize:d,paddingSize:p});(0,r.flushSync)((()=>{M(t)}))}}),[S,u,c,d,p]);(0,i.useEffect)((()=>{C(null!=m?m:"")}),[m]),(0,i.useEffect)((()=>{z()}),[z,E]);const N=(0,i.useRef)(!1),I=(0,i.useCallback)((e=>{N.current=!0,null==A||A(e)}),[A]),K=(0,i.useCallback)((e=>{N.current=!1,null==y||y(e)}),[y]),T=(0,i.useCallback)((e=>{N.current||!1!==(null==w?void 0:w(e))&&"Enter"===e.key&&("enter-without-shift"===b?!e.shiftKey:"enter-with-mod"===b&&e[l])&&(e.preventDefault(),e.stopPropagation(),null==x||x(e))}),[w,x,b]);return(0,i.useLayoutEffect)((()=>{const e=null==g?void 0:g.current,t=_.current;if(e&&t){const{start:n,end:o}=e;g.current=null,t.setSelectionRange(n,o)}}),[g,E]),(0,i.useEffect)((()=>{const e=null==h?void 0:h.current;if(!e||!S)return;let t;const n=new a.A((n=>{for(const o of n)if(o.target===e){const e=o.contentBoxSize?o.contentBoxSize[0]?o.contentBoxSize[0].inlineSize:o.contentBoxSize.inlineSize:o.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(z)}}}));return n.observe(e),()=>{n.disconnect()}}),[S,h,z]),i.createElement("textarea",(0,o.A)({},k,{ref:_,value:E,style:{...f,...R},onChange:e=>{C(e.target.value),null==v||v(e)},onCompositionStart:I,onCompositionEnd:K,onKeyDown:T}))}},47008:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),i=n.n(o),r=n(40935),a=n.n(r),s=n(20062),l=n.n(s),c=new URL(n(47336),n.b),u=a()(i()),d=l()(c);u.push([e.id,`:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${d}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px;margin:0 -12px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}.mentions{position:absolute}.mention-overlay{position:absolute;border-radius:4px;pointer-events:none;background:rgba(38,45,65,0.1)}`,""]);const p=u.toString()},47336:(e,t,n)=>{e.exports=n.p+"images/25c20165.png"},56548:(e,t,n)=>{n.d(t,{w:()=>r});const o="\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n left: 0!important;\n pointer-events: none!important;\n",i=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"];function r(e){const t=window.getComputedStyle(e);return`${i.map((e=>`${e}:${t.getPropertyValue(e)}`)).join(";")};${o}`}},66491:(e,t,n)=>{n.d(t,{f:()=>r});var o=n(56548);let i;function r(e,t,n){i||(i=document.createElement("div"),i.setAttribute("tab-index","-1"),i.setAttribute("aria-hidden","true"),document.body.appendChild(i)),i.setAttribute("style",(0,o.w)(e)),i.textContent=t;const r=document.createElement("span");r.textContent=n,i.appendChild(r);const a=r.getBoundingClientRect();return r.remove(),a}},67707:(e,t,n)=>{n.r(t),n.d(t,{ChatBox:()=>U,ChatBoxComponent:()=>L});var o,i=n(74635),r=n(70918),a=n(24586),s=n(26902),l=n(5536),c=n(86121),u=n(70829),d=n(62740),p=n(18769),h=n.n(p),m=n(90870),f=n(30981),b=n(23144),g=n(66491),v=n(39992),x=(n(34419),n(68443)),w=n(433),A=n(47008);let y,k,S,E,C,_,R,M,z,N,I,K,T,P,B,D,$,O;(0,x.initializeI18n)(w.NS,w.I);const W=(0,f.wrapBrick)("eo-icon"),F=(0,f.wrapBrick)("eo-actions",{onActionClick:"action.click",onItemDragEnd:"item.drag.end",onItemDragStart:"item.drag.start"}),{defineElement:H,property:V,event:Y,method:G}=(0,m.createDecorators)(),L=(0,p.forwardRef)(ie);let U;var j=new WeakMap,q=new WeakMap,Q=new WeakMap,J=new WeakMap,X=new WeakMap,Z=new WeakSet,ee=new WeakMap,te=new WeakMap,ne=new WeakMap;class oe extends f.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,Z),(0,a.A)(this,"ref",(y(this),(0,p.createRef)())),(0,r.A)(this,j,S(this)),(0,r.A)(this,q,(E(this),C(this))),(0,r.A)(this,Q,(_(this),R(this))),(0,r.A)(this,J,(M(this),z(this))),(0,r.A)(this,X,(N(this),I(this))),(0,r.A)(this,ee,(P(this),e=>{(0,l.A)(Z,this,K).emit(e)})),(0,r.A)(this,te,B(this)),(0,r.A)(this,ne,(O(this),e=>{(0,l.A)(Z,this,D).emit(e)}))}get disabled(){return(0,u.A)(j,this)}set disabled(e){(0,c.A)(j,this,e)}get placeholder(){return(0,u.A)(q,this)}set placeholder(e){(0,c.A)(q,this,e)}get autoFocus(){return(0,u.A)(Q,this)}set autoFocus(e){(0,c.A)(Q,this,e)}get aiEmployees(){return(0,u.A)(J,this)}set aiEmployees(e){(0,c.A)(J,this,e)}setValue(e){var t;null===(t=this.ref.current)||void 0===t||t.setValue(e)}getValue(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.getValue()}render(){return h().createElement(L,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,aiEmployees:this.aiEmployees,onSubmit:(0,u.A)(ee,this),onEmployeeMention:(0,u.A)(ne,this),ref:this.ref})}}function ie(e,t){let{disabled:n,placeholder:o,autoFocus:i,aiEmployees:r,onSubmit:a,onEmployeeMention:s}=e;const l=(0,p.useRef)(null),c=(0,p.useRef)(null),[u,d]=(0,p.useState)(""),m=(0,p.useRef)(""),[f,x]=(0,p.useState)(null),[A,y]=(0,p.useState)(""),[k,S]=(0,p.useState)(0),E=(0,p.useRef)(null);(0,p.useEffect)((()=>{const e=window.__elevo_try_it_out;e&&delete window.__elevo_try_it_out,"string"==typeof(null==e?void 0:e.content)&&(m.current=e.content,d(e.content))}),[]),(0,p.useImperativeHandle)(t,(()=>({setValue:e=>{m.current=e,d(e)},getValue:()=>m.current})));const C=(0,p.useCallback)((e=>{e.currentTarget.value&&a(e.currentTarget.value)}),[a]),_=(0,p.useCallback)((e=>{const{value:t,selectionStart:n,selectionEnd:o}=e.target;if(m.current=t,d(t),!A&&null!==n&&n===o&&null!=r&&r.length){const o=t.slice(0,n),i=o.lastIndexOf("@");if(i>=0){const t=o.slice(i+1).toLowerCase(),a=(0,b.U)(e.currentTarget,n),s=r.filter((e=>e.employeeId.toLowerCase().includes(t)||e.name.toLowerCase().includes(t))).slice(0,10);if(s.length>0)return x({position:{left:a.left+10,top:a.top+22},range:{start:i,end:n},actions:s.map((e=>({key:e.employeeId,text:e.name,data:e})))}),void S(0)}}x(null)}),[r,A]);(0,p.useEffect)((()=>{A&&!u.includes(A)&&(y(""),s(null))}),[A,s,u]);const R=(0,p.useCallback)((()=>{a(m.current)}),[a]);(0,p.useEffect)((()=>{i&&Promise.resolve().then((()=>{var e;null===(e=c.current)||void 0===e||e.focus()}))}),[]);const M=(0,p.useMemo)((()=>{var e;const t=null===(e=c.current)||void 0===e?void 0:e.element;if(!A||!t)return"";const n=u.indexOf(A);return n<0?"":u.slice(0,n)}),[A,u]),z=(0,p.useMemo)((()=>{var e;const t=null===(e=c.current)||void 0===e?void 0:e.element;if(!A||!t)return null;const n=(0,g.f)(t,M,A.slice(0,-1));return{left:n.left-1,top:n.top-1,width:n.width+4,height:n.height+4}}),[A,M]),N=(0,p.useCallback)((e=>{const t=`@${e.text} `,n=`${m.current.slice(0,f.range.start)}${t}`,o=`${n}${m.current.slice(f.range.end)}`;m.current=o,E.current={start:n.length,end:n.length},d(o),y(t),x(null),s(e.data)}),[f,s]),I=(0,p.useCallback)((e=>{switch(e.key){case"Escape":if(!f)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),x(null),!1;case"ArrowUp":case"ArrowDown":if(!f)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),S((t=>{const n=t+("ArrowUp"===e.key?-1:1),o=f.actions.length;return(o+n)%o})),!1;case"Enter":if(!f)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),N(f.actions[k]),!1;case"Delete":case"Backspace":if(null!=A&&A.length){let{selectionStart:t,selectionEnd:n}=e.currentTarget;t===n&&("Backspace"===e.key?t-=1:n+=1);const o=M.length,i=o+A.length;if(t<i&&n>o){const r=Math.min(t,o),a=Math.max(n,i),s=`${m.current.slice(0,r)}${m.current.slice(a)}`;return m.current=s,E.current={start:r,end:r},d(s),e.preventDefault(),e.stopPropagation(),!1}}}}),[k,N,f,M.length,null==A?void 0:A.length]);return h().createElement("div",{className:"root"},h().createElement("div",{className:"container",ref:l},h().createElement(v.e,{containerRef:l,ref:c,value:u,minRows:58/22,paddingSize:60,autoResize:!0,disabled:n,placeholder:null!=o?o:(0,w.t)(w.K.ASK_ANY_THING),submitWhen:"enter-without-shift",desiredSelectionRef:E,onSubmit:C,onChange:_,onKeyDown:I}),h().createElement("div",{className:"actions-bar"},h().createElement("div",null,h().createElement("slot",{name:"actions"})),h().createElement("button",{className:"btn-send",disabled:!u,onClick:R},h().createElement(W,{lib:"fa",prefix:"fas",icon:"arrow-up"}))),f&&h().createElement(F,{className:"mentions",actions:f.actions,style:f.position,onActionClick:e=>N(e.detail),checkedKeys:[f.actions[k].key]}),z&&h().createElement("div",{className:"mention-overlay",style:z})))}o=oe,({e:[S,E,C,_,R,M,z,N,I,K,T,P,B,D,$,O,y],c:[U,k]}=(0,d.A)(o,[H("ai-portal.chat-box",{styleTexts:[A.A],shadowOptions:{delegatesFocus:!0}})],[[V({type:Boolean}),1,"disabled"],[V(),1,"placeholder"],[V({type:Boolean}),1,"autoFocus"],[V({attribute:!1}),1,"aiEmployees"],[Y({type:"message.submit"}),1,"messageSubmit",e=>(0,u.A)(X,e),(e,t)=>(0,c.A)(X,e,t)],[Y({type:"ai-employee.mention"}),1,"employeeMention",e=>(0,u.A)(te,e),(e,t)=>(0,c.A)(te,e,t)],[G(),2,"setValue"],[G(),2,"getValue"]],0,(e=>ne.has((0,s.A)(e))),f.ReactNextElement)),k()},75584:(e,t,n)=>{n.d(t,{A:()=>r});var o=n(56548);let i;function r(e,t){const{minRows:n=null,maxRows:r=null,borderSize:a=2,paddingSize:s=8}=null!=t?t:{};let l,c,u;i||(i=document.createElement("textarea"),i.setAttribute("tab-index","-1"),i.setAttribute("aria-hidden","true"),document.body.appendChild(i)),i.setAttribute("style",(0,o.w)(e)),i.value=e.value||e.placeholder||"";let d=i.scrollHeight+a;if(null!==n||null!==r){const e=parseFloat(window.getComputedStyle(i).getPropertyValue("line-height"));null!==n&&(l=e*n+s+a,d=Math.max(l,d)),null!==r&&(c=e*r+s+a,d<=c&&(u="hidden"),d=Math.min(c,d))}const p={height:d,overflowY:u,resize:"none"};return l&&(p.minHeight=l),c&&(p.maxHeight=c),p}}}]);
|
|
2
|
-
//# sourceMappingURL=chat-box.
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[6573],{433:(e,t,n)=>{n.d(t,{I:()=>l,K:()=>i,NS:()=>s,t:()=>c});var o=n(68443);let i=function(e){return e.ASK_ANY_THING="ASK_ANYTHING",e.COMMON_TASKS="COMMON_TASKS",e}({});const r={[i.ASK_ANY_THING]:"Ask anything",[i.COMMON_TASKS]:"Common tasks"},a={[i.ASK_ANY_THING]:"询问任何问题",[i.COMMON_TASKS]:"常用任务"},s="bricks/ai-portal/chat-box",l={en:r,zh:a},c=o.i18n.getFixedT(null,s)},20062:e=>{e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},23144:(e,t,n)=>{n.d(t,{U:()=>r});var o=n(56548);let i;function r(e,t){i||(i=document.createElement("div"),i.setAttribute("tab-index","-1"),i.setAttribute("aria-hidden","true"),document.body.appendChild(i)),i.setAttribute("style",(0,o.w)(e)),i.textContent=e.value.slice(0,t);const n=document.createElement("span");n.textContent="",i.appendChild(n);const r=n.getBoundingClientRect();return n.remove(),{top:r.top,left:r.left}}},24586:(e,t,n)=>{n.d(t,{A:()=>i});var o=n(11369);function i(e,t,n){return(t=(0,o.A)(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},39992:(e,t,n)=>{n.d(t,{e:()=>c});var o=n(89575),i=n(18769),r=n(59435),a=n(99126),s=n(75584);const l=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",c=i.forwardRef(u);function u(e,t){let{autoResize:n,minRows:c,maxRows:u,borderSize:d,paddingSize:p,containerRef:h,value:f,style:m,submitWhen:b,desiredSelectionRef:g,onChange:v,onSubmit:x,onKeyDown:w,onCompositionStart:A,onCompositionEnd:y,...k}=e;const S=null==n||n,[E,C]=(0,i.useState)(null!=f?f:""),_=(0,i.useRef)(null),[R,M]=(0,i.useState)(null);(0,i.useImperativeHandle)(t,(()=>({focus:()=>{const e=_.current;if(e){var t;const n=null===(t=e.value)||void 0===t?void 0:t.length;e.focus(),n&&e.setSelectionRange(n,n)}},element:_.current})),[]);const z=(0,i.useCallback)((()=>{const e=_.current;if(e&&S){const t=(0,s.A)(e,{minRows:c,maxRows:u,borderSize:d,paddingSize:p});(0,r.flushSync)((()=>{M(t)}))}}),[S,u,c,d,p]);(0,i.useEffect)((()=>{C(null!=f?f:"")}),[f]),(0,i.useEffect)((()=>{z()}),[z,E]);const N=(0,i.useRef)(!1),I=(0,i.useCallback)((e=>{N.current=!0,null==A||A(e)}),[A]),K=(0,i.useCallback)((e=>{N.current=!1,null==y||y(e)}),[y]),T=(0,i.useCallback)((e=>{N.current||!1!==(null==w?void 0:w(e))&&"Enter"===e.key&&("enter-without-shift"===b?!e.shiftKey:"enter-with-mod"===b&&e[l])&&(e.preventDefault(),e.stopPropagation(),null==x||x(e))}),[w,x,b]);return(0,i.useLayoutEffect)((()=>{const e=null==g?void 0:g.current,t=_.current;if(e&&t){const{start:n,end:o}=e;g.current=null,t.setSelectionRange(n,o)}}),[g,E]),(0,i.useEffect)((()=>{const e=null==h?void 0:h.current;if(!e||!S)return;let t;const n=new a.A((n=>{for(const o of n)if(o.target===e){const e=o.contentBoxSize?o.contentBoxSize[0]?o.contentBoxSize[0].inlineSize:o.contentBoxSize.inlineSize:o.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(z)}}}));return n.observe(e),()=>{n.disconnect()}}),[S,h,z]),i.createElement("textarea",(0,o.A)({},k,{ref:_,value:E,style:{...m,...R},onChange:e=>{C(e.target.value),null==v||v(e)},onCompositionStart:I,onCompositionEnd:K,onKeyDown:T}))}},47008:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),i=n.n(o),r=n(40935),a=n.n(r),s=n(20062),l=n.n(s),c=new URL(n(47336),n.b),u=a()(i()),d=l()(c);u.push([e.id,`:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${d}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px;margin:0 -12px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}.mentions{position:absolute}.mention-overlay{position:absolute;border-radius:4px;pointer-events:none;background:rgba(38,45,65,0.1)}`,""]);const p=u.toString()},47336:(e,t,n)=>{e.exports=n.p+"images/25c20165.png"},56548:(e,t,n)=>{n.d(t,{w:()=>r});const o="\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n left: 0!important;\n pointer-events: none!important;\n",i=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"];function r(e){const t=window.getComputedStyle(e);return`${i.map((e=>`${e}:${t.getPropertyValue(e)}`)).join(";")};${o}`}},66491:(e,t,n)=>{n.d(t,{f:()=>r});var o=n(56548);let i;function r(e,t,n){i||(i=document.createElement("div"),i.setAttribute("tab-index","-1"),i.setAttribute("aria-hidden","true"),document.body.appendChild(i)),i.setAttribute("style",(0,o.w)(e)),i.textContent=t;const r=document.createElement("span");r.textContent=n,i.appendChild(r);const a=r.getBoundingClientRect();return r.remove(),a}},67707:(e,t,n)=>{n.r(t),n.d(t,{ChatBox:()=>U,ChatBoxComponent:()=>L});var o,i=n(74635),r=n(70918),a=n(24586),s=n(26902),l=n(5536),c=n(86121),u=n(70829),d=n(62740),p=n(18769),h=n.n(p),f=n(90870),m=n(30981),b=n(23144),g=n(66491),v=n(39992),x=(n(34419),n(68443)),w=n(433),A=n(47008);let y,k,S,E,C,_,R,M,z,N,I,K,T,O,P,B,D,$;(0,x.initializeI18n)(w.NS,w.I);const W=(0,m.wrapBrick)("eo-icon"),F=(0,m.wrapBrick)("eo-actions",{onActionClick:"action.click",onItemDragEnd:"item.drag.end",onItemDragStart:"item.drag.start"}),{defineElement:H,property:V,event:Y,method:G}=(0,f.createDecorators)(),L=(0,p.forwardRef)(ie);let U;var j=new WeakMap,q=new WeakMap,Q=new WeakMap,J=new WeakMap,X=new WeakMap,Z=new WeakSet,ee=new WeakMap,te=new WeakMap,ne=new WeakMap;class oe extends m.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,Z),(0,a.A)(this,"ref",(y(this),(0,p.createRef)())),(0,r.A)(this,j,S(this)),(0,r.A)(this,q,(E(this),C(this))),(0,r.A)(this,Q,(_(this),R(this))),(0,r.A)(this,J,(M(this),z(this))),(0,r.A)(this,X,(N(this),I(this))),(0,r.A)(this,ee,(O(this),e=>{(0,l.A)(Z,this,K).emit(e)})),(0,r.A)(this,te,P(this)),(0,r.A)(this,ne,($(this),e=>{(0,l.A)(Z,this,B).emit(e)}))}get disabled(){return(0,u.A)(j,this)}set disabled(e){(0,c.A)(j,this,e)}get placeholder(){return(0,u.A)(q,this)}set placeholder(e){(0,c.A)(q,this,e)}get autoFocus(){return(0,u.A)(Q,this)}set autoFocus(e){(0,c.A)(Q,this,e)}get aiEmployees(){return(0,u.A)(J,this)}set aiEmployees(e){(0,c.A)(J,this,e)}setValue(e){var t;null===(t=this.ref.current)||void 0===t||t.setValue(e)}getValue(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.getValue()}focusOnInput(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.focusOnInput()}render(){return h().createElement(L,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,aiEmployees:this.aiEmployees,onSubmit:(0,u.A)(ee,this),onEmployeeMention:(0,u.A)(ne,this),ref:this.ref})}}function ie(e,t){let{disabled:n,placeholder:o,autoFocus:i,aiEmployees:r,onSubmit:a,onEmployeeMention:s}=e;const l=(0,p.useRef)(null),c=(0,p.useRef)(null),[u,d]=(0,p.useState)(""),f=(0,p.useRef)(""),[m,x]=(0,p.useState)(null),[A,y]=(0,p.useState)(""),[k,S]=(0,p.useState)(0),E=(0,p.useRef)(null);(0,p.useEffect)((()=>{const e=window.__elevo_try_it_out;e&&delete window.__elevo_try_it_out,"string"==typeof(null==e?void 0:e.content)&&(f.current=e.content,d(e.content))}),[]),(0,p.useImperativeHandle)(t,(()=>({setValue:e=>{f.current=e,d(e)},getValue:()=>f.current,focusOnInput:()=>{var e;null===(e=c.current)||void 0===e||e.focus()}})));const C=(0,p.useCallback)((e=>{e.currentTarget.value&&a(e.currentTarget.value)}),[a]),_=(0,p.useCallback)((e=>{const{value:t,selectionStart:n,selectionEnd:o}=e.target;if(f.current=t,d(t),!A&&null!==n&&n===o&&null!=r&&r.length){const o=t.slice(0,n),i=o.lastIndexOf("@");if(i>=0){const t=o.slice(i+1).toLowerCase(),a=(0,b.U)(e.currentTarget,n),s=r.filter((e=>e.employeeId.toLowerCase().includes(t)||e.name.toLowerCase().includes(t))).slice(0,10);if(s.length>0)return x({position:{left:a.left+10,top:a.top+22},range:{start:i,end:n},actions:s.map((e=>({key:e.employeeId,text:e.name,data:e})))}),void S(0)}}x(null)}),[r,A]);(0,p.useEffect)((()=>{A&&!u.includes(A)&&(y(""),s(null))}),[A,s,u]);const R=(0,p.useCallback)((()=>{a(f.current)}),[a]);(0,p.useEffect)((()=>{i&&Promise.resolve().then((()=>{var e;null===(e=c.current)||void 0===e||e.focus()}))}),[]);const M=(0,p.useMemo)((()=>{var e;const t=null===(e=c.current)||void 0===e?void 0:e.element;if(!A||!t)return"";const n=u.indexOf(A);return n<0?"":u.slice(0,n)}),[A,u]),z=(0,p.useMemo)((()=>{var e;const t=null===(e=c.current)||void 0===e?void 0:e.element;if(!A||!t)return null;const n=(0,g.f)(t,M,A.slice(0,-1));return{left:n.left-1,top:n.top-1,width:n.width+4,height:n.height+4}}),[A,M]),N=(0,p.useCallback)((e=>{const t=`@${e.text} `,n=`${f.current.slice(0,m.range.start)}${t}`,o=`${n}${f.current.slice(m.range.end)}`;f.current=o,E.current={start:n.length,end:n.length},d(o),y(t),x(null),s(e.data)}),[m,s]),I=(0,p.useCallback)((e=>{switch(e.key){case"Escape":if(!m)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),x(null),!1;case"ArrowUp":case"ArrowDown":if(!m)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),S((t=>{const n=t+("ArrowUp"===e.key?-1:1),o=m.actions.length;return(o+n)%o})),!1;case"Enter":if(!m)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),N(m.actions[k]),!1;case"Delete":case"Backspace":if(null!=A&&A.length){let{selectionStart:t,selectionEnd:n}=e.currentTarget;t===n&&("Backspace"===e.key?t-=1:n+=1);const o=M.length,i=o+A.length;if(t<i&&n>o){const r=Math.min(t,o),a=Math.max(n,i),s=`${f.current.slice(0,r)}${f.current.slice(a)}`;return f.current=s,E.current={start:r,end:r},d(s),e.preventDefault(),e.stopPropagation(),!1}}}}),[k,N,m,M.length,null==A?void 0:A.length]);return h().createElement("div",{className:"root"},h().createElement("div",{className:"container",ref:l},h().createElement(v.e,{containerRef:l,ref:c,value:u,minRows:58/22,paddingSize:60,autoResize:!0,disabled:n,placeholder:null!=o?o:(0,w.t)(w.K.ASK_ANY_THING),submitWhen:"enter-without-shift",desiredSelectionRef:E,onSubmit:C,onChange:_,onKeyDown:I}),h().createElement("div",{className:"actions-bar"},h().createElement("div",null,h().createElement("slot",{name:"actions"})),h().createElement("button",{className:"btn-send",disabled:!u,onClick:R},h().createElement(W,{lib:"fa",prefix:"fas",icon:"arrow-up"}))),m&&h().createElement(F,{className:"mentions",actions:m.actions,style:m.position,onActionClick:e=>N(e.detail),checkedKeys:[m.actions[k].key]}),z&&h().createElement("div",{className:"mention-overlay",style:z})))}o=oe,({e:[S,E,C,_,R,M,z,N,I,K,T,O,P,B,D,$,y],c:[U,k]}=(0,d.A)(o,[H("ai-portal.chat-box",{styleTexts:[A.A],shadowOptions:{delegatesFocus:!0}})],[[V({type:Boolean}),1,"disabled"],[V(),1,"placeholder"],[V({type:Boolean}),1,"autoFocus"],[V({attribute:!1}),1,"aiEmployees"],[Y({type:"message.submit"}),1,"messageSubmit",e=>(0,u.A)(X,e),(e,t)=>(0,c.A)(X,e,t)],[Y({type:"ai-employee.mention"}),1,"employeeMention",e=>(0,u.A)(te,e),(e,t)=>(0,c.A)(te,e,t)],[G(),2,"setValue"],[G(),2,"getValue"],[G(),2,"focusOnInput"]],0,(e=>ne.has((0,s.A)(e))),m.ReactNextElement)),k()},75584:(e,t,n)=>{n.d(t,{A:()=>r});var o=n(56548);let i;function r(e,t){const{minRows:n=null,maxRows:r=null,borderSize:a=2,paddingSize:s=8}=null!=t?t:{};let l,c,u;i||(i=document.createElement("textarea"),i.setAttribute("tab-index","-1"),i.setAttribute("aria-hidden","true"),document.body.appendChild(i)),i.setAttribute("style",(0,o.w)(e)),i.value=e.value||e.placeholder||"";let d=i.scrollHeight+a;if(null!==n||null!==r){const e=parseFloat(window.getComputedStyle(i).getPropertyValue("line-height"));null!==n&&(l=e*n+s+a,d=Math.max(l,d)),null!==r&&(c=e*r+s+a,d<=c&&(u="hidden"),d=Math.min(c,d))}const p={height:d,overflowY:u,resize:"none"};return l&&(p.minHeight=l),c&&(p.maxHeight=c),p}}}]);
|
|
2
|
+
//# sourceMappingURL=chat-box.0fd70952.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/chat-box.0fd70952.js","mappings":"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","sources":["webpack:///./src/chat-box/i18n.ts","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///../../src/getCaretPositionInTextarea.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../src/TextareaAutoResize.tsx","webpack:///./src/chat-box/styles.shadow.css","webpack:///../../../src/utils/getMirroredStyle.ts","webpack:///../../src/getContentRectInTextarea.ts","webpack:///./src/chat-box/index.tsx","webpack:///../../../src/utils/calculateAutoSizeStyle.ts"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ASK_ANY_THING = \"ASK_ANYTHING\",\n COMMON_TASKS = \"COMMON_TASKS\",\n}\n\nconst en: Locale = {\n [K.ASK_ANY_THING]: \"Ask anything\",\n [K.COMMON_TASKS]: \"Common tasks\",\n};\n\nconst zh: Locale = {\n [K.ASK_ANY_THING]: \"询问任何问题\",\n [K.COMMON_TASKS]: \"常用任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-box\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","import { getMirroredStyle } from \"./utils/getMirroredStyle.js\";\n\nlet hiddenElement: HTMLDivElement | undefined;\n\nexport function getCaretPositionInTextarea(\n textarea: HTMLTextAreaElement,\n index: number\n) {\n if (!hiddenElement) {\n hiddenElement = document.createElement(\"div\");\n hiddenElement.setAttribute(\"tab-index\", \"-1\");\n hiddenElement.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenElement);\n }\n\n hiddenElement.setAttribute(\"style\", getMirroredStyle(textarea));\n hiddenElement.textContent = textarea.value.slice(0, index);\n\n const span = document.createElement(\"span\");\n span.textContent = \"\\u200b\"; // 占位符\n hiddenElement.appendChild(span);\n\n const rect = span.getBoundingClientRect();\n span.remove();\n return {\n top: rect.top,\n left: rect.left,\n };\n}\n","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { flushSync } from \"react-dom\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\n\n// istanbul ignore next\nconst modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n\nexport interface TextareaAutoResizeProps\n extends React.DetailedHTMLProps<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n > {\n /** @default true */\n autoResize?: boolean;\n minRows?: number | null;\n maxRows?: number | null;\n /** @default 2 */\n borderSize?: number;\n /** @default 8 */\n paddingSize?: number;\n containerRef?: React.RefObject<HTMLElement>;\n submitWhen?: \"enter-without-shift\" | \"enter-with-mod\";\n desiredSelectionRef?: React.MutableRefObject<{\n start: number;\n end: number;\n } | null>;\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n /**\n * The handler can return false to prevent default behavior (submit)\n */\n onKeyDown?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void | false;\n}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\n element: HTMLTextAreaElement | null;\n}\n\nexport const TextareaAutoResize = React.forwardRef<\n TextareaAutoResizeRef,\n TextareaAutoResizeProps\n>(LegacyTextareaAutoResize);\n\nfunction LegacyTextareaAutoResize(\n {\n autoResize: _autoResize,\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n containerRef,\n value: propValue,\n style,\n submitWhen,\n desiredSelectionRef,\n onChange,\n onSubmit,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n ...props\n }: TextareaAutoResizeProps,\n ref: React.ForwardedRef<TextareaAutoResizeRef>\n): React.JSX.Element {\n const autoResize = _autoResize ?? true;\n const [value, setValue] = useState(propValue ?? \"\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const [autoStyle, setAutoStyle] = useState<React.CSSProperties | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus: () => {\n const textarea = textareaRef.current;\n // istanbul ignore else: defensive check\n if (textarea) {\n const valueLength = textarea.value?.length;\n textarea.focus();\n valueLength && textarea.setSelectionRange(valueLength, valueLength);\n }\n },\n element: textareaRef.current,\n }),\n []\n );\n\n const doAutoResize = useCallback(() => {\n const textarea = textareaRef.current;\n if (textarea && autoResize) {\n const style = calculateAutoSizeStyle(textarea, {\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n });\n // istanbul ignore next\n if (process.env.NODE_ENV === \"test\") {\n setAutoStyle(style);\n } else {\n flushSync(() => {\n setAutoStyle(style);\n });\n }\n }\n }, [autoResize, maxRows, minRows, borderSize, paddingSize]);\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLTextAreaElement>\n ): void => {\n setValue(e.target.value);\n onChange?.(e);\n };\n\n useEffect(() => {\n setValue(propValue ?? \"\");\n }, [propValue]);\n\n useEffect(() => {\n doAutoResize();\n }, [doAutoResize, value]);\n\n const compositionRef = useRef(false);\n\n const handleCompositionStart = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = true;\n onCompositionStart?.(e);\n },\n [onCompositionStart]\n );\n\n const handleCompositionEnd = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = false;\n onCompositionEnd?.(e);\n },\n [onCompositionEnd]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n\n if (onKeyDown?.(e) === false) {\n return;\n }\n\n if (\n e.key === \"Enter\" &&\n (submitWhen === \"enter-without-shift\"\n ? !e.shiftKey\n : submitWhen === \"enter-with-mod\" && e[modKey])\n ) {\n e.preventDefault();\n e.stopPropagation();\n onSubmit?.(e);\n }\n },\n [onKeyDown, onSubmit, submitWhen]\n );\n\n useLayoutEffect(() => {\n const desiredSelection = desiredSelectionRef?.current;\n const textarea = textareaRef.current;\n if (desiredSelection && textarea) {\n const { start, end } = desiredSelection;\n desiredSelectionRef.current = null;\n textarea.setSelectionRange(start, end);\n }\n }, [desiredSelectionRef, value]);\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container || !autoResize) {\n return;\n }\n let previousInlineSize: number | undefined;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n // istanbul ignore next: compatibility\n const currentInlineSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n if (\n currentInlineSize !== undefined &&\n currentInlineSize !== previousInlineSize\n ) {\n const isInitial = !previousInlineSize;\n previousInlineSize = currentInlineSize;\n if (!isInitial) {\n requestAnimationFrame(doAutoResize);\n }\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [autoResize, containerRef, doAutoResize]);\n\n return (\n <textarea\n {...props}\n ref={textareaRef}\n value={value}\n style={{\n ...style,\n ...autoStyle,\n }}\n onChange={handleInputChange}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n onKeyDown={handleKeyDown}\n />\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./images/bg.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) no-repeat center bottom;background-size:100% 104px;padding:12px 12px 29px;margin:0 -12px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}.mentions{position:absolute}.mention-overlay{position:absolute;border-radius:4px;pointer-events:none;background:rgba(38,45,65,0.1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","const HIDDEN_STYLE = `\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n left: 0!important;\n pointer-events: none!important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\n\n/**\n * 创建一个镜像元素,用于计算光标位置或文本尺寸。\n */\nexport function getMirroredStyle(element: HTMLElement) {\n const uiTextNodeStyle = window.getComputedStyle(element);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n return `${sizingStyle};${HIDDEN_STYLE}`;\n}\n","import { getMirroredStyle } from \"./utils/getMirroredStyle.js\";\n\nlet hiddenElement: HTMLDivElement | undefined;\n\nexport function getContentRectInTextarea(\n textarea: HTMLTextAreaElement,\n prefix: string,\n measureContent: string\n) {\n if (!hiddenElement) {\n hiddenElement = document.createElement(\"div\");\n hiddenElement.setAttribute(\"tab-index\", \"-1\");\n hiddenElement.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenElement);\n }\n hiddenElement.setAttribute(\"style\", getMirroredStyle(textarea));\n\n hiddenElement.textContent = prefix;\n\n const span = document.createElement(\"span\");\n span.textContent = measureContent;\n hiddenElement.appendChild(span);\n\n const rect = span.getBoundingClientRect();\n span.remove();\n return rect;\n}\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n useImperativeHandle,\n createRef,\n useMemo,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n getCaretPositionInTextarea,\n getContentRectInTextarea,\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n ActionsEvents,\n ActionsEventsMapping,\n ActionsProps,\n EoActions,\n SimpleAction,\n} from \"@next-bricks/basic/actions\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedActions = wrapBrick<\n EoActions,\n ActionsProps,\n ActionsEvents,\n ActionsEventsMapping\n>(\"eo-actions\", {\n onActionClick: \"action.click\",\n onItemDragEnd: \"item.drag.end\",\n onItemDragStart: \"item.drag.start\",\n});\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport const ChatBoxComponent = forwardRef(LegacyChatBoxComponent);\n\nexport interface ChatBoxProps {\n disabled?: boolean;\n placeholder?: string;\n autoFocus?: boolean;\n aiEmployees?: AIEmployee[];\n}\n\nexport interface AIEmployee {\n employeeId: string;\n name: string;\n}\n\nexport interface ChatBoxRef {\n setValue: (value: string) => void;\n getValue: () => string;\n focusOnInput: () => void;\n}\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText],\n shadowOptions: {\n delegatesFocus: true,\n },\n})\nclass ChatBox extends ReactNextElement implements ChatBoxProps {\n ref = createRef<ChatBoxRef>();\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ attribute: false })\n accessor aiEmployees: AIEmployee[] | undefined;\n\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n @event({ type: \"ai-employee.mention\" })\n accessor #employeeMention!: EventEmitter<AIEmployee | null>;\n\n #handleEmployeeMention = (employee: AIEmployee | null) => {\n this.#employeeMention.emit(employee);\n };\n\n @method()\n setValue(value: string) {\n this.ref.current?.setValue(value);\n }\n\n @method()\n getValue() {\n return this.ref.current?.getValue();\n }\n\n @method()\n focusOnInput() {\n return this.ref.current?.focusOnInput();\n }\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n aiEmployees={this.aiEmployees}\n onSubmit={this.#handleMessageSubmit}\n onEmployeeMention={this.#handleEmployeeMention}\n ref={this.ref}\n />\n );\n }\n}\n\ninterface ChatBoxComponentProps extends ChatBoxProps {\n onSubmit: (value: string) => void;\n onEmployeeMention: (employee: AIEmployee | null) => void;\n ref?: React.Ref<ChatBoxRef>;\n}\n\ninterface MentionPopover {\n position: {\n left: number;\n top: number;\n };\n range: {\n start: number;\n end: number;\n };\n actions: SimpleAction[];\n}\n\nfunction LegacyChatBoxComponent(\n {\n disabled,\n placeholder,\n autoFocus,\n aiEmployees,\n onSubmit,\n onEmployeeMention,\n }: ChatBoxComponentProps,\n ref: React.Ref<ChatBoxRef>\n) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [mentionPopover, setMentionPopover] = useState<MentionPopover | null>(\n null\n );\n const [mentionedText, setMentionedText] = useState(\"\");\n const [activeActionIndex, setActiveActionIndex] = useState(0);\n const selectionRef = useRef<{ start: number; end: number } | null>(null);\n\n useEffect(() => {\n const store = window.__elevo_try_it_out;\n if (store) {\n delete window.__elevo_try_it_out;\n }\n if (typeof store?.content === \"string\") {\n valueRef.current = store.content;\n setValue(store.content);\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n setValue: (value: string) => {\n valueRef.current = value;\n setValue(value);\n },\n getValue: () => {\n return valueRef.current;\n },\n focusOnInput: () => {\n textareaRef.current?.focus();\n },\n }));\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value) {\n onSubmit(e.currentTarget.value);\n }\n },\n [onSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value, selectionStart, selectionEnd } = e.target;\n valueRef.current = value;\n setValue(value);\n\n if (\n !mentionedText &&\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n aiEmployees?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n const mentionIndex = previousContent.lastIndexOf(\"@\");\n if (mentionIndex >= 0) {\n const mentionText = previousContent\n .slice(mentionIndex + 1)\n .toLowerCase();\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const matchedEmployees = aiEmployees\n .filter(\n (employee) =>\n employee.employeeId.toLowerCase().includes(mentionText) ||\n employee.name.toLowerCase().includes(mentionText)\n )\n .slice(0, 10);\n if (matchedEmployees.length > 0) {\n setMentionPopover({\n position: {\n left: position.left + 10,\n top: position.top + 22,\n },\n range: { start: mentionIndex, end: selectionStart },\n actions: matchedEmployees.map((employee) => ({\n key: employee.employeeId,\n text: employee.name,\n data: employee,\n })),\n });\n setActiveActionIndex(0);\n return;\n }\n }\n }\n setMentionPopover(null);\n },\n [aiEmployees, mentionedText]\n );\n\n useEffect(() => {\n if (mentionedText && !value.includes(mentionedText)) {\n setMentionedText(\"\");\n onEmployeeMention(null);\n }\n }, [mentionedText, onEmployeeMention, value]);\n\n const handleSubmitClick = useCallback(() => {\n onSubmit(valueRef.current);\n }, [onSubmit]);\n\n useEffect(\n () => {\n if (autoFocus) {\n Promise.resolve().then(() => {\n textareaRef.current?.focus();\n });\n }\n },\n // One-time focus\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const mentionPrefix = useMemo(() => {\n const element = textareaRef.current?.element;\n if (!mentionedText || !element) {\n return \"\";\n }\n const index = value.indexOf(mentionedText);\n if (index < 0) {\n return \"\";\n }\n return value.slice(0, index);\n }, [mentionedText, value]);\n\n const mentionOverlay = useMemo(() => {\n const element = textareaRef.current?.element;\n if (!mentionedText || !element) {\n return null;\n }\n const rect = getContentRectInTextarea(\n element,\n mentionPrefix,\n // Ignore the last space\n mentionedText.slice(0, -1)\n );\n return {\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n };\n }, [mentionedText, mentionPrefix]);\n\n const handleMention = useCallback(\n (action: SimpleAction) => {\n const mention = `@${action.text} `;\n const prefix = `${valueRef.current.slice(0, mentionPopover!.range.start)}${mention}`;\n const newValue = `${prefix}${valueRef.current.slice(mentionPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setMentionedText(mention);\n setMentionPopover(null);\n onEmployeeMention((action as { data?: AIEmployee }).data!);\n },\n [mentionPopover, onEmployeeMention]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n switch (e.key) {\n case \"Escape\":\n if (!mentionPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n setMentionPopover(null);\n return false;\n case \"ArrowUp\":\n case \"ArrowDown\": {\n if (!mentionPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n setActiveActionIndex((prev) => {\n const nextIndex = prev + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = mentionPopover.actions.length;\n const next = (total + nextIndex) % total;\n return next;\n });\n return false;\n }\n case \"Enter\":\n if (!mentionPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n handleMention(mentionPopover.actions[activeActionIndex]);\n return false;\n case \"Delete\":\n case \"Backspace\": {\n if (mentionedText?.length) {\n let { selectionStart, selectionEnd } = e.currentTarget;\n if (selectionStart === selectionEnd) {\n if (e.key === \"Backspace\") {\n selectionStart -= 1;\n } else {\n selectionEnd += 1;\n }\n }\n const currentStart = mentionPrefix.length;\n const currentEnd = currentStart + mentionedText.length;\n if (selectionStart < currentEnd && selectionEnd > currentStart) {\n const start = Math.min(selectionStart, currentStart);\n const end = Math.max(selectionEnd, currentEnd);\n const newValue = `${valueRef.current.slice(0, start)}${valueRef.current.slice(end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start, end: start };\n setValue(newValue);\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n break;\n }\n }\n },\n [\n activeActionIndex,\n handleMention,\n mentionPopover,\n mentionPrefix.length,\n mentionedText?.length,\n ]\n );\n\n return (\n <div className=\"root\">\n <div className=\"container\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={58 / 22}\n paddingSize={60}\n autoResize\n disabled={disabled}\n placeholder={placeholder ?? t(K.ASK_ANY_THING)}\n submitWhen=\"enter-without-shift\"\n desiredSelectionRef={selectionRef}\n onSubmit={handleSubmit}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n />\n <div className=\"actions-bar\">\n <div>\n <slot name=\"actions\"></slot>\n </div>\n <button\n className=\"btn-send\"\n disabled={!value}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-up\" />\n </button>\n </div>\n {mentionPopover && (\n <WrappedActions\n className=\"mentions\"\n actions={mentionPopover.actions}\n style={mentionPopover.position}\n onActionClick={(e) => handleMention(e.detail)}\n checkedKeys={[mentionPopover.actions[activeActionIndex].key!]}\n />\n )}\n {mentionOverlay && (\n <div className=\"mention-overlay\" style={mentionOverlay} />\n )}\n </div>\n </div>\n );\n}\n","// istanbul ignore file\nimport type React from \"react\";\nimport { getMirroredStyle } from \"./getMirroredStyle.js\";\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined;\n\nexport interface AutoSizeOptions {\n minRows?: number | null;\n maxRows?: number | null;\n borderSize?: number;\n paddingSize?: number;\n}\n\n/**\n * 计算 textarea 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n options?: AutoSizeOptions\n): React.CSSProperties {\n const {\n minRows = null,\n maxRows = null,\n borderSize = 2,\n paddingSize = 8,\n } = options ?? {};\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n // equal style\n hiddenTextarea.setAttribute(\"style\", getMirroredStyle(uiTextNode));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined;\n let maxHeight: number | undefined;\n let overflowY: React.CSSProperties[\"overflowY\"];\n\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n const singleRowHeight =\n process.env.NODE_ENV === \"test\"\n ? 22\n : parseFloat(\n window\n .getComputedStyle(hiddenTextarea)\n .getPropertyValue(\"line-height\")\n );\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n if (height <= maxHeight) {\n overflowY = \"hidden\";\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n"],"names":["K","en","ASK_ANY_THING","COMMON_TASKS","zh","NS","locales","t","i18n","getFixedT","module","exports","url","options","String","__esModule","default","test","slice","hash","needQuotes","concat","replace","hiddenElement","getCaretPositionInTextarea","textarea","index","document","createElement","setAttribute","body","appendChild","getMirroredStyle","textContent","value","span","rect","getBoundingClientRect","remove","top","left","_defineProperty","obj","key","Object","defineProperty","enumerable","configurable","writable","modKey","navigator","platform","TextareaAutoResize","React","LegacyTextareaAutoResize","_ref","ref","autoResize","_autoResize","minRows","maxRows","borderSize","paddingSize","containerRef","propValue","style","submitWhen","desiredSelectionRef","onChange","onSubmit","onKeyDown","onCompositionStart","onCompositionEnd","props","setValue","useState","textareaRef","useRef","autoStyle","setAutoStyle","useImperativeHandle","focus","current","_textarea$value","valueLength","length","setSelectionRange","element","doAutoResize","useCallback","calculateAutoSizeStyle","flushSync","useEffect","compositionRef","handleCompositionStart","e","handleCompositionEnd","handleKeyDown","shiftKey","preventDefault","stopPropagation","useLayoutEffect","desiredSelection","start","end","container","previousInlineSize","observer","ResizeObserver","entries","entry","target","currentInlineSize","contentBoxSize","inlineSize","contentRect","width","undefined","isInitial","requestAnimationFrame","observe","disconnect","_extends","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","toString","HIDDEN_STYLE","SIZING_STYLE","uiTextNodeStyle","window","getComputedStyle","map","name","getPropertyValue","join","getContentRectInTextarea","prefix","measureContent","initializeI18n","WrappedIcon","wrapBrick","WrappedActions","onActionClick","onItemDragEnd","onItemDragStart","defineElement","property","event","method","createDecorators","ChatBoxComponent","forwardRef","LegacyChatBoxComponent","_ChatBox","_A","WeakMap","_B","_C","_D","_E","_ChatBox_brand","WeakSet","_handleMessageSubmit","_F","_handleEmployeeMention","ChatBox","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_initProto","createRef","_classPrivateFieldInitSpec","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_aiEmployees","_init_extra_aiEmployees","_init_messageSubmit","_init_extra_messageSubmit","_classPrivateGetter","this","_get_messageSubmit","emit","_init_employeeMention","_init_extra_employeeMention","employee","_get_employeeMention","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","placeholder","autoFocus","aiEmployees","_this$ref$current","getValue","_this$ref$current2","focusOnInput","_this$ref$current3","render","onEmployeeMention","valueRef","mentionPopover","setMentionPopover","mentionedText","setMentionedText","activeActionIndex","setActiveActionIndex","selectionRef","store","__elevo_try_it_out","content","_textareaRef$current","handleSubmit","currentTarget","handleChange","selectionStart","selectionEnd","previousContent","mentionIndex","lastIndexOf","mentionText","toLowerCase","position","matchedEmployees","filter","employeeId","includes","range","actions","text","data","handleSubmitClick","Promise","resolve","then","_textareaRef$current2","mentionPrefix","useMemo","_textareaRef$current3","indexOf","mentionOverlay","_textareaRef$current4","height","handleMention","action","mention","newValue","nativeEvent","stopImmediatePropagation","prev","nextIndex","total","currentStart","currentEnd","Math","min","max","className","onClick","lib","icon","detail","checkedKeys","_ChatBox2","_set_messageSubmit","_set_employeeMention","c","_initClass","_applyDecs","styleTexts","styleText","shadowOptions","delegatesFocus","type","Boolean","attribute","o","_","has","_checkInRHS","hiddenTextarea","uiTextNode","minHeight","maxHeight","overflowY","scrollHeight","singleRowHeight","parseFloat","resize"],"sourceRoot":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see elevo-sidebar.
|
|
2
|
-
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2052,7771],{4368:(e,t,i)=>{"use strict";i.d(t,{c:()=>r});var n=i(22919);const r=async(e,t)=>(await n.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/projects",{...t,params:e})).data},5536:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(12559);function r(e,t,i){return i((0,n.A)(e,t))}},6664:(e,t,i)=>{"use strict";i.d(t,{E:()=>r});var n=i(22919);const r=async(e,t)=>(await n.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations",{...t,params:e})).data},11369:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(17545);function r(e){var t=function(e){if("object"!=(0,n.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,n.A)(t)?t:t+""}},12559:(e,t,i)=>{"use strict";function n(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}i.d(t,{A:()=>n})},17545:(e,t,i)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}i.d(t,{A:()=>n})},26902:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(17545);function r(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,n.A)(e):"null"));return e}},36758:e=>{"use strict";e.exports=function(e){return e[1]}},40935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i="",n=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),n&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),n&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i})).join("")},t.i=function(e,i,n,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<e.length;c++){var d=[].concat(e[c]);n&&a[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),i&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=i):d[2]=i),r&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=r):d[4]="".concat(r)),t.push(d))}},t}},42965:(e,t,i)=>{"use strict";i.d(t,{Bj:()=>r,EM:()=>o,JQ:()=>s,Py:()=>c,qb:()=>a,qu:()=>l});var n=i(30981);const r=(0,n.wrapBrick)("eo-icon"),o=(0,n.wrapBrick)("eo-link"),a=(0,n.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),s=(0,n.wrapBrick)("eo-easyops-avatar"),l=(0,n.wrapBrick)("eo-mini-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),c=(0,n.wrapBrick)("ai-portal.icon-button")},53373:(e,t)=>{var i;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var i=arguments[t];i&&(e=a(e,o(i)))}return e}function o(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return r.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var i in e)n.call(e,i)&&e[i]&&(t=a(t,i));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(r.default=r,e.exports=r):void 0===(i=function(){return r}.apply(t,[]))||(e.exports=i)}()},61408:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(36758),r=i.n(n),o=i(40935),a=i.n(o)()(r());a.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.sidebar{position:relative;z-index:1;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:8px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:1;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior="drawer"]){z-index:1;width:0}:host(:not([behavior="drawer"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.links{border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:16px;margin-bottom:16px}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}',""]);const s=a.toString()},62740:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(17545),r=i(26902);function o(e,t,i){"symbol"==(0,n.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:i?i+" "+t:t})}catch(e){}return e}var a=i(11369);function s(e,t,i,s,l,c){var d,p,u,h,m,g,v,f=Symbol.metadata||Symbol.for("Symbol.metadata"),A=Object.defineProperty,b=Object.create,y=[b(null),b(null)],k=t.length;function E(t,i,n){return function(r,o){i&&(o=r,r=e);for(var a=0;a<t.length;a++)o=t[a].apply(r,n?[o]:[]);return n?o:r}}function w(e,t,i,n){if("function"!=typeof e&&(n||void 0!==e))throw new TypeError(t+" must "+(i||"be")+" a function"+(n?"":" or undefined"));return e}function x(e,t,i,r,a,s,l,c,u,h,m){function g(e){if(!m(e))throw new TypeError("Attempted to access private element on non-instance")}var v=[].concat(t[0]),f=t[3],b=!l,k=1===a,x=3===a,j=4===a,T=2===a;function C(t,i,n){return function(r,o){return i&&(o=r,r=e),n&&n(r),I[t].call(r,o)}}if(!b){var I={},P=[],N=x?"get":j||k?"set":"value";if(u?(h||k?I={get:o((function(){return f(this)}),r,"get"),set:function(e){t[4](this,e)}}:I[N]=f,h||o(I[N],r,T?"":N)):h||(I=Object.getOwnPropertyDescriptor(e,r)),!h&&!u){if((p=y[+c][r])&&7!=(p^a))throw Error("Decorating two elements with the same name ("+I[N].name+") is not supported yet");y[+c][r]=a<3?1:a}}for(var O=e,S=v.length-1;S>=0;S-=i?2:1){var U=w(v[S],"A decorator","be",!0),_=i?v[S-1]:void 0,R={},M={kind:["field","accessor","method","getter","setter","class"][a],name:r,metadata:d,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");w(t,"An initializer","be",!0),s.push(t)}.bind(null,R)};if(b)p=U.call(_,O,M),R.v=1,w(p,"class decorators","return")&&(O=p);else if(M.static=c,M.private=u,p=M.access={has:u?m.bind():function(e){return r in e}},j||(p.get=u?T?function(e){return g(e),I.value}:C("get",0,g):function(e){return e[r]}),T||x||(p.set=u?C("set",0,g):function(e,t){e[r]=t}),O=U.call(_,k?{get:I.get,set:I.set}:I[N],M),R.v=1,k){if("object"==(0,n.A)(O)&&O)(p=w(O.get,"accessor.get"))&&(I.get=p),(p=w(O.set,"accessor.set"))&&(I.set=p),(p=w(O.init,"accessor.init"))&&P.unshift(p);else if(void 0!==O)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(O,(h?"field":"method")+" decorators","return")&&(h?P.unshift(O):I[N]=O)}return a<2&&l.push(E(P,c,1),E(s,c,0)),h||b||(u?k?l.splice(-1,0,C("get",c),C("set",c)):l.push(T?I[N]:w.call.bind(I[N])):A(e,r,I)),O}function j(e){return A(e,f,{configurable:!0,enumerable:!0,value:d})}return void 0!==c&&(d=c[f]),d=b(null==d?null:d),m=[],g=function(e){e&&m.push(E(e))},v=function(t,n){for(var o=0;o<i.length;o++){var s=i[o],c=s[1],d=7&c;if((8&c)==t&&!d==n){var p=s[2],g=!!s[3],v=16&c;x(t?e:e.prototype,s,v,g?"#"+p:(0,a.A)(p),d,d<2?[]:t?h=h||[]:u=u||[],m,!!t,g,n,t&&g?function(t){return(0,r.A)(t)===e}:l)}}},v(8,0),v(0,0),v(8,1),v(0,1),g(u),g(h),p=m,k||j(e),{e:p,get c(){var i=[];return k&&[j(e=x(e,[t],s,e.name,5,i)),E(i,1)]}}}},65467:(e,t,i)=>{"use strict";i.d(t,{D:()=>v});var n=i(89575),r=i(18769),o=i.n(r),a=i(53373),s=i.n(a),l=i(4368),c=i(6664),d=i(41030),p=i(99671),u=i(42965),h=i(97907),m=i(98343);const g={lib:"fa",icon:"plus"},v=(0,r.forwardRef)(f);function f(e,t){let{historyActiveId:i,historyActions:a,historyUrlTemplate:v,projectActiveId:f,projectUrlTemplate:A,projectActions:b,canAddProject:y,onActionClick:k,onHistoryClick:E,onProjectActionClick:w,onAddProject:x}=e;const j=(0,r.useRef)(null),[T,C]=(0,r.useState)(null),[I,P]=(0,r.useState)(!1),[N,O]=(0,r.useState)(!1),[S,U]=(0,r.useState)(null),[_,R]=(0,r.useState)(!1),[M,W]=(0,r.useState)(),[D,L]=(0,r.useState)(),[Y,B]=(0,r.useState)(!1),H=(0,r.useRef)(!0),[z,J]=(0,r.useState)([]),V=(0,r.useMemo)((()=>[...null!=a?a:[],{isDropdown:!0,text:(0,p.t)(p.K.MOVE_TO_PROJECT),disabled:!(null!=T&&T.length),items:null==T?void 0:T.map((e=>({event:"move",key:e.instanceId,text:e.name,project:e})))}]),[a,T]);(0,r.useEffect)((()=>{(async()=>{try{const e=await(0,l.c)({page:1,page_size:3e3});C(e.list)}catch(e){console.error("Error loading projects:",e),O(!0),C([])}})()}),[]),(0,r.useEffect)((()=>{Promise.all([(0,c.E)({token:D,limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}}),...H.current?[]:[new Promise((e=>setTimeout(e,500)))]]).then((e=>{let[t]=e;H.current=!1,U((e=>[...null!=e?e:[],...t.conversations])),W(t.nextToken)})).catch((e=>{console.error("Error loading chat history:",e),U([]),B(!0)}))}),[D]);const[G,q]=(0,r.useState)(null),K=(0,r.useRef)(null);(0,r.useEffect)((()=>{const e=K.current,t=j.current;if(!e||!M||!t||_)return;const i=new IntersectionObserver((e=>{for(const t of e)t.isIntersecting&&L(M)}),{root:t});return i.observe(e),()=>{i.disconnect()}}),[M,_]);const Q=(0,r.useRef)(0),F=(0,r.useCallback)((async()=>{try{const e=++Q.current,t=await(0,c.E)({limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}});if(e!==Q.current)return;U((e=>{const i=null!=e?e:[],n=t.conversations,r=new Set(n.map((e=>e.conversationId))),o=new Map(n.map((e=>[e.conversationId,e])));let a=!1,s=!1,l=!0;for(const e of i){const t=o.get(e.conversationId);if(!t)break;if(a=!0,s=l&&t!==n[0]||!(0,d.isEqual)(t,e),s)break;l=!1}return a?s?[...n,...i.filter((e=>!r.has(e.conversationId)))]:e:(W(t.nextToken),n)}))}catch(e){console.error("Error pulling chat history:",e)}}),[]);(0,r.useImperativeHandle)(t,(()=>({pull:F,removeProject:e=>{C((t=>t?t.filter((t=>t.instanceId!==e)):t))},addProject:e=>{C((t=>t?[...t,e]:[e]))},moveConversation:e=>{J((t=>[...t,e]))}})),[F]);const X=(0,r.useMemo)((()=>S&&S.length?S.filter((e=>!z.includes(e.conversationId))):S),[S,z]);return o().createElement("div",{className:"history",ref:j},o().createElement("div",{className:s()("section",{collapsed:I})},o().createElement("div",{className:"section-title"},o().createElement("div",{className:"section-label",onClick:()=>P((e=>!e))},(0,p.t)(p.K.PROJECTS),o().createElement(u.Bj,{lib:"fa",icon:"angle-down"})),y&&o().createElement(u.Py,{icon:g,variant:"mini-light",tooltip:(0,p.t)(p.K.CREATE_PROJECT),onClick:x})),o().createElement("ul",{className:"items"},N?o().createElement("li",{className:"error"},"Failed to load project"):T?T.map((e=>o().createElement("li",{key:e.instanceId},o().createElement(u.EM,(0,n.A)({className:s()("item",{"actions-active":e.instanceId===G,active:e.instanceId===f}),onClick:E},A?{url:(0,m.Q)(A,e)}:null),o().createElement("div",{className:"item-title",title:e.name},e.name||(0,p.t)(p.K.UNNAMED)),o().createElement(u.qu,{className:"actions",actions:b,onActionClick:t=>{w({action:t.detail,project:e})},onVisibleChange:t=>{q(t.detail?e.instanceId:null)}}))))):o().createElement("li",{className:"loading"},o().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})))),o().createElement("div",{className:s()("section",{collapsed:_})},o().createElement("div",{className:"section-title"},o().createElement("div",{className:"section-label",onClick:()=>R((e=>!e))},(0,p.t)(p.K.HISTORY),o().createElement(u.Bj,{lib:"fa",icon:"angle-down"}))),o().createElement("ul",{className:"items"},X?X.map((e=>o().createElement("li",{key:e.conversationId},o().createElement(u.EM,(0,n.A)({className:s()("item",{"actions-active":e.conversationId===G,active:e.conversationId===i}),onClick:E},v?{url:(0,m.Q)(v,e)}:null),o().createElement("div",{className:"item-title",title:e.title},e.title||(0,p.t)(p.K.UNTITLED)),o().createElement(u.qu,{className:"actions",actions:V,onActionClick:t=>{k({action:t.detail,item:e})},onVisibleChange:t=>{q(t.detail?e.conversationId:null)}}),!h.QB.includes(e.state)&&o().createElement("div",{className:"working"}))))):o().createElement("li",{className:"loading"},o().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),Y?o().createElement("li",{className:"error"},"Failed to load chat history"):null),!_&&M&&o().createElement("div",{className:"load-more",ref:K},o().createElement(u.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))))}},70829:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(12559);function r(e,t){return e.get((0,n.A)(e,t))}},70918:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(72016);function r(e,t,i){(0,n.A)(e,t),t.set(e,i)}},72016:(e,t,i)=>{"use strict";function n(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}i.d(t,{A:()=>n})},74635:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(72016);function r(e,t){(0,n.A)(e,t),t.add(e)}},86121:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(12559);function r(e,t,i){return e.set((0,n.A)(e,t),i),i}},86833:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ElevoSidebar:()=>we});var n,r=i(89575),o=i(74635),a=i(70918),s=i(26902),l=i(5536),c=i(86121),d=i(70829),p=i(62740),u=i(18769),h=i.n(u),m=i(90870),g=i(30981),v=(i(34419),i(68443)),f=i(51921),A=i(53373),b=i.n(A),y=i(99671),k=i(61408),E=i(42965),w=i(65467);let x,j,T,C,I,P,N,O,S,U,_,R,M,W,D,L,Y,B,H,z,J,V,G,q,K,Q,F,X,Z,$,ee,te,ie,ne,re,oe,ae,se,le,ce,de,pe,ue,he,me,ge;(0,v.initializeI18n)(y.NS,y.I);const ve={lib:"easyops",icon:"sidebar"},fe=(0,g.wrapBrick)("ai-portal.elevo-logo"),{defineElement:Ae,property:be,event:ye,method:ke}=(0,m.createDecorators)(),Ee=(0,u.forwardRef)(Qe);let we;var xe=new WeakMap,je=new WeakMap,Te=new WeakMap,Ce=new WeakMap,Ie=new WeakMap,Pe=new WeakMap,Ne=new WeakMap,Oe=new WeakMap,Se=new WeakMap,Ue=new WeakMap,_e=new WeakMap,Re=new WeakMap,Me=new WeakMap,We=new WeakMap,De=new WeakMap,Le=new WeakSet,Ye=new WeakMap,Be=new WeakMap,He=new WeakMap,ze=new WeakMap,Je=new WeakMap,Ve=new WeakMap,Ge=new WeakMap,qe=new WeakMap;class Ke extends g.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,Le),(0,a.A)(this,xe,(x(this),T(this))),(0,a.A)(this,je,(C(this),I(this))),(0,a.A)(this,Te,(P(this),N(this))),(0,a.A)(this,Ce,(O(this),S(this))),(0,a.A)(this,Ie,(U(this),_(this))),(0,a.A)(this,Pe,(R(this),M(this))),(0,a.A)(this,Ne,(W(this),D(this))),(0,a.A)(this,Oe,(L(this),Y(this))),(0,a.A)(this,Se,(B(this),H(this))),(0,a.A)(this,Ue,(z(this),J(this))),(0,a.A)(this,_e,(V(this),G(this))),(0,a.A)(this,Re,(q(this),K(this))),(0,a.A)(this,Me,(Q(this),F(this))),(0,a.A)(this,We,(X(this),Z(this,!0))),(0,a.A)(this,De,($(this),ee(this))),(0,a.A)(this,Ye,(ne(this),()=>{(0,l.A)(Le,this,te).emit()})),(0,a.A)(this,Be,re(this)),(0,a.A)(this,He,(se(this),e=>{(0,l.A)(Le,this,oe).emit(e)})),(0,a.A)(this,ze,le(this)),(0,a.A)(this,Je,(pe(this),e=>{(0,l.A)(Le,this,ce).emit(e)})),(0,a.A)(this,Ve,ue(this)),(0,a.A)(this,Ge,(ge(this),()=>{(0,l.A)(Le,this,he).emit()})),(0,a.A)(this,qe,(0,u.createRef)())}get userInstanceId(){return(0,d.A)(xe,this)}set userInstanceId(e){(0,c.A)(xe,this,e)}get behavior(){return(0,d.A)(je,this)}set behavior(e){(0,c.A)(je,this,e)}get bordered(){return(0,d.A)(Te,this)}set bordered(e){(0,c.A)(Te,this,e)}get logoUrl(){return(0,d.A)(Ce,this)}set logoUrl(e){(0,c.A)(Ce,this,e)}get newChatUrl(){return(0,d.A)(Ie,this)}set newChatUrl(e){(0,c.A)(Ie,this,e)}get newChatLinkWhenCollapsed(){return(0,d.A)(Pe,this)}set newChatLinkWhenCollapsed(e){(0,c.A)(Pe,this,e)}get historyActiveId(){return(0,d.A)(Ne,this)}set historyActiveId(e){(0,c.A)(Ne,this,e)}get historyUrlTemplate(){return(0,d.A)(Oe,this)}set historyUrlTemplate(e){(0,c.A)(Oe,this,e)}get historyActions(){return(0,d.A)(Se,this)}set historyActions(e){(0,c.A)(Se,this,e)}get projectActiveId(){return(0,d.A)(Ue,this)}set projectActiveId(e){(0,c.A)(Ue,this,e)}get projectUrlTemplate(){return(0,d.A)(_e,this)}set projectUrlTemplate(e){(0,c.A)(_e,this,e)}get projectActions(){return(0,d.A)(Re,this)}set projectActions(e){(0,c.A)(Re,this,e)}get links(){return(0,d.A)(Me,this)}set links(e){(0,c.A)(Me,this,e)}get canAddProject(){return(0,d.A)(We,this)}set canAddProject(e){(0,c.A)(We,this,e)}pullHistory(e){setTimeout((()=>{var e;null===(e=(0,d.A)(qe,this).current)||void 0===e||e.pull()}),e)}close(){var e;null===(e=(0,d.A)(qe,this).current)||void 0===e||e.close()}removeProject(e){var t,i;null===(t=(0,d.A)(qe,this).current)||void 0===t||null===(i=t.removeProject)||void 0===i||i.call(t,e)}addProject(e){var t,i;null===(t=(0,d.A)(qe,this).current)||void 0===t||null===(i=t.addProject)||void 0===i||i.call(t,e)}moveConversation(e){var t,i;null===(t=(0,d.A)(qe,this).current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}render(){return h().createElement(Ee,{ref:(0,d.A)(qe,this),userInstanceId:this.userInstanceId,behavior:this.behavior,logoUrl:this.logoUrl,newChatUrl:this.newChatUrl,newChatLinkWhenCollapsed:this.newChatLinkWhenCollapsed,historyActiveId:this.historyActiveId,historyUrlTemplate:this.historyUrlTemplate,historyActions:this.historyActions,projectActiveId:this.projectActiveId,projectUrlTemplate:this.projectUrlTemplate,projectActions:this.projectActions,links:this.links,canAddProject:this.canAddProject,onLogout:(0,d.A)(Ye,this),onActionClick:(0,d.A)(He,this),onProjectActionClick:(0,d.A)(Je,this),onAddProject:(0,d.A)(Ge,this)})}}function Qe(e,t){let{userInstanceId:i,behavior:n,logoUrl:o,newChatUrl:a,newChatLinkWhenCollapsed:s,historyActiveId:l,historyUrlTemplate:c,historyActions:d,projectActiveId:p,projectUrlTemplate:m,projectActions:g,links:A,canAddProject:k,onLogout:x,onActionClick:j,onProjectActionClick:T,onAddProject:C}=e;const[I,P]=(0,u.useState)("drawer"===n),N=(0,u.useCallback)((()=>{P(!0)}),[]),O=(0,u.useCallback)((()=>{P(!1)}),[]);(0,u.useEffect)((()=>{"drawer"===n&&P(!0)}),[n]);const S=(0,u.useCallback)((()=>{P(!0)}),[]),U=(0,u.useCallback)((()=>{"drawer"===n&&P(!0)}),[n]),_=(0,u.useMemo)((()=>[{key:"logout",icon:{lib:"fa",prefix:"fas",icon:"arrow-right-from-bracket"},text:(0,y.t)(y.K.LOGOUT)},{key:"switch-language",icon:{lib:"easyops",icon:"language"},text:(0,y.t)(y.K.SWITCH_LANGUAGE)}]),[]),R=(0,u.useRef)(null);return(0,u.useImperativeHandle)(t,(()=>({close:()=>{P(!0)},pull:()=>{var e;null===(e=R.current)||void 0===e||e.pull()},removeProject:e=>{var t,i;null===(t=R.current)||void 0===t||null===(i=t.removeProject)||void 0===i||i.call(t,e)},addProject:e=>{var t,i;null===(t=R.current)||void 0===t||null===(i=t.addProject)||void 0===i||i.call(t,e)},moveConversation:e=>{var t,i;null===(t=R.current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}})),[]),h().createElement("div",{className:b()("container",{collapsed:I})},"drawer"===n&&!I&&h().createElement("div",{className:"mask",onClick:S}),h().createElement("div",{className:"alternative"},h().createElement(E.Py,{icon:ve,variant:"light",onClick:O}),s&&h().createElement(E.EM,{className:"new-chat",url:a},h().createElement(E.Bj,{className:"new-chat-icon",lib:"easyops",icon:"new-chat"}),(0,y.t)(y.K.NEW_CHAT))),h().createElement("div",{className:"sidebar"},h().createElement("div",{className:"logo-bar"},h().createElement(E.EM,{url:o,className:"logo-link"},h().createElement(fe,null)),h().createElement(E.Py,{icon:ve,variant:"light",onClick:N})),h().createElement(E.EM,{className:"new-chat",url:a},h().createElement(E.Bj,{className:"new-chat-icon",lib:"easyops",icon:"new-chat"}),(0,y.t)(y.K.NEW_CHAT)),null!=A&&A.length?h().createElement("div",{className:"links"},A.map(((e,t)=>h().createElement(E.EM,{className:"link",key:t,url:e.url},h().createElement(E.Bj,(0,r.A)({className:"icon"},e.icon)),h().createElement("span",{className:"title"},e.title))))):null,h().createElement(w.D,{ref:R,canAddProject:k,historyActiveId:l,historyUrlTemplate:c,historyActions:d,projectActiveId:p,projectUrlTemplate:m,projectActions:g,onActionClick:j,onHistoryClick:U,onProjectActionClick:T,onAddProject:C}),h().createElement("div",{className:"footer"},h().createElement(E.qb,{className:"dropdown",actions:_,onActionClick:async e=>{"logout"===e.detail.key?x():(await v.i18n.changeLanguage(v.i18n.language&&"en"===v.i18n.language.split("-")[0]?"zh":"en"),(0,f.getHistory)().reload())}},h().createElement("button",{className:"account"},h().createElement(E.JQ,{nameOrInstanceId:i,showName:!0,size:"xs"}))))))}n=Ke,({e:[T,C,I,P,N,O,S,U,_,R,M,W,D,L,Y,B,H,z,J,V,G,q,K,Q,F,X,Z,$,ee,te,ie,ne,re,oe,ae,se,le,ce,de,pe,ue,he,me,ge,x],c:[we,j]}=(0,p.A)(n,[Ae("ai-portal.elevo-sidebar",{styleTexts:[k.A]})],[[be(),1,"userInstanceId"],[be(),1,"behavior"],[be({type:Boolean,render:!1}),1,"bordered"],[be(),1,"logoUrl"],[be(),1,"newChatUrl"],[be({type:Boolean}),1,"newChatLinkWhenCollapsed"],[be(),1,"historyActiveId"],[be(),1,"historyUrlTemplate"],[be({attribute:!1}),1,"historyActions"],[be(),1,"projectActiveId"],[be(),1,"projectUrlTemplate"],[be({attribute:!1}),1,"projectActions"],[be({attribute:!1}),1,"links"],[be({type:Boolean}),1,"canAddProject"],[ye({type:"logout"}),1,"logout",e=>(0,d.A)(De,e),(e,t)=>(0,c.A)(De,e,t)],[ye({type:"action.click"}),1,"actionClick",e=>(0,d.A)(Be,e),(e,t)=>(0,c.A)(Be,e,t)],[ye({type:"project.action.click"}),1,"projectActionClick",e=>(0,d.A)(ze,e),(e,t)=>(0,c.A)(ze,e,t)],[ye({type:"add.project"}),1,"addProject",e=>(0,d.A)(Ve,e),(e,t)=>(0,c.A)(Ve,e,t)],[ke(),2,"pullHistory"],[ke(),2,"close"],[ke(),2,"removeProject"],[ke(),2,"addProject"],[ke(),2,"moveConversation"]],0,(e=>qe.has((0,s.A)(e))),g.ReactNextElement)),j()},89575:(e,t,i)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},n.apply(this,arguments)}i.d(t,{A:()=>n})},97907:(e,t,i)=>{"use strict";i.d(t,{$g:()=>c,LQ:()=>a,QB:()=>n,Rq:()=>l,X4:()=>r,Xc:()=>s,Z5:()=>o,ju:()=>p,mJ:()=>d});const n=["completed","failed","canceled","terminated"],r=[...n,"paused"],o=[...r,"input-required"],a={lib:"lucide",icon:"x"},s={lib:"antd",icon:"loading-3-quarters",spinning:!0},l={lib:"lucide",icon:"network"},c={lib:"lucide",icon:"messages-square"},d={lib:"lucide",icon:"message-square"},p={lib:"lucide",icon:"external-link"}},98343:(e,t,i)=>{"use strict";i.d(t,{Q:()=>r});var n=i(41030);function r(e,t){return null==e?void 0:e.replace(/{{(.*?)}}/g,((e,i)=>(0,n.get)(t,i.trim())))}},99671:(e,t,i)=>{"use strict";i.d(t,{I:()=>l,K:()=>r,NS:()=>s,t:()=>c});var n=i(68443);let r=function(e){return e.NEW_CHAT="NEW_CHAT",e.LOGOUT="LOGOUT",e.TODAY="TODAY",e.YESTERDAY="YESTERDAY",e.PREVIOUS_7_DAYS="PREVIOUS_7_DAYS",e.PREVIOUS_30_DAYS="PREVIOUS_30_DAYS",e.SWITCH_LANGUAGE="SWITCH_LANGUAGE",e.PROJECTS="PROJECTS",e.HISTORY="HISTORY",e.CREATE_PROJECT="CREATE_PROJECT",e.MOVE_TO_PROJECT="MOVE_TO_PROJECT",e.UNTITLED="UNTITLED",e.UNNAMED="UNNAMED",e}({});const o={[r.NEW_CHAT]:"New chat",[r.LOGOUT]:"Logout",[r.TODAY]:"Today",[r.YESTERDAY]:"Yesterday",[r.PREVIOUS_7_DAYS]:"Previous 7 days",[r.PREVIOUS_30_DAYS]:"Previous 30 days",[r.SWITCH_LANGUAGE]:"中文",[r.PROJECTS]:"Project management",[r.HISTORY]:"Chat history",[r.CREATE_PROJECT]:"Create project",[r.MOVE_TO_PROJECT]:"Move to project",[r.UNTITLED]:"Untitled",[r.UNNAMED]:"Unnamed"},a={[r.NEW_CHAT]:"新对话",[r.LOGOUT]:"登出",[r.TODAY]:"今天",[r.YESTERDAY]:"昨天",[r.PREVIOUS_7_DAYS]:"过去7天",[r.PREVIOUS_30_DAYS]:"过去30天",[r.SWITCH_LANGUAGE]:"English",[r.PROJECTS]:"项目管理",[r.HISTORY]:"历史对话",[r.CREATE_PROJECT]:"创建项目",[r.MOVE_TO_PROJECT]:"移动到项目",[r.UNTITLED]:"无标题",[r.UNNAMED]:"未命名"},s="bricks/ai-portal/elevo-sidebar",l={en:o,zh:a},c=n.i18n.getFixedT(null,s)}}]);
|
|
3
|
-
//# sourceMappingURL=elevo-sidebar.
|
|
1
|
+
/*! For license information please see elevo-sidebar.aa3aa869.js.LICENSE.txt */
|
|
2
|
+
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2052,7771],{4368:(e,t,i)=>{"use strict";i.d(t,{c:()=>r});var n=i(22919);const r=async(e,t)=>(await n.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/projects",{...t,params:e})).data},5536:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(12559);function r(e,t,i){return i((0,n.A)(e,t))}},6664:(e,t,i)=>{"use strict";i.d(t,{E:()=>r});var n=i(22919);const r=async(e,t)=>(await n.http.get("api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations",{...t,params:e})).data},11369:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(17545);function r(e){var t=function(e){if("object"!=(0,n.A)(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var i=t.call(e,"string");if("object"!=(0,n.A)(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,n.A)(t)?t:t+""}},12559:(e,t,i)=>{"use strict";function n(e,t,i){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:i;throw new TypeError("Private element is not present on this object")}i.d(t,{A:()=>n})},17545:(e,t,i)=>{"use strict";function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}i.d(t,{A:()=>n})},26902:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(17545);function r(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,n.A)(e):"null"));return e}},36758:e=>{"use strict";e.exports=function(e){return e[1]}},40935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var i="",n=void 0!==t[5];return t[4]&&(i+="@supports (".concat(t[4],") {")),t[2]&&(i+="@media ".concat(t[2]," {")),n&&(i+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),i+=e(t),n&&(i+="}"),t[2]&&(i+="}"),t[4]&&(i+="}"),i})).join("")},t.i=function(e,i,n,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var s=0;s<this.length;s++){var l=this[s][0];null!=l&&(a[l]=!0)}for(var c=0;c<e.length;c++){var d=[].concat(e[c]);n&&a[d[0]]||(void 0!==o&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=o),i&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=i):d[2]=i),r&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=r):d[4]="".concat(r)),t.push(d))}},t}},42965:(e,t,i)=>{"use strict";i.d(t,{Bj:()=>r,EM:()=>o,JQ:()=>s,Py:()=>c,qb:()=>a,qu:()=>l});var n=i(30981);const r=(0,n.wrapBrick)("eo-icon"),o=(0,n.wrapBrick)("eo-link"),a=(0,n.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),s=(0,n.wrapBrick)("eo-easyops-avatar"),l=(0,n.wrapBrick)("eo-mini-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),c=(0,n.wrapBrick)("ai-portal.icon-button")},53373:(e,t)=>{var i;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var i=arguments[t];i&&(e=a(e,o(i)))}return e}function o(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return r.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var i in e)n.call(e,i)&&e[i]&&(t=a(t,i));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(r.default=r,e.exports=r):void 0===(i=function(){return r}.apply(t,[]))||(e.exports=i)}()},61408:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(36758),r=i.n(n),o=i(40935),a=i.n(o)()(r());a.push([e.id,':host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.sidebar{position:relative;z-index:1;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:8px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:1;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior="drawer"]){z-index:1;width:0}:host(:not([behavior="drawer"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.links{border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:16px;margin-bottom:16px}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}',""]);const s=a.toString()},62740:(e,t,i)=>{"use strict";i.d(t,{A:()=>s});var n=i(17545),r=i(26902);function o(e,t,i){"symbol"==(0,n.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:i?i+" "+t:t})}catch(e){}return e}var a=i(11369);function s(e,t,i,s,l,c){var d,p,u,h,m,g,v,f=Symbol.metadata||Symbol.for("Symbol.metadata"),A=Object.defineProperty,b=Object.create,y=[b(null),b(null)],k=t.length;function E(t,i,n){return function(r,o){i&&(o=r,r=e);for(var a=0;a<t.length;a++)o=t[a].apply(r,n?[o]:[]);return n?o:r}}function w(e,t,i,n){if("function"!=typeof e&&(n||void 0!==e))throw new TypeError(t+" must "+(i||"be")+" a function"+(n?"":" or undefined"));return e}function x(e,t,i,r,a,s,l,c,u,h,m){function g(e){if(!m(e))throw new TypeError("Attempted to access private element on non-instance")}var v=[].concat(t[0]),f=t[3],b=!l,k=1===a,x=3===a,j=4===a,T=2===a;function C(t,i,n){return function(r,o){return i&&(o=r,r=e),n&&n(r),I[t].call(r,o)}}if(!b){var I={},P=[],N=x?"get":j||k?"set":"value";if(u?(h||k?I={get:o((function(){return f(this)}),r,"get"),set:function(e){t[4](this,e)}}:I[N]=f,h||o(I[N],r,T?"":N)):h||(I=Object.getOwnPropertyDescriptor(e,r)),!h&&!u){if((p=y[+c][r])&&7!=(p^a))throw Error("Decorating two elements with the same name ("+I[N].name+") is not supported yet");y[+c][r]=a<3?1:a}}for(var O=e,S=v.length-1;S>=0;S-=i?2:1){var U=w(v[S],"A decorator","be",!0),_=i?v[S-1]:void 0,R={},M={kind:["field","accessor","method","getter","setter","class"][a],name:r,metadata:d,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");w(t,"An initializer","be",!0),s.push(t)}.bind(null,R)};if(b)p=U.call(_,O,M),R.v=1,w(p,"class decorators","return")&&(O=p);else if(M.static=c,M.private=u,p=M.access={has:u?m.bind():function(e){return r in e}},j||(p.get=u?T?function(e){return g(e),I.value}:C("get",0,g):function(e){return e[r]}),T||x||(p.set=u?C("set",0,g):function(e,t){e[r]=t}),O=U.call(_,k?{get:I.get,set:I.set}:I[N],M),R.v=1,k){if("object"==(0,n.A)(O)&&O)(p=w(O.get,"accessor.get"))&&(I.get=p),(p=w(O.set,"accessor.set"))&&(I.set=p),(p=w(O.init,"accessor.init"))&&P.unshift(p);else if(void 0!==O)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(O,(h?"field":"method")+" decorators","return")&&(h?P.unshift(O):I[N]=O)}return a<2&&l.push(E(P,c,1),E(s,c,0)),h||b||(u?k?l.splice(-1,0,C("get",c),C("set",c)):l.push(T?I[N]:w.call.bind(I[N])):A(e,r,I)),O}function j(e){return A(e,f,{configurable:!0,enumerable:!0,value:d})}return void 0!==c&&(d=c[f]),d=b(null==d?null:d),m=[],g=function(e){e&&m.push(E(e))},v=function(t,n){for(var o=0;o<i.length;o++){var s=i[o],c=s[1],d=7&c;if((8&c)==t&&!d==n){var p=s[2],g=!!s[3],v=16&c;x(t?e:e.prototype,s,v,g?"#"+p:(0,a.A)(p),d,d<2?[]:t?h=h||[]:u=u||[],m,!!t,g,n,t&&g?function(t){return(0,r.A)(t)===e}:l)}}},v(8,0),v(0,0),v(8,1),v(0,1),g(u),g(h),p=m,k||j(e),{e:p,get c(){var i=[];return k&&[j(e=x(e,[t],s,e.name,5,i)),E(i,1)]}}}},65467:(e,t,i)=>{"use strict";i.d(t,{D:()=>v});var n=i(89575),r=i(18769),o=i.n(r),a=i(53373),s=i.n(a),l=i(4368),c=i(6664),d=i(41030),p=i(99671),u=i(42965),h=i(97907),m=i(98343);const g={lib:"fa",icon:"plus"},v=(0,r.forwardRef)(f);function f(e,t){let{historyActiveId:i,historyActions:a,historyUrlTemplate:v,projectActiveId:f,projectUrlTemplate:A,projectActions:b,canAddProject:y,onActionClick:k,onHistoryClick:E,onProjectActionClick:w,onAddProject:x}=e;const j=(0,r.useRef)(null),[T,C]=(0,r.useState)(null),[I,P]=(0,r.useState)(!1),[N,O]=(0,r.useState)(!1),[S,U]=(0,r.useState)(null),[_,R]=(0,r.useState)(!1),[M,W]=(0,r.useState)(),[D,L]=(0,r.useState)(),[Y,B]=(0,r.useState)(!1),H=(0,r.useRef)(!0),[z,J]=(0,r.useState)([]),V=(0,r.useMemo)((()=>[...null!=a?a:[],{isDropdown:!0,text:(0,p.t)(p.K.MOVE_TO_PROJECT),disabled:!(null!=T&&T.length),items:null==T?void 0:T.map((e=>({event:"move",key:e.instanceId,text:e.name,project:e})))}]),[a,T]);(0,r.useEffect)((()=>{(async()=>{try{const e=await(0,l.c)({page:1,page_size:3e3});C(e.list)}catch(e){console.error("Error loading projects:",e),O(!0),C([])}})()}),[]),(0,r.useEffect)((()=>{Promise.all([(0,c.E)({token:D,limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}}),...H.current?[]:[new Promise((e=>setTimeout(e,500)))]]).then((e=>{let[t]=e;H.current=!1,U((e=>[...null!=e?e:[],...t.conversations])),W(t.nextToken)})).catch((e=>{console.error("Error loading chat history:",e),U([]),B(!0)}))}),[D]);const[G,q]=(0,r.useState)(null),K=(0,r.useRef)(null);(0,r.useEffect)((()=>{const e=K.current,t=j.current;if(!e||!M||!t||_)return;const i=new IntersectionObserver((e=>{for(const t of e)t.isIntersecting&&L(M)}),{root:t});return i.observe(e),()=>{i.disconnect()}}),[M,_]);const Q=(0,r.useRef)(0),F=(0,r.useCallback)((async()=>{try{const e=++Q.current,t=await(0,c.E)({limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}});if(e!==Q.current)return;U((e=>{const i=null!=e?e:[],n=t.conversations,r=new Set(n.map((e=>e.conversationId))),o=new Map(n.map((e=>[e.conversationId,e])));let a=!1,s=!1,l=!0;for(const e of i){const t=o.get(e.conversationId);if(!t)break;if(a=!0,s=l&&t!==n[0]||!(0,d.isEqual)(t,e),s)break;l=!1}return a?s?[...n,...i.filter((e=>!r.has(e.conversationId)))]:e:(W(t.nextToken),n)}))}catch(e){console.error("Error pulling chat history:",e)}}),[]);(0,r.useImperativeHandle)(t,(()=>({pull:F,removeProject:e=>{C((t=>t?t.filter((t=>t.instanceId!==e)):t))},addProject:e=>{C((t=>t?[...t,e]:[e]))},moveConversation:e=>{J((t=>[...t,e]))}})),[F]);const X=(0,r.useMemo)((()=>S&&S.length?S.filter((e=>!z.includes(e.conversationId))):S),[S,z]);return o().createElement("div",{className:"history",ref:j},o().createElement("div",{className:s()("section",{collapsed:I})},o().createElement("div",{className:"section-title"},o().createElement("div",{className:"section-label",onClick:()=>P((e=>!e))},(0,p.t)(p.K.PROJECTS),o().createElement(u.Bj,{lib:"fa",icon:"angle-down"})),y&&o().createElement(u.Py,{icon:g,variant:"mini-light",tooltip:(0,p.t)(p.K.CREATE_PROJECT),onClick:x})),o().createElement("ul",{className:"items"},N?o().createElement("li",{className:"error"},"Failed to load project"):T?T.map((e=>o().createElement("li",{key:e.instanceId},o().createElement(u.EM,(0,n.A)({className:s()("item",{"actions-active":e.instanceId===G,active:e.instanceId===f}),onClick:E},A?{url:(0,m.Q)(A,e)}:null),o().createElement("div",{className:"item-title",title:e.name},e.name||(0,p.t)(p.K.UNNAMED)),o().createElement(u.qu,{className:"actions",actions:b,onActionClick:t=>{w({action:t.detail,project:e})},onVisibleChange:t=>{q(t.detail?e.instanceId:null)}}))))):o().createElement("li",{className:"loading"},o().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})))),o().createElement("div",{className:s()("section",{collapsed:_})},o().createElement("div",{className:"section-title"},o().createElement("div",{className:"section-label",onClick:()=>R((e=>!e))},(0,p.t)(p.K.HISTORY),o().createElement(u.Bj,{lib:"fa",icon:"angle-down"}))),o().createElement("ul",{className:"items"},X?X.map((e=>o().createElement("li",{key:e.conversationId},o().createElement(u.EM,(0,n.A)({className:s()("item",{"actions-active":e.conversationId===G,active:e.conversationId===i}),onClick:E},v?{url:(0,m.Q)(v,e)}:null),o().createElement("div",{className:"item-title",title:e.title},e.title||(0,p.t)(p.K.UNTITLED)),o().createElement(u.qu,{className:"actions",actions:V,onActionClick:t=>{k({action:t.detail,item:e})},onVisibleChange:t=>{q(t.detail?e.conversationId:null)}}),!h.QB.includes(e.state)&&o().createElement("div",{className:"working"}))))):o().createElement("li",{className:"loading"},o().createElement(u.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),Y?o().createElement("li",{className:"error"},"Failed to load chat history"):null),!_&&M&&o().createElement("div",{className:"load-more",ref:K},o().createElement(u.Bj,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))))}},70829:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(12559);function r(e,t){return e.get((0,n.A)(e,t))}},70918:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(72016);function r(e,t,i){(0,n.A)(e,t),t.set(e,i)}},72016:(e,t,i)=>{"use strict";function n(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}i.d(t,{A:()=>n})},74635:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(72016);function r(e,t){(0,n.A)(e,t),t.add(e)}},86121:(e,t,i)=>{"use strict";i.d(t,{A:()=>r});var n=i(12559);function r(e,t,i){return e.set((0,n.A)(e,t),i),i}},86833:(e,t,i)=>{"use strict";i.r(t),i.d(t,{ElevoSidebar:()=>we});var n,r=i(89575),o=i(74635),a=i(70918),s=i(26902),l=i(5536),c=i(86121),d=i(70829),p=i(62740),u=i(18769),h=i.n(u),m=i(90870),g=i(30981),v=(i(34419),i(68443)),f=i(51921),A=i(53373),b=i.n(A),y=i(99671),k=i(61408),E=i(42965),w=i(65467);let x,j,T,C,I,P,N,O,S,U,_,R,M,W,D,L,Y,B,H,z,J,V,G,q,K,Q,F,X,Z,$,ee,te,ie,ne,re,oe,ae,se,le,ce,de,pe,ue,he,me,ge;(0,v.initializeI18n)(y.NS,y.I);const ve={lib:"easyops",icon:"sidebar"},fe=(0,g.wrapBrick)("ai-portal.elevo-logo"),{defineElement:Ae,property:be,event:ye,method:ke}=(0,m.createDecorators)(),Ee=(0,u.forwardRef)(Qe);let we;var xe=new WeakMap,je=new WeakMap,Te=new WeakMap,Ce=new WeakMap,Ie=new WeakMap,Pe=new WeakMap,Ne=new WeakMap,Oe=new WeakMap,Se=new WeakMap,Ue=new WeakMap,_e=new WeakMap,Re=new WeakMap,Me=new WeakMap,We=new WeakMap,De=new WeakMap,Le=new WeakSet,Ye=new WeakMap,Be=new WeakMap,He=new WeakMap,ze=new WeakMap,Je=new WeakMap,Ve=new WeakMap,Ge=new WeakMap,qe=new WeakMap;class Ke extends g.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,Le),(0,a.A)(this,xe,(x(this),T(this))),(0,a.A)(this,je,(C(this),I(this))),(0,a.A)(this,Te,(P(this),N(this))),(0,a.A)(this,Ce,(O(this),S(this))),(0,a.A)(this,Ie,(U(this),_(this))),(0,a.A)(this,Pe,(R(this),M(this))),(0,a.A)(this,Ne,(W(this),D(this))),(0,a.A)(this,Oe,(L(this),Y(this))),(0,a.A)(this,Se,(B(this),H(this))),(0,a.A)(this,Ue,(z(this),J(this))),(0,a.A)(this,_e,(V(this),G(this))),(0,a.A)(this,Re,(q(this),K(this))),(0,a.A)(this,Me,(Q(this),F(this))),(0,a.A)(this,We,(X(this),Z(this,!0))),(0,a.A)(this,De,($(this),ee(this))),(0,a.A)(this,Ye,(ne(this),()=>{(0,l.A)(Le,this,te).emit()})),(0,a.A)(this,Be,re(this)),(0,a.A)(this,He,(se(this),e=>{(0,l.A)(Le,this,oe).emit(e)})),(0,a.A)(this,ze,le(this)),(0,a.A)(this,Je,(pe(this),e=>{(0,l.A)(Le,this,ce).emit(e)})),(0,a.A)(this,Ve,ue(this)),(0,a.A)(this,Ge,(ge(this),()=>{(0,l.A)(Le,this,he).emit()})),(0,a.A)(this,qe,(0,u.createRef)())}get userInstanceId(){return(0,d.A)(xe,this)}set userInstanceId(e){(0,c.A)(xe,this,e)}get behavior(){return(0,d.A)(je,this)}set behavior(e){(0,c.A)(je,this,e)}get bordered(){return(0,d.A)(Te,this)}set bordered(e){(0,c.A)(Te,this,e)}get logoUrl(){return(0,d.A)(Ce,this)}set logoUrl(e){(0,c.A)(Ce,this,e)}get newChatUrl(){return(0,d.A)(Ie,this)}set newChatUrl(e){(0,c.A)(Ie,this,e)}get newChatLinkWhenCollapsed(){return(0,d.A)(Pe,this)}set newChatLinkWhenCollapsed(e){(0,c.A)(Pe,this,e)}get historyActiveId(){return(0,d.A)(Ne,this)}set historyActiveId(e){(0,c.A)(Ne,this,e)}get historyUrlTemplate(){return(0,d.A)(Oe,this)}set historyUrlTemplate(e){(0,c.A)(Oe,this,e)}get historyActions(){return(0,d.A)(Se,this)}set historyActions(e){(0,c.A)(Se,this,e)}get projectActiveId(){return(0,d.A)(Ue,this)}set projectActiveId(e){(0,c.A)(Ue,this,e)}get projectUrlTemplate(){return(0,d.A)(_e,this)}set projectUrlTemplate(e){(0,c.A)(_e,this,e)}get projectActions(){return(0,d.A)(Re,this)}set projectActions(e){(0,c.A)(Re,this,e)}get links(){return(0,d.A)(Me,this)}set links(e){(0,c.A)(Me,this,e)}get canAddProject(){return(0,d.A)(We,this)}set canAddProject(e){(0,c.A)(We,this,e)}pullHistory(e){setTimeout((()=>{var e;null===(e=(0,d.A)(qe,this).current)||void 0===e||e.pull()}),e)}close(){var e;null===(e=(0,d.A)(qe,this).current)||void 0===e||e.close()}removeProject(e){var t,i;null===(t=(0,d.A)(qe,this).current)||void 0===t||null===(i=t.removeProject)||void 0===i||i.call(t,e)}addProject(e){var t,i;null===(t=(0,d.A)(qe,this).current)||void 0===t||null===(i=t.addProject)||void 0===i||i.call(t,e)}moveConversation(e){var t,i;null===(t=(0,d.A)(qe,this).current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}render(){return h().createElement(Ee,{ref:(0,d.A)(qe,this),userInstanceId:this.userInstanceId,behavior:this.behavior,logoUrl:this.logoUrl,newChatUrl:this.newChatUrl,newChatLinkWhenCollapsed:this.newChatLinkWhenCollapsed,historyActiveId:this.historyActiveId,historyUrlTemplate:this.historyUrlTemplate,historyActions:this.historyActions,projectActiveId:this.projectActiveId,projectUrlTemplate:this.projectUrlTemplate,projectActions:this.projectActions,links:this.links,canAddProject:this.canAddProject,onLogout:(0,d.A)(Ye,this),onActionClick:(0,d.A)(He,this),onProjectActionClick:(0,d.A)(Je,this),onAddProject:(0,d.A)(Ge,this)})}}function Qe(e,t){let{userInstanceId:i,behavior:n,logoUrl:o,newChatUrl:a,newChatLinkWhenCollapsed:s,historyActiveId:l,historyUrlTemplate:c,historyActions:d,projectActiveId:p,projectUrlTemplate:m,projectActions:g,links:A,canAddProject:k,onLogout:x,onActionClick:j,onProjectActionClick:T,onAddProject:C}=e;const[I,P]=(0,u.useState)("drawer"===n),N=(0,u.useCallback)((()=>{P(!0)}),[]),O=(0,u.useCallback)((()=>{P(!1)}),[]);(0,u.useEffect)((()=>{"drawer"===n&&P(!0)}),[n]);const S=(0,u.useCallback)((()=>{P(!0)}),[]),U=(0,u.useCallback)((()=>{"drawer"===n&&P(!0)}),[n]),_=(0,u.useMemo)((()=>[{key:"logout",icon:{lib:"fa",prefix:"fas",icon:"arrow-right-from-bracket"},text:(0,y.t)(y.K.LOGOUT)},{key:"switch-language",icon:{lib:"easyops",icon:"language"},text:(0,y.t)(y.K.SWITCH_LANGUAGE)}]),[]),R=(0,u.useRef)(null);return(0,u.useImperativeHandle)(t,(()=>({close:()=>{P(!0)},pull:()=>{var e;null===(e=R.current)||void 0===e||e.pull()},removeProject:e=>{var t,i;null===(t=R.current)||void 0===t||null===(i=t.removeProject)||void 0===i||i.call(t,e)},addProject:e=>{var t,i;null===(t=R.current)||void 0===t||null===(i=t.addProject)||void 0===i||i.call(t,e)},moveConversation:e=>{var t,i;null===(t=R.current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}})),[]),h().createElement("div",{className:b()("container",{collapsed:I})},"drawer"===n&&!I&&h().createElement("div",{className:"mask",onClick:S}),h().createElement("div",{className:"alternative"},h().createElement(E.Py,{icon:ve,variant:"light",onClick:O}),s&&h().createElement(E.EM,{className:"new-chat",url:a},h().createElement(E.Bj,{className:"new-chat-icon",lib:"easyops",icon:"new-chat"}),(0,y.t)(y.K.NEW_CHAT))),h().createElement("div",{className:"sidebar"},h().createElement("div",{className:"logo-bar"},h().createElement(E.EM,{url:o,className:"logo-link"},h().createElement(fe,null)),h().createElement(E.Py,{icon:ve,variant:"light",onClick:N})),h().createElement(E.EM,{className:"new-chat",url:a},h().createElement(E.Bj,{className:"new-chat-icon",lib:"easyops",icon:"new-chat"}),(0,y.t)(y.K.NEW_CHAT)),null!=A&&A.length?h().createElement("div",{className:"links"},A.map(((e,t)=>h().createElement(E.EM,{className:"link",key:t,url:e.url},h().createElement(E.Bj,(0,r.A)({className:"icon"},e.icon)),h().createElement("span",{className:"title"},e.title))))):null,h().createElement(w.D,{ref:R,canAddProject:k,historyActiveId:l,historyUrlTemplate:c,historyActions:d,projectActiveId:p,projectUrlTemplate:m,projectActions:g,onActionClick:j,onHistoryClick:U,onProjectActionClick:T,onAddProject:C}),h().createElement("div",{className:"footer"},h().createElement(E.qb,{className:"dropdown",actions:_,onActionClick:async e=>{"logout"===e.detail.key?x():(await v.i18n.changeLanguage(v.i18n.language&&"en"===v.i18n.language.split("-")[0]?"zh":"en"),(0,f.getHistory)().reload())}},h().createElement("button",{className:"account"},h().createElement(E.JQ,{nameOrInstanceId:i,showName:!0,size:"xs"}))))))}n=Ke,({e:[T,C,I,P,N,O,S,U,_,R,M,W,D,L,Y,B,H,z,J,V,G,q,K,Q,F,X,Z,$,ee,te,ie,ne,re,oe,ae,se,le,ce,de,pe,ue,he,me,ge,x],c:[we,j]}=(0,p.A)(n,[Ae("ai-portal.elevo-sidebar",{styleTexts:[k.A]})],[[be(),1,"userInstanceId"],[be(),1,"behavior"],[be({type:Boolean,render:!1}),1,"bordered"],[be(),1,"logoUrl"],[be(),1,"newChatUrl"],[be({type:Boolean}),1,"newChatLinkWhenCollapsed"],[be(),1,"historyActiveId"],[be(),1,"historyUrlTemplate"],[be({attribute:!1}),1,"historyActions"],[be(),1,"projectActiveId"],[be(),1,"projectUrlTemplate"],[be({attribute:!1}),1,"projectActions"],[be({attribute:!1}),1,"links"],[be({type:Boolean}),1,"canAddProject"],[ye({type:"logout"}),1,"logout",e=>(0,d.A)(De,e),(e,t)=>(0,c.A)(De,e,t)],[ye({type:"action.click"}),1,"actionClick",e=>(0,d.A)(Be,e),(e,t)=>(0,c.A)(Be,e,t)],[ye({type:"project.action.click"}),1,"projectActionClick",e=>(0,d.A)(ze,e),(e,t)=>(0,c.A)(ze,e,t)],[ye({type:"add.project"}),1,"addProject",e=>(0,d.A)(Ve,e),(e,t)=>(0,c.A)(Ve,e,t)],[ke(),2,"pullHistory"],[ke(),2,"close"],[ke(),2,"removeProject"],[ke(),2,"addProject"],[ke(),2,"moveConversation"]],0,(e=>qe.has((0,s.A)(e))),g.ReactNextElement)),j()},89575:(e,t,i)=>{"use strict";function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},n.apply(this,arguments)}i.d(t,{A:()=>n})},97907:(e,t,i)=>{"use strict";i.d(t,{$g:()=>c,LQ:()=>a,QB:()=>n,Rq:()=>l,X4:()=>r,Xc:()=>s,Z5:()=>o,ju:()=>p,mJ:()=>d});const n=["completed","failed","canceled","terminated"],r=[...n,"paused"],o=[...r,"input-required"],a={lib:"lucide",icon:"x"},s={lib:"antd",icon:"loading-3-quarters",spinning:!0},l={lib:"lucide",icon:"network"},c={lib:"lucide",icon:"messages-square"},d={lib:"lucide",icon:"message-square"},p={lib:"lucide",icon:"external-link"}},98343:(e,t,i)=>{"use strict";i.d(t,{Q:()=>r});var n=i(41030);function r(e,t){return null==e?void 0:e.replace(/{{(.*?)}}/g,((e,i)=>(0,n.get)(t,i.trim())))}},99671:(e,t,i)=>{"use strict";i.d(t,{I:()=>l,K:()=>r,NS:()=>s,t:()=>c});var n=i(68443);let r=function(e){return e.NEW_CHAT="NEW_CHAT",e.LOGOUT="LOGOUT",e.TODAY="TODAY",e.YESTERDAY="YESTERDAY",e.PREVIOUS_7_DAYS="PREVIOUS_7_DAYS",e.PREVIOUS_30_DAYS="PREVIOUS_30_DAYS",e.SWITCH_LANGUAGE="SWITCH_LANGUAGE",e.PROJECTS="PROJECTS",e.HISTORY="HISTORY",e.CREATE_PROJECT="CREATE_PROJECT",e.MOVE_TO_PROJECT="MOVE_TO_PROJECT",e.UNTITLED="UNTITLED",e.UNNAMED="UNNAMED",e}({});const o={[r.NEW_CHAT]:"New chat",[r.LOGOUT]:"Logout",[r.TODAY]:"Today",[r.YESTERDAY]:"Yesterday",[r.PREVIOUS_7_DAYS]:"Previous 7 days",[r.PREVIOUS_30_DAYS]:"Previous 30 days",[r.SWITCH_LANGUAGE]:"中文",[r.PROJECTS]:"Projects",[r.HISTORY]:"Chats",[r.CREATE_PROJECT]:"Create project",[r.MOVE_TO_PROJECT]:"Move to project",[r.UNTITLED]:"Untitled",[r.UNNAMED]:"Unnamed"},a={[r.NEW_CHAT]:"新对话",[r.LOGOUT]:"登出",[r.TODAY]:"今天",[r.YESTERDAY]:"昨天",[r.PREVIOUS_7_DAYS]:"过去7天",[r.PREVIOUS_30_DAYS]:"过去30天",[r.SWITCH_LANGUAGE]:"English",[r.PROJECTS]:"项目",[r.HISTORY]:"对话",[r.CREATE_PROJECT]:"创建项目",[r.MOVE_TO_PROJECT]:"移动到项目",[r.UNTITLED]:"无标题",[r.UNNAMED]:"未命名"},s="bricks/ai-portal/elevo-sidebar",l={en:o,zh:a},c=n.i18n.getFixedT(null,s)}}]);
|
|
3
|
+
//# sourceMappingURL=elevo-sidebar.aa3aa869.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/elevo-sidebar.aa3aa869.js","mappings":"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","sources":["webpack:///../../node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/getElevoProjects.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@next-api-sdk/llm-sdk/dist/esm/api/llm/elevo/listElevoConversations.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///./src/elevo-sidebar/bricks.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/elevo-sidebar/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///./src/elevo-sidebar/ChatHistory.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///./src/elevo-sidebar/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./src/shared/constants.ts","webpack:///./src/shared/parseTemplate.ts","webpack:///./src/elevo-sidebar/i18n.ts"],"sourcesContent":["import { http } from \"@next-core/http\";\n/**\n * @description 获取elevo项目列表\n * @endpoint list /api/v1/elevo/projects\n */\nexport const ElevoApi_getElevoProjects = async (params, options) => /**! @contract easyops.api.llm.elevo.GetElevoProjects@1.0.0 */(await http.get(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/projects\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=getElevoProjects.js.map","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import { http } from \"@next-core/http\";\n/**\n * @description 获取elevo会话列表\n * @endpoint GET /api/v1/elevo/conversations\n */\nexport const ElevoApi_listElevoConversations = async (params, options) => /**! @contract easyops.api.llm.elevo.ListElevoConversations@1.0.0 */(await http.get(\"api/gateway/logic.llm.aiops_service/api/v1/elevo/conversations\", {\n ...options,\n params\n})).data;\n//# sourceMappingURL=listElevoConversations.js.map","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","import { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type {\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n} from \"@next-bricks/basic/mini-actions\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nexport const WrappedEasyopsAvatar = wrapBrick<\n EoEasyopsAvatar,\n EoEasyopsAvatarProps\n>(\"eo-easyops-avatar\");\nexport const WrappedMiniActions = wrapBrick<\n EoMiniActions,\n EoMiniActionsProps,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping\n>(\"eo-mini-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nexport const WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.sidebar{position:relative;z-index:1;width:260px;height:100%;background:rgba(246,247,249,0.5);border:1px solid rgba(255,255,255,0.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:23px 11px 0;display:flex;flex-direction:column;transition:transform 0.3s ease-in-out}.logo-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;margin-left:4px}.logo-link::part(link){display:block}.logo{vertical-align:middle}.new-chat::part(link){display:flex;gap:0;align-items:center;color:var(--elevo-color-brand);font-size:14px;text-align:left;cursor:pointer}.sidebar .new-chat::part(link){background:#f0f4ff;border-radius:8px;border:1px solid #c9d7ff;padding:9px 13px;font-weight:500;margin-bottom:16px}.sidebar .new-chat::part(link):hover{background:rgba(201,215,255,0.5)}.new-chat-icon{font-size:16px;margin-right:5px}.footer{border-top:1px solid rgba(0,0,0,0.04);padding:9px 12px;margin:0 -12px}.dropdown{display:block}.account{background:none;border:none;border-radius:8px;padding:6px 10px;display:block;width:100%;text-align:left;cursor:pointer}.account:hover{background:rgba(0,0,0,0.04)}.alternative{position:fixed;top:8px;left:8px;padding:6px 10px 6px 8px;display:flex;align-items:center;opacity:0;z-index:1;transition:opacity 0.2s ease-in-out;background:rgba(255,255,255,0);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alternative .new-chat::part(link){padding:4px;margin-left:16px;font-size:12px}.alternative .new-chat::part(link):hover{color:#7891ff}.alternative .new-chat::part(link):active{color:#0911b3}.container{width:270px;padding:10px 0 10px 10px;height:100%;transition:width 0.3s ease-in-out,padding 0.3s ease-in-out}.container.collapsed{width:0;padding:10px 0;overflow:visible}.container.collapsed .sidebar{transform:translateX(-100%)}.container.collapsed .alternative{opacity:1}:host([behavior=\"drawer\"]){z-index:1;width:0}:host(:not([behavior=\"drawer\"])) .alternative .new-chat{display:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0}.links{border-bottom:1px solid rgba(0,0,0,0.06);padding-bottom:16px;margin-bottom:16px}.link{display:block}.link + .link{margin-top:4px}.link::part(link){display:flex;gap:0;align-items:center;padding:7px 10px;border-radius:8px;color:#000}.link::part(link):hover{background:rgba(0,0,0,0.04)}.link .icon{font-size:16px;margin-right:10px}.link .title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history{flex:1;min-height:0;overflow-y:auto;margin:0 -12px;padding:0 12px}.history ul{list-style:none;margin:0;padding:0}.history .section + .section{margin-top:14px}.history .section-title{display:flex;align-items:center;justify-content:space-between;height:30px;margin-bottom:6px;padding:0 8px}.history .section-label{display:flex;align-items:center;height:24px;padding:0 8px;margin-left:-8px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:12px;color:#8c8c8c;border-radius:8px}.history .section-label eo-icon{vertical-align:middle;margin-left:6px;transition:transform 0.2s ease-in-out}.history .section-label:hover{background:rgba(0,0,0,0.04)}.history .collapsed > ul{display:none}.history .collapsed .section-label eo-icon{transform:rotate(-90deg)}.history .error,.history .loading{display:flex;align-items:center;height:36px;padding:0 8px}.history .loading{justify-content:center}.history .error{color:var(--color-error)}.history .group + .group{margin-top:15px}.history .group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.history .item{display:block}.history .item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.history .item.active::part(link){background:rgba(0,0,0,0.06)}.history .item.actions-active::part(link),.history .item::part(link):hover{background:rgba(0,0,0,0.04)}.history .item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.history .actions{cursor:auto}.history .item:not(:hover):not(.actions-active) .actions{display:none}.history .working{width:8px;height:8px;border-radius:8px;background:var(--elevo-color-brand);margin:0 7px}.history .item.actions-active .working,.history .item:hover .working,.history .item.active .working{display:none}.history .load-more{display:flex;justify-content:center;align-items:center;height:36px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport {\n ElevoApi_listElevoConversations,\n ElevoApi_getElevoProjects,\n type ElevoApi_ListElevoConversationsRequestParams,\n} from \"@next-api-sdk/llm-sdk\";\nimport type {\n ActionType,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { isEqual } from \"lodash\";\nimport { K, t } from \"./i18n.js\";\nimport {\n WrappedIcon,\n WrappedLink,\n WrappedMiniActions,\n WrappedIconButton,\n} from \"./bricks.js\";\nimport { DONE_STATES } from \"../shared/constants.js\";\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport type { ConversationState } from \"../shared/interfaces.js\";\n\nconst ADD_ICON: GeneralIconProps = {\n lib: \"fa\",\n icon: \"plus\",\n};\n\nexport interface HistoryItem {\n conversationId: string;\n title: string;\n startTime: number;\n state?: ConversationState;\n}\n\nexport interface GroupedHistory {\n title: string;\n items: HistoryItem[];\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType;\n item: HistoryItem;\n project?: Project;\n}\n\nexport interface ProjectActionClickDetail {\n action: SimpleActionType;\n project: Project;\n}\n\nexport interface Project {\n /** 实例ID */\n instanceId: string;\n /** 项目名称 */\n name: string;\n /** 项目描述 */\n description: string;\n /** 状态 */\n state: \"active\" | \"inactive\";\n /** 默认数字人ID */\n defaultAiEmployeeId: string;\n /** 创建者 */\n creator: string;\n /** 创建时间 */\n ctime: string;\n /** 修改时间 */\n mtime: string;\n /** 修改者 */\n modifier: string;\n}\n\nexport interface ChatHistoryProps {\n historyActiveId?: string;\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n projectActiveId?: string;\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n canAddProject?: boolean;\n onActionClick: (detail: ActionClickDetail) => void;\n onHistoryClick: () => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n}\n\nexport interface ChatHistoryRef {\n pull: () => void;\n removeProject?: (projectId: string) => void;\n addProject?: (project: Project) => void;\n moveConversation?: (conversationId: string) => void;\n}\n\nexport const ChatHistory = forwardRef(LowLevelChatHistory);\n\nexport function LowLevelChatHistory(\n {\n historyActiveId,\n historyActions,\n historyUrlTemplate,\n projectActiveId,\n projectUrlTemplate,\n projectActions,\n canAddProject,\n onActionClick,\n onHistoryClick,\n onProjectActionClick,\n onAddProject,\n }: ChatHistoryProps,\n ref: React.Ref<ChatHistoryRef>\n) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const [projects, setProjects] = useState<Project[] | null>(null);\n const [projectsCollapsed, setProjectsCollapsed] = useState(false);\n const [projectsError, setProjectsError] = useState(false);\n const [historyList, setHistoryList] = useState<HistoryItem[] | null>(null);\n const [historyCollapsed, setHistoryCollapsed] = useState(false);\n const [nextToken, setNextToken] = useState<string | undefined>();\n const [loadNextToken, setLoadNextToken] = useState<string | undefined>();\n const [historyError, setHistoryError] = useState(false);\n const initialRef = useRef(true);\n const [movedConversations, setMovedConversations] = useState<string[]>([]);\n\n const mergedHistoryActions = useMemo(\n () =>\n [\n ...(historyActions ?? []),\n {\n isDropdown: true,\n text: t(K.MOVE_TO_PROJECT),\n disabled: !projects?.length,\n items: projects?.map((project) => ({\n event: \"move\",\n key: project.instanceId,\n text: project.name,\n project,\n })),\n },\n ] as ActionType[],\n [historyActions, projects]\n );\n\n useEffect(() => {\n (async () => {\n try {\n const projects = await ElevoApi_getElevoProjects({\n page: 1,\n page_size: 3000,\n });\n setProjects(projects.list as Project[]);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error loading projects:\", error);\n setProjectsError(true);\n setProjects([]);\n }\n })();\n }, []);\n\n useEffect(() => {\n Promise.all([\n ElevoApi_listElevoConversations(\n {\n token: loadNextToken,\n limit: 30,\n onlyOwner: true,\n onlyUnrelatedProject: true,\n } as ElevoApi_ListElevoConversationsRequestParams,\n {\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n ),\n ...(initialRef.current\n ? []\n : [\n new Promise((resolve) => setTimeout(resolve, 500)), // Force a minimum delay\n ]),\n ])\n .then(([data]) => {\n initialRef.current = false;\n setHistoryList((prev) => [\n ...(prev ?? []),\n ...(data.conversations as HistoryItem[]),\n ]);\n setNextToken(data.nextToken);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error(\"Error loading chat history:\", error);\n setHistoryList([]);\n setHistoryError(true);\n });\n }, [loadNextToken]);\n\n const [actionsVisible, setActionsVisible] = useState<string | null>(null);\n\n const nextRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const next = nextRef.current;\n const root = rootRef.current;\n if (!next || !nextToken || !root || historyCollapsed) {\n return;\n }\n const observer = new IntersectionObserver(\n (entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n setLoadNextToken(nextToken);\n }\n }\n },\n { root }\n );\n observer.observe(next);\n return () => {\n observer.disconnect();\n };\n }, [nextToken, historyCollapsed]);\n\n const pullIdRef = useRef(0);\n\n const pull = useCallback(async () => {\n try {\n const pullId = ++pullIdRef.current;\n const tempList = await ElevoApi_listElevoConversations(\n {\n limit: 30,\n onlyOwner: true,\n onlyUnrelatedProject: true,\n } as ElevoApi_ListElevoConversationsRequestParams,\n {\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n if (pullId !== pullIdRef.current) {\n // Ignore this pull if a newer one has been triggered\n return;\n }\n setHistoryList((prev) => {\n const prevList = prev ?? [];\n const newList = tempList.conversations as HistoryItem[];\n const newIds = new Set(newList.map((item) => item.conversationId));\n const newItemsMap = new Map(\n newList.map((item) => [item.conversationId, item])\n );\n\n let foundIntersection = false;\n let foundChanged = false;\n let isFirst = true;\n for (const item of prevList) {\n const newItem = newItemsMap.get(item.conversationId);\n if (newItem) {\n foundIntersection = true;\n foundChanged =\n (isFirst && newItem !== newList[0]) || !isEqual(newItem, item);\n if (foundChanged) {\n break;\n }\n } else {\n break;\n }\n isFirst = false;\n }\n\n if (!foundIntersection) {\n setNextToken(tempList.nextToken);\n return newList;\n }\n\n if (foundChanged) {\n return [\n ...newList,\n ...prevList.filter((item) => !newIds.has(item.conversationId)),\n ];\n }\n\n return prev;\n });\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Error pulling chat history:\", error);\n }\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n pull,\n removeProject: (projectId: string) => {\n setProjects((prev) =>\n prev ? prev.filter((p) => p.instanceId !== projectId) : prev\n );\n },\n addProject: (project: Project) => {\n setProjects((prev) => (prev ? [...prev, project] : [project]));\n },\n moveConversation: (conversationId: string) => {\n setMovedConversations((prev) => [...prev, conversationId]);\n },\n }),\n [pull]\n );\n\n const filteredHistoryList = useMemo(() => {\n if (!historyList || !historyList.length) {\n return historyList;\n }\n return historyList.filter(\n (item) => !movedConversations.includes(item.conversationId)\n );\n }, [historyList, movedConversations]);\n\n return (\n <div className=\"history\" ref={rootRef}>\n <div className={classNames(\"section\", { collapsed: projectsCollapsed })}>\n <div className=\"section-title\">\n <div\n className=\"section-label\"\n onClick={() => setProjectsCollapsed((prev) => !prev)}\n >\n {t(K.PROJECTS)}\n <WrappedIcon lib=\"fa\" icon=\"angle-down\" />\n </div>\n {canAddProject && (\n <WrappedIconButton\n icon={ADD_ICON}\n variant=\"mini-light\"\n tooltip={t(K.CREATE_PROJECT)}\n onClick={onAddProject}\n />\n )}\n </div>\n <ul className=\"items\">\n {projectsError ? (\n <li className=\"error\">Failed to load project</li>\n ) : projects ? (\n projects.map((project) => (\n <li key={project.instanceId}>\n <WrappedLink\n className={classNames(\"item\", {\n \"actions-active\": project.instanceId === actionsVisible,\n active: project.instanceId === projectActiveId,\n })}\n onClick={onHistoryClick}\n {...(projectUrlTemplate\n ? { url: parseTemplate(projectUrlTemplate, project) }\n : null)}\n >\n <div className=\"item-title\" title={project.name}>\n {project.name || t(K.UNNAMED)}\n </div>\n <WrappedMiniActions\n className=\"actions\"\n actions={projectActions}\n onActionClick={(e) => {\n onProjectActionClick({ action: e.detail, project });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail ? project.instanceId : null);\n }}\n />\n </WrappedLink>\n </li>\n ))\n ) : (\n <li className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </li>\n )}\n </ul>\n </div>\n <div className={classNames(\"section\", { collapsed: historyCollapsed })}>\n <div className=\"section-title\">\n <div\n className=\"section-label\"\n onClick={() => setHistoryCollapsed((prev) => !prev)}\n >\n {t(K.HISTORY)}\n <WrappedIcon lib=\"fa\" icon=\"angle-down\" />\n </div>\n </div>\n <ul className=\"items\">\n {filteredHistoryList ? (\n filteredHistoryList.map((item) => (\n <li key={item.conversationId}>\n <WrappedLink\n className={classNames(\"item\", {\n \"actions-active\": item.conversationId === actionsVisible,\n active: item.conversationId === historyActiveId,\n })}\n onClick={onHistoryClick}\n {...(historyUrlTemplate\n ? { url: parseTemplate(historyUrlTemplate, item) }\n : null)}\n >\n <div className=\"item-title\" title={item.title}>\n {item.title || t(K.UNTITLED)}\n </div>\n <WrappedMiniActions\n className=\"actions\"\n actions={mergedHistoryActions}\n onActionClick={(e) => {\n onActionClick({ action: e.detail, item });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail ? item.conversationId : null);\n }}\n />\n {!DONE_STATES.includes(item.state!) && (\n <div className=\"working\"></div>\n )}\n </WrappedLink>\n </li>\n ))\n ) : (\n <li className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </li>\n )}\n {historyError ? (\n <li className=\"error\">Failed to load chat history</li>\n ) : null}\n </ul>\n {!historyCollapsed && nextToken && (\n <div className=\"load-more\" ref={nextRef}>\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )}\n </div>\n </div>\n );\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { getHistory } from \"@next-core/runtime\";\nimport classNames from \"classnames\";\nimport type { DropdownActionsProps } from \"@next-bricks/basic/dropdown-actions\";\nimport type { ActionType } from \"@next-bricks/basic/mini-actions\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n WrappedDropdownActions,\n WrappedEasyopsAvatar,\n WrappedIcon,\n WrappedIconButton,\n WrappedLink,\n} from \"./bricks.js\";\nimport {\n ChatHistory,\n type ActionClickDetail,\n type ChatHistoryRef,\n type Project,\n type ProjectActionClickDetail,\n} from \"./ChatHistory.js\";\n\ninitializeI18n(NS, locales);\n\nconst SIDEBAR_ICON: GeneralIconProps = {\n lib: \"easyops\",\n icon: \"sidebar\",\n};\n\nconst WrappedElevoLogo = wrapBrick(\"ai-portal.elevo-logo\");\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ElevoSidebarProps {\n userInstanceId?: string;\n behavior?: \"default\" | \"drawer\";\n bordered?: boolean;\n logoUrl?: string;\n newChatUrl?: string;\n newChatLinkWhenCollapsed?: boolean;\n historyActiveId?: string;\n historyUrlTemplate?: string;\n historyActions?: ActionType[];\n projectActiveId?: string;\n projectUrlTemplate?: string;\n projectActions?: ActionType[];\n links?: SidebarLink[];\n canAddProject?: boolean;\n}\n\nexport interface SidebarLink {\n title: string;\n url: string;\n icon: GeneralIconProps;\n}\n\nconst ElevoSidebarComponent = forwardRef(LegacyElevoSidebarComponent);\n\ninterface ElevoSidebarRef extends ChatHistoryRef {\n close: () => void;\n}\n\n/**\n * 构件 `ai-portal.elevo-sidebar`\n */\nexport\n@defineElement(\"ai-portal.elevo-sidebar\", {\n styleTexts: [styleText],\n})\nclass ElevoSidebar extends ReactNextElement implements ElevoSidebarProps {\n @property()\n accessor userInstanceId: string | undefined;\n\n @property()\n accessor behavior: \"default\" | \"drawer\" | undefined;\n\n @property({ type: Boolean, render: false })\n accessor bordered: boolean | undefined;\n\n @property()\n accessor logoUrl: string | undefined;\n\n @property()\n accessor newChatUrl: string | undefined;\n\n @property({ type: Boolean })\n accessor newChatLinkWhenCollapsed: boolean | undefined;\n\n @property()\n accessor historyActiveId: string | undefined;\n\n @property()\n accessor historyUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor historyActions: ActionType[] | undefined;\n\n @property()\n accessor projectActiveId: string | undefined;\n\n @property()\n accessor projectUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor projectActions: ActionType[] | undefined;\n\n @property({ attribute: false })\n accessor links: SidebarLink[] | undefined;\n\n @property({ type: Boolean })\n accessor canAddProject: boolean | undefined = true;\n\n @event({ type: \"logout\" })\n accessor #logout!: EventEmitter<void>;\n\n #handleLogout = () => {\n this.#logout.emit();\n };\n\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n @event({ type: \"project.action.click\" })\n accessor #projectActionClick!: EventEmitter<ProjectActionClickDetail>;\n\n #handleProjectActionClick = (detail: ProjectActionClickDetail) => {\n this.#projectActionClick.emit(detail);\n };\n\n @event({ type: \"add.project\" })\n accessor #addProject!: EventEmitter<void>;\n\n #handleAddProject = () => {\n this.#addProject.emit();\n };\n\n #ref = createRef<ElevoSidebarRef>();\n\n /**\n * @param delay Delay in milliseconds before pulling the latest chat history.\n */\n @method()\n pullHistory(delay: number) {\n // Wait several seconds to let the task title to be summarized.\n setTimeout(() => {\n this.#ref.current?.pull();\n }, delay);\n }\n\n @method()\n close() {\n this.#ref.current?.close();\n }\n\n @method()\n removeProject(projectId: string) {\n this.#ref.current?.removeProject?.(projectId);\n }\n\n @method()\n addProject(project: Project) {\n this.#ref.current?.addProject?.(project);\n }\n\n @method()\n moveConversation(conversationId: string) {\n this.#ref.current?.moveConversation?.(conversationId);\n }\n\n render() {\n return (\n <ElevoSidebarComponent\n ref={this.#ref}\n userInstanceId={this.userInstanceId}\n behavior={this.behavior}\n logoUrl={this.logoUrl}\n newChatUrl={this.newChatUrl}\n newChatLinkWhenCollapsed={this.newChatLinkWhenCollapsed}\n historyActiveId={this.historyActiveId}\n historyUrlTemplate={this.historyUrlTemplate}\n historyActions={this.historyActions}\n projectActiveId={this.projectActiveId}\n projectUrlTemplate={this.projectUrlTemplate}\n projectActions={this.projectActions}\n links={this.links}\n canAddProject={this.canAddProject}\n onLogout={this.#handleLogout}\n onActionClick={this.#handleActionClick}\n onProjectActionClick={this.#handleProjectActionClick}\n onAddProject={this.#handleAddProject}\n />\n );\n }\n}\n\ninterface ElevoSidebarComponentProps extends ElevoSidebarProps {\n onLogout: () => void;\n onActionClick: (detail: ActionClickDetail) => void;\n onProjectActionClick: (detail: ProjectActionClickDetail) => void;\n onAddProject: () => void;\n}\n\nfunction LegacyElevoSidebarComponent(\n {\n userInstanceId,\n behavior,\n logoUrl,\n newChatUrl,\n newChatLinkWhenCollapsed,\n historyActiveId,\n historyUrlTemplate,\n historyActions,\n projectActiveId,\n projectUrlTemplate,\n projectActions,\n links,\n canAddProject,\n onLogout,\n onActionClick,\n onProjectActionClick,\n onAddProject,\n }: ElevoSidebarComponentProps,\n ref: React.Ref<ElevoSidebarRef>\n) {\n const [collapsed, setCollapsed] = useState(behavior === \"drawer\");\n const handleCollapse = useCallback(() => {\n setCollapsed(true);\n }, []);\n const handleExpand = useCallback(() => {\n setCollapsed(false);\n }, []);\n\n useEffect(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const handleClickMask = useCallback(() => {\n setCollapsed(true);\n }, []);\n\n const handleHistoryClick = useCallback(() => {\n if (behavior === \"drawer\") {\n setCollapsed(true);\n }\n }, [behavior]);\n\n const dropdownActions = useMemo<DropdownActionsProps[\"actions\"]>(\n () => [\n {\n key: \"logout\",\n icon: {\n lib: \"fa\",\n prefix: \"fas\",\n icon: \"arrow-right-from-bracket\",\n },\n text: t(K.LOGOUT),\n },\n {\n key: \"switch-language\",\n icon: {\n lib: \"easyops\",\n icon: \"language\",\n },\n text: t(K.SWITCH_LANGUAGE),\n },\n ],\n []\n );\n\n const historyRef = useRef<ChatHistoryRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n close: () => {\n setCollapsed(true);\n },\n pull: () => {\n historyRef.current?.pull();\n },\n removeProject: (projectId: string) => {\n historyRef.current?.removeProject?.(projectId);\n },\n addProject: (project: Project) => {\n historyRef.current?.addProject?.(project);\n },\n moveConversation: (conversationId: string) => {\n historyRef.current?.moveConversation?.(conversationId);\n },\n }),\n []\n );\n\n return (\n <div className={classNames(\"container\", { collapsed })}>\n {behavior === \"drawer\" && !collapsed && (\n <div className=\"mask\" onClick={handleClickMask} />\n )}\n <div className=\"alternative\">\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleExpand}\n />\n {newChatLinkWhenCollapsed && (\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n )}\n </div>\n <div className=\"sidebar\">\n <div className=\"logo-bar\">\n <WrappedLink url={logoUrl} className=\"logo-link\">\n <WrappedElevoLogo />\n </WrappedLink>\n <WrappedIconButton\n icon={SIDEBAR_ICON}\n variant=\"light\"\n onClick={handleCollapse}\n />\n </div>\n <WrappedLink className=\"new-chat\" url={newChatUrl}>\n <WrappedIcon\n className=\"new-chat-icon\"\n lib=\"easyops\"\n icon=\"new-chat\"\n />\n {t(K.NEW_CHAT)}\n </WrappedLink>\n {links?.length ? (\n <div className=\"links\">\n {links.map((link, index) => (\n <WrappedLink className=\"link\" key={index} url={link.url}>\n <WrappedIcon className=\"icon\" {...link.icon} />\n <span className=\"title\">{link.title}</span>\n </WrappedLink>\n ))}\n </div>\n ) : null}\n <ChatHistory\n ref={historyRef}\n canAddProject={canAddProject}\n historyActiveId={historyActiveId}\n historyUrlTemplate={historyUrlTemplate}\n historyActions={historyActions}\n projectActiveId={projectActiveId}\n projectUrlTemplate={projectUrlTemplate}\n projectActions={projectActions}\n onActionClick={onActionClick}\n onHistoryClick={handleHistoryClick}\n onProjectActionClick={onProjectActionClick}\n onAddProject={onAddProject}\n />\n <div className=\"footer\">\n <WrappedDropdownActions\n className=\"dropdown\"\n actions={dropdownActions}\n onActionClick={async (e) => {\n if (e.detail.key === \"logout\") {\n onLogout();\n } else {\n await i18n.changeLanguage(\n i18n.language && i18n.language.split(\"-\")[0] === \"en\"\n ? \"zh\"\n : \"en\"\n );\n getHistory().reload();\n }\n }}\n >\n <button className=\"account\">\n <WrappedEasyopsAvatar\n nameOrInstanceId={userInstanceId}\n showName\n size=\"xs\"\n />\n </button>\n </WrappedDropdownActions>\n </div>\n </div>\n </div>\n );\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport type { ConversationState, JobState, TaskState } from \"./interfaces.js\";\n\nexport const DONE_STATES = [\n \"completed\",\n \"failed\",\n \"canceled\",\n \"terminated\",\n] as (ConversationState | TaskState | JobState | undefined)[];\n\nexport const GENERAL_DONE_STATES = [...DONE_STATES, \"paused\"] as (\n | ConversationState\n | TaskState\n | JobState\n | undefined\n)[];\n\nexport const NON_WORKING_STATES = [...GENERAL_DONE_STATES, \"input-required\"];\n\nexport const ICON_CLOSE: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"x\",\n};\n\nexport const ICON_LOADING: GeneralIconProps = {\n lib: \"antd\",\n icon: \"loading-3-quarters\",\n spinning: true,\n};\n\nexport const ICON_CANVAS: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"network\",\n} as GeneralIconProps;\n\nexport const ICON_CHAT: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"messages-square\",\n} as GeneralIconProps;\n\nexport const ICON_FEEDBACK: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"message-square\",\n};\n\nexport const ICON_EXTERNAL_LINK: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"external-link\",\n};\n","import { get } from \"lodash\";\n\nexport function parseTemplate(\n template: string | undefined,\n context: Record<string, any>\n) {\n return template?.replace(/{{(.*?)}}/g, (_match: string, key: string) => {\n const value = get(context, key.trim());\n return value;\n });\n}\n","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n NEW_CHAT = \"NEW_CHAT\",\n LOGOUT = \"LOGOUT\",\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n PREVIOUS_7_DAYS = \"PREVIOUS_7_DAYS\",\n PREVIOUS_30_DAYS = \"PREVIOUS_30_DAYS\",\n SWITCH_LANGUAGE = \"SWITCH_LANGUAGE\",\n PROJECTS = \"PROJECTS\",\n HISTORY = \"HISTORY\",\n CREATE_PROJECT = \"CREATE_PROJECT\",\n MOVE_TO_PROJECT = \"MOVE_TO_PROJECT\",\n UNTITLED = \"UNTITLED\",\n UNNAMED = \"UNNAMED\",\n}\n\nconst en: Locale = {\n [K.NEW_CHAT]: \"New chat\",\n [K.LOGOUT]: \"Logout\",\n [K.TODAY]: \"Today\",\n [K.YESTERDAY]: \"Yesterday\",\n [K.PREVIOUS_7_DAYS]: \"Previous 7 days\",\n [K.PREVIOUS_30_DAYS]: \"Previous 30 days\",\n [K.SWITCH_LANGUAGE]: \"中文\",\n [K.PROJECTS]: \"Projects\",\n [K.HISTORY]: \"Chats\",\n [K.CREATE_PROJECT]: \"Create project\",\n [K.MOVE_TO_PROJECT]: \"Move to project\",\n [K.UNTITLED]: \"Untitled\",\n [K.UNNAMED]: \"Unnamed\",\n};\n\nconst zh: Locale = {\n [K.NEW_CHAT]: \"新对话\",\n [K.LOGOUT]: \"登出\",\n [K.TODAY]: \"今天\",\n [K.YESTERDAY]: \"昨天\",\n [K.PREVIOUS_7_DAYS]: \"过去7天\",\n [K.PREVIOUS_30_DAYS]: \"过去30天\",\n [K.SWITCH_LANGUAGE]: \"English\",\n [K.PROJECTS]: \"项目\",\n [K.HISTORY]: \"对话\",\n [K.CREATE_PROJECT]: \"创建项目\",\n [K.MOVE_TO_PROJECT]: \"移动到项目\",\n [K.UNTITLED]: \"无标题\",\n [K.UNNAMED]: \"未命名\",\n};\n\nexport const NS = \"bricks/ai-portal/elevo-sidebar\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n"],"names":["ElevoApi_getElevoProjects","async","params","options","http","get","data","_classPrivateGetter","s","r","a","ElevoApi_listElevoConversations","toPropertyKey","t","i","e","Symbol","toPrimitive","call","TypeError","String","_assertClassBrand","n","has","arguments","length","_typeof","o","iterator","constructor","prototype","_checkInRHS","Object","module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","WrappedIcon","wrapBrick","WrappedLink","WrappedDropdownActions","onActionClick","onVisibleChange","WrappedEasyopsAvatar","WrappedMiniActions","WrappedIconButton","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","apply","includes","key","value","newClass","default","___CSS_LOADER_EXPORT___","setFunctionName","description","defineProperty","configurable","applyDecs2311","c","u","f","l","p","d","metadata","m","h","create","y","v","g","b","applyDec","w","D","S","j","E","I","P","F","set","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","checkInRHS","ADD_ICON","lib","icon","ChatHistory","forwardRef","LowLevelChatHistory","_ref","ref","historyActiveId","historyActions","historyUrlTemplate","projectActiveId","projectUrlTemplate","projectActions","canAddProject","onHistoryClick","onProjectActionClick","onAddProject","rootRef","useRef","projects","setProjects","useState","projectsCollapsed","setProjectsCollapsed","projectsError","setProjectsError","historyList","setHistoryList","historyCollapsed","setHistoryCollapsed","nextToken","setNextToken","loadNextToken","setLoadNextToken","historyError","setHistoryError","initialRef","movedConversations","setMovedConversations","mergedHistoryActions","useMemo","isDropdown","text","MOVE_TO_PROJECT","disabled","items","project","event","instanceId","useEffect","page","page_size","error","console","Promise","all","token","limit","onlyOwner","onlyUnrelatedProject","interceptorParams","ignoreLoadingBar","current","resolve","setTimeout","then","_ref2","prev","conversations","catch","actionsVisible","setActionsVisible","nextRef","next","root","observer","IntersectionObserver","entries","entry","isIntersecting","observe","disconnect","pullIdRef","pull","useCallback","pullId","tempList","prevList","newList","newIds","Set","conversationId","newItemsMap","Map","foundIntersection","foundChanged","isFirst","newItem","isEqual","filter","useImperativeHandle","removeProject","projectId","addProject","moveConversation","filteredHistoryList","React","className","collapsed","onClick","PROJECTS","variant","tooltip","CREATE_PROJECT","_extends","active","url","parseTemplate","title","UNNAMED","actions","action","detail","theme","spinning","HISTORY","UNTITLED","DONE_STATES","state","_classPrivateFieldGet2","_classPrivateFieldInitSpec","obj","privateMap","_checkPrivateRedeclaration","privateCollection","_classPrivateMethodInitSpec","privateSet","add","_classPrivateFieldSet2","initializeI18n","NS","locales","SIDEBAR_ICON","WrappedElevoLogo","defineElement","property","method","createDecorators","ElevoSidebarComponent","LegacyElevoSidebarComponent","_ElevoSidebar","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_ElevoSidebar_brand","WeakSet","_handleLogout","_P","_handleActionClick","_Q","_handleProjectActionClick","_R","_handleAddProject","ElevoSidebar","ReactNextElement","_initProto","_init_userInstanceId","_init_extra_userInstanceId","_init_behavior","_init_extra_behavior","_init_bordered","_init_extra_bordered","_init_logoUrl","_init_extra_logoUrl","_init_newChatUrl","_init_extra_newChatUrl","_init_newChatLinkWhenCollapsed","_init_extra_newChatLinkWhenCollapsed","_init_historyActiveId","_init_extra_historyActiveId","_init_historyUrlTemplate","_init_extra_historyUrlTemplate","_init_historyActions","_init_extra_historyActions","_init_projectActiveId","_init_extra_projectActiveId","_init_projectUrlTemplate","_init_extra_projectUrlTemplate","_init_projectActions","_init_extra_projectActions","_init_links","_init_extra_links","_init_canAddProject","_init_extra_canAddProject","_init_logout","_init_extra_logout","_get_logout","emit","_init_actionClick","_init_extra_actionClick","_get_actionClick","_init_projectActionClick","_init_extra_projectActionClick","_get_projectActionClick","_init_addProject","_init_extra_addProject","_get_addProject","createRef","userInstanceId","_classPrivateFieldGet","_classPrivateFieldSet","behavior","bordered","logoUrl","newChatUrl","newChatLinkWhenCollapsed","links","pullHistory","delay","close","_classPrivateFieldGet3","_classPrivateFieldGet4","_classPrivateFieldGet5","_classPrivateFieldGet6","_classPrivateFieldGet7","_classPrivateFieldGet8","_classPrivateFieldGet9","render","onLogout","setCollapsed","handleCollapse","handleExpand","handleClickMask","handleHistoryClick","dropdownActions","prefix","LOGOUT","SWITCH_LANGUAGE","historyRef","_historyRef$current","_historyRef$current2","_historyRef$current2$","_historyRef$current3","_historyRef$current3$","_historyRef$current4","_historyRef$current4$","NEW_CHAT","link","index","i18n","changeLanguage","language","split","getHistory","reload","nameOrInstanceId","showName","size","_ElevoSidebar2","_set_logout","_set_actionClick","_set_projectActionClick","_set_addProject","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","attribute","_","assign","target","source","GENERAL_DONE_STATES","NON_WORKING_STATES","ICON_CLOSE","ICON_LOADING","ICON_CANVAS","ICON_CHAT","ICON_FEEDBACK","ICON_EXTERNAL_LINK","template","context","replace","_match","trim","en","TODAY","YESTERDAY","PREVIOUS_7_DAYS","PREVIOUS_30_DAYS","zh","getFixedT"],"sourceRoot":""}
|