@next-bricks/ai-portal 0.43.1 → 0.44.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 +19 -19
- package/dist/chunks/103.8b767f50.js +3 -0
- package/dist/chunks/103.8b767f50.js.map +1 -0
- package/dist/chunks/1306.56ebf388.js +3 -0
- package/dist/chunks/{3689.2a3f6d8c.js.LICENSE.txt → 1306.56ebf388.js.LICENSE.txt} +0 -2
- package/dist/chunks/1306.56ebf388.js.map +1 -0
- package/dist/chunks/{9828.6afc1a0f.js → 3971.8fbc97d3.js} +2 -3
- package/dist/chunks/3971.8fbc97d3.js.map +1 -0
- package/dist/chunks/495.27e0d477.js +2 -0
- package/dist/chunks/495.27e0d477.js.map +1 -0
- package/dist/chunks/7954.a92311a2.js +2 -0
- package/dist/chunks/7954.a92311a2.js.map +1 -0
- package/dist/chunks/9146.40d628b8.js +2 -0
- package/dist/chunks/9146.40d628b8.js.map +1 -0
- package/dist/chunks/chat-box.0e8ed3b2.js +2 -0
- package/dist/chunks/chat-box.0e8ed3b2.js.map +1 -0
- package/dist/chunks/chat-input.2bf76ff7.js +3 -0
- package/dist/chunks/chat-input.2bf76ff7.js.map +1 -0
- package/dist/chunks/chat-stream.40fc8941.js +2 -0
- package/dist/chunks/chat-stream.40fc8941.js.map +1 -0
- package/dist/chunks/cruise-canvas.f9ae5c01.js +2 -0
- package/dist/chunks/cruise-canvas.f9ae5c01.js.map +1 -0
- package/dist/chunks/elevo-sidebar.6f74b954.js +3 -0
- package/dist/chunks/elevo-sidebar.6f74b954.js.LICENSE.txt +9 -0
- package/dist/chunks/elevo-sidebar.6f74b954.js.map +1 -0
- package/dist/chunks/goal-card-list.2ab94b5f.js +3 -0
- package/dist/chunks/{goal-card-list.fcce68bd.js.map → goal-card-list.2ab94b5f.js.map} +1 -1
- package/dist/chunks/main.3ee2ddf3.js +2 -0
- package/dist/chunks/main.3ee2ddf3.js.map +1 -0
- package/dist/examples.json +10 -13
- package/dist/index.b8ca0997.js +2 -0
- package/dist/index.b8ca0997.js.map +1 -0
- package/dist/manifest.json +116 -140
- package/dist/types.json +432 -1442
- package/dist-types/chat-stream/Aside/Aside.d.ts +1 -1
- package/dist-types/chat-stream/AssistantMessage/AssistantMessage.d.ts +1 -2
- package/dist-types/chat-stream/NodeJob/NodeJob.d.ts +1 -2
- package/dist-types/chat-stream/NodeView/NodeView.d.ts +1 -1
- package/dist-types/chat-stream/i18n.d.ts +0 -1
- package/dist-types/chat-stream/index.d.ts +0 -2
- package/dist-types/chat-stream/interfaces.d.ts +1 -1
- package/dist-types/chat-stream/useConversationStream.d.ts +2 -2
- package/dist-types/cruise-canvas/CanvasContext.d.ts +2 -1
- package/dist-types/cruise-canvas/FileList/FileList.d.ts +1 -1
- package/dist-types/cruise-canvas/FilePreview/FilePreview.d.ts +1 -1
- package/dist-types/cruise-canvas/Nav/Nav.d.ts +2 -2
- package/dist-types/cruise-canvas/NodeJob/NodeJob.d.ts +1 -1
- package/dist-types/cruise-canvas/NodeReplay/NodeReplay.d.ts +2 -1
- package/dist-types/cruise-canvas/NodeView/NodeView.d.ts +1 -1
- package/dist-types/cruise-canvas/ToolCallDetail/ToolCallDetail.d.ts +1 -1
- package/dist-types/cruise-canvas/ToolCallStatus/ToolCallStatus.d.ts +1 -1
- package/dist-types/cruise-canvas/ToolProgressLine/ToolProgressLine.d.ts +1 -1
- package/dist-types/cruise-canvas/getFlatOrderedJobs.d.ts +3 -2
- package/dist-types/cruise-canvas/i18n.d.ts +0 -11
- package/dist-types/cruise-canvas/index.d.ts +0 -7
- package/dist-types/cruise-canvas/interfaces.d.ts +1 -99
- package/dist-types/cruise-canvas/reducers/errors.d.ts +4 -0
- package/dist-types/cruise-canvas/reducers/interfaces.d.ts +2 -2
- package/dist-types/cruise-canvas/useConversationDetail.d.ts +1 -1
- package/dist-types/cruise-canvas/useConversationGraph.d.ts +2 -2
- package/dist-types/cruise-canvas/useLayout.d.ts +1 -2
- package/dist-types/cruise-canvas/utils/getToolDataProgress.d.ts +1 -1
- package/dist-types/elevo-sidebar/ChatHistory.d.ts +2 -2
- package/dist-types/elevo-sidebar/index.d.ts +0 -4
- package/dist-types/shared/ChatBox/ChatBox.d.ts +1 -2
- package/dist-types/shared/CreatedView/CreatedView.d.ts +1 -1
- package/dist-types/shared/TaskContext.d.ts +2 -2
- package/dist-types/shared/constants.d.ts +3 -4
- package/dist-types/shared/interfaces.d.ts +4 -0
- package/package.json +2 -3
- package/dist/chunks/3689.2a3f6d8c.js +0 -3
- package/dist/chunks/3689.2a3f6d8c.js.map +0 -1
- package/dist/chunks/453.657c389e.js +0 -2
- package/dist/chunks/453.657c389e.js.map +0 -1
- package/dist/chunks/6754.a5405189.js +0 -2
- package/dist/chunks/6754.a5405189.js.map +0 -1
- package/dist/chunks/9535.ff0f82a1.js +0 -3
- package/dist/chunks/9535.ff0f82a1.js.map +0 -1
- package/dist/chunks/98.9cf438cf.js +0 -2
- package/dist/chunks/98.9cf438cf.js.map +0 -1
- package/dist/chunks/9828.6afc1a0f.js.LICENSE.txt +0 -1
- package/dist/chunks/9828.6afc1a0f.js.map +0 -1
- package/dist/chunks/9965.9f32c070.js +0 -2
- package/dist/chunks/9965.9f32c070.js.map +0 -1
- package/dist/chunks/chat-box.864bf43b.js +0 -2
- package/dist/chunks/chat-box.864bf43b.js.map +0 -1
- package/dist/chunks/chat-input.679aec70.js +0 -3
- package/dist/chunks/chat-input.679aec70.js.map +0 -1
- package/dist/chunks/chat-stream.fe9bdede.js +0 -2
- package/dist/chunks/chat-stream.fe9bdede.js.map +0 -1
- package/dist/chunks/cruise-canvas.22d578c0.js +0 -2
- package/dist/chunks/cruise-canvas.22d578c0.js.map +0 -1
- package/dist/chunks/elevo-sidebar.08b20757.js +0 -3
- package/dist/chunks/elevo-sidebar.08b20757.js.map +0 -1
- package/dist/chunks/goal-card-list.fcce68bd.js +0 -3
- package/dist/chunks/goal-card-list.fcce68bd.js.LICENSE.txt +0 -5
- package/dist/chunks/main.bfbc8871.js +0 -2
- package/dist/chunks/main.bfbc8871.js.map +0 -1
- package/dist/index.07b86656.js +0 -2
- package/dist/index.07b86656.js.map +0 -1
- package/dist-types/chat-stream/HumanAdjustPlanResult/HumanAdjustPlanResult.d.ts +0 -5
- package/dist-types/chat-stream/LegacyChatStream.d.ts +0 -13
- package/dist-types/chat-stream/useTaskStream.d.ts +0 -6
- package/dist-types/cruise-canvas/AlertEvents/AlertEvents.d.ts +0 -13
- package/dist-types/cruise-canvas/DeploymentChanges/DeploymentChanges.d.ts +0 -12
- package/dist-types/cruise-canvas/HumanAdjustPlanResult/HumanAdjustPlanResult.d.ts +0 -5
- package/dist-types/cruise-canvas/HumanConfirm/HumanConfirm.d.ts +0 -5
- package/dist-types/cruise-canvas/LegacyCruiseCanvas.d.ts +0 -20
- package/dist-types/cruise-canvas/PlanProgress/PlanProgress.d.ts +0 -7
- package/dist-types/cruise-canvas/ReplayToolbar/ReplayToolbar.d.ts +0 -7
- package/dist-types/cruise-canvas/Topology/Topology.d.ts +0 -7
- package/dist-types/cruise-canvas/TraceList/TraceList.d.ts +0 -13
- package/dist-types/cruise-canvas/cmdb.d.ts +0 -14
- package/dist-types/cruise-canvas/diagram.d.ts +0 -3
- package/dist-types/cruise-canvas/legacy-reducers/error.d.ts +0 -3
- package/dist-types/cruise-canvas/legacy-reducers/error.spec.d.ts +0 -1
- package/dist-types/cruise-canvas/legacy-reducers/index.d.ts +0 -3
- package/dist-types/cruise-canvas/legacy-reducers/interfaces.d.ts +0 -15
- package/dist-types/cruise-canvas/legacy-reducers/jobs.d.ts +0 -4
- package/dist-types/cruise-canvas/legacy-reducers/jobs.spec.d.ts +0 -1
- package/dist-types/cruise-canvas/legacy-reducers/task.d.ts +0 -4
- package/dist-types/cruise-canvas/legacy-reducers/task.spec.d.ts +0 -1
- package/dist-types/cruise-canvas/reducers/error.d.ts +0 -3
- package/dist-types/cruise-canvas/reducers/error.spec.d.ts +0 -1
- package/dist-types/cruise-canvas/useTaskDetail.d.ts +0 -9
- package/dist-types/cruise-canvas/useTaskGraph.d.ts +0 -11
- package/dist-types/elevo-sidebar/LegacyChatHistory.d.ts +0 -24
- package/dist-types/shared/HumanAdjustPlan/HumanAdjustPlan.d.ts +0 -5
- package/dist-types/shared/HumanAdjustPlan/i18n.d.ts +0 -17
- package/dist-types/shared/ReplayToolbar/ReplayToolbar.d.ts +0 -7
- package/dist-types/shared/ReplayToolbar/i18n.d.ts +0 -18
- package/docs/cruise-canvas.md +0 -366
- /package/dist/chunks/{9535.ff0f82a1.js.LICENSE.txt → 103.8b767f50.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-input.679aec70.js.LICENSE.txt → chat-input.2bf76ff7.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{elevo-sidebar.08b20757.js.LICENSE.txt → goal-card-list.2ab94b5f.js.LICENSE.txt} +0 -0
|
@@ -0,0 +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(87117);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(7921),f=n(11280),b=n(23144),g=n(66491),v=n(39992),x=(n(65168),n(87117)),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.0e8ed3b2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/chat-box.0e8ed3b2.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}\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 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 }));\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","render","onEmployeeMention","valueRef","mentionPopover","setMentionPopover","mentionedText","setMentionedText","activeActionIndex","setActiveActionIndex","selectionRef","store","__elevo_try_it_out","content","handleSubmit","currentTarget","handleChange","selectionStart","selectionEnd","previousContent","mentionIndex","lastIndexOf","mentionText","toLowerCase","position","matchedEmployees","filter","employeeId","includes","range","actions","text","data","handleSubmitClick","Promise","resolve","then","_textareaRef$current","mentionPrefix","useMemo","_textareaRef$current2","indexOf","mentionOverlay","_textareaRef$current3","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":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see chat-input.2bf76ff7.js.LICENSE.txt */
|
|
2
|
+
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[7218],{6798:(e,t,n)=>{"use strict";n.d(t,{I:()=>a,K:()=>o,NS:()=>r,t:()=>s});var i=n(87117);let o=function(e){return e.TERMINATE_THE_TASK="TERMINATE_THE_TASK",e}({});const r="bricks/ai-portal/chat-input",a={en:{TERMINATE_THE_TASK:"Terminate the task"},zh:{TERMINATE_THE_TASK:"终止任务"}},s=i.i18n.getFixedT(null,r)},6988:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ChatInput:()=>G});var i,o=n(74635),r=n(70918),a=n(26902),s=n(5536),l=n(86121),c=n(70829),u=n(62740),d=n(18769),p=n.n(d),h=n(7921),f=n(11280),b=n(39992),m=(n(65168),n(87117)),g=n(99126),x=n(53373),v=n.n(x),w=n(6798),A=n(84479);let S,k,E,y,T,z,R,C,M,_,B,N,K,W,F,H,D,I,P;(0,m.initializeI18n)(w.NS,w.I);const j={lib:"antd",icon:"loading-3-quarters",spinning:!0},$={lib:"fa",prefix:"far",icon:"circle-stop"},L=(0,f.wrapBrick)("eo-icon"),O=(0,f.wrapBrick)("ai-portal.icon-button"),{defineElement:q,property:V,event:Y}=(0,h.createDecorators)();let G;var J=new WeakMap,Q=new WeakMap,U=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakSet,ne=new WeakMap,ie=new WeakMap,oe=new WeakMap;class re extends f.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,te),(0,r.A)(this,J,k(this)),(0,r.A)(this,Q,(E(this),y(this))),(0,r.A)(this,U,(T(this),z(this))),(0,r.A)(this,X,(R(this),C(this))),(0,r.A)(this,Z,(M(this),_(this))),(0,r.A)(this,ee,(B(this),N(this))),(0,r.A)(this,ne,(F(this),e=>{(0,s.A)(te,this,K).emit(e)})),(0,r.A)(this,ie,H(this)),(0,r.A)(this,oe,(P(this),()=>{(0,s.A)(te,this,D).emit()}))}get placeholder(){return(0,c.A)(J,this)}set placeholder(e){(0,l.A)(J,this,e)}get autoFocus(){return(0,c.A)(Q,this)}set autoFocus(e){(0,l.A)(Q,this,e)}get submitDisabled(){return(0,c.A)(U,this)}set submitDisabled(e){(0,l.A)(U,this,e)}get supportsTerminate(){return(0,c.A)(X,this)}set supportsTerminate(e){(0,l.A)(X,this,e)}get terminating(){return(0,c.A)(Z,this)}set terminating(e){(0,l.A)(Z,this,e)}render(){return p().createElement(ae,{placeholder:this.placeholder,autoFocus:this.autoFocus,submitDisabled:this.submitDisabled,supportsTerminate:this.supportsTerminate,terminating:this.terminating,onSubmit:(0,c.A)(ne,this),onTerminate:(0,c.A)(oe,this)})}}function ae(e){let{placeholder:t,autoFocus:n,submitDisabled:i,supportsTerminate:o,terminating:r,onSubmit:a,onTerminate:s}=e;const l=(0,d.useRef)(null),c=(0,d.useRef)(null),[u,h]=(0,d.useState)(""),f=(0,d.useRef)(""),[m,x]=(0,d.useState)(!1);(0,d.useEffect)((()=>{var e;n&&!i&&(null===(e=c.current)||void 0===e||e.focus())}),[n,i]);const A=(0,d.useCallback)((e=>{!i&&e&&(a(e),f.current="",h(""))}),[i,a]),S=(0,d.useCallback)((e=>{A(e.currentTarget.value)}),[A]),k=(0,d.useCallback)((e=>{f.current=e.target.value,h(e.target.value)}),[]),E=(0,d.useCallback)((()=>{A(f.current)}),[A]);(0,d.useEffect)((()=>{const e=null==l?void 0:l.current;if(!e)return;const t=new g.A((t=>{for(const n of t)n.target===e&&(n.contentBoxSize?n.contentBoxSize[0]?n.contentBoxSize[0].blockSize:n.contentBoxSize.blockSize:n.contentRect.height)>52&&x(!0)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,d.useEffect)((()=>{u||x(!1)}),[u]);const y=(0,d.useCallback)((e=>{var t;for(const t of e.nativeEvent.composedPath())if(t instanceof HTMLTextAreaElement||t instanceof HTMLButtonElement)return;null===(t=c.current)||void 0===t||t.focus()}),[]);return p().createElement("div",{className:"container",onClick:y},p().createElement("div",{className:v()("box",{wrap:m})},p().createElement("div",{className:"input",ref:l},p().createElement(b.e,{containerRef:l,ref:c,value:u,minRows:1,maxRows:4,borderSize:0,paddingSize:16,autoResize:!0,placeholder:t,submitWhen:"enter-without-shift",onSubmit:S,onChange:k})),p().createElement("div",{className:"toolbar"},i&&o?p().createElement(p().Fragment,null,r?p().createElement(O,{icon:j,disabled:!0}):p().createElement(O,{icon:$,tooltip:(0,w.t)(w.K.TERMINATE_THE_TASK),onClick:s})):p().createElement("button",{className:"btn-send",disabled:i||!u,onClick:E},p().createElement(L,{lib:"fa",icon:"arrow-up"})))))}i=re,({e:[k,E,y,T,z,R,C,M,_,B,N,K,W,F,H,D,I,P],c:[G,S]}=(0,u.A)(i,[q("ai-portal.chat-input",{styleTexts:[A.A],shadowOptions:{delegatesFocus:!0}})],[[V(),1,"placeholder"],[V({type:Boolean}),1,"autoFocus"],[V({type:Boolean}),1,"submitDisabled"],[V({type:Boolean}),1,"supportsTerminate"],[V({type:Boolean}),1,"terminating"],[Y({type:"message.submit"}),1,"messageSubmit",e=>(0,c.A)(ee,e),(e,t)=>(0,l.A)(ee,e,t)],[Y({type:"terminate"}),1,"terminate",e=>(0,c.A)(ie,e),(e,t)=>(0,l.A)(ie,e,t)]],0,(e=>oe.has((0,a.A)(e))),f.ReactNextElement)),S()},39992:(e,t,n)=>{"use strict";n.d(t,{e:()=>c});var i=n(89575),o=n(18769),r=n(59435),a=n(99126),s=n(75584);const l=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",c=o.forwardRef(u);function u(e,t){let{autoResize:n,minRows:c,maxRows:u,borderSize:d,paddingSize:p,containerRef:h,value:f,style:b,submitWhen:m,desiredSelectionRef:g,onChange:x,onSubmit:v,onKeyDown:w,onCompositionStart:A,onCompositionEnd:S,...k}=e;const E=null==n||n,[y,T]=(0,o.useState)(null!=f?f:""),z=(0,o.useRef)(null),[R,C]=(0,o.useState)(null);(0,o.useImperativeHandle)(t,(()=>({focus:()=>{const e=z.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:z.current})),[]);const M=(0,o.useCallback)((()=>{const e=z.current;if(e&&E){const t=(0,s.A)(e,{minRows:c,maxRows:u,borderSize:d,paddingSize:p});(0,r.flushSync)((()=>{C(t)}))}}),[E,u,c,d,p]);(0,o.useEffect)((()=>{T(null!=f?f:"")}),[f]),(0,o.useEffect)((()=>{M()}),[M,y]);const _=(0,o.useRef)(!1),B=(0,o.useCallback)((e=>{_.current=!0,null==A||A(e)}),[A]),N=(0,o.useCallback)((e=>{_.current=!1,null==S||S(e)}),[S]),K=(0,o.useCallback)((e=>{_.current||!1!==(null==w?void 0:w(e))&&"Enter"===e.key&&("enter-without-shift"===m?!e.shiftKey:"enter-with-mod"===m&&e[l])&&(e.preventDefault(),e.stopPropagation(),null==v||v(e))}),[w,v,m]);return(0,o.useLayoutEffect)((()=>{const e=null==g?void 0:g.current,t=z.current;if(e&&t){const{start:n,end:i}=e;g.current=null,t.setSelectionRange(n,i)}}),[g,y]),(0,o.useEffect)((()=>{const e=null==h?void 0:h.current;if(!e||!E)return;let t;const n=new a.A((n=>{for(const i of n)if(i.target===e){const e=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].inlineSize:i.contentBoxSize.inlineSize:i.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(M)}}}));return n.observe(e),()=>{n.disconnect()}}),[E,h,M]),o.createElement("textarea",(0,i.A)({},k,{ref:z,value:y,style:{...b,...R},onChange:e=>{T(e.target.value),null==x||x(e)},onCompositionStart:B,onCompositionEnd:N,onKeyDown:K}))}},53373:(e,t)=>{var n;!function(){"use strict";var i={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(e,r(n)))}return e}function r(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)i.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},56548:(e,t,n)=>{"use strict";n.d(t,{w:()=>r});const i="\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",o=["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`${o.map((e=>`${e}:${t.getPropertyValue(e)}`)).join(";")};${i}`}},75584:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var i=n(56548);let o;function r(e,t){const{minRows:n=null,maxRows:r=null,borderSize:a=2,paddingSize:s=8}=null!=t?t:{};let l,c,u;o||(o=document.createElement("textarea"),o.setAttribute("tab-index","-1"),o.setAttribute("aria-hidden","true"),document.body.appendChild(o)),o.setAttribute("style",(0,i.w)(e)),o.value=e.value||e.placeholder||"";let d=o.scrollHeight+a;if(null!==n||null!==r){const e=parseFloat(window.getComputedStyle(o).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}},84479:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var i=n(36758),o=n.n(i),r=n(40935),a=n.n(r)()(o());a.push([e.id,":host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font:inherit;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:5px 0 5px 8px;margin-left:auto;display:flex;align-items:center;gap:2px}.btn-send:focus,\ntextarea:focus{outline:none}.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}.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}",""]);const s=a.toString()}}]);
|
|
3
|
+
//# sourceMappingURL=chat-input.2bf76ff7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/chat-input.2bf76ff7.js","mappings":"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","sources":["webpack:///./src/chat-input/i18n.ts","webpack:///./src/chat-input/index.tsx","webpack:///../../src/TextareaAutoResize.tsx","webpack:///../../node_modules/classnames/index.js","webpack:///../../../src/utils/getMirroredStyle.ts","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///./src/chat-input/styles.shadow.css"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n TERMINATE_THE_TASK = \"TERMINATE_THE_TASK\",\n}\n\nconst en: Locale = {\n TERMINATE_THE_TASK: \"Terminate the task\",\n};\n\nconst zh: Locale = {\n TERMINATE_THE_TASK: \"终止任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-input\";\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","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst ICON_LOADING: GeneralIconProps = {\n lib: \"antd\",\n icon: \"loading-3-quarters\",\n spinning: true,\n};\n\nconst ICON_STOP: GeneralIconProps = {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n};\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatInputProps {\n placeholder?: string;\n autoFocus?: boolean;\n submitDisabled?: boolean;\n supportsTerminate?: boolean;\n terminating?: boolean;\n}\n\nexport interface ChatInputEvents {\n \"message.submit\": CustomEvent<string>;\n terminate: Event;\n}\n\nexport interface ChatInputMapEvents {\n onMessageSubmit: \"message.submit\";\n onTerminate: \"terminate\";\n}\n\n/**\n * 构件 `ai-portal.chat-input`\n */\nexport\n@defineElement(\"ai-portal.chat-input\", {\n styleTexts: [styleText],\n shadowOptions: {\n delegatesFocus: true,\n },\n})\nclass ChatInput extends ReactNextElement implements ChatInputProps {\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ type: Boolean })\n accessor submitDisabled: boolean | undefined;\n\n @property({ type: Boolean })\n accessor supportsTerminate: boolean | undefined;\n\n @property({ type: Boolean })\n accessor terminating: boolean | 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: \"terminate\" })\n accessor #terminate!: EventEmitter<void>;\n\n #handleTerminate = () => {\n this.#terminate.emit();\n };\n\n render() {\n return (\n <ChatInputComponent\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n submitDisabled={this.submitDisabled}\n supportsTerminate={this.supportsTerminate}\n terminating={this.terminating}\n onSubmit={this.#handleMessageSubmit}\n onTerminate={this.#handleTerminate}\n />\n );\n }\n}\n\ninterface ChatInputComponentProps extends ChatInputProps {\n onSubmit: (value: string) => void;\n onTerminate: () => void;\n}\n\nfunction ChatInputComponent({\n placeholder,\n autoFocus,\n submitDisabled,\n supportsTerminate,\n terminating,\n onSubmit,\n onTerminate,\n}: ChatInputComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [wrap, setWrap] = useState(false);\n\n useEffect(() => {\n if (autoFocus && !submitDisabled) {\n textareaRef.current?.focus();\n }\n }, [autoFocus, submitDisabled]);\n\n const onBeforeSubmit = useCallback(\n (value: string) => {\n if (submitDisabled || !value) {\n return;\n }\n\n onSubmit(value);\n valueRef.current = \"\";\n setValue(\"\");\n },\n [submitDisabled, onSubmit]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n onBeforeSubmit(e.currentTarget.value);\n },\n [onBeforeSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onBeforeSubmit(valueRef.current);\n }, [onBeforeSubmit]);\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container) {\n return;\n }\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n const currentBlockSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .blockSize\n : entry.contentRect.height;\n if (currentBlockSize > 52) {\n setWrap(true);\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!value) {\n setWrap(false);\n }\n }, [value]);\n\n const handleContainerClick = useCallback((e: React.MouseEvent) => {\n for (const item of e.nativeEvent.composedPath()) {\n if (\n item instanceof HTMLTextAreaElement ||\n item instanceof HTMLButtonElement\n ) {\n return;\n }\n }\n textareaRef.current?.focus();\n }, []);\n\n return (\n <div className=\"container\" onClick={handleContainerClick}>\n <div className={classNames(\"box\", { wrap })}>\n <div className=\"input\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={1}\n maxRows={4}\n borderSize={0}\n paddingSize={16}\n autoResize\n placeholder={placeholder}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n />\n </div>\n <div className=\"toolbar\">\n {!submitDisabled || !supportsTerminate ? (\n <button\n className=\"btn-send\"\n disabled={submitDisabled || !value}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" icon=\"arrow-up\" />\n </button>\n ) : (\n <>\n {terminating ? (\n <WrappedIconButton icon={ICON_LOADING} disabled />\n ) : (\n <WrappedIconButton\n icon={ICON_STOP}\n tooltip={t(K.TERMINATE_THE_TASK)}\n onClick={onTerminate}\n />\n )}\n </>\n )}\n </div>\n </div>\n </div>\n );\n}\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","/*!\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","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","// 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","// 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}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font:inherit;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:5px 0 5px 8px;margin-left:auto;display:flex;align-items:center;gap:2px}.btn-send:focus,\ntextarea:focus{outline:none}.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}.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}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["K","NS","locales","en","TERMINATE_THE_TASK","zh","t","i18n","getFixedT","initializeI18n","ICON_LOADING","lib","icon","spinning","ICON_STOP","prefix","WrappedIcon","wrapBrick","WrappedIconButton","defineElement","property","event","createDecorators","_ChatInput","_A","WeakMap","_B","_C","_D","_E","_F","_ChatInput_brand","WeakSet","_handleMessageSubmit","_G","_handleTerminate","ChatInput","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_submitDisabled","_init_extra_submitDisabled","_init_supportsTerminate","_init_extra_supportsTerminate","_init_terminating","_init_extra_terminating","_init_messageSubmit","_init_extra_messageSubmit","value","_classPrivateGetter","this","_get_messageSubmit","emit","_init_terminate","_init_extra_terminate","_get_terminate","placeholder","_classPrivateFieldGet","v","_classPrivateFieldSet","autoFocus","submitDisabled","supportsTerminate","terminating","render","React","ChatInputComponent","onSubmit","onTerminate","_ref","containerRef","useRef","textareaRef","setValue","useState","valueRef","wrap","setWrap","useEffect","_textareaRef$current","current","focus","onBeforeSubmit","useCallback","handleSubmit","e","currentTarget","handleChange","target","handleSubmitClick","container","observer","ResizeObserver","entries","entry","contentBoxSize","blockSize","contentRect","height","observe","disconnect","handleContainerClick","_textareaRef$current2","item","nativeEvent","composedPath","HTMLTextAreaElement","HTMLButtonElement","className","onClick","classNames","ref","TextareaAutoResize","minRows","maxRows","borderSize","paddingSize","autoResize","submitWhen","onChange","disabled","tooltip","_ChatInput2","_set_messageSubmit","_set_terminate","c","_initClass","_applyDecs","styleTexts","styleText","shadowOptions","delegatesFocus","type","Boolean","o","_","has","_checkInRHS","modKey","test","navigator","platform","LegacyTextareaAutoResize","_autoResize","propValue","style","desiredSelectionRef","onKeyDown","onCompositionStart","onCompositionEnd","props","autoStyle","setAutoStyle","useImperativeHandle","textarea","_textarea$value","valueLength","length","setSelectionRange","element","doAutoResize","calculateAutoSizeStyle","flushSync","compositionRef","handleCompositionStart","handleCompositionEnd","handleKeyDown","key","shiftKey","preventDefault","stopPropagation","useLayoutEffect","desiredSelection","start","end","previousInlineSize","currentInlineSize","inlineSize","width","undefined","isInitial","requestAnimationFrame","_extends","hasOwn","hasOwnProperty","classes","i","arg","appendClass","parseValue","Array","isArray","apply","toString","Object","prototype","includes","call","newClass","module","exports","default","HIDDEN_STYLE","SIZING_STYLE","getMirroredStyle","uiTextNodeStyle","window","getComputedStyle","map","name","getPropertyValue","join","hiddenTextarea","uiTextNode","options","minHeight","maxHeight","overflowY","document","createElement","setAttribute","body","appendChild","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","___CSS_LOADER_EXPORT___","push","id"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[366],{38208:(e,t,i)=>{i.r(t),i.d(t,{ChatStream:()=>ge});var s,a=i(74635),h=i(70918),n=i(26902),r=i(5536),o=i(86121),A=i(70829),p=i(62740),w=i(18769),l=i.n(w),c=i(7921),u=i(11280),d=(i(65168),i(87117)),k=i(92914),b=i(30495);let m,y,M,v,W,F,f,g,S,O,U,D,C,I,x,V,R,T,E,_,B,j,q,H,P,N,z,G,J,K,L,Q,X,Y,Z,$,ee,te,ie,se,ae,he,ne,re,oe,Ae,pe,we,le,ce,ue,de,ke,be,me,ye;(0,d.initializeI18n)(k.NS,k.I);const{defineElement:Me,property:ve,event:We,method:Fe}=(0,c.createDecorators)(),fe=(0,w.forwardRef)(b.C);let ge;var Se=new WeakMap,Oe=new WeakMap,Ue=new WeakMap,De=new WeakMap,Ce=new WeakMap,Ie=new WeakMap,xe=new WeakMap,Ve=new WeakMap,Re=new WeakMap,Te=new WeakMap,Ee=new WeakMap,_e=new WeakMap,Be=new WeakMap,je=new WeakMap,qe=new WeakMap,He=new WeakMap,Pe=new WeakSet,Ne=new WeakMap,ze=new WeakMap,Ge=new WeakMap,Je=new WeakMap,Ke=new WeakMap,Le=new WeakMap,Qe=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Ze=new WeakMap,$e=new WeakMap,et=new WeakMap;class tt extends u.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,Pe),(0,h.A)(this,Se,(m(this),M(this))),(0,h.A)(this,Oe,(v(this),W(this))),(0,h.A)(this,Ue,(F(this),f(this))),(0,h.A)(this,De,(g(this),S(this))),(0,h.A)(this,Ce,(O(this),U(this))),(0,h.A)(this,Ie,(D(this),C(this))),(0,h.A)(this,xe,(I(this),x(this))),(0,h.A)(this,Ve,(V(this),R(this))),(0,h.A)(this,Re,(T(this),E(this))),(0,h.A)(this,Te,(_(this),B(this))),(0,h.A)(this,Ee,(j(this),q(this))),(0,h.A)(this,_e,(H(this),P(this))),(0,h.A)(this,Be,(N(this),z(this))),(0,h.A)(this,je,(G(this),J(this))),(0,h.A)(this,qe,(K(this),L(this))),(0,h.A)(this,He,(Q(this),X(this))),(0,h.A)(this,Ne,($(this),()=>{(0,r.A)(Pe,this,Y).emit()})),(0,h.A)(this,ze,ee(this)),(0,h.A)(this,Ge,(se(this),()=>{(0,r.A)(Pe,this,te).emit()})),(0,h.A)(this,Je,ae(this)),(0,h.A)(this,Ke,(re(this),e=>{(0,r.A)(Pe,this,he).emit(e)})),(0,h.A)(this,Le,oe(this)),(0,h.A)(this,Qe,(we(this),e=>{(0,r.A)(Pe,this,Ae).emit(e)})),(0,h.A)(this,Xe,le(this)),(0,h.A)(this,Ye,(de(this),()=>{(0,r.A)(Pe,this,ce).emit("canvas")})),(0,h.A)(this,Ze,ke(this)),(0,h.A)(this,$e,(ye(this),e=>{(0,r.A)(Pe,this,be).emit(e)})),(0,h.A)(this,et,(0,w.createRef)())}get conversationId(){return(0,A.A)(Se,this)}set conversationId(e){(0,o.A)(Se,this,e)}get initialRequest(){return(0,A.A)(Oe,this)}set initialRequest(e){(0,o.A)(Oe,this,e)}get replay(){return(0,A.A)(Ue,this)}set replay(e){(0,o.A)(Ue,this,e)}get replayDelay(){return(0,A.A)(De,this)}set replayDelay(e){(0,o.A)(De,this,e)}get supports(){return(0,A.A)(Ce,this)}set supports(e){(0,o.A)(Ce,this,e)}get showHumanActions(){return(0,A.A)(Ie,this)}set showHumanActions(e){(0,o.A)(Ie,this,e)}get showFeedback(){return(0,A.A)(xe,this)}set showFeedback(e){(0,o.A)(xe,this,e)}get showFeedbackAfterFailed(){return(0,A.A)(Ve,this)}set showFeedbackAfterFailed(e){(0,o.A)(Ve,this,e)}get showFeedbackOnView(){return(0,A.A)(Re,this)}set showFeedbackOnView(e){(0,o.A)(Re,this,e)}get showUiSwitch(){return(0,A.A)(Te,this)}set showUiSwitch(e){(0,o.A)(Te,this,e)}get hideMermaid(){return(0,A.A)(Ee,this)}set hideMermaid(e){(0,o.A)(Ee,this,e)}get previewUrlTemplate(){return(0,A.A)(_e,this)}set previewUrlTemplate(e){(0,o.A)(_e,this,e)}get showCases(){return(0,A.A)(Be,this)}set showCases(e){(0,o.A)(Be,this,e)}get exampleProjects(){return(0,A.A)(je,this)}set exampleProjects(e){(0,o.A)(je,this,e)}get tryItOutUrl(){return(0,A.A)(qe,this)}set tryItOutUrl(e){(0,o.A)(qe,this,e)}resumed(){var e,t;null===(e=(0,A.A)(et,this).current)||void 0===e||null===(t=e.resumed)||void 0===t||t.call(e)}feedbackSubmitDone(){var e;null===(e=(0,A.A)(et,this).current)||void 0===e||e.feedbackSubmitDone()}feedbackSubmitFailed(){var e;null===(e=(0,A.A)(et,this).current)||void 0===e||e.feedbackSubmitFailed()}feedbackOnViewDone(e){var t;null===(t=(0,A.A)(et,this).current)||void 0===t||t.feedbackOnViewDone(e)}render(){return l().createElement(fe,{conversationId:this.conversationId,initialRequest:this.initialRequest,replay:this.replay,replayDelay:this.replayDelay,supports:this.supports,showHumanActions:this.showHumanActions,showFeedback:this.showFeedback,showFeedbackAfterFailed:this.showFeedbackAfterFailed,showFeedbackOnView:this.showFeedbackOnView,showUiSwitch:this.showUiSwitch,previewUrlTemplate:this.previewUrlTemplate,showCases:this.showCases,exampleProjects:this.exampleProjects,tryItOutUrl:this.tryItOutUrl,onShare:(0,A.A)(Ne,this),onTerminate:(0,A.A)(Ge,this),onSubmitFeedback:(0,A.A)(Ke,this),onSwitchToCanvas:(0,A.A)(Ye,this),onFeedbackOnView:(0,A.A)(Qe,this),onDetailChange:(0,A.A)($e,this)})}}s=tt,({e:[M,v,W,F,f,g,S,O,U,D,C,I,x,V,R,T,E,_,B,j,q,H,P,N,z,G,J,K,L,Q,X,Y,Z,$,ee,te,ie,se,ae,he,ne,re,oe,Ae,pe,we,le,ce,ue,de,ke,be,me,ye,m],c:[ge,y]}=(0,p.A)(s,[Me("ai-portal.chat-stream",{shadowOptions:!1})],[[ve(),1,"conversationId"],[ve({attribute:!1,render:!1}),1,"initialRequest"],[ve({type:Boolean}),1,"replay"],[ve({type:Number}),1,"replayDelay"],[ve({attribute:!1}),1,"supports"],[ve({type:Boolean}),1,"showHumanActions"],[ve({type:Boolean}),1,"showFeedback"],[ve({type:Boolean}),1,"showFeedbackAfterFailed"],[ve({type:Boolean}),1,"showFeedbackOnView"],[ve({type:Boolean}),1,"showUiSwitch"],[ve({type:Boolean,render:!1}),1,"hideMermaid"],[ve(),1,"previewUrlTemplate"],[ve({attribute:!1}),1,"showCases"],[ve({attribute:!1}),1,"exampleProjects"],[ve(),1,"tryItOutUrl"],[We({type:"share"}),1,"shareEvent",e=>(0,A.A)(He,e),(e,t)=>(0,o.A)(He,e,t)],[We({type:"terminate"}),1,"terminateEvent",e=>(0,A.A)(ze,e),(e,t)=>(0,o.A)(ze,e,t)],[We({type:"feedback.submit"}),1,"feedbackSubmitEvent",e=>(0,A.A)(Je,e),(e,t)=>(0,o.A)(Je,e,t)],[We({type:"feedback.on.view"}),1,"feedbackOnViewEvent",e=>(0,A.A)(Le,e),(e,t)=>(0,o.A)(Le,e,t)],[We({type:"ui.switch"}),1,"switch",e=>(0,A.A)(Xe,e),(e,t)=>(0,o.A)(Xe,e,t)],[We({type:"detail.change"}),1,"detailChange",e=>(0,A.A)(Ze,e),(e,t)=>(0,o.A)(Ze,e,t)],[Fe(),2,"resumed"],[Fe(),2,"feedbackSubmitDone"],[Fe(),2,"feedbackSubmitFailed"],[Fe(),2,"feedbackOnViewDone"]],0,(e=>et.has((0,n.A)(e))),u.ReactNextElement)),y()}}]);
|
|
2
|
+
//# sourceMappingURL=chat-stream.40fc8941.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/chat-stream.40fc8941.js","mappings":"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","sources":["webpack:///./src/chat-stream/index.tsx"],"sourcesContent":["// istanbul ignore file: experimental\nimport React, { createRef, forwardRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport type { FeedbackDetail } from \"../cruise-canvas/interfaces.js\";\nimport { ChatStreamComponent } from \"./ChatStream.js\";\nimport type {\n ExampleProject,\n RequestStore,\n ShowCaseType,\n} from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatStreamProps {\n conversationId?: string;\n initialRequest?: RequestStore | null;\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showHumanActions?: boolean;\n showFeedback?: boolean;\n showFeedbackAfterFailed?: boolean;\n showFeedbackOnView?: boolean;\n showUiSwitch?: boolean;\n previewUrlTemplate?: string;\n showCases?: ShowCaseType[];\n exampleProjects?: ExampleProject[];\n tryItOutUrl?: string;\n}\n\nexport interface ConversationDetail {\n projectId?: string;\n}\n\nconst ForwardedChatStreamComponent = forwardRef(ChatStreamComponent);\n\n/**\n * 构件 `ai-portal.chat-stream`\n */\nexport\n@defineElement(\"ai-portal.chat-stream\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass ChatStream extends ReactNextElement implements ChatStreamProps {\n @property()\n accessor conversationId: string | undefined;\n\n /** 初始请求数据。仅初始设置有效。 */\n @property({ attribute: false, render: false })\n accessor initialRequest: RequestStore | undefined | null;\n\n /** 是否启用回放。仅初始设置有效。 */\n @property({ type: Boolean })\n accessor replay: boolean | undefined;\n\n /**\n * 设置回放时消息之间的时间间隔,单位为秒。仅初始设置有效。\n *\n * @default 2\n */\n @property({ type: Number })\n accessor replayDelay: number | undefined;\n\n @property({ attribute: false })\n accessor supports: Record<string, boolean> | undefined;\n\n @property({ type: Boolean })\n accessor showHumanActions: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedback: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackAfterFailed: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackOnView: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showUiSwitch: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor hideMermaid: boolean | undefined;\n\n @property()\n accessor previewUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor showCases: ShowCaseType[] | undefined;\n\n @property({ attribute: false })\n accessor exampleProjects: ExampleProject[] | undefined;\n\n @property()\n accessor tryItOutUrl: string | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"terminate\" })\n accessor #terminateEvent!: EventEmitter<void>;\n\n #onTerminate = () => {\n this.#terminateEvent.emit();\n };\n\n @event({ type: \"feedback.submit\" })\n accessor #feedbackSubmitEvent!: EventEmitter<FeedbackDetail>;\n\n #onSubmitFeedback = (detail: FeedbackDetail) => {\n this.#feedbackSubmitEvent.emit(detail);\n };\n\n @event({ type: \"feedback.on.view\" })\n accessor #feedbackOnViewEvent!: EventEmitter<string>;\n\n #onFeedbackOnView = (viewId: string) => {\n this.#feedbackOnViewEvent.emit(viewId);\n };\n\n @event({ type: \"ui.switch\" })\n accessor #switch!: EventEmitter<\"canvas\">;\n\n #onSwitchToCanvas = () => {\n this.#switch.emit(\"canvas\");\n };\n\n @event({ type: \"detail.change\" })\n accessor #detailChange!: EventEmitter<ConversationDetail>;\n\n #onDetailChange = (detail: ConversationDetail) => {\n this.#detailChange.emit(detail);\n };\n\n #ref = createRef<ChatStreamRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed?.();\n }\n\n @method()\n feedbackSubmitDone() {\n this.#ref.current?.feedbackSubmitDone();\n }\n\n @method()\n feedbackSubmitFailed() {\n this.#ref.current?.feedbackSubmitFailed();\n }\n\n @method()\n feedbackOnViewDone(viewId: string) {\n this.#ref.current?.feedbackOnViewDone(viewId);\n }\n\n render() {\n return (\n <ForwardedChatStreamComponent\n conversationId={this.conversationId!}\n initialRequest={this.initialRequest}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showHumanActions={this.showHumanActions}\n showFeedback={this.showFeedback}\n showFeedbackAfterFailed={this.showFeedbackAfterFailed}\n showFeedbackOnView={this.showFeedbackOnView}\n showUiSwitch={this.showUiSwitch}\n previewUrlTemplate={this.previewUrlTemplate}\n showCases={this.showCases}\n exampleProjects={this.exampleProjects}\n tryItOutUrl={this.tryItOutUrl}\n onShare={this.#onShare}\n onTerminate={this.#onTerminate}\n onSubmitFeedback={this.#onSubmitFeedback}\n onSwitchToCanvas={this.#onSwitchToCanvas}\n onFeedbackOnView={this.#onFeedbackOnView}\n onDetailChange={this.#onDetailChange}\n />\n );\n }\n}\n\nexport interface ChatStreamRef {\n resumed?: () => void;\n feedbackSubmitDone: () => void;\n feedbackSubmitFailed: () => void;\n feedbackOnViewDone: (viewId: string) => void;\n}\n"],"names":["initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","ForwardedChatStreamComponent","forwardRef","ChatStreamComponent","_ChatStream","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_ChatStream_brand","WeakSet","_onShare","_Q","_onTerminate","_R","_onSubmitFeedback","_S","_onFeedbackOnView","_T","_onSwitchToCanvas","_U","_onDetailChange","_ref","ChatStream","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_conversationId","_init_extra_conversationId","_init_initialRequest","_init_extra_initialRequest","_init_replay","_init_extra_replay","_init_replayDelay","_init_extra_replayDelay","_init_supports","_init_extra_supports","_init_showHumanActions","_init_extra_showHumanActions","_init_showFeedback","_init_extra_showFeedback","_init_showFeedbackAfterFailed","_init_extra_showFeedbackAfterFailed","_init_showFeedbackOnView","_init_extra_showFeedbackOnView","_init_showUiSwitch","_init_extra_showUiSwitch","_init_hideMermaid","_init_extra_hideMermaid","_init_previewUrlTemplate","_init_extra_previewUrlTemplate","_init_showCases","_init_extra_showCases","_init_exampleProjects","_init_extra_exampleProjects","_init_tryItOutUrl","_init_extra_tryItOutUrl","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","_init_terminateEvent","_init_extra_terminateEvent","_get_terminateEvent","_init_feedbackSubmitEvent","_init_extra_feedbackSubmitEvent","detail","_get_feedbackSubmitEvent","_init_feedbackOnViewEvent","_init_extra_feedbackOnViewEvent","viewId","_get_feedbackOnViewEvent","_init_switch","_init_extra_switch","_get_switch","_init_detailChange","_init_extra_detailChange","_get_detailChange","createRef","conversationId","_classPrivateFieldGet","v","_classPrivateFieldSet","initialRequest","replay","replayDelay","supports","showHumanActions","showFeedback","showFeedbackAfterFailed","showFeedbackOnView","showUiSwitch","hideMermaid","previewUrlTemplate","showCases","exampleProjects","tryItOutUrl","resumed","_classPrivateFieldGet2","_classPrivateFieldGet3","current","call","feedbackSubmitDone","_classPrivateFieldGet4","feedbackSubmitFailed","_classPrivateFieldGet5","feedbackOnViewDone","_classPrivateFieldGet6","render","React","onShare","onTerminate","onSubmitFeedback","onSwitchToCanvas","onFeedbackOnView","onDetailChange","_ChatStream2","e","_set_shareEvent","_set_terminateEvent","_set_feedbackSubmitEvent","_set_feedbackOnViewEvent","_set_switch","_set_detailChange","c","_initClass","_applyDecs","shadowOptions","attribute","type","Boolean","Number","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2267],{16185:(e,t,s)=>{s.r(t),s.d(t,{CruiseCanvas:()=>Ue});var i,h=s(74635),a=s(70918),n=s(26902),r=s(5536),o=s(86121),A=s(70829),w=s(62740),p=s(18769),l=s.n(p),d=s(7921),c=s(11280),u=(s(65168),s(87117)),k=s(80079),b=s(30369);let m,y,M,W,v,F,f,g,S,O,x,U,D,E,C,I,B,H,J,V,R,T,_,j,q,P,N,z,G,K,L,Q,X,Y,Z,$,ee,te,se,ie,he,ae,ne,re,oe,Ae,we,pe,le,de,ce,ue,ke,be,me,ye,Me,We,ve,Fe;(0,u.initializeI18n)(k.NS,k.I);const{defineElement:fe,property:ge,event:Se,method:Oe}=(0,d.createDecorators)(),xe=(0,p.forwardRef)(b.B);let Ue;var De=new WeakMap,Ee=new WeakMap,Ce=new WeakMap,Ie=new WeakMap,Be=new WeakMap,He=new WeakMap,Je=new WeakMap,Ve=new WeakMap,Re=new WeakMap,Te=new WeakMap,_e=new WeakMap,je=new WeakMap,qe=new WeakMap,Pe=new WeakMap,Ne=new WeakMap,ze=new WeakMap,Ge=new WeakMap,Ke=new WeakMap,Le=new WeakSet,Qe=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Ze=new WeakMap,$e=new WeakMap,et=new WeakMap,tt=new WeakMap,st=new WeakMap,it=new WeakMap,ht=new WeakMap,at=new WeakMap,nt=new WeakMap;class rt extends c.ReactNextElement{constructor(){super(...arguments),(0,h.A)(this,Le),(0,a.A)(this,De,(m(this),M(this))),(0,a.A)(this,Ee,(W(this),v(this))),(0,a.A)(this,Ce,(F(this),f(this))),(0,a.A)(this,Ie,(g(this),S(this))),(0,a.A)(this,Be,(O(this),x(this))),(0,a.A)(this,He,(U(this),D(this))),(0,a.A)(this,Je,(E(this),C(this))),(0,a.A)(this,Ve,(I(this),B(this))),(0,a.A)(this,Re,(H(this),J(this))),(0,a.A)(this,Te,(V(this),R(this))),(0,a.A)(this,_e,(T(this),_(this))),(0,a.A)(this,je,(j(this),q(this))),(0,a.A)(this,qe,(P(this),N(this))),(0,a.A)(this,Pe,(z(this),G(this))),(0,a.A)(this,Ne,(K(this),L(this))),(0,a.A)(this,ze,(Q(this),X(this))),(0,a.A)(this,Ge,(Y(this),Z(this))),(0,a.A)(this,Ke,($(this),ee(this))),(0,a.A)(this,Qe,(ie(this),()=>{(0,r.A)(Le,this,te).emit()})),(0,a.A)(this,Xe,he(this)),(0,a.A)(this,Ye,(re(this),()=>{(0,r.A)(Le,this,ae).emit()})),(0,a.A)(this,Ze,oe(this)),(0,a.A)(this,$e,(pe(this),e=>{(0,r.A)(Le,this,Ae).emit(e)})),(0,a.A)(this,et,le(this)),(0,a.A)(this,tt,(ue(this),e=>{(0,r.A)(Le,this,de).emit(e)})),(0,a.A)(this,st,ke(this)),(0,a.A)(this,it,(ye(this),()=>{(0,r.A)(Le,this,be).emit("chat")})),(0,a.A)(this,ht,Me(this)),(0,a.A)(this,at,(Fe(this),e=>{(0,r.A)(Le,this,We).emit(e)})),(0,a.A)(this,nt,(0,p.createRef)())}get conversationId(){return(0,A.A)(De,this)}set conversationId(e){(0,o.A)(De,this,e)}get initialRequest(){return(0,A.A)(Ee,this)}set initialRequest(e){(0,o.A)(Ee,this,e)}get replay(){return(0,A.A)(Ce,this)}set replay(e){(0,o.A)(Ce,this,e)}get replayDelay(){return(0,A.A)(Ie,this)}set replayDelay(e){(0,o.A)(Ie,this,e)}get supports(){return(0,A.A)(Be,this)}set supports(e){(0,o.A)(Be,this,e)}get showHiddenJobs(){return(0,A.A)(He,this)}set showHiddenJobs(e){(0,o.A)(He,this,e)}get showHumanActions(){return(0,A.A)(Je,this)}set showHumanActions(e){(0,o.A)(Je,this,e)}get showFeedback(){return(0,A.A)(Ve,this)}set showFeedback(e){(0,o.A)(Ve,this,e)}get showFeedbackAfterFailed(){return(0,A.A)(Re,this)}set showFeedbackAfterFailed(e){(0,o.A)(Re,this,e)}get showFeedbackOnView(){return(0,A.A)(Te,this)}set showFeedbackOnView(e){(0,o.A)(Te,this,e)}get showUiSwitch(){return(0,A.A)(_e,this)}set showUiSwitch(e){(0,o.A)(_e,this,e)}get hideMermaid(){return(0,A.A)(je,this)}set hideMermaid(e){(0,o.A)(je,this,e)}get showJsxEditor(){return(0,A.A)(qe,this)}set showJsxEditor(e){(0,o.A)(qe,this,e)}get previewUrlTemplate(){return(0,A.A)(Pe,this)}set previewUrlTemplate(e){(0,o.A)(Pe,this,e)}get showCases(){return(0,A.A)(Ne,this)}set showCases(e){(0,o.A)(Ne,this,e)}get exampleProjects(){return(0,A.A)(ze,this)}set exampleProjects(e){(0,o.A)(ze,this,e)}get tryItOutUrl(){return(0,A.A)(Ge,this)}set tryItOutUrl(e){(0,o.A)(Ge,this,e)}resumed(){var e,t;null===(e=(0,A.A)(nt,this).current)||void 0===e||null===(t=e.resumed)||void 0===t||t.call(e)}feedbackSubmitDone(){var e;null===(e=(0,A.A)(nt,this).current)||void 0===e||e.feedbackSubmitDone()}feedbackSubmitFailed(){var e;null===(e=(0,A.A)(nt,this).current)||void 0===e||e.feedbackSubmitFailed()}feedbackOnViewDone(e){var t;null===(t=(0,A.A)(nt,this).current)||void 0===t||t.feedbackOnViewDone(e)}render(){return l().createElement(xe,{conversationId:this.conversationId,initialRequest:this.initialRequest,replay:this.replay,replayDelay:this.replayDelay,supports:this.supports,showHiddenJobs:this.showHiddenJobs,showHumanActions:this.showHumanActions,showFeedback:this.showFeedback,showFeedbackAfterFailed:this.showFeedbackAfterFailed,showUiSwitch:this.showUiSwitch,showFeedbackOnView:this.showFeedbackOnView,showJsxEditor:this.showJsxEditor,previewUrlTemplate:this.previewUrlTemplate,showCases:this.showCases,exampleProjects:this.exampleProjects,tryItOutUrl:this.tryItOutUrl,onShare:(0,A.A)(Qe,this),onTerminate:(0,A.A)(Ye,this),onSubmitFeedback:(0,A.A)($e,this),onSwitchToChat:(0,A.A)(it,this),onFeedbackOnView:(0,A.A)(tt,this),onDetailChange:(0,A.A)(at,this),ref:(0,A.A)(nt,this)})}}i=rt,({e:[M,W,v,F,f,g,S,O,x,U,D,E,C,I,B,H,J,V,R,T,_,j,q,P,N,z,G,K,L,Q,X,Y,Z,$,ee,te,se,ie,he,ae,ne,re,oe,Ae,we,pe,le,de,ce,ue,ke,be,me,ye,Me,We,ve,Fe,m],c:[Ue,y]}=(0,w.A)(i,[fe("ai-portal.cruise-canvas",{shadowOptions:!1})],[[ge(),1,"conversationId"],[ge({attribute:!1,render:!1}),1,"initialRequest"],[ge({type:Boolean,render:!1}),1,"replay"],[ge({type:Number,render:!1}),1,"replayDelay"],[ge({attribute:!1}),1,"supports"],[ge({type:Boolean}),1,"showHiddenJobs"],[ge({type:Boolean}),1,"showHumanActions"],[ge({type:Boolean}),1,"showFeedback"],[ge({type:Boolean}),1,"showFeedbackAfterFailed"],[ge({type:Boolean}),1,"showFeedbackOnView"],[ge({type:Boolean}),1,"showUiSwitch"],[ge({type:Boolean,render:!1}),1,"hideMermaid"],[ge({type:Boolean}),1,"showJsxEditor"],[ge(),1,"previewUrlTemplate"],[ge({attribute:!1}),1,"showCases"],[ge({attribute:!1}),1,"exampleProjects"],[ge(),1,"tryItOutUrl"],[Se({type:"share"}),1,"shareEvent",e=>(0,A.A)(Ke,e),(e,t)=>(0,o.A)(Ke,e,t)],[Se({type:"terminate"}),1,"terminateEvent",e=>(0,A.A)(Xe,e),(e,t)=>(0,o.A)(Xe,e,t)],[Se({type:"feedback.submit"}),1,"feedbackSubmitEvent",e=>(0,A.A)(Ze,e),(e,t)=>(0,o.A)(Ze,e,t)],[Se({type:"feedback.on.view"}),1,"feedbackOnViewEvent",e=>(0,A.A)(et,e),(e,t)=>(0,o.A)(et,e,t)],[Se({type:"ui.switch"}),1,"switch",e=>(0,A.A)(st,e),(e,t)=>(0,o.A)(st,e,t)],[Se({type:"detail.change"}),1,"detailChange",e=>(0,A.A)(ht,e),(e,t)=>(0,o.A)(ht,e,t)],[Oe(),2,"resumed"],[Oe(),2,"feedbackSubmitDone"],[Oe(),2,"feedbackSubmitFailed"],[Oe(),2,"feedbackOnViewDone"]],0,(e=>nt.has((0,n.A)(e))),c.ReactNextElement)),y()}}]);
|
|
2
|
+
//# sourceMappingURL=cruise-canvas.f9ae5c01.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/cruise-canvas.f9ae5c01.js","mappings":"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","sources":["webpack:///./src/cruise-canvas/index.tsx"],"sourcesContent":["// istanbul ignore file: experimental\nimport React, { createRef, forwardRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport type { FeedbackDetail } from \"./interfaces.js\";\nimport { CruiseCanvasComponent, type CruiseCanvasRef } from \"./CruiseCanvas.js\";\nimport type {\n ExampleProject,\n RequestStore,\n ShowCaseType,\n} from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface CruiseCanvasProps {\n conversationId?: string;\n initialRequest?: RequestStore | null;\n replay?: boolean;\n replayDelay?: number;\n supports?: Record<string, boolean>;\n showHiddenJobs?: boolean;\n showHumanActions?: boolean;\n showFeedback?: boolean;\n showFeedbackAfterFailed?: boolean;\n showUiSwitch?: boolean;\n showFeedbackOnView?: boolean;\n showJsxEditor?: boolean;\n previewUrlTemplate?: string;\n showCases?: ShowCaseType[];\n exampleProjects?: ExampleProject[];\n tryItOutUrl?: string;\n}\n\nexport interface ConversationDetail {\n projectId?: string;\n}\n\nconst ForwardedCruiseCanvasComponent = forwardRef(CruiseCanvasComponent);\n\n/**\n * 构件 `ai-portal.cruise-canvas`\n */\nexport\n@defineElement(\"ai-portal.cruise-canvas\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass CruiseCanvas extends ReactNextElement implements CruiseCanvasProps {\n @property()\n accessor conversationId: string | undefined;\n\n /** 初始请求数据。仅初始设置有效。 */\n @property({ attribute: false, render: false })\n accessor initialRequest: RequestStore | undefined | null;\n\n /** 是否启用回放。仅初始设置有效。 */\n @property({ type: Boolean, render: false })\n accessor replay: boolean | undefined;\n\n /**\n * 设置回放时消息之间的时间间隔,单位为秒。仅初始设置有效。\n *\n * @default 2\n */\n @property({ type: Number, render: false })\n accessor replayDelay: number | undefined;\n\n @property({ attribute: false })\n accessor supports: Record<string, boolean> | undefined;\n\n @property({ type: Boolean })\n accessor showHiddenJobs: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showHumanActions: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedback: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackAfterFailed: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showFeedbackOnView: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showUiSwitch: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor hideMermaid: boolean | undefined;\n\n @property({ type: Boolean })\n accessor showJsxEditor: boolean | undefined;\n\n @property()\n accessor previewUrlTemplate: string | undefined;\n\n @property({ attribute: false })\n accessor showCases: ShowCaseType[] | undefined;\n\n @property({ attribute: false })\n accessor exampleProjects: ExampleProject[] | undefined;\n\n @property()\n accessor tryItOutUrl: string | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n @event({ type: \"terminate\" })\n accessor #terminateEvent!: EventEmitter<void>;\n\n #onTerminate = () => {\n this.#terminateEvent.emit();\n };\n\n @event({ type: \"feedback.submit\" })\n accessor #feedbackSubmitEvent!: EventEmitter<FeedbackDetail>;\n\n #onSubmitFeedback = (detail: FeedbackDetail) => {\n this.#feedbackSubmitEvent.emit(detail);\n };\n\n @event({ type: \"feedback.on.view\" })\n accessor #feedbackOnViewEvent!: EventEmitter<string>;\n\n #onFeedbackOnView = (viewId: string) => {\n this.#feedbackOnViewEvent.emit(viewId);\n };\n\n @event({ type: \"ui.switch\" })\n accessor #switch!: EventEmitter<\"chat\">;\n\n #onSwitchToChat = () => {\n this.#switch.emit(\"chat\");\n };\n\n @event({ type: \"detail.change\" })\n accessor #detailChange!: EventEmitter<ConversationDetail>;\n\n #onDetailChange = (detail: ConversationDetail) => {\n this.#detailChange.emit(detail);\n };\n\n #ref = createRef<CruiseCanvasRef>();\n\n @method()\n resumed() {\n this.#ref.current?.resumed?.();\n }\n\n @method()\n feedbackSubmitDone() {\n this.#ref.current?.feedbackSubmitDone();\n }\n\n @method()\n feedbackSubmitFailed() {\n this.#ref.current?.feedbackSubmitFailed();\n }\n\n @method()\n feedbackOnViewDone(viewId: string) {\n this.#ref.current?.feedbackOnViewDone(viewId);\n }\n\n render() {\n return (\n <ForwardedCruiseCanvasComponent\n conversationId={this.conversationId!}\n initialRequest={this.initialRequest}\n replay={this.replay}\n replayDelay={this.replayDelay}\n supports={this.supports}\n showHiddenJobs={this.showHiddenJobs}\n showHumanActions={this.showHumanActions}\n showFeedback={this.showFeedback}\n showFeedbackAfterFailed={this.showFeedbackAfterFailed}\n showUiSwitch={this.showUiSwitch}\n showFeedbackOnView={this.showFeedbackOnView}\n showJsxEditor={this.showJsxEditor}\n previewUrlTemplate={this.previewUrlTemplate}\n showCases={this.showCases}\n exampleProjects={this.exampleProjects}\n tryItOutUrl={this.tryItOutUrl}\n onShare={this.#onShare}\n onTerminate={this.#onTerminate}\n onSubmitFeedback={this.#onSubmitFeedback}\n onSwitchToChat={this.#onSwitchToChat}\n onFeedbackOnView={this.#onFeedbackOnView}\n onDetailChange={this.#onDetailChange}\n ref={this.#ref}\n />\n );\n }\n}\n"],"names":["initializeI18n","NS","locales","defineElement","property","event","method","createDecorators","ForwardedCruiseCanvasComponent","forwardRef","CruiseCanvasComponent","_CruiseCanvas","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_CruiseCanvas_brand","WeakSet","_onShare","_S","_onTerminate","_T","_onSubmitFeedback","_U","_onFeedbackOnView","_V","_onSwitchToChat","_W","_onDetailChange","_ref","CruiseCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_conversationId","_init_extra_conversationId","_init_initialRequest","_init_extra_initialRequest","_init_replay","_init_extra_replay","_init_replayDelay","_init_extra_replayDelay","_init_supports","_init_extra_supports","_init_showHiddenJobs","_init_extra_showHiddenJobs","_init_showHumanActions","_init_extra_showHumanActions","_init_showFeedback","_init_extra_showFeedback","_init_showFeedbackAfterFailed","_init_extra_showFeedbackAfterFailed","_init_showFeedbackOnView","_init_extra_showFeedbackOnView","_init_showUiSwitch","_init_extra_showUiSwitch","_init_hideMermaid","_init_extra_hideMermaid","_init_showJsxEditor","_init_extra_showJsxEditor","_init_previewUrlTemplate","_init_extra_previewUrlTemplate","_init_showCases","_init_extra_showCases","_init_exampleProjects","_init_extra_exampleProjects","_init_tryItOutUrl","_init_extra_tryItOutUrl","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","_init_terminateEvent","_init_extra_terminateEvent","_get_terminateEvent","_init_feedbackSubmitEvent","_init_extra_feedbackSubmitEvent","detail","_get_feedbackSubmitEvent","_init_feedbackOnViewEvent","_init_extra_feedbackOnViewEvent","viewId","_get_feedbackOnViewEvent","_init_switch","_init_extra_switch","_get_switch","_init_detailChange","_init_extra_detailChange","_get_detailChange","createRef","conversationId","_classPrivateFieldGet","v","_classPrivateFieldSet","initialRequest","replay","replayDelay","supports","showHiddenJobs","showHumanActions","showFeedback","showFeedbackAfterFailed","showFeedbackOnView","showUiSwitch","hideMermaid","showJsxEditor","previewUrlTemplate","showCases","exampleProjects","tryItOutUrl","resumed","_classPrivateFieldGet2","_classPrivateFieldGet3","current","call","feedbackSubmitDone","_classPrivateFieldGet4","feedbackSubmitFailed","_classPrivateFieldGet5","feedbackOnViewDone","_classPrivateFieldGet6","render","React","onShare","onTerminate","onSubmitFeedback","onSwitchToChat","onFeedbackOnView","onDetailChange","ref","_CruiseCanvas2","e","_set_shareEvent","_set_terminateEvent","_set_feedbackSubmitEvent","_set_feedbackOnViewEvent","_set_switch","_set_detailChange","c","_initClass","_applyDecs","shadowOptions","attribute","type","Boolean","Number","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see elevo-sidebar.6f74b954.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(57372);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(57372);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(11280);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,T=4===a,C=2===a;function j(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={},N=[],O=x?"get":T||k?"set":"value";if(u?(h||k?I={get:o((function(){return f(this)}),r,"get"),set:function(e){t[4](this,e)}}:I[O]=f,h||o(I[O],r,C?"":O)):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[O].name+") is not supported yet");y[+c][r]=a<3?1:a}}for(var S=e,P=v.length-1;P>=0;P-=i?2:1){var U=w(v[P],"A decorator","be",!0),_=i?v[P-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(_,S,M),R.v=1,w(p,"class decorators","return")&&(S=p);else if(M.static=c,M.private=u,p=M.access={has:u?m.bind():function(e){return r in e}},T||(p.get=u?C?function(e){return g(e),I.value}:j("get",0,g):function(e){return e[r]}),C||x||(p.set=u?j("set",0,g):function(e,t){e[r]=t}),S=U.call(_,k?{get:I.get,set:I.set}:I[O],M),R.v=1,k){if("object"==(0,n.A)(S)&&S)(p=w(S.get,"accessor.get"))&&(I.get=p),(p=w(S.set,"accessor.set"))&&(I.set=p),(p=w(S.init,"accessor.init"))&&N.unshift(p);else if(void 0!==S)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(S,(h?"field":"method")+" decorators","return")&&(h?N.unshift(S):I[O]=S)}return a<2&&l.push(E(N,c,1),E(s,c,0)),h||b||(u?k?l.splice(-1,0,j("get",c),j("set",c)):l.push(C?I[O]:w.call.bind(I[O])):A(e,r,I)),S}function T(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||T(e),{e:p,get c(){var i=[];return k&&[T(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,onActionClick:y,onHistoryClick:k,onProjectActionClick:E,onAddProject:w}=e;const x=(0,r.useRef)(null),[T,C]=(0,r.useState)(null),[j,I]=(0,r.useState)(!1),[N,O]=(0,r.useState)(!1),[S,P]=(0,r.useState)(null),[U,_]=(0,r.useState)(!1),[R,M]=(0,r.useState)(),[W,D]=(0,r.useState)(),[L,Y]=(0,r.useState)(!1),H=(0,r.useRef)(!0),[B,z]=(0,r.useState)([]),J=(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:W,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,P((e=>[...null!=e?e:[],...t.conversations])),M(t.nextToken)})).catch((e=>{console.error("Error loading chat history:",e),P([]),Y(!0)}))}),[W]);const[V,G]=(0,r.useState)(null),q=(0,r.useRef)(null);(0,r.useEffect)((()=>{const e=q.current,t=x.current;if(!e||!R||!t||U)return;const i=new IntersectionObserver((e=>{for(const t of e)t.isIntersecting&&D(R)}),{root:t});return i.observe(e),()=>{i.disconnect()}}),[R,U]);const K=(0,r.useRef)(0),Q=(0,r.useCallback)((async()=>{try{const e=++K.current,t=await(0,c.E)({limit:30,onlyOwner:!0,onlyUnrelatedProject:!0},{interceptorParams:{ignoreLoadingBar:!0}});if(e!==K.current)return;P((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:(M(t.nextToken),n)}))}catch(e){console.error("Error pulling chat history:",e)}}),[]);(0,r.useImperativeHandle)(t,(()=>({pull:Q,removeProject:e=>{C((t=>t?t.filter((t=>t.instanceId!==e)):t))},addProject:e=>{C((t=>t?[...t,e]:[e]))},moveConversation:e=>{z((t=>[...t,e]))}})),[Q]);const F=(0,r.useMemo)((()=>S&&S.length?S.filter((e=>!B.includes(e.conversationId))):S),[S,B]);return o().createElement("div",{className:"history",ref:x},o().createElement("div",{className:s()("section",{collapsed:j})},o().createElement("div",{className:"section-title"},o().createElement("div",{className:"section-label",onClick:()=>I((e=>!e))},(0,p.t)(p.K.PROJECTS),o().createElement(u.Bj,{lib:"fa",icon:"angle-down"})),o().createElement(u.Py,{icon:g,variant:"mini-light",tooltip:(0,p.t)(p.K.CREATE_PROJECT),onClick:w})),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===V,active:e.instanceId===f}),onClick:k},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=>{E({action:t.detail,project:e})},onVisibleChange:t=>{G(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:U})},o().createElement("div",{className:"section-title"},o().createElement("div",{className:"section-label",onClick:()=>_((e=>!e))},(0,p.t)(p.K.HISTORY),o().createElement(u.Bj,{lib:"fa",icon:"angle-down"}))),o().createElement("ul",{className:"items"},F?F.map((e=>o().createElement("li",{key:e.conversationId},o().createElement(u.EM,(0,n.A)({className:s()("item",{"actions-active":e.conversationId===V,active:e.conversationId===i}),onClick:k},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:J,onActionClick:t=>{y({action:t.detail,item:e})},onVisibleChange:t=>{G(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})),L?o().createElement("li",{className:"error"},"Failed to load chat history"):null),!U&&R&&o().createElement("div",{className:"load-more",ref:q},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:()=>ke});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(7921),g=i(11280),v=(i(65168),i(87117)),f=i(29475),A=i(53373),b=i.n(A),y=i(99671),k=i(61408),E=i(42965),w=i(65467);let x,T,C,j,I,N,O,S,P,U,_,R,M,W,D,L,Y,H,B,z,J,V,G,q,K,Q,F,X,Z,$,ee,te,ie,ne,re,oe,ae,se,le,ce,de,pe,ue,he;(0,v.initializeI18n)(y.NS,y.I);const me={lib:"easyops",icon:"sidebar"},ge=(0,g.wrapBrick)("ai-portal.elevo-logo"),{defineElement:ve,property:fe,event:Ae,method:be}=(0,m.createDecorators)(),ye=(0,u.forwardRef)(Ge);let ke;var Ee=new WeakMap,we=new WeakMap,xe=new WeakMap,Te=new WeakMap,Ce=new WeakMap,je=new WeakMap,Ie=new WeakMap,Ne=new WeakMap,Oe=new WeakMap,Se=new WeakMap,Pe=new WeakMap,Ue=new WeakMap,_e=new WeakMap,Re=new WeakMap,Me=new WeakSet,We=new WeakMap,De=new WeakMap,Le=new WeakMap,Ye=new WeakMap,He=new WeakMap,Be=new WeakMap,ze=new WeakMap,Je=new WeakMap;class Ve extends g.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,Me),(0,a.A)(this,Ee,(x(this),C(this))),(0,a.A)(this,we,(j(this),I(this))),(0,a.A)(this,xe,(N(this),O(this))),(0,a.A)(this,Te,(S(this),P(this))),(0,a.A)(this,Ce,(U(this),_(this))),(0,a.A)(this,je,(R(this),M(this))),(0,a.A)(this,Ie,(W(this),D(this))),(0,a.A)(this,Ne,(L(this),Y(this))),(0,a.A)(this,Oe,(H(this),B(this))),(0,a.A)(this,Se,(z(this),J(this))),(0,a.A)(this,Pe,(V(this),G(this))),(0,a.A)(this,Ue,(q(this),K(this))),(0,a.A)(this,_e,(Q(this),F(this))),(0,a.A)(this,Re,(X(this),Z(this))),(0,a.A)(this,We,(te(this),()=>{(0,l.A)(Me,this,$).emit()})),(0,a.A)(this,De,ie(this)),(0,a.A)(this,Le,(oe(this),e=>{(0,l.A)(Me,this,ne).emit(e)})),(0,a.A)(this,Ye,ae(this)),(0,a.A)(this,He,(ce(this),e=>{(0,l.A)(Me,this,se).emit(e)})),(0,a.A)(this,Be,de(this)),(0,a.A)(this,ze,(he(this),()=>{(0,l.A)(Me,this,pe).emit()})),(0,a.A)(this,Je,(0,u.createRef)())}get userInstanceId(){return(0,d.A)(Ee,this)}set userInstanceId(e){(0,c.A)(Ee,this,e)}get behavior(){return(0,d.A)(we,this)}set behavior(e){(0,c.A)(we,this,e)}get bordered(){return(0,d.A)(xe,this)}set bordered(e){(0,c.A)(xe,this,e)}get logoUrl(){return(0,d.A)(Te,this)}set logoUrl(e){(0,c.A)(Te,this,e)}get newChatUrl(){return(0,d.A)(Ce,this)}set newChatUrl(e){(0,c.A)(Ce,this,e)}get newChatLinkWhenCollapsed(){return(0,d.A)(je,this)}set newChatLinkWhenCollapsed(e){(0,c.A)(je,this,e)}get historyActiveId(){return(0,d.A)(Ie,this)}set historyActiveId(e){(0,c.A)(Ie,this,e)}get historyUrlTemplate(){return(0,d.A)(Ne,this)}set historyUrlTemplate(e){(0,c.A)(Ne,this,e)}get historyActions(){return(0,d.A)(Oe,this)}set historyActions(e){(0,c.A)(Oe,this,e)}get projectActiveId(){return(0,d.A)(Se,this)}set projectActiveId(e){(0,c.A)(Se,this,e)}get projectUrlTemplate(){return(0,d.A)(Pe,this)}set projectUrlTemplate(e){(0,c.A)(Pe,this,e)}get projectActions(){return(0,d.A)(Ue,this)}set projectActions(e){(0,c.A)(Ue,this,e)}get links(){return(0,d.A)(_e,this)}set links(e){(0,c.A)(_e,this,e)}pullHistory(e){setTimeout((()=>{var e;null===(e=(0,d.A)(Je,this).current)||void 0===e||e.pull()}),e)}close(){var e;null===(e=(0,d.A)(Je,this).current)||void 0===e||e.close()}removeProject(e){var t,i;null===(t=(0,d.A)(Je,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)(Je,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)(Je,this).current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}render(){return h().createElement(ye,{ref:(0,d.A)(Je,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,onLogout:(0,d.A)(We,this),onActionClick:(0,d.A)(Le,this),onProjectActionClick:(0,d.A)(He,this),onAddProject:(0,d.A)(ze,this)})}}function Ge(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,onLogout:k,onActionClick:x,onProjectActionClick:T,onAddProject:C}=e;const[j,I]=(0,u.useState)("drawer"===n),N=(0,u.useCallback)((()=>{I(!0)}),[]),O=(0,u.useCallback)((()=>{I(!1)}),[]);(0,u.useEffect)((()=>{"drawer"===n&&I(!0)}),[n]);const S=(0,u.useCallback)((()=>{I(!0)}),[]),P=(0,u.useCallback)((()=>{"drawer"===n&&I(!0)}),[n]),U=(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)}]),[]),_=(0,u.useRef)(null);return(0,u.useImperativeHandle)(t,(()=>({close:()=>{I(!0)},pull:()=>{var e;null===(e=_.current)||void 0===e||e.pull()},removeProject:e=>{var t,i;null===(t=_.current)||void 0===t||null===(i=t.removeProject)||void 0===i||i.call(t,e)},addProject:e=>{var t,i;null===(t=_.current)||void 0===t||null===(i=t.addProject)||void 0===i||i.call(t,e)},moveConversation:e=>{var t,i;null===(t=_.current)||void 0===t||null===(i=t.moveConversation)||void 0===i||i.call(t,e)}})),[]),h().createElement("div",{className:b()("container",{collapsed:j})},"drawer"===n&&!j&&h().createElement("div",{className:"mask",onClick:S}),h().createElement("div",{className:"alternative"},h().createElement(E.Py,{icon:me,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(ge,null)),h().createElement(E.Py,{icon:me,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:_,historyActiveId:l,historyUrlTemplate:c,historyActions:d,projectActiveId:p,projectUrlTemplate:m,projectActions:g,onActionClick:x,onHistoryClick:P,onProjectActionClick:T,onAddProject:C}),h().createElement("div",{className:"footer"},h().createElement(E.qb,{className:"dropdown",actions:U,onActionClick:async e=>{"logout"===e.detail.key?k():(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=Ve,({e:[C,j,I,N,O,S,P,U,_,R,M,W,D,L,Y,H,B,z,J,V,G,q,K,Q,F,X,Z,$,ee,te,ie,ne,re,oe,ae,se,le,ce,de,pe,ue,he,x],c:[ke,T]}=(0,p.A)(n,[ve("ai-portal.elevo-sidebar",{styleTexts:[k.A]})],[[fe(),1,"userInstanceId"],[fe(),1,"behavior"],[fe({type:Boolean,render:!1}),1,"bordered"],[fe(),1,"logoUrl"],[fe(),1,"newChatUrl"],[fe({type:Boolean}),1,"newChatLinkWhenCollapsed"],[fe(),1,"historyActiveId"],[fe(),1,"historyUrlTemplate"],[fe({attribute:!1}),1,"historyActions"],[fe(),1,"projectActiveId"],[fe(),1,"projectUrlTemplate"],[fe({attribute:!1}),1,"projectActions"],[fe({attribute:!1}),1,"links"],[Ae({type:"logout"}),1,"logout",e=>(0,d.A)(Re,e),(e,t)=>(0,c.A)(Re,e,t)],[Ae({type:"action.click"}),1,"actionClick",e=>(0,d.A)(De,e),(e,t)=>(0,c.A)(De,e,t)],[Ae({type:"project.action.click"}),1,"projectActionClick",e=>(0,d.A)(Ye,e),(e,t)=>(0,c.A)(Ye,e,t)],[Ae({type:"add.project"}),1,"addProject",e=>(0,d.A)(Be,e),(e,t)=>(0,c.A)(Be,e,t)],[be(),2,"pullHistory"],[be(),2,"close"],[be(),2,"removeProject"],[be(),2,"addProject"],[be(),2,"moveConversation"]],0,(e=>Je.has((0,s.A)(e))),g.ReactNextElement)),T()},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(87117);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.6f74b954.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
Copyright (c) 2018 Jed Watson.
|
|
3
|
+
Licensed under the MIT License (MIT), see
|
|
4
|
+
http://jedwatson.github.io/classnames
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**! @contract easyops.api.llm.elevo.GetElevoProjects@1.0.0 */
|
|
8
|
+
|
|
9
|
+
/**! @contract easyops.api.llm.elevo.ListElevoConversations@1.0.0 */
|