@next-bricks/ai-portal 0.52.0 → 0.54.0
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 +43 -35
- package/dist/chunks/6201.610c66e3.js +2 -0
- package/dist/chunks/6201.610c66e3.js.map +1 -0
- package/dist/chunks/7713.278cfb8b.js +2 -0
- package/dist/chunks/7713.278cfb8b.js.map +1 -0
- package/dist/chunks/chat-box.279647b5.js +2 -0
- package/dist/chunks/chat-box.279647b5.js.map +1 -0
- package/dist/chunks/flow-tabs.222a11ea.js +3 -0
- package/dist/chunks/flow-tabs.222a11ea.js.map +1 -0
- package/dist/chunks/main.72d51c8f.js +2 -0
- package/dist/chunks/{main.4cb00675.js.map → main.72d51c8f.js.map} +1 -1
- package/dist/chunks/set-chat-command.367b9c88.js +2 -0
- package/dist/chunks/set-chat-command.367b9c88.js.map +1 -0
- package/dist/chunks/stage-flow.1ece0479.js +2 -0
- package/dist/chunks/stage-flow.1ece0479.js.map +1 -0
- package/dist/examples.json +19 -16
- package/dist/images/60cd488d.svg +6 -0
- package/dist/images/ecaecc18.svg +6 -0
- package/dist/index.6e1371ec.js +2 -0
- package/dist/index.6e1371ec.js.map +1 -0
- package/dist/manifest.json +384 -298
- package/dist/types.json +1507 -736
- package/dist-types/bootstrap.d.ts +2 -0
- package/dist-types/chat-box/index.d.ts +3 -1
- package/dist-types/data-providers/set-chat-command.d.ts +7 -0
- package/dist-types/data-providers/set-chat-command.spec.d.ts +1 -0
- package/dist-types/shared/interfaces.d.ts +9 -0
- package/dist-types/stage-flow/i18n.d.ts +23 -0
- package/dist-types/stage-flow/index.d.ts +39 -0
- package/dist-types/stage-flow/index.spec.d.ts +1 -0
- package/docs/stage-flow.md +32 -0
- package/package.json +2 -2
- package/dist/chunks/6201.58eeb93e.js +0 -2
- package/dist/chunks/6201.58eeb93e.js.map +0 -1
- package/dist/chunks/943.7073ef6f.js +0 -2
- package/dist/chunks/943.7073ef6f.js.map +0 -1
- package/dist/chunks/chat-box.59ab1b62.js +0 -2
- package/dist/chunks/chat-box.59ab1b62.js.map +0 -1
- package/dist/chunks/flow-tabs.ba72493e.js +0 -3
- package/dist/chunks/flow-tabs.ba72493e.js.map +0 -1
- package/dist/chunks/main.4cb00675.js +0 -2
- package/dist/index.fede9e49.js +0 -2
- package/dist/index.fede9e49.js.map +0 -1
- /package/dist/chunks/{flow-tabs.ba72493e.js.LICENSE.txt → flow-tabs.222a11ea.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([[5944,6573],{10236:(e,t,n)=>{n.d(t,{e:()=>c});var o=n(89575),r=n(18769),a=n(59435),i=n(99126),l=n(79644);const s=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",c=r.forwardRef(u);function u(e,t){let{autoResize:n,minRows:c,maxRows:u,borderSize:d,paddingSize:p,containerRef:h,value:m,style:f,submitWhen:g,desiredSelectionRef:b,onChange:v,onSubmit:x,onKeyDown:y,onCompositionStart:w,onCompositionEnd:A,...k}=e;const C=null==n||n,[S,E]=(0,r.useState)(null!=m?m:""),R=(0,r.useRef)(null),[M,_]=(0,r.useState)(null);(0,r.useImperativeHandle)(t,(()=>({focus:()=>{const e=R.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:R.current})),[]);const I=(0,r.useCallback)((()=>{const e=R.current;if(e&&C){const t=(0,l.A)(e,{minRows:c,maxRows:u,borderSize:d,paddingSize:p});(0,a.flushSync)((()=>{_(t)}))}}),[C,u,c,d,p]);(0,r.useEffect)((()=>{E(null!=m?m:"")}),[m]),(0,r.useEffect)((()=>{I()}),[I,S]);const z=(0,r.useRef)(!1),N=(0,r.useCallback)((e=>{z.current=!0,null==w||w(e)}),[w]),O=(0,r.useCallback)((e=>{z.current=!1,null==A||A(e)}),[A]),P=(0,r.useCallback)((e=>{z.current||!1!==(null==y?void 0:y(e))&&"Enter"===e.key&&("enter-without-shift"===g?!e.shiftKey:"enter-with-mod"===g&&e[s])&&(e.preventDefault(),e.stopPropagation(),null==x||x(e))}),[y,x,g]);return(0,r.useLayoutEffect)((()=>{const e=null==b?void 0:b.current,t=R.current;if(e&&t){const{start:n,end:o}=e;b.current=null,t.setSelectionRange(n,o)}}),[b,S]),(0,r.useEffect)((()=>{const e=null==h?void 0:h.current;if(!e||!C)return;let t;const n=new i.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(I)}}}));return n.observe(e),()=>{n.disconnect()}}),[C,h,I]),r.createElement("textarea",(0,o.A)({},k,{ref:R,value:S,style:{...f,...M},onChange:e=>{E(e.target.value),null==v||v(e)},onCompositionStart:N,onCompositionEnd:O,onKeyDown:P}))}},16195:(e,t,n)=>{n.d(t,{I:()=>s,K:()=>r,NS:()=>l,t:()=>c});var o=n(52616);let r=function(e){return e.ASK_ANY_THING="ASK_ANYTHING",e.COMMON_TASKS="COMMON_TASKS",e}({});const a={[r.ASK_ANY_THING]:"Ask anything",[r.COMMON_TASKS]:"Common tasks"},i={[r.ASK_ANY_THING]:"询问任何问题",[r.COMMON_TASKS]:"常用任务"},l="bricks/ai-portal/chat-box",s={en:a,zh:i},c=o.i18n.getFixedT(null,l)},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}},24586:(e,t,n)=>{n.d(t,{A:()=>r});var o=n(11369);function r(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}},47008:(e,t,n)=>{n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),a=n(40935),i=n.n(a),l=n(20062),s=n.n(l),c=new URL(n(47336),n.b),u=i()(r()),d=s()(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;gap:6px}.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}.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"},78404:(e,t,n)=>{n.d(t,{U:()=>a});var o=n(80592);let r;function a(e,t){r||(r=document.createElement("div"),r.setAttribute("tab-index","-1"),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),r.setAttribute("style",(0,o.w)(e)),r.textContent=e.value.slice(0,t);const n=document.createElement("span");n.textContent="",r.appendChild(n);const a=n.getBoundingClientRect();return n.remove(),{top:a.top,left:a.left}}},79644:(e,t,n)=>{n.d(t,{A:()=>a});var o=n(80592);let r;function a(e,t){const{minRows:n=null,maxRows:a=null,borderSize:i=2,paddingSize:l=8}=null!=t?t:{};let s,c,u;r||(r=document.createElement("textarea"),r.setAttribute("tab-index","-1"),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),r.setAttribute("style",(0,o.w)(e)),r.value=e.value||e.placeholder||"";let d=r.scrollHeight+i;if(null!==n||null!==a){const e=parseFloat(window.getComputedStyle(r).getPropertyValue("line-height"));null!==n&&(s=e*n+l+i,d=Math.max(s,d)),null!==a&&(c=e*a+l+i,d<=c&&(u="hidden"),d=Math.min(c,d))}const p={height:d,overflowY:u,resize:"none"};return s&&(p.minHeight=s),c&&(p.maxHeight=c),p}},80592:(e,t,n)=>{n.d(t,{w:()=>a});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",r=["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 a(e){const t=window.getComputedStyle(e);return`${r.map((e=>`${e}:${t.getPropertyValue(e)}`)).join(";")};${o}`}},86572:(e,t,n)=>{n.d(t,{I:()=>a});var o=n(80592);let r;function a(e,t,n){r||(r=document.createElement("div"),r.setAttribute("tab-index","-1"),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),r.setAttribute("style",(0,o.w)(e)),r.textContent=t;const a=document.createElement("span");a.textContent=n,r.appendChild(a);const i=a.getBoundingClientRect();if(a.remove(),n.length<=1)return[i];const l=n[0],s=document.createElement("span");s.textContent=l,r.appendChild(s);const c=s.getBoundingClientRect();s.remove(),r.textContent=`${t}${n.slice(0,-1)}`;const u=n[n.length-1],d=document.createElement("span");d.textContent=u,r.appendChild(d);const p=d.getBoundingClientRect();if(d.remove(),c.top===p.top)return[i];const h=[];h.push(new DOMRect(c.left,c.top,i.right-c.left,c.bottom-c.top));const m=p.top-c.bottom;return m>=10&&h.push(new DOMRect(i.left,c.bottom,i.width,m)),h.push(new DOMRect(i.left,p.top,p.right-i.left,p.bottom-p.top)),h}},89575:(e,t,n)=>{function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},o.apply(this,arguments)}n.d(t,{A:()=>o})},93757:(e,t,n)=>{n.r(t),n.d(t,{getChatCommand:()=>i,setChatCommand:()=>a});var o=n(77019);let r=null;function a(e){r=e}function i(){return r}customElements.define("ai-portal.set-chat-command",(0,o.createProviderClass)(a))},94669:(e,t,n)=>{n.r(t),n.d(t,{ChatBox:()=>te,ChatBoxComponent:()=>ee});var o,r=n(74635),a=n(70918),i=n(24586),l=n(26902),s=n(5536),c=n(86121),u=n(70829),d=n(62740),p=n(18769),h=n.n(p),m=n(59435),f=n(90870),g=n(30981),b=n(78404),v=n(86572),x=n(10236),y=(n(34419),n(52616)),w=n(16195),A=n(47008),k=n(93757);let C,S,E,R,M,_,I,z,N,O,P,$,T,K,B,D,L,W,F,H,V,j,U,Y;(0,y.initializeI18n)(w.NS,w.I);const G=(0,g.wrapBrick)("eo-icon"),q=(0,g.wrapBrick)("eo-actions",{onActionClick:"action.click",onItemDragEnd:"item.drag.end",onItemDragStart:"item.drag.start"}),{defineElement:Q,property:J,event:X,method:Z}=(0,f.createDecorators)(),ee=(0,p.forwardRef)(fe);let te;var ne=new WeakMap,oe=new WeakMap,re=new WeakMap,ae=new WeakMap,ie=new WeakMap,le=new WeakMap,se=new WeakSet,ce=new WeakMap,ue=new WeakMap,de=new WeakMap,pe=new WeakMap,he=new WeakMap;class me extends g.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,se),(0,i.A)(this,"ref",(C(this),(0,p.createRef)())),(0,a.A)(this,ne,E(this)),(0,a.A)(this,oe,(R(this),M(this))),(0,a.A)(this,re,(_(this),I(this))),(0,a.A)(this,ae,(z(this),N(this))),(0,a.A)(this,ie,(O(this),P(this))),(0,a.A)(this,le,($(this),T(this))),(0,a.A)(this,ce,(D(this),e=>{(0,s.A)(se,this,K).emit(e)})),(0,a.A)(this,ue,L(this)),(0,a.A)(this,de,(H(this),e=>{(0,s.A)(se,this,W).emit(e)})),(0,a.A)(this,pe,V(this)),(0,a.A)(this,he,(Y(this),e=>{(0,s.A)(se,this,j).emit(e)}))}get disabled(){return(0,u.A)(ne,this)}set disabled(e){(0,c.A)(ne,this,e)}get placeholder(){return(0,u.A)(oe,this)}set placeholder(e){(0,c.A)(oe,this,e)}get autoFocus(){return(0,u.A)(re,this)}set autoFocus(e){(0,c.A)(re,this,e)}get aiEmployees(){return(0,u.A)(ae,this)}set aiEmployees(e){(0,c.A)(ae,this,e)}get commands(){return(0,u.A)(ie,this)}set commands(e){(0,c.A)(ie,this,e)}setValue(e){var t;null===(t=this.ref.current)||void 0===t||t.setValue(e)}getValue(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.getValue()}focusOnInput(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.focusOnInput()}render(){return h().createElement(ee,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,aiEmployees:this.aiEmployees,commands:this.commands,onSubmit:(0,u.A)(ce,this),onEmployeeMention:(0,u.A)(de,this),onCommandSelect:(0,u.A)(he,this),ref:this.ref})}}function fe(e,t){let{disabled:n,placeholder:o,autoFocus:r,aiEmployees:a,commands:i,onSubmit:l,onEmployeeMention:s,onCommandSelect:c}=e;const u=(0,p.useRef)(null),d=(0,p.useRef)(null),[f,g]=(0,p.useState)(""),y=(0,p.useRef)(""),[A,C]=(0,p.useState)(null),[S,E]=(0,p.useState)(""),[R,M]=(0,p.useState)(0),[_,I]=(0,p.useState)([0]),[z,N]=(0,p.useState)(null),[O,P]=(0,p.useState)(null),[$,T]=(0,p.useState)(""),K=(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)&&(y.current=e.content,g(e.content))}),[]),(0,p.useImperativeHandle)(t,(()=>({setValue:e=>{y.current=e,g(e)},getValue:()=>y.current,focusOnInput:()=>{var e;null===(e=d.current)||void 0===e||e.focus()}})));const B=(0,p.useCallback)((e=>{var t;l(e.slice(null!==(t=null==$?void 0:$.length)&&void 0!==t?t:0))}),[null==$?void 0:$.length,l]),D=(0,p.useCallback)((e=>{e.currentTarget.value&&B(e.currentTarget.value)}),[B]),L=(0,p.useCallback)((e=>{const{value:t,selectionStart:n,selectionEnd:o}=e.target;if(y.current=t,g(t),!S&&null!==n&&n===o&&null!=a&&a.length){const o=t.slice(0,n),r=o.lastIndexOf("@");if(r>=0){const t=o.slice(r+1).toLowerCase(),i=a.filter((e=>e.employeeId.toLowerCase().includes(t)||e.name.toLowerCase().includes(t))).slice(0,10);if(i.length>0){const t=(0,b.U)(e.currentTarget,n),o=e.currentTarget.getBoundingClientRect();return C({style:{left:t.left+10+o.left,top:t.top+22+o.top,position:"absolute",zIndex:1},range:{start:r,end:n},actions:i.map((e=>({key:e.employeeId,text:e.name,data:e})))}),void M(0)}}}if(C(null),null!==n&&n===o&&null!=i&&i.length){const o=t.slice(0,n);if(o.startsWith("/")){const t=o.slice(1).toLowerCase(),r=i.filter((e=>e.label.toLowerCase().includes(t))).slice(0,10);if(r.length>0){const t=(0,b.U)(e.currentTarget,n),o=e.currentTarget.getBoundingClientRect();return N({style:{left:t.left+10+o.left,top:t.top+22+o.top,position:"absolute",zIndex:1},range:{start:0,end:n},actions:r.map((e=>({key:e.value,text:e.label,data:e,ancestors:[],items:ge(e,[]),payload:e.payload})))}),void I([0])}}}N(null)}),[a,i,S]);(0,p.useEffect)((()=>{S&&!f.includes(S)&&(E(""),s(null))}),[S,s,f]),(0,p.useEffect)((()=>{$&&!f.includes($)&&(T(""),c(null))}),[$,c,f]);const W=(0,p.useCallback)((()=>{B(y.current)}),[B]);(0,p.useEffect)((()=>{r&&Promise.resolve().then((()=>{var e;null===(e=d.current)||void 0===e||e.focus()}))}),[]);const F=(0,p.useMemo)((()=>{var e;const t=null===(e=d.current)||void 0===e?void 0:e.element;if(!S||!t)return"";const n=f.indexOf(S);return n<0?"":f.slice(0,n)}),[S,f]),H=(0,p.useMemo)((()=>{var e;const t=null===(e=d.current)||void 0===e?void 0:e.element;return S&&t?(0,v.I)(t,F,S.slice(0,-1)).map((e=>({left:e.left-1,top:e.top-1,width:e.width+4,height:e.height+4}))):null}),[S,F]);(0,p.useEffect)((()=>{var e;const t=null===(e=d.current)||void 0===e?void 0:e.element;if(!$||!t)return void P(null);const n=(0,v.I)(t,"",$.slice(0,-1));P(n.map((e=>({left:e.left-1,top:e.top-1,width:e.width+4,height:e.height+4}))))}),[$]);const V=(0,p.useMemo)((()=>{const e=(0,k.getChatCommand)();return e&&(0,k.setChatCommand)(null),e}),[]);(0,p.useEffect)((()=>{V&&c(V.payload)}),[V,c]),(0,p.useEffect)((()=>{var e;const t=null===(e=d.current)||void 0===e?void 0:e.element;if(V&&t){const e=`/${V.command} `,n=(0,v.I)(t,"",e.slice(0,-1));P(n.map((e=>({left:e.left-1,top:e.top-1,width:e.width+4,height:e.height+4})))),y.current=e,K.current={start:e.length,end:e.length},g(e),T(e)}}),[V]);const j=(0,p.useCallback)((e=>{var t;const n=`@${e.text} `,o=`${y.current.slice(0,A.range.start)}${n}`,r=`${o}${y.current.slice(A.range.end)}`;y.current=r,K.current={start:o.length,end:o.length},g(r),E(n),C(null),s(e.data),null===(t=d.current)||void 0===t||t.focus()}),[A,s]),U=(0,p.useCallback)((e=>{var t;const n=`/${[...e.ancestors.map((e=>e.label)),e.text].join(": ")} `,o=`${y.current.slice(0,z.range.start)}${n}`,r=`${o}${y.current.slice(z.range.end)}`;y.current=r,K.current={start:o.length,end:o.length},g(r),T(n),N(null),c(e.payload),null===(t=d.current)||void 0===t||t.focus()}),[z,c]),Y=(0,p.useCallback)((e=>{switch(e.key){case"Escape":if(!A&&!z)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),C(null),N(null),!1;case"ArrowUp":case"ArrowDown":if(!A&&!z)return;return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),A?M((t=>{const n=t+("ArrowUp"===e.key?-1:1),o=A.actions.length;return(o+n)%o})):I((t=>{let n=0,{actions:o}=z;const r=[];for(;n<t.length-1;){const e=o[t[n]];if(!be(e))break;o=e.items,r.push(t[n]),n+=1}const a=t[n]+("ArrowUp"===e.key?-1:1),i=o.length,l=(i+a)%i;return r.push(l),r})),!1;case"Enter":case"ArrowLeft":case"ArrowRight":if(A){if("Enter"===e.key)return e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),j(A.actions[R]),!1}else if(z){if(e.preventDefault(),e.stopPropagation(),e.nativeEvent.stopImmediatePropagation(),"ArrowLeft"===e.key)return _.length>1&&I((e=>e.slice(0,-1))),!1;let t,n=0,{actions:o}=z;for(;n<_.length&&(t=o[_[n]],be(t));)o=t.items,n+=1;return t&&(be(t)?I((e=>[...e,0])):"Enter"===e.key&&U(t)),!1}break;case"Delete":case"Backspace":{const t=[{textLength:null==S?void 0:S.length,prefixLength:F.length},{textLength:null==$?void 0:$.length,prefixLength:0}];for(const{textLength:n,prefixLength:o}of t)if(n){let{selectionStart:t,selectionEnd:r}=e.currentTarget;t===r&&("Backspace"===e.key?t-=1:r+=1);const a=o,i=a+n;if(t<i&&r>a){const n=Math.min(t,a),o=Math.max(r,i),l=`${y.current.slice(0,n)}${y.current.slice(o)}`;return y.current=l,K.current={start:n,end:n},g(l),e.preventDefault(),e.stopPropagation(),!1}}break}}}),[R,_,z,null==$?void 0:$.length,j,U,A,F.length,null==S?void 0:S.length]),Q=(0,p.useMemo)((()=>{if(!z)return[];let e=z.actions;const t=[];for(let n=0;n<_.length;n+=1){const o=e[_[n]];if(!o)break;if(!be(o)){t.push(o.key);break}t.push(o.key),e=o.items}return t}),[_,z]);return h().createElement("div",{className:"root"},h().createElement("div",{className:"container",ref:u},h().createElement(x.e,{containerRef:u,ref:d,value:f,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:K,onSubmit:D,onChange:L,onKeyDown:Y}),h().createElement("div",{className:"actions-bar"},h().createElement("div",null,h().createElement("slot",{name:"actions"})),h().createElement("button",{className:"btn-send",disabled:!f,onClick:W},h().createElement(G,{lib:"fa",prefix:"fas",icon:"arrow-up"}))),null==H?void 0:H.map(((e,t)=>h().createElement("div",{key:t,className:"mention-overlay",style:e}))),null==O?void 0:O.map(((e,t)=>h().createElement("div",{key:t,className:"mention-overlay",style:e}))),A&&(0,m.createPortal)(h().createElement(q,{actions:A.actions,style:A.style,activeKeys:[A.actions[R].key],onActionClick:e=>j(e.detail)}),document.body),z&&(0,m.createPortal)(h().createElement(q,{actions:z.actions,style:z.style,activeKeys:Q,onActionClick:e=>U(e.detail)}),document.body)))}function ge(e,t){var n;return null===(n=e.options)||void 0===n?void 0:n.map((n=>{const o=[...t,e];return{key:n.value,text:n.label,data:n,ancestors:o,items:ge(n,o),payload:n.payload}}))}function be(e){var t;return!(null===(t=e.items)||void 0===t||!t.length)}o=me,({e:[E,R,M,_,I,z,N,O,P,$,T,K,B,D,L,W,F,H,V,j,U,Y,C],c:[te,S]}=(0,d.A)(o,[Q("ai-portal.chat-box",{styleTexts:[A.A],shadowOptions:{delegatesFocus:!0}})],[[J({type:Boolean}),1,"disabled"],[J(),1,"placeholder"],[J({type:Boolean}),1,"autoFocus"],[J({attribute:!1}),1,"aiEmployees"],[J({attribute:!1}),1,"commands"],[X({type:"message.submit"}),1,"messageSubmit",e=>(0,u.A)(le,e),(e,t)=>(0,c.A)(le,e,t)],[X({type:"ai-employee.mention"}),1,"employeeMention",e=>(0,u.A)(ue,e),(e,t)=>(0,c.A)(ue,e,t)],[X({type:"command.select"}),1,"commandSelect",e=>(0,u.A)(pe,e),(e,t)=>(0,c.A)(pe,e,t)],[Z(),2,"setValue"],[Z(),2,"getValue"],[Z(),2,"focusOnInput"]],0,(e=>he.has((0,l.A)(e))),g.ReactNextElement)),S()}}]);
|
|
2
|
+
//# sourceMappingURL=chat-box.279647b5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/chat-box.279647b5.js","mappings":"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","sources":["webpack:///../../src/TextareaAutoResize.tsx","webpack:///./src/chat-box/i18n.ts","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./src/chat-box/styles.shadow.css","webpack:///../../src/getCaretPositionInTextarea.ts","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../../src/utils/getMirroredStyle.ts","webpack:///../../src/getContentRectsInTextarea.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///./src/data-providers/set-chat-command.ts","webpack:///./src/chat-box/index.tsx"],"sourcesContent":["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","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 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}","// 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;gap:6px}.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}.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","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","// 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","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 getContentRectsInTextarea(\n textarea: HTMLTextAreaElement,\n prefix: string,\n measureContent: string\n): DOMRect[] {\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 fullRect = span.getBoundingClientRect();\n span.remove();\n\n if (measureContent.length <= 1) {\n return [fullRect];\n }\n\n const leadingChar = measureContent[0];\n const leadingSpan = document.createElement(\"span\");\n leadingSpan.textContent = leadingChar;\n hiddenElement.appendChild(leadingSpan);\n const leadingRect = leadingSpan.getBoundingClientRect();\n leadingSpan.remove();\n\n hiddenElement.textContent = `${prefix}${measureContent.slice(0, -1)}`;\n const trailingChar = measureContent[measureContent.length - 1];\n const trailingSpan = document.createElement(\"span\");\n trailingSpan.textContent = trailingChar;\n hiddenElement.appendChild(trailingSpan);\n const trailingRect = trailingSpan.getBoundingClientRect();\n trailingSpan.remove();\n\n if (leadingRect.top === trailingRect.top) {\n return [fullRect];\n }\n\n const rects: DOMRect[] = [];\n\n // Leading rect\n rects.push(\n new DOMRect(\n leadingRect.left,\n leadingRect.top,\n fullRect.right - leadingRect.left,\n leadingRect.bottom - leadingRect.top\n )\n );\n\n // Middle rect\n const height = trailingRect.top - leadingRect.bottom;\n if (height >= 10) {\n rects.push(\n new DOMRect(fullRect.left, leadingRect.bottom, fullRect.width, height)\n );\n }\n\n // Trailing rect\n rects.push(\n new DOMRect(\n fullRect.left,\n trailingRect.top,\n trailingRect.right - fullRect.left,\n trailingRect.bottom - trailingRect.top\n )\n );\n\n return rects;\n}\n","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import { createProviderClass } from \"@next-core/utils/general\";\nimport type { CommandPayload } from \"../shared/interfaces.js\";\n\nexport interface ChatCommand {\n command: string;\n payload: CommandPayload;\n}\n\nlet chatCommand: ChatCommand | null = null;\n\nexport function setChatCommand(command: ChatCommand | null): void {\n chatCommand = command;\n}\n\nexport function getChatCommand(): ChatCommand | null {\n return chatCommand;\n}\n\ncustomElements.define(\n \"ai-portal.set-chat-command\",\n createProviderClass(setChatCommand)\n);\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n useImperativeHandle,\n createRef,\n useMemo,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n getCaretPositionInTextarea,\n getContentRectsInTextarea,\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 SubMenuAction,\n} from \"@next-bricks/basic/actions\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n getChatCommand,\n setChatCommand,\n} from \"../data-providers/set-chat-command.js\";\nimport type { CommandPayload } from \"../shared/interfaces.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedActions = wrapBrick<\n EoActions,\n ActionsProps & { activeKeys?: (string | number)[] },\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 commands?: Command[];\n}\n\nexport interface AIEmployee {\n employeeId: string;\n name: string;\n}\n\nexport interface ChatBoxRef {\n setValue: (value: string) => void;\n getValue: () => string;\n focusOnInput: () => void;\n}\n\nexport interface Command {\n label: string;\n value: string;\n options?: Command[];\n payload?: CommandPayload;\n}\n\ntype ActionWithAncestors = SimpleAction & {\n key: string | number;\n ancestors?: Command[];\n items?: ActionWithAncestors[];\n payload?: CommandPayload;\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 @property({ attribute: false })\n accessor commands: Command[] | 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 @event({ type: \"command.select\" })\n accessor #commandSelect!: EventEmitter<CommandPayload | null>;\n\n #handleCommandSelect = (command: CommandPayload | null) => {\n this.#commandSelect.emit(command);\n };\n\n @method()\n setValue(value: string) {\n this.ref.current?.setValue(value);\n }\n\n @method()\n getValue() {\n return this.ref.current?.getValue();\n }\n\n @method()\n focusOnInput() {\n return this.ref.current?.focusOnInput();\n }\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n aiEmployees={this.aiEmployees}\n commands={this.commands}\n onSubmit={this.#handleMessageSubmit}\n onEmployeeMention={this.#handleEmployeeMention}\n onCommandSelect={this.#handleCommandSelect}\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 onCommandSelect: (command: CommandPayload | null) => void;\n ref?: React.Ref<ChatBoxRef>;\n}\n\ninterface MentionPopover {\n style: React.CSSProperties;\n range: {\n start: number;\n end: number;\n };\n actions: ActionWithAncestors[];\n}\n\nfunction LegacyChatBoxComponent(\n {\n disabled,\n placeholder,\n autoFocus,\n aiEmployees,\n commands,\n onSubmit,\n onEmployeeMention,\n onCommandSelect,\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 [activeActionIndexes, setActiveActionIndexes] = useState<number[]>([0]);\n const [commandPopover, setCommandPopover] = useState<MentionPopover | null>(\n null\n );\n const [commandOverlay, setCommandOverlay] = useState<\n React.CSSProperties[] | null\n >(null);\n const [commandText, setCommandText] = useState(\"\");\n const selectionRef = useRef<{ start: number; end: number } | null>(null);\n\n useEffect(() => {\n const store = window.__elevo_try_it_out;\n if (store) {\n delete window.__elevo_try_it_out;\n }\n if (typeof store?.content === \"string\") {\n valueRef.current = store.content;\n setValue(store.content);\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n setValue: (value: string) => {\n valueRef.current = value;\n setValue(value);\n },\n getValue: () => {\n return valueRef.current;\n },\n focusOnInput: () => {\n textareaRef.current?.focus();\n },\n }));\n\n const submitWithoutCommand = useCallback(\n (value: string) => {\n onSubmit(value.slice(commandText?.length ?? 0));\n },\n [commandText?.length, onSubmit]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value) {\n submitWithoutCommand(e.currentTarget.value);\n }\n },\n [submitWithoutCommand]\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 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 const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setMentionPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\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 if (\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n commands?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n if (previousContent.startsWith(\"/\")) {\n const commandText = previousContent.slice(1).toLowerCase();\n const matchedCommands = commands\n .filter((command) =>\n command.label.toLowerCase().includes(commandText)\n )\n .slice(0, 10);\n if (matchedCommands.length > 0) {\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setCommandPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\n },\n range: { start: 0, end: selectionStart },\n actions: matchedCommands.map((command) => ({\n key: command.value,\n text: command.label,\n data: command,\n ancestors: [],\n items: getCommandSubMenu(command, []),\n payload: command.payload,\n })),\n });\n setActiveActionIndexes([0]);\n return;\n }\n }\n }\n setCommandPopover(null);\n },\n [aiEmployees, commands, mentionedText]\n );\n\n useEffect(() => {\n if (mentionedText && !value.includes(mentionedText)) {\n setMentionedText(\"\");\n onEmployeeMention(null);\n }\n }, [mentionedText, onEmployeeMention, value]);\n\n useEffect(() => {\n if (commandText && !value.includes(commandText)) {\n setCommandText(\"\");\n onCommandSelect(null);\n }\n }, [commandText, onCommandSelect, value]);\n\n const handleSubmitClick = useCallback(() => {\n submitWithoutCommand(valueRef.current);\n }, [submitWithoutCommand]);\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 rects = getContentRectsInTextarea(\n element,\n mentionPrefix,\n // Ignore the last space\n mentionedText.slice(0, -1)\n );\n return rects.map((rect) => ({\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 useEffect(() => {\n const element = textareaRef.current?.element;\n if (!commandText || !element) {\n setCommandOverlay(null);\n return;\n }\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandText.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n }, [commandText]);\n\n const chatCommand = useMemo(() => {\n const command = getChatCommand();\n if (command) {\n setChatCommand(null);\n }\n return command;\n }, []);\n\n useEffect(() => {\n if (chatCommand) {\n onCommandSelect(chatCommand.payload);\n }\n }, [chatCommand, onCommandSelect]);\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (chatCommand && element) {\n const commandStr = `/${chatCommand.command} `;\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandStr.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n valueRef.current = commandStr;\n selectionRef.current = {\n start: commandStr.length,\n end: commandStr.length,\n };\n setValue(commandStr);\n setCommandText(commandStr);\n }\n }, [chatCommand]);\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 textareaRef.current?.focus();\n },\n [mentionPopover, onEmployeeMention]\n );\n\n const handleSelectCommand = useCallback(\n (action: ActionWithAncestors) => {\n const command = `/${[...action.ancestors!.map((an) => an.label), action.text].join(\": \")} `;\n const prefix = `${valueRef.current.slice(0, commandPopover!.range.start)}${command}`;\n const newValue = `${prefix}${valueRef.current.slice(commandPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setCommandText(command);\n setCommandPopover(null);\n onCommandSelect(action.payload!);\n textareaRef.current?.focus();\n },\n [commandPopover, onCommandSelect]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n switch (e.key) {\n case \"Escape\":\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n setMentionPopover(null);\n setCommandPopover(null);\n return false;\n case \"ArrowUp\":\n case \"ArrowDown\": {\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (mentionPopover) {\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 } else {\n setActiveActionIndexes((prev) => {\n let cursor = 0;\n let { actions } = commandPopover!;\n const list: number[] = [];\n while (cursor < prev.length - 1) {\n const action = actions[prev[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n list.push(prev[cursor]);\n cursor += 1;\n }\n const nextIndex = prev[cursor] + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = actions.length;\n const next = (total + nextIndex) % total;\n list.push(next);\n return list;\n });\n }\n return false;\n }\n case \"Enter\":\n case \"ArrowLeft\":\n case \"ArrowRight\":\n if (mentionPopover) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n handleMention(mentionPopover.actions[activeActionIndex]);\n return false;\n }\n } else if (commandPopover) {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n\n if (e.key === \"ArrowLeft\") {\n if (activeActionIndexes.length > 1) {\n setActiveActionIndexes((prev) => prev.slice(0, -1));\n }\n return false;\n }\n\n let cursor = 0;\n let { actions } = commandPopover!;\n let action: ActionWithAncestors | undefined;\n while (cursor < activeActionIndexes.length) {\n action = actions[activeActionIndexes[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n cursor += 1;\n }\n if (action) {\n if (isSubMenuAction(action)) {\n setActiveActionIndexes((prev) => [...prev, 0]);\n } else if (e.key === \"Enter\") {\n handleSelectCommand(action);\n }\n }\n return false;\n }\n break;\n case \"Delete\":\n case \"Backspace\": {\n const popovers = [\n {\n textLength: mentionedText?.length,\n prefixLength: mentionPrefix.length,\n },\n {\n textLength: commandText?.length,\n prefixLength: 0,\n },\n ];\n\n for (const { textLength, prefixLength } of popovers) {\n if (textLength) {\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 = prefixLength;\n const currentEnd = currentStart + textLength;\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 }\n break;\n }\n }\n },\n [\n activeActionIndex,\n activeActionIndexes,\n commandPopover,\n commandText?.length,\n handleMention,\n handleSelectCommand,\n mentionPopover,\n mentionPrefix.length,\n mentionedText?.length,\n ]\n );\n\n const commandCheckedKeys = useMemo(() => {\n if (!commandPopover) {\n return [];\n }\n let actions = commandPopover.actions;\n const checkedKeys: (string | number)[] = [];\n for (let i = 0; i < activeActionIndexes.length; i += 1) {\n const index = activeActionIndexes[i];\n const action = actions[index];\n if (action) {\n if (isSubMenuAction(action)) {\n checkedKeys.push(action.key!);\n actions = action.items;\n } else {\n checkedKeys.push(action.key!);\n break;\n }\n } else {\n break;\n }\n }\n return checkedKeys;\n }, [activeActionIndexes, commandPopover]);\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 {mentionOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {commandOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {mentionPopover &&\n createPortal(\n <WrappedActions\n actions={mentionPopover.actions}\n style={mentionPopover.style}\n activeKeys={[mentionPopover.actions[activeActionIndex].key!]}\n onActionClick={(e) => handleMention(e.detail)}\n />,\n document.body\n )}\n {commandPopover &&\n createPortal(\n <WrappedActions\n actions={commandPopover.actions}\n style={commandPopover.style}\n activeKeys={commandCheckedKeys}\n onActionClick={(e) =>\n handleSelectCommand(e.detail as ActionWithAncestors)\n }\n />,\n document.body\n )}\n </div>\n </div>\n );\n}\n\nfunction getCommandSubMenu(\n command: Command,\n ancestors: Command[]\n): ActionWithAncestors[] | undefined {\n return command.options?.map((subCommand) => {\n const nextAncestors = [...ancestors, command];\n return {\n key: subCommand.value,\n text: subCommand.label,\n data: subCommand,\n ancestors: nextAncestors,\n items: getCommandSubMenu(subCommand, nextAncestors),\n payload: subCommand.payload,\n };\n });\n}\n\nfunction isSubMenuAction(\n action: SimpleAction | SubMenuAction\n): action is SubMenuAction {\n return !!(action as SubMenuAction).items?.length;\n}\n"],"names":["modKey","test","navigator","platform","TextareaAutoResize","React","LegacyTextareaAutoResize","_ref","ref","autoResize","_autoResize","minRows","maxRows","borderSize","paddingSize","containerRef","value","propValue","style","submitWhen","desiredSelectionRef","onChange","onSubmit","onKeyDown","onCompositionStart","onCompositionEnd","props","setValue","useState","textareaRef","useRef","autoStyle","setAutoStyle","useImperativeHandle","focus","textarea","current","_textarea$value","valueLength","length","setSelectionRange","element","doAutoResize","useCallback","calculateAutoSizeStyle","flushSync","useEffect","compositionRef","handleCompositionStart","e","handleCompositionEnd","handleKeyDown","key","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","K","en","ASK_ANY_THING","COMMON_TASKS","zh","NS","locales","t","i18n","getFixedT","module","exports","url","options","String","__esModule","default","slice","hash","needQuotes","concat","replace","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","toString","hiddenElement","getCaretPositionInTextarea","index","document","createElement","setAttribute","body","appendChild","getMirroredStyle","textContent","span","rect","getBoundingClientRect","remove","top","left","hiddenTextarea","uiTextNode","minHeight","maxHeight","overflowY","placeholder","height","scrollHeight","singleRowHeight","parseFloat","window","getComputedStyle","getPropertyValue","Math","max","min","resize","HIDDEN_STYLE","SIZING_STYLE","uiTextNodeStyle","map","name","join","getContentRectsInTextarea","prefix","measureContent","fullRect","leadingChar","leadingSpan","leadingRect","trailingChar","trailingSpan","trailingRect","rects","DOMRect","right","bottom","assign","bind","i","arguments","source","prototype","hasOwnProperty","call","apply","this","chatCommand","setChatCommand","command","getChatCommand","customElements","define","createProviderClass","initializeI18n","WrappedIcon","wrapBrick","WrappedActions","onActionClick","onItemDragEnd","onItemDragStart","defineElement","property","event","method","createDecorators","ChatBoxComponent","forwardRef","LegacyChatBoxComponent","_ChatBox","_A","WeakMap","_B","_C","_D","_E","_F","_ChatBox_brand","WeakSet","_handleMessageSubmit","_G","_handleEmployeeMention","_H","_handleCommandSelect","ChatBox","ReactNextElement","constructor","_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_commands","_init_extra_commands","_init_messageSubmit","_init_extra_messageSubmit","_classPrivateGetter","_get_messageSubmit","emit","_init_employeeMention","_init_extra_employeeMention","employee","_get_employeeMention","_init_commandSelect","_init_extra_commandSelect","_get_commandSelect","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","autoFocus","aiEmployees","commands","_this$ref$current","getValue","_this$ref$current2","focusOnInput","_this$ref$current3","render","onEmployeeMention","onCommandSelect","valueRef","mentionPopover","setMentionPopover","mentionedText","setMentionedText","activeActionIndex","setActiveActionIndex","activeActionIndexes","setActiveActionIndexes","commandPopover","setCommandPopover","commandOverlay","setCommandOverlay","commandText","setCommandText","selectionRef","store","__elevo_try_it_out","content","_textareaRef$current","submitWithoutCommand","_commandText$length","handleSubmit","currentTarget","handleChange","selectionStart","selectionEnd","previousContent","mentionIndex","lastIndexOf","mentionText","toLowerCase","matchedEmployees","filter","employeeId","includes","position","textareaRect","zIndex","range","actions","text","data","startsWith","matchedCommands","label","ancestors","items","getCommandSubMenu","payload","handleSubmitClick","Promise","resolve","then","_textareaRef$current2","mentionPrefix","useMemo","_textareaRef$current3","indexOf","mentionOverlay","_textareaRef$current4","_textareaRef$current5","_textareaRef$current6","commandStr","handleMention","action","_textareaRef$current7","mention","newValue","handleSelectCommand","_textareaRef$current8","an","nativeEvent","stopImmediatePropagation","prev","nextIndex","total","cursor","list","isSubMenuAction","next","popovers","textLength","prefixLength","currentStart","currentEnd","commandCheckedKeys","checkedKeys","className","onClick","lib","icon","overlay","createPortal","activeKeys","detail","_command$options","subCommand","nextAncestors","_items","_ChatBox2","_set_messageSubmit","_set_employeeMention","_set_commandSelect","c","_initClass","_applyDecs","styleTexts","styleText","shadowOptions","delegatesFocus","type","Boolean","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see flow-tabs.222a11ea.js.LICENSE.txt */
|
|
2
|
+
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[5764],{29511:(t,e,a)=>{"use strict";a.d(e,{A:()=>s});var n=a(36758),i=a.n(n),r=a(40935),o=a.n(r)()(i());o.push([t.id,":host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container{position:relative}.bg{position:absolute;top:0;left:0;z-index:-1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header{display:flex;align-items:center;justify-content:space-between}.tabs{list-style:none;padding:0;margin:0;display:flex}.tabs .tab{padding:0 18px}.tabs a{display:block;padding:9px 10px;color:rgba(0,0,0,0.55);line-height:20px;cursor:pointer}.tabs .active a{font-weight:500;color:#262626}.body{padding:23px 27px;overflow-x:auto}.toolbar{display:flex;align-items:center;gap:8px}",""]);const s=o.toString()},42252:(t,e,a)=>{"use strict";a.r(e),a.d(e,{FlowTabs:()=>z});var n,i=a(74635),r=a(70918),o=a(26902),s=a(5536),l=a(86121),c=a(70829),b=a(62740),u=a(18769),h=a.n(u),d=a(90870),p=a(30981),f=(a(34419),a(53373)),g=a.n(f),m=a(99126),v=a(96487),x=a(29511);let y,A,T,k,w,S,E,M,C;const{defineElement:P,property:R,event:N}=(0,d.createDecorators)();let z;var I=new WeakMap,_=new WeakMap,B=new WeakMap,W=new WeakSet,F=new WeakMap;class j extends p.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,W),(0,r.A)(this,I,A(this)),(0,r.A)(this,_,(T(this),k(this))),(0,r.A)(this,B,(w(this),S(this))),(0,r.A)(this,F,(C(this),t=>{this.activeTab=t.id,(0,s.A)(W,this,E).emit(t)}))}get tabs(){return(0,c.A)(I,this)}set tabs(t){(0,l.A)(I,this,t)}get activeTab(){return(0,c.A)(_,this)}set activeTab(t){(0,l.A)(_,this,t)}render(){return h().createElement(O,{tabs:this.tabs,activeTab:this.activeTab,onTabClick:(0,c.A)(F,this)})}}function O(t){let{tabs:e,activeTab:a,onTabClick:n}=t;const i=(0,u.useRef)(null),r=(0,u.useRef)(null),o=(0,u.useRef)(null);return(0,u.useEffect)((()=>{const t=i.current,a=r.current,n=o.current;if(!(t&&a&&n&&null!=e&&e.length))return;const s=a.getContext("2d");if(!s)return;let l,c;const b=new m.A((e=>{for(const a of e)if(a.target===t){const t=q(a,"width"),e=q(a,"height");l=[t,e]}const i=Array.from(n.querySelectorAll(".tab")),r=i.find((t=>t.classList.contains("active")));if(!r)return;const o=r.getBoundingClientRect().width,b=0===i.indexOf(r);let u=0;if(!b){const t=n.getBoundingClientRect().left,e=r.getBoundingClientRect().left;u=e-t}c&&cancelAnimationFrame(c),c=requestAnimationFrame((()=>{l&&(0,v.A)(a,s,l[0],l[1],b,u,o)}))}));return b.observe(t),b.observe(n),()=>{b.disconnect(),c&&cancelAnimationFrame(c)}}),[e,a]),h().createElement("div",{className:"container",ref:i},h().createElement("canvas",{className:"bg",ref:r}),h().createElement("div",{className:"header"},h().createElement("ul",{className:"tabs",ref:o},null==e?void 0:e.map((t=>h().createElement("li",{key:t.id,part:"tab",className:g()("tab",{active:t.id===a})},h().createElement("a",{onClick:()=>n(t)},t.label))))),h().createElement("div",{className:"toolbar"},h().createElement("slot",{name:"toolbar"}))),h().createElement("div",{className:"body"},h().createElement("slot",null)))}function q(t,e){const a="height"===e?"blockSize":"inlineSize";return t.contentBoxSize?t.contentBoxSize[0]?t.contentBoxSize[0][a]:t.contentBoxSize[a]:t.contentRect[e]}n=j,({e:[A,T,k,w,S,E,M,C],c:[z,y]}=(0,b.A)(n,[P("ai-portal.flow-tabs",{styleTexts:[x.A]})],[[R({attribute:!1}),1,"tabs"],[R({attribute:!1}),1,"activeTab"],[N({type:"tab.click"}),1,"tabClick",t=>(0,c.A)(B,t),(t,e)=>(0,l.A)(B,t,e)]],0,(t=>F.has((0,o.A)(t))),p.ReactNextElement)),y()},53373:(t,e)=>{var a;!function(){"use strict";var n={}.hasOwnProperty;function i(){for(var t="",e=0;e<arguments.length;e++){var a=arguments[e];a&&(t=o(t,r(a)))}return t}function r(t){if("string"==typeof t||"number"==typeof t)return t;if("object"!=typeof t)return"";if(Array.isArray(t))return i.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var a in t)n.call(t,a)&&t[a]&&(e=o(e,a));return e}function o(t,e){return e?t?t+" "+e:t+e:t}t.exports?(i.default=i,t.exports=i):void 0===(a=function(){return i}.apply(e,[]))||(t.exports=a)}()},96487:(t,e,a)=>{"use strict";a.d(e,{A:()=>u});const n=window.devicePixelRatio||1,i=40,r=12,o=36*Math.PI/180,s=r*(1-Math.sin(o)),l=r*Math.cos(o),c=(i-2*s)*Math.tan(o),b=l+c/2;function u(t,e,a,u,h,d,p){t.width=a*n,t.height=u*n,t.style.width=`${a}px`,t.style.height=`${u}px`,e.scale(n,n),e.clearRect(0,0,a,u),e.fillStyle="rgba(255,255,255,0.5)";const f=e.createLinearGradient(0,0,0,u);f.addColorStop(0,"rgba(255,255,255,0.9)"),f.addColorStop(1,"rgba(255,255,255,0.4)"),e.lineWidth=1,e.strokeStyle=f;const g=a-1,m=u-1;if(e.translate(.5,.5),e.beginPath(),h)e.moveTo(0,r),e.arcTo(0,0,r,0,r);else{e.moveTo(0,r+i),e.arcTo(0,i,r,i,r);const t=d-b;e.lineTo(t,i),e.arc(t,i-r,r,Math.PI/2,o,!0),e.lineTo(t+l+c,s),e.arc(t+2*b,r,r,Math.PI+o,1.5*Math.PI,!1)}const v=d+p-b;e.lineTo(v,0),e.arc(v,r,r,1.5*Math.PI,2*Math.PI-o,!1),e.lineTo(v+l+c,i-s),e.arc(v+2*b,i-r,r,Math.PI-o,Math.PI/2,!0),e.lineTo(g-r,i),e.arcTo(g,i,g,i+r,r),e.lineTo(g,m-r),e.arcTo(g,m,g-r,m,r),e.lineTo(r,m),e.arcTo(0,m,0,m-r,r),e.closePath(),e.fill(),e.stroke()}}}]);
|
|
3
|
+
//# sourceMappingURL=flow-tabs.222a11ea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/flow-tabs.222a11ea.js","mappings":"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","sources":["webpack:///./src/flow-tabs/styles.shadow.css","webpack:///./src/flow-tabs/index.tsx","webpack:///../../node_modules/classnames/index.js","webpack:///./src/flow-tabs/drawBg.ts"],"sourcesContent":["// 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{position:relative}.bg{position:absolute;top:0;left:0;z-index:-1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header{display:flex;align-items:center;justify-content:space-between}.tabs{list-style:none;padding:0;margin:0;display:flex}.tabs .tab{padding:0 18px}.tabs a{display:block;padding:9px 10px;color:rgba(0,0,0,0.55);line-height:20px;cursor:pointer}.tabs .active a{font-weight:500;color:#262626}.body{padding:23px 27px;overflow-x:auto}.toolbar{display:flex;align-items:center;gap:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, { useEffect, useRef } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport drawBg from \"./drawBg\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface FlowTabsProps {\n tabs?: Tab[];\n activeTab?: string;\n}\n\nexport interface Tab {\n id: string;\n label: string;\n}\n\ntype SizeTuple = [width: number, height: number];\n\n/**\n * 构件 `ai-portal.flow-tabs`\n */\nexport\n@defineElement(\"ai-portal.flow-tabs\", {\n styleTexts: [styleText],\n})\nclass FlowTabs extends ReactNextElement implements FlowTabsProps {\n @property({ attribute: false })\n accessor tabs: Tab[] | undefined;\n\n @property({ attribute: false })\n accessor activeTab: string | undefined;\n\n @event({ type: \"tab.click\" })\n accessor #tabClick!: EventEmitter<Tab>;\n\n #handleTabClick = (tab: Tab) => {\n this.activeTab = tab.id;\n this.#tabClick.emit(tab);\n };\n\n render() {\n return (\n <FlowTabsComponent\n tabs={this.tabs}\n activeTab={this.activeTab}\n onTabClick={this.#handleTabClick}\n />\n );\n }\n}\n\ninterface FlowTabsComponentProps extends FlowTabsProps {\n onTabClick: (tab: Tab) => void;\n}\n\nfunction FlowTabsComponent({\n tabs,\n activeTab,\n onTabClick,\n}: FlowTabsComponentProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const bgRef = useRef<HTMLCanvasElement>(null);\n const tabsRef = useRef<HTMLUListElement>(null);\n\n useEffect(() => {\n const root = rootRef.current;\n const canvas = bgRef.current;\n const nav = tabsRef.current;\n if (!root || !canvas || !nav || !tabs?.length) return;\n\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n\n let rootSize: SizeTuple | undefined;\n\n let requestId: number | undefined;\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === root) {\n const width = getContentBoxSize(entry, \"width\");\n const height = getContentBoxSize(entry, \"height\");\n rootSize = [width, height];\n }\n }\n\n const tabElements = Array.from(nav.querySelectorAll(\".tab\"));\n const activeTabElement = tabElements.find((tab) =>\n tab.classList.contains(\"active\")\n );\n if (!activeTabElement) return;\n\n const tabWidth = activeTabElement.getBoundingClientRect().width;\n const activeTabIndex = tabElements.indexOf(activeTabElement);\n const isFirstTab = activeTabIndex === 0;\n let tabOffset = 0;\n if (!isFirstTab) {\n const tabsOffset = nav.getBoundingClientRect().left;\n const activeTabOffset = activeTabElement!.getBoundingClientRect().left;\n tabOffset = activeTabOffset - tabsOffset;\n }\n\n if (requestId) {\n cancelAnimationFrame(requestId);\n }\n requestId = requestAnimationFrame(() => {\n if (rootSize) {\n drawBg(\n canvas,\n ctx,\n rootSize[0],\n rootSize[1],\n isFirstTab,\n tabOffset,\n tabWidth\n );\n }\n });\n });\n observer.observe(root);\n observer.observe(nav);\n return () => {\n observer.disconnect();\n if (requestId) {\n cancelAnimationFrame(requestId);\n }\n };\n }, [tabs, activeTab]);\n\n return (\n <div className=\"container\" ref={rootRef}>\n <canvas className=\"bg\" ref={bgRef} />\n <div className=\"header\">\n <ul className=\"tabs\" ref={tabsRef}>\n {tabs?.map((tab) => (\n <li\n key={tab.id}\n part=\"tab\"\n className={classNames(\"tab\", { active: tab.id === activeTab })}\n >\n <a onClick={() => onTabClick(tab)}>{tab.label}</a>\n </li>\n ))}\n </ul>\n <div className=\"toolbar\">\n <slot name=\"toolbar\" />\n </div>\n </div>\n <div className=\"body\">\n <slot />\n </div>\n </div>\n );\n}\n\n// istanbul ignore next: compatibility code\nfunction getContentBoxSize(\n entry: ResizeObserverEntry,\n type: \"width\" | \"height\"\n): number {\n const boxSizeType = type === \"height\" ? \"blockSize\" : \"inlineSize\";\n const size = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0][boxSizeType]\n : (entry.contentBoxSize as unknown as ResizeObserverSize)[boxSizeType]\n : entry.contentRect[type];\n return size;\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 dpr = window.devicePixelRatio || 1;\n\nconst TAB_HEIGHT = 40;\nconst BORDER_RADIUS = 12;\nconst slopeAngle = (Math.PI * 36) / 180; // 36度角\nconst deltaY = BORDER_RADIUS * (1 - Math.sin(slopeAngle));\nconst deltaX = BORDER_RADIUS * Math.cos(slopeAngle);\nconst slopeHeight = TAB_HEIGHT - deltaY * 2;\nconst slopeWidth = slopeHeight * Math.tan(slopeAngle);\nconst offsetX = deltaX + slopeWidth / 2;\n\nexport default function drawBg(\n canvas: HTMLCanvasElement,\n ctx: CanvasRenderingContext2D,\n width: number,\n height: number,\n isFirstTab: boolean,\n tabOffset: number,\n tabWidth: number\n) {\n canvas.width = width * dpr;\n canvas.height = height * dpr;\n canvas.style.width = `${width}px`;\n canvas.style.height = `${height}px`;\n\n ctx.scale(dpr, dpr);\n\n ctx.clearRect(0, 0, width, height);\n\n ctx.fillStyle = \"rgba(255,255,255,0.5)\";\n\n // 创建渐变边框\n const borderGradient = ctx.createLinearGradient(0, 0, 0, height);\n borderGradient.addColorStop(0, \"rgba(255,255,255,0.9)\");\n borderGradient.addColorStop(1, \"rgba(255,255,255,0.4)\");\n\n ctx.lineWidth = 1;\n ctx.strokeStyle = borderGradient;\n\n const actualWidth = width - 1;\n const actualHeight = height - 1;\n\n ctx.translate(0.5, 0.5);\n ctx.beginPath();\n\n if (isFirstTab) {\n ctx.moveTo(0, BORDER_RADIUS);\n ctx.arcTo(0, 0, BORDER_RADIUS, 0, BORDER_RADIUS);\n } else {\n ctx.moveTo(0, BORDER_RADIUS + TAB_HEIGHT);\n ctx.arcTo(0, TAB_HEIGHT, BORDER_RADIUS, TAB_HEIGHT, BORDER_RADIUS);\n\n const upStartX = tabOffset - offsetX;\n ctx.lineTo(upStartX, TAB_HEIGHT);\n ctx.arc(\n upStartX,\n TAB_HEIGHT - BORDER_RADIUS,\n BORDER_RADIUS,\n Math.PI / 2,\n slopeAngle,\n true\n );\n\n ctx.lineTo(upStartX + deltaX + slopeWidth, deltaY);\n ctx.arc(\n upStartX + offsetX * 2,\n BORDER_RADIUS,\n BORDER_RADIUS,\n Math.PI + slopeAngle,\n Math.PI * 1.5,\n false\n );\n }\n\n const downStartX = tabOffset + tabWidth - offsetX;\n ctx.lineTo(downStartX, 0);\n ctx.arc(\n downStartX,\n BORDER_RADIUS,\n BORDER_RADIUS,\n Math.PI * 1.5,\n Math.PI * 2 - slopeAngle,\n false\n );\n\n ctx.lineTo(downStartX + deltaX + slopeWidth, TAB_HEIGHT - deltaY);\n ctx.arc(\n downStartX + offsetX * 2,\n TAB_HEIGHT - BORDER_RADIUS,\n BORDER_RADIUS,\n Math.PI - slopeAngle,\n Math.PI / 2,\n true\n );\n\n ctx.lineTo(actualWidth - BORDER_RADIUS, TAB_HEIGHT);\n ctx.arcTo(\n actualWidth,\n TAB_HEIGHT,\n actualWidth,\n TAB_HEIGHT + BORDER_RADIUS,\n BORDER_RADIUS\n );\n\n ctx.lineTo(actualWidth, actualHeight - BORDER_RADIUS);\n ctx.arcTo(\n actualWidth,\n actualHeight,\n actualWidth - BORDER_RADIUS,\n actualHeight,\n BORDER_RADIUS\n );\n\n ctx.lineTo(BORDER_RADIUS, actualHeight);\n ctx.arcTo(0, actualHeight, 0, actualHeight - BORDER_RADIUS, BORDER_RADIUS);\n\n ctx.closePath();\n\n ctx.fill();\n ctx.stroke();\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","defineElement","property","event","createDecorators","_FlowTabs","_A","WeakMap","_B","_C","_FlowTabs_brand","WeakSet","_handleTabClick","FlowTabs","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_tabs","_init_extra_tabs","_init_activeTab","_init_extra_activeTab","_init_tabClick","_init_extra_tabClick","tab","this","activeTab","_classPrivateGetter","_get_tabClick","emit","tabs","_classPrivateFieldGet","v","_classPrivateFieldSet","render","React","FlowTabsComponent","onTabClick","_ref","rootRef","useRef","bgRef","tabsRef","useEffect","root","current","canvas","nav","length","ctx","getContext","rootSize","requestId","observer","ResizeObserver","entries","entry","target","width","getContentBoxSize","height","tabElements","Array","from","querySelectorAll","activeTabElement","find","classList","contains","tabWidth","getBoundingClientRect","isFirstTab","indexOf","tabOffset","tabsOffset","left","activeTabOffset","cancelAnimationFrame","requestAnimationFrame","drawBg","observe","disconnect","className","ref","map","key","part","classNames","active","onClick","label","name","type","boxSizeType","contentBoxSize","contentRect","_FlowTabs2","e","_set_tabClick","c","_initClass","_applyDecs","styleTexts","styleText","attribute","o","_","has","_checkInRHS","hasOwn","hasOwnProperty","classes","i","arg","appendClass","parseValue","isArray","apply","Object","prototype","includes","call","value","newClass","exports","default","dpr","window","devicePixelRatio","TAB_HEIGHT","BORDER_RADIUS","slopeAngle","Math","PI","deltaY","sin","deltaX","cos","slopeWidth","tan","offsetX","style","scale","clearRect","fillStyle","borderGradient","createLinearGradient","addColorStop","lineWidth","strokeStyle","actualWidth","actualHeight","translate","beginPath","moveTo","arcTo","upStartX","lineTo","arc","downStartX","closePath","fill","stroke"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(()=>{var e,t,r,a,n,o,l,c,i,d,s,f,u,h,b,p,m,v,g,x,y,P,k,w={77736:(e,t,r)=>{Promise.all([r.e(3020),r.e(8135),r.e(6947),r.e(8324),r.e(161),r.e(8769),r.e(870),r.e(981),r.e(4419),r.e(2616),r.e(1030),r.e(7019),r.e(1302),r.e(348),r.e(2919),r.e(1321),r.e(9435),r.e(9655),r.e(6593),r.e(6201),r.e(1919),r.e(2142),r.e(8717),r.e(2084),r.e(7713)]).then(r.bind(r,9687))}},j={};function S(e){var t=j[e];if(void 0!==t)return t.exports;var r=j[e]={id:e,loaded:!1,exports:{}};return w[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=w,S.c=j,S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+e+"."+{114:"af61e48a",161:"6c50f07c",721:"f43de0ef",726:"392de709",843:"9b7325c3",871:"42c14164",879:"a469d051",948:"d125d58c",1045:"0906fc23",1120:"fd177648",1122:"95231c39",1136:"456f1c68",1215:"78630d79",1334:"aae33a33",1889:"b7766f77",1931:"2abee15e",1940:"afcdea49",2052:"ef23d12a",2084:"0e9751e7",2142:"0599aecd",2260:"9564eb16",2277:"b026624f",2432:"352ae272",2449:"b46fc22a",2508:"15c05669",2510:"91062655",2593:"783fb42e",3003:"a607b32b",3020:"acf9607e",3144:"4088b5d1",3171:"a0251432",3208:"0796f5be",3331:"bb7b4c1c",3419:"28287d23",3744:"ed6d0719",3816:"fc867cd4",3935:"3b6a2f5d",4041:"6b503155",4190:"7612613e",4228:"ea602510",4281:"ddad94d5",4306:"9e8251b7",4474:"5fd3e9c8",4491:"539d30f8",4609:"e21567a0",4658:"18d5ee4d",4735:"24157512",4765:"e2813cac",4837:"c7f9a784",5032:"2e4fb116",5065:"9616e9d3",5191:"ce5dfec4",5250:"5294dc23",5307:"28ab7643",5384:"564ae2e4",5399:"501fc322",5498:"298984c7",5548:"498b312d",5552:"84bdc597",5727:"93a1388d",5807:"0b926b80",5936:"5bba7f2f",6023:"843ea4a1",6029:"6fe4c192",6161:"d7e3ea42",6201:"610c66e3",6519:"3ce478ef",6530:"3c295a95",6593:"1afe9a04",6773:"afd27a30",6947:"1cec7258",7146:"1af0c62e",7302:"3117acc5",7353:"02afd00b",7367:"d389861e",7713:"278cfb8b",7721:"c985db03",7733:"dbb66cbc",7842:"d5a94411",8135:"3255c5ba",8231:"89b65f56",8263:"d9eaafab",8311:"69ab488d",8324:"5ac013ff",8348:"2fbb3b7e",8588:"0bce58e7",8633:"1b8bb39e",8717:"1e5ad2b1",8755:"1525c38d",8757:"5cde95c7",8936:"b9a73775",8989:"ddf83737",9034:"7ff08734",9251:"52df4857",9263:"affcdb7b",9515:"468a8527",9559:"3db56cb0",9599:"1f04dd1f",9634:"71192f72",9831:"f659ce60",9844:"c3062a6b"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/ai-portal:",S.l=(r,a,n,o)=>{if(e[r])e[r].push(a);else{var l,c;if(void 0!==n)for(var i=document.getElementsByTagName("script"),d=0;d<i.length;d++){var s=i[d];if(s.getAttribute("src")==r||s.getAttribute("data-webpack")==t+n){l=s;break}}l||(c=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",t+n),l.src=r),e[r]=[a];var f=(t,a)=>{l.onerror=l.onload=null,clearTimeout(u);var n=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),n&&n.forEach((e=>e(a))),t)return t(a)},u=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),c&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,a)=>{a||(a=[]);var n=t[r];if(n||(n=t[r]={}),!(a.indexOf(n)>=0)){if(a.push(n),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var o=S.S[r],l="@next-bricks/ai-portal",c=(e,t,r,a)=>{var n=o[e]=o[e]||{},c=n[t];(!c||!c.loaded&&(!a!=!c.eager?a:l>c.from))&&(n[t]={get:r,from:l,eager:!!a})},i=[];return"default"===r&&(c("@babel/parser","7.27.2",(()=>S.e(6773).then((()=>()=>S(46773))))),c("@easyops-cn/brick-next-pipes","0.7.6",(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(34306))))),c("@next-core/cook","2.5.12",(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(61122))))),c("@next-core/element","1.2.19",(()=>S.e(1045).then((()=>()=>S(21045))))),c("@next-core/http","1.2.14",(()=>S.e(8989).then((()=>()=>S(48989))))),c("@next-core/i18n","1.0.86",(()=>Promise.all([S.e(2616),S.e(7019),S.e(671),S.e(5552)]).then((()=>()=>S(75552))))),c("@next-core/inject","1.0.61",(()=>Promise.all([S.e(1030),S.e(9933),S.e(2277)]).then((()=>()=>S(72277))))),c("@next-core/loader","1.6.17",(()=>S.e(5399).then((()=>()=>S(35399))))),c("@next-core/pipes","2.0.36",(()=>Promise.all([S.e(1919),S.e(6519)]).then((()=>()=>S(76519))))),c("@next-core/react-element","1.0.38",(()=>Promise.all([S.e(8769),S.e(870),S.e(9435),S.e(114)]).then((()=>()=>S(20114))))),c("@next-core/react-runtime","1.7.39",(()=>Promise.all([S.e(8769),S.e(981),S.e(1030),S.e(348),S.e(4837)]).then((()=>()=>S(64837))))),c("@next-core/runtime","1.71.0",(()=>Promise.all([S.e(948),S.e(2616),S.e(1030),S.e(7019),S.e(1302),S.e(2919),S.e(1321),S.e(9655),S.e(5651)]).then((()=>()=>S(30948))))),c("@next-core/supply","2.3.9",(()=>Promise.all([S.e(1030),S.e(1302),S.e(9933),S.e(9559)]).then((()=>()=>S(49559))))),c("@next-core/theme","1.6.1",(()=>Promise.all([S.e(1889),S.e(2052)]).then((()=>()=>S(51889))))),c("@next-core/utils/general","1.8.7",(()=>S.e(871).then((()=>()=>S(40871))))),c("@next-core/utils/storyboard","1.8.7",(()=>Promise.all([S.e(1030),S.e(7019),S.e(1321),S.e(7146)]).then((()=>()=>S(97146))))),c("history","4.10.1",(()=>S.e(3003).then((()=>()=>S(65384))))),c("i18next-browser-languagedetector","7.2.2",(()=>S.e(726).then((()=>()=>S(50726))))),c("i18next","22.5.1",(()=>S.e(843).then((()=>()=>S(20843))))),c("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(19515))))),c("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(45250))))),c("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),c("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),c("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(43144))))),c("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(14041)))))),e[r]=i.length?Promise.all(i).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var a=r.length-1;a>-1&&(!e||!/^http(s?):/.test(e));)e=r[a--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),a=r[1]?t(r[1]):[];return r[2]&&(a.length++,a.push.apply(a,t(r[2]))),r[3]&&(a.push([]),a.push.apply(a,t(r[3]))),a},a=(e,t)=>{e=r(e),t=r(t);for(var a=0;;){if(a>=e.length)return a<t.length&&"u"!=(typeof t[a])[0];var n=e[a],o=(typeof n)[0];if(a>=t.length)return"u"==o;var l=t[a],c=(typeof l)[0];if(o!=c)return"o"==o&&"n"==c||"s"==c||"u"==o;if("o"!=o&&"u"!=o&&n!=l)return n<l;a++}},n=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var a=1,o=1;o<e.length;o++)a--,r+="u"==(typeof(c=e[o]))[0]?"-":(a>0?".":"")+(a=2,c);return r}var l=[];for(o=1;o<e.length;o++){var c=e[o];l.push(0===c?"not("+i()+")":1===c?"("+i()+" || "+i()+")":2===c?l.pop()+" "+l.pop():n(c))}return i();function i(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var a=e[0],n=a<0;n&&(a=-a-1);for(var l=0,c=1,i=!0;;c++,l++){var d,s,f=c<e.length?(typeof e[c])[0]:"";if(l>=t.length||"o"==(s=(typeof(d=t[l]))[0]))return!i||("u"==f?c>a&&!n:""==f!=n);if("u"==s){if(!i||"u"!=f)return!1}else if(i)if(f==s)if(c<=a){if(d!=e[c])return!1}else{if(n?d>e[c]:d<e[c])return!1;d!=e[c]&&(i=!1)}else if("s"!=f&&"n"!=f){if(n||c<=a)return!1;i=!1,c--}else{if(c<=a||s<f!=n)return!1;i=!1}else"s"!=f&&"n"!=f&&(i=!1,c--)}}var u=[],h=u.pop.bind(u);for(l=1;l<e.length;l++){var b=e[l];u.push(1==b?h()|h():2==b?h()&h():b?o(b,t):!h())}return!!h()},l=(e,t)=>e&&S.o(e,t),c=e=>(e.loaded=1,e.get()),i=e=>Object.keys(e).reduce(((t,r)=>(e[r].eager&&(t[r]=e[r]),t)),{}),d=(e,t,r,n)=>{var l=n?i(e[t]):e[t];return(t=Object.keys(l).reduce(((e,t)=>!o(r,t)||e&&!a(e,t)?e:t),0))&&l[t]},s=(e,t,r)=>{var n=r?i(e[t]):e[t];return Object.keys(n).reduce(((e,t)=>!e||!n[e].loaded&&a(e,t)?t:e),0)},f=(e,t,r,a)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+n(a)+")",u=(e,t,r,a,o)=>{var l=e[r];return"No satisfying version ("+n(a)+")"+(o?" for eager consumption":"")+" of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(l).map((e=>e+" from "+l[e].from)).join(", ")},h=e=>{throw new Error(e)},b=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},m=(e,t,r)=>r?r():((e,t)=>h("Shared module "+t+" doesn't exist in shared scope "+e))(e,t),v=(p=e=>function(t,r,a,n,o){var l=S.I(t);return l&&l.then&&!a?l.then(e.bind(e,t,S.S[t],r,!1,n,o)):e(t,S.S[t],r,a,n,o)})(((e,t,r,a,n,o)=>{if(!l(t,r))return m(e,r,o);var i=d(t,r,n,a);return i?c(i):o?o():void h(u(t,e,r,n,a))})),g=p(((e,t,r,a,n,i)=>{if(!l(t,r))return m(e,r,i);var d=s(t,r,a);return o(n,d)||b(f(t,r,d,n)),c(t[r][d])})),x={},y={18769:()=>v("default","react",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(14041))))),90870:()=>v("default","@next-core/element",!1,[1,1,2,19],(()=>S.e(1045).then((()=>()=>S(21045))))),30981:()=>v("default","@next-core/react-element",!1,[1,1,0,38],(()=>Promise.all([S.e(870),S.e(9435),S.e(7733)]).then((()=>()=>S(20114))))),34419:()=>g("default","@next-core/theme",!1,[1,1,6,1],(()=>S.e(1889).then((()=>()=>S(51889))))),52616:()=>g("default","@next-core/i18n",!1,[1,1,0,86],(()=>Promise.all([S.e(7019),S.e(671),S.e(3171)]).then((()=>()=>S(75552))))),41030:()=>g("default","lodash",!1,[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(45250))))),77019:()=>g("default","@next-core/utils/general",!1,[1,1,8,7],(()=>S.e(871).then((()=>()=>S(40871))))),21302:()=>g("default","moment",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(99420))))),30348:()=>g("default","@next-core/runtime",!1,[1,1,71,0],(()=>Promise.all([S.e(948),S.e(2616),S.e(1030),S.e(7019),S.e(1302),S.e(2919),S.e(1321),S.e(9655),S.e(5651)]).then((()=>()=>S(30948))))),22919:()=>g("default","@next-core/http",!1,[1,1,2,14],(()=>S.e(8989).then((()=>()=>S(48989))))),71321:()=>g("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(61122))))),59435:()=>v("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(43144))))),69655:()=>g("default","@next-core/utils/storyboard",!1,[1,1,8,7],(()=>S.e(4765).then((()=>()=>S(97146))))),60709:()=>v("default","@next-core/react-runtime",!1,[1,1,7,39],(()=>S.e(9599).then((()=>()=>S(64837))))),61919:()=>g("default","@easyops-cn/brick-next-pipes",!1,[2,0,7,3],(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(34306))))),55310:()=>g("default","js-yaml",!1,[0],(()=>S.e(9515).then((()=>()=>S(19515))))),40580:()=>g("default","@babel/parser",!1,[0],(()=>S.e(6773).then((()=>()=>S(46773))))),848:()=>g("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(50726))))),75630:()=>g("default","i18next",!1,[0],(()=>S.e(843).then((()=>()=>S(20843))))),59933:()=>g("default","@next-core/pipes",!1,[0],(()=>Promise.all([S.e(1919),S.e(6519)]).then((()=>()=>S(76519))))),11732:()=>g("default","history",!1,[0],(()=>S.e(3003).then((()=>()=>S(65384))))),26036:()=>g("default","moment/locale/zh-cn.js",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(61329))))),29283:()=>g("default","@next-core/inject",!1,[0],(()=>Promise.all([S.e(9933),S.e(4658)]).then((()=>()=>S(72277))))),45599:()=>g("default","@next-core/loader",!1,[0],(()=>S.e(5399).then((()=>()=>S(35399))))),94167:()=>g("default","@next-core/supply",!1,[0],(()=>Promise.all([S.e(9933),S.e(1940)]).then((()=>()=>S(49559)))))},P={348:[30348],580:[40580],671:[848,75630],870:[90870],981:[30981],1030:[41030],1302:[21302],1321:[71321],1919:[61919],2616:[52616],2919:[22919],4419:[34419],5310:[55310],5651:[11732,26036,29283,45599,94167],6201:[60709],7019:[77019],8769:[18769],9435:[59435],9655:[69655],9933:[59933]},k={},S.f.consumes=(e,t)=>{S.o(P,e)&&P[e].forEach((e=>{if(S.o(x,e))return t.push(x[e]);if(!k[e]){var r=t=>{x[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};k[e]=!0;var a=t=>{delete x[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var n=y[e]();n.then?t.push(x[e]=n.then(r).catch(a)):r(n)}catch(e){a(e)}}}))},(()=>{S.b=document.baseURI||self.location.href;var e={8792:0};S.f.j=(t,r)=>{var a=S.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(1(030|302|321|919)|5(310|651|80)|87(0|69)|9(435|655|81|933)|(29|44|70)19|2616|348|671)$/.test(t))e[t]=0;else{var n=new Promise(((r,n)=>a=e[t]=[r,n]));r.push(a[2]=n);var o=S.p+S.u(t),l=new Error;S.l(o,(r=>{if(S.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+n+": "+o+")",l.name="ChunkLoadError",l.type=n,l.request=o,a[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var a,n,[o,l,c]=r,i=0;if(o.some((t=>0!==e[t]))){for(a in l)S.o(l,a)&&(S.m[a]=l[a]);c&&c(S)}for(t&&t(r);i<o.length;i++)n=o[i],S.o(e,n)&&e[n]&&e[n][0](),e[n]=0},r=globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0,S(77736)})();
|
|
2
|
+
//# sourceMappingURL=main.72d51c8f.js.map
|