@next-bricks/ai-portal 0.41.0 → 0.41.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 +38 -38
- package/dist/chunks/2608.ecdc3896.js +2 -0
- package/dist/chunks/2608.ecdc3896.js.map +1 -0
- package/dist/chunks/{382.6655f2dc.js → 382.d2e3f46f.js} +2 -2
- package/dist/chunks/{382.6655f2dc.js.map → 382.d2e3f46f.js.map} +1 -1
- package/dist/chunks/{4957.b0937d56.js → 4957.f878df32.js} +3 -3
- package/dist/chunks/{4957.b0937d56.js.map → 4957.f878df32.js.map} +1 -1
- package/dist/chunks/{5521.eeb5a205.js → 5521.ef48a4d3.js} +2 -2
- package/dist/chunks/{5521.eeb5a205.js.map → 5521.ef48a4d3.js.map} +1 -1
- package/dist/chunks/6754.758fa3ae.js +2 -0
- package/dist/chunks/6754.758fa3ae.js.map +1 -0
- package/dist/chunks/{6862.fc9c39ee.js → 6862.32630cc8.js} +3 -3
- package/dist/chunks/{6862.fc9c39ee.js.map → 6862.32630cc8.js.map} +1 -1
- package/dist/chunks/activity-timeline.85a243bc.js +2 -0
- package/dist/chunks/activity-timeline.85a243bc.js.map +1 -0
- package/dist/chunks/chat-box.15e40b8e.js +2 -0
- package/dist/chunks/chat-box.15e40b8e.js.map +1 -0
- package/dist/chunks/chat-input.3e67d2d4.js +3 -0
- package/dist/chunks/chat-input.3e67d2d4.js.map +1 -0
- package/dist/chunks/goal-card-list.5f61cd91.js +3 -0
- package/dist/chunks/{goal-card-list.7a0aecb2.js.map → goal-card-list.5f61cd91.js.map} +1 -1
- package/dist/chunks/{main.8a0a20f0.js → main.24028689.js} +2 -2
- package/dist/chunks/{main.8a0a20f0.js.map → main.24028689.js.map} +1 -1
- package/dist/examples.json +20 -20
- package/dist/{index.b28b88f6.js → index.6143251e.js} +2 -2
- package/dist/{index.b28b88f6.js.map → index.6143251e.js.map} +1 -1
- package/dist/manifest.json +262 -262
- package/dist/types.json +481 -425
- package/dist-types/activity-timeline/i18n.d.ts +2 -0
- package/dist-types/activity-timeline/interfaces.d.ts +24 -16
- package/package.json +2 -2
- package/dist/chunks/2608.e0bf7de9.js +0 -2
- package/dist/chunks/2608.e0bf7de9.js.map +0 -1
- package/dist/chunks/3554.65e56ba5.js +0 -2
- package/dist/chunks/3554.65e56ba5.js.map +0 -1
- package/dist/chunks/activity-timeline.a7da73e9.js +0 -2
- package/dist/chunks/activity-timeline.a7da73e9.js.map +0 -1
- package/dist/chunks/chat-box.9c68697e.js +0 -2
- package/dist/chunks/chat-box.9c68697e.js.map +0 -1
- package/dist/chunks/chat-input.11a041ff.js +0 -3
- package/dist/chunks/chat-input.11a041ff.js.map +0 -1
- package/dist/chunks/goal-card-list.7a0aecb2.js +0 -3
- package/dist/images/de350a46.png +0 -0
- /package/dist/chunks/{4957.b0937d56.js.LICENSE.txt → 4957.f878df32.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{6862.fc9c39ee.js.LICENSE.txt → 6862.32630cc8.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-input.11a041ff.js.LICENSE.txt → chat-input.3e67d2d4.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{goal-card-list.7a0aecb2.js.LICENSE.txt → goal-card-list.5f61cd91.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-box.9c68697e.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;margin:0 -12px}.container{position:relative;background:#ffffff;box-shadow:0px 2px 4px 0px rgba(38,45,65,0.1);border-radius:16px;border:1px solid #dadfe8}.container:has(textarea:focus){border-color:#b7c3d8}textarea{display:block;width:100%;padding:10px 16px 50px;color:var(--antd-input-color);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font:inherit;font-size:14px;line-height:22px;height:120px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}`, \"\"]);\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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
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
|
package/dist/images/de350a46.png
DELETED
|
Binary file
|
|
File without changes
|
|
File without changes
|
/package/dist/chunks/{chat-input.11a041ff.js.LICENSE.txt → chat-input.3e67d2d4.js.LICENSE.txt}
RENAMED
|
File without changes
|
|
File without changes
|