@next-bricks/ai-portal 0.41.1 → 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.
Files changed (33) hide show
  1. package/dist/bricks.json +48 -48
  2. package/dist/chunks/2608.ecdc3896.js +2 -0
  3. package/dist/chunks/2608.ecdc3896.js.map +1 -0
  4. package/dist/chunks/6754.758fa3ae.js +2 -0
  5. package/dist/chunks/6754.758fa3ae.js.map +1 -0
  6. package/dist/chunks/activity-timeline.85a243bc.js +2 -0
  7. package/dist/chunks/activity-timeline.85a243bc.js.map +1 -0
  8. package/dist/chunks/chat-box.15e40b8e.js +2 -0
  9. package/dist/chunks/chat-box.15e40b8e.js.map +1 -0
  10. package/dist/chunks/chat-input.3e67d2d4.js +3 -0
  11. package/dist/chunks/chat-input.3e67d2d4.js.map +1 -0
  12. package/dist/chunks/{main.c7c296c8.js → main.24028689.js} +2 -2
  13. package/dist/chunks/{main.c7c296c8.js.map → main.24028689.js.map} +1 -1
  14. package/dist/examples.json +21 -21
  15. package/dist/{index.663fc8d5.js → index.6143251e.js} +2 -2
  16. package/dist/{index.663fc8d5.js.map → index.6143251e.js.map} +1 -1
  17. package/dist/manifest.json +351 -351
  18. package/dist/types.json +425 -369
  19. package/dist-types/activity-timeline/i18n.d.ts +2 -0
  20. package/dist-types/activity-timeline/interfaces.d.ts +24 -16
  21. package/package.json +2 -2
  22. package/dist/chunks/2608.33f641c9.js +0 -2
  23. package/dist/chunks/2608.33f641c9.js.map +0 -1
  24. package/dist/chunks/3554.65e56ba5.js +0 -2
  25. package/dist/chunks/3554.65e56ba5.js.map +0 -1
  26. package/dist/chunks/activity-timeline.a7da73e9.js +0 -2
  27. package/dist/chunks/activity-timeline.a7da73e9.js.map +0 -1
  28. package/dist/chunks/chat-box.9c68697e.js +0 -2
  29. package/dist/chunks/chat-box.9c68697e.js.map +0 -1
  30. package/dist/chunks/chat-input.11a041ff.js +0 -3
  31. package/dist/chunks/chat-input.11a041ff.js.map +0 -1
  32. package/dist/images/de350a46.png +0 -0
  33. /package/dist/chunks/{chat-input.11a041ff.js.LICENSE.txt → chat-input.3e67d2d4.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":""}
Binary file