@next-bricks/ai-portal 0.40.0 → 0.40.2
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 +28 -28
- package/dist/chunks/{8176.2a3975e1.js → 8176.fe523596.js} +2 -2
- package/dist/chunks/8176.fe523596.js.map +1 -0
- package/dist/chunks/chat-box.6ae456b3.js +2 -0
- package/dist/chunks/chat-box.6ae456b3.js.map +1 -0
- package/dist/chunks/{chat-input.2bd1c748.js → chat-input.11a041ff.js} +3 -3
- package/dist/chunks/{chat-input.2bd1c748.js.map → chat-input.11a041ff.js.map} +1 -1
- package/dist/chunks/{goal-card-list.9866674c.js → goal-card-list.7a0aecb2.js} +3 -3
- package/dist/chunks/goal-card-list.7a0aecb2.js.map +1 -0
- package/dist/chunks/{main.1b2393f2.js → main.c1de70a9.js} +2 -2
- package/dist/chunks/{main.1b2393f2.js.map → main.c1de70a9.js.map} +1 -1
- package/dist/examples.json +11 -11
- package/dist/{index.890818f5.js → index.7b53be7d.js} +2 -2
- package/dist/{index.890818f5.js.map → index.7b53be7d.js.map} +1 -1
- package/dist/manifest.json +189 -189
- package/dist/types.json +72 -72
- package/dist-types/goal-card-list/CardItem/CardItem.d.ts +1 -1
- package/package.json +2 -2
- package/dist/chunks/8176.2a3975e1.js.map +0 -1
- package/dist/chunks/chat-box.37df7bc1.js +0 -2
- package/dist/chunks/chat-box.37df7bc1.js.map +0 -1
- package/dist/chunks/goal-card-list.9866674c.js.map +0 -1
- /package/dist/chunks/{chat-input.2bd1c748.js.LICENSE.txt → chat-input.11a041ff.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{goal-card-list.9866674c.js.LICENSE.txt → goal-card-list.7a0aecb2.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[6573],{433:(e,t,n)=>{n.d(t,{I:()=>s,K:()=>a,NS:()=>l,t:()=>u});var o=n(87117);let a=function(e){return e.ASK_ANY_THING="ASK_ANYTHING",e.COMMON_TASKS="COMMON_TASKS",e}({});const i={[a.ASK_ANY_THING]:"Ask anything",[a.COMMON_TASKS]:"Common tasks"},r={[a.ASK_ANY_THING]:"询问任何问题",[a.COMMON_TASKS]:"常用任务"},l="bricks/ai-portal/chat-box",s={en:i,zh:r},u=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:()=>a});var o=n(11369);function a(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),a=n.n(o),i=n(40935),r=n.n(i),l=n(20062),s=n.n(l),u=new URL(n(47336),n.b),c=r()(a()),d=s()(u);c.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}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}`,""]);const p=c.toString()},47336:(e,t,n)=>{e.exports=n.p+"images/25c20165.png"},67707:(e,t,n)=>{n.r(t),n.d(t,{ChatBox:()=>F,ChatBoxComponent:()=>V,LegacyChatBoxComponent:()=>D});var o,a=n(74635),i=n(70918),r=n(24586),l=n(26902),s=n(5536),u=n(86121),c=n(70829),d=n(62740),p=n(18769),h=n.n(p),b=n(7921),f=n(11280),m=n(71451),g=(n(65168),n(87117)),x=n(433),v=n(47008);let S,w,A,k,y,C,z,R,_,N,E,M;(0,g.initializeI18n)(x.NS,x.I);const K=(0,f.wrapBrick)("eo-icon"),{defineElement:T,property:B,event:H,method:I}=(0,b.createDecorators)(),V=(0,p.forwardRef)(D);let F;var O=new WeakMap,P=new WeakMap,W=new WeakMap,Y=new WeakMap,G=new WeakSet,$=new WeakMap;class j extends f.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,G),(0,r.A)(this,"ref",(S(this),(0,p.createRef)())),(0,i.A)(this,O,A(this)),(0,i.A)(this,P,(k(this),y(this))),(0,i.A)(this,W,(C(this),z(this))),(0,i.A)(this,Y,(R(this),_(this))),(0,i.A)(this,$,(M(this),e=>{(0,s.A)(G,this,N).emit(e)}))}get disabled(){return(0,c.A)(O,this)}set disabled(e){(0,u.A)(O,this,e)}get placeholder(){return(0,c.A)(P,this)}set placeholder(e){(0,u.A)(P,this,e)}get autoFocus(){return(0,c.A)(W,this)}set autoFocus(e){(0,u.A)(W,this,e)}setValue(e){var t;null===(t=this.ref.current)||void 0===t||t.setValue(e)}getValue(){var e;return null===(e=this.ref.current)||void 0===e?void 0:e.getValue()}render(){return h().createElement(V,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,onSubmit:(0,c.A)($,this),ref:this.ref})}}function D(e,t){let{disabled:n,placeholder:o,autoFocus:a,onSubmit:i}=e;const r=(0,p.useRef)(null),l=(0,p.useRef)(null),[s,u]=(0,p.useState)(""),c=(0,p.useRef)("");(0,p.useImperativeHandle)(t,(()=>({setValue:e=>{c.current=e,u(e)},getValue:()=>c.current})));const d=(0,p.useCallback)((e=>{e.currentTarget.value&&i(e.currentTarget.value)}),[i]),b=(0,p.useCallback)((e=>{c.current=e.target.value,u(e.target.value)}),[]),f=(0,p.useCallback)((()=>{i(c.current)}),[i]);return(0,p.useEffect)((()=>{a&&Promise.resolve().then((()=>{var e;null===(e=l.current)||void 0===e||e.focus()}))}),[]),h().createElement("div",{className:"root"},h().createElement("div",{className:"container",ref:r},h().createElement(m.e,{containerRef:r,ref:l,value:s,minRows:58/22,paddingSize:60,autoResize:!0,disabled:n,placeholder:null!=o?o:(0,x.t)(x.K.ASK_ANY_THING),submitWhen:"enter-without-shift",onSubmit:d,onChange:b}),h().createElement("div",{className:"actions-bar"},h().createElement("div",null,h().createElement("slot",{name:"actions"})),h().createElement("button",{className:"btn-send",disabled:!s,onClick:f},h().createElement(K,{lib:"fa",prefix:"fas",icon:"arrow-up"})))))}o=j,({e:[A,k,y,C,z,R,_,N,E,M,S],c:[F,w]}=(0,d.A)(o,[T("ai-portal.chat-box",{styleTexts:[v.A]})],[[B({type:Boolean}),1,"disabled"],[B(),1,"placeholder"],[B({type:Boolean}),1,"autoFocus"],[H({type:"message.submit"}),1,"messageSubmit",e=>(0,c.A)(Y,e),(e,t)=>(0,u.A)(Y,e,t)],[I(),2,"setValue"],[I(),2,"getValue"]],0,(e=>$.has((0,l.A)(e))),f.ReactNextElement)),w()},71451:(e,t,n)=>{n.d(t,{e:()=>c});var o=n(89575),a=n(18769),i=n(59435),r=n(99126);const l=["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"];let s;const u=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",c=a.forwardRef(d);function d(e,t){let{autoResize:n,minRows:c,maxRows:d,borderSize:p,paddingSize:h,containerRef:b,value:f,style:m,submitWhen:g,onChange:x,onSubmit:v,onKeyDown:S,onCompositionStart:w,onCompositionEnd:A,...k}=e;const y=null==n||n,[C,z]=(0,a.useState)(null!=f?f:""),R=(0,a.useRef)(null),[_,N]=(0,a.useState)(null);(0,a.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)}}})),[]);const E=(0,a.useCallback)((()=>{const e=R.current;if(e&&y){const t=function(e,t){const{minRows:n=null,maxRows:o=null,borderSize:a=2,paddingSize:i=8}=null!=t?t:{};s||(s=document.createElement("textarea"),s.setAttribute("tab-index","-1"),s.setAttribute("aria-hidden","true"),document.body.appendChild(s));const r=window.getComputedStyle(e),u=l.map((e=>`${e}:${r.getPropertyValue(e)}`)).join(";");let c,d,p;s.setAttribute("style",`${u};\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 right: 0!important;\n pointer-events: none!important;\n`),s.value=e.value||e.placeholder||"";let h=s.scrollHeight+a;if(null!==n||null!==o){const e=parseFloat(window.getComputedStyle(s).getPropertyValue("line-height"));null!==n&&(c=e*n+i+a,h=Math.max(c,h)),null!==o&&(d=e*o+i+a,h<=d&&(p="hidden"),h=Math.min(d,h))}const b={height:h,overflowY:p,resize:"none"};return c&&(b.minHeight=c),d&&(b.maxHeight=d),b}(e,{minRows:c,maxRows:d,borderSize:p,paddingSize:h});(0,i.flushSync)((()=>{N(t)}))}}),[y,d,c,p,h]);(0,a.useEffect)((()=>{z(null!=f?f:"")}),[f]),(0,a.useEffect)((()=>{E()}),[E,C]);const M=(0,a.useRef)(!1),K=(0,a.useCallback)((e=>{M.current=!0,null==w||w(e)}),[w]),T=(0,a.useCallback)((e=>{M.current=!1,null==A||A(e)}),[A]),B=(0,a.useCallback)((e=>{M.current||("Enter"===e.key&&("enter-without-shift"===g?!e.shiftKey:"enter-with-mod"===g&&e[u])&&(e.preventDefault(),e.stopPropagation(),null==v||v(e)),null==S||S(e))}),[S,v,g]);return(0,a.useEffect)((()=>{const e=null==b?void 0:b.current;if(!e||!y)return;let t;const n=new r.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(E)}}}));return n.observe(e),()=>{n.disconnect()}}),[y,b,E]),a.createElement("textarea",(0,o.A)({},k,{ref:R,value:C,style:{...m,..._},onChange:e=>{z(e.target.value),null==x||x(e)},onCompositionStart:K,onCompositionEnd:T,onKeyDown:B}))}}}]);
|
|
2
|
+
//# sourceMappingURL=chat-box.6ae456b3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/chat-box.6ae456b3.js","mappings":"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","sources":["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/chat-box/index.tsx","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../src/TextareaAutoResize.tsx"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ASK_ANY_THING = \"ASK_ANYTHING\",\n COMMON_TASKS = \"COMMON_TASKS\",\n}\n\nconst en: Locale = {\n [K.ASK_ANY_THING]: \"Ask anything\",\n [K.COMMON_TASKS]: \"Common tasks\",\n};\n\nconst zh: Locale = {\n [K.ASK_ANY_THING]: \"询问任何问题\",\n [K.COMMON_TASKS]: \"常用任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-box\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","import 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}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n useImperativeHandle,\n createRef,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\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}\n\nexport interface ChatBoxRef {\n setValue: (value: string) => void;\n getValue: () => string;\n}\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText],\n})\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 @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n @method()\n setValue(value: string) {\n this.ref.current?.setValue(value);\n }\n\n @method()\n getValue() {\n return this.ref.current?.getValue();\n }\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n onSubmit={this.#handleMessageSubmit}\n ref={this.ref}\n />\n );\n }\n}\n\nexport interface ChatBoxComponentProps extends ChatBoxProps {\n // Define react event handlers here.\n onSubmit: (value: string) => void;\n ref?: React.Ref<ChatBoxRef>;\n}\n\nexport function LegacyChatBoxComponent(\n { disabled, placeholder, autoFocus, onSubmit }: 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\n useImperativeHandle(ref, () => ({\n setValue: (value: string) => {\n valueRef.current = value;\n setValue(value);\n },\n getValue: () => {\n return valueRef.current;\n },\n }));\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value) {\n onSubmit(e.currentTarget.value);\n }\n },\n [onSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onSubmit(valueRef.current);\n }, [onSubmit]);\n\n useEffect(\n () => {\n if (autoFocus) {\n Promise.resolve().then(() => {\n textareaRef.current?.focus();\n });\n }\n },\n // One-time focus\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n 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 onSubmit={handleSubmit}\n onChange={handleChange}\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 </div>\n </div>\n );\n}\n","// istanbul ignore file\nimport type React from \"react\";\n\nconst HIDDEN_TEXTAREA_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 right: 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\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 const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\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","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\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}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\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 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 }),\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 (\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?.(e);\n },\n [onKeyDown, onSubmit, submitWhen]\n );\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"],"names":["K","en","ASK_ANY_THING","COMMON_TASKS","zh","NS","locales","t","i18n","getFixedT","module","exports","url","options","String","__esModule","default","test","slice","hash","needQuotes","concat","replace","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","toString","initializeI18n","WrappedIcon","wrapBrick","defineElement","property","event","method","createDecorators","ChatBoxComponent","forwardRef","LegacyChatBoxComponent","_ChatBox","_A","WeakMap","_B","_C","_D","_ChatBox_brand","WeakSet","_handleMessageSubmit","ChatBox","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_initProto","createRef","_classPrivateFieldInitSpec","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_messageSubmit","_init_extra_messageSubmit","_classPrivateGetter","this","_get_messageSubmit","emit","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","placeholder","autoFocus","setValue","_this$ref$current","ref","current","getValue","_this$ref$current2","render","React","onSubmit","_ref","containerRef","useRef","textareaRef","useState","valueRef","useImperativeHandle","handleSubmit","useCallback","e","currentTarget","handleChange","target","handleSubmitClick","useEffect","Promise","resolve","then","_textareaRef$current","focus","className","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","onChange","name","onClick","lib","prefix","icon","_ChatBox2","_set_messageSubmit","c","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","o","_","has","_checkInRHS","SIZING_STYLE","hiddenTextarea","modKey","navigator","platform","LegacyTextareaAutoResize","_autoResize","maxRows","borderSize","propValue","style","onKeyDown","onCompositionStart","onCompositionEnd","props","autoStyle","setAutoStyle","textarea","_textarea$value","valueLength","length","setSelectionRange","doAutoResize","uiTextNode","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","map","getPropertyValue","join","minHeight","maxHeight","overflowY","height","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","calculateAutoSizeStyle","flushSync","compositionRef","handleCompositionStart","handleCompositionEnd","handleKeyDown","shiftKey","preventDefault","stopPropagation","container","previousInlineSize","observer","ResizeObserver","entries","entry","currentInlineSize","contentBoxSize","inlineSize","contentRect","width","undefined","isInitial","requestAnimationFrame","observe","disconnect","_extends"],"sourceRoot":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see chat-input.
|
|
2
|
-
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[7218],{6798:(e,t,n)=>{"use strict";n.d(t,{I:()=>a,K:()=>o,NS:()=>r,t:()=>s});var i=n(87117);let o=function(e){return e.TERMINATE_THE_TASK="TERMINATE_THE_TASK",e}({});const r="bricks/ai-portal/chat-input",a={en:{TERMINATE_THE_TASK:"Terminate the task"},zh:{TERMINATE_THE_TASK:"终止任务"}},s=i.i18n.getFixedT(null,r)},6988:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ChatInput:()=>G});var i,o=n(74635),r=n(70918),a=n(26902),s=n(5536),l=n(86121),c=n(70829),u=n(62740),p=n(18769),d=n.n(p),h=n(7921),b=n(11280),f=n(71451),m=(n(65168),n(87117)),g=n(99126),x=n(53373),v=n.n(x),w=n(6798),A=n(84479);let S,k,E,y,T,z,R,C,M,_,B,N,K,W,H,D,F,I,P;(0,m.initializeI18n)(w.NS,w.I);const j={lib:"antd",icon:"loading-3-quarters",spinning:!0},$={lib:"fa",prefix:"far",icon:"circle-stop"},q=(0,b.wrapBrick)("eo-icon"),L=(0,b.wrapBrick)("ai-portal.icon-button"),{defineElement:O,property:V,event:Y}=(0,h.createDecorators)();let G;var J=new WeakMap,Q=new WeakMap,U=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakSet,ne=new WeakMap,ie=new WeakMap,oe=new WeakMap;class re extends b.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,te),(0,r.A)(this,J,k(this)),(0,r.A)(this,Q,(E(this),y(this))),(0,r.A)(this,U,(T(this),z(this))),(0,r.A)(this,X,(R(this),C(this))),(0,r.A)(this,Z,(M(this),_(this))),(0,r.A)(this,ee,(B(this),N(this))),(0,r.A)(this,ne,(H(this),e=>{(0,s.A)(te,this,K).emit(e)})),(0,r.A)(this,ie,D(this)),(0,r.A)(this,oe,(P(this),()=>{(0,s.A)(te,this,F).emit()}))}get placeholder(){return(0,c.A)(J,this)}set placeholder(e){(0,l.A)(J,this,e)}get autoFocus(){return(0,c.A)(Q,this)}set autoFocus(e){(0,l.A)(Q,this,e)}get submitDisabled(){return(0,c.A)(U,this)}set submitDisabled(e){(0,l.A)(U,this,e)}get supportsTerminate(){return(0,c.A)(X,this)}set supportsTerminate(e){(0,l.A)(X,this,e)}get terminating(){return(0,c.A)(Z,this)}set terminating(e){(0,l.A)(Z,this,e)}render(){return d().createElement(ae,{placeholder:this.placeholder,autoFocus:this.autoFocus,submitDisabled:this.submitDisabled,supportsTerminate:this.supportsTerminate,terminating:this.terminating,onSubmit:(0,c.A)(ne,this),onTerminate:(0,c.A)(oe,this)})}}function ae(e){let{placeholder:t,autoFocus:n,submitDisabled:i,supportsTerminate:o,terminating:r,onSubmit:a,onTerminate:s}=e;const l=(0,p.useRef)(null),c=(0,p.useRef)(null),[u,h]=(0,p.useState)(""),b=(0,p.useRef)(""),[m,x]=(0,p.useState)(!1);(0,p.useEffect)((()=>{var e;n&&!i&&(null===(e=c.current)||void 0===e||e.focus())}),[n,i]);const A=(0,p.useCallback)((e=>{!i&&e&&(a(e),b.current="",h(""))}),[i,a]),S=(0,p.useCallback)((e=>{A(e.currentTarget.value)}),[A]),k=(0,p.useCallback)((e=>{b.current=e.target.value,h(e.target.value)}),[]),E=(0,p.useCallback)((()=>{A(b.current)}),[A]);(0,p.useEffect)((()=>{const e=null==l?void 0:l.current;if(!e)return;const t=new g.A((t=>{for(const n of t)n.target===e&&(n.contentBoxSize?n.contentBoxSize[0]?n.contentBoxSize[0].blockSize:n.contentBoxSize.blockSize:n.contentRect.height)>52&&x(!0)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,p.useEffect)((()=>{u||x(!1)}),[u]);const y=(0,p.useCallback)((e=>{var t;for(const t of e.nativeEvent.composedPath())if(t instanceof HTMLTextAreaElement||t instanceof HTMLButtonElement)return;null===(t=c.current)||void 0===t||t.focus()}),[]);return d().createElement("div",{className:"container",onClick:y},d().createElement("div",{className:v()("box",{wrap:m})},d().createElement("div",{className:"input",ref:l},d().createElement(f.e,{containerRef:l,ref:c,value:u,minRows:1,maxRows:4,borderSize:0,paddingSize:16,autoResize:!0,placeholder:t,submitWhen:"enter-without-shift",onSubmit:S,onChange:k})),d().createElement("div",{className:"toolbar"},i&&o?d().createElement(d().Fragment,null,r?d().createElement(L,{icon:j,disabled:!0}):d().createElement(L,{icon:$,tooltip:(0,w.t)(w.K.TERMINATE_THE_TASK),onClick:s})):d().createElement("button",{className:"btn-send",disabled:i||!u,onClick:E},d().createElement(q,{lib:"fa",icon:"arrow-up"})))))}i=re,({e:[k,E,y,T,z,R,C,M,_,B,N,K,W,H,D,F,I,P],c:[G,S]}=(0,u.A)(i,[O("ai-portal.chat-input",{styleTexts:[A.A]})],[[V(),1,"placeholder"],[V({type:Boolean}),1,"autoFocus"],[V({type:Boolean}),1,"submitDisabled"],[V({type:Boolean}),1,"supportsTerminate"],[V({type:Boolean}),1,"terminating"],[Y({type:"message.submit"}),1,"messageSubmit",e=>(0,c.A)(ee,e),(e,t)=>(0,l.A)(ee,e,t)],[Y({type:"terminate"}),1,"terminate",e=>(0,c.A)(ie,e),(e,t)=>(0,l.A)(ie,e,t)]],0,(e=>oe.has((0,a.A)(e))),b.ReactNextElement)),S()},53373:(e,t)=>{var n;!function(){"use strict";var i={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(e,r(n)))}return e}function r(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)i.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},71451:(e,t,n)=>{"use strict";n.d(t,{e:()=>u});var i=n(89575),o=n(18769),r=n(59435),a=n(99126);const s=["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"];let l;const c=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",u=o.forwardRef(p);function p(e,t){let{autoResize:n,minRows:u,maxRows:p,borderSize:d,paddingSize:h,containerRef:b,value:f,style:m,submitWhen:g,onChange:x,onSubmit:v,onKeyDown:w,onCompositionStart:A,onCompositionEnd:S,...k}=e;const E=null==n||n,[y,T]=(0,o.useState)(null!=f?f:""),z=(0,o.useRef)(null),[R,C]=(0,o.useState)(null);(0,o.useImperativeHandle)(t,(()=>({focus:()=>{const e=z.current;if(e){var t;const n=null===(t=e.value)||void 0===t?void 0:t.length;e.focus(),n&&e.setSelectionRange(n,n)}}})),[]);const M=(0,o.useCallback)((()=>{const e=z.current;if(e&&E){const t=function(e,t){const{minRows:n=null,maxRows:i=null,borderSize:o=2,paddingSize:r=8}=null!=t?t:{};l||(l=document.createElement("textarea"),l.setAttribute("tab-index","-1"),l.setAttribute("aria-hidden","true"),document.body.appendChild(l));const a=window.getComputedStyle(e),c=s.map((e=>`${e}:${a.getPropertyValue(e)}`)).join(";");let u,p,d;l.setAttribute("style",`${c};\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 right: 0!important;\n pointer-events: none!important;\n`),l.value=e.value||e.placeholder||"";let h=l.scrollHeight+o;if(null!==n||null!==i){const e=parseFloat(window.getComputedStyle(l).getPropertyValue("line-height"));null!==n&&(u=e*n+r+o,h=Math.max(u,h)),null!==i&&(p=e*i+r+o,h<=p&&(d="hidden"),h=Math.min(p,h))}const b={height:h,overflowY:d,resize:"none"};return u&&(b.minHeight=u),p&&(b.maxHeight=p),b}(e,{minRows:u,maxRows:p,borderSize:d,paddingSize:h});(0,r.flushSync)((()=>{C(t)}))}}),[E,p,u,d,h]);(0,o.useEffect)((()=>{T(null!=f?f:"")}),[f]),(0,o.useEffect)((()=>{M()}),[M,y]);const _=(0,o.useRef)(!1),B=(0,o.useCallback)((e=>{_.current=!0,null==A||A(e)}),[A]),N=(0,o.useCallback)((e=>{_.current=!1,null==S||S(e)}),[S]),K=(0,o.useCallback)((e=>{_.current||("Enter"===e.key&&("enter-without-shift"===g?!e.shiftKey:"enter-with-mod"===g&&e[c])&&(e.preventDefault(),e.stopPropagation(),null==v||v(e)),null==w||w(e))}),[w,v,g]);return(0,o.useEffect)((()=>{const e=null==b?void 0:b.current;if(!e||!E)return;let t;const n=new a.A((n=>{for(const i of n)if(i.target===e){const e=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].inlineSize:i.contentBoxSize.inlineSize:i.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(M)}}}));return n.observe(e),()=>{n.disconnect()}}),[E,b,M]),o.createElement("textarea",(0,i.A)({},k,{ref:z,value:y,style:{...m,...R},onChange:e=>{T(e.target.value),null==x||x(e)},onCompositionStart:B,onCompositionEnd:N,onKeyDown:K}))}},84479:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var i=n(36758),o=n.n(i),r=n(40935),a=n.n(r)()(o());a.push([e.id,":host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:5px 0 5px 8px;margin-left:auto;display:flex;align-items:center;gap:2px}.btn-send:focus,\ntextarea:focus{outline:none}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff}.btn-send:disabled{background:rgba(0,0,0,0.15)}.btn-send:not(:disabled){cursor:pointer}.btn-send:not(:disabled):hover{background:#5166ff}.btn-send:not(:disabled):active{background:#1e33cc}",""]);const s=a.toString()}}]);
|
|
3
|
-
//# sourceMappingURL=chat-input.
|
|
1
|
+
/*! For license information please see chat-input.11a041ff.js.LICENSE.txt */
|
|
2
|
+
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[7218],{6798:(e,t,n)=>{"use strict";n.d(t,{I:()=>a,K:()=>o,NS:()=>r,t:()=>s});var i=n(87117);let o=function(e){return e.TERMINATE_THE_TASK="TERMINATE_THE_TASK",e}({});const r="bricks/ai-portal/chat-input",a={en:{TERMINATE_THE_TASK:"Terminate the task"},zh:{TERMINATE_THE_TASK:"终止任务"}},s=i.i18n.getFixedT(null,r)},6988:(e,t,n)=>{"use strict";n.r(t),n.d(t,{ChatInput:()=>G});var i,o=n(74635),r=n(70918),a=n(26902),s=n(5536),l=n(86121),c=n(70829),u=n(62740),p=n(18769),d=n.n(p),h=n(7921),b=n(11280),f=n(71451),m=(n(65168),n(87117)),g=n(99126),x=n(53373),v=n.n(x),w=n(6798),A=n(84479);let S,k,E,y,T,z,R,C,M,_,B,N,K,W,H,D,F,I,P;(0,m.initializeI18n)(w.NS,w.I);const j={lib:"antd",icon:"loading-3-quarters",spinning:!0},$={lib:"fa",prefix:"far",icon:"circle-stop"},q=(0,b.wrapBrick)("eo-icon"),L=(0,b.wrapBrick)("ai-portal.icon-button"),{defineElement:O,property:V,event:Y}=(0,h.createDecorators)();let G;var J=new WeakMap,Q=new WeakMap,U=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakSet,ne=new WeakMap,ie=new WeakMap,oe=new WeakMap;class re extends b.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,te),(0,r.A)(this,J,k(this)),(0,r.A)(this,Q,(E(this),y(this))),(0,r.A)(this,U,(T(this),z(this))),(0,r.A)(this,X,(R(this),C(this))),(0,r.A)(this,Z,(M(this),_(this))),(0,r.A)(this,ee,(B(this),N(this))),(0,r.A)(this,ne,(H(this),e=>{(0,s.A)(te,this,K).emit(e)})),(0,r.A)(this,ie,D(this)),(0,r.A)(this,oe,(P(this),()=>{(0,s.A)(te,this,F).emit()}))}get placeholder(){return(0,c.A)(J,this)}set placeholder(e){(0,l.A)(J,this,e)}get autoFocus(){return(0,c.A)(Q,this)}set autoFocus(e){(0,l.A)(Q,this,e)}get submitDisabled(){return(0,c.A)(U,this)}set submitDisabled(e){(0,l.A)(U,this,e)}get supportsTerminate(){return(0,c.A)(X,this)}set supportsTerminate(e){(0,l.A)(X,this,e)}get terminating(){return(0,c.A)(Z,this)}set terminating(e){(0,l.A)(Z,this,e)}render(){return d().createElement(ae,{placeholder:this.placeholder,autoFocus:this.autoFocus,submitDisabled:this.submitDisabled,supportsTerminate:this.supportsTerminate,terminating:this.terminating,onSubmit:(0,c.A)(ne,this),onTerminate:(0,c.A)(oe,this)})}}function ae(e){let{placeholder:t,autoFocus:n,submitDisabled:i,supportsTerminate:o,terminating:r,onSubmit:a,onTerminate:s}=e;const l=(0,p.useRef)(null),c=(0,p.useRef)(null),[u,h]=(0,p.useState)(""),b=(0,p.useRef)(""),[m,x]=(0,p.useState)(!1);(0,p.useEffect)((()=>{var e;n&&!i&&(null===(e=c.current)||void 0===e||e.focus())}),[n,i]);const A=(0,p.useCallback)((e=>{!i&&e&&(a(e),b.current="",h(""))}),[i,a]),S=(0,p.useCallback)((e=>{A(e.currentTarget.value)}),[A]),k=(0,p.useCallback)((e=>{b.current=e.target.value,h(e.target.value)}),[]),E=(0,p.useCallback)((()=>{A(b.current)}),[A]);(0,p.useEffect)((()=>{const e=null==l?void 0:l.current;if(!e)return;const t=new g.A((t=>{for(const n of t)n.target===e&&(n.contentBoxSize?n.contentBoxSize[0]?n.contentBoxSize[0].blockSize:n.contentBoxSize.blockSize:n.contentRect.height)>52&&x(!0)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,p.useEffect)((()=>{u||x(!1)}),[u]);const y=(0,p.useCallback)((e=>{var t;for(const t of e.nativeEvent.composedPath())if(t instanceof HTMLTextAreaElement||t instanceof HTMLButtonElement)return;null===(t=c.current)||void 0===t||t.focus()}),[]);return d().createElement("div",{className:"container",onClick:y},d().createElement("div",{className:v()("box",{wrap:m})},d().createElement("div",{className:"input",ref:l},d().createElement(f.e,{containerRef:l,ref:c,value:u,minRows:1,maxRows:4,borderSize:0,paddingSize:16,autoResize:!0,placeholder:t,submitWhen:"enter-without-shift",onSubmit:S,onChange:k})),d().createElement("div",{className:"toolbar"},i&&o?d().createElement(d().Fragment,null,r?d().createElement(L,{icon:j,disabled:!0}):d().createElement(L,{icon:$,tooltip:(0,w.t)(w.K.TERMINATE_THE_TASK),onClick:s})):d().createElement("button",{className:"btn-send",disabled:i||!u,onClick:E},d().createElement(q,{lib:"fa",icon:"arrow-up"})))))}i=re,({e:[k,E,y,T,z,R,C,M,_,B,N,K,W,H,D,F,I,P],c:[G,S]}=(0,u.A)(i,[O("ai-portal.chat-input",{styleTexts:[A.A]})],[[V(),1,"placeholder"],[V({type:Boolean}),1,"autoFocus"],[V({type:Boolean}),1,"submitDisabled"],[V({type:Boolean}),1,"supportsTerminate"],[V({type:Boolean}),1,"terminating"],[Y({type:"message.submit"}),1,"messageSubmit",e=>(0,c.A)(ee,e),(e,t)=>(0,l.A)(ee,e,t)],[Y({type:"terminate"}),1,"terminate",e=>(0,c.A)(ie,e),(e,t)=>(0,l.A)(ie,e,t)]],0,(e=>oe.has((0,a.A)(e))),b.ReactNextElement)),S()},53373:(e,t)=>{var n;!function(){"use strict";var i={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(e,r(n)))}return e}function r(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)i.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},71451:(e,t,n)=>{"use strict";n.d(t,{e:()=>u});var i=n(89575),o=n(18769),r=n(59435),a=n(99126);const s=["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"];let l;const c=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",u=o.forwardRef(p);function p(e,t){let{autoResize:n,minRows:u,maxRows:p,borderSize:d,paddingSize:h,containerRef:b,value:f,style:m,submitWhen:g,onChange:x,onSubmit:v,onKeyDown:w,onCompositionStart:A,onCompositionEnd:S,...k}=e;const E=null==n||n,[y,T]=(0,o.useState)(null!=f?f:""),z=(0,o.useRef)(null),[R,C]=(0,o.useState)(null);(0,o.useImperativeHandle)(t,(()=>({focus:()=>{const e=z.current;if(e){var t;const n=null===(t=e.value)||void 0===t?void 0:t.length;e.focus(),n&&e.setSelectionRange(n,n)}}})),[]);const M=(0,o.useCallback)((()=>{const e=z.current;if(e&&E){const t=function(e,t){const{minRows:n=null,maxRows:i=null,borderSize:o=2,paddingSize:r=8}=null!=t?t:{};l||(l=document.createElement("textarea"),l.setAttribute("tab-index","-1"),l.setAttribute("aria-hidden","true"),document.body.appendChild(l));const a=window.getComputedStyle(e),c=s.map((e=>`${e}:${a.getPropertyValue(e)}`)).join(";");let u,p,d;l.setAttribute("style",`${c};\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 right: 0!important;\n pointer-events: none!important;\n`),l.value=e.value||e.placeholder||"";let h=l.scrollHeight+o;if(null!==n||null!==i){const e=parseFloat(window.getComputedStyle(l).getPropertyValue("line-height"));null!==n&&(u=e*n+r+o,h=Math.max(u,h)),null!==i&&(p=e*i+r+o,h<=p&&(d="hidden"),h=Math.min(p,h))}const b={height:h,overflowY:d,resize:"none"};return u&&(b.minHeight=u),p&&(b.maxHeight=p),b}(e,{minRows:u,maxRows:p,borderSize:d,paddingSize:h});(0,r.flushSync)((()=>{C(t)}))}}),[E,p,u,d,h]);(0,o.useEffect)((()=>{T(null!=f?f:"")}),[f]),(0,o.useEffect)((()=>{M()}),[M,y]);const _=(0,o.useRef)(!1),B=(0,o.useCallback)((e=>{_.current=!0,null==A||A(e)}),[A]),N=(0,o.useCallback)((e=>{_.current=!1,null==S||S(e)}),[S]),K=(0,o.useCallback)((e=>{_.current||("Enter"===e.key&&("enter-without-shift"===g?!e.shiftKey:"enter-with-mod"===g&&e[c])&&(e.preventDefault(),e.stopPropagation(),null==v||v(e)),null==w||w(e))}),[w,v,g]);return(0,o.useEffect)((()=>{const e=null==b?void 0:b.current;if(!e||!E)return;let t;const n=new a.A((n=>{for(const i of n)if(i.target===e){const e=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].inlineSize:i.contentBoxSize.inlineSize:i.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(M)}}}));return n.observe(e),()=>{n.disconnect()}}),[E,b,M]),o.createElement("textarea",(0,i.A)({},k,{ref:z,value:y,style:{...m,...R},onChange:e=>{T(e.target.value),null==x||x(e)},onCompositionStart:B,onCompositionEnd:N,onKeyDown:K}))}},84479:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var i=n(36758),o=n.n(i),r=n(40935),a=n.n(r)()(o());a.push([e.id,":host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font:inherit;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:5px 0 5px 8px;margin-left:auto;display:flex;align-items:center;gap:2px}.btn-send:focus,\ntextarea:focus{outline:none}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff}.btn-send:disabled{background:rgba(0,0,0,0.15)}.btn-send:not(:disabled){cursor:pointer}.btn-send:not(:disabled):hover{background:#5166ff}.btn-send:not(:disabled):active{background:#1e33cc}",""]);const s=a.toString()}}]);
|
|
3
|
+
//# sourceMappingURL=chat-input.11a041ff.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-input.2bd1c748.js","mappings":"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","sources":["webpack:///./src/chat-input/i18n.ts","webpack:///./src/chat-input/index.tsx","webpack:///../../node_modules/classnames/index.js","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../src/TextareaAutoResize.tsx","webpack:///./src/chat-input/styles.shadow.css"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n TERMINATE_THE_TASK = \"TERMINATE_THE_TASK\",\n}\n\nconst en: Locale = {\n TERMINATE_THE_TASK: \"Terminate the task\",\n};\n\nconst zh: Locale = {\n TERMINATE_THE_TASK: \"终止任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-input\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst ICON_LOADING: GeneralIconProps = {\n lib: \"antd\",\n icon: \"loading-3-quarters\",\n spinning: true,\n};\n\nconst ICON_STOP: GeneralIconProps = {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n};\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatInputProps {\n placeholder?: string;\n autoFocus?: boolean;\n submitDisabled?: boolean;\n supportsTerminate?: boolean;\n terminating?: boolean;\n}\n\nexport interface ChatInputEvents {\n \"message.submit\": CustomEvent<string>;\n terminate: Event;\n}\n\nexport interface ChatInputMapEvents {\n onMessageSubmit: \"message.submit\";\n onTerminate: \"terminate\";\n}\n\n/**\n * 构件 `ai-portal.chat-input`\n */\nexport\n@defineElement(\"ai-portal.chat-input\", {\n styleTexts: [styleText],\n})\nclass ChatInput extends ReactNextElement implements ChatInputProps {\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ type: Boolean })\n accessor submitDisabled: boolean | undefined;\n\n @property({ type: Boolean })\n accessor supportsTerminate: boolean | undefined;\n\n @property({ type: Boolean })\n accessor terminating: boolean | undefined;\n\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n @event({ type: \"terminate\" })\n accessor #terminate!: EventEmitter<void>;\n\n #handleTerminate = () => {\n this.#terminate.emit();\n };\n\n render() {\n return (\n <ChatInputComponent\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n submitDisabled={this.submitDisabled}\n supportsTerminate={this.supportsTerminate}\n terminating={this.terminating}\n onSubmit={this.#handleMessageSubmit}\n onTerminate={this.#handleTerminate}\n />\n );\n }\n}\n\ninterface ChatInputComponentProps extends ChatInputProps {\n onSubmit: (value: string) => void;\n onTerminate: () => void;\n}\n\nfunction ChatInputComponent({\n placeholder,\n autoFocus,\n submitDisabled,\n supportsTerminate,\n terminating,\n onSubmit,\n onTerminate,\n}: ChatInputComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [wrap, setWrap] = useState(false);\n\n useEffect(() => {\n if (autoFocus && !submitDisabled) {\n textareaRef.current?.focus();\n }\n }, [autoFocus, submitDisabled]);\n\n const onBeforeSubmit = useCallback(\n (value: string) => {\n if (submitDisabled || !value) {\n return;\n }\n\n onSubmit(value);\n valueRef.current = \"\";\n setValue(\"\");\n },\n [submitDisabled, onSubmit]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n onBeforeSubmit(e.currentTarget.value);\n },\n [onBeforeSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onBeforeSubmit(valueRef.current);\n }, [onBeforeSubmit]);\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container) {\n return;\n }\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n const currentBlockSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .blockSize\n : entry.contentRect.height;\n if (currentBlockSize > 52) {\n setWrap(true);\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!value) {\n setWrap(false);\n }\n }, [value]);\n\n const handleContainerClick = useCallback((e: React.MouseEvent) => {\n for (const item of e.nativeEvent.composedPath()) {\n if (\n item instanceof HTMLTextAreaElement ||\n item instanceof HTMLButtonElement\n ) {\n return;\n }\n }\n textareaRef.current?.focus();\n }, []);\n\n return (\n <div className=\"container\" onClick={handleContainerClick}>\n <div className={classNames(\"box\", { wrap })}>\n <div className=\"input\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={1}\n maxRows={4}\n borderSize={0}\n paddingSize={16}\n autoResize\n placeholder={placeholder}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n />\n </div>\n <div className=\"toolbar\">\n {!submitDisabled || !supportsTerminate ? (\n <button\n className=\"btn-send\"\n disabled={submitDisabled || !value}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" icon=\"arrow-up\" />\n </button>\n ) : (\n <>\n {terminating ? (\n <WrappedIconButton icon={ICON_LOADING} disabled />\n ) : (\n <WrappedIconButton\n icon={ICON_STOP}\n tooltip={t(K.TERMINATE_THE_TASK)}\n onClick={onTerminate}\n />\n )}\n </>\n )}\n </div>\n </div>\n </div>\n );\n}\n","/*!\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","// istanbul ignore file\nimport type React from \"react\";\n\nconst HIDDEN_TEXTAREA_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 right: 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\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 const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\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","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\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}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\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 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 }),\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 (\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?.(e);\n },\n [onKeyDown, onSubmit, submitWhen]\n );\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container || !autoResize) {\n return;\n }\n let previousInlineSize: number | undefined;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n // istanbul ignore next: compatibility\n const currentInlineSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n if (\n currentInlineSize !== undefined &&\n currentInlineSize !== previousInlineSize\n ) {\n const isInitial = !previousInlineSize;\n previousInlineSize = currentInlineSize;\n if (!isInitial) {\n requestAnimationFrame(doAutoResize);\n }\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [autoResize, containerRef, doAutoResize]);\n\n return (\n <textarea\n {...props}\n ref={textareaRef}\n value={value}\n style={{\n ...style,\n ...autoStyle,\n }}\n onChange={handleInputChange}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n onKeyDown={handleKeyDown}\n />\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:5px 0 5px 8px;margin-left:auto;display:flex;align-items:center;gap:2px}.btn-send:focus,\ntextarea:focus{outline:none}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff}.btn-send:disabled{background:rgba(0,0,0,0.15)}.btn-send:not(:disabled){cursor:pointer}.btn-send:not(:disabled):hover{background:#5166ff}.btn-send:not(:disabled):active{background:#1e33cc}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["K","NS","locales","en","TERMINATE_THE_TASK","zh","t","i18n","getFixedT","initializeI18n","ICON_LOADING","lib","icon","spinning","ICON_STOP","prefix","WrappedIcon","wrapBrick","WrappedIconButton","defineElement","property","event","createDecorators","_ChatInput","_A","WeakMap","_B","_C","_D","_E","_F","_ChatInput_brand","WeakSet","_handleMessageSubmit","_G","_handleTerminate","ChatInput","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_submitDisabled","_init_extra_submitDisabled","_init_supportsTerminate","_init_extra_supportsTerminate","_init_terminating","_init_extra_terminating","_init_messageSubmit","_init_extra_messageSubmit","value","_classPrivateGetter","this","_get_messageSubmit","emit","_init_terminate","_init_extra_terminate","_get_terminate","placeholder","_classPrivateFieldGet","v","_classPrivateFieldSet","autoFocus","submitDisabled","supportsTerminate","terminating","render","React","ChatInputComponent","onSubmit","onTerminate","_ref","containerRef","useRef","textareaRef","setValue","useState","valueRef","wrap","setWrap","useEffect","_textareaRef$current","current","focus","onBeforeSubmit","useCallback","handleSubmit","e","currentTarget","handleChange","target","handleSubmitClick","container","observer","ResizeObserver","entries","entry","contentBoxSize","blockSize","contentRect","height","observe","disconnect","handleContainerClick","_textareaRef$current2","item","nativeEvent","composedPath","HTMLTextAreaElement","HTMLButtonElement","className","onClick","classNames","ref","TextareaAutoResize","minRows","maxRows","borderSize","paddingSize","autoResize","submitWhen","onChange","disabled","tooltip","_ChatInput2","_set_messageSubmit","_set_terminate","c","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","o","_","has","_checkInRHS","hasOwn","hasOwnProperty","classes","i","length","arg","appendClass","parseValue","Array","isArray","apply","toString","Object","prototype","includes","key","call","newClass","module","exports","default","SIZING_STYLE","hiddenTextarea","modKey","test","navigator","platform","LegacyTextareaAutoResize","_autoResize","propValue","style","onKeyDown","onCompositionStart","onCompositionEnd","props","autoStyle","setAutoStyle","useImperativeHandle","textarea","_textarea$value","valueLength","setSelectionRange","doAutoResize","uiTextNode","options","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","map","name","getPropertyValue","join","minHeight","maxHeight","overflowY","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","calculateAutoSizeStyle","flushSync","compositionRef","handleCompositionStart","handleCompositionEnd","handleKeyDown","shiftKey","preventDefault","stopPropagation","previousInlineSize","currentInlineSize","inlineSize","width","undefined","isInitial","requestAnimationFrame","_extends","___CSS_LOADER_EXPORT___","push","id"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/chat-input.11a041ff.js","mappings":"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","sources":["webpack:///./src/chat-input/i18n.ts","webpack:///./src/chat-input/index.tsx","webpack:///../../node_modules/classnames/index.js","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../src/TextareaAutoResize.tsx","webpack:///./src/chat-input/styles.shadow.css"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n TERMINATE_THE_TASK = \"TERMINATE_THE_TASK\",\n}\n\nconst en: Locale = {\n TERMINATE_THE_TASK: \"Terminate the task\",\n};\n\nconst zh: Locale = {\n TERMINATE_THE_TASK: \"终止任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-input\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst ICON_LOADING: GeneralIconProps = {\n lib: \"antd\",\n icon: \"loading-3-quarters\",\n spinning: true,\n};\n\nconst ICON_STOP: GeneralIconProps = {\n lib: \"fa\",\n prefix: \"far\",\n icon: \"circle-stop\",\n};\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatInputProps {\n placeholder?: string;\n autoFocus?: boolean;\n submitDisabled?: boolean;\n supportsTerminate?: boolean;\n terminating?: boolean;\n}\n\nexport interface ChatInputEvents {\n \"message.submit\": CustomEvent<string>;\n terminate: Event;\n}\n\nexport interface ChatInputMapEvents {\n onMessageSubmit: \"message.submit\";\n onTerminate: \"terminate\";\n}\n\n/**\n * 构件 `ai-portal.chat-input`\n */\nexport\n@defineElement(\"ai-portal.chat-input\", {\n styleTexts: [styleText],\n})\nclass ChatInput extends ReactNextElement implements ChatInputProps {\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ type: Boolean })\n accessor submitDisabled: boolean | undefined;\n\n @property({ type: Boolean })\n accessor supportsTerminate: boolean | undefined;\n\n @property({ type: Boolean })\n accessor terminating: boolean | undefined;\n\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n @event({ type: \"terminate\" })\n accessor #terminate!: EventEmitter<void>;\n\n #handleTerminate = () => {\n this.#terminate.emit();\n };\n\n render() {\n return (\n <ChatInputComponent\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n submitDisabled={this.submitDisabled}\n supportsTerminate={this.supportsTerminate}\n terminating={this.terminating}\n onSubmit={this.#handleMessageSubmit}\n onTerminate={this.#handleTerminate}\n />\n );\n }\n}\n\ninterface ChatInputComponentProps extends ChatInputProps {\n onSubmit: (value: string) => void;\n onTerminate: () => void;\n}\n\nfunction ChatInputComponent({\n placeholder,\n autoFocus,\n submitDisabled,\n supportsTerminate,\n terminating,\n onSubmit,\n onTerminate,\n}: ChatInputComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [wrap, setWrap] = useState(false);\n\n useEffect(() => {\n if (autoFocus && !submitDisabled) {\n textareaRef.current?.focus();\n }\n }, [autoFocus, submitDisabled]);\n\n const onBeforeSubmit = useCallback(\n (value: string) => {\n if (submitDisabled || !value) {\n return;\n }\n\n onSubmit(value);\n valueRef.current = \"\";\n setValue(\"\");\n },\n [submitDisabled, onSubmit]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n onBeforeSubmit(e.currentTarget.value);\n },\n [onBeforeSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onBeforeSubmit(valueRef.current);\n }, [onBeforeSubmit]);\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container) {\n return;\n }\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n const currentBlockSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .blockSize\n : entry.contentRect.height;\n if (currentBlockSize > 52) {\n setWrap(true);\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (!value) {\n setWrap(false);\n }\n }, [value]);\n\n const handleContainerClick = useCallback((e: React.MouseEvent) => {\n for (const item of e.nativeEvent.composedPath()) {\n if (\n item instanceof HTMLTextAreaElement ||\n item instanceof HTMLButtonElement\n ) {\n return;\n }\n }\n textareaRef.current?.focus();\n }, []);\n\n return (\n <div className=\"container\" onClick={handleContainerClick}>\n <div className={classNames(\"box\", { wrap })}>\n <div className=\"input\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={1}\n maxRows={4}\n borderSize={0}\n paddingSize={16}\n autoResize\n placeholder={placeholder}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n />\n </div>\n <div className=\"toolbar\">\n {!submitDisabled || !supportsTerminate ? (\n <button\n className=\"btn-send\"\n disabled={submitDisabled || !value}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" icon=\"arrow-up\" />\n </button>\n ) : (\n <>\n {terminating ? (\n <WrappedIconButton icon={ICON_LOADING} disabled />\n ) : (\n <WrappedIconButton\n icon={ICON_STOP}\n tooltip={t(K.TERMINATE_THE_TASK)}\n onClick={onTerminate}\n />\n )}\n </>\n )}\n </div>\n </div>\n </div>\n );\n}\n","/*!\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","// istanbul ignore file\nimport type React from \"react\";\n\nconst HIDDEN_TEXTAREA_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 right: 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\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 const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\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","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\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}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\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 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 }),\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 (\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?.(e);\n },\n [onKeyDown, onSubmit, submitWhen]\n );\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container || !autoResize) {\n return;\n }\n let previousInlineSize: number | undefined;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n // istanbul ignore next: compatibility\n const currentInlineSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n if (\n currentInlineSize !== undefined &&\n currentInlineSize !== previousInlineSize\n ) {\n const isInitial = !previousInlineSize;\n previousInlineSize = currentInlineSize;\n if (!isInitial) {\n requestAnimationFrame(doAutoResize);\n }\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [autoResize, containerRef, doAutoResize]);\n\n return (\n <textarea\n {...props}\n ref={textareaRef}\n value={value}\n style={{\n ...style,\n ...autoStyle,\n }}\n onChange={handleInputChange}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n onKeyDown={handleKeyDown}\n />\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container{background-color:#fff;border:2px solid #7891ff;border-radius:12px;box-shadow:0px 9px 28px 8px rgba(0,0,0,0.05),0px 6px 16px 0px rgba(0,0,0,0.08),0px 3px 6px -4px rgba(0,0,0,0.12);cursor:text}.container:not(:has(textarea:focus)){background-color:rgba(255,255,255,0.5);border-color:#99c4ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.box{display:flex;flex-wrap:wrap;border-radius:10px;padding:8px}.input{min-width:0;flex:1}.wrap .input{flex-basis:100%}.input textarea{display:block;width:100%;padding:8px;font:inherit;font-size:16px;line-height:24px;color:var(--antd-input-color);border:none;background:none;height:24px;color:#262626}.input textarea::placeholder{color:#bfbfbf}.toolbar{padding:5px 0 5px 8px;margin-left:auto;display:flex;align-items:center;gap:2px}.btn-send:focus,\ntextarea:focus{outline:none}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff}.btn-send:disabled{background:rgba(0,0,0,0.15)}.btn-send:not(:disabled){cursor:pointer}.btn-send:not(:disabled):hover{background:#5166ff}.btn-send:not(:disabled):active{background:#1e33cc}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["K","NS","locales","en","TERMINATE_THE_TASK","zh","t","i18n","getFixedT","initializeI18n","ICON_LOADING","lib","icon","spinning","ICON_STOP","prefix","WrappedIcon","wrapBrick","WrappedIconButton","defineElement","property","event","createDecorators","_ChatInput","_A","WeakMap","_B","_C","_D","_E","_F","_ChatInput_brand","WeakSet","_handleMessageSubmit","_G","_handleTerminate","ChatInput","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_submitDisabled","_init_extra_submitDisabled","_init_supportsTerminate","_init_extra_supportsTerminate","_init_terminating","_init_extra_terminating","_init_messageSubmit","_init_extra_messageSubmit","value","_classPrivateGetter","this","_get_messageSubmit","emit","_init_terminate","_init_extra_terminate","_get_terminate","placeholder","_classPrivateFieldGet","v","_classPrivateFieldSet","autoFocus","submitDisabled","supportsTerminate","terminating","render","React","ChatInputComponent","onSubmit","onTerminate","_ref","containerRef","useRef","textareaRef","setValue","useState","valueRef","wrap","setWrap","useEffect","_textareaRef$current","current","focus","onBeforeSubmit","useCallback","handleSubmit","e","currentTarget","handleChange","target","handleSubmitClick","container","observer","ResizeObserver","entries","entry","contentBoxSize","blockSize","contentRect","height","observe","disconnect","handleContainerClick","_textareaRef$current2","item","nativeEvent","composedPath","HTMLTextAreaElement","HTMLButtonElement","className","onClick","classNames","ref","TextareaAutoResize","minRows","maxRows","borderSize","paddingSize","autoResize","submitWhen","onChange","disabled","tooltip","_ChatInput2","_set_messageSubmit","_set_terminate","c","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","o","_","has","_checkInRHS","hasOwn","hasOwnProperty","classes","i","length","arg","appendClass","parseValue","Array","isArray","apply","toString","Object","prototype","includes","key","call","newClass","module","exports","default","SIZING_STYLE","hiddenTextarea","modKey","test","navigator","platform","LegacyTextareaAutoResize","_autoResize","propValue","style","onKeyDown","onCompositionStart","onCompositionEnd","props","autoStyle","setAutoStyle","useImperativeHandle","textarea","_textarea$value","valueLength","setSelectionRange","doAutoResize","uiTextNode","options","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","map","name","getPropertyValue","join","minHeight","maxHeight","overflowY","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","calculateAutoSizeStyle","flushSync","compositionRef","handleCompositionStart","handleCompositionEnd","handleKeyDown","shiftKey","preventDefault","stopPropagation","previousInlineSize","currentInlineSize","inlineSize","width","undefined","isInitial","requestAnimationFrame","_extends","___CSS_LOADER_EXPORT___","push","id"],"sourceRoot":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see goal-card-list.
|
|
2
|
-
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2052,4322],{2373:(t,e,n)=>{"use strict";let i;function r(t){return t?function(){if("boolean"!=typeof i){const t=document.createElement("div");t.setAttribute("contenteditable","PLAINTEXT-ONLY"),i="plaintext-only"===t.contentEditable}return i}()?"plaintext-only":"true":"false"}n.d(e,{U:()=>r})},5536:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(12559);function r(t,e,n){return n((0,i.A)(t,e))}},10335:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var i=n(36758),r=n.n(i),o=n(40935),a=n.n(o)()(r());a.push([t.id,":host{display:inline-block}:host([hidden]){display:none}.goal-container{display:flex;flex-direction:column;gap:4px}.loading{display:flex;align-items:center;justify-content:center;padding:24px;font-size:20px;color:#595959}",""]);const s=a.toString()},11369:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(17545);function r(t){var e=function(t){if("object"!=(0,i.A)(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=(0,i.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==(0,i.A)(e)?e:e+""}},12559:(t,e,n)=>{"use strict";function i(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n.d(e,{A:()=>i})},17545:(t,e,n)=>{"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}n.d(e,{A:()=>i})},26902:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(17545);function r(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==t?(0,i.A)(t):"null"));return t}},30404:(t,e,n)=>{"use strict";n.r(e),n.d(e,{GoalCardList:()=>X});var i,r=n(74635),o=n(70918),a=n(26902),s=n(5536),c=n(86121),l=n(70829),u=n(62740),p=n(18769),d=n.n(p),m=n(7921),g=n(11280),f=(n(65168),n(87117)),h=n(46134),v=n(46342),y=n(10335),b=n(71513);let A,S,T,w,k,E,x,C,N,_,U,I,W,j,M,P,L,O,R,K,z,D,B;(0,f.initializeI18n)(h.NS,h.I);const{defineElement:G,property:H,event:F}=(0,m.createDecorators)(),V=(0,g.wrapBrick)("eo-icon");let X;var q=new WeakMap,Y=new WeakMap,$=new WeakMap,J=new WeakMap,Q=new WeakSet,Z=new WeakMap,tt=new WeakMap,et=new WeakMap,nt=new WeakMap,it=new WeakMap,rt=new WeakMap,ot=new WeakMap;class at extends g.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,Q),(0,o.A)(this,q,S(this)),(0,o.A)(this,Y,(T(this),w(this))),(0,o.A)(this,$,(k(this),E(this))),(0,o.A)(this,J,(x(this),C(this))),(0,o.A)(this,Z,(U(this),t=>{(0,s.A)(Q,this,N).emit(t)})),(0,o.A)(this,tt,I(this)),(0,o.A)(this,et,(M(this),t=>{(0,s.A)(Q,this,W).emit(t)})),(0,o.A)(this,nt,P(this)),(0,o.A)(this,it,(R(this),t=>{(0,s.A)(Q,this,L).emit(t)})),(0,o.A)(this,rt,K(this)),(0,o.A)(this,ot,(B(this),t=>{(0,s.A)(Q,this,z).emit(t)}))}get goalList(){return(0,l.A)(q,this)}set goalList(t){(0,c.A)(q,this,t)}get cardStyle(){return(0,l.A)(Y,this)}set cardStyle(t){(0,c.A)(Y,this,t)}get activeKey(){return(0,l.A)($,this)}set activeKey(t){(0,c.A)($,this,t)}render(){return d().createElement(st,{goalList:this.goalList,cardStyle:this.cardStyle,onTitleChange:(0,l.A)(it,this),onStatusChange:(0,l.A)(et,this),onItemClick:(0,l.A)(Z,this),onNewChat:(0,l.A)(ot,this),activeKey:this.activeKey})}}function st(t){let{goalList:e,cardStyle:n,onTitleChange:i,onStatusChange:r,onItemClick:o,onNewChat:a,activeKey:s}=t;const[c,l]=(0,p.useState)(e);(0,p.useEffect)((()=>{l(e)}),[e]);const u=(t,e,n,i)=>{const r={...t,[e]:n};l(null==c?void 0:c.map((t=>t.instanceId===r.instanceId?r:t))),null==i||i(r)};return c?d().createElement("div",{className:"goal-container"},null==c?void 0:c.map((t=>d().createElement(b.B,{key:t.instanceId,isActive:s===t.instanceId,goalItem:t,cardStyle:n,onTitleChange:e=>((t,e)=>{u(e,"title",t,i)})(e,t),onStatusChange:e=>((t,e)=>{u(e,"state",t,r)})(e,t),onNewChat:()=>null==a?void 0:a(t),onClick:()=>null==o?void 0:o(t)})))):d().createElement("div",{className:"loading"},d().createElement(V,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))}i=at,({e:[S,T,w,k,E,x,C,N,_,U,I,W,j,M,P,L,O,R,K,z,D,B],c:[X,A]}=(0,u.A)(i,[G("ai-portal.goal-card-list",{styleTexts:[y.A,v.A]})],[[H({attribute:!1}),1,"goalList"],[H({attribute:!1}),1,"cardStyle"],[H(),1,"activeKey"],[F({type:"item.click"}),1,"itemClickEvent",t=>(0,l.A)(J,t),(t,e)=>(0,c.A)(J,t,e)],[F({type:"item.status.change"}),1,"itemStatusChangeEvent",t=>(0,l.A)(tt,t),(t,e)=>(0,c.A)(tt,t,e)],[F({type:"item.title.change"}),1,"itemTitleChangeEvent",t=>(0,l.A)(nt,t),(t,e)=>(0,c.A)(nt,t,e)],[F({type:"item.new.chat"}),1,"itemNewChatEvent",t=>(0,l.A)(rt,t),(t,e)=>(0,c.A)(rt,t,e)]],0,(t=>ot.has((0,a.A)(t))),g.ReactNextElement)),A()},36758:t=>{"use strict";t.exports=function(t){return t[1]}},40935:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",i=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),i&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),i&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,i,r,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(i)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(a[c]=!0)}for(var l=0;l<t.length;l++){var u=[].concat(t[l]);i&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),e.push(u))}},e}},46134:(t,e,n)=>{"use strict";n.d(e,{I:()=>a,K:()=>r,NS:()=>o,t:()=>s});var i=n(87117);let r=function(t){return t.UN_START_STATUS="UN_START_STATUS",t.RUNNING_STATUS="RUNNING_STATUS",t.COMPLETED_STATUS="COMPLETED_STATUS",t.NEW_CHAT="NEW_CHAT",t}({});const o="bricks/ai-portal/goal-card-list",a={en:{UN_START_STATUS:"Not Start",RUNNING_STATUS:"Running",COMPLETED_STATUS:"Completed",NEW_CHAT:"New Chat"},zh:{UN_START_STATUS:"未开始",RUNNING_STATUS:"运行中",COMPLETED_STATUS:"已完成",NEW_CHAT:"新对话"}},s=i.i18n.getFixedT(null,o)},46342:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var i=n(36758),r=n.n(i),o=n(40935),a=n.n(o)()(r());a.push([t.id,".goal-item{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:14px 24px;background-color:rgba(255,255,255,0.6);border-radius:8px;-webkit-user-select:none;user-select:none}.goal-item:hover{background-color:rgba(0,0,0,0.05)}.goal-item:hover .end .operation{display:block}.goal-item:hover .end .info{display:none}.goal-item.completed .serial-number,.goal-item.completed .title{color:#bfbfbf}.goal-item.active{background:rgba(37,64,255,0.1);border:1px solid #2540ff}.goal-item > *{-webkit-user-select:auto;user-select:auto}.goal-item .start,.goal-item .end{display:flex;align-items:center}.goal-item .start{flex:1;min-width:0;column-gap:16px;min-width:0}.goal-item .end{flex-shrink:0;column-gap:30px}.goal-item .end .operation{display:none}.goal-item .end .operation .new-chat::part(button){height:28px;font-size:13px;padding:5px 10px}.goal-item .end .info{display:inline-flex;align-items:center;column-gap:16px}.goal-item .serial-number{font-weight:400;color:var(--palette-gray-7)}.goal-item .title{font-weight:500;padding:2px 4px;color:var(--palette-gray-10);border:1px solid transparent;border-radius:8px;cursor:pointer;min-width:0}.goal-item .title:hover{background-color:rgba(255,255,255,0.6);border:1px solid var(--palette-gray-5);cursor:text}.goal-item .title:focus{outline:none;background-color:rgba(255,255,255,0.6);border:1px solid var(--elevo-color-brand)}.goal-item .icon{border-radius:8px;padding:4px;margin-top:4px}.goal-item .icon:hover{background-color:rgba(0,0,0,0.04)}.goal-item .message{color:var(--palette-gray-7);display:inline-flex;align-items:center;column-gap:6px}.goal-item .message .count{font-weight:500;color:var(--palette-gray-10)}.goal-item:not(.editing) .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}",""]);const s=a.toString()},53373:(t,e)=>{var n;!function(){"use strict";var i={}.hasOwnProperty;function r(){for(var t="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(t=a(t,o(n)))}return t}function o(t){if("string"==typeof t||"number"==typeof t)return t;if("object"!=typeof t)return"";if(Array.isArray(t))return r.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var n in t)i.call(t,n)&&t[n]&&(e=a(e,n));return e}function a(t,e){return e?t?t+" "+e:t+e:t}t.exports?(r.default=r,t.exports=r):void 0===(n=function(){return r}.apply(e,[]))||(t.exports=n)}()},62740:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var i=n(17545),r=n(26902);function o(t,e,n){"symbol"==(0,i.A)(e)&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:n?n+" "+e:e})}catch(t){}return t}var a=n(11369);function s(t,e,n,s,c,l){var u,p,d,m,g,f,h,v=Symbol.metadata||Symbol.for("Symbol.metadata"),y=Object.defineProperty,b=Object.create,A=[b(null),b(null)],S=e.length;function T(e,n,i){return function(r,o){n&&(o=r,r=t);for(var a=0;a<e.length;a++)o=e[a].apply(r,i?[o]:[]);return i?o:r}}function w(t,e,n,i){if("function"!=typeof t&&(i||void 0!==t))throw new TypeError(e+" must "+(n||"be")+" a function"+(i?"":" or undefined"));return t}function k(t,e,n,r,a,s,c,l,d,m,g){function f(t){if(!g(t))throw new TypeError("Attempted to access private element on non-instance")}var h=[].concat(e[0]),v=e[3],b=!c,S=1===a,k=3===a,E=4===a,x=2===a;function C(e,n,i){return function(r,o){return n&&(o=r,r=t),i&&i(r),N[e].call(r,o)}}if(!b){var N={},_=[],U=k?"get":E||S?"set":"value";if(d?(m||S?N={get:o((function(){return v(this)}),r,"get"),set:function(t){e[4](this,t)}}:N[U]=v,m||o(N[U],r,x?"":U)):m||(N=Object.getOwnPropertyDescriptor(t,r)),!m&&!d){if((p=A[+l][r])&&7!=(p^a))throw Error("Decorating two elements with the same name ("+N[U].name+") is not supported yet");A[+l][r]=a<3?1:a}}for(var I=t,W=h.length-1;W>=0;W-=n?2:1){var j=w(h[W],"A decorator","be",!0),M=n?h[W-1]:void 0,P={},L={kind:["field","accessor","method","getter","setter","class"][a],name:r,metadata:u,addInitializer:function(t,e){if(t.v)throw Error("attempted to call addInitializer after decoration was finished");w(e,"An initializer","be",!0),s.push(e)}.bind(null,P)};if(b)p=j.call(M,I,L),P.v=1,w(p,"class decorators","return")&&(I=p);else if(L.static=l,L.private=d,p=L.access={has:d?g.bind():function(t){return r in t}},E||(p.get=d?x?function(t){return f(t),N.value}:C("get",0,f):function(t){return t[r]}),x||k||(p.set=d?C("set",0,f):function(t,e){t[r]=e}),I=j.call(M,S?{get:N.get,set:N.set}:N[U],L),P.v=1,S){if("object"==(0,i.A)(I)&&I)(p=w(I.get,"accessor.get"))&&(N.get=p),(p=w(I.set,"accessor.set"))&&(N.set=p),(p=w(I.init,"accessor.init"))&&_.unshift(p);else if(void 0!==I)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(I,(m?"field":"method")+" decorators","return")&&(m?_.unshift(I):N[U]=I)}return a<2&&c.push(T(_,l,1),T(s,l,0)),m||b||(d?S?c.splice(-1,0,C("get",l),C("set",l)):c.push(x?N[U]:w.call.bind(N[U])):y(t,r,N)),I}function E(t){return y(t,v,{configurable:!0,enumerable:!0,value:u})}return void 0!==l&&(u=l[v]),u=b(null==u?null:u),g=[],f=function(t){t&&g.push(T(t))},h=function(e,i){for(var o=0;o<n.length;o++){var s=n[o],l=s[1],u=7&l;if((8&l)==e&&!u==i){var p=s[2],f=!!s[3],h=16&l;k(e?t:t.prototype,s,h,f?"#"+p:(0,a.A)(p),u,u<2?[]:e?m=m||[]:d=d||[],g,!!e,f,i,e&&f?function(e){return(0,r.A)(e)===t}:c)}}},h(8,0),h(0,0),h(8,1),h(0,1),f(d),f(m),p=g,S||E(t),{e:p,get c(){var n=[];return S&&[E(t=k(t,[e],s,t.name,5,n)),T(n,1)]}}}},70829:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(12559);function r(t,e){return t.get((0,i.A)(t,e))}},70918:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(72016);function r(t,e,n){(0,i.A)(t,e),e.set(t,n)}},71513:(t,e,n)=>{"use strict";n.d(e,{B:()=>v});var i=n(18769),r=n.n(i),o=n(87117),a=n(11280),s=n(53373),c=n.n(s),l=n(46134),u=n(2373);(0,o.initializeI18n)(l.NS,l.I);const p=(0,a.wrapBrick)("eo-icon"),d=(0,a.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),m=(0,a.wrapBrick)("eo-easyops-avatar"),g=(0,a.wrapBrick)("eo-button"),f={ready:"uncheck-status",working:"active-status",completed:"check-status"},h=[{key:"ready",icon:{icon:"uncheck-status",lib:"easyops",category:"colored-common"},text:(0,l.t)(l.K.UN_START_STATUS)},{key:"working",icon:{icon:"active-status",lib:"easyops",category:"colored-common"},text:(0,l.t)(l.K.RUNNING_STATUS)},{key:"completed",icon:{icon:"check-status",lib:"easyops",category:"colored-common"},text:(0,l.t)(l.K.COMPLETED_STATUS)}];function v(t){let{goalItem:e,cardStyle:n,onStatusChange:o,onTitleChange:a,onClick:s,onNewChat:v,isActive:y}=t;const{state:b,index:A,title:S,conversations:T,owner:w}=e,k=(0,i.useRef)(!1),E=(0,i.useCallback)((()=>{k.current=!0}),[]),x=(0,i.useCallback)((()=>{k.current=!1}),[]),[C,N]=(0,i.useState)(!1),_=(0,i.useCallback)((()=>{N(!0)}),[]),U=(0,i.useCallback)((t=>{N(!1);const e=t.currentTarget.textContent;null!==e&&S!==e&&(null==a||a(e))}),[S,a]),I=(0,i.useCallback)((t=>{k.current||"Enter"===t.key&&(t.preventDefault(),t.currentTarget.blur())}),[]);return r().createElement("div",{className:c()("goal-item",e.state,{editing:C},{active:y}),style:{paddingLeft:`${e.offsetX}px`,...n},onClick:s},r().createElement("div",{className:"start"},r().createElement(d,{actions:h,onActionClick:t=>{return e=t.detail,void(null==o||o(e.key));var e}},r().createElement(p,{className:"icon",lib:"easyops",category:"colored-common",icon:f[b],onClick:t=>t.stopPropagation()})),r().createElement("span",{className:"serial-number"},A),r().createElement("span",{className:"title",onClick:t=>t.stopPropagation(),onFocus:_,onBlur:U,onKeyDown:I,onCompositionStart:E,onCompositionEnd:x,contentEditable:(0,u.U)(!0),suppressContentEditableWarning:!0},S)),r().createElement("div",{className:"end"},r().createElement("div",{className:"info"},r().createElement("div",{className:"message"},r().createElement(p,{lib:"easyops",category:"common",icon:"message"}),r().createElement("span",{className:"count"},T||0)),r().createElement(m,{nameOrInstanceId:null==w?void 0:w.instanceId,size:"small"})),r().createElement("div",{className:"operation",onClick:t=>t.stopPropagation()},r().createElement(g,{className:"new-chat",themeVariant:"elevo",type:"neutral",size:"small",onClick:v},(0,l.t)(l.K.NEW_CHAT)))))}},72016:(t,e,n)=>{"use strict";function i(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>i})},74635:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(72016);function r(t,e){(0,i.A)(t,e),e.add(t)}},86121:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(12559);function r(t,e,n){return t.set((0,i.A)(t,e),n),n}}}]);
|
|
3
|
-
//# sourceMappingURL=goal-card-list.
|
|
1
|
+
/*! For license information please see goal-card-list.7a0aecb2.js.LICENSE.txt */
|
|
2
|
+
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2052,4322],{2373:(t,e,n)=>{"use strict";let i;function r(t){return t?function(){if("boolean"!=typeof i){const t=document.createElement("div");t.setAttribute("contenteditable","PLAINTEXT-ONLY"),i="plaintext-only"===t.contentEditable}return i}()?"plaintext-only":"true":"false"}n.d(e,{U:()=>r})},5536:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(12559);function r(t,e,n){return n((0,i.A)(t,e))}},10335:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var i=n(36758),r=n.n(i),o=n(40935),a=n.n(o)()(r());a.push([t.id,":host{display:inline-block}:host([hidden]){display:none}.goal-container{display:flex;flex-direction:column;gap:4px}.loading{display:flex;align-items:center;justify-content:center;padding:24px;font-size:20px;color:#595959}",""]);const s=a.toString()},11369:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(17545);function r(t){var e=function(t){if("object"!=(0,i.A)(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=(0,i.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==(0,i.A)(e)?e:e+""}},12559:(t,e,n)=>{"use strict";function i(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n.d(e,{A:()=>i})},17545:(t,e,n)=>{"use strict";function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}n.d(e,{A:()=>i})},26902:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(17545);function r(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==t?(0,i.A)(t):"null"));return t}},30404:(t,e,n)=>{"use strict";n.r(e),n.d(e,{GoalCardList:()=>X});var i,r=n(74635),o=n(70918),a=n(26902),s=n(5536),c=n(86121),l=n(70829),u=n(62740),p=n(18769),d=n.n(p),m=n(7921),g=n(11280),f=(n(65168),n(87117)),h=n(46134),v=n(46342),y=n(10335),b=n(71513);let A,S,T,w,k,E,x,C,N,_,U,I,W,j,M,P,L,O,R,K,z,D,B;(0,f.initializeI18n)(h.NS,h.I);const{defineElement:G,property:H,event:F}=(0,m.createDecorators)(),V=(0,g.wrapBrick)("eo-icon");let X;var q=new WeakMap,Y=new WeakMap,$=new WeakMap,J=new WeakMap,Q=new WeakSet,Z=new WeakMap,tt=new WeakMap,et=new WeakMap,nt=new WeakMap,it=new WeakMap,rt=new WeakMap,ot=new WeakMap;class at extends g.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,Q),(0,o.A)(this,q,S(this)),(0,o.A)(this,Y,(T(this),w(this))),(0,o.A)(this,$,(k(this),E(this))),(0,o.A)(this,J,(x(this),C(this))),(0,o.A)(this,Z,(U(this),t=>{(0,s.A)(Q,this,N).emit(t)})),(0,o.A)(this,tt,I(this)),(0,o.A)(this,et,(M(this),t=>{(0,s.A)(Q,this,W).emit(t)})),(0,o.A)(this,nt,P(this)),(0,o.A)(this,it,(R(this),t=>{(0,s.A)(Q,this,L).emit(t)})),(0,o.A)(this,rt,K(this)),(0,o.A)(this,ot,(B(this),t=>{(0,s.A)(Q,this,z).emit(t)}))}get goalList(){return(0,l.A)(q,this)}set goalList(t){(0,c.A)(q,this,t)}get cardStyle(){return(0,l.A)(Y,this)}set cardStyle(t){(0,c.A)(Y,this,t)}get activeKey(){return(0,l.A)($,this)}set activeKey(t){(0,c.A)($,this,t)}render(){return d().createElement(st,{goalList:this.goalList,cardStyle:this.cardStyle,onTitleChange:(0,l.A)(it,this),onStatusChange:(0,l.A)(et,this),onItemClick:(0,l.A)(Z,this),onNewChat:(0,l.A)(ot,this),activeKey:this.activeKey})}}function st(t){let{goalList:e,cardStyle:n,onTitleChange:i,onStatusChange:r,onItemClick:o,onNewChat:a,activeKey:s}=t;const[c,l]=(0,p.useState)(e);(0,p.useEffect)((()=>{l(e)}),[e]);const u=(t,e,n,i)=>{const r={...t,[e]:n};l(null==c?void 0:c.map((t=>t.instanceId===r.instanceId?r:t))),null==i||i(r)};return c?d().createElement("div",{className:"goal-container"},null==c?void 0:c.map((t=>d().createElement(b.B,{key:t.instanceId,isActive:s===t.instanceId,goalItem:t,cardStyle:n,onTitleChange:e=>((t,e)=>{u(e,"title",t,i)})(e,t),onStatusChange:e=>((t,e)=>{u(e,"state",t,r)})(e,t),onNewChat:()=>null==a?void 0:a(t),onClick:()=>null==o?void 0:o(t)})))):d().createElement("div",{className:"loading"},d().createElement(V,{lib:"antd",icon:"loading-3-quarters",spinning:!0}))}i=at,({e:[S,T,w,k,E,x,C,N,_,U,I,W,j,M,P,L,O,R,K,z,D,B],c:[X,A]}=(0,u.A)(i,[G("ai-portal.goal-card-list",{styleTexts:[y.A,v.A]})],[[H({attribute:!1}),1,"goalList"],[H({attribute:!1}),1,"cardStyle"],[H(),1,"activeKey"],[F({type:"item.click"}),1,"itemClickEvent",t=>(0,l.A)(J,t),(t,e)=>(0,c.A)(J,t,e)],[F({type:"item.status.change"}),1,"itemStatusChangeEvent",t=>(0,l.A)(tt,t),(t,e)=>(0,c.A)(tt,t,e)],[F({type:"item.title.change"}),1,"itemTitleChangeEvent",t=>(0,l.A)(nt,t),(t,e)=>(0,c.A)(nt,t,e)],[F({type:"item.new.chat"}),1,"itemNewChatEvent",t=>(0,l.A)(rt,t),(t,e)=>(0,c.A)(rt,t,e)]],0,(t=>ot.has((0,a.A)(t))),g.ReactNextElement)),A()},36758:t=>{"use strict";t.exports=function(t){return t[1]}},40935:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",i=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),i&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),i&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,i,r,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(i)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(a[c]=!0)}for(var l=0;l<t.length;l++){var u=[].concat(t[l]);i&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),e.push(u))}},e}},46134:(t,e,n)=>{"use strict";n.d(e,{I:()=>a,K:()=>r,NS:()=>o,t:()=>s});var i=n(87117);let r=function(t){return t.UN_START_STATUS="UN_START_STATUS",t.RUNNING_STATUS="RUNNING_STATUS",t.COMPLETED_STATUS="COMPLETED_STATUS",t.NEW_CHAT="NEW_CHAT",t}({});const o="bricks/ai-portal/goal-card-list",a={en:{UN_START_STATUS:"Not Start",RUNNING_STATUS:"Running",COMPLETED_STATUS:"Completed",NEW_CHAT:"New Chat"},zh:{UN_START_STATUS:"未开始",RUNNING_STATUS:"运行中",COMPLETED_STATUS:"已完成",NEW_CHAT:"新对话"}},s=i.i18n.getFixedT(null,o)},46342:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var i=n(36758),r=n.n(i),o=n(40935),a=n.n(o)()(r());a.push([t.id,".goal-item{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:14px 24px;background-color:rgba(255,255,255,0.6);border-radius:8px;-webkit-user-select:none;user-select:none}.goal-item:hover{background-color:rgba(0,0,0,0.05)}.goal-item:hover .end .operation{display:block}.goal-item:hover .end .info{display:none}.goal-item.completed .serial-number,.goal-item.completed .title{color:#bfbfbf}.goal-item.active{background:rgba(37,64,255,0.1);border:1px solid #2540ff}.goal-item > *{-webkit-user-select:auto;user-select:auto}.goal-item .start,.goal-item .end{display:flex;align-items:center}.goal-item .start{flex:1;min-width:0;column-gap:16px;min-width:0}.goal-item .end{flex-shrink:0;column-gap:30px}.goal-item .end .operation{display:none}.goal-item .end .operation .new-chat::part(button){height:28px;font-size:13px;padding:5px 10px}.goal-item .end .info{display:inline-flex;align-items:center;column-gap:16px}.goal-item .serial-number{font-weight:400;color:var(--palette-gray-7)}.goal-item .title{font-weight:500;padding:2px 4px;color:var(--palette-gray-10);border:1px solid transparent;border-radius:8px;cursor:pointer;min-width:0}.goal-item .title:hover{background-color:rgba(255,255,255,0.6);border:1px solid var(--palette-gray-5);cursor:text}.goal-item .title:focus{outline:none;background-color:rgba(255,255,255,0.6);border:1px solid var(--elevo-color-brand)}.goal-item .icon{border-radius:8px;padding:4px;margin-top:4px}.goal-item .icon:hover{background-color:rgba(0,0,0,0.04)}.goal-item .message{color:var(--palette-gray-7);display:inline-flex;align-items:center;column-gap:6px}.goal-item .message .count{font-weight:500;color:var(--palette-gray-10)}.goal-item:not(.editing) .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}",""]);const s=a.toString()},53373:(t,e)=>{var n;!function(){"use strict";var i={}.hasOwnProperty;function r(){for(var t="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(t=a(t,o(n)))}return t}function o(t){if("string"==typeof t||"number"==typeof t)return t;if("object"!=typeof t)return"";if(Array.isArray(t))return r.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var n in t)i.call(t,n)&&t[n]&&(e=a(e,n));return e}function a(t,e){return e?t?t+" "+e:t+e:t}t.exports?(r.default=r,t.exports=r):void 0===(n=function(){return r}.apply(e,[]))||(t.exports=n)}()},62740:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var i=n(17545),r=n(26902);function o(t,e,n){"symbol"==(0,i.A)(e)&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:n?n+" "+e:e})}catch(t){}return t}var a=n(11369);function s(t,e,n,s,c,l){var u,p,d,m,g,f,h,v=Symbol.metadata||Symbol.for("Symbol.metadata"),y=Object.defineProperty,b=Object.create,A=[b(null),b(null)],S=e.length;function T(e,n,i){return function(r,o){n&&(o=r,r=t);for(var a=0;a<e.length;a++)o=e[a].apply(r,i?[o]:[]);return i?o:r}}function w(t,e,n,i){if("function"!=typeof t&&(i||void 0!==t))throw new TypeError(e+" must "+(n||"be")+" a function"+(i?"":" or undefined"));return t}function k(t,e,n,r,a,s,c,l,d,m,g){function f(t){if(!g(t))throw new TypeError("Attempted to access private element on non-instance")}var h=[].concat(e[0]),v=e[3],b=!c,S=1===a,k=3===a,E=4===a,x=2===a;function C(e,n,i){return function(r,o){return n&&(o=r,r=t),i&&i(r),N[e].call(r,o)}}if(!b){var N={},_=[],U=k?"get":E||S?"set":"value";if(d?(m||S?N={get:o((function(){return v(this)}),r,"get"),set:function(t){e[4](this,t)}}:N[U]=v,m||o(N[U],r,x?"":U)):m||(N=Object.getOwnPropertyDescriptor(t,r)),!m&&!d){if((p=A[+l][r])&&7!=(p^a))throw Error("Decorating two elements with the same name ("+N[U].name+") is not supported yet");A[+l][r]=a<3?1:a}}for(var I=t,W=h.length-1;W>=0;W-=n?2:1){var j=w(h[W],"A decorator","be",!0),M=n?h[W-1]:void 0,P={},L={kind:["field","accessor","method","getter","setter","class"][a],name:r,metadata:u,addInitializer:function(t,e){if(t.v)throw Error("attempted to call addInitializer after decoration was finished");w(e,"An initializer","be",!0),s.push(e)}.bind(null,P)};if(b)p=j.call(M,I,L),P.v=1,w(p,"class decorators","return")&&(I=p);else if(L.static=l,L.private=d,p=L.access={has:d?g.bind():function(t){return r in t}},E||(p.get=d?x?function(t){return f(t),N.value}:C("get",0,f):function(t){return t[r]}),x||k||(p.set=d?C("set",0,f):function(t,e){t[r]=e}),I=j.call(M,S?{get:N.get,set:N.set}:N[U],L),P.v=1,S){if("object"==(0,i.A)(I)&&I)(p=w(I.get,"accessor.get"))&&(N.get=p),(p=w(I.set,"accessor.set"))&&(N.set=p),(p=w(I.init,"accessor.init"))&&_.unshift(p);else if(void 0!==I)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(I,(m?"field":"method")+" decorators","return")&&(m?_.unshift(I):N[U]=I)}return a<2&&c.push(T(_,l,1),T(s,l,0)),m||b||(d?S?c.splice(-1,0,C("get",l),C("set",l)):c.push(x?N[U]:w.call.bind(N[U])):y(t,r,N)),I}function E(t){return y(t,v,{configurable:!0,enumerable:!0,value:u})}return void 0!==l&&(u=l[v]),u=b(null==u?null:u),g=[],f=function(t){t&&g.push(T(t))},h=function(e,i){for(var o=0;o<n.length;o++){var s=n[o],l=s[1],u=7&l;if((8&l)==e&&!u==i){var p=s[2],f=!!s[3],h=16&l;k(e?t:t.prototype,s,h,f?"#"+p:(0,a.A)(p),u,u<2?[]:e?m=m||[]:d=d||[],g,!!e,f,i,e&&f?function(e){return(0,r.A)(e)===t}:c)}}},h(8,0),h(0,0),h(8,1),h(0,1),f(d),f(m),p=g,S||E(t),{e:p,get c(){var n=[];return S&&[E(t=k(t,[e],s,t.name,5,n)),T(n,1)]}}}},70829:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(12559);function r(t,e){return t.get((0,i.A)(t,e))}},70918:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(72016);function r(t,e,n){(0,i.A)(t,e),e.set(t,n)}},71513:(t,e,n)=>{"use strict";n.d(e,{B:()=>v});var i=n(18769),r=n.n(i),o=n(87117),a=n(11280),s=n(53373),c=n.n(s),l=n(46134),u=n(2373);(0,o.initializeI18n)(l.NS,l.I);const p=(0,a.wrapBrick)("eo-icon"),d=(0,a.wrapBrick)("eo-dropdown-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),m=(0,a.wrapBrick)("eo-easyops-avatar"),g=(0,a.wrapBrick)("eo-button"),f={ready:"uncheck-status",working:"active-status",completed:"check-status"},h=[{key:"ready",icon:{icon:"uncheck-status",lib:"easyops",category:"colored-common"},text:(0,l.t)(l.K.UN_START_STATUS)},{key:"working",icon:{icon:"active-status",lib:"easyops",category:"colored-common"},text:(0,l.t)(l.K.RUNNING_STATUS)},{key:"completed",icon:{icon:"check-status",lib:"easyops",category:"colored-common"},text:(0,l.t)(l.K.COMPLETED_STATUS)}];function v(t){let{goalItem:e,cardStyle:n,onStatusChange:o,onTitleChange:a,onClick:s,onNewChat:v,isActive:y}=t;const{state:b,id:A,title:S,conversations:T,owner:w}=e,k=(0,i.useRef)(!1),E=(0,i.useCallback)((()=>{k.current=!0}),[]),x=(0,i.useCallback)((()=>{k.current=!1}),[]),[C,N]=(0,i.useState)(!1),_=(0,i.useCallback)((()=>{N(!0)}),[]),U=(0,i.useCallback)((t=>{N(!1);const e=t.currentTarget.textContent;null!==e&&S!==e&&(null==a||a(e))}),[S,a]),I=(0,i.useCallback)((t=>{k.current||"Enter"===t.key&&(t.preventDefault(),t.currentTarget.blur())}),[]);return r().createElement("div",{className:c()("goal-item",e.state,{editing:C},{active:y}),style:{paddingLeft:`${e.offsetX}px`,...n},onClick:s},r().createElement("div",{className:"start"},r().createElement(d,{actions:h,onActionClick:t=>{return e=t.detail,void(null==o||o(e.key));var e}},r().createElement(p,{className:"icon",lib:"easyops",category:"colored-common",icon:f[b],onClick:t=>t.stopPropagation()})),r().createElement("span",{className:"serial-number"},"#",A),r().createElement("span",{className:"title",onClick:t=>t.stopPropagation(),onFocus:_,onBlur:U,onKeyDown:I,onCompositionStart:E,onCompositionEnd:x,contentEditable:(0,u.U)(!0),suppressContentEditableWarning:!0},S)),r().createElement("div",{className:"end"},r().createElement("div",{className:"info"},r().createElement("div",{className:"message"},r().createElement(p,{lib:"easyops",category:"common",icon:"message"}),r().createElement("span",{className:"count"},T||0)),r().createElement(m,{nameOrInstanceId:null==w?void 0:w.instanceId,size:"small"})),r().createElement("div",{className:"operation",onClick:t=>t.stopPropagation()},r().createElement(g,{className:"new-chat",themeVariant:"elevo",type:"neutral",size:"small",onClick:v},(0,l.t)(l.K.NEW_CHAT)))))}},72016:(t,e,n)=>{"use strict";function i(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>i})},74635:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(72016);function r(t,e){(0,i.A)(t,e),e.add(t)}},86121:(t,e,n)=>{"use strict";n.d(e,{A:()=>r});var i=n(12559);function r(t,e,n){return t.set((0,i.A)(t,e),n),n}}}]);
|
|
3
|
+
//# sourceMappingURL=goal-card-list.7a0aecb2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/goal-card-list.7a0aecb2.js","mappings":"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","sources":["webpack:///./src/shared/getContentEditable.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/goal-card-list/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///./src/goal-card-list/index.tsx","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///./src/goal-card-list/i18n.ts","webpack:///./src/goal-card-list/CardItem/CardItem.shadow.css","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///./src/goal-card-list/CardItem/CardItem.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js"],"sourcesContent":["// istanbul ignore file: compatibility workaround\nimport type { HTMLAttributes } from \"react\";\n\nlet _supports: boolean | undefined;\n\nfunction supportsContentEditablePlaintextOnly(): boolean {\n if (typeof _supports !== \"boolean\") {\n const div = document.createElement(\"div\");\n div.setAttribute(\"contenteditable\", \"PLAINTEXT-ONLY\");\n _supports = div.contentEditable === \"plaintext-only\";\n }\n return _supports;\n}\n\nexport function getContentEditable(\n editable: boolean\n): HTMLAttributes<HTMLDivElement>[\"contentEditable\"] {\n return editable\n ? supportsContentEditablePlaintextOnly()\n ? \"plaintext-only\"\n : \"true\"\n : \"false\";\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:inline-block}:host([hidden]){display:none}.goal-container{display:flex;flex-direction:column;gap:4px}.loading{display:flex;align-items:center;justify-content:center;padding:24px;font-size:20px;color:#595959}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","import React, { useState, useEffect } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { NS, locales } from \"./i18n.js\";\nimport CardItemStyleText from \"./CardItem/CardItem.shadow.css\";\nimport styleText from \"./styles.shadow.css\";\nimport { GoalCardItem, GoalItem, GoalState } from \"./CardItem/CardItem.js\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface GoalCardListProps {\n goalList?: GoalItem[];\n cardStyle?: React.CSSProperties;\n activeKey?: string;\n}\n\n/**\n * 构件 `ai-portal.goal-card-list`\n */\nexport\n@defineElement(\"ai-portal.goal-card-list\", {\n styleTexts: [styleText, CardItemStyleText],\n})\nclass GoalCardList extends ReactNextElement implements GoalCardListProps {\n @property({\n attribute: false,\n })\n accessor goalList: GoalItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor cardStyle: React.CSSProperties | undefined;\n\n @property()\n accessor activeKey: string | undefined;\n\n @event({ type: \"item.click\" })\n accessor #itemClickEvent!: EventEmitter<GoalItem>;\n #handleItemClick = (item: GoalItem) => {\n this.#itemClickEvent.emit(item);\n };\n\n @event({ type: \"item.status.change\" })\n accessor #itemStatusChangeEvent!: EventEmitter<GoalItem>;\n #handleItemStatusChange = (item: GoalItem) => {\n this.#itemStatusChangeEvent.emit(item);\n };\n\n @event({ type: \"item.title.change\" })\n accessor #itemTitleChangeEvent!: EventEmitter<GoalItem>;\n #handleTitleChange = (item: GoalItem) => {\n this.#itemTitleChangeEvent.emit(item);\n };\n\n @event({ type: \"item.new.chat\" })\n accessor #itemNewChatEvent!: EventEmitter<GoalItem>;\n #handleNewChat = (item: GoalItem) => {\n this.#itemNewChatEvent.emit(item);\n };\n\n render() {\n return (\n <GoalCardListComponent\n goalList={this.goalList}\n cardStyle={this.cardStyle}\n onTitleChange={this.#handleTitleChange}\n onStatusChange={this.#handleItemStatusChange}\n onItemClick={this.#handleItemClick}\n onNewChat={this.#handleNewChat}\n activeKey={this.activeKey}\n />\n );\n }\n}\n\ninterface GoalCardListComponentProps extends GoalCardListProps {\n onTitleChange?: (item: GoalItem) => void;\n onStatusChange?: (item: GoalItem) => void;\n onItemClick?: (item: GoalItem) => void;\n onNewChat?: (item: GoalItem) => void;\n}\n\nfunction GoalCardListComponent({\n goalList: _goalList,\n cardStyle,\n onTitleChange,\n onStatusChange,\n onItemClick,\n onNewChat,\n activeKey,\n}: GoalCardListComponentProps) {\n const [goalList, setGoalList] = useState(_goalList);\n\n useEffect(() => {\n setGoalList(_goalList);\n }, [_goalList]);\n\n const updateGoalItem = <T extends keyof GoalItem>(\n item: GoalItem,\n field: T,\n value: GoalItem[T],\n callback?: (updatedItem: GoalItem) => void\n ) => {\n const updatedItem = {\n ...item,\n [field]: value,\n };\n\n setGoalList(\n goalList?.map((goalItem) =>\n goalItem.instanceId === updatedItem.instanceId ? updatedItem : goalItem\n )\n );\n\n callback?.(updatedItem);\n };\n\n const handleTitleChange = (newTitle: string, item: GoalItem) => {\n updateGoalItem(item, \"title\", newTitle, onTitleChange);\n };\n\n const handleStatusChange = (newStatus: GoalState, item: GoalItem) => {\n updateGoalItem(item, \"state\", newStatus, onStatusChange);\n };\n\n if (!goalList) {\n return (\n <div className=\"loading\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n );\n }\n\n return (\n <div className=\"goal-container\">\n {goalList?.map((item) => (\n <GoalCardItem\n key={item.instanceId}\n isActive={activeKey === item.instanceId}\n goalItem={item}\n cardStyle={cardStyle}\n onTitleChange={(v) => handleTitleChange(v, item)}\n onStatusChange={(v) => handleStatusChange(v, item)}\n onNewChat={() => onNewChat?.(item)}\n onClick={() => onItemClick?.(item)}\n />\n ))}\n </div>\n );\n}\n","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n UN_START_STATUS = \"UN_START_STATUS\",\n RUNNING_STATUS = \"RUNNING_STATUS\",\n COMPLETED_STATUS = \"COMPLETED_STATUS\",\n NEW_CHAT = \"NEW_CHAT\",\n}\n\nconst en: Locale = {\n UN_START_STATUS: \"Not Start\",\n RUNNING_STATUS: \"Running\",\n COMPLETED_STATUS: \"Completed\",\n NEW_CHAT: \"New Chat\",\n};\n\nconst zh: Locale = {\n UN_START_STATUS: \"未开始\",\n RUNNING_STATUS: \"运行中\",\n COMPLETED_STATUS: \"已完成\",\n NEW_CHAT: \"新对话\",\n};\n\nexport const NS = \"bricks/ai-portal/goal-card-list\";\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","// 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, `.goal-item{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:14px 24px;background-color:rgba(255,255,255,0.6);border-radius:8px;-webkit-user-select:none;user-select:none}.goal-item:hover{background-color:rgba(0,0,0,0.05)}.goal-item:hover .end .operation{display:block}.goal-item:hover .end .info{display:none}.goal-item.completed .serial-number,.goal-item.completed .title{color:#bfbfbf}.goal-item.active{background:rgba(37,64,255,0.1);border:1px solid #2540ff}.goal-item > *{-webkit-user-select:auto;user-select:auto}.goal-item .start,.goal-item .end{display:flex;align-items:center}.goal-item .start{flex:1;min-width:0;column-gap:16px;min-width:0}.goal-item .end{flex-shrink:0;column-gap:30px}.goal-item .end .operation{display:none}.goal-item .end .operation .new-chat::part(button){height:28px;font-size:13px;padding:5px 10px}.goal-item .end .info{display:inline-flex;align-items:center;column-gap:16px}.goal-item .serial-number{font-weight:400;color:var(--palette-gray-7)}.goal-item .title{font-weight:500;padding:2px 4px;color:var(--palette-gray-10);border:1px solid transparent;border-radius:8px;cursor:pointer;min-width:0}.goal-item .title:hover{background-color:rgba(255,255,255,0.6);border:1px solid var(--palette-gray-5);cursor:text}.goal-item .title:focus{outline:none;background-color:rgba(255,255,255,0.6);border:1px solid var(--elevo-color-brand)}.goal-item .icon{border-radius:8px;padding:4px;margin-top:4px}.goal-item .icon:hover{background-color:rgba(0,0,0,0.04)}.goal-item .message{color:var(--palette-gray-7);display:inline-flex;align-items:center;column-gap:6px}.goal-item .message .count{font-weight:500;color:var(--palette-gray-10)}.goal-item:not(.editing) .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import React, { useCallback, useRef, useState } from \"react\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping,\n} from \"@next-bricks/basic/dropdown-actions\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type { Action, SimpleAction } from \"@next-bricks/basic/actions\";\nimport classNames from \"classnames\";\nimport { K, NS, locales, t } from \"../i18n.js\";\nimport { getContentEditable } from \"../../shared/getContentEditable.js\";\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedDropdownActions = wrapBrick<\n EoDropdownActions,\n DropdownActionsProps,\n DropdownActionsEvents,\n DropdownActionsEventsMapping\n>(\"eo-dropdown-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\nconst WrappedEasyopsAvatar = wrapBrick<EoEasyopsAvatar, EoEasyopsAvatarProps>(\n \"eo-easyops-avatar\"\n);\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\n\nexport interface InputEventsMap {\n onValueChange: \"change\";\n}\n\nexport type GoalState = \"ready\" | \"working\" | \"completed\";\n\ninterface GoalMember {\n instanceId: string;\n}\n\nexport interface GoalItem {\n title: string;\n description?: string;\n state: GoalState;\n id: number;\n conversations?: number;\n child_target?: GoalItem[];\n parent_target?: GoalItem[];\n owner?: GoalMember;\n users?: GoalMember[];\n instanceId: string;\n offsetX?: number;\n}\n\ninterface GoalCardItemProps {\n goalItem: GoalItem;\n cardStyle?: React.CSSProperties;\n isActive?: boolean;\n onTitleChange?: (newTitle: string) => void;\n onStatusChange?: (newStatus: GoalState) => void;\n onNewChat?: () => void;\n onClick?: () => void;\n}\n\nconst iconMap = {\n ready: \"uncheck-status\",\n working: \"active-status\",\n completed: \"check-status\",\n};\n\nconst iconActions: Action[] = [\n {\n key: \"ready\",\n icon: {\n icon: \"uncheck-status\",\n lib: \"easyops\",\n category: \"colored-common\",\n },\n text: t(K.UN_START_STATUS),\n },\n {\n key: \"working\",\n icon: {\n icon: \"active-status\",\n lib: \"easyops\",\n category: \"colored-common\",\n },\n text: t(K.RUNNING_STATUS),\n },\n {\n key: \"completed\",\n icon: {\n icon: \"check-status\",\n lib: \"easyops\",\n category: \"colored-common\",\n },\n text: t(K.COMPLETED_STATUS),\n },\n];\n\nexport function GoalCardItem({\n goalItem,\n cardStyle,\n onStatusChange,\n onTitleChange,\n onClick,\n onNewChat,\n isActive,\n}: GoalCardItemProps) {\n const { state, id: serialNumber, title, conversations, owner } = goalItem;\n\n const handleStatusChange = (action: SimpleAction) => {\n onStatusChange?.(action.key as GoalState);\n };\n\n const compositionRef = useRef(false);\n\n const handleCompositionStart = useCallback(() => {\n compositionRef.current = true;\n }, []);\n\n const handleCompositionEnd = useCallback(() => {\n compositionRef.current = false;\n }, []);\n\n const [editing, setEditing] = useState(false);\n\n const handleFocus = useCallback(() => {\n setEditing(true);\n }, []);\n\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLSpanElement>) => {\n setEditing(false);\n const value = e.currentTarget.textContent;\n if (value !== null && title !== value) {\n onTitleChange?.(value);\n }\n },\n [title, onTitleChange]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLSpanElement>) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n if (e.key === \"Enter\") {\n e.preventDefault();\n e.currentTarget.blur();\n }\n },\n []\n );\n\n return (\n <div\n className={classNames(\n \"goal-item\",\n goalItem.state,\n { editing },\n { active: isActive }\n )}\n style={{\n paddingLeft: `${goalItem.offsetX}px`,\n ...cardStyle,\n }}\n onClick={onClick}\n >\n <div className=\"start\">\n <WrappedDropdownActions\n actions={iconActions}\n onActionClick={(e) => handleStatusChange(e.detail)}\n >\n <WrappedIcon\n className=\"icon\"\n lib=\"easyops\"\n category=\"colored-common\"\n icon={iconMap[state]}\n onClick={(e) => e.stopPropagation()}\n />\n </WrappedDropdownActions>\n\n <span className=\"serial-number\">#{serialNumber}</span>\n <span\n className=\"title\"\n onClick={(e) => e.stopPropagation()}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n contentEditable={getContentEditable(true)}\n suppressContentEditableWarning\n >\n {title}\n </span>\n </div>\n <div className=\"end\">\n <div className=\"info\">\n <div className=\"message\">\n <WrappedIcon lib=\"easyops\" category=\"common\" icon=\"message\" />\n <span className=\"count\">{conversations || 0}</span>\n </div>\n <WrappedEasyopsAvatar\n nameOrInstanceId={owner?.instanceId}\n size=\"small\"\n />\n </div>\n <div className=\"operation\" onClick={(e) => e.stopPropagation()}>\n <WrappedButton\n className=\"new-chat\"\n themeVariant=\"elevo\"\n type=\"neutral\"\n size=\"small\"\n onClick={onNewChat}\n >\n {t(K.NEW_CHAT)}\n </WrappedButton>\n </div>\n </div>\n </div>\n );\n}\n","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}"],"names":["_supports","getContentEditable","editable","div","document","createElement","setAttribute","contentEditable","supportsContentEditablePlaintextOnly","_classPrivateGetter","s","r","a","___CSS_LOADER_EXPORT___","push","module","id","toString","toPropertyKey","t","i","e","Symbol","toPrimitive","call","TypeError","String","_assertClassBrand","n","has","arguments","length","_typeof","o","iterator","constructor","prototype","_checkInRHS","Object","initializeI18n","NS","locales","defineElement","property","event","createDecorators","WrappedIcon","wrapBrick","_GoalCardList","_A","WeakMap","_B","_C","_D","_GoalCardList_brand","WeakSet","_handleItemClick","_E","_handleItemStatusChange","_F","_handleTitleChange","_G","_handleNewChat","GoalCardList","ReactNextElement","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_goalList","_init_extra_goalList","_init_cardStyle","_init_extra_cardStyle","_init_activeKey","_init_extra_activeKey","_init_itemClickEvent","_init_extra_itemClickEvent","item","this","_get_itemClickEvent","emit","_init_itemStatusChangeEvent","_init_extra_itemStatusChangeEvent","_get_itemStatusChangeEvent","_init_itemTitleChangeEvent","_init_extra_itemTitleChangeEvent","_get_itemTitleChangeEvent","_init_itemNewChatEvent","_init_extra_itemNewChatEvent","_get_itemNewChatEvent","goalList","_classPrivateFieldGet","v","_classPrivateFieldSet","cardStyle","activeKey","render","React","GoalCardListComponent","onTitleChange","onStatusChange","onItemClick","onNewChat","_ref","_goalList","setGoalList","useState","useEffect","updateGoalItem","field","value","callback","updatedItem","map","goalItem","instanceId","className","GoalCardItem","key","isActive","handleTitleChange","newTitle","handleStatusChange","newStatus","onClick","lib","icon","spinning","_GoalCardList2","_set_itemClickEvent","_set_itemStatusChangeEvent","_set_itemTitleChangeEvent","_set_itemNewChatEvent","c","_initClass","_applyDecs","styleTexts","styleText","CardItemStyleText","attribute","type","_","exports","cssWithMappingToString","list","content","needLayer","concat","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","K","en","UN_START_STATUS","RUNNING_STATUS","COMPLETED_STATUS","NEW_CHAT","zh","i18n","getFixedT","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","apply","includes","newClass","default","setFunctionName","description","defineProperty","configurable","applyDecs2311","u","f","l","p","d","metadata","m","h","create","y","g","b","applyDec","w","D","S","j","E","I","P","F","get","set","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","kind","addInitializer","bind","access","init","unshift","splice","enumerable","checkInRHS","_classPrivateFieldGet2","obj","privateMap","WrappedDropdownActions","onActionClick","onVisibleChange","WrappedEasyopsAvatar","WrappedButton","iconMap","ready","working","completed","iconActions","category","text","state","serialNumber","title","conversations","owner","compositionRef","useRef","handleCompositionStart","useCallback","current","handleCompositionEnd","editing","setEditing","handleFocus","handleBlur","currentTarget","textContent","handleKeyDown","preventDefault","blur","active","style","paddingLeft","offsetX","actions","action","detail","stopPropagation","onFocus","onBlur","onKeyDown","onCompositionStart","onCompositionEnd","suppressContentEditableWarning","nameOrInstanceId","size","themeVariant","_checkPrivateRedeclaration","privateCollection","privateSet","add","_classPrivateFieldSet2"],"sourceRoot":""}
|