@next-bricks/ai-portal 0.58.5 → 0.58.7
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 +25 -25
- package/dist/chunks/1488.171d8f4f.js +2 -0
- package/dist/chunks/1488.171d8f4f.js.map +1 -0
- package/dist/chunks/151.4fd3b48d.js +2 -0
- package/dist/chunks/151.4fd3b48d.js.map +1 -0
- package/dist/chunks/2232.db93d1de.js +2 -0
- package/dist/chunks/2232.db93d1de.js.map +1 -0
- package/dist/chunks/2324.17662f31.js +2 -0
- package/dist/chunks/2324.17662f31.js.map +1 -0
- package/dist/chunks/{chat-box.041da849.js → chat-box.6eab985e.js} +2 -2
- package/dist/chunks/chat-box.6eab985e.js.map +1 -0
- package/dist/chunks/chat-input.fce2d021.js +2 -0
- package/dist/chunks/chat-input.fce2d021.js.map +1 -0
- package/dist/chunks/{main.3c34d3e3.js → main.9f018556.js} +2 -2
- package/dist/chunks/{main.3c34d3e3.js.map → main.9f018556.js.map} +1 -1
- package/dist/chunks/{notice-dropdown.37b8ffb2.js → notice-dropdown.6262ed81.js} +2 -2
- package/dist/chunks/notice-dropdown.6262ed81.js.map +1 -0
- package/dist/examples.json +19 -19
- package/dist/{index.9c210ca2.js → index.8cc4b995.js} +2 -2
- package/dist/{index.9c210ca2.js.map → index.8cc4b995.js.map} +1 -1
- package/dist/manifest.json +236 -236
- package/dist/types.json +1486 -1326
- package/dist-types/cruise-canvas/FileList/FileList.d.ts +2 -1
- package/dist-types/shared/FileUpload/GlobalDragOverlay.d.ts +3 -3
- package/dist-types/shared/FileUpload/i18n.d.ts +6 -1
- package/dist-types/shared/FileUpload/validateFiles.d.ts +2 -0
- package/dist-types/shared/interfaces.d.ts +4 -0
- package/package.json +2 -2
- package/dist/chunks/1488.8388b745.js +0 -2
- package/dist/chunks/1488.8388b745.js.map +0 -1
- package/dist/chunks/151.4739e5b9.js +0 -2
- package/dist/chunks/151.4739e5b9.js.map +0 -1
- package/dist/chunks/2232.c2811097.js +0 -2
- package/dist/chunks/2232.c2811097.js.map +0 -1
- package/dist/chunks/2324.c7c2427a.js +0 -2
- package/dist/chunks/2324.c7c2427a.js.map +0 -1
- package/dist/chunks/chat-box.041da849.js.map +0 -1
- package/dist/chunks/chat-input.2c5e645b.js +0 -2
- package/dist/chunks/chat-input.2c5e645b.js.map +0 -1
- package/dist/chunks/notice-dropdown.37b8ffb2.js.map +0 -1
- package/dist-types/shared/FileUpload/acceptFiles.d.ts +0 -1
- /package/dist-types/shared/FileUpload/{acceptFiles.spec.d.ts → validateFiles.spec.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/2324.c7c2427a.js","mappings":"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","sources":["webpack:///./src/shared/FileUpload/i18n.ts","webpack:///./src/shared/FileUpload/GlobalDragOverlay.module.css?40e0","webpack:///./src/shared/FileUpload/GlobalDragOverlay.tsx","webpack:///./src/shared/FileUpload/GlobalDragOverlay.module.css","webpack:///./src/shared/FileUpload/UploadedFiles.tsx","webpack:///./src/shared/useFilesUploading.ts","webpack:///./src/shared/FileUpload/UploadedFiles.shadow.css","webpack:///./src/shared/FileUpload/UploadButton.tsx","webpack:///./src/shared/FileUpload/acceptFiles.ts","webpack:///../../../src/utils/getMirroredStyle.ts","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../src/TextareaAutoResize.tsx"],"sourcesContent":["import { i18n, initializeI18n } from \"@next-core/i18n\";\n\nexport enum K {\n UPLOAD_FILES = \"UPLOAD_FILES\",\n UPLOADING = \"UPLOADING\",\n UPLOAD_FAILED = \"UPLOAD_FAILED\",\n DROP_FILES_HERE = \"DROP_FILES_HERE\",\n}\n\nconst en: Locale = {\n UPLOAD_FILES: \"Upload files\",\n UPLOADING: \"Uploading...\",\n UPLOAD_FAILED: \"Upload failed\",\n DROP_FILES_HERE: \"Drop files here\",\n};\n\nconst zh: Locale = {\n UPLOAD_FILES: \"上传文件\",\n UPLOADING: \"上传中...\",\n UPLOAD_FAILED: \"上传失败\",\n DROP_FILES_HERE: \"在此处拖放文件\",\n};\n\nexport const NS = \"bricks/ai-portal/FileUpload\";\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\ninitializeI18n(NS, locales);\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./GlobalDragOverlay.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./GlobalDragOverlay.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport dragImage from \"./drag-file@2x.png\";\nimport { K, t } from \"./i18n\";\nimport styles from \"./GlobalDragOverlay.module.css\";\nimport { acceptFiles } from \"./acceptFiles\";\n\nexport interface GlobalDragOverlayProps {\n disabled?: boolean;\n accept?: string;\n dragTips?: string;\n onFilesDropped?: (files: File[]) => void;\n}\n\nexport default function GlobalDragOverlay({\n disabled,\n accept,\n dragTips,\n onFilesDropped,\n}: GlobalDragOverlayProps) {\n const [isDragging, setIsDragging] = useState(false);\n const dragCounterRef = useRef(0);\n\n useEffect(() => {\n if (disabled) {\n dragCounterRef.current = 0;\n setIsDragging(false);\n return;\n }\n\n const handleDragEnter = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n for (const target of e.composedPath()) {\n if (\n target instanceof HTMLElement &&\n (target.tagName === \"EO-DRAWER\" || target.tagName === \"EO-MODAL\")\n ) {\n return;\n }\n }\n\n // 只在拖入文件时触发(排除文字、链接等)\n const hasFiles = Array.from(e.dataTransfer?.items || []).some(\n (item) => item.kind === \"file\"\n );\n if (!hasFiles) return;\n\n dragCounterRef.current++;\n setIsDragging(true);\n };\n\n const handleDragLeave = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n if (dragCounterRef.current > 0) {\n dragCounterRef.current--;\n }\n if (dragCounterRef.current === 0) setIsDragging(false);\n };\n\n const handleDragOver = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const handleDrop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n\n dragCounterRef.current = 0;\n setIsDragging(false);\n\n const files = Array.from(e.dataTransfer!.files);\n if (files.length > 0) {\n if (accept) {\n const allFilesAccepted = acceptFiles(accept, files);\n if (!allFilesAccepted) {\n handleHttpError(dragTips);\n return;\n }\n }\n onFilesDropped?.(files);\n }\n };\n\n window.addEventListener(\"dragenter\", handleDragEnter);\n window.addEventListener(\"dragleave\", handleDragLeave);\n window.addEventListener(\"dragover\", handleDragOver);\n window.addEventListener(\"drop\", handleDrop);\n\n return () => {\n window.removeEventListener(\"dragenter\", handleDragEnter);\n window.removeEventListener(\"dragleave\", handleDragLeave);\n window.removeEventListener(\"dragover\", handleDragOver);\n window.removeEventListener(\"drop\", handleDrop);\n };\n }, [accept, disabled, dragTips, onFilesDropped]);\n\n if (!isDragging) {\n return null;\n }\n\n return createPortal(\n <div className={styles.overlay}>\n <img src={dragImage} width=\"91\" height=\"79\" />\n <div className={styles.title}>{t(K.DROP_FILES_HERE)}</div>\n <div className={styles.description}>{dragTips}</div>\n </div>,\n document.body\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, `.overlay--SI1oXhAV{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:9999}.title--FmBT01QV{font-weight:600;font-size:20px;color:rgba(0,0,0,0.88);line-height:28px;margin-top:17px}.description--Yhdhm5wT{color:rgba(0,0,0,0.45);font-size:14px;margin-top:11px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"overlay\": `overlay--SI1oXhAV`,\n\t\"title\": `title--FmBT01QV`,\n\t\"description\": `description--Yhdhm5wT`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { FileItem } from \"./interfaces\";\nimport {\n formatFileSize,\n getFileTypeAndIcon,\n} from \"../../cruise-canvas/utils/file\";\nimport { K, t } from \"./i18n\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface UploadedFilesProps {\n files: FileItem[];\n maxFiles?: number;\n className?: string;\n onRemove: (uid: number, abortController: AbortController | undefined) => void;\n onAdd: () => void;\n}\n\nexport function UploadedFiles({\n files,\n maxFiles,\n className,\n onRemove,\n onAdd,\n}: UploadedFilesProps) {\n const showAsImage = files.every((file) =>\n file.file.type.startsWith(\"image/\")\n );\n\n return (\n <ul\n className={classNames(\"files\", className)}\n onClick={(e) => {\n e.stopPropagation();\n }}\n >\n {files.map((file) => (\n <FileComponent\n {...file}\n key={file.uid}\n showAsImage={showAsImage}\n onRemove={onRemove}\n />\n ))}\n {!maxFiles || files.length < maxFiles ? (\n <li>\n <button className=\"btn-add-file\" onClick={onAdd}>\n <WrappedIcon lib=\"antd\" icon=\"plus\" />\n </button>\n </li>\n ) : null}\n </ul>\n );\n}\n\ninterface FileComponentProps extends FileItem {\n showAsImage?: boolean;\n onRemove: (uid: number, abortController: AbortController | undefined) => void;\n}\n\nfunction FileComponent({\n uid,\n file,\n status,\n abortController,\n showAsImage,\n onRemove,\n}: FileComponentProps) {\n const [type, icon] = getFileTypeAndIcon(file.type, file.name);\n const size = formatFileSize(file.size);\n const isImage = file.type.startsWith(\"image/\");\n const [image, setImage] = useState<string | undefined>();\n\n useEffect(() => {\n if (isImage) {\n const url = URL.createObjectURL(file);\n setImage(url);\n return () => {\n URL.revokeObjectURL(url);\n };\n } else {\n setImage(undefined);\n }\n }, [file, isImage]);\n\n const buttonRemove = (\n <button\n className=\"file-remove\"\n onClick={() => {\n onRemove(uid, abortController);\n }}\n >\n <WrappedIcon lib=\"antd\" theme=\"filled\" icon=\"close-circle\" />\n </button>\n );\n\n if (showAsImage) {\n return (\n <li\n className={classNames(\"file as-image\", { failed: status === \"failed\" })}\n >\n <img className=\"file-image\" src={image} />\n {status === \"uploading\" && (\n <div className=\"file-overlay\">\n <WrappedIcon lib=\"antd\" icon=\"loading-3-quarters\" spinning />\n </div>\n )}\n {status === \"failed\" && (\n <div className=\"file-overlay\">{t(K.UPLOAD_FAILED)}</div>\n )}\n {buttonRemove}\n </li>\n );\n }\n\n return (\n <li\n className={classNames(\"file\", {\n failed: status === \"failed\",\n uploading: status === \"uploading\",\n })}\n >\n {isImage ? (\n <img className=\"file-image\" src={image} />\n ) : (\n <img className=\"file-icon\" src={icon} width={26} height={32} />\n )}\n <div className=\"file-content\">\n <div className=\"file-name\">{file.name}</div>\n <div className=\"file-metadata\">\n <span className=\"file-status\">\n {`${status === \"uploading\" ? t(K.UPLOADING) : status === \"failed\" ? t(K.UPLOAD_FAILED) : type}`}\n </span>\n {` · ${size}`}\n </div>\n </div>\n {buttonRemove}\n </li>\n );\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport { http } from \"@next-core/http\";\nimport type { FileItem } from \"./FileUpload/interfaces\";\nimport type { UploadFileInfo, UploadOptions } from \"./interfaces\";\nimport { acceptFiles } from \"./FileUpload/acceptFiles\";\n// import { getNextUid } from \"./FileUpload/UploadButton\";\n\nlet uid = 0;\n\nexport function getNextUid() {\n return uid++;\n}\n\nexport function useFilesUploading(options?: UploadOptions) {\n const enabled = options?.enabled;\n const accept = options?.accept;\n const maxFiles = options?.maxFiles;\n const dragTips = options?.dragTips;\n const [files, setFiles] = useState<FileItem[] | undefined>();\n const hasFiles = !!files && files.length > 0;\n\n useEffect(() => {\n files?.forEach(async (fileItem) => {\n if (fileItem.status === \"ready\") {\n const abortController = new AbortController();\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"uploading\", abortController };\n }\n return item;\n });\n });\n\n try {\n const formData = new FormData();\n formData.append(\"file\", fileItem.file);\n\n const response = await http.request<{ data: UploadFileInfo }>(\n \"api/gateway/logic.llm.aiops_service/api/v1/elevo/files/upload\",\n {\n method: \"POST\",\n body: formData,\n signal: abortController.signal,\n }\n );\n\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return {\n ...item,\n status: \"done\",\n fileInfo: response.data,\n };\n }\n return item;\n });\n });\n } catch (error) {\n setFiles((prevFiles) => {\n return prevFiles?.map((item) => {\n if (item.uid === fileItem.uid) {\n return { ...item, status: \"failed\" };\n }\n return item;\n });\n });\n handleHttpError(error);\n }\n }\n });\n }, [files]);\n\n const [allFilesDone, setAllFilesDone] = useState(true);\n const [fileInfos, setFileInfos] = useState<UploadFileInfo[] | undefined>();\n const initialRef = useRef(true);\n\n useEffect(() => {\n const allFilesDone =\n !files || files.every((file) => file.status === \"done\");\n setAllFilesDone(allFilesDone);\n if (initialRef.current) {\n initialRef.current = false;\n return;\n }\n if (allFilesDone) {\n setFileInfos(files?.map((file) => file.fileInfo!));\n }\n }, [files]);\n\n const appendFiles = useCallback(\n (newFiles: File[]) => {\n setFiles((prev) => {\n const list = [\n ...(prev ?? []),\n ...newFiles.map<FileItem>((file) => ({\n uid: getNextUid(),\n file,\n status: \"ready\",\n })),\n ];\n if (maxFiles && list.length > maxFiles) {\n return list.slice(0, maxFiles);\n }\n return list;\n });\n },\n [maxFiles]\n );\n\n const resetFiles = useCallback(() => {\n setFiles(undefined);\n }, []);\n\n const removeFile = useCallback((uid: number) => {\n setFiles((prev) => prev?.filter((file) => file.uid !== uid));\n }, []);\n\n const exceeded = !!maxFiles && !!files && files.length >= maxFiles;\n\n const paste = useCallback(\n (e: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (!enabled) {\n return;\n }\n const fileList = e.clipboardData.files;\n if (fileList.length > 0 && enabled) {\n e.preventDefault();\n e.stopPropagation();\n const files = [...fileList];\n if (accept) {\n const allFilesAccepted = acceptFiles(accept, files);\n if (!allFilesAccepted) {\n handleHttpError(dragTips!);\n return;\n }\n }\n appendFiles(files);\n }\n },\n [enabled, accept, dragTips, appendFiles]\n );\n\n return {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\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, `.files{list-style:none;margin:0;padding:4px 0 0;position:absolute;display:flex;gap:8px;top:10px;left:16px;right:16px;overflow-x:auto}.file{background:rgba(0,0,0,0.04);border-radius:6px;display:flex;width:200px;height:60px;align-items:center;padding:0 8px;position:relative}.file.uploading::before{content:\"\";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,0.06);border-radius:6px;animation:loadingAnimation 1.5s linear infinite}@keyframes loadingAnimation{0%{right:100%}100%{right:0}}.file-content{min-width:0;flex:1}.file-icon{margin:0 11px 0 6px}.file-image{margin-right:8px;object-fit:cover;border-radius:4px;max-width:44px;max-height:44px}.file-name,\n.file-metadata{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name{color:rgba(0,0,0,0.88)}.file-metadata{color:rgba(0,0,0,0.45);font-size:12px;margin-top:3px}.file-remove{position:absolute;top:-4px;right:-4px;font-size:12px;padding:1px;display:flex;color:rgba(0,0,0,0.88);cursor:pointer;background:#fff;border-radius:14px}.file:not(:hover) .file-remove{display:none}.btn-add-file{border-radius:6px;border:1px dashed rgba(0,0,0,0.1);color:rgba(0,0,0,0.45);font-size:16px;display:flex;width:60px;height:60px;align-items:center;justify-content:center;cursor:pointer}.btn-add-file:hover{background:rgba(0,0,0,0.04)}.file.failed .file-status{color:var(--color-error)}.file.as-image{width:60px;border:1px solid rgba(0,0,0,0.1);padding:0;background:none;justify-content:center}.file.as-image .file-image{max-width:100%;max-height:100%;margin:0;border-radius:6px}.file.as-image.failed{border-color:#f24c25}.file-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,10,26,0.45);border-radius:6px;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:20px}.file.failed .file-overlay{background:rgba(0,10,26,0.7);color:#ff754f;font-size:12px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, { forwardRef, useImperativeHandle, useRef } from \"react\";\nimport type { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { IconButton, IconButtonProps } from \"../../icon-button\";\nimport { K, t } from \"./i18n\";\n\nconst WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nconst ICON_UPLOAD: GeneralIconProps = {\n lib: \"lucide\",\n icon: \"paperclip\",\n};\n\nexport interface UploadButtonProps {\n accept?: string;\n disabled?: boolean;\n onChange?: (files: File[]) => void;\n}\n\nexport interface UploadButtonRef {\n requestUpload: () => void;\n}\n\nexport const UploadButton = forwardRef(LegacyUploadButton);\n\nfunction LegacyUploadButton(\n { accept, disabled, onChange }: UploadButtonProps,\n ref: React.Ref<UploadButtonRef>\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const files = e.target.files;\n if (files) {\n onChange?.(Array.from(files));\n }\n e.target.value = \"\";\n };\n\n useImperativeHandle(ref, () => ({\n requestUpload: () => {\n inputRef.current?.click();\n },\n }));\n\n return (\n <>\n <input\n type=\"file\"\n accept={accept}\n multiple\n hidden\n ref={inputRef}\n onChange={handleInputChange}\n onClick={(e) => {\n e.stopPropagation();\n }}\n />\n <WrappedIconButton\n variant=\"light\"\n className=\"btn-upload\"\n icon={ICON_UPLOAD}\n tooltip={t(K.UPLOAD_FILES)}\n disabled={disabled}\n onClick={(e) => {\n e.stopPropagation();\n inputRef.current?.click();\n }}\n />\n </>\n );\n}\n","export function acceptFiles(accept: string, files: File[]) {\n const acceptedTypes = accept.split(\",\").map((type) => type.trim());\n const allFilesAccepted = files.every((file) => {\n const mimeType = file.type;\n return acceptedTypes.some((type) => {\n if (type === \"*/*\" || type === \"*\") {\n return true;\n }\n if (type.startsWith(\".\")) {\n return file.name.toLowerCase().endsWith(type.toLowerCase());\n }\n if (type.endsWith(\"/*\")) {\n const baseType = type.split(\"/\")[0];\n return mimeType.startsWith(`${baseType}/`);\n }\n return mimeType === type;\n });\n });\n return allFilesAccepted;\n}\n","const HIDDEN_STYLE = `\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n left: 0!important;\n pointer-events: none!important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\n\n/**\n * 创建一个镜像元素,用于计算光标位置或文本尺寸。\n */\nexport function getMirroredStyle(element: HTMLElement) {\n const uiTextNodeStyle = window.getComputedStyle(element);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n return `${sizingStyle};${HIDDEN_STYLE}`;\n}\n","// istanbul ignore file\nimport type React from \"react\";\nimport { getMirroredStyle } from \"./getMirroredStyle.js\";\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined;\n\nexport interface AutoSizeOptions {\n minRows?: number | null;\n maxRows?: number | null;\n borderSize?: number;\n paddingSize?: number;\n}\n\n/**\n * 计算 textarea 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n options?: AutoSizeOptions\n): React.CSSProperties {\n const {\n minRows = null,\n maxRows = null,\n borderSize = 2,\n paddingSize = 8,\n } = options ?? {};\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n // equal style\n hiddenTextarea.setAttribute(\"style\", getMirroredStyle(uiTextNode));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined;\n let maxHeight: number | undefined;\n let overflowY: React.CSSProperties[\"overflowY\"];\n\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n const singleRowHeight =\n process.env.NODE_ENV === \"test\"\n ? 22\n : parseFloat(\n window\n .getComputedStyle(hiddenTextarea)\n .getPropertyValue(\"line-height\")\n );\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n if (height <= maxHeight) {\n overflowY = \"hidden\";\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { flushSync } from \"react-dom\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\n\n// istanbul ignore next\nconst modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n\nexport interface TextareaAutoResizeProps\n extends React.DetailedHTMLProps<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n > {\n /** @default true */\n autoResize?: boolean;\n minRows?: number | null;\n maxRows?: number | null;\n /** @default 2 */\n borderSize?: number;\n /** @default 8 */\n paddingSize?: number;\n containerRef?: React.RefObject<HTMLElement>;\n submitWhen?: \"enter-without-shift\" | \"enter-with-mod\";\n desiredSelectionRef?: React.MutableRefObject<{\n start: number;\n end: number;\n } | null>;\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;\n /**\n * The handler can return false to prevent default behavior (submit)\n */\n onKeyDown?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void | false;\n}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\n element: HTMLTextAreaElement | null;\n}\n\nexport const TextareaAutoResize = React.forwardRef<\n TextareaAutoResizeRef,\n TextareaAutoResizeProps\n>(LegacyTextareaAutoResize);\n\nfunction LegacyTextareaAutoResize(\n {\n autoResize: _autoResize,\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n containerRef,\n value: propValue,\n style,\n submitWhen,\n desiredSelectionRef,\n onChange,\n onSubmit,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n ...props\n }: TextareaAutoResizeProps,\n ref: React.ForwardedRef<TextareaAutoResizeRef>\n): React.JSX.Element {\n const autoResize = _autoResize ?? true;\n const [value, setValue] = useState(propValue ?? \"\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const [autoStyle, setAutoStyle] = useState<React.CSSProperties | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus: () => {\n const textarea = textareaRef.current;\n // istanbul ignore else: defensive check\n if (textarea) {\n const valueLength = textarea.value?.length;\n textarea.focus();\n valueLength && textarea.setSelectionRange(valueLength, valueLength);\n }\n },\n element: textareaRef.current,\n }),\n []\n );\n\n const doAutoResize = useCallback(() => {\n const textarea = textareaRef.current;\n if (textarea && autoResize) {\n const style = calculateAutoSizeStyle(textarea, {\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n });\n // istanbul ignore next\n if (process.env.NODE_ENV === \"test\") {\n setAutoStyle(style);\n } else {\n flushSync(() => {\n setAutoStyle(style);\n });\n }\n }\n }, [autoResize, maxRows, minRows, borderSize, paddingSize]);\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLTextAreaElement>\n ): void => {\n setValue(e.target.value);\n onChange?.(e);\n };\n\n useEffect(() => {\n setValue(propValue ?? \"\");\n }, [propValue]);\n\n useEffect(() => {\n doAutoResize();\n }, [doAutoResize, value]);\n\n const compositionRef = useRef(false);\n\n const handleCompositionStart = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = true;\n onCompositionStart?.(e);\n },\n [onCompositionStart]\n );\n\n const handleCompositionEnd = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = false;\n onCompositionEnd?.(e);\n },\n [onCompositionEnd]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n\n if (onKeyDown?.(e) === false) {\n return;\n }\n\n if (\n e.key === \"Enter\" &&\n (submitWhen === \"enter-without-shift\"\n ? !e.shiftKey\n : submitWhen === \"enter-with-mod\" && e[modKey])\n ) {\n e.preventDefault();\n e.stopPropagation();\n onSubmit?.(e);\n }\n },\n [onKeyDown, onSubmit, submitWhen]\n );\n\n useLayoutEffect(() => {\n const desiredSelection = desiredSelectionRef?.current;\n const textarea = textareaRef.current;\n if (desiredSelection && textarea) {\n const { start, end } = desiredSelection;\n desiredSelectionRef.current = null;\n textarea.setSelectionRange(start, end);\n }\n }, [desiredSelectionRef, value]);\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container || !autoResize) {\n return;\n }\n let previousInlineSize: number | undefined;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n // istanbul ignore next: compatibility\n const currentInlineSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n if (\n currentInlineSize !== undefined &&\n currentInlineSize !== previousInlineSize\n ) {\n const isInitial = !previousInlineSize;\n previousInlineSize = currentInlineSize;\n if (!isInitial) {\n requestAnimationFrame(doAutoResize);\n }\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [autoResize, containerRef, doAutoResize]);\n\n return (\n <textarea\n {...props}\n ref={textareaRef}\n value={value}\n style={{\n ...style,\n ...autoStyle,\n }}\n onChange={handleInputChange}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n onKeyDown={handleKeyDown}\n />\n );\n}\n"],"names":["K","NS","t","i18n","getFixedT","initializeI18n","en","UPLOAD_FILES","UPLOADING","UPLOAD_FAILED","DROP_FILES_HERE","zh","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","GlobalDragOverlay","_ref","disabled","accept","dragTips","onFilesDropped","isDragging","setIsDragging","useState","dragCounterRef","useRef","useEffect","current","handleDragEnter","e","_e$dataTransfer","preventDefault","stopPropagation","target","composedPath","HTMLElement","tagName","Array","from","dataTransfer","items","some","item","kind","handleDragLeave","handleDragOver","handleDrop","files","length","acceptFiles","handleHttpError","window","addEventListener","removeEventListener","createPortal","React","className","styles","overlay","src","dragImage","width","height","title","description","document","body","___CSS_LOADER_EXPORT___","push","module","id","WrappedIcon","wrapBrick","UploadedFiles","maxFiles","onRemove","onAdd","showAsImage","every","file","type","startsWith","classNames","onClick","map","FileComponent","_extends","key","uid","lib","icon","_ref2","status","abortController","getFileTypeAndIcon","name","size","formatFileSize","isImage","image","setImage","url","URL","createObjectURL","revokeObjectURL","buttonRemove","theme","failed","spinning","uploading","useFilesUploading","enabled","setFiles","hasFiles","forEach","async","fileItem","AbortController","prevFiles","formData","FormData","append","response","http","request","method","signal","fileInfo","data","error","allFilesDone","setAllFilesDone","fileInfos","setFileInfos","initialRef","appendFiles","useCallback","newFiles","prev","list","slice","resetFiles","removeFile","filter","exceeded","paste","fileList","clipboardData","toString","WrappedIconButton","ICON_UPLOAD","UploadButton","forwardRef","LegacyUploadButton","ref","onChange","inputRef","useImperativeHandle","requestUpload","_inputRef$current","click","multiple","hidden","value","variant","tooltip","_inputRef$current2","acceptedTypes","split","trim","mimeType","toLowerCase","endsWith","baseType","HIDDEN_STYLE","SIZING_STYLE","getMirroredStyle","element","uiTextNodeStyle","getComputedStyle","getPropertyValue","join","hiddenTextarea","modKey","test","navigator","platform","TextareaAutoResize","LegacyTextareaAutoResize","autoResize","_autoResize","minRows","maxRows","borderSize","paddingSize","containerRef","propValue","style","submitWhen","desiredSelectionRef","onSubmit","onKeyDown","onCompositionStart","onCompositionEnd","props","setValue","textareaRef","autoStyle","setAutoStyle","focus","textarea","_textarea$value","valueLength","setSelectionRange","doAutoResize","uiTextNode","minHeight","maxHeight","overflowY","createElement","setAttribute","appendChild","placeholder","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","calculateAutoSizeStyle","flushSync","compositionRef","handleCompositionStart","handleCompositionEnd","handleKeyDown","shiftKey","useLayoutEffect","desiredSelection","start","end","container","previousInlineSize","observer","ResizeObserver","entries","entry","currentInlineSize","contentBoxSize","inlineSize","contentRect","isInitial","requestAnimationFrame","observe","disconnect"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-box.041da849.js","mappings":"2IA4DAA,EAAOC,QAjBP,SAAgBC,GACd,GAAwB,oBAAbC,SACT,MAAO,CACLC,OAAQ,WAAmB,EAC3BC,OAAQ,WAAmB,GAG/B,IAAIC,EAAeJ,EAAQK,mBAAmBL,GAC9C,MAAO,CACLE,OAAQ,SAAgBI,IAjD5B,SAAeF,EAAcJ,EAASM,GACpC,IAAIC,EAAM,GACND,EAAIE,WACND,GAAO,cAAcE,OAAOH,EAAIE,SAAU,QAExCF,EAAII,QACNH,GAAO,UAAUE,OAAOH,EAAII,MAAO,OAErC,IAAIC,OAAiC,IAAdL,EAAIM,MACvBD,IACFJ,GAAO,SAASE,OAAOH,EAAIM,MAAMC,OAAS,EAAI,IAAIJ,OAAOH,EAAIM,OAAS,GAAI,OAE5EL,GAAOD,EAAIC,IACPI,IACFJ,GAAO,KAELD,EAAII,QACNH,GAAO,KAELD,EAAIE,WACND,GAAO,KAET,IAAIO,EAAYR,EAAIQ,UAChBA,GAA6B,oBAATC,OACtBR,GAAO,uDAAuDE,OAAOM,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUL,MAAe,QAKtId,EAAQoB,kBAAkBb,EAAKH,EAAcJ,EAAQA,QACvD,CAoBMqB,CAAMjB,EAAcJ,EAASM,EAC/B,EACAH,OAAQ,YArBZ,SAA4BC,GAE1B,GAAgC,OAA5BA,EAAakB,WACf,OAAO,EAETlB,EAAakB,WAAWC,YAAYnB,EACtC,CAgBMoB,CAAmBpB,EACrB,EAEJ,C,2ECzDO,IAAKqB,EAAC,SAADA,GAAC,OAADA,EAAC,6BAADA,EAAC,4BAADA,CAAC,MAKb,MAAMC,EAAa,CACjB,CAACD,EAAEE,eAAgB,eACnB,CAACF,EAAEG,cAAe,gBAGdC,EAAa,CACjB,CAACJ,EAAEE,eAAgB,SACnB,CAACF,EAAEG,cAAe,QAGPE,EAAK,4BAELC,EAAU,CAAEL,KAAIG,MAEhBG,EAAIC,EAAAA,KAAKC,UAAU,KAAMJ,E,4DCR/B,MAAMK,GAAcC,EAAAA,EAAAA,WAAyC,WACvDC,GAAiBD,EAAAA,EAAAA,WAK5B,aAAc,CACdE,cAAe,eACfC,cAAe,gBACfC,gBAAiB,qBAEcJ,EAAAA,EAAAA,WAC/B,wB,YCvBFtC,EAAOC,QAAU,SAAU0C,EAAKzC,GAI9B,OAHKA,IACHA,EAAU,CAAC,GAERyC,GAGLA,EAAMC,OAAOD,EAAIE,WAAaF,EAAIG,QAAUH,GAGxC,eAAeI,KAAKJ,KACtBA,EAAMA,EAAIK,MAAM,GAAI,IAElB9C,EAAQ+C,OACVN,GAAOzC,EAAQ+C,MAKb,oBAAoBF,KAAKJ,IAAQzC,EAAQgD,WACpC,IAAKvC,OAAOgC,EAAIQ,QAAQ,KAAM,OAAOA,QAAQ,MAAO,OAAQ,KAE9DR,GAjBEA,CAkBX,C,kDCxBe,SAASS,EAAgB5C,EAAK6C,EAAKC,GAYhD,OAXAD,GAAM,OAAcA,MACT7C,EACT+C,OAAOC,eAAehD,EAAK6C,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZnD,EAAI6C,GAAOC,EAEN9C,CACT,C,kBCLAR,EAAOC,QANP,SAAwCK,GACtC,IAAIsD,EAAmD,KACnDA,GACFtD,EAAauD,aAAa,QAASD,EAEvC,C,mGCJIE,EAAgC,IAAIC,IAAI,cACxCC,EAA0B,IAA4B,KACtDC,EAAqC,IAAgCH,GAEzEE,EAAwBE,KAAK,CAAClE,EAAOmE,GAAI,+GAA+GF,k5CAC4pB,KAEpzB,QAAeD,EAAwBI,U,wSCHjCC,EAAa,IAAIC,IAAoB,CACzC,CAAC,KAAM,iBACP,CAAC,MAAO,mBACR,CAAC,MAAO,sBACR,CACE,OACA,2EAEF,CAAC,MAAO,cACR,CAAC,MAAO,YACR,CAAC,MAAO,4BACR,CAAC,OAAQ,qEACT,CAAC,MAAO,iCACR,CACE,OACA,6EAEF,CAAC,MAAO,cACR,CAAC,OAAQ,cACT,CAAC,MAAO,aACR,CAAC,MAAO,aACR,CAAC,MAAO,aACR,CAAC,OAAQ,cACT,CAAC,MAAO,mBAGH,SAASC,EAAeC,GAC7B,MAAOlB,EAAOmB,GAAQC,EAAAA,MAAMC,WAAWH,EAAM,QAAS,GAChDI,GAAUtB,EAChB,MAAO,GAAGsB,EAAS,IAAMC,KAAKC,MAAMF,GAAUA,KAAUH,GAC1D,CAEO,SAASM,EACdC,EACAC,GAEA,MAAMC,EAAOF,GAAYG,EAAsBF,GAE/C,GAAIC,EAAKE,WAAW,UAClB,MAAO,CAAC,QAASC,GAGnB,OAAQH,GACN,IAAK,gBACL,IAAK,kBACH,MAAO,CAAC,WAAYI,GACtB,IAAK,kBACH,MAAO,CAAC,MAAOC,GACjB,IAAK,qBACL,IAAK,0EACH,MAAO,CAAC,OAAQC,GAClB,IAAK,2BACL,IAAK,oEACH,MAAO,CAAC,QAASC,GACnB,IAAK,gCACL,IAAK,4EACH,MAAO,CAAC,aAAcC,GAG1B,OAAIR,EAAKE,WAAW,SACX,CAAC,OAAQE,GAGX,CAAC,OAAQD,EAClB,CAEO,SAASF,EAAsBF,GAAsC,IAAAU,EAC1E,IAAIC,EAAM,GACV,MAAMC,EAAUZ,aAAQ,EAARA,EAAUa,MAAM,cAIhC,OAHID,IACFD,EAAMC,EAAQ,GAAGE,eAEO,QAA1BJ,EAAOtB,EAAW2B,IAAIJ,UAAI,IAAAD,EAAAA,EAAI,SAChC,C,YC/EA,IAAIM,EAAc,GAClB,SAASC,EAAqBC,GAE5B,IADA,IAAIC,GAAU,EACLC,EAAI,EAAGA,EAAIJ,EAAYlF,OAAQsF,IACtC,GAAIJ,EAAYI,GAAGF,aAAeA,EAAY,CAC5CC,EAASC,EACT,KACF,CAEF,OAAOD,CACT,CACA,SAASE,EAAaC,EAAMrG,GAG1B,IAFA,IAAIsG,EAAa,CAAC,EACdC,EAAc,GACTJ,EAAI,EAAGA,EAAIE,EAAKxF,OAAQsF,IAAK,CACpC,IAAIK,EAAOH,EAAKF,GACZlC,EAAKjE,EAAQyG,KAAOD,EAAK,GAAKxG,EAAQyG,KAAOD,EAAK,GAClDE,EAAQJ,EAAWrC,IAAO,EAC1BgC,EAAa,GAAGxF,OAAOwD,EAAI,KAAKxD,OAAOiG,GAC3CJ,EAAWrC,GAAMyC,EAAQ,EACzB,IAAIC,EAAoBX,EAAqBC,GACzC3F,EAAM,CACRC,IAAKiG,EAAK,GACV9F,MAAO8F,EAAK,GACZ1F,UAAW0F,EAAK,GAChBhG,SAAUgG,EAAK,GACf5F,MAAO4F,EAAK,IAEd,IAA2B,IAAvBG,EACFZ,EAAYY,GAAmBC,aAC/Bb,EAAYY,GAAmBE,QAAQvG,OAClC,CACL,IAAIuG,EAAUC,EAAgBxG,EAAKN,GACnCA,EAAQ+G,QAAUZ,EAClBJ,EAAYiB,OAAOb,EAAG,EAAG,CACvBF,WAAYA,EACZY,QAASA,EACTD,WAAY,GAEhB,CACAL,EAAYvC,KAAKiC,EACnB,CACA,OAAOM,CACT,CACA,SAASO,EAAgBxG,EAAKN,GAC5B,IAAIiH,EAAMjH,EAAQkH,OAAOlH,GAYzB,OAXAiH,EAAI/G,OAAOI,GACG,SAAiB6G,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAO5G,MAAQD,EAAIC,KAAO4G,EAAOzG,QAAUJ,EAAII,OAASyG,EAAOrG,YAAcR,EAAIQ,WAAaqG,EAAO3G,WAAaF,EAAIE,UAAY2G,EAAOvG,QAAUN,EAAIM,MACzJ,OAEFqG,EAAI/G,OAAOI,EAAM6G,EACnB,MACEF,EAAI9G,QAER,CAEF,CACAL,EAAOC,QAAU,SAAUsG,EAAMrG,GAG/B,IAAIoH,EAAkBhB,EADtBC,EAAOA,GAAQ,GADfrG,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgBqH,GACrBA,EAAUA,GAAW,GACrB,IAAK,IAAIlB,EAAI,EAAGA,EAAIiB,EAAgBvG,OAAQsF,IAAK,CAC/C,IACImB,EAAQtB,EADKoB,EAAgBjB,IAEjCJ,EAAYuB,GAAOV,YACrB,CAEA,IADA,IAAIW,EAAqBnB,EAAaiB,EAASrH,GACtCwH,EAAK,EAAGA,EAAKJ,EAAgBvG,OAAQ2G,IAAM,CAClD,IACIC,EAASzB,EADKoB,EAAgBI,IAEK,IAAnCzB,EAAY0B,GAAQb,aACtBb,EAAY0B,GAAQZ,UACpBd,EAAYiB,OAAOS,EAAQ,GAE/B,CACAL,EAAkBG,CACpB,CACF,C,YCtEAzH,EAAOC,QAVP,SAA2BQ,EAAKH,GAC9B,GAAIA,EAAasH,WACftH,EAAasH,WAAWC,QAAUpH,MAC7B,CACL,KAAOH,EAAawH,YAClBxH,EAAamB,YAAYnB,EAAawH,YAExCxH,EAAayH,YAAY5H,SAAS6H,eAAevH,GACnD,CACF,C,kDCVA,IAAIwH,EAEG,SAASC,EACdC,EACAX,GAEKS,IACHA,EAAgB9H,SAASiI,cAAc,OACvCH,EAAcpE,aAAa,YAAa,MACxCoE,EAAcpE,aAAa,cAAe,QAC1C1D,SAASkI,KAAKN,YAAYE,IAG5BA,EAAcpE,aAAa,SAASyE,EAAAA,EAAAA,GAAiBH,IACrDF,EAAcM,YAAcJ,EAAS7E,MAAMN,MAAM,EAAGwE,GAEpD,MAAMgB,EAAOrI,SAASiI,cAAc,QACpCI,EAAKD,YAAc,IACnBN,EAAcF,YAAYS,GAE1B,MAAMC,EAAOD,EAAKE,wBAElB,OADAF,EAAKnI,SACE,CACLsI,IAAKF,EAAKE,IACVC,KAAMH,EAAKG,KAEf,C,kDC1BA,IAAIX,EAEG,SAASY,EACdV,EACAW,EACAC,GAEKd,IACHA,EAAgB9H,SAASiI,cAAc,OACvCH,EAAcpE,aAAa,YAAa,MACxCoE,EAAcpE,aAAa,cAAe,QAC1C1D,SAASkI,KAAKN,YAAYE,IAE5BA,EAAcpE,aAAa,SAASyE,EAAAA,EAAAA,GAAiBH,IAErDF,EAAcM,YAAcO,EAE5B,MAAMN,EAAOrI,SAASiI,cAAc,QACpCI,EAAKD,YAAcQ,EACnBd,EAAcF,YAAYS,GAE1B,MAAMQ,EAAWR,EAAKE,wBAGtB,GAFAF,EAAKnI,SAED0I,EAAehI,QAAU,EAC3B,MAAO,CAACiI,GAGV,MAAMC,EAAcF,EAAe,GAC7BG,EAAc/I,SAASiI,cAAc,QAC3Cc,EAAYX,YAAcU,EAC1BhB,EAAcF,YAAYmB,GAC1B,MAAMC,EAAcD,EAAYR,wBAChCQ,EAAY7I,SAEZ4H,EAAcM,YAAc,GAAGO,IAASC,EAAe/F,MAAM,GAAI,KACjE,MAAMoG,EAAeL,EAAeA,EAAehI,OAAS,GACtDsI,EAAelJ,SAASiI,cAAc,QAC5CiB,EAAad,YAAca,EAC3BnB,EAAcF,YAAYsB,GAC1B,MAAMC,EAAeD,EAAaX,wBAGlC,GAFAW,EAAahJ,SAET8I,EAAYR,MAAQW,EAAaX,IACnC,MAAO,CAACK,GAGV,MAAMO,EAAmB,GAGzBA,EAAMrF,KACJ,IAAIsF,QACFL,EAAYP,KACZO,EAAYR,IACZK,EAASS,MAAQN,EAAYP,KAC7BO,EAAYO,OAASP,EAAYR,MAKrC,MAAMgB,EAASL,EAAaX,IAAMQ,EAAYO,OAiB9C,OAhBIC,GAAU,IACZJ,EAAMrF,KACJ,IAAIsF,QAAQR,EAASJ,KAAMO,EAAYO,OAAQV,EAASY,MAAOD,IAKnEJ,EAAMrF,KACJ,IAAIsF,QACFR,EAASJ,KACTU,EAAaX,IACbW,EAAaG,MAAQT,EAASJ,KAC9BU,EAAaI,OAASJ,EAAaX,MAIhCY,CACT,C,YC9EA,IAAIM,EAAO,CAAC,EA+BZ7J,EAAOC,QAPP,SAA0B6J,EAAQC,GAChC,IAAIC,EAtBN,SAAmBA,GACjB,QAA4B,IAAjBH,EAAKG,GAAyB,CACvC,IAAIC,EAAc9J,SAAS+J,cAAcF,GAGzC,GAAIG,OAAOC,mBAAqBH,aAAuBE,OAAOC,kBAC5D,IAGEH,EAAcA,EAAYI,gBAAgBC,IAC5C,CAAE,MAAOC,GAEPN,EAAc,IAChB,CAEFJ,EAAKG,GAAUC,CACjB,CACA,OAAOJ,EAAKG,EACd,CAIeQ,CAAUV,GACvB,IAAKE,EACH,MAAM,IAAIS,MAAM,2GAElBT,EAAOjC,YAAYgC,EACrB,C,kBChCe,SAASW,IAYtB,OAXAA,EAAWnH,OAAOoH,OAASpH,OAAOoH,OAAOC,OAAS,SAAUZ,GAC1D,IAAK,IAAI3D,EAAI,EAAGA,EAAIwE,UAAU9J,OAAQsF,IAAK,CACzC,IAAIyE,EAASD,UAAUxE,GACvB,IAAK,IAAIhD,KAAOyH,EACVvH,OAAOwH,UAAUC,eAAeC,KAAKH,EAAQzH,KAC/C2G,EAAO3G,GAAOyH,EAAOzH,GAG3B,CACA,OAAO2G,CACT,EACOU,EAASnJ,MAAM2J,KAAML,UAC9B,C,4BCJA7K,EAAOC,QANP,SAA4BC,GAC1B,IAAIiL,EAAUhL,SAASiI,cAAc,SAGrC,OAFAlI,EAAQkL,cAAcD,EAASjL,EAAQmL,YACvCnL,EAAQ4J,OAAOqB,EAASjL,EAAQA,SACzBiL,CACT,C,2FCAA,IAAIG,EAAkC,KAE/B,SAASC,EAAeC,GAC7BF,EAAcE,CAChB,CAEO,SAASC,IACd,OAAOH,CACT,CAEAI,eAAeC,OACb,8BACAC,EAAAA,EAAAA,qBAAoBL,G,gbCuBtBM,EAAAA,EAAAA,gBAAe7J,EAAAA,GAAIC,EAAAA,GAEnB,MAAM,cAAE6J,GAAa,SAAEC,GAAQ,MAAEC,GAAK,OAAEC,KAAWC,EAAAA,EAAAA,oBAEtCC,IAAmBC,EAAAA,EAAAA,YAAWC,IAAwB,IAAAC,GAAA,IAAAC,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAC,QAAAC,GAAA,IAAAT,QAAAU,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAwCnE,MAAAc,WAMsBC,EAAAA,iBAAyCC,WAAAA,GAAA,SAAA3C,YAAA4C,EAAAA,EAAAA,GAAA,KAAAV,KAAA3J,EAAAA,EAAAA,GAAA,YAAAsK,EAAA,OACvDC,EAAAA,EAAAA,gBAAuBC,EAAAA,EAAAA,GAAA,KAAArB,GAAAsB,EAAA,QAAAD,EAAAA,EAAAA,GAAA,KAAAnB,IAAAqB,EAAA,MAAAC,EAAA,SAAAH,EAAAA,EAAAA,GAAA,KAAAlB,IAAAsB,EAAA,MAAAC,EAAA,SAAAL,EAAAA,EAAAA,GAAA,KAAAjB,IAAAuB,EAAA,MAAAC,EAAA,SAAAP,EAAAA,EAAAA,GAAA,KAAAhB,IAAAwB,EAAA,MAAAC,EAAA,SAAAT,EAAAA,EAAAA,GAAA,KAAAf,IAAAyB,EAAA,MAAAC,EAAA,SAoB7BX,EAAAA,EAAAA,GAAA,KAAAd,IAAA0B,EAAA,MAAAC,EAAA,SAMAb,EAAAA,EAAAA,GAAA,KAAAX,IAAoByB,EAAA,MAAIpL,KACtBqL,EAAAA,EAAAA,GAAA5B,GAAA7B,KAAK0D,GAAeC,KAAKvL,EAAM,KAC/BsK,EAAAA,EAAAA,GAAA,KAAAV,GAAA4B,EAAA,QAKFlB,EAAAA,EAAAA,GAAA,KAAAT,IAAiB4B,EAAA,MAAIC,KACnBL,EAAAA,EAAAA,GAAA5B,GAAA7B,KAAK+D,GAAYJ,KAAKG,EAAQ,KAC9BpB,EAAAA,EAAAA,GAAA,KAAAR,GAAA8B,EAAA,QAKFtB,EAAAA,EAAAA,GAAA,KAAAP,IAAoB8B,GAAA,MAAI3D,KACtBmD,EAAAA,EAAAA,GAAA5B,GAAA7B,KAAKkE,GAAeP,KAAKrD,EAAQ,GACjC,aAvCO6D,GAAQ,OAAAC,EAAAA,EAAAA,GAAA/C,GAAA,kBAAR8C,CAAQE,IAAAC,EAAAA,EAAAA,GAAAjD,GAAA,KAAAgD,EAAA,gBAGRE,GAAW,OAAAH,EAAAA,EAAAA,GAAA7C,GAAA,qBAAXgD,CAAWF,IAAAC,EAAAA,EAAAA,GAAA/C,GAAA,KAAA8C,EAAA,cAGXG,GAAS,OAAAJ,EAAAA,EAAAA,GAAA5C,GAAA,mBAATgD,CAASH,IAAAC,EAAAA,EAAAA,GAAA9C,GAAA,KAAA6C,EAAA,gBAGTI,GAAW,OAAAL,EAAAA,EAAAA,GAAA3C,GAAA,qBAAXgD,CAAWJ,IAAAC,EAAAA,EAAAA,GAAA7C,GAAA,KAAA4C,EAAA,aAGXK,GAAQ,OAAAN,EAAAA,EAAAA,GAAA1C,GAAA,kBAARgD,CAAQL,IAAAC,EAAAA,EAAAA,GAAA5C,GAAA,KAAA2C,EAAA,kBAGRM,GAAa,OAAAP,EAAAA,EAAAA,GAAAzC,GAAA,uBAAbgD,CAAaN,IAAAC,EAAAA,EAAAA,GAAA3C,GAAA,KAAA0C,EAAA,CA2BtBO,QAAAA,CAASxM,GAAe,IAAAyM,EACN,QAAhBA,EAAA7E,KAAK8E,IAAIC,eAAO,IAAAF,GAAhBA,EAAkBD,SAASxM,EAC7B,CAGA4M,QAAAA,GAAW,IAAAC,EACT,OAAuB,QAAvBA,EAAOjF,KAAK8E,IAAIC,eAAO,IAAAE,OAAA,EAAhBA,EAAkBD,UAC3B,CAGAE,YAAAA,GAAe,IAAAC,EACb,OAAuB,QAAvBA,EAAOnF,KAAK8E,IAAIC,eAAO,IAAAI,OAAA,EAAhBA,EAAkBD,cAC3B,CAEAE,MAAAA,GACE,OACEC,IAAAA,cAACpE,GAAgB,CACfkD,SAAUnE,KAAKmE,SACfI,YAAavE,KAAKuE,YAClBC,UAAWxE,KAAKwE,UAChBC,YAAazE,KAAKyE,YAClBC,SAAU1E,KAAK0E,SACfC,cAAe3E,KAAK2E,cACpBW,iBAAiBlB,EAAAA,EAAAA,GAAKrC,GAAL/B,MACjBuF,cAAcnB,EAAAA,EAAAA,GAAKnC,GAALjC,MACdwF,iBAAiBpB,EAAAA,EAAAA,GAAKjC,GAALnC,MACjB8E,IAAK9E,KAAK8E,KAGhB,EAmBF,SAAS3D,GAAsBsE,EAY7BX,GACA,IAZA,SACEX,EAAQ,YACRI,EAAW,UACXC,EAAS,YACTC,EAAW,SACXC,EAAQ,cACRC,EAAa,gBACbW,EAAe,aACfC,EAAY,gBACZC,GACsBC,EAGxB,MAAMC,GAAeC,EAAAA,EAAAA,QAAuB,MACtCC,GAAcD,EAAAA,EAAAA,QAA8B,OAC3CvN,EAAOwM,IAAYiB,EAAAA,EAAAA,UAAS,IAC7BC,GAAWH,EAAAA,EAAAA,QAAO,KACjBI,EAAgBC,IAAqBH,EAAAA,EAAAA,UAC1C,OAEKI,EAAgBC,IAAqBL,EAAAA,EAAAA,UAE1C,OACKM,EAAeC,IAAoBP,EAAAA,EAAAA,UAAS,KAC5CQ,EAAmBC,IAAwBT,EAAAA,EAAAA,UAAS,IACpDU,EAAqBC,IAA0BX,EAAAA,EAAAA,UAAmB,CAAC,KACnEvF,EAASmG,IAAcZ,EAAAA,EAAAA,UAAgC,OACvDa,EAAWC,IAAgBd,EAAAA,EAAAA,UAAwB,OACnDe,EAAgBC,IAAqBhB,EAAAA,EAAAA,UAC1C,OAEKiB,EAAgBC,IAAqBlB,EAAAA,EAAAA,UAE1C,OACKmB,EAAaC,IAAkBpB,EAAAA,EAAAA,UAAS,IACzCqB,GAAevB,EAAAA,EAAAA,QAA8C,MAE7DwB,EAAgBxC,aAAa,EAAbA,EAAeyC,QAC/BC,EAAe1C,aAAa,EAAbA,EAAe2C,QAC9B,MACJC,EAAK,WACLC,EAAU,YACVC,GAAW,WACXC,GAAU,SACVC,GAAQ,aACRC,GAAY,UACZC,GAAS,SACTC,GAAQ,MACRC,KACEC,EAAAA,EAAAA,GAAkBrD,IAEtBsD,EAAAA,EAAAA,YAAU,KACHd,GACHK,GACF,GACC,CAACL,EAAeK,KAEnBS,EAAAA,EAAAA,YAAU,KACR,MAAMC,EAAQjJ,OAAOkJ,mBACjBD,UACKjJ,OAAOkJ,mBAEc,iBAAnBD,aAAK,EAALA,EAAOE,WAChBtC,EAASf,QAAUmD,EAAME,QACzBxD,EAASsD,EAAME,SACjB,GACC,KAEHC,EAAAA,EAAAA,qBAAoBvD,GAAK,KAAM,CAC7BF,SAAWxM,IACT0N,EAASf,QAAU3M,EACnBwM,EAASxM,EAAM,EAEjB4M,SAAUA,IACDc,EAASf,QAElBG,aAAcA,KAAM,IAAAoD,EACC,QAAnBA,EAAA1C,EAAYb,eAAO,IAAAuD,GAAnBA,EAAqBC,OAAO,MAIhC,MAAMC,IAAWC,EAAAA,EAAAA,cACdrQ,IACC,MAAMgQ,EAAUhQ,EAAMN,MAAMkP,EAAYnR,QAAUsQ,EAActQ,QAChEyP,EAAgB8C,GAChB7C,EAAa,CACX6C,UACAb,MAAOM,GACPa,IAAKpI,EACLqI,aAAcjC,GACd,GAEJ,CACEM,EAAYnR,OACZsQ,EAActQ,OACdyK,EACAuH,GACAnB,EACAnB,EACAD,IAIEsD,IAAeH,EAAAA,EAAAA,cAClBpJ,IACKA,EAAEwJ,cAAczQ,OAASwP,IAC3BY,GAASnJ,EAAEwJ,cAAczQ,MAC3B,GAEF,CAACoQ,GAAUZ,KAGPkB,IAAeL,EAAAA,EAAAA,cAClBpJ,IACC,MAAM,MAAEjH,EAAK,eAAE2Q,EAAc,aAAEC,GAAiB3J,EAAEP,OAIlD,GAHAgH,EAASf,QAAU3M,EACnBwM,EAASxM,GAGY,OAAnB2Q,GACAA,IAAmBC,GADnBD,MAEAtE,GAAAA,EAAa5O,OACb,CACA,MAAMoT,EAAkB7Q,EAAMN,MAAM,EAAGiR,GACvC,GAAIE,EAAgB/O,WAAW,KAAM,CACnC,MAAMgP,EAAcD,EAAgBnR,MAAM,GAAG+C,cACvCsO,EAAmB1E,EACtB2E,QACEC,GACCA,EAASC,WAAWzO,cAAc0O,SAASL,IAC3CG,EAASG,KAAK3O,cAAc0O,SAASL,KAExCpR,MAAM,EAAG,IACZ,GAAIqR,EAAiBtT,OAAS,EAAG,CAC/B,MAAM4T,GAAWzM,EAAAA,EAAAA,GACfqC,EAAEwJ,cACFE,GAEIW,EAAerK,EAAEwJ,cAAcrL,wBAgBrC,OAfAwI,EAAkB,CAChBnH,MAAO,CACLnB,KAAM+L,EAAS/L,KAAO,GAAKgM,EAAahM,KACxCD,IAAKgM,EAAShM,IAAM,GAAKiM,EAAajM,IACtCgM,SAAU,WACVE,OAAQ,GAEVC,MAAO,CAAEC,MAAO,EAAGC,IAAKf,GACxBgB,QAASZ,EAAiBa,KAAKX,IAAQ,CACrClR,IAAKkR,EAASC,WACdW,KAAMZ,EAASG,KACfU,KAAMb,aAGV/C,EAAqB,EAEvB,CACF,CACF,CAGA,GAFAN,EAAkB,MAGG,OAAnB+C,GACAA,IAAmBC,GADnBD,MAEArE,GAAAA,EAAU7O,OACV,CACA,MAAMoT,EAAkB7Q,EAAMN,MAAM,EAAGiR,GACvC,GAAIE,EAAgB/O,WAAW,KAAM,CACnC,MAAM8M,EAAciC,EAAgBnR,MAAM,GAAG+C,cACvCsP,EAAkBzF,EACrB0E,QAAQ9I,GACPA,EAAQ8J,MAAMvP,cAAc0O,SAASvC,KAEtClP,MAAM,EAAG,IACZ,GAAIqS,EAAgBtU,OAAS,EAAG,CAC9B,MAAM4T,GAAWzM,EAAAA,EAAAA,GACfqC,EAAEwJ,cACFE,GAEIW,EAAerK,EAAEwJ,cAAcrL,wBAmBrC,OAlBAqJ,EAAkB,CAChBhI,MAAO,CACLnB,KAAM+L,EAAS/L,KAAO,GAAKgM,EAAahM,KACxCD,IAAKgM,EAAShM,IAAM,GAAKiM,EAAajM,IACtCgM,SAAU,WACVE,OAAQ,GAEVC,MAAO,CAAEC,MAAO,EAAGC,IAAKf,GACxBgB,QAASI,EAAgBH,KAAK1J,IAAO,CACnCnI,IAAKmI,EAAQlI,MACb6R,KAAM3J,EAAQ8J,MACdF,KAAM5J,EACN+J,UAAW,GACXC,MAAOC,GAAkBjK,EAAS,IAClCwD,QAASxD,EAAQwD,mBAGrB0C,EAAuB,CAAC,GAE1B,CACF,CACF,CACAK,EAAkB,KAAK,GAEzB,CAACpC,EAAaC,KAGhBuD,EAAAA,EAAAA,YAAU,KACJ9B,IAAkB/N,EAAMmR,SAASpD,KACnCC,EAAiB,IACjBO,EAAa,MACf,GACC,CAACR,EAAe/N,KAEnB6P,EAAAA,EAAAA,YAAU,KACJjB,IAAgB5O,EAAMmR,SAASvC,KACjCC,EAAe,IACfR,EAAW,MACXjB,EAAgB,MAClB,GACC,CAACwB,EAAaxB,EAAiBpN,IAElC,MAAMoS,IAAoB/B,EAAAA,EAAAA,cAAY,KACpCD,GAAS1C,EAASf,QAAQ,GACzB,CAACyD,MAEJP,EAAAA,EAAAA,YACE,KACMzD,GACFiG,QAAQC,UAAUC,MAAK,KAAM,IAAAC,EACR,QAAnBA,EAAAhF,EAAYb,eAAO,IAAA6F,GAAnBA,EAAqBrC,OAAO,GAEhC,GAIF,KAGFN,EAAAA,EAAAA,YAAU,KAAM,IAAA4C,EACd,MAAM5K,EAA6B,QAAtB4K,EAAGjF,EAAYb,eAAO,IAAA8F,OAAA,EAAnBA,EAAqB5K,QACrC,IAAKkG,IAAkBlG,EAErB,YADAiG,EAAkB,MAGpB,MAAM7H,GAAQV,EAAAA,EAAAA,GACZsC,EACA,GAEAkG,EAAcrO,MAAM,GAAI,IAE1BoO,EACE7H,EAAM2L,KAAKzM,IAAI,CACbG,KAAMH,EAAKG,KAAO,EAClBD,IAAKF,EAAKE,IAAM,EAChBiB,MAAOnB,EAAKmB,MAAQ,EACpBD,OAAQlB,EAAKkB,OAAS,MAEzB,GACA,CAAC0H,EAAewB,MAEnBM,EAAAA,EAAAA,YAAU,KAAM,IAAA6C,EACd,MAAM7K,EAA6B,QAAtB6K,EAAGlF,EAAYb,eAAO,IAAA+F,OAAA,EAAnBA,EAAqB7K,QACrC,IAAK+G,IAAgB/G,EAEnB,YADA8G,EAAkB,MAGpB,MAAM1I,GAAQV,EAAAA,EAAAA,GACZsC,EACA,GAEA+G,EAAYlP,MAAM,GAAI,IAExBiP,EACE1I,EAAM2L,KAAKzM,IAAI,CACbG,KAAMH,EAAKG,KAAO,EAClBD,IAAKF,EAAKE,IAAM,EAChBiB,MAAOnB,EAAKmB,MAAQ,EACpBD,OAAQlB,EAAKkB,OAAS,MAEzB,GACA,CAACuI,EAAaW,KAEjB,MAAMvH,IAAc2K,EAAAA,EAAAA,UAAQ,KAC1B,MAAMzK,GAAUC,EAAAA,EAAAA,kBAIhB,OAHID,IACFD,EAAAA,EAAAA,gBAAe,MAEVC,CAAO,GACb,KAEH2H,EAAAA,EAAAA,YAAU,KACJ7H,KACFqG,EAAWrG,GAAY0D,SACvB0B,EAAgBpF,GAAY0D,SAC9B,GACC,CAAC1D,GAAaoF,KAEjByC,EAAAA,EAAAA,YAAU,KAAM,IAAA+C,EACd,MAAM/K,EAA6B,QAAtB+K,EAAGpF,EAAYb,eAAO,IAAAiG,OAAA,EAAnBA,EAAqB/K,QACrC,GAAIG,IAAeH,EAAS,CAC1B,MAAMgL,EAAa,IAAI7K,GAAYE,WAC7BjC,GAAQV,EAAAA,EAAAA,GACZsC,EACA,GAEAgL,EAAWnT,MAAM,GAAI,IAEvBiP,EACE1I,EAAM2L,KAAKzM,IAAI,CACbG,KAAMH,EAAKG,KAAO,EAClBD,IAAKF,EAAKE,IAAM,EAChBiB,MAAOnB,EAAKmB,MAAQ,EACpBD,OAAQlB,EAAKkB,OAAS,OAG1BqH,EAASf,QAAUkG,EACnB/D,EAAanC,QAAU,CACrB8E,MAAOoB,EAAWpV,OAClBiU,IAAKmB,EAAWpV,QAElB+O,EAASqG,GACThE,EAAegE,EACjB,IACC,CAAC7K,KAEJ,MAAM8K,IAAgBzC,EAAAA,EAAAA,cACnB0C,IAAyB,IAAAC,EACxB,MAAMC,EAAU,IAAIF,EAAOlB,QACrBrM,EAAS,GAAGkI,EAASf,QAAQjN,MAAM,EAAGiO,EAAgB6D,MAAMC,SAASwB,IACrEC,EAAW,GAAG1N,IAASkI,EAASf,QAAQjN,MAAMiO,EAAgB6D,MAAME,OAC1EhE,EAASf,QAAUuG,EACnBpE,EAAanC,QAAU,CAAE8E,MAAOjM,EAAO/H,OAAQiU,IAAKlM,EAAO/H,QAC3D+O,EAAS0G,GACTlF,EAAiBiF,GACjBrF,EAAkB,MAClBW,EAAcwE,EAAiCjB,KAAMZ,YAClC,QAAnB8B,EAAAxF,EAAYb,eAAO,IAAAqG,GAAnBA,EAAqB7C,OAAO,GAE9B,CAACxC,IAGGwF,IAAsB9C,EAAAA,EAAAA,cACzB0C,IAAgC,IAAAK,EAC/B,MAAMlL,EAAU,IAAI,IAAI6K,EAAOd,UAAWL,KAAKyB,GAAOA,EAAGrB,QAAQe,EAAOlB,MAAMyB,KAAK,SAC7E9N,EAAS,GAAGkI,EAASf,QAAQjN,MAAM,EAAG8O,EAAgBgD,MAAMC,SAASvJ,IACrEgL,EAAW,GAAG1N,IAASkI,EAASf,QAAQjN,MAAM8O,EAAgBgD,MAAME,OAC1EhE,EAASf,QAAUuG,EACnBpE,EAAanC,QAAU,CAAE8E,MAAOjM,EAAO/H,OAAQiU,IAAKlM,EAAO/H,QAC3D+O,EAAS0G,GACTrE,EAAe3G,GACfuG,EAAkB,MAClBJ,EAAW0E,EAAOrH,SAClB0B,EAAgB2F,EAAOrH,SACJ,QAAnB0H,EAAA5F,EAAYb,eAAO,IAAAyG,GAAnBA,EAAqBjD,OAAO,GAE9B,CAAC3B,EAAgBpB,IAGbmG,IAAgBlD,EAAAA,EAAAA,cACnBpJ,IACC,OAAQA,EAAElH,KACR,IAAK,SACH,IAAK4N,IAAmBa,EACtB,OAOF,OALAvH,EAAEuM,iBACFvM,EAAEwM,kBACFxM,EAAEyM,YAAYC,2BACd/F,EAAkB,MAClBa,EAAkB,OACX,EACT,IAAK,UACL,IAAK,YACH,IAAKd,IAAmBa,EACtB,OAkCF,OAhCAvH,EAAEuM,iBACFvM,EAAEwM,kBACFxM,EAAEyM,YAAYC,2BACVhG,EACFO,GAAsB0F,IACpB,MAAMC,EAAYD,GAAkB,YAAV3M,EAAElH,KAAqB,EAAI,GAC/C+T,EAAQnG,EAAegE,QAAQlU,OAErC,OADcqW,EAAQD,GAAaC,CACxB,IAGb1F,GAAwBwF,IACtB,IAAIG,EAAS,GACT,QAAEpC,GAAYnD,EAClB,MAAMvL,EAAiB,GACvB,KAAO8Q,EAASH,EAAKnW,OAAS,GAAG,CAC/B,MAAMsV,EAASpB,EAAQiC,EAAKG,IAC5B,IAAIC,GAAgBjB,GAGlB,MAFApB,EAAUoB,EAAOb,MAInBjP,EAAKrC,KAAKgT,EAAKG,IACfA,GAAU,CACZ,CACA,MAAMF,EAAYD,EAAKG,IAAqB,YAAV9M,EAAElH,KAAqB,EAAI,GACvD+T,EAAQnC,EAAQlU,OAChBwW,GAAQH,EAAQD,GAAaC,EAEnC,OADA7Q,EAAKrC,KAAKqT,GACHhR,CAAI,KAGR,EAET,IAAK,QACL,IAAK,YACL,IAAK,aACH,GAAI0K,GACF,GAAc,UAAV1G,EAAElH,IAKJ,OAJAkH,EAAEuM,iBACFvM,EAAEwM,kBACFxM,EAAEyM,YAAYC,2BACdb,GAAcnF,EAAegE,QAAQ1D,KAC9B,OAEJ,GAAIO,EAAgB,CAKzB,GAJAvH,EAAEuM,iBACFvM,EAAEwM,kBACFxM,EAAEyM,YAAYC,2BAEA,cAAV1M,EAAElH,IAIJ,OAHIoO,EAAoB1Q,OAAS,GAC/B2Q,GAAwBwF,GAASA,EAAKlU,MAAM,GAAI,MAE3C,EAGT,IAEIqT,EAFAgB,EAAS,GACT,QAAEpC,GAAYnD,EAElB,KAAOuF,EAAS5F,EAAoB1Q,SAClCsV,EAASpB,EAAQxD,EAAoB4F,IACjCC,GAAgBjB,KAClBpB,EAAUoB,EAAOb,MAInB6B,GAAU,EASZ,OAPIhB,IACEiB,GAAgBjB,GAClB3E,GAAwBwF,GAAS,IAAIA,EAAM,KACxB,UAAV3M,EAAElH,KACXoT,GAAoBJ,KAGjB,CACT,CACA,MACF,IAAK,SACL,IAAK,YAAa,CAChB,MAAMmB,EAAW,CACf,CACEC,WAAYpG,EAActQ,OAC1B2W,aAAc,GAEhB,CACED,WAAYvF,EAAYnR,OACxB2W,aAAc,IAIlB,IAAK,MAAM,WAAED,EAAU,aAAEC,KAAkBF,EACzC,GAAIC,EAAY,CACd,IAAI,eAAExD,EAAc,aAAEC,GAAiB3J,EAAEwJ,cACrCE,IAAmBC,IACP,cAAV3J,EAAElH,IACJ4Q,GAAkB,EAElBC,GAAgB,GAGpB,MAAMyD,EAAeD,EACfE,EAAaD,EAAeF,EAClC,GAAIxD,EAAiB2D,GAAc1D,EAAeyD,EAAc,CAC9D,MAAM5C,EAAQlQ,KAAKgT,IAAI5D,EAAgB0D,GACjC3C,EAAMnQ,KAAKiT,IAAI5D,EAAc0D,GAC7BpB,EAAW,GAAGxF,EAASf,QAAQjN,MAAM,EAAG+R,KAAS/D,EAASf,QAAQjN,MAAMgS,KAM9E,OALAhE,EAASf,QAAUuG,EACnBpE,EAAanC,QAAU,CAAE8E,QAAOC,IAAKD,GACrCjF,EAAS0G,GACTjM,EAAEuM,iBACFvM,EAAEwM,mBACK,CACT,CACF,CAEF,KACF,EACF,GAEF,CACExF,EACAE,EACAK,EACAI,EAAYnR,OACZqV,GACAK,GACAxF,EACAI,EAActQ,SAIZgX,IAAqB9B,EAAAA,EAAAA,UAAQ,KACjC,IAAKnE,EACH,MAAO,GAET,IAAImD,EAAUnD,EAAemD,QAC7B,MAAM+C,EAAmC,GACzC,IAAK,IAAI3R,EAAI,EAAGA,EAAIoL,EAAoB1Q,OAAQsF,GAAK,EAAG,CACtD,MACMgQ,EAASpB,EADDxD,EAAoBpL,IAElC,IAAIgQ,EASF,MARA,IAAIiB,GAAgBjB,GAGb,CACL2B,EAAY9T,KAAKmS,EAAOhT,KACxB,KACF,CALE2U,EAAY9T,KAAKmS,EAAOhT,KACxB4R,EAAUoB,EAAOb,KAQvB,CACA,OAAOwC,CAAW,GACjB,CAACvG,EAAqBK,IAEnBmG,IAAkBpH,EAAAA,EAAAA,QAAwB,MAE1CqH,IAAiBvE,EAAAA,EAAAA,cACpBlB,IAAkB,IAAA0F,EACjBxF,GAAYF,GACO,QAAnB0F,EAAArH,EAAYb,eAAO,IAAAkI,GAAnBA,EAAqB1E,OAAO,GAE9B,CAACd,KAGGyF,IACH9U,IACAwP,MACEzB,GAAiB/N,EAAMvC,QAAUsQ,EAActQ,UAC/CmR,GAAe5O,EAAMvC,QAAUmR,EAAYnR,OAEhD,OACEwP,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,OAAK8H,UAAU,QACb9H,IAAAA,cAAA,OAAK8H,UAAU,YAAYrI,IAAKY,GAC9BL,IAAAA,cAAC+H,EAAAA,EAAkB,CACjB1H,aAAcA,EACdZ,IAAKc,EACLxN,MAAOA,EACPiV,QAAS,GAAK,GACdC,YAAa3F,GAAW,IAAM,GAC9B4F,YAAU,EACVpJ,SAAUA,EACVI,YAAaA,QAAAA,GAAevN,EAAAA,EAAAA,GAAEP,EAAAA,EAAEE,eAChC6W,WAAW,sBACXC,oBAAqBvG,EACrBwG,SAAU9E,GACV+E,SAAU7E,GACV8E,UAAWjC,GACXkC,QAAS9F,GACTlJ,MAAO,CACLiP,WAAYnG,GAAW,GAAK,MAG/BA,IACCtC,IAAAA,cAAC0I,EAAAA,EAAa,CACZxG,MAAOA,EACPyG,SAAUA,CAACC,EAAKC,KACdxG,GAAWuG,GACXC,SAAAA,EAAiBC,OAAO,EAE1BC,MAAOA,KAAM,IAAAC,EACY,QAAvBA,EAAAtB,GAAgBhI,eAAO,IAAAsJ,GAAvBA,EAAyBC,eAAe,IAI9CjJ,IAAAA,cAAA,OAAK8H,UAAU,eACb9H,IAAAA,cAAA,WACEA,IAAAA,cAAA,QAAMmE,KAAK,aAEbnE,IAAAA,cAAA,OAAK8H,UAAU,WACZhG,EACC9B,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACkJ,EAAAA,EAAY,CACXzJ,IAAKiI,GACLzF,OAAQD,EACRlD,SAAU2D,GACV6F,SAAWpG,IAAU,IAAAiH,EACnB/G,GAAYF,GACO,QAAnBiH,EAAA5I,EAAYb,eAAO,IAAAyJ,GAAnBA,EAAqBjG,OAAO,IAGhClD,IAAAA,cAAA,OAAK8H,UAAU,iBAEf,KACJ9H,IAAAA,cAAA,UACE8H,UAAU,WACVhJ,SAAU+I,GACVuB,QAASjE,IAETnF,IAAAA,cAAClO,EAAAA,GAAW,CAACuX,IAAI,KAAK9Q,OAAO,MAAM+Q,KAAK,gBAI7C1I,aAAc,EAAdA,EAAgB+D,KAAI,CAAC4E,EAAStS,IAC7B+I,IAAAA,cAAA,OAAKlN,IAAKmE,EAAO6Q,UAAU,kBAAkBtO,MAAO+P,MAErD9H,aAAc,EAAdA,EAAgBkD,KAAI,CAAC4E,EAAStS,IAC7B+I,IAAAA,cAAA,OAAKlN,IAAKmE,EAAO6Q,UAAU,kBAAkBtO,MAAO+P,MAErD7I,IACC8I,EAAAA,EAAAA,cACExJ,IAAAA,cAAChO,EAAAA,GAAc,CACb0S,QAAShE,EAAegE,QACxBlL,MAAOkH,EAAelH,MACtBiQ,WAAY,CAAC/I,EAAegE,QAAQ1D,GAAmBlO,KACvDb,cAAgB+H,GAAM6L,GAAc7L,EAAE0P,UAExC9Z,SAASkI,MAEZyJ,IACCiI,EAAAA,EAAAA,cACExJ,IAAAA,cAAChO,EAAAA,GAAc,CACb0S,QAASnD,EAAemD,QACxBlL,MAAO+H,EAAe/H,MACtBiQ,WAAYjC,GACZvV,cAAgB+H,GACdkM,GAAoBlM,EAAE0P,UAG1B9Z,SAASkI,QAIjBkI,IAAAA,cAAC2J,EAAAA,EAAiB,CAChB7K,UAAWgD,GAAiBW,GAC5BR,OAAQD,EACR4H,SAAUtK,aAAa,EAAbA,EAAesK,SACzBjC,eAAgBA,KAIxB,CAEA,SAASzC,GACPjK,EACA+J,GACmC,IAAA6E,EACnC,OAAsB,QAAtBA,EAAO5O,EAAQtL,eAAO,IAAAka,OAAA,EAAfA,EAAiBlF,KAAKmF,IAC3B,MAAMC,EAAgB,IAAI/E,EAAW/J,GACrC,MAAO,CACLnI,IAAKgX,EAAW/W,MAChB6R,KAAMkF,EAAW/E,MACjBF,KAAMiF,EACN9E,UAAW+E,EACX9E,MAAOC,GAAkB4E,EAAYC,GACrCtL,QAASqL,EAAWrL,QACrB,GAEL,CAEA,SAASsI,GACPjB,GACyB,IAAAkE,EACzB,QAAwC,QAAhCA,EAAElE,EAAyBb,aAAK,IAAA+E,IAA/BA,EAAiCxZ,OAC5C,CAprBCyZ,EAAAlN,KAAA/C,GAAAsD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAG,EAAA6L,EAAA/L,EAAAI,EAAAG,EAAAyL,EAAA3L,EAAAG,EAAAE,EAAAuL,GAAAxL,GAAAzB,GAAAkN,GAAAtO,GAAAuO,KAAAC,EAAAA,EAAAA,GAAAN,EAAA,CAlFA1O,GAAc,qBAAsB,CACnCiP,WAAY,CAACC,EAAAA,EAAWC,EAAAA,GACxBC,cAAe,CACbC,gBAAgB,MAElB,EAICpP,GAAS,CAAE7G,KAAMkW,UAAU,eAG3BrP,KAAU,kBAGVA,GAAS,CAAE7G,KAAMkW,UAAU,gBAG3BrP,GAAS,CAAEsP,WAAW,IAAQ,kBAG9BtP,GAAS,CAAEsP,WAAW,IAAQ,eAG9BtP,GAAS,CAAEsP,WAAW,IAAQ,oBAM9BrP,GAAM,CAAE9G,KAAM,mBAAmB,kBAAAoW,IAAAhM,EAAAA,EAAAA,GAAAxC,GAAAwO,GAAA,CAAAA,EAAA/L,KAAAC,EAAAA,EAAAA,GAAA1C,GAAAwO,EAAA/L,IAAA,CAOjCvD,GAAM,CAAE9G,KAAM,gBAAgB,eAAAoW,IAAAhM,EAAAA,EAAAA,GAAApC,GAAAoO,GAAA,CAAAA,EAAA/L,KAAAC,EAAAA,EAAAA,GAAAtC,GAAAoO,EAAA/L,IAAA,CAO9BvD,GAAM,CAAE9G,KAAM,mBAAmB,kBAAAoW,IAAAhM,EAAAA,EAAAA,GAAAlC,GAAAkO,GAAA,CAAAA,EAAA/L,KAAAC,EAAAA,EAAAA,GAAApC,GAAAkO,EAAA/L,IAAA,CAOjCtD,KAAQ,eAKRA,KAAQ,eAKRA,KAAQ,sBAAAsP,GAAAlO,GAAAmO,KAAAC,EAAAA,EAAAA,GAAAF,KAvDWhO,EAAAA,mBAAgBsN,G","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./src/chat-box/i18n.ts","webpack:///./src/chat-box/bricks.ts","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/chat-box/styles.shadow.css","webpack:///./src/cruise-canvas/utils/file.ts","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../src/getCaretPositionInTextarea.ts","webpack:///../../src/getContentRectsInTextarea.ts","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack:///./src/data-providers/set-chat-command.ts","webpack:///./src/chat-box/index.tsx"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","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","import { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type {\n ActionsEvents,\n ActionsEventsMapping,\n ActionsProps,\n EoActions,\n} from \"@next-bricks/basic/actions\";\nimport type { IconButton, IconButtonProps } from \"../icon-button\";\n\nexport const WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nexport const WrappedActions = wrapBrick<\n EoActions,\n ActionsProps & { activeKeys?: (string | number)[] },\n ActionsEvents,\n ActionsEventsMapping\n>(\"eo-actions\", {\n onActionClick: \"action.click\",\n onItemDragEnd: \"item.drag.end\",\n onItemDragStart: \"item.drag.start\",\n});\nexport const WrappedIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\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}","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","// 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)}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.actions-bar{position:absolute;bottom:12px;left:14px;right:14px;display:flex;align-items:flex-end;justify-content:space-between;gap:6px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);border:none;border-radius:8px;color:#fff;flex-shrink:0}.btn-send[disabled]{background:rgba(0,0,0,0.15)}.btn-send:not([disabled]){cursor:pointer}.btn-send:not([disabled]):hover{background:#5166ff}.btn-send:not([disabled]):active{background:#1e33cc}.mention-overlay{position:absolute;border-radius:4px;pointer-events:none;background:rgba(38,45,65,0.1)}.buttons{display:flex;align-items:center;gap:12px}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import { pipes } from \"@easyops-cn/brick-next-pipes\";\nimport fileText from \"../images/file-text@2x.png\";\nimport filePdf from \"../images/file-pdf@2x.png\";\nimport fileDoc from \"../images/file-doc@2x.png\";\nimport filePpt from \"../images/file-ppt@2x.png\";\nimport fileXls from \"../images/file-xls@2x.png\";\nimport fileOther from \"../images/file-other@2x.png\";\n\nconst MIME_TYPES = new Map<string, string>([\n [\"md\", \"text/markdown\"],\n [\"pdf\", \"application/pdf\"],\n [\"doc\", \"application/msword\"],\n [\n \"docx\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n [\"txt\", \"text/plain\"],\n [\"csv\", \"text/csv\"],\n [\"xls\", \"application/vnd.ms-excel\"],\n [\"xlsx\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n [\"ppt\", \"application/vnd.ms-powerpoint\"],\n [\n \"pptx\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n ],\n [\"jpg\", \"image/jpeg\"],\n [\"jpeg\", \"image/jpeg\"],\n [\"png\", \"image/png\"],\n [\"gif\", \"image/gif\"],\n [\"bmp\", \"image/bmp\"],\n [\"webp\", \"image/webp\"],\n [\"svg\", \"image/svg+xml\"],\n]);\n\nexport function formatFileSize(size: number) {\n const [value, unit] = pipes.unitFormat(size, \"bytes\", 1);\n const number = +value;\n return `${number > 100 ? Math.round(number) : number} ${unit}`;\n}\n\nexport function getFileTypeAndIcon(\n mimeType: string | undefined,\n filename: string | undefined\n): [type: string, icon: string] {\n const type = mimeType || getMimeTypeByFilename(filename);\n\n if (type.startsWith(\"image/\")) {\n return [\"Image\", fileOther];\n }\n\n switch (type) {\n case \"text/markdown\":\n case \"text/x-markdown\":\n return [\"Markdown\", fileText];\n case \"application/pdf\":\n return [\"PDF\", filePdf];\n case \"application/msword\":\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":\n return [\"Word\", fileDoc];\n case \"application/vnd.ms-excel\":\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":\n return [\"Excel\", fileXls];\n case \"application/vnd.ms-powerpoint\":\n case \"application/vnd.openxmlformats-officedocument.presentationml.presentation\":\n return [\"PowerPoint\", filePpt];\n }\n\n if (type.startsWith(\"text/\")) {\n return [\"Text\", fileText];\n }\n\n return [\"File\", fileOther];\n}\n\nexport function getMimeTypeByFilename(filename: string | undefined): string {\n let ext = \"\";\n const matches = filename?.match(/\\.([^.]+)$/);\n if (matches) {\n ext = matches[1].toLowerCase();\n }\n return MIME_TYPES.get(ext) ?? \"unknown\";\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import { getMirroredStyle } from \"./utils/getMirroredStyle.js\";\n\nlet hiddenElement: HTMLDivElement | undefined;\n\nexport function getCaretPositionInTextarea(\n textarea: HTMLTextAreaElement,\n index: number\n) {\n if (!hiddenElement) {\n hiddenElement = document.createElement(\"div\");\n hiddenElement.setAttribute(\"tab-index\", \"-1\");\n hiddenElement.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenElement);\n }\n\n hiddenElement.setAttribute(\"style\", getMirroredStyle(textarea));\n hiddenElement.textContent = textarea.value.slice(0, index);\n\n const span = document.createElement(\"span\");\n span.textContent = \"\\u200b\"; // 占位符\n hiddenElement.appendChild(span);\n\n const rect = span.getBoundingClientRect();\n span.remove();\n return {\n top: rect.top,\n left: rect.left,\n };\n}\n","import { getMirroredStyle } from \"./utils/getMirroredStyle.js\";\n\nlet hiddenElement: HTMLDivElement | undefined;\n\nexport function getContentRectsInTextarea(\n textarea: HTMLTextAreaElement,\n prefix: string,\n measureContent: string\n): DOMRect[] {\n if (!hiddenElement) {\n hiddenElement = document.createElement(\"div\");\n hiddenElement.setAttribute(\"tab-index\", \"-1\");\n hiddenElement.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenElement);\n }\n hiddenElement.setAttribute(\"style\", getMirroredStyle(textarea));\n\n hiddenElement.textContent = prefix;\n\n const span = document.createElement(\"span\");\n span.textContent = measureContent;\n hiddenElement.appendChild(span);\n\n const fullRect = span.getBoundingClientRect();\n span.remove();\n\n if (measureContent.length <= 1) {\n return [fullRect];\n }\n\n const leadingChar = measureContent[0];\n const leadingSpan = document.createElement(\"span\");\n leadingSpan.textContent = leadingChar;\n hiddenElement.appendChild(leadingSpan);\n const leadingRect = leadingSpan.getBoundingClientRect();\n leadingSpan.remove();\n\n hiddenElement.textContent = `${prefix}${measureContent.slice(0, -1)}`;\n const trailingChar = measureContent[measureContent.length - 1];\n const trailingSpan = document.createElement(\"span\");\n trailingSpan.textContent = trailingChar;\n hiddenElement.appendChild(trailingSpan);\n const trailingRect = trailingSpan.getBoundingClientRect();\n trailingSpan.remove();\n\n if (leadingRect.top === trailingRect.top) {\n return [fullRect];\n }\n\n const rects: DOMRect[] = [];\n\n // Leading rect\n rects.push(\n new DOMRect(\n leadingRect.left,\n leadingRect.top,\n fullRect.right - leadingRect.left,\n leadingRect.bottom - leadingRect.top\n )\n );\n\n // Middle rect\n const height = trailingRect.top - leadingRect.bottom;\n if (height >= 10) {\n rects.push(\n new DOMRect(fullRect.left, leadingRect.bottom, fullRect.width, height)\n );\n }\n\n // Trailing rect\n rects.push(\n new DOMRect(\n fullRect.left,\n trailingRect.top,\n trailingRect.right - fullRect.left,\n trailingRect.bottom - trailingRect.top\n )\n );\n\n return rects;\n}\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","import { createProviderClass } from \"@next-core/utils/general\";\nimport type { CommandPayload } from \"../shared/interfaces.js\";\n\nexport interface ChatCommand {\n command: string;\n payload: CommandPayload;\n}\n\nlet chatCommand: ChatCommand | null = null;\n\nexport function setChatCommand(command: ChatCommand | null): void {\n chatCommand = command;\n}\n\nexport function getChatCommand(): ChatCommand | null {\n return chatCommand;\n}\n\ncustomElements.define(\n \"ai-portal.set-chat-command\",\n createProviderClass(setChatCommand)\n);\n","import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n useImperativeHandle,\n createRef,\n useMemo,\n} from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport {\n getCaretPositionInTextarea,\n getContentRectsInTextarea,\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type { SimpleAction, SubMenuAction } from \"@next-bricks/basic/actions\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n getChatCommand,\n setChatCommand,\n} from \"../data-providers/set-chat-command.js\";\nimport type {\n ChatPayload,\n CommandPayload,\n UploadOptions,\n} from \"../shared/interfaces.js\";\nimport {\n UploadButton,\n type UploadButtonRef,\n} from \"../shared/FileUpload/UploadButton.js\";\nimport { UploadedFiles } from \"../shared/FileUpload/UploadedFiles.js\";\nimport UploadedFilesStyleText from \"../shared/FileUpload/UploadedFiles.shadow.css\";\nimport { WrappedActions, WrappedIcon } from \"./bricks.js\";\nimport { useFilesUploading } from \"../shared/useFilesUploading.js\";\nimport GlobalDragOverlay from \"../shared/FileUpload/GlobalDragOverlay.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport const ChatBoxComponent = forwardRef(LegacyChatBoxComponent);\n\nexport interface ChatBoxProps {\n disabled?: boolean;\n placeholder?: string;\n autoFocus?: boolean;\n aiEmployees?: AIEmployee[];\n commands?: Command[];\n uploadOptions?: UploadOptions;\n}\n\nexport interface AIEmployee {\n employeeId: string;\n name: string;\n}\n\nexport interface ChatBoxRef {\n setValue: (value: string) => void;\n getValue: () => string;\n focusOnInput: () => void;\n}\n\nexport interface Command {\n label: string;\n value: string;\n options?: Command[];\n payload?: CommandPayload;\n}\n\ntype ActionWithAncestors = SimpleAction & {\n key: string | number;\n ancestors?: Command[];\n items?: ActionWithAncestors[];\n payload?: CommandPayload;\n};\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText, UploadedFilesStyleText],\n shadowOptions: {\n delegatesFocus: true,\n },\n})\nclass ChatBox extends ReactNextElement implements ChatBoxProps {\n ref = createRef<ChatBoxRef>();\n\n @property({ type: Boolean })\n accessor disabled: boolean | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ attribute: false })\n accessor aiEmployees: AIEmployee[] | undefined;\n\n @property({ attribute: false })\n accessor commands: Command[] | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n /**\n * @deprecated Use `chat.submit` event instead\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: \"chat.submit\" })\n accessor #chatSubmit!: EventEmitter<ChatPayload>;\n\n #handleChatSubmit = (payload: ChatPayload) => {\n this.#chatSubmit.emit(payload);\n };\n\n @event({ type: \"command.select\" })\n accessor #commandSelect!: EventEmitter<CommandPayload | null>;\n\n #handleCommandSelect = (command: CommandPayload | null) => {\n this.#commandSelect.emit(command);\n };\n\n @method()\n setValue(value: string) {\n this.ref.current?.setValue(value);\n }\n\n @method()\n getValue() {\n return this.ref.current?.getValue();\n }\n\n @method()\n focusOnInput() {\n return this.ref.current?.focusOnInput();\n }\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n aiEmployees={this.aiEmployees}\n commands={this.commands}\n uploadOptions={this.uploadOptions}\n onMessageSubmit={this.#handleMessageSubmit}\n onChatSubmit={this.#handleChatSubmit}\n onCommandSelect={this.#handleCommandSelect}\n ref={this.ref}\n />\n );\n }\n}\n\ninterface ChatBoxComponentProps extends ChatBoxProps {\n onMessageSubmit: (value: string) => void;\n onChatSubmit: (payload: ChatPayload) => void;\n onCommandSelect: (command: CommandPayload | null) => void;\n ref?: React.Ref<ChatBoxRef>;\n}\n\ninterface MentionPopover {\n style: React.CSSProperties;\n range: {\n start: number;\n end: number;\n };\n actions: ActionWithAncestors[];\n}\n\nfunction LegacyChatBoxComponent(\n {\n disabled,\n placeholder,\n autoFocus,\n aiEmployees,\n commands,\n uploadOptions,\n onMessageSubmit,\n onChatSubmit,\n onCommandSelect,\n }: ChatBoxComponentProps,\n ref: React.Ref<ChatBoxRef>\n) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n const [mentionPopover, setMentionPopover] = useState<MentionPopover | null>(\n null\n );\n const [mentionOverlay, setMentionOverlay] = useState<\n React.CSSProperties[] | null\n >(null);\n const [mentionedText, setMentionedText] = useState(\"\");\n const [activeActionIndex, setActiveActionIndex] = useState(0);\n const [activeActionIndexes, setActiveActionIndexes] = useState<number[]>([0]);\n const [command, setCommand] = useState<CommandPayload | null>(null);\n const [mentioned, setMentioned] = useState<string | null>(null);\n const [commandPopover, setCommandPopover] = useState<MentionPopover | null>(\n null\n );\n const [commandOverlay, setCommandOverlay] = useState<\n React.CSSProperties[] | null\n >(null);\n const [commandText, setCommandText] = useState(\"\");\n const selectionRef = useRef<{ start: number; end: number } | null>(null);\n\n const uploadEnabled = uploadOptions?.enabled;\n const uploadAccept = uploadOptions?.accept;\n const {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\n } = useFilesUploading(uploadOptions);\n\n useEffect(() => {\n if (!uploadEnabled) {\n resetFiles();\n }\n }, [uploadEnabled, resetFiles]);\n\n useEffect(() => {\n const store = window.__elevo_try_it_out;\n if (store) {\n delete window.__elevo_try_it_out;\n }\n if (typeof store?.content === \"string\") {\n valueRef.current = store.content;\n setValue(store.content);\n }\n }, []);\n\n useImperativeHandle(ref, () => ({\n setValue: (value: string) => {\n valueRef.current = value;\n setValue(value);\n },\n getValue: () => {\n return valueRef.current;\n },\n focusOnInput: () => {\n textareaRef.current?.focus();\n },\n }));\n\n const doSubmit = useCallback(\n (value: string) => {\n const content = value.slice(commandText.length || mentionedText.length);\n onMessageSubmit(content);\n onChatSubmit({\n content,\n files: fileInfos,\n cmd: command,\n aiEmployeeId: mentioned,\n });\n },\n [\n commandText.length,\n mentionedText.length,\n command,\n fileInfos,\n mentioned,\n onChatSubmit,\n onMessageSubmit,\n ]\n );\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n if (e.currentTarget.value && allFilesDone) {\n doSubmit(e.currentTarget.value);\n }\n },\n [doSubmit, allFilesDone]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n const { value, selectionStart, selectionEnd } = e.target;\n valueRef.current = value;\n setValue(value);\n\n if (\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n aiEmployees?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n if (previousContent.startsWith(\"@\")) {\n const mentionText = previousContent.slice(1).toLowerCase();\n const matchedEmployees = aiEmployees\n .filter(\n (employee) =>\n employee.employeeId.toLowerCase().includes(mentionText) ||\n employee.name.toLowerCase().includes(mentionText)\n )\n .slice(0, 10);\n if (matchedEmployees.length > 0) {\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setMentionPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\n },\n range: { start: 0, end: selectionStart },\n actions: matchedEmployees.map((employee) => ({\n key: employee.employeeId,\n text: employee.name,\n data: employee,\n })),\n });\n setActiveActionIndex(0);\n return;\n }\n }\n }\n setMentionPopover(null);\n\n if (\n selectionStart !== null &&\n selectionStart === selectionEnd &&\n commands?.length\n ) {\n const previousContent = value.slice(0, selectionStart);\n if (previousContent.startsWith(\"/\")) {\n const commandText = previousContent.slice(1).toLowerCase();\n const matchedCommands = commands\n .filter((command) =>\n command.label.toLowerCase().includes(commandText)\n )\n .slice(0, 10);\n if (matchedCommands.length > 0) {\n const position = getCaretPositionInTextarea(\n e.currentTarget,\n selectionStart\n );\n const textareaRect = e.currentTarget.getBoundingClientRect();\n setCommandPopover({\n style: {\n left: position.left + 10 + textareaRect.left,\n top: position.top + 22 + textareaRect.top,\n position: \"absolute\",\n zIndex: 1,\n },\n range: { start: 0, end: selectionStart },\n actions: matchedCommands.map((command) => ({\n key: command.value,\n text: command.label,\n data: command,\n ancestors: [],\n items: getCommandSubMenu(command, []),\n payload: command.payload,\n })),\n });\n setActiveActionIndexes([0]);\n return;\n }\n }\n }\n setCommandPopover(null);\n },\n [aiEmployees, commands]\n );\n\n useEffect(() => {\n if (mentionedText && !value.includes(mentionedText)) {\n setMentionedText(\"\");\n setMentioned(null);\n }\n }, [mentionedText, value]);\n\n useEffect(() => {\n if (commandText && !value.includes(commandText)) {\n setCommandText(\"\");\n setCommand(null);\n onCommandSelect(null);\n }\n }, [commandText, onCommandSelect, value]);\n\n const handleSubmitClick = useCallback(() => {\n doSubmit(valueRef.current);\n }, [doSubmit]);\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 useEffect(() => {\n const element = textareaRef.current?.element;\n if (!mentionedText || !element) {\n setMentionOverlay(null);\n return;\n }\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n mentionedText.slice(0, -1)\n );\n setMentionOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n }, [mentionedText, hasFiles]);\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (!commandText || !element) {\n setCommandOverlay(null);\n return;\n }\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandText.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n }, [commandText, hasFiles]);\n\n const chatCommand = useMemo(() => {\n const command = getChatCommand();\n if (command) {\n setChatCommand(null);\n }\n return command;\n }, []);\n\n useEffect(() => {\n if (chatCommand) {\n setCommand(chatCommand.payload);\n onCommandSelect(chatCommand.payload);\n }\n }, [chatCommand, onCommandSelect]);\n\n useEffect(() => {\n const element = textareaRef.current?.element;\n if (chatCommand && element) {\n const commandStr = `/${chatCommand.command} `;\n const rects = getContentRectsInTextarea(\n element,\n \"\",\n // Ignore the last space\n commandStr.slice(0, -1)\n );\n setCommandOverlay(\n rects.map((rect) => ({\n left: rect.left - 1,\n top: rect.top - 1,\n width: rect.width + 4,\n height: rect.height + 4,\n }))\n );\n valueRef.current = commandStr;\n selectionRef.current = {\n start: commandStr.length,\n end: commandStr.length,\n };\n setValue(commandStr);\n setCommandText(commandStr);\n }\n }, [chatCommand]);\n\n const handleMention = useCallback(\n (action: SimpleAction) => {\n const mention = `@${action.text} `;\n const prefix = `${valueRef.current.slice(0, mentionPopover!.range.start)}${mention}`;\n const newValue = `${prefix}${valueRef.current.slice(mentionPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setMentionedText(mention);\n setMentionPopover(null);\n setMentioned((action as { data?: AIEmployee }).data!.employeeId);\n textareaRef.current?.focus();\n },\n [mentionPopover]\n );\n\n const handleSelectCommand = useCallback(\n (action: ActionWithAncestors) => {\n const command = `/${[...action.ancestors!.map((an) => an.label), action.text].join(\": \")} `;\n const prefix = `${valueRef.current.slice(0, commandPopover!.range.start)}${command}`;\n const newValue = `${prefix}${valueRef.current.slice(commandPopover!.range.end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start: prefix.length, end: prefix.length };\n setValue(newValue);\n setCommandText(command);\n setCommandPopover(null);\n setCommand(action.payload!);\n onCommandSelect(action.payload!);\n textareaRef.current?.focus();\n },\n [commandPopover, onCommandSelect]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n switch (e.key) {\n case \"Escape\":\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n setMentionPopover(null);\n setCommandPopover(null);\n return false;\n case \"ArrowUp\":\n case \"ArrowDown\": {\n if (!mentionPopover && !commandPopover) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n if (mentionPopover) {\n setActiveActionIndex((prev) => {\n const nextIndex = prev + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = mentionPopover.actions.length;\n const next = (total + nextIndex) % total;\n return next;\n });\n } else {\n setActiveActionIndexes((prev) => {\n let cursor = 0;\n let { actions } = commandPopover!;\n const list: number[] = [];\n while (cursor < prev.length - 1) {\n const action = actions[prev[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n list.push(prev[cursor]);\n cursor += 1;\n }\n const nextIndex = prev[cursor] + (e.key === \"ArrowUp\" ? -1 : 1);\n const total = actions.length;\n const next = (total + nextIndex) % total;\n list.push(next);\n return list;\n });\n }\n return false;\n }\n case \"Enter\":\n case \"ArrowLeft\":\n case \"ArrowRight\":\n if (mentionPopover) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n handleMention(mentionPopover.actions[activeActionIndex]);\n return false;\n }\n } else if (commandPopover) {\n e.preventDefault();\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n\n if (e.key === \"ArrowLeft\") {\n if (activeActionIndexes.length > 1) {\n setActiveActionIndexes((prev) => prev.slice(0, -1));\n }\n return false;\n }\n\n let cursor = 0;\n let { actions } = commandPopover!;\n let action: ActionWithAncestors | undefined;\n while (cursor < activeActionIndexes.length) {\n action = actions[activeActionIndexes[cursor]];\n if (isSubMenuAction(action)) {\n actions = action.items;\n } else {\n break;\n }\n cursor += 1;\n }\n if (action) {\n if (isSubMenuAction(action)) {\n setActiveActionIndexes((prev) => [...prev, 0]);\n } else if (e.key === \"Enter\") {\n handleSelectCommand(action);\n }\n }\n return false;\n }\n break;\n case \"Delete\":\n case \"Backspace\": {\n const popovers = [\n {\n textLength: mentionedText.length,\n prefixLength: 0,\n },\n {\n textLength: commandText.length,\n prefixLength: 0,\n },\n ];\n\n for (const { textLength, prefixLength } of popovers) {\n if (textLength) {\n let { selectionStart, selectionEnd } = e.currentTarget;\n if (selectionStart === selectionEnd) {\n if (e.key === \"Backspace\") {\n selectionStart -= 1;\n } else {\n selectionEnd += 1;\n }\n }\n const currentStart = prefixLength;\n const currentEnd = currentStart + textLength;\n if (selectionStart < currentEnd && selectionEnd > currentStart) {\n const start = Math.min(selectionStart, currentStart);\n const end = Math.max(selectionEnd, currentEnd);\n const newValue = `${valueRef.current.slice(0, start)}${valueRef.current.slice(end)}`;\n valueRef.current = newValue;\n selectionRef.current = { start, end: start };\n setValue(newValue);\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n }\n break;\n }\n }\n },\n [\n activeActionIndex,\n activeActionIndexes,\n commandPopover,\n commandText.length,\n handleMention,\n handleSelectCommand,\n mentionPopover,\n mentionedText.length,\n ]\n );\n\n const commandCheckedKeys = useMemo(() => {\n if (!commandPopover) {\n return [];\n }\n let actions = commandPopover.actions;\n const checkedKeys: (string | number)[] = [];\n for (let i = 0; i < activeActionIndexes.length; i += 1) {\n const index = activeActionIndexes[i];\n const action = actions[index];\n if (action) {\n if (isSubMenuAction(action)) {\n checkedKeys.push(action.key!);\n actions = action.items;\n } else {\n checkedKeys.push(action.key!);\n break;\n }\n } else {\n break;\n }\n }\n return checkedKeys;\n }, [activeActionIndexes, commandPopover]);\n\n const uploadButtonRef = useRef<UploadButtonRef>(null);\n\n const onFilesDropped = useCallback(\n (files: File[]) => {\n appendFiles(files);\n textareaRef.current?.focus();\n },\n [appendFiles]\n );\n\n const sendDisabled =\n !value ||\n !allFilesDone ||\n (!!mentionedText && value.length <= mentionedText.length) ||\n (!!commandText && value.length <= commandText.length);\n\n return (\n <>\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={hasFiles ? 144 : 60}\n autoResize\n disabled={disabled}\n placeholder={placeholder ?? t(K.ASK_ANY_THING)}\n submitWhen=\"enter-without-shift\"\n desiredSelectionRef={selectionRef}\n onSubmit={handleSubmit}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onPaste={paste}\n style={{\n paddingTop: hasFiles ? 94 : 10,\n }}\n />\n {hasFiles && (\n <UploadedFiles\n files={files!}\n onRemove={(uid, abortController) => {\n removeFile(uid);\n abortController?.abort();\n }}\n onAdd={() => {\n uploadButtonRef.current?.requestUpload();\n }}\n />\n )}\n <div className=\"actions-bar\">\n <div>\n <slot name=\"actions\"></slot>\n </div>\n <div className=\"buttons\">\n {uploadEnabled ? (\n <>\n <UploadButton\n ref={uploadButtonRef}\n accept={uploadAccept}\n disabled={exceeded}\n onChange={(files) => {\n appendFiles(files);\n textareaRef.current?.focus();\n }}\n />\n <div className=\"btn-divider\"></div>\n </>\n ) : null}\n <button\n className=\"btn-send\"\n disabled={sendDisabled}\n onClick={handleSubmitClick}\n >\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-up\" />\n </button>\n </div>\n </div>\n {mentionOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {commandOverlay?.map((overlay, index) => (\n <div key={index} className=\"mention-overlay\" style={overlay} />\n ))}\n {mentionPopover &&\n createPortal(\n <WrappedActions\n actions={mentionPopover.actions}\n style={mentionPopover.style}\n activeKeys={[mentionPopover.actions[activeActionIndex].key!]}\n onActionClick={(e) => handleMention(e.detail)}\n />,\n document.body\n )}\n {commandPopover &&\n createPortal(\n <WrappedActions\n actions={commandPopover.actions}\n style={commandPopover.style}\n activeKeys={commandCheckedKeys}\n onActionClick={(e) =>\n handleSelectCommand(e.detail as ActionWithAncestors)\n }\n />,\n document.body\n )}\n </div>\n </div>\n <GlobalDragOverlay\n disabled={!uploadEnabled || exceeded}\n accept={uploadAccept}\n dragTips={uploadOptions?.dragTips}\n onFilesDropped={onFilesDropped}\n />\n </>\n );\n}\n\nfunction getCommandSubMenu(\n command: Command,\n ancestors: Command[]\n): ActionWithAncestors[] | undefined {\n return command.options?.map((subCommand) => {\n const nextAncestors = [...ancestors, command];\n return {\n key: subCommand.value,\n text: subCommand.label,\n data: subCommand,\n ancestors: nextAncestors,\n items: getCommandSubMenu(subCommand, nextAncestors),\n payload: subCommand.payload,\n };\n });\n}\n\nfunction isSubMenuAction(\n action: SimpleAction | SubMenuAction\n): action is SubMenuAction {\n return !!(action as SubMenuAction).items?.length;\n}\n"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","K","en","ASK_ANY_THING","COMMON_TASKS","zh","NS","locales","t","i18n","getFixedT","WrappedIcon","wrapBrick","WrappedActions","onActionClick","onItemDragEnd","onItemDragStart","url","String","__esModule","default","test","slice","hash","needQuotes","replace","_defineProperty","key","value","Object","defineProperty","enumerable","configurable","writable","nonce","setAttribute","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","id","toString","MIME_TYPES","Map","formatFileSize","size","unit","pipes","unitFormat","number","Math","round","getFileTypeAndIcon","mimeType","filename","type","getMimeTypeByFilename","startsWith","fileOther","fileText","filePdf","fileDoc","fileXls","filePpt","_MIME_TYPES$get","ext","matches","match","toLowerCase","get","stylesInDOM","getIndexByIdentifier","identifier","result","i","modulesToDom","list","idCountMap","identifiers","item","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","domAPI","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","hiddenElement","getCaretPositionInTextarea","textarea","createElement","body","getMirroredStyle","textContent","span","rect","getBoundingClientRect","top","left","getContentRectsInTextarea","prefix","measureContent","fullRect","leadingChar","leadingSpan","leadingRect","trailingChar","trailingSpan","trailingRect","rects","DOMRect","right","bottom","height","width","memo","insert","style","target","styleTarget","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","_extends","assign","bind","arguments","source","prototype","hasOwnProperty","call","this","element","setAttributes","attributes","chatCommand","setChatCommand","command","getChatCommand","customElements","define","createProviderClass","initializeI18n","defineElement","property","event","method","createDecorators","ChatBoxComponent","forwardRef","LegacyChatBoxComponent","_ChatBox","_A","WeakMap","_B","_C","_D","_E","_F","_G","_ChatBox_brand","WeakSet","_handleMessageSubmit","_H","_handleChatSubmit","_I","_handleCommandSelect","ChatBox","ReactNextElement","constructor","_classPrivateMethodInitSpec","_initProto","createRef","_classPrivateFieldInitSpec","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_aiEmployees","_init_extra_aiEmployees","_init_commands","_init_extra_commands","_init_uploadOptions","_init_extra_uploadOptions","_init_messageSubmit","_init_extra_messageSubmit","_classPrivateGetter","_get_messageSubmit","emit","_init_chatSubmit","_init_extra_chatSubmit","payload","_get_chatSubmit","_init_commandSelect","_init_extra_commandSelect","_get_commandSelect","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","placeholder","autoFocus","aiEmployees","commands","uploadOptions","setValue","_this$ref$current","ref","current","getValue","_this$ref$current2","focusOnInput","_this$ref$current3","render","React","onMessageSubmit","onChatSubmit","onCommandSelect","_ref","containerRef","useRef","textareaRef","useState","valueRef","mentionPopover","setMentionPopover","mentionOverlay","setMentionOverlay","mentionedText","setMentionedText","activeActionIndex","setActiveActionIndex","activeActionIndexes","setActiveActionIndexes","setCommand","mentioned","setMentioned","commandPopover","setCommandPopover","commandOverlay","setCommandOverlay","commandText","setCommandText","selectionRef","uploadEnabled","enabled","uploadAccept","accept","files","resetFiles","appendFiles","removeFile","hasFiles","allFilesDone","fileInfos","exceeded","paste","useFilesUploading","useEffect","store","__elevo_try_it_out","content","useImperativeHandle","_textareaRef$current","focus","doSubmit","useCallback","cmd","aiEmployeeId","handleSubmit","currentTarget","handleChange","selectionStart","selectionEnd","previousContent","mentionText","matchedEmployees","filter","employee","employeeId","includes","name","position","textareaRect","zIndex","range","start","end","actions","map","text","data","matchedCommands","label","ancestors","items","getCommandSubMenu","handleSubmitClick","Promise","resolve","then","_textareaRef$current2","_textareaRef$current3","_textareaRef$current4","useMemo","_textareaRef$current5","commandStr","handleMention","action","_textareaRef$current6","mention","newValue","handleSelectCommand","_textareaRef$current7","an","join","handleKeyDown","preventDefault","stopPropagation","nativeEvent","stopImmediatePropagation","prev","nextIndex","total","cursor","isSubMenuAction","next","popovers","textLength","prefixLength","currentStart","currentEnd","min","max","commandCheckedKeys","checkedKeys","uploadButtonRef","onFilesDropped","_textareaRef$current8","sendDisabled","className","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","desiredSelectionRef","onSubmit","onChange","onKeyDown","onPaste","paddingTop","UploadedFiles","onRemove","uid","abortController","abort","onAdd","_uploadButtonRef$curr","requestUpload","UploadButton","_textareaRef$current9","onClick","lib","icon","overlay","createPortal","activeKeys","detail","GlobalDragOverlay","dragTips","_command$options","subCommand","nextAncestors","_items","_ChatBox2","_set_messageSubmit","_set_chatSubmit","_set_commandSelect","c","_initClass","_applyDecs","styleTexts","styleText","UploadedFilesStyleText","shadowOptions","delegatesFocus","Boolean","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[7218],{1740:e=>{e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var a="";n.supports&&(a+="@supports (".concat(n.supports,") {")),n.media&&(a+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(a+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),a+=n.css,i&&(a+="}"),n.media&&(a+="}"),n.supports&&(a+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(a+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(a,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},23396:(e,t,n)=>{n.d(t,{I:()=>o,K:()=>i,NS:()=>r,t:()=>s});var a=n(52616);let i=function(e){return e.TERMINATE_THE_TASK="TERMINATE_THE_TASK",e}({});const r="bricks/ai-portal/chat-input",o={en:{TERMINATE_THE_TASK:"Terminate the task"},zh:{TERMINATE_THE_TASK:"终止任务"}},s=a.i18n.getFixedT(null,r)},30855:(e,t,n)=>{e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},45962:(e,t,n)=>{n.r(t),n.d(t,{ChatInput:()=>re});var a,i=n(74635),r=n(70918),o=n(26902),s=n(5536),c=n(86121),l=n(70829),p=n(62740),u=n(18769),d=n.n(u),m=n(90870),f=n(30981),h=n(92879),b=(n(34419),n(52616)),g=n(99126),x=n(53373),v=n.n(x),A=n(23396),w=n(84479),k=n(45387),E=n(51020),T=n(45889),y=n(57227),M=n(21020);let S,C,F,N,R,_,W,I,z,O,D,B,j,H,K,L,P,q,U,$,J,G,Q,V,X;(0,b.initializeI18n)(A.NS,A.I);const Y={lib:"antd",icon:"loading-3-quarters",spinning:!0},Z={lib:"fa",prefix:"far",icon:"circle-stop"},ee=(0,f.wrapBrick)("eo-icon"),te=(0,f.wrapBrick)("ai-portal.icon-button"),{defineElement:ne,property:ae,event:ie}=(0,m.createDecorators)();let re;var oe=new WeakMap,se=new WeakMap,ce=new WeakMap,le=new WeakMap,pe=new WeakMap,ue=new WeakMap,de=new WeakMap,me=new WeakSet,fe=new WeakMap,he=new WeakMap,be=new WeakMap,ge=new WeakMap,xe=new WeakMap;class ve extends f.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,me),(0,r.A)(this,oe,C(this)),(0,r.A)(this,se,(F(this),N(this))),(0,r.A)(this,ce,(R(this),_(this))),(0,r.A)(this,le,(W(this),I(this))),(0,r.A)(this,pe,(z(this),O(this))),(0,r.A)(this,ue,(D(this),B(this))),(0,r.A)(this,de,(j(this),H(this))),(0,r.A)(this,fe,(P(this),e=>{(0,s.A)(me,this,K).emit(e)})),(0,r.A)(this,he,q(this)),(0,r.A)(this,be,(J(this),e=>{(0,s.A)(me,this,U).emit(e)})),(0,r.A)(this,ge,G(this)),(0,r.A)(this,xe,(X(this),()=>{(0,s.A)(me,this,Q).emit()}))}get placeholder(){return(0,l.A)(oe,this)}set placeholder(e){(0,c.A)(oe,this,e)}get autoFocus(){return(0,l.A)(se,this)}set autoFocus(e){(0,c.A)(se,this,e)}get submitDisabled(){return(0,l.A)(ce,this)}set submitDisabled(e){(0,c.A)(ce,this,e)}get supportsTerminate(){return(0,l.A)(le,this)}set supportsTerminate(e){(0,c.A)(le,this,e)}get terminating(){return(0,l.A)(pe,this)}set terminating(e){(0,c.A)(pe,this,e)}get uploadOptions(){return(0,l.A)(ue,this)}set uploadOptions(e){(0,c.A)(ue,this,e)}render(){return d().createElement(Ae,{placeholder:this.placeholder,autoFocus:this.autoFocus,submitDisabled:this.submitDisabled,supportsTerminate:this.supportsTerminate,terminating:this.terminating,uploadOptions:this.uploadOptions,onMessageSubmit:(0,l.A)(fe,this),onChatSubmit:(0,l.A)(be,this),onTerminate:(0,l.A)(xe,this)})}}function Ae(e){let{placeholder:t,autoFocus:n,submitDisabled:a,supportsTerminate:i,terminating:r,uploadOptions:o,onMessageSubmit:s,onChatSubmit:c,onTerminate:l}=e;const p=(0,u.useRef)(null),m=(0,u.useRef)(null),[f,b]=(0,u.useState)(""),x=(0,u.useRef)(""),[w,E]=(0,u.useState)(!1),S=null==o?void 0:o.enabled,C=null==o?void 0:o.accept,{files:F,resetFiles:N,appendFiles:R,removeFile:_,hasFiles:W,allFilesDone:I,fileInfos:z,exceeded:O,paste:D}=(0,T.O)(o),B=(0,u.useRef)(null);(0,u.useEffect)((()=>{S||N()}),[S,N]),(0,u.useEffect)((()=>{var e;n&&!a&&(null===(e=m.current)||void 0===e||e.focus())}),[n,a]);const j=(0,u.useCallback)((e=>{!a&&e&&I&&(s(e),c({content:e,files:z}),x.current="",b(""),N())}),[I,a,s,c,z,N]),H=(0,u.useCallback)((e=>{j(e.currentTarget.value)}),[j]),K=(0,u.useCallback)((e=>{x.current=e.target.value,b(e.target.value)}),[]),L=(0,u.useCallback)((()=>{j(x.current)}),[j]);(0,u.useEffect)((()=>{if(W)return void E(!0);const e=null==p?void 0:p.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&&E(!0)}));return t.observe(e),()=>{t.disconnect()}}),[W]),(0,u.useEffect)((()=>{f||W||E(!1)}),[f,W]);const P=(0,u.useCallback)((e=>{var t;for(const t of e.nativeEvent.composedPath())if(t instanceof HTMLTextAreaElement||t instanceof HTMLButtonElement)return;null===(t=m.current)||void 0===t||t.focus()}),[]),q=(0,u.useCallback)((e=>{var t;R(e),null===(t=m.current)||void 0===t||t.focus()}),[R]);return d().createElement(d().Fragment,null,d().createElement("div",{className:"container",onClick:P},d().createElement("div",{className:v()("box",{wrap:w})},d().createElement("div",{className:"input",ref:p},d().createElement(h.e,{containerRef:p,ref:m,value:f,minRows:1,maxRows:4,borderSize:0,paddingSize:W?86:16,autoResize:!0,placeholder:t,submitWhen:"enter-without-shift",onSubmit:H,onChange:K,onPaste:D,style:{paddingTop:W?78:8}}),W&&d().createElement(k.C,{files:F,className:"condensed",onRemove:(e,t)=>{_(e),null==t||t.abort()},onAdd:()=>{var e;null===(e=B.current)||void 0===e||e.requestUpload()}})),d().createElement("div",{className:"toolbar"},S?d().createElement(d().Fragment,null,d().createElement(y.s,{ref:B,accept:C,disabled:O,onChange:e=>{var t;R(e),null===(t=m.current)||void 0===t||t.focus()}}),d().createElement("div",{className:"btn-divider"})):null,a&&i?d().createElement(d().Fragment,null,r?d().createElement(te,{icon:Y,disabled:!0}):d().createElement(te,{icon:Z,tooltip:(0,A.t)(A.K.TERMINATE_THE_TASK),onClick:l})):d().createElement("button",{className:"btn-send",disabled:a||!f||!I,onClick:L},d().createElement(ee,{lib:"fa",icon:"arrow-up"}))))),d().createElement(M.A,{disabled:!S||O||(null==o?void 0:o.dragDisabled),accept:C,dragTips:null==o?void 0:o.dragTips,onFilesDropped:q}))}a=ve,({e:[C,F,N,R,_,W,I,z,O,D,B,j,H,K,L,P,q,U,$,J,G,Q,V,X],c:[re,S]}=(0,p.A)(a,[ne("ai-portal.chat-input",{styleTexts:[w.A,E.A],shadowOptions:{delegatesFocus:!0}})],[[ae(),1,"placeholder"],[ae({type:Boolean}),1,"autoFocus"],[ae({type:Boolean}),1,"submitDisabled"],[ae({type:Boolean}),1,"supportsTerminate"],[ae({type:Boolean}),1,"terminating"],[ae({attribute:!1}),1,"uploadOptions"],[ie({type:"message.submit"}),1,"messageSubmit",e=>(0,l.A)(de,e),(e,t)=>(0,c.A)(de,e,t)],[ie({type:"chat.submit"}),1,"chatSubmit",e=>(0,l.A)(he,e),(e,t)=>(0,c.A)(he,e,t)],[ie({type:"terminate"}),1,"terminate",e=>(0,l.A)(ge,e),(e,t)=>(0,c.A)(ge,e,t)]],0,(e=>xe.has((0,o.A)(e))),f.ReactNextElement)),S()},60136:(e,t,n)=>{n.d(t,{v7:()=>u,NL:()=>d,xf:()=>m});var a=n(61919);const i=n.p+"images/62542537.png",r=n.p+"images/94d7a053.png",o=n.p+"images/0e7e6764.png",s=n.p+"images/7944ebaf.png",c=n.p+"images/c7ec12fe.png",l=n.p+"images/3316492a.png",p=new Map([["md","text/markdown"],["pdf","application/pdf"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["txt","text/plain"],["csv","text/csv"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["png","image/png"],["gif","image/gif"],["bmp","image/bmp"],["webp","image/webp"],["svg","image/svg+xml"]]);function u(e){const[t,n]=a.pipes.unitFormat(e,"bytes",1),i=+t;return`${i>100?Math.round(i):i} ${n}`}function d(e,t){const n=e||m(t);if(n.startsWith("image/"))return["Image",l];switch(n){case"text/markdown":case"text/x-markdown":return["Markdown",i];case"application/pdf":return["PDF",r];case"application/msword":case"application/vnd.openxmlformats-officedocument.wordprocessingml.document":return["Word",o];case"application/vnd.ms-excel":case"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":return["Excel",c];case"application/vnd.ms-powerpoint":case"application/vnd.openxmlformats-officedocument.presentationml.presentation":return["PowerPoint",s]}return n.startsWith("text/")?["Text",i]:["File",l]}function m(e){var t;let n="";const a=null==e?void 0:e.match(/\.([^.]+)$/);return a&&(n=a[1].toLowerCase()),null!==(t=p.get(n))&&void 0!==t?t:"unknown"}},72591:e=>{var t=[];function n(e){for(var n=-1,a=0;a<t.length;a++)if(t[a].identifier===e){n=a;break}return n}function a(e,a){for(var r={},o=[],s=0;s<e.length;s++){var c=e[s],l=a.base?c[0]+a.base:c[0],p=r[l]||0,u="".concat(l," ").concat(p);r[l]=p+1;var d=n(u),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==d)t[d].references++,t[d].updater(m);else{var f=i(m,a);a.byIndex=s,t.splice(s,0,{identifier:u,updater:f,references:1})}o.push(u)}return o}function i(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,i){var r=a(e=e||[],i=i||{});return function(e){e=e||[];for(var o=0;o<r.length;o++){var s=n(r[o]);t[s].references--}for(var c=a(e,i),l=0;l<r.length;l++){var p=n(r[l]);0===t[p].references&&(t[p].updater(),t.splice(p,1))}r=c}}},73656:e=>{e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},84479:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(36758),i=n.n(a),r=n(40935),o=n.n(r)()(i());o.push([e.id,":host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.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{position:relative;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:6px 0 6px 8px;margin-left:auto;display:flex;align-items:center;gap:12px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);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}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}.files.condensed{top:2px;left:8px;right:8px}",""]);const s=o.toString()},88128:e=>{var t={};e.exports=function(e,n){var a=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(n)}},89575:(e,t,n)=>{function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},a.apply(this,arguments)}n.d(t,{A:()=>a})},93051:e=>{e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}}]);
|
|
2
|
-
//# sourceMappingURL=chat-input.2c5e645b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-input.2c5e645b.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///./src/chat-input/i18n.ts","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/chat-input/index.tsx","webpack:///./src/cruise-canvas/utils/file.ts","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///./src/chat-input/styles.shadow.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","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","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","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\";\nimport { UploadedFiles } from \"../shared/FileUpload/UploadedFiles.js\";\nimport UploadedFilesStyleText from \"../shared/FileUpload/UploadedFiles.shadow.css\";\nimport { useFilesUploading } from \"../shared/useFilesUploading.js\";\nimport {\n UploadButton,\n type UploadButtonRef,\n} from \"../shared/FileUpload/UploadButton.js\";\nimport type { ChatPayload, UploadOptions } from \"../shared/interfaces.js\";\nimport GlobalDragOverlay from \"../shared/FileUpload/GlobalDragOverlay.js\";\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 uploadOptions?: UploadOptions;\n}\n\nexport interface ChatInputEvents {\n \"chat.submit\": CustomEvent<ChatPayload>;\n terminate: Event;\n}\n\nexport interface ChatInputMapEvents {\n onChatSubmit: \"chat.submit\";\n onTerminate: \"terminate\";\n}\n\n/**\n * 构件 `ai-portal.chat-input`\n */\nexport\n@defineElement(\"ai-portal.chat-input\", {\n styleTexts: [styleText, UploadedFilesStyleText],\n shadowOptions: {\n delegatesFocus: true,\n },\n})\nclass ChatInput extends ReactNextElement implements ChatInputProps {\n @property()\n accessor placeholder: string | undefined;\n\n @property({ type: Boolean })\n accessor autoFocus: boolean | undefined;\n\n @property({ type: Boolean })\n accessor submitDisabled: boolean | undefined;\n\n @property({ type: Boolean })\n accessor supportsTerminate: boolean | undefined;\n\n @property({ type: Boolean })\n accessor terminating: boolean | undefined;\n\n @property({ attribute: false })\n accessor uploadOptions: UploadOptions | undefined;\n\n /**\n * @deprecated Use `chat.submit` event instead\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: \"chat.submit\" })\n accessor #chatSubmit!: EventEmitter<ChatPayload>;\n\n #handleChatSubmit = (payload: ChatPayload) => {\n this.#chatSubmit.emit(payload);\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 uploadOptions={this.uploadOptions}\n onMessageSubmit={this.#handleMessageSubmit}\n onChatSubmit={this.#handleChatSubmit}\n onTerminate={this.#handleTerminate}\n />\n );\n }\n}\n\ninterface ChatInputComponentProps extends ChatInputProps {\n onMessageSubmit: (value: string) => void;\n onChatSubmit: (payload: ChatPayload) => void;\n onTerminate: () => void;\n}\n\nfunction ChatInputComponent({\n placeholder,\n autoFocus,\n submitDisabled,\n supportsTerminate,\n terminating,\n uploadOptions,\n onMessageSubmit,\n onChatSubmit,\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 const uploadEnabled = uploadOptions?.enabled;\n const uploadAccept = uploadOptions?.accept;\n const {\n files,\n resetFiles,\n appendFiles,\n removeFile,\n hasFiles,\n allFilesDone,\n fileInfos,\n exceeded,\n paste,\n } = useFilesUploading(uploadOptions);\n const uploadButtonRef = useRef<UploadButtonRef>(null);\n\n useEffect(() => {\n if (!uploadEnabled) {\n resetFiles();\n }\n }, [uploadEnabled, resetFiles]);\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 || !allFilesDone) {\n return;\n }\n\n onMessageSubmit(value);\n onChatSubmit({ content: value, files: fileInfos });\n valueRef.current = \"\";\n setValue(\"\");\n resetFiles();\n },\n [\n allFilesDone,\n submitDisabled,\n onMessageSubmit,\n onChatSubmit,\n fileInfos,\n resetFiles,\n ]\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 if (hasFiles) {\n setWrap(true);\n return;\n }\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 }, [hasFiles]);\n\n useEffect(() => {\n if (!value && !hasFiles) {\n setWrap(false);\n }\n }, [value, hasFiles]);\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 const onFilesDropped = useCallback(\n (files: File[]) => {\n appendFiles(files);\n textareaRef.current?.focus();\n },\n [appendFiles]\n );\n\n return (\n <>\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={hasFiles ? 86 : 16}\n autoResize\n placeholder={placeholder}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n onPaste={paste}\n style={{\n paddingTop: hasFiles ? 78 : 8,\n }}\n />\n {hasFiles && (\n <UploadedFiles\n files={files!}\n className=\"condensed\"\n onRemove={(uid, abortController) => {\n removeFile(uid);\n abortController?.abort();\n }}\n onAdd={() => {\n uploadButtonRef.current?.requestUpload();\n }}\n />\n )}\n </div>\n <div className=\"toolbar\">\n {uploadEnabled ? (\n <>\n <UploadButton\n ref={uploadButtonRef}\n accept={uploadAccept}\n disabled={exceeded}\n onChange={(files) => {\n appendFiles(files);\n textareaRef.current?.focus();\n }}\n />\n <div className=\"btn-divider\"></div>\n </>\n ) : null}\n {!submitDisabled || !supportsTerminate ? (\n <button\n className=\"btn-send\"\n disabled={submitDisabled || !value || !allFilesDone}\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 <GlobalDragOverlay\n disabled={!uploadEnabled || exceeded || uploadOptions?.dragDisabled}\n accept={uploadAccept}\n dragTips={uploadOptions?.dragTips}\n onFilesDropped={onFilesDropped}\n />\n </>\n );\n}\n","import { pipes } from \"@easyops-cn/brick-next-pipes\";\nimport fileText from \"../images/file-text@2x.png\";\nimport filePdf from \"../images/file-pdf@2x.png\";\nimport fileDoc from \"../images/file-doc@2x.png\";\nimport filePpt from \"../images/file-ppt@2x.png\";\nimport fileXls from \"../images/file-xls@2x.png\";\nimport fileOther from \"../images/file-other@2x.png\";\n\nconst MIME_TYPES = new Map<string, string>([\n [\"md\", \"text/markdown\"],\n [\"pdf\", \"application/pdf\"],\n [\"doc\", \"application/msword\"],\n [\n \"docx\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n ],\n [\"txt\", \"text/plain\"],\n [\"csv\", \"text/csv\"],\n [\"xls\", \"application/vnd.ms-excel\"],\n [\"xlsx\", \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"],\n [\"ppt\", \"application/vnd.ms-powerpoint\"],\n [\n \"pptx\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n ],\n [\"jpg\", \"image/jpeg\"],\n [\"jpeg\", \"image/jpeg\"],\n [\"png\", \"image/png\"],\n [\"gif\", \"image/gif\"],\n [\"bmp\", \"image/bmp\"],\n [\"webp\", \"image/webp\"],\n [\"svg\", \"image/svg+xml\"],\n]);\n\nexport function formatFileSize(size: number) {\n const [value, unit] = pipes.unitFormat(size, \"bytes\", 1);\n const number = +value;\n return `${number > 100 ? Math.round(number) : number} ${unit}`;\n}\n\nexport function getFileTypeAndIcon(\n mimeType: string | undefined,\n filename: string | undefined\n): [type: string, icon: string] {\n const type = mimeType || getMimeTypeByFilename(filename);\n\n if (type.startsWith(\"image/\")) {\n return [\"Image\", fileOther];\n }\n\n switch (type) {\n case \"text/markdown\":\n case \"text/x-markdown\":\n return [\"Markdown\", fileText];\n case \"application/pdf\":\n return [\"PDF\", filePdf];\n case \"application/msword\":\n case \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":\n return [\"Word\", fileDoc];\n case \"application/vnd.ms-excel\":\n case \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":\n return [\"Excel\", fileXls];\n case \"application/vnd.ms-powerpoint\":\n case \"application/vnd.openxmlformats-officedocument.presentationml.presentation\":\n return [\"PowerPoint\", filePpt];\n }\n\n if (type.startsWith(\"text/\")) {\n return [\"Text\", fileText];\n }\n\n return [\"File\", fileOther];\n}\n\nexport function getMimeTypeByFilename(filename: string | undefined): string {\n let ext = \"\";\n const matches = filename?.match(/\\.([^.]+)$/);\n if (matches) {\n ext = matches[1].toLowerCase();\n }\n return MIME_TYPES.get(ext) ?? \"unknown\";\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// 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}button:focus,\ntextarea:focus{outline:none}button{margin:0;padding:0;font:inherit;background:none;border:none}.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{position:relative;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:6px 0 6px 8px;margin-left:auto;display:flex;align-items:center;gap:12px}.btn-send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--elevo-color-brand);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}.btn-divider{width:1px;height:16px;background:rgba(0,0,0,0.1)}.files.condensed{top:2px;left:8px;right:8px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","K","NS","locales","en","TERMINATE_THE_TASK","zh","t","i18n","getFixedT","nonce","setAttribute","initializeI18n","ICON_LOADING","lib","icon","spinning","ICON_STOP","prefix","WrappedIcon","wrapBrick","WrappedIconButton","defineElement","property","event","createDecorators","_ChatInput","_A","WeakMap","_B","_C","_D","_E","_F","_G","_ChatInput_brand","WeakSet","_handleMessageSubmit","_H","_handleChatSubmit","_I","_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_uploadOptions","_init_extra_uploadOptions","_init_messageSubmit","_init_extra_messageSubmit","value","_classPrivateGetter","this","_get_messageSubmit","emit","_init_chatSubmit","_init_extra_chatSubmit","payload","_get_chatSubmit","_init_terminate","_init_extra_terminate","_get_terminate","placeholder","_classPrivateFieldGet","v","_classPrivateFieldSet","autoFocus","submitDisabled","supportsTerminate","terminating","uploadOptions","render","React","ChatInputComponent","onMessageSubmit","onChatSubmit","onTerminate","_ref","containerRef","useRef","textareaRef","setValue","useState","valueRef","wrap","setWrap","uploadEnabled","enabled","uploadAccept","accept","files","resetFiles","appendFiles","removeFile","hasFiles","allFilesDone","fileInfos","exceeded","paste","useFilesUploading","uploadButtonRef","useEffect","_textareaRef$current","current","focus","onBeforeSubmit","useCallback","content","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","onFilesDropped","_textareaRef$current3","className","onClick","classNames","ref","TextareaAutoResize","minRows","maxRows","borderSize","paddingSize","autoResize","submitWhen","onSubmit","onChange","onPaste","style","paddingTop","UploadedFiles","onRemove","uid","abortController","abort","onAdd","_uploadButtonRef$curr","requestUpload","UploadButton","disabled","_textareaRef$current4","tooltip","GlobalDragOverlay","dragDisabled","dragTips","_ChatInput2","_set_messageSubmit","_set_chatSubmit","_set_terminate","c","_initClass","_applyDecs","styleTexts","styleText","UploadedFilesStyleText","shadowOptions","delegatesFocus","type","Boolean","attribute","o","_","has","_checkInRHS","MIME_TYPES","Map","formatFileSize","size","unit","pipes","unitFormat","number","Math","round","getFileTypeAndIcon","mimeType","filename","getMimeTypeByFilename","startsWith","fileOther","fileText","filePdf","fileDoc","fileXls","filePpt","_MIME_TYPES$get","ext","matches","match","toLowerCase","get","stylesInDOM","getIndexByIdentifier","identifier","result","i","modulesToDom","list","idCountMap","identifiers","id","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","push","api","domAPI","newObj","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","___CSS_LOADER_EXPORT___","toString","memo","insert","styleTarget","querySelector","window","HTMLIFrameElement","contentDocument","head","getTarget","Error","_extends","Object","assign","bind","source","key","prototype","hasOwnProperty","call","element","createElement","setAttributes","attributes"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/notice-dropdown.37b8ffb2.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/notice-dropdown/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///../../node_modules/css-loader/dist/runtime/getUrl.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///./src/shared/parseTemplate.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///./src/notice-dropdown/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/notice-dropdown/i18n.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js"],"sourcesContent":["import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\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:inline-block}:host([hidden]){display:none}.popover::part(popup){border-radius:12px}.notice-dropdown-content{max-width:500px;border-radius:12px;display:flex;flex-direction:column;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:cover}.header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}.title{font-size:18px;font-weight:500;color:var(--text-color-title)}.close-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#000}ul{list-style:none;margin:0;padding:4px}.content{flex:1;max-height:500px;overflow-y:auto}.link{display:block}.link::part(link){display:flex;align-items:start;gap:12px;padding:10px 16px}.link:hover::part(link):hover{background-color:rgba(0,0,0,0.04);border-radius:8px}.link:last-child{border-bottom:none}.icon-wrapper{position:relative;flex-shrink:0;width:18px;height:18px;padding:2px 0;display:flex;align-items:center;justify-content:center;font-size:18px}.message-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.primary-text{font-size:14px;font-weight:400;line-height:20px;color:var(--text-color-title)}.secondary-text{color:rgba(0,0,0,0.45)}.empty-state{padding:60px 20px;text-align:center;font-size:14px;color:var(--text-color-secondary)}.footer{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 10px;box-shadow:0px -12px 16px -8px rgba(0,0,0,0.08);border-radius:0px 0px 12px 12px}.footer .footer-button::part(button){color:var(--text-color-secondary)}.footer .footer-button::part(button):hover{color:var(--text-color-default)!important}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","\"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 _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","import { get } from \"lodash\";\n\nexport function parseTemplate(\n template: string | undefined,\n context: Record<string, any>\n) {\n return template?.replace(/{{(.*?)}}/g, (_match: string, key: string) => {\n const value = get(context, key.trim());\n return value;\n });\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import React, { useState, useCallback } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\nimport {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n Placement,\n} from \"@next-bricks/basic/popover\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport { EoCounterBadge, BadgeProps } from \"@next-bricks/basic/counter-badge\";\nimport { IconButton, IconButtonProps } from \"../icon-button/index.js\";\nimport { NoticeItem } from \"../shared/interfaces.js\";\n\nimport { parseTemplate } from \"../shared/parseTemplate.js\";\nimport projectNotifySvg from \"./images/project-notify.svg?url\";\nimport accountNotifySvg from \"./images/account-notify.svg?url\";\nimport systemNotifySvg from \"./images/system-notify.svg?url\";\nimport spaceNotifySvg from \"./images/space-notify.svg?url\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n onBeforeVisibleChange: \"before.visible.change\",\n});\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrapperCounterBadge = wrapBrick<EoCounterBadge, BadgeProps>(\n \"eo-counter-badge\"\n);\nconst WrapperIconButton = wrapBrick<IconButton, IconButtonProps>(\n \"ai-portal.icon-button\"\n);\n\nexport interface NoticeDropdownProps {\n /** 消息数据列表 */\n dataSource?: NoticeItem[];\n /** 弹窗位置 */\n popoverPlacement?: Placement;\n /** 空状态文案 */\n emptyText?: string;\n /** 通知中心URL */\n notifyCenterUrl?: string;\n /** 详情链接 */\n urlTemplate?: string;\n /** 下拉框最大宽度 */\n dropdownMaxWidth?: string | number;\n /** 下拉框内容样式 */\n dropdownContentStyle?: React.CSSProperties;\n /** 是否隐藏进入消息中心按钮 */\n hideNotifyCenterButton?: boolean;\n}\n\n/**\n * 构件 `ai-portal.notice-dropdown`\n *\n * 消息通知下拉框构件,用于展示消息列表\n */\nexport\n@defineElement(\"ai-portal.notice-dropdown\", {\n styleTexts: [styleText],\n})\nclass NoticeDropdown extends ReactNextElement implements NoticeDropdownProps {\n /** 消息数据列表 */\n @property({ attribute: false })\n accessor dataSource: NoticeItem[] | undefined;\n\n /**\n * 弹窗位置\n */\n @property()\n accessor popoverPlacement: Placement | undefined;\n\n /** 空状态文案 */\n @property()\n accessor emptyText: string | undefined;\n\n /** 通知中心URL */\n @property()\n accessor notifyCenterUrl: string | undefined;\n\n /** 详情链接 */\n @property()\n accessor urlTemplate: string | undefined;\n\n /** 下拉框最大宽度 */\n @property()\n accessor dropdownMaxWidth: string | number | undefined;\n\n /** 下拉框内容样式 */\n @property({ attribute: false })\n accessor dropdownContentStyle: React.CSSProperties | undefined;\n\n /** 是否隐藏进入消息中心按钮 */\n @property({ type: Boolean })\n accessor hideNotifyCenterButton: boolean | undefined;\n\n /**\n * 消息项点击事件\n * @detail 消息 ID\n */\n @event({ type: \"notice.click\" })\n accessor #noticeClickEvent!: EventEmitter<string>;\n\n /**\n * 全部已读点击事件\n */\n @event({ type: \"mark.all.read\" })\n accessor #markAllReadEvent!: EventEmitter<void>;\n\n #handleNoticeClick = (id: string) => {\n this.#noticeClickEvent.emit(id);\n };\n\n #handleMarkAllRead = () => {\n this.#markAllReadEvent.emit();\n };\n\n render() {\n return (\n <NoticeDropdownComponent\n dataSource={this.dataSource}\n popoverPlacement={this.popoverPlacement}\n emptyText={this.emptyText}\n onNoticeClick={this.#handleNoticeClick}\n urlTemplate={this.urlTemplate}\n dropdownMaxWidth={this.dropdownMaxWidth}\n notifyCenterUrl={this.notifyCenterUrl}\n dropdownContentStyle={this.dropdownContentStyle}\n onMarkAllRead={this.#handleMarkAllRead}\n hideNotifyCenterButton={this.hideNotifyCenterButton}\n />\n );\n }\n}\n\ninterface NoticeDropdownComponentProps extends NoticeDropdownProps {\n onNoticeClick: (id: string) => void;\n onMarkAllRead: () => void;\n}\n\nfunction NoticeDropdownComponent({\n dataSource = [],\n popoverPlacement,\n emptyText,\n notifyCenterUrl,\n urlTemplate,\n dropdownMaxWidth,\n dropdownContentStyle,\n onNoticeClick,\n onMarkAllRead,\n hideNotifyCenterButton,\n}: NoticeDropdownComponentProps) {\n const [open, setOpen] = useState(false);\n\n const handleBeforeVisibleChange = useCallback((e: CustomEvent<boolean>) => {\n setOpen(e.detail);\n }, []);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleNoticeItemClick = useCallback(\n (id: string) => {\n onNoticeClick(id);\n },\n [onNoticeClick]\n );\n\n const handleMarkAllReadClick = useCallback(() => {\n onMarkAllRead();\n }, [onMarkAllRead]);\n\n return (\n <WrappedPopover\n className=\"popover\"\n placement={popoverPlacement}\n trigger=\"click\"\n active={open}\n arrow={false}\n distance={8}\n onBeforeVisibleChange={handleBeforeVisibleChange}\n >\n <span slot=\"anchor\">\n <slot name=\"trigger\">\n <WrapperCounterBadge\n showZero={false}\n dot={true}\n count={dataSource?.length ?? 0}\n offset={[-5, 0]}\n >\n <WrapperIconButton icon={{ lib: \"antd\", icon: \"bell\" }} />\n </WrapperCounterBadge>\n </slot>\n </span>\n <div\n className=\"notice-dropdown-content\"\n style={{ maxWidth: dropdownMaxWidth }}\n >\n <div className=\"header\">\n <div className=\"title\">{t(K.MESSAGE_LIST)}</div>\n <div className=\"close-btn\" onClick={handleClose}>\n <WrappedIcon lib=\"antd\" icon=\"close\" />\n </div>\n </div>\n\n <div className=\"content\" style={dropdownContentStyle}>\n {dataSource.length > 0 ? (\n <ul className=\"message-list\">\n {dataSource.map((item) => (\n <li key={item.id}>\n <WrappedLink\n className=\"link\"\n url={parseTemplate(urlTemplate, item)}\n onClick={() => handleNoticeItemClick(item.id)}\n >\n <div className=\"icon-wrapper\">\n <WrappedIcon\n imgSrc={getNotifyIcon(item.type)}\n keepSvgOriginalColor={true}\n />\n </div>\n <div className=\"message-content\">\n <div className=\"primary-text\">{item.title}</div>\n {item.description && (\n <div className=\"secondary-text\">{item.description}</div>\n )}\n </div>\n </WrappedLink>\n </li>\n ))}\n </ul>\n ) : (\n <div className=\"empty-state\">\n {emptyText || t(K.NO_NEW_MESSAGE)}\n </div>\n )}\n </div>\n\n <div className=\"footer\">\n <WrappedButton\n disabled={!dataSource?.length}\n type=\"text\"\n className=\"footer-button\"\n onClick={handleMarkAllReadClick}\n >\n {t(K.MARK_ALL_READ)}\n </WrappedButton>\n {!hideNotifyCenterButton && (\n <WrappedButton\n href={notifyCenterUrl}\n type=\"text\"\n className=\"footer-button\"\n >\n {t(K.ENTER_MESSAGE_CENTER)} >\n </WrappedButton>\n )}\n </div>\n </div>\n </WrappedPopover>\n );\n}\n\nfunction getNotifyIcon(type: string): string {\n switch (type) {\n case \"project\":\n return projectNotifySvg;\n case \"account\":\n return accountNotifySvg;\n case \"system\":\n return systemNotifySvg;\n case \"space\":\n return spaceNotifySvg;\n default:\n return projectNotifySvg;\n }\n}\n","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n MESSAGE_LIST = \"MESSAGE_LIST\",\n NO_NEW_MESSAGE = \"NO_NEW_MESSAGE\",\n MARK_ALL_READ = \"MARK_ALL_READ\",\n ENTER_MESSAGE_CENTER = \"ENTER_MESSAGE_CENTER\",\n}\n\nconst en: Locale = {\n MESSAGE_LIST: \"Message List\",\n NO_NEW_MESSAGE: \"No new messages for now\",\n MARK_ALL_READ: \"Mark all as read\",\n ENTER_MESSAGE_CENTER: \"Enter Message Center\",\n};\n\nconst zh: Locale = {\n MESSAGE_LIST: \"消息列表\",\n NO_NEW_MESSAGE: \"暂无新消息\",\n MARK_ALL_READ: \"全部已读\",\n ENTER_MESSAGE_CENTER: \"进入消息中心\",\n};\n\nexport const NS = \"bricks/ai-portal/notice-dropdown\";\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 assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}"],"names":["_classPrivateGetter","s","r","a","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","toPropertyKey","t","i","e","Symbol","toPrimitive","call","TypeError","String","_assertClassBrand","n","has","arguments","length","_typeof","o","iterator","constructor","prototype","exports","url","options","__esModule","default","test","slice","hash","needQuotes","concat","replace","_checkInRHS","Object","cssWithMappingToString","list","this","map","item","content","needLayer","join","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","setFunctionName","description","defineProperty","configurable","value","applyDecs2311","c","u","f","l","p","d","metadata","m","h","create","y","v","g","apply","b","applyDec","w","D","S","j","E","I","P","F","get","set","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","checkInRHS","parseTemplate","template","context","_match","key","trim","_classPrivateFieldGet2","_classPrivateFieldInitSpec","obj","privateMap","_checkPrivateRedeclaration","privateCollection","initializeI18n","NS","locales","defineElement","property","event","createDecorators","WrappedPopover","wrapBrick","onVisibleChange","onBeforeVisibleChange","WrappedIcon","WrappedLink","WrappedButton","WrapperCounterBadge","WrapperIconButton","_NoticeDropdown","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_NoticeDropdown_brand","WeakSet","_J","_handleNoticeClick","_handleMarkAllRead","NoticeDropdown","ReactNextElement","_classPrivateMethodInitSpec","_init_dataSource","_init_extra_dataSource","_init_popoverPlacement","_init_extra_popoverPlacement","_init_emptyText","_init_extra_emptyText","_init_notifyCenterUrl","_init_extra_notifyCenterUrl","_init_urlTemplate","_init_extra_urlTemplate","_init_dropdownMaxWidth","_init_extra_dropdownMaxWidth","_init_dropdownContentStyle","_init_extra_dropdownContentStyle","_init_hideNotifyCenterButton","_init_extra_hideNotifyCenterButton","_init_noticeClickEvent","_init_extra_noticeClickEvent","_init_markAllReadEvent","_init_extra_markAllReadEvent","_get_noticeClickEvent","emit","_get_markAllReadEvent","dataSource","_classPrivateFieldGet","_classPrivateFieldSet","popoverPlacement","emptyText","notifyCenterUrl","urlTemplate","dropdownMaxWidth","dropdownContentStyle","hideNotifyCenterButton","render","React","NoticeDropdownComponent","onNoticeClick","onMarkAllRead","_ref","_dataSource$length","open","setOpen","useState","handleBeforeVisibleChange","useCallback","detail","handleClose","handleNoticeItemClick","handleMarkAllReadClick","className","placement","trigger","active","arrow","distance","slot","showZero","dot","count","offset","icon","lib","style","maxWidth","MESSAGE_LIST","onClick","imgSrc","getNotifyIcon","type","keepSvgOriginalColor","title","NO_NEW_MESSAGE","disabled","MARK_ALL_READ","href","ENTER_MESSAGE_CENTER","projectNotifySvg","accountNotifySvg","systemNotifySvg","spaceNotifySvg","_NoticeDropdown2","_set_noticeClickEvent","_set_markAllReadEvent","_initClass","_applyDecs","styleTexts","styleText","attribute","Boolean","_","privateSet","add","en","zh","i18n","getFixedT","_classPrivateFieldSet2"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function acceptFiles(accept: string, files: File[]): boolean;
|
|
File without changes
|