@next-bricks/ai-portal 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +6 -5
- package/dist/chunks/4798.83b08045.js +2 -0
- package/dist/chunks/4798.83b08045.js.map +1 -0
- package/dist/chunks/6773.d116d4e1.js +2 -0
- package/dist/chunks/6773.d116d4e1.js.map +1 -0
- package/dist/chunks/7301.3b2a58c8.js +2 -0
- package/dist/chunks/7301.3b2a58c8.js.map +1 -0
- package/dist/chunks/940.98a91cc2.js +3 -0
- package/dist/chunks/940.98a91cc2.js.map +1 -0
- package/dist/chunks/{chat-box.25b3ea6a.js → chat-box.76f50d83.js} +2 -2
- package/dist/chunks/chat-box.76f50d83.js.map +1 -0
- package/dist/chunks/chat-history.bd511d07.js +3 -0
- package/dist/chunks/chat-history.bd511d07.js.map +1 -0
- package/dist/chunks/cruise-canvas.c20630cb.js +2 -0
- package/dist/chunks/cruise-canvas.c20630cb.js.map +1 -0
- package/dist/chunks/{main.53a4ef9d.js → main.21ef963e.js} +2 -2
- package/dist/chunks/{main.53a4ef9d.js.map → main.21ef963e.js.map} +1 -1
- package/dist/examples.json +3 -3
- package/dist/{index.72730e54.js → index.a4bc3033.js} +2 -2
- package/dist/{index.72730e54.js.map → index.a4bc3033.js.map} +1 -1
- package/dist/manifest.json +25 -25
- package/dist/types.json +20 -11
- package/dist-types/cruise-canvas/HumanAdjustPlan/HumanAdjustPlan.d.ts +5 -0
- package/dist-types/cruise-canvas/HumanConfirm/HumanConfirm.d.ts +6 -0
- package/dist-types/cruise-canvas/constants.d.ts +2 -2
- package/dist-types/cruise-canvas/getContentEditable.d.ts +2 -0
- package/dist-types/cruise-canvas/i18n.d.ts +6 -1
- package/dist-types/cruise-canvas/interfaces.d.ts +2 -2
- package/package.json +2 -2
- package/dist/chunks/2569.ba4c489c.js +0 -2
- package/dist/chunks/2569.ba4c489c.js.map +0 -1
- package/dist/chunks/6773.7fbec27a.js +0 -2
- package/dist/chunks/6773.7fbec27a.js.map +0 -1
- package/dist/chunks/7301.8d3e5e32.js +0 -2
- package/dist/chunks/7301.8d3e5e32.js.map +0 -1
- package/dist/chunks/792.8349aa42.js +0 -3
- package/dist/chunks/792.8349aa42.js.map +0 -1
- package/dist/chunks/chat-box.25b3ea6a.js.map +0 -1
- package/dist/chunks/chat-history.ba64d223.js +0 -3
- package/dist/chunks/chat-history.ba64d223.js.map +0 -1
- package/dist/chunks/cruise-canvas.65f61916.js +0 -2
- package/dist/chunks/cruise-canvas.65f61916.js.map +0 -1
- /package/dist/chunks/{792.8349aa42.js.LICENSE.txt → 940.98a91cc2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-history.ba64d223.js.LICENSE.txt → chat-history.bd511d07.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-box.25b3ea6a.js","mappings":"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","sources":["webpack:///./src/chat-box/i18n.ts","webpack:///../../../src/utils/calculateAutoSizeStyle.ts","webpack:///../../src/TextareaAutoResize.tsx","webpack:///./src/chat-box/styles.shadow.css","webpack:///./src/chat-box/index.tsx"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n ASK_ANY_THING = \"ASK_ANYTHING\",\n COMMON_TASKS = \"COMMON_TASKS\",\n}\n\nconst en: Locale = {\n [K.ASK_ANY_THING]: \"Ask anything\",\n [K.COMMON_TASKS]: \"Common tasks\",\n};\n\nconst zh: Locale = {\n [K.ASK_ANY_THING]: \"询问任何问题\",\n [K.COMMON_TASKS]: \"常用任务\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-box\";\n\nexport const locales = { en, zh };\n\nexport const t = i18n.getFixedT(null, NS);\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","// istanbul ignore file\nimport type React from \"react\";\n\nconst HIDDEN_TEXTAREA_STYLE = `\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n right: 0!important;\n pointer-events: none!important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\n\nlet hiddenTextarea: HTMLTextAreaElement | undefined;\n\nexport interface AutoSizeOptions {\n minRows?: number | null;\n maxRows?: number | null;\n borderSize?: number;\n paddingSize?: number;\n}\n\n/**\n * 计算 textarea 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n options?: AutoSizeOptions\n): React.CSSProperties {\n const {\n minRows = null,\n maxRows = null,\n borderSize = 2,\n paddingSize = 8,\n } = options ?? {};\n\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined;\n let maxHeight: number | undefined;\n let overflowY: React.CSSProperties[\"overflowY\"];\n\n let height = hiddenTextarea.scrollHeight + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n const singleRowHeight =\n process.env.NODE_ENV === \"test\"\n ? 22\n : parseFloat(\n window\n .getComputedStyle(hiddenTextarea)\n .getPropertyValue(\"line-height\")\n );\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows + paddingSize + borderSize;\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows + paddingSize + borderSize;\n if (height <= maxHeight) {\n overflowY = \"hidden\";\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY,\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { flushSync } from \"react-dom\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\n\n// istanbul ignore next\nconst modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n\nexport interface TextareaAutoResizeProps\n extends React.DetailedHTMLProps<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n HTMLTextAreaElement\n > {\n /** @default true */\n autoResize?: boolean;\n minRows?: number | null;\n maxRows?: number | null;\n /** @default 2 */\n borderSize?: number;\n /** @default 8 */\n paddingSize?: number;\n containerRef?: React.RefObject<HTMLElement>;\n submitWhen?: \"enter-without-shift\" | \"enter-with-mod\";\n}\n\nexport interface TextareaAutoResizeRef {\n focus(): void;\n}\n\nexport const TextareaAutoResize = React.forwardRef<\n TextareaAutoResizeRef,\n TextareaAutoResizeProps\n>(LegacyTextareaAutoResize);\n\nfunction LegacyTextareaAutoResize(\n {\n autoResize: _autoResize,\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n containerRef,\n value: propValue,\n style,\n submitWhen,\n onChange,\n onSubmit,\n onKeyDown,\n onCompositionStart,\n onCompositionEnd,\n ...props\n }: TextareaAutoResizeProps,\n ref: React.ForwardedRef<TextareaAutoResizeRef>\n): React.JSX.Element {\n const autoResize = _autoResize ?? true;\n const [value, setValue] = useState(propValue ?? \"\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const [autoStyle, setAutoStyle] = useState<React.CSSProperties | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus: () => {\n const textarea = textareaRef.current;\n // istanbul ignore else: defensive check\n if (textarea) {\n const valueLength = textarea.value?.length;\n textarea.focus();\n valueLength && textarea.setSelectionRange(valueLength, valueLength);\n }\n },\n }),\n []\n );\n\n const doAutoResize = useCallback(() => {\n const textarea = textareaRef.current;\n if (textarea && autoResize) {\n const style = calculateAutoSizeStyle(textarea, {\n minRows,\n maxRows,\n borderSize,\n paddingSize,\n });\n // istanbul ignore next\n if (process.env.NODE_ENV === \"test\") {\n setAutoStyle(style);\n } else {\n flushSync(() => {\n setAutoStyle(style);\n });\n }\n }\n }, [autoResize, maxRows, minRows, borderSize, paddingSize]);\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLTextAreaElement>\n ): void => {\n setValue(e.target.value);\n onChange?.(e);\n };\n\n useEffect(() => {\n setValue(propValue ?? \"\");\n }, [propValue]);\n\n useEffect(() => {\n doAutoResize();\n }, [doAutoResize, value]);\n\n const compositionRef = useRef(false);\n\n const handleCompositionStart = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = true;\n onCompositionStart?.(e);\n },\n [onCompositionStart]\n );\n\n const handleCompositionEnd = useCallback(\n (e: React.CompositionEvent<HTMLTextAreaElement>) => {\n compositionRef.current = false;\n onCompositionEnd?.(e);\n },\n [onCompositionEnd]\n );\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (compositionRef.current) {\n // Ignore key events during composition\n return;\n }\n\n if (\n e.key === \"Enter\" &&\n (submitWhen === \"enter-without-shift\"\n ? !e.shiftKey\n : submitWhen === \"enter-with-mod\" && e[modKey])\n ) {\n e.preventDefault();\n e.stopPropagation();\n onSubmit?.(e);\n }\n\n onKeyDown?.(e);\n },\n [onKeyDown, onSubmit, submitWhen]\n );\n\n // istanbul ignore next\n useEffect(() => {\n const container = containerRef?.current;\n if (!container || !autoResize) {\n return;\n }\n let previousInlineSize: number | undefined;\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === container) {\n // istanbul ignore next: compatibility\n const currentInlineSize = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n if (\n currentInlineSize !== undefined &&\n currentInlineSize !== previousInlineSize\n ) {\n const isInitial = !previousInlineSize;\n previousInlineSize = currentInlineSize;\n if (!isInitial) {\n requestAnimationFrame(doAutoResize);\n }\n }\n }\n }\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, [autoResize, containerRef, doAutoResize]);\n\n return (\n <textarea\n {...props}\n ref={textareaRef}\n value={value}\n style={{\n ...style,\n ...autoStyle,\n }}\n onChange={handleInputChange}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n onKeyDown={handleKeyDown}\n />\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./images/background@2x.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-color:#e1e3ec;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-size:694px 144px;background-position:top left;background-repeat:no-repeat;box-shadow:inset 0px 2px 5px 1px rgba(42,46,59,0.1);border-radius:20px;padding:12px}.container{position:relative}textarea{display:block;width:100%;padding:10px 16px 52px;color:var(--antd-input-color);background:rgba(255,255,255,0.8);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.5);font-size:14px;line-height:22px;height:130px}textarea::placeholder{color:rgba(0,0,0,0.4)}.btn-send:focus,\ntextarea:focus{outline:none}.btn-send{position:absolute;bottom:14px;right:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.06);border:none;border-radius:8px;cursor:pointer;color:inherit}.btn-send:hover{background:rgba(0,0,0,0.08)}.btn-send:active{background:rgba(0,0,0,0.15)}.suggestions{margin-top:19px}.heading{display:flex;align-items:center;padding:0 5px;margin-bottom:8px}.icon{margin-right:5px}.carousel{overflow:hidden}.carousel + .carousel{margin-top:7px}.list{display:flex;width:max-content;list-style:none;margin:0;padding:0;font-size:12px}.item{background:rgba(255,255,255,0.4);border-radius:12px;border:1px solid #dcdee6;padding:12px;max-width:330px;cursor:pointer}.item:hover{background:rgba(255,255,255,0.5);border:1px solid rgba(37,64,255,0.3)}.list > li + li{margin-left:7px}.title{margin-bottom:4px}.content{color:rgba(0,0,0,0.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tooltip{display:block}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport {\n TextareaAutoResize,\n type TextareaAutoResizeRef,\n} from \"@next-shared/form\";\nimport { chunk } from \"lodash\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { K, NS, locales, t } from \"./i18n.js\";\nimport tips from \"./images/tips.svg\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatBoxProps {\n disabled?: boolean;\n placeholder?: string;\n autoFocus?: boolean;\n suggestions?: Suggestion[];\n suggestionsLabel?: string;\n}\n\nexport interface Suggestion {\n title: string;\n content: string;\n}\n\n/**\n * 构件 `ai-portal.chat-box`\n */\nexport\n@defineElement(\"ai-portal.chat-box\", {\n styleTexts: [styleText],\n})\nclass ChatBox extends ReactNextElement implements ChatBoxProps {\n @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 suggestions: Suggestion[] | undefined;\n\n @property()\n accessor suggestionsLabel: string | undefined;\n\n @event({ type: \"message.submit\" })\n accessor #messageSubmit!: EventEmitter<string>;\n\n #handleMessageSubmit = (value: string) => {\n this.#messageSubmit.emit(value);\n };\n\n render() {\n return (\n <ChatBoxComponent\n disabled={this.disabled}\n placeholder={this.placeholder}\n autoFocus={this.autoFocus}\n suggestions={this.suggestions}\n suggestionsLabel={this.suggestionsLabel}\n onSubmit={this.#handleMessageSubmit}\n />\n );\n }\n}\n\nexport interface ChatBoxComponentProps extends ChatBoxProps {\n // Define react event handlers here.\n onSubmit?: (value: string) => void;\n}\n\nexport function ChatBoxComponent({\n disabled,\n placeholder,\n autoFocus,\n suggestions,\n suggestionsLabel,\n onSubmit,\n}: ChatBoxComponentProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<TextareaAutoResizeRef>(null);\n const [value, setValue] = useState(\"\");\n const valueRef = useRef(\"\");\n\n const handleSubmit = useCallback(\n (e: React.FormEvent<HTMLTextAreaElement>) => {\n onSubmit?.(e.currentTarget.value);\n },\n [onSubmit]\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n valueRef.current = e.target.value;\n setValue(e.target.value);\n },\n []\n );\n\n const handleSubmitClick = useCallback(() => {\n onSubmit?.(valueRef.current);\n }, [onSubmit]);\n\n useEffect(() => {\n if (autoFocus) {\n Promise.resolve().then(() => {\n textareaRef.current?.focus();\n });\n }\n }, []);\n\n // istanbul ignore next: experimental\n const groupedSuggestions = useMemo(() => {\n if (!suggestions?.length) {\n return [];\n }\n return chunk(suggestions, Math.max(2, Math.ceil(suggestions.length / 2)));\n }, [suggestions]);\n\n // istanbul ignore next: experimental\n const handleSelectSuggestion = useCallback((suggestion: Suggestion) => {\n valueRef.current = suggestion.content;\n setValue(suggestion.content);\n setTimeout(() => {\n textareaRef.current?.focus();\n });\n }, []);\n\n return (\n <div className=\"root\">\n <div className=\"container\" ref={containerRef}>\n <TextareaAutoResize\n containerRef={containerRef}\n ref={textareaRef}\n value={value}\n minRows={3}\n paddingSize={62}\n autoResize\n disabled={disabled}\n placeholder={placeholder ?? t(K.ASK_ANY_THING)}\n submitWhen=\"enter-without-shift\"\n onSubmit={handleSubmit}\n onChange={handleChange}\n />\n <button className=\"btn-send\" onClick={handleSubmitClick}>\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-up\" />\n </button>\n </div>\n {\n // istanbul ignore next: experimental\n !!groupedSuggestions?.length && (\n <div className=\"suggestions\">\n <div className=\"heading\">\n <img\n className=\"icon\"\n src={tips as unknown as string}\n width={16}\n height={16}\n />\n <span>{suggestionsLabel ?? t(K.COMMON_TASKS)}</span>\n </div>\n {groupedSuggestions.map((group, index) => (\n <SuggestionCarousel\n key={index}\n suggestions={group}\n pixelPerSecond={(index + 2) * 10}\n onSelect={handleSelectSuggestion}\n />\n ))}\n </div>\n )\n }\n </div>\n );\n}\n\nexport interface SuggestionCarouselProps {\n suggestions: Suggestion[];\n pixelPerSecond: number;\n onSelect: (suggestion: Suggestion) => void;\n}\n\n// istanbul ignore next: experimental\nfunction SuggestionCarousel({\n suggestions,\n pixelPerSecond,\n onSelect,\n}: SuggestionCarouselProps) {\n const carouselRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLUListElement>(null);\n const [x, setX] = useState(0);\n\n // Auto scroll suggestions infinitely.\n // Stop scrolling when mouse enter, and resume when mouse leave.\n useEffect(() => {\n const carousel = carouselRef.current;\n const list = listRef.current;\n\n if (!carousel || !list) {\n return;\n }\n\n let previousTimestamp: number | undefined;\n let currentTimestamp: number | undefined;\n let offsetTime = 0;\n let start: number | undefined;\n let timer: number;\n\n // We doubled the suggestions to make it scroll infinitely.\n const gap = 7;\n const listSingleWidth = (list.offsetWidth - gap) / 2;\n const mod = listSingleWidth + gap;\n\n function step(timestamp: number) {\n currentTimestamp = timestamp;\n if (start === undefined) {\n start = timestamp;\n }\n if (previousTimestamp !== undefined) {\n offsetTime += timestamp - previousTimestamp;\n previousTimestamp = undefined;\n }\n const elapsed = timestamp - start - offsetTime;\n setX(((elapsed / 1000) * pixelPerSecond) % mod);\n timer = requestAnimationFrame(step);\n }\n\n timer = requestAnimationFrame(step);\n\n const onMouseEnter = () => {\n cancelAnimationFrame(timer);\n previousTimestamp = currentTimestamp;\n };\n const onMouseLeave = () => {\n timer = requestAnimationFrame(step);\n };\n\n carousel.addEventListener(\"mouseenter\", onMouseEnter);\n carousel.addEventListener(\"mouseleave\", onMouseLeave);\n\n return () => {\n cancelAnimationFrame(timer);\n carousel.removeEventListener(\"mouseenter\", onMouseEnter);\n carousel.removeEventListener(\"mouseleave\", onMouseLeave);\n };\n }, [suggestions, pixelPerSecond]);\n\n return (\n <div className=\"carousel\" ref={carouselRef}>\n <ul\n className=\"list\"\n ref={listRef}\n style={{ transform: `translateX(${-x}px)` }}\n >\n {[...suggestions, ...suggestions].map((item, index) => (\n <li key={index}>\n <div className=\"item\" onClick={() => onSelect(item)}>\n <div className=\"title\">{item.title}</div>\n <div className=\"content\">{item.content}</div>\n </div>\n </li>\n ))}\n </ul>\n </div>\n );\n}\n"],"names":["K","en","ASK_ANY_THING","COMMON_TASKS","zh","NS","locales","t","i18n","getFixedT","SIZING_STYLE","hiddenTextarea","modKey","test","navigator","platform","TextareaAutoResize","React","LegacyTextareaAutoResize","_ref","ref","autoResize","_autoResize","minRows","maxRows","borderSize","paddingSize","containerRef","value","propValue","style","submitWhen","onChange","onSubmit","onKeyDown","onCompositionStart","onCompositionEnd","props","setValue","useState","textareaRef","useRef","autoStyle","setAutoStyle","useImperativeHandle","focus","textarea","current","_textarea$value","valueLength","length","setSelectionRange","doAutoResize","useCallback","uiTextNode","options","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","map","name","getPropertyValue","join","minHeight","maxHeight","overflowY","placeholder","height","scrollHeight","singleRowHeight","parseFloat","Math","max","min","resize","calculateAutoSizeStyle","flushSync","useEffect","compositionRef","handleCompositionStart","e","handleCompositionEnd","handleKeyDown","key","shiftKey","preventDefault","stopPropagation","container","previousInlineSize","observer","ResizeObserver","entries","entry","target","currentInlineSize","contentBoxSize","inlineSize","contentRect","width","undefined","isInitial","requestAnimationFrame","observe","disconnect","_extends","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_EXPORT___","___CSS_LOADER_URL_REPLACEMENT_0___","push","module","id","toString","initializeI18n","WrappedIcon","wrapBrick","defineElement","property","event","createDecorators","_ChatBox","_A","WeakMap","_B","_C","_D","_E","_F","_ChatBox_brand","WeakSet","_handleMessageSubmit","ChatBox","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_disabled","_init_extra_disabled","_init_placeholder","_init_extra_placeholder","_init_autoFocus","_init_extra_autoFocus","_init_suggestions","_init_extra_suggestions","_init_suggestionsLabel","_init_extra_suggestionsLabel","_init_messageSubmit","_init_extra_messageSubmit","_classPrivateGetter","this","_get_messageSubmit","emit","disabled","_classPrivateFieldGet","v","_classPrivateFieldSet","autoFocus","suggestions","suggestionsLabel","render","ChatBoxComponent","valueRef","handleSubmit","currentTarget","handleChange","handleSubmitClick","Promise","resolve","then","_textareaRef$current","groupedSuggestions","useMemo","chunk","ceil","handleSelectSuggestion","suggestion","content","setTimeout","_textareaRef$current2","className","onClick","lib","prefix","icon","src","tips","group","index","SuggestionCarousel","pixelPerSecond","onSelect","_ref2","carouselRef","listRef","x","setX","carousel","list","previousTimestamp","currentTimestamp","start","timer","offsetTime","mod","offsetWidth","step","timestamp","onMouseEnter","cancelAnimationFrame","onMouseLeave","addEventListener","removeEventListener","transform","item","title","_ChatBox2","_set_messageSubmit","c","_initClass","_applyDecs","styleTexts","styleText","type","Boolean","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see chat-history.ba64d223.js.LICENSE.txt */
|
|
2
|
-
(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[1750,2052],{829:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(2559);function i(t,e){return t.get((0,r.A)(t,e))}},918:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(2016);function i(t,e,n){(0,r.A)(t,e),e.set(t,n)}},935:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",r=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),r&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),r&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,r,i,o){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(r)for(var s=0;s<this.length;s++){var c=this[s][0];null!=c&&(a[c]=!0)}for(var l=0;l<t.length;l++){var u=[].concat(t[l]);r&&a[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),e.push(u))}},e}},1369:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(7545);function i(t){var e=function(t){if("object"!=(0,r.A)(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=(0,r.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==(0,r.A)(e)?e:e+""}},1411:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(6758),i=n.n(r),o=n(935),a=n.n(o)()(i());a.push([t.id,":host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}ul{list-style:none;margin:0;padding:0}.group + .group{margin-top:15px}.group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.item{display:block}.item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.item::part(link):hover{background:rgba(0,0,0,0.04)}.item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.actions{cursor:auto}.item:not(:hover):not(.active) .actions{display:none}.working{width:8px;height:8px;border-radius:8px;background:#2540ff;margin:0 7px}.item:hover .working,\n.item.active .working{display:none}",""]);const s=a.toString()},2016:(t,e,n)=>{"use strict";function r(t,e){if(e.has(t))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(e,{A:()=>r})},2559:(t,e,n)=>{"use strict";function r(t,e,n){if("function"==typeof t?t===e:t.has(e))return arguments.length<3?e:n;throw new TypeError("Private element is not present on this object")}n.d(e,{A:()=>r})},2740:(t,e,n)=>{"use strict";n.d(e,{A:()=>s});var r=n(7545),i=n(6902);function o(t,e,n){"symbol"==(0,r.A)(e)&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:n?n+" "+e:e})}catch(t){}return t}var a=n(1369);function s(t,e,n,s,c,l){var u,f,p,d,h,m,v,g=Symbol.metadata||Symbol.for("Symbol.metadata"),y=Object.defineProperty,A=Object.create,b=[A(null),A(null)],S=e.length;function w(e,n,r){return function(i,o){n&&(o=i,i=t);for(var a=0;a<e.length;a++)o=e[a].apply(i,r?[o]:[]);return r?o:i}}function E(t,e,n,r){if("function"!=typeof t&&(r||void 0!==t))throw new TypeError(e+" must "+(n||"be")+" a function"+(r?"":" or undefined"));return t}function k(t,e,n,i,a,s,c,l,p,d,h){function m(t){if(!h(t))throw new TypeError("Attempted to access private element on non-instance")}var v=[].concat(e[0]),g=e[3],A=!c,S=1===a,k=3===a,T=4===a,Y=2===a;function x(e,n,r){return function(i,o){return n&&(o=i,i=t),r&&r(i),_[e].call(i,o)}}if(!A){var _={},O=[],D=k?"get":T||S?"set":"value";if(p?(d||S?_={get:o((function(){return g(this)}),i,"get"),set:function(t){e[4](this,t)}}:_[D]=g,d||o(_[D],i,Y?"":D)):d||(_=Object.getOwnPropertyDescriptor(t,i)),!d&&!p){if((f=b[+l][i])&&7!=(f^a))throw Error("Decorating two elements with the same name ("+_[D].name+") is not supported yet");b[+l][i]=a<3?1:a}}for(var P=t,R=v.length-1;R>=0;R-=n?2:1){var j=E(v[R],"A decorator","be",!0),I=n?v[R-1]:void 0,C={},N={kind:["field","accessor","method","getter","setter","class"][a],name:i,metadata:u,addInitializer:function(t,e){if(t.v)throw Error("attempted to call addInitializer after decoration was finished");E(e,"An initializer","be",!0),s.push(e)}.bind(null,C)};if(A)f=j.call(I,P,N),C.v=1,E(f,"class decorators","return")&&(P=f);else if(N.static=l,N.private=p,f=N.access={has:p?h.bind():function(t){return i in t}},T||(f.get=p?Y?function(t){return m(t),_.value}:x("get",0,m):function(t){return t[i]}),Y||k||(f.set=p?x("set",0,m):function(t,e){t[i]=e}),P=j.call(I,S?{get:_.get,set:_.set}:_[D],N),C.v=1,S){if("object"==(0,r.A)(P)&&P)(f=E(P.get,"accessor.get"))&&(_.get=f),(f=E(P.set,"accessor.set"))&&(_.set=f),(f=E(P.init,"accessor.init"))&&O.unshift(f);else if(void 0!==P)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else E(P,(d?"field":"method")+" decorators","return")&&(d?O.unshift(P):_[D]=P)}return a<2&&c.push(w(O,l,1),w(s,l,0)),d||A||(p?S?c.splice(-1,0,x("get",l),x("set",l)):c.push(Y?_[D]:E.call.bind(_[D])):y(t,i,_)),P}function T(t){return y(t,g,{configurable:!0,enumerable:!0,value:u})}return void 0!==l&&(u=l[g]),u=A(null==u?null:u),h=[],m=function(t){t&&h.push(w(t))},v=function(e,r){for(var o=0;o<n.length;o++){var s=n[o],l=s[1],u=7&l;if((8&l)==e&&!u==r){var f=s[2],m=!!s[3],v=16&l;k(e?t:t.prototype,s,v,m?"#"+f:(0,a.A)(f),u,u<2?[]:e?d=d||[]:p=p||[],h,!!e,m,r,e&&m?function(e){return(0,i.A)(e)===t}:c)}}},v(8,0),v(0,0),v(8,1),v(0,1),m(p),m(d),f=h,S||T(t),{e:f,get c(){var n=[];return S&&[T(t=k(t,[e],s,t.name,5,n)),w(n,1)]}}}},3098:(t,e,n)=>{"use strict";n.d(e,{I:()=>c,K:()=>i,NS:()=>s,t:()=>l});var r=n(3922);let i=function(t){return t.TODAY="TODAY",t.YESTERDAY="YESTERDAY",t.PREVIOUS_7_DAYS="PREVIOUS_7_DAYS",t.PREVIOUS_30_DAYS="PREVIOUS_30_DAYS",t}({});const o={[i.TODAY]:"Today",[i.YESTERDAY]:"Yesterday",[i.PREVIOUS_7_DAYS]:"Previous 7 days",[i.PREVIOUS_30_DAYS]:"Previous 30 days"},a={[i.TODAY]:"今天",[i.YESTERDAY]:"昨天",[i.PREVIOUS_7_DAYS]:"过去7天",[i.PREVIOUS_30_DAYS]:"过去30天"},s="bricks/ai-portal/chat-history",c={en:o,zh:a},l=r.i18n.getFixedT(null,s)},3373:(t,e)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var t="",e=0;e<arguments.length;e++){var n=arguments[e];n&&(t=a(t,o(n)))}return t}function o(t){if("string"==typeof t||"number"==typeof t)return t;if("object"!=typeof t)return"";if(Array.isArray(t))return i.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var e="";for(var n in t)r.call(t,n)&&t[n]&&(e=a(e,n));return e}function a(t,e){return e?t?t+" "+e:t+e:t}t.exports?(i.default=i,t.exports=i):void 0===(n=function(){return i}.apply(e,[]))||(t.exports=n)}()},4635:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(2016);function i(t,e){(0,r.A)(t,e),e.add(t)}},5536:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(2559);function i(t,e,n){return n((0,r.A)(t,e))}},5704:(t,e,n)=>{"use strict";n.r(e),n.d(e,{ChatHistory:()=>V,ChatHistoryComponent:()=>H});var r,i=n(4635),o=n(918),a=n(6902),s=n(5536),c=n(6121),l=n(829),u=n(2740),f=n(8769),p=n.n(f),d=n(6192),h=n(9859),m=n(1302),v=n.n(m),g=(n(6477),n(3922)),y=n(3098),A=n(1411),b=n(3373),S=n.n(b),w=n(6854);let E,k,T,Y,x,_,O,D,P;(0,g.initializeI18n)(y.NS,y.I);const R=(0,h.wrapBrick)("eo-link"),j=(0,h.wrapBrick)("eo-mini-actions",{onActionClick:"action.click",onVisibleChange:"visible.change"}),{defineElement:I,property:C,event:N}=(0,d.createDecorators)();let V;var U=new WeakMap,M=new WeakMap,z=new WeakMap,B=new WeakSet,K=new WeakMap;class W extends h.ReactNextElement{constructor(){super(...arguments),(0,i.A)(this,B),(0,o.A)(this,U,k(this)),(0,o.A)(this,M,(T(this),Y(this))),(0,o.A)(this,z,(x(this),_(this))),(0,o.A)(this,K,(P(this),t=>{(0,s.A)(B,this,O).emit(t)}))}get list(){return(0,l.A)(U,this)}set list(t){(0,c.A)(U,this,t)}get actions(){return(0,l.A)(M,this)}set actions(t){(0,c.A)(M,this,t)}render(){return p().createElement(H,{list:this.list,actions:this.actions,onActionClick:(0,l.A)(K,this)})}}function H(t){let{list:e,actions:n,onActionClick:r}=t;const i=(0,f.useMemo)((()=>{const t=new Map,n=v()(),r=n.startOf("day"),i=r.clone().subtract(1,"day"),o=r.clone().subtract(7,"days"),a=r.clone().subtract(30,"days"),s=+r/1e3,c=+i/1e3,l=+o/1e3,u=+a/1e3,f=n.year();for(const n of null!=e?e:[]){let e;e=n.startTime>=s?(0,y.t)(y.K.TODAY):n.startTime>=c?(0,y.t)(y.K.YESTERDAY):n.startTime>=l?(0,y.t)(y.K.PREVIOUS_7_DAYS):n.startTime>=u?(0,y.t)(y.K.PREVIOUS_30_DAYS):n.startTime>=f?v()(1e3*n.startTime).format("MMMM"):v()(1e3*n.startTime).format("YYYY");let r=t.get(e);r||t.set(e,r={title:e,items:[]}),r.items.push(n)}return[...t.values()]}),[e]),[o,a]=(0,f.useState)(null);return p().createElement("ul",null,i.map((t=>p().createElement("li",{key:t.title,className:"group"},p().createElement("div",{className:"group-title"},t.title),p().createElement("ul",{className:"items"},t.items.map((t=>p().createElement("li",{key:t.id},p().createElement(R,{className:S()("item",{active:o===t.id}),url:t.url},p().createElement("div",{className:"item-title"},t.title),p().createElement(j,{className:"actions",actions:n,onActionClick:e=>{null==r||r({action:e.detail,item:t})},onVisibleChange:e=>{a(e.detail?t.id:null)}}),!w.QB.includes(t.state)&&p().createElement("div",{className:"working"}))))))))))}r=W,({e:[k,T,Y,x,_,O,D,P],c:[V,E]}=(0,u.A)(r,[I("ai-portal.chat-history",{styleTexts:[A.A]})],[[C({attribute:!1}),1,"list"],[C({attribute:!1}),1,"actions"],[N({type:"action.click"}),1,"actionClick",t=>(0,l.A)(z,t),(t,e)=>(0,c.A)(z,t,e)]],0,(t=>K.has((0,a.A)(t))),h.ReactNextElement)),E()},6121:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(2559);function i(t,e,n){return t.set((0,r.A)(t,e),n),n}},6758:t=>{"use strict";t.exports=function(t){return t[1]}},6854:(t,e,n)=>{"use strict";n.d(e,{Bf:()=>u,CO:()=>c,GT:()=>l,Jw:()=>a,QB:()=>f,U5:()=>o,Yt:()=>i,sS:()=>r,xX:()=>s});const r=.5,i=2,o="<START>",a="<END>",s=96,c=40,l=42,u=10,f=["completed","failed","canceled"]},6902:(t,e,n)=>{"use strict";n.d(e,{A:()=>i});var r=n(7545);function i(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==t?(0,r.A)(t):"null"));return t}},7545:(t,e,n)=>{"use strict";function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}n.d(e,{A:()=>r})}}]);
|
|
3
|
-
//# sourceMappingURL=chat-history.ba64d223.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-history.ba64d223.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///./src/chat-history/styles.shadow.css","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///./src/chat-history/i18n.ts","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/chat-history/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///./src/cruise-canvas/constants.ts","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/typeof.js"],"sourcesContent":["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}","\"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\";\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}","// 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}ul{list-style:none;margin:0;padding:0}.group + .group{margin-top:15px}.group-title{font-weight:500;font-size:12px;color:#000;padding:8px;height:36px;line-height:20px}.item{display:block}.item::part(link){display:flex;align-items:center;padding:0 8px;height:36px;border-radius:8px;color:#000}.item::part(link):hover{background:rgba(0,0,0,0.04)}.item-title{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.actions{cursor:auto}.item:not(:hover):not(.active) .actions{display:none}.working{width:8px;height:8px;border-radius:8px;background:#2540ff;margin:0 7px}.item:hover .working,\n.item.active .working{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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}","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}","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 { i18n } from \"@next-core/i18n\";\n\nexport enum K {\n TODAY = \"TODAY\",\n YESTERDAY = \"YESTERDAY\",\n PREVIOUS_7_DAYS = \"PREVIOUS_7_DAYS\",\n PREVIOUS_30_DAYS = \"PREVIOUS_30_DAYS\",\n}\n\nconst en: Locale = {\n [K.TODAY]: \"Today\",\n [K.YESTERDAY]: \"Yesterday\",\n [K.PREVIOUS_7_DAYS]: \"Previous 7 days\",\n [K.PREVIOUS_30_DAYS]: \"Previous 30 days\",\n};\n\nconst zh: Locale = {\n [K.TODAY]: \"今天\",\n [K.YESTERDAY]: \"昨天\",\n [K.PREVIOUS_7_DAYS]: \"过去7天\",\n [K.PREVIOUS_30_DAYS]: \"过去30天\",\n};\n\nexport const NS = \"bricks/ai-portal/chat-history\";\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","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","// istanbul ignore file: experimental\nimport React, { useMemo, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport moment from \"moment\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n ActionType,\n EoMiniActions,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping,\n EoMiniActionsProps,\n SimpleActionType,\n} from \"@next-bricks/basic/mini-actions\";\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 type { TaskState } from \"../cruise-canvas/interfaces.js\";\nimport classNames from \"classnames\";\nimport { DONE_STATES } from \"../cruise-canvas/constants.js\";\n\ninitializeI18n(NS, locales);\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedMiniActions = wrapBrick<\n EoMiniActions,\n EoMiniActionsProps,\n EoMiniActionsEvents,\n EoMiniActionsEventsMapping\n>(\"eo-mini-actions\", {\n onActionClick: \"action.click\",\n onVisibleChange: \"visible.change\",\n});\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface ChatHistoryProps {\n list?: HistoryItem[];\n actions?: ActionType[];\n}\n\nexport interface HistoryItem {\n id: string;\n url: string;\n title: string;\n startTime: number;\n state?: TaskState;\n}\n\nexport interface ActionClickDetail {\n action: SimpleActionType;\n item: HistoryItem;\n}\n\n/**\n * 构件 `ai-portal.chat-history`\n */\nexport\n@defineElement(\"ai-portal.chat-history\", {\n styleTexts: [styleText],\n})\nclass ChatHistory extends ReactNextElement implements ChatHistoryProps {\n @property({ attribute: false })\n accessor list: HistoryItem[] | undefined;\n\n @property({ attribute: false })\n accessor actions: ActionType[] | undefined;\n\n @event({ type: \"action.click\" })\n accessor #actionClick!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail) => {\n this.#actionClick.emit(detail);\n };\n\n render() {\n return (\n <ChatHistoryComponent\n list={this.list}\n actions={this.actions}\n onActionClick={this.#handleActionClick}\n />\n );\n }\n}\n\nexport interface ChatHistoryComponentProps extends ChatHistoryProps {\n onActionClick?: (detail: ActionClickDetail) => void;\n}\n\ninterface GroupedHistory {\n title: string;\n items: HistoryItem[];\n}\n\nexport function ChatHistoryComponent({\n list,\n actions,\n onActionClick,\n}: ChatHistoryComponentProps) {\n const groups = useMemo(() => {\n const groupMap = new Map<string, GroupedHistory>();\n // Group history by\n // - today\n // - yesterday\n // - previous 7 days\n // - previous 30 days\n // - each month this year\n // - each year before.\n const now = moment();\n const startOfDay = now.startOf(\"day\");\n const yesterday = startOfDay.clone().subtract(1, \"day\");\n const sevenDaysAgo = startOfDay.clone().subtract(7, \"days\");\n const thirtyDaysAgo = startOfDay.clone().subtract(30, \"days\");\n const thisYear = now.year();\n\n const timestamps = {\n startOfDay: +startOfDay / 1000,\n yesterday: +yesterday / 1000,\n sevenDaysAgo: +sevenDaysAgo / 1000,\n thirtyDaysAgo: +thirtyDaysAgo / 1000,\n thisYear,\n };\n for (const item of list ?? []) {\n let groupKey: string;\n if (item.startTime >= timestamps.startOfDay) {\n groupKey = t(K.TODAY);\n } else if (item.startTime >= timestamps.yesterday) {\n groupKey = t(K.YESTERDAY);\n } else if (item.startTime >= timestamps.sevenDaysAgo) {\n groupKey = t(K.PREVIOUS_7_DAYS);\n } else if (item.startTime >= timestamps.thirtyDaysAgo) {\n groupKey = t(K.PREVIOUS_30_DAYS);\n } else if (item.startTime >= timestamps.thisYear) {\n groupKey = moment(item.startTime * 1000).format(\"MMMM\");\n } else {\n groupKey = moment(item.startTime * 1000).format(\"YYYY\");\n }\n let group = groupMap.get(groupKey);\n if (!group) {\n groupMap.set(groupKey, (group = { title: groupKey, items: [] }));\n }\n group.items.push(item);\n }\n\n return [...groupMap.values()];\n }, [list]);\n\n const [actionsVisible, setActionsVisible] = useState<string | null>(null);\n\n return (\n <ul>\n {groups.map((group) => (\n <li key={group.title} className=\"group\">\n <div className=\"group-title\">{group.title}</div>\n <ul className=\"items\">\n {group.items.map((item) => (\n <li key={item.id}>\n <WrappedLink\n className={classNames(\"item\", {\n active: actionsVisible === item.id,\n })}\n url={item.url}\n >\n <div className=\"item-title\">{item.title}</div>\n <WrappedMiniActions\n className=\"actions\"\n actions={actions}\n onActionClick={(e) => {\n onActionClick?.({ action: e.detail, item });\n }}\n onVisibleChange={(e) => {\n setActionsVisible(e.detail ? item.id : null);\n }}\n />\n {!DONE_STATES.includes(item.state!) && (\n <div className=\"working\"></div>\n )}\n </WrappedLink>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n );\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import { JobState } from \"./interfaces.js\";\n\nexport const DEFAULT_SCALE_RANGE_MIN = 0.5;\nexport const DEFAULT_SCALE_RANGE_MAX = 2;\nexport const START_NODE_ID = \"<START>\";\nexport const END_NODE_ID = \"<END>\";\nexport const CANVAS_PADDING_BOTTOM = 96;\nexport const RANK_SEP = 40;\nexport const NODE_SEP = 42;\nexport const EDGE_SEP = 10;\n\nexport const DONE_STATES = [\"completed\", \"failed\", \"canceled\"] as JobState[];\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}","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}"],"names":["_classPrivateFieldGet2","s","a","get","_classPrivateFieldInitSpec","obj","privateMap","value","set","module","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","toPropertyKey","t","e","Symbol","toPrimitive","call","r","TypeError","String","___CSS_LOADER_EXPORT___","_checkPrivateRedeclaration","privateCollection","has","_assertClassBrand","n","arguments","setFunctionName","description","Object","defineProperty","configurable","applyDecs2311","o","c","u","f","l","p","d","metadata","m","h","create","y","v","g","apply","b","applyDec","w","D","S","j","E","I","P","F","getOwnPropertyDescriptor","Error","name","N","O","z","A","H","K","kind","addInitializer","bind","access","init","unshift","splice","enumerable","prototype","checkInRHS","en","TODAY","YESTERDAY","PREVIOUS_7_DAYS","PREVIOUS_30_DAYS","zh","NS","locales","i18n","getFixedT","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","Array","isArray","includes","key","newClass","default","_classPrivateMethodInitSpec","privateSet","add","_classPrivateGetter","initializeI18n","WrappedLink","wrapBrick","WrappedMiniActions","onActionClick","onVisibleChange","defineElement","property","event","createDecorators","_ChatHistory","_A","WeakMap","_B","_C","_ChatHistory_brand","WeakSet","_handleActionClick","ChatHistory","ReactNextElement","constructor","_init_list","_init_extra_list","_init_actions","_init_extra_actions","_init_actionClick","_init_extra_actionClick","detail","_get_actionClick","emit","_classPrivateFieldGet","_classPrivateFieldSet","actions","render","React","ChatHistoryComponent","_ref","groups","useMemo","groupMap","Map","now","moment","startOfDay","startOf","yesterday","clone","subtract","sevenDaysAgo","thirtyDaysAgo","timestamps","year","groupKey","startTime","format","group","title","items","values","actionsVisible","setActionsVisible","useState","className","active","url","action","DONE_STATES","state","_ChatHistory2","_set_actionClick","_initClass","_applyDecs","styleTexts","styleText","attribute","type","_","_checkInRHS","_classPrivateFieldSet2","DEFAULT_SCALE_RANGE_MIN","DEFAULT_SCALE_RANGE_MAX","START_NODE_ID","END_NODE_ID","CANVAS_PADDING_BOTTOM","RANK_SEP","NODE_SEP","EDGE_SEP","_typeof","iterator"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[2267],{6185:(e,t,n)=>{n.r(t),n.d(t,{CruiseCanvas:()=>ee,CruiseCanvasComponent:()=>ce});var s,a=n(4635),r=n(918),l=n(6902),o=n(5536),i=n(6121),c=n(829),u=n(2740),d=n(8769),m=n.n(d),h=n(6192),f=n(9859),p=n(8974),g=(n(6477),n(3922)),k=n(3373),v=n.n(k),E=n(9126),b=n(7566),A=n(79),w=n(2464),y=n(8231),R=n(6494),j=n(7642),x=n(2773),C=n(9533),M=n(3153),N=n(4999),B=n(7954),I=n(4388),S=n(6938),$=n(5391),z=n(9295),W=n(6854),L=n(5805);let T,_,U,H,q,O,P,Q,X,D,F,G,J;(0,g.initializeI18n)(A.NS,A.I);const{defineElement:K,property:V,event:Y}=(0,h.createDecorators)(),Z=(0,d.memo)(ue);let ee;var te=new WeakMap,ne=new WeakMap,se=new WeakMap,ae=new WeakMap,re=new WeakMap,le=new WeakSet,oe=new WeakMap;class ie extends f.ReactNextElement{constructor(){super(...arguments),(0,a.A)(this,le),(0,r.A)(this,te,_(this)),(0,r.A)(this,ne,(U(this),H(this))),(0,r.A)(this,se,(q(this),O(this))),(0,r.A)(this,ae,(P(this),Q(this))),(0,r.A)(this,re,(X(this),D(this))),(0,r.A)(this,oe,(J(this),()=>{(0,o.A)(le,this,F).emit()}))}get taskId(){return(0,c.A)(te,this)}set taskId(e){(0,i.A)(te,this,e)}get task(){return(0,c.A)(ne,this)}set task(e){(0,i.A)(ne,this,e)}get jobs(){return(0,c.A)(se,this)}set jobs(e){(0,i.A)(se,this,e)}get goBackUrl(){return(0,c.A)(ae,this)}set goBackUrl(e){(0,i.A)(ae,this,e)}render(){return m().createElement(ce,{taskId:this.taskId,jobs:this.jobs,task:this.task,goBackUrl:this.goBackUrl,onShare:(0,c.A)(oe,this)})}}function ce(e){var t,n;let{taskId:s,task:a,jobs:r,goBackUrl:l,onShare:o}=e;const i=(0,d.useRef)(null),{task:c,jobs:u,plan:h,error:f,humanInputRef:g}=(0,x.S)(s),k=s?c:a,E=s?u:null!=r?r:[],A=s?h:null==a?void 0:a.plan,B=(0,C.B)(k,E),I=null==B?void 0:B.nodes,S=null==B?void 0:B.edges,$=null!==(t=null==k?void 0:k.title)&&void 0!==t?t:"";(0,d.useEffect)((()=>{(0,p.getRuntime)().applyPageTitle($)}),[$]),(0,d.useEffect)((()=>{f&&(0,p.handleHttpError)(f)}),[f]);const z=(0,d.useCallback)(((e,t)=>{var n;null===(n=g.current)||void 0===n||n.call(g,e,t)}),[g]),[T,_]=(0,d.useState)(null),U=(0,d.useCallback)(((e,t)=>{_((n=>{if(!t){if(!n)return null;const t=new Map(n);return t.delete(e)?t:n}return n?new Map(n).set(e,t):new Map([[e,t]])}))}),[]),{sizeReady:H,nodes:q,edges:O}=(0,j.g)({rawNodes:I,rawEdges:S,state:null==k?void 0:k.state,sizeMap:T}),{grabbing:P,transform:Q,transformRef:X,zoomer:D}=(0,y.f)({rootRef:i,zoomable:H,scrollable:H,pannable:H}),{centered:F,setCentered:G,reCenterRef:J}=(0,R.E)({nodes:q,sizeReady:H,zoomer:D,rootRef:i}),K=!W.QB.includes(null!==(n=null==k?void 0:k.state)&&void 0!==n?n:"working")&&2===q.length,V=(0,d.useMemo)((()=>new Set(O.map((e=>e.source)))),[O]),Y=(0,d.useMemo)((()=>{if(!H)return null;const e=[];for(const t of q)V.has(t.id)||e.push(t);return e.length>0?Math.max(...e.map((e=>e.view.y+e.view.height))):null}),[q,V,H]),ee=(0,d.useRef)(null);(0,d.useEffect)((()=>{ee.current=Y}),[Y]);const te=(0,d.useRef)(!1);(0,d.useEffect)((()=>{const e=i.current;if(!e||null===Y||te.current)return;const{offsetHeight:t}=e,n=X.current,s=Y*n.k+n.y,a=t-W.xX-s;a<0&&D.translateBy((0,b.A)(i.current),0,a)}),[Y,X,D]),(0,d.useEffect)((()=>{const e=ee.current,t=i.current;if(!t||null===e)return;const{offsetHeight:n}=t,s=e*Q.k+Q.y,a=n-W.xX-s;te.current=a<0}),[Q,D]);const ne=(0,d.useCallback)((()=>{J.current=!0,G(!1)}),[J,G]),se=(0,d.useCallback)((e=>{D.scaleTo((0,b.A)(i.current),e)}),[D]);return m().createElement(m().Fragment,null,m().createElement("div",{className:v()(w.A.root,{[w.A.loading]:!k}),ref:i,style:{cursor:P?"grabbing":"grab"}},!k&&m().createElement("div",{className:w.A["loading-icon"]},m().createElement(L.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),m().createElement("div",{className:v()(w.A.canvas,{[w.A.ready]:H&&F}),style:{transform:`translate3d(${Q.x}px, ${Q.y}px, 0) scale(${Q.k})`}},m().createElement("svg",{className:w.A.edges},O.map((e=>m().createElement("path",{className:w.A.edge,key:`${e.source}-${e.target}`,d:e.points.map(((e,t)=>{let{x:n,y:s}=e;return`${0===t?"M":"L"}${n},${s}`})).join(" ")})))),q.map((e=>{var t,n,s;return m().createElement(Z,{key:e.id,id:e.id,type:e.type,content:e.content,job:e.job,state:e.state,startTime:null==k?void 0:k.startTime,taskLoading:K,instructionLoading:"instruction"===e.type&&!V.has(e.id)&&!W.QB.includes(null!==(t=e.state)&&void 0!==t?t:"working"),edges:O,x:null===(n=e.view)||void 0===n?void 0:n.x,y:null===(s=e.view)||void 0===s?void 0:s.y,onResize:U,humanInput:z,onShare:o})})))),m().createElement("div",{className:w.A.widgets},l&&m().createElement(L.EM,{className:w.A["go-back"],url:l},m().createElement(L.Bj,{lib:"fa",prefix:"fas",icon:"arrow-left-long"})),m().createElement(M.r,{plan:A}),m().createElement(N.l,{scale:Q.k,onScaleChange:se,onReCenter:ne})))}function ue(e){let{id:t,type:n,state:s,job:a,content:r,startTime:l,taskLoading:o,instructionLoading:i,x:c,y:u,onResize:h,humanInput:f,onShare:p}=e;const g=(0,d.useRef)(null);return(0,d.useEffect)((()=>{const e=g.current;if(!e)return;const n=new E.A((()=>{h(t,[e.offsetWidth,e.offsetHeight])}));return n.observe(e),()=>{n.disconnect(),h(t,null)}}),[t,h]),(0,d.useEffect)((()=>{const e=g.current;if(!e)return;const t=e=>{e.stopPropagation()};return e.addEventListener("mousedown",t),()=>{e.removeEventListener("mousedown",t)}}),[]),m().createElement("div",{className:v()(w.A.node,{[w.A.ready]:null!=c&&null!=u}),ref:g,style:{left:c,top:u}},"start"===n?m().createElement(B.H,null):"end"===n?m().createElement(z.s,{onShare:p}):"requirement"===n?m().createElement(I.O,{content:r,startTime:l,loading:o}):"instruction"===n?m().createElement(S.L,{content:a.instruction,loading:i}):"job"===n?m().createElement($.W,{state:s,job:a,humanInput:f}):m().createElement("div",{className:`${w.A["node-default"]} ${w.A["size-medium"]}`},`Unknown job type: "${n}"`))}s=ie,({e:[_,U,H,q,O,P,Q,X,D,F,G,J],c:[ee,T]}=(0,u.A)(s,[K("ai-portal.cruise-canvas",{shadowOptions:!1})],[[V(),1,"taskId"],[V({attribute:!1}),1,"task"],[V({attribute:!1}),1,"jobs"],[V(),1,"goBackUrl"],[Y({type:"share"}),1,"shareEvent",e=>(0,c.A)(re,e),(e,t)=>(0,i.A)(re,e,t)]],0,(e=>oe.has((0,l.A)(e))),f.ReactNextElement)),T()}}]);
|
|
2
|
-
//# sourceMappingURL=cruise-canvas.65f61916.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/cruise-canvas.65f61916.js","mappings":"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","sources":["webpack:///./src/cruise-canvas/index.tsx"],"sourcesContent":["// istanbul ignore file: experimental\nimport React, {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { getRuntime, handleHttpError } from \"@next-core/runtime\";\nimport \"@next-core/theme\";\nimport { initializeI18n } from \"@next-core/i18n\";\nimport classNames from \"classnames\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport { select } from \"d3-selection\";\nimport { NS, locales } from \"./i18n.js\";\nimport styles from \"./styles.module.css\";\nimport { useZoom } from \"./useZoom.js\";\nimport type {\n SizeTuple,\n GraphNode,\n Job,\n RequirementGraphNode,\n JobGraphNode,\n TaskBaseDetail,\n GraphEdge,\n} from \"./interfaces.js\";\nimport { useAutoCenter } from \"./useAutoCenter.js\";\nimport { useLayout } from \"./useLayout.js\";\nimport { useTaskDetail } from \"./useTaskDetail.js\";\nimport { useTaskGraph } from \"./useTaskGraph.js\";\nimport { PlanProgress } from \"./PlanProgress/PlanProgress.js\";\nimport { ZoomBar } from \"./ZoomBar/ZoomBar.js\";\nimport { NodeStart } from \"./NodeStart/NodeStart.js\";\nimport { NodeRequirement } from \"./NodeRequirement/NodeRequirement.js\";\nimport { NodeInstruction } from \"./NodeInstruction/NodeInstruction.js\";\nimport { NodeJob } from \"./NodeJob/NodeJob.js\";\nimport { NodeEnd } from \"./NodeEnd/NodeEnd.js\";\nimport { CANVAS_PADDING_BOTTOM, DONE_STATES } from \"./constants.js\";\nimport { WrappedIcon, WrappedLink } from \"./bricks.js\";\n\ninitializeI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst MemoizedNodeComponent = memo(NodeComponent);\n\nexport interface CruiseCanvasProps {\n taskId?: string;\n task?: TaskBaseDetail;\n jobs?: Job[];\n goBackUrl?: string;\n}\n\n/**\n * 构件 `ai-portal.cruise-canvas`\n */\nexport\n@defineElement(\"ai-portal.cruise-canvas\", {\n // Will wrap v2 bricks which don't support in shadow DOM.\n shadowOptions: false,\n})\nclass CruiseCanvas extends ReactNextElement implements CruiseCanvasProps {\n @property()\n accessor taskId: string | undefined;\n\n @property({ attribute: false })\n accessor task: TaskBaseDetail | undefined;\n\n @property({ attribute: false })\n accessor jobs: Job[] | undefined;\n\n @property()\n accessor goBackUrl: string | undefined;\n\n @event({ type: \"share\" })\n accessor #shareEvent!: EventEmitter<void>;\n\n #onShare = () => {\n this.#shareEvent.emit();\n };\n\n render() {\n return (\n <CruiseCanvasComponent\n taskId={this.taskId}\n jobs={this.jobs}\n task={this.task}\n goBackUrl={this.goBackUrl}\n onShare={this.#onShare}\n />\n );\n }\n}\n\nexport interface CruiseCanvasComponentProps extends CruiseCanvasProps {\n onShare?: () => void;\n}\n\nexport function CruiseCanvasComponent({\n taskId,\n task: propTask,\n jobs: propJobs,\n goBackUrl,\n onShare,\n}: CruiseCanvasComponentProps) {\n const rootRef = useRef<HTMLDivElement>(null);\n const {\n task: _task,\n jobs: _jobs,\n plan: _plan,\n error,\n humanInputRef,\n } = useTaskDetail(taskId);\n const task = taskId ? _task : propTask;\n const jobs = taskId ? _jobs : (propJobs ?? []);\n const plan = taskId ? _plan : propTask?.plan;\n const graph = useTaskGraph(task, jobs);\n const rawNodes = graph?.nodes;\n const rawEdges = graph?.edges;\n\n const pageTitle = task?.title ?? \"\";\n\n useEffect(() => {\n getRuntime().applyPageTitle(pageTitle);\n }, [pageTitle]);\n\n useEffect(() => {\n if (error) {\n handleHttpError(error);\n }\n }, [error]);\n\n const humanInput = useCallback(\n (jobId: string, input: string) => {\n humanInputRef.current?.(jobId, input);\n },\n [humanInputRef]\n );\n\n const [sizeMap, setSizeMap] = useState<Map<string, SizeTuple> | null>(null);\n const handleNodeResize = useCallback((id: string, size: SizeTuple | null) => {\n // Handle resize logic here\n setSizeMap((prev) => {\n if (!size) {\n if (!prev) {\n return null;\n }\n const newMap = new Map(prev);\n const deleted = newMap.delete(id);\n return deleted ? newMap : prev;\n }\n return prev ? new Map(prev).set(id, size) : new Map([[id, size]]);\n });\n }, []);\n\n const { sizeReady, nodes, edges } = useLayout({\n rawNodes,\n rawEdges,\n state: task?.state,\n sizeMap,\n });\n\n const { grabbing, transform, transformRef, zoomer /* , scaleRange */ } =\n useZoom({\n rootRef,\n zoomable: sizeReady,\n scrollable: sizeReady,\n pannable: sizeReady,\n });\n\n const { centered, setCentered, reCenterRef } = useAutoCenter({\n nodes,\n sizeReady,\n zoomer,\n rootRef,\n });\n\n const taskDone = DONE_STATES.includes(task?.state ?? \"working\");\n const taskLoading = !taskDone && nodes.length === 2;\n\n const nonLeafNodes = useMemo(() => {\n return new Set<string>(edges.map((edge) => edge.source));\n }, [edges]);\n\n const bottom = useMemo(() => {\n if (!sizeReady) {\n return null;\n }\n\n const leafNodes: GraphNode[] = [];\n for (const node of nodes) {\n if (!nonLeafNodes.has(node.id)) {\n leafNodes.push(node);\n }\n }\n if (leafNodes.length > 0) {\n const y1 = Math.max(\n ...leafNodes.map((node) => node.view!.y + node.view!.height)\n );\n return y1;\n }\n\n return null;\n }, [nodes, nonLeafNodes, sizeReady]);\n\n const bottomRef = useRef<number | null>(null);\n useEffect(() => {\n bottomRef.current = bottom;\n }, [bottom]);\n\n // Disable auto scroll when the user manually scrolled up\n const manualScrolledUpRef = useRef(false);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || bottom === null || manualScrolledUpRef.current) {\n return;\n }\n const { offsetHeight } = root;\n const transform = transformRef.current;\n const transformedBottom = bottom * transform.k + transform.y;\n const diffY = offsetHeight - CANVAS_PADDING_BOTTOM - transformedBottom;\n if (diffY < 0) {\n // Make the latest node visible\n zoomer.translateBy(select(rootRef.current!), 0, diffY);\n }\n }, [bottom, transformRef, zoomer]);\n\n // Detect if the user scrolled up manually\n useEffect(() => {\n const bottom = bottomRef.current;\n const root = rootRef.current;\n if (!root || bottom === null) {\n return;\n }\n const { offsetHeight } = root;\n const transformedBottom = bottom * transform.k + transform.y;\n\n const diffY = offsetHeight - CANVAS_PADDING_BOTTOM - transformedBottom;\n manualScrolledUpRef.current = diffY < 0;\n }, [transform, zoomer]);\n\n const handleReCenter = useCallback(() => {\n reCenterRef.current = true;\n setCentered(false);\n }, [reCenterRef, setCentered]);\n\n const handleScaleChange = useCallback(\n (scale: number) => {\n zoomer.scaleTo(select(rootRef.current!), scale);\n },\n [zoomer]\n );\n\n return (\n <>\n <div\n className={classNames(styles.root, { [styles.loading]: !task })}\n ref={rootRef}\n style={{\n cursor: grabbing ? \"grabbing\" : \"grab\",\n }}\n >\n {!task && (\n <div className={styles[\"loading-icon\"]}>\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n )}\n <div\n className={classNames(styles.canvas, {\n [styles.ready]: sizeReady && centered,\n })}\n style={{\n transform: `translate3d(${transform.x}px, ${transform.y}px, 0) scale(${transform.k})`,\n }}\n >\n <svg className={styles.edges}>\n {edges.map((edge) => (\n <path\n className={styles.edge}\n key={`${edge.source}-${edge.target}`}\n d={edge\n .points!.map(\n ({ x, y }, i) => `${i === 0 ? \"M\" : \"L\"}${x},${y}`\n )\n .join(\" \")}\n />\n ))}\n </svg>\n {nodes.map((node) => (\n <MemoizedNodeComponent\n key={node.id}\n id={node.id}\n type={node.type}\n content={(node as RequirementGraphNode).content}\n job={(node as JobGraphNode).job}\n state={node.state}\n startTime={task?.startTime}\n taskLoading={taskLoading}\n instructionLoading={\n node.type === \"instruction\" &&\n !nonLeafNodes.has(node.id) &&\n !DONE_STATES.includes(node.state ?? \"working\")\n }\n edges={edges}\n x={node.view?.x}\n y={node.view?.y}\n onResize={handleNodeResize}\n humanInput={humanInput}\n onShare={onShare}\n />\n ))}\n </div>\n </div>\n <div className={styles.widgets}>\n {goBackUrl && (\n <WrappedLink className={styles[\"go-back\"]} url={goBackUrl}>\n <WrappedIcon lib=\"fa\" prefix=\"fas\" icon=\"arrow-left-long\" />\n </WrappedLink>\n )}\n <PlanProgress plan={plan} />\n <ZoomBar\n scale={transform.k}\n onScaleChange={handleScaleChange}\n onReCenter={handleReCenter}\n />\n </div>\n </>\n );\n}\n\ninterface NodeComponentProps {\n id: string;\n type: GraphNode[\"type\"];\n edges: GraphEdge[];\n content?: string;\n job?: Job;\n state?: string;\n startTime?: number;\n taskLoading?: boolean;\n instructionLoading?: boolean;\n x?: number;\n y?: number;\n onResize: (id: string, size: SizeTuple | null) => void;\n humanInput?: (jobId: string, input: string) => void;\n onShare?: () => void;\n}\n\nfunction NodeComponent({\n id,\n type,\n state,\n job,\n content,\n startTime,\n taskLoading,\n instructionLoading,\n x,\n y,\n onResize,\n humanInput,\n onShare,\n}: NodeComponentProps) {\n const nodeRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const element = nodeRef.current;\n if (!element) {\n return;\n }\n const observer = new ResizeObserver(() => {\n onResize(id, [element.offsetWidth, element.offsetHeight]);\n });\n observer.observe(element);\n return () => {\n observer.disconnect();\n onResize(id, null);\n };\n }, [id, onResize]);\n\n useEffect(() => {\n const element = nodeRef.current;\n if (!element) {\n return;\n }\n const handleMouseDown = (e: MouseEvent) => {\n e.stopPropagation();\n };\n element.addEventListener(\"mousedown\", handleMouseDown);\n return () => {\n element.removeEventListener(\"mousedown\", handleMouseDown);\n };\n }, []);\n\n return (\n <div\n className={classNames(styles.node, {\n [styles.ready]: x != null && y != null,\n })}\n ref={nodeRef}\n style={{\n left: x,\n top: y,\n }}\n >\n {type === \"start\" ? (\n <NodeStart />\n ) : type === \"end\" ? (\n <NodeEnd onShare={onShare} />\n ) : type === \"requirement\" ? (\n <NodeRequirement\n content={content}\n startTime={startTime}\n loading={taskLoading}\n />\n ) : type === \"instruction\" ? (\n <NodeInstruction\n content={job!.instruction}\n loading={instructionLoading}\n />\n ) : type === \"job\" ? (\n <NodeJob state={state} job={job!} humanInput={humanInput} />\n ) : (\n <div className={`${styles[\"node-default\"]} ${styles[\"size-medium\"]}`}>\n {`Unknown job type: \"${type}\"`}\n </div>\n )}\n </div>\n );\n}\n"],"names":["initializeI18n","NS","locales","defineElement","property","event","createDecorators","MemoizedNodeComponent","memo","NodeComponent","_CruiseCanvas","_A","WeakMap","_B","_C","_D","_E","_CruiseCanvas_brand","WeakSet","_onShare","CruiseCanvas","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_taskId","_init_extra_taskId","_init_task","_init_extra_task","_init_jobs","_init_extra_jobs","_init_goBackUrl","_init_extra_goBackUrl","_init_shareEvent","_init_extra_shareEvent","_classPrivateGetter","this","_get_shareEvent","emit","taskId","_classPrivateFieldGet","v","_classPrivateFieldSet","task","jobs","goBackUrl","render","React","CruiseCanvasComponent","onShare","_ref","_task$title","_task$state","propTask","propJobs","rootRef","useRef","_task","_jobs","plan","_plan","error","humanInputRef","useTaskDetail","graph","useTaskGraph","rawNodes","nodes","rawEdges","edges","pageTitle","title","useEffect","getRuntime","applyPageTitle","handleHttpError","humanInput","useCallback","jobId","input","_humanInputRef$curren","current","call","sizeMap","setSizeMap","useState","handleNodeResize","id","size","prev","newMap","Map","delete","set","sizeReady","useLayout","state","grabbing","transform","transformRef","zoomer","useZoom","zoomable","scrollable","pannable","centered","setCentered","reCenterRef","useAutoCenter","taskLoading","DONE_STATES","includes","length","nonLeafNodes","useMemo","Set","map","edge","source","bottom","leafNodes","node","has","push","Math","max","view","y","height","bottomRef","manualScrolledUpRef","root","offsetHeight","transformedBottom","k","diffY","CANVAS_PADDING_BOTTOM","translateBy","select","handleReCenter","handleScaleChange","scale","scaleTo","className","classNames","styles","loading","ref","style","cursor","WrappedIcon","lib","theme","icon","spinning","canvas","ready","x","key","target","d","points","_ref2","i","join","_node$state","_node$view","_node$view2","type","content","job","startTime","instructionLoading","onResize","widgets","WrappedLink","url","prefix","PlanProgress","ZoomBar","onScaleChange","onReCenter","_ref3","nodeRef","element","observer","ResizeObserver","offsetWidth","observe","disconnect","handleMouseDown","e","stopPropagation","addEventListener","removeEventListener","left","top","NodeStart","NodeEnd","NodeRequirement","NodeInstruction","instruction","NodeJob","_CruiseCanvas2","_set_shareEvent","c","_initClass","_applyDecs","shadowOptions","attribute","o","_","_checkInRHS"],"sourceRoot":""}
|
|
File without changes
|
/package/dist/chunks/{chat-history.ba64d223.js.LICENSE.txt → chat-history.bd511d07.js.LICENSE.txt}
RENAMED
|
File without changes
|