@next-bricks/ai-portal 0.5.0 → 0.7.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 +10 -6
- package/dist/chunks/437.f5b9b607.js +2 -0
- package/dist/chunks/437.f5b9b607.js.map +1 -0
- package/dist/chunks/7301.562f065e.js +2 -0
- package/dist/chunks/7301.562f065e.js.map +1 -0
- package/dist/chunks/chat-box.e2888c33.js +2 -0
- package/dist/chunks/chat-box.e2888c33.js.map +1 -0
- package/dist/chunks/{chat-history.bd511d07.js → chat-history.f20f37fb.js} +3 -3
- package/dist/chunks/{chat-history.bd511d07.js.map → chat-history.f20f37fb.js.map} +1 -1
- package/dist/chunks/cruise-canvas.c3ba89cd.js +2 -0
- package/dist/chunks/cruise-canvas.c3ba89cd.js.map +1 -0
- package/dist/chunks/main.1a707368.js +2 -0
- package/dist/chunks/{main.21ef963e.js.map → main.1a707368.js.map} +1 -1
- package/dist/examples.json +5 -5
- package/dist/index.794c80c8.js +2 -0
- package/dist/{index.a4bc3033.js.map → index.794c80c8.js.map} +1 -1
- package/dist/manifest.json +61 -39
- package/dist/types.json +128 -90
- package/dist-types/cruise-canvas/CanvasContext.d.ts +14 -0
- package/dist-types/cruise-canvas/HumanAdjustPlan/HumanAdjustPlan.d.ts +3 -3
- package/dist-types/cruise-canvas/HumanAdjustPlanResult/HumanAdjustPlanResult.d.ts +5 -0
- package/dist-types/cruise-canvas/HumanConfirm/HumanConfirm.d.ts +1 -2
- package/dist-types/cruise-canvas/NodeEnd/NodeEnd.d.ts +1 -4
- package/dist-types/cruise-canvas/NodeJob/NodeJob.d.ts +1 -2
- package/dist-types/cruise-canvas/PlanProgress/PlanProgress.d.ts +3 -2
- package/dist-types/cruise-canvas/ToolCallDetail/ToolCallDetail.d.ts +5 -0
- package/dist-types/cruise-canvas/ToolCallStatus/ToolCallStatus.d.ts +6 -0
- package/dist-types/cruise-canvas/ToolProgressLine/ToolProgressLine.d.ts +9 -0
- package/dist-types/cruise-canvas/bricks.d.ts +7 -0
- package/dist-types/cruise-canvas/constants.d.ts +1 -1
- package/dist-types/cruise-canvas/i18n.d.ts +5 -0
- package/dist-types/cruise-canvas/index.d.ts +7 -2
- package/dist-types/cruise-canvas/interfaces.d.ts +2 -2
- package/dist-types/cruise-canvas/useTaskGraph.d.ts +1 -1
- package/dist-types/cruise-canvas/utils/getToolDataProgress.d.ts +3 -0
- package/dist-types/cruise-canvas/utils/index.d.ts +1 -0
- package/dist-types/cruise-canvas/utils/index.spec.d.ts +1 -0
- package/package.json +2 -2
- package/dist/chunks/4798.83b08045.js +0 -2
- package/dist/chunks/4798.83b08045.js.map +0 -1
- package/dist/chunks/7301.3b2a58c8.js +0 -2
- package/dist/chunks/7301.3b2a58c8.js.map +0 -1
- package/dist/chunks/chat-box.76f50d83.js +0 -2
- package/dist/chunks/chat-box.76f50d83.js.map +0 -1
- package/dist/chunks/cruise-canvas.c20630cb.js +0 -2
- package/dist/chunks/cruise-canvas.c20630cb.js.map +0 -1
- package/dist/chunks/main.21ef963e.js +0 -2
- package/dist/index.a4bc3033.js +0 -2
- /package/dist/chunks/{chat-history.bd511d07.js.LICENSE.txt → chat-history.f20f37fb.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7301.3b2a58c8.js","mappings":"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","sources":["webpack:///./src/chat-history/styles.shadow.css","webpack:///./src/home-container/styles.shadow.css","webpack:///./src/cruise-canvas/index.tsx","webpack:///./src/chat-box/i18n.ts","webpack:///./src/chat-box/index.tsx","webpack:///./src/home-container/index.tsx","webpack:///./src/chat-history/i18n.ts","webpack:///./src/chat-history/index.tsx","webpack:///./src/chat-box/styles.shadow.css"],"sourcesContent":["// 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}.loading{display:flex;justify-content:center;padding:8px}.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","// 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.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;background-color:#fff;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___});background-position:center;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}:host([hidden]){display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// 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 ) : (\n <NodeJob state={state} job={job!} humanInput={humanInput} />\n )}\n </div>\n );\n}\n","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 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\n className=\"item\"\n onClick={() => onSelect(item)}\n title={item.content}\n >\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","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement } = createDecorators();\n\n/**\n * 构件 `ai-portal.home-container`\n */\nexport\n@defineElement(\"ai-portal.home-container\", {\n styleTexts: [styleText],\n})\nclass HomeContainer extends ReactNextElement {\n render() {\n return <HomeContainerComponent />;\n }\n}\n\nexport function HomeContainerComponent() {\n return <slot />;\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","// 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 {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\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 WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\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 if (!list) {\n return (\n <div className=\"loading\">\n <WrappedIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon=\"loading-3-quarters\"\n spinning\n />\n </div>\n );\n }\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","// 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"],"names":["___CSS_LOADER_EXPORT___","push","module","id","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","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","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","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","K","en","ASK_ANY_THING","COMMON_TASKS","zh","t","i18n","getFixedT","wrapBrick","_ChatBox","_F","_ChatBox_brand","_handleMessageSubmit","ChatBox","_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","value","_get_messageSubmit","disabled","placeholder","autoFocus","suggestions","suggestionsLabel","ChatBoxComponent","onSubmit","containerRef","textareaRef","setValue","valueRef","handleSubmit","currentTarget","handleChange","handleSubmitClick","Promise","resolve","then","_textareaRef$current","focus","groupedSuggestions","chunk","ceil","handleSelectSuggestion","suggestion","setTimeout","_textareaRef$current2","TextareaAutoResize","minRows","paddingSize","autoResize","submitWhen","onChange","onClick","src","tips","width","group","index","SuggestionCarousel","pixelPerSecond","onSelect","carouselRef","listRef","setX","carousel","list","previousTimestamp","currentTimestamp","start","timer","offsetTime","mod","step","timestamp","undefined","requestAnimationFrame","onMouseEnter","cancelAnimationFrame","onMouseLeave","item","_ChatBox2","_set_messageSubmit","styleTexts","styleText","Boolean","_HomeContainer","HomeContainer","HomeContainerComponent","_HomeContainer2","TODAY","YESTERDAY","PREVIOUS_7_DAYS","PREVIOUS_30_DAYS","WrappedMiniActions","onActionClick","onVisibleChange","_ChatHistory","_ChatHistory_brand","_handleActionClick","ChatHistory","_init_list","_init_extra_list","_init_actions","_init_extra_actions","_init_actionClick","_init_extra_actionClick","detail","_get_actionClick","actions","ChatHistoryComponent","groups","groupMap","now","moment","startOfDay","startOf","yesterday","clone","subtract","sevenDaysAgo","thirtyDaysAgo","timestamps","year","groupKey","format","get","items","values","actionsVisible","setActionsVisible","active","action","_ChatHistory2","_set_actionClick"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[]).push([[6573],{433:(e,t,n)=>{n.d(t,{I:()=>l,K:()=>o,NS:()=>r,t:()=>u});var i=n(3922);let o=function(e){return e.ASK_ANY_THING="ASK_ANYTHING",e.COMMON_TASKS="COMMON_TASKS",e}({});const a={[o.ASK_ANY_THING]:"Ask anything",[o.COMMON_TASKS]:"Common tasks"},s={[o.ASK_ANY_THING]:"询问任何问题",[o.COMMON_TASKS]:"常用任务"},r="bricks/ai-portal/chat-box",l={en:a,zh:s},u=i.i18n.getFixedT(null,r)},1107:(e,t,n)=>{e.exports=n.p+"images/eef4f2bd.png"},1451:(e,t,n)=>{n.d(t,{e:()=>c});var i=n(9575),o=n(8769),a=n(9435),s=n(9126);const r=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"];let l;const u=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey",c=o.forwardRef(d);function d(e,t){let{autoResize:n,minRows:c,maxRows:d,borderSize:p,paddingSize:g,containerRef:h,value:m,style:b,submitWhen:f,onChange:x,onSubmit:v,onKeyDown:A,onCompositionStart:w,onCompositionEnd:S,...k}=e;const y=null==n||n,[E,C]=(0,o.useState)(null!=m?m:""),N=(0,o.useRef)(null),[z,R]=(0,o.useState)(null);(0,o.useImperativeHandle)(t,(()=>({focus:()=>{const e=N.current;if(e){var t;const n=null===(t=e.value)||void 0===t?void 0:t.length;e.focus(),n&&e.setSelectionRange(n,n)}}})),[]);const M=(0,o.useCallback)((()=>{const e=N.current;if(e&&y){const t=function(e,t){const{minRows:n=null,maxRows:i=null,borderSize:o=2,paddingSize:a=8}=null!=t?t:{};l||(l=document.createElement("textarea"),l.setAttribute("tab-index","-1"),l.setAttribute("aria-hidden","true"),document.body.appendChild(l));const s=window.getComputedStyle(e),u=r.map((e=>`${e}:${s.getPropertyValue(e)}`)).join(";");let c,d,p;l.setAttribute("style",`${u};\n min-height: 0!important;\n max-height: none!important;\n height: 0!important;\n visibility: hidden!important;\n overflow: hidden!important;\n position: absolute!important;\n z-index: -1000!important;\n top: 0!important;\n right: 0!important;\n pointer-events: none!important;\n`),l.value=e.value||e.placeholder||"";let g=l.scrollHeight+o;if(null!==n||null!==i){const e=parseFloat(window.getComputedStyle(l).getPropertyValue("line-height"));null!==n&&(c=e*n+a+o,g=Math.max(c,g)),null!==i&&(d=e*i+a+o,g<=d&&(p="hidden"),g=Math.min(d,g))}const h={height:g,overflowY:p,resize:"none"};return c&&(h.minHeight=c),d&&(h.maxHeight=d),h}(e,{minRows:c,maxRows:d,borderSize:p,paddingSize:g});(0,a.flushSync)((()=>{R(t)}))}}),[y,d,c,p,g]);(0,o.useEffect)((()=>{C(null!=m?m:"")}),[m]),(0,o.useEffect)((()=>{M()}),[M,E]);const _=(0,o.useRef)(!1),K=(0,o.useCallback)((e=>{_.current=!0,null==w||w(e)}),[w]),T=(0,o.useCallback)((e=>{_.current=!1,null==S||S(e)}),[S]),F=(0,o.useCallback)((e=>{_.current||("Enter"===e.key&&("enter-without-shift"===f?!e.shiftKey:"enter-with-mod"===f&&e[u])&&(e.preventDefault(),e.stopPropagation(),null==v||v(e)),null==A||A(e))}),[A,v,f]);return(0,o.useEffect)((()=>{const e=null==h?void 0:h.current;if(!e||!y)return;let t;const n=new s.A((n=>{for(const i of n)if(i.target===e){const e=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].inlineSize:i.contentBoxSize.inlineSize:i.contentRect.width;if(void 0!==e&&e!==t){const n=!t;t=e,n||requestAnimationFrame(M)}}}));return n.observe(e),()=>{n.disconnect()}}),[y,h,M]),o.createElement("textarea",(0,i.A)({},k,{ref:N,value:E,style:{...b,...z},onChange:e=>{C(e.target.value),null==x||x(e)},onCompositionStart:K,onCompositionEnd:T,onKeyDown:F}))}},7008:(e,t,n)=>{n.d(t,{A:()=>p});var i=n(6758),o=n.n(i),a=n(935),s=n.n(a),r=n(62),l=n.n(r),u=new URL(n(1107),n.b),c=s()(o()),d=l()(u);c.push([e.id,`:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.root{color:#262626;background-color:#e1e3ec;background-image:url(${d});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}`,""]);const p=c.toString()},7707:(e,t,n)=>{n.r(t),n.d(t,{ChatBox:()=>I,ChatBoxComponent:()=>X});var i,o=n(4635),a=n(918),s=n(6902),r=n(5536),l=n(6121),u=n(829),c=n(2740),d=n(8769),p=n.n(d),g=n(6192),h=n(9859),m=n(1451),b=n(1030),f=(n(6477),n(3922)),x=n(433),v=n(8808),A=n(7008);let w,S,k,y,E,C,N,z,R,M,_,K,T,F,L;(0,f.initializeI18n)(x.NS,x.I);const W=(0,h.wrapBrick)("eo-icon"),{defineElement:O,property:B,event:H}=(0,g.createDecorators)();let I;var P=new WeakMap,Y=new WeakMap,G=new WeakMap,$=new WeakMap,q=new WeakMap,D=new WeakMap,j=new WeakSet,V=new WeakMap;class U extends h.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,j),(0,a.A)(this,P,S(this)),(0,a.A)(this,Y,(k(this),y(this))),(0,a.A)(this,G,(E(this),C(this))),(0,a.A)(this,$,(N(this),z(this))),(0,a.A)(this,q,(R(this),M(this))),(0,a.A)(this,D,(_(this),K(this))),(0,a.A)(this,V,(L(this),e=>{(0,r.A)(j,this,T).emit(e)}))}get disabled(){return(0,u.A)(P,this)}set disabled(e){(0,l.A)(P,this,e)}get placeholder(){return(0,u.A)(Y,this)}set placeholder(e){(0,l.A)(Y,this,e)}get autoFocus(){return(0,u.A)(G,this)}set autoFocus(e){(0,l.A)(G,this,e)}get suggestions(){return(0,u.A)($,this)}set suggestions(e){(0,l.A)($,this,e)}get suggestionsLabel(){return(0,u.A)(q,this)}set suggestionsLabel(e){(0,l.A)(q,this,e)}render(){return p().createElement(X,{disabled:this.disabled,placeholder:this.placeholder,autoFocus:this.autoFocus,suggestions:this.suggestions,suggestionsLabel:this.suggestionsLabel,onSubmit:(0,u.A)(V,this)})}}function X(e){let{disabled:t,placeholder:n,autoFocus:i,suggestions:o,suggestionsLabel:a,onSubmit:s}=e;const r=(0,d.useRef)(null),l=(0,d.useRef)(null),[u,c]=(0,d.useState)(""),g=(0,d.useRef)(""),h=(0,d.useCallback)((e=>{null==s||s(e.currentTarget.value)}),[s]),f=(0,d.useCallback)((e=>{g.current=e.target.value,c(e.target.value)}),[]),A=(0,d.useCallback)((()=>{null==s||s(g.current)}),[s]);(0,d.useEffect)((()=>{i&&Promise.resolve().then((()=>{var e;null===(e=l.current)||void 0===e||e.focus()}))}),[]);const w=(0,d.useMemo)((()=>null!=o&&o.length?(0,b.chunk)(o,Math.max(2,Math.ceil(o.length/2))):[]),[o]),S=(0,d.useCallback)((e=>{g.current=e.content,c(e.content),setTimeout((()=>{var e;null===(e=l.current)||void 0===e||e.focus()}))}),[]);return p().createElement("div",{className:"root"},p().createElement("div",{className:"container",ref:r},p().createElement(m.e,{containerRef:r,ref:l,value:u,minRows:3,paddingSize:62,autoResize:!0,disabled:t,placeholder:null!=n?n:(0,x.t)(x.K.ASK_ANY_THING),submitWhen:"enter-without-shift",onSubmit:h,onChange:f}),p().createElement("button",{className:"btn-send",onClick:A},p().createElement(W,{lib:"fa",prefix:"fas",icon:"arrow-up"}))),!(null==w||!w.length)&&p().createElement("div",{className:"suggestions"},p().createElement("div",{className:"heading"},p().createElement("img",{className:"icon",src:v,width:16,height:16}),p().createElement("span",null,null!=a?a:(0,x.t)(x.K.COMMON_TASKS))),w.map(((e,t)=>p().createElement(J,{key:t,suggestions:e,pixelPerSecond:10*(t+2),onSelect:S})))))}function J(e){let{suggestions:t,pixelPerSecond:n,onSelect:i}=e;const o=(0,d.useRef)(null),a=(0,d.useRef)(null),[s,r]=(0,d.useState)(0);return(0,d.useEffect)((()=>{const e=o.current,t=a.current;if(!e||!t)return;let i,s,l,u,c=0;const d=(t.offsetWidth-7)/2+7;function p(e){s=e,void 0===l&&(l=e),void 0!==i&&(c+=e-i,i=void 0),r((e-l-c)/1e3*n%d),u=requestAnimationFrame(p)}u=requestAnimationFrame(p);const g=()=>{cancelAnimationFrame(u),i=s},h=()=>{u=requestAnimationFrame(p)};return e.addEventListener("mouseenter",g),e.addEventListener("mouseleave",h),()=>{cancelAnimationFrame(u),e.removeEventListener("mouseenter",g),e.removeEventListener("mouseleave",h)}}),[t,n]),p().createElement("div",{className:"carousel",ref:o},p().createElement("ul",{className:"list",ref:a,style:{transform:`translateX(${-s}px)`}},[...t,...t].map(((e,t)=>p().createElement("li",{key:t},p().createElement("div",{className:"item",onClick:()=>i(e),title:e.content},p().createElement("div",{className:"title"},e.title),p().createElement("div",{className:"content"},e.content)))))))}i=U,({e:[S,k,y,E,C,N,z,R,M,_,K,T,F,L],c:[I,w]}=(0,c.A)(i,[O("ai-portal.chat-box",{styleTexts:[A.A]})],[[B({type:Boolean}),1,"disabled"],[B(),1,"placeholder"],[B({type:Boolean}),1,"autoFocus"],[B({attribute:!1}),1,"suggestions"],[B(),1,"suggestionsLabel"],[H({type:"message.submit"}),1,"messageSubmit",e=>(0,u.A)(D,e),(e,t)=>(0,l.A)(D,e,t)]],0,(e=>V.has((0,s.A)(e))),h.ReactNextElement)),w()},8808:(e,t,n)=>{e.exports=n.p+"images/af389fa6.svg"}}]);
|
|
2
|
-
//# sourceMappingURL=chat-box.76f50d83.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/chat-box.76f50d83.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\n className=\"item\"\n onClick={() => onSelect(item)}\n title={item.content}\n >\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,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),h=n.n(d),m=n(6192),f=n(9859),g=n(8974),p=(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),x=n(7642),C=n(2773),M=n(9533),j=n(3153),B=n(4999),I=n(7954),N=n(4388),S=n(6938),z=n(2566),W=n(9295),L=n(6854),T=n(5805);let $,_,U,H,q,O,P,Q,X,D,F,G,J;(0,p.initializeI18n)(A.NS,A.I);const{defineElement:K,property:V,event:Y}=(0,m.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 h().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:m,error:f,humanInputRef:p}=(0,C.S)(s),k=s?c:a,E=s?u:null!=r?r:[],A=s?m:null==a?void 0:a.plan,I=(0,M.B)(k,E),N=null==I?void 0:I.nodes,S=null==I?void 0:I.edges,z=null!==(t=null==k?void 0:k.title)&&void 0!==t?t:"";(0,d.useEffect)((()=>{(0,g.getRuntime)().applyPageTitle(z)}),[z]),(0,d.useEffect)((()=>{f&&(0,g.handleHttpError)(f)}),[f]);const W=(0,d.useCallback)(((e,t)=>{var n;null===(n=p.current)||void 0===n||n.call(p,e,t)}),[p]),[$,_]=(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,x.g)({rawNodes:N,rawEdges:S,state:null==k?void 0:k.state,sizeMap:$}),{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=!L.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-L.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-L.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 h().createElement(h().Fragment,null,h().createElement("div",{className:v()(w.A.root,{[w.A.loading]:!k}),ref:i,style:{cursor:P?"grabbing":"grab"}},!k&&h().createElement("div",{className:w.A["loading-icon"]},h().createElement(T.Bj,{lib:"antd",theme:"outlined",icon:"loading-3-quarters",spinning:!0})),h().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})`}},h().createElement("svg",{className:w.A.edges},O.map((e=>h().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 h().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)&&!L.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:W,onShare:o})})))),h().createElement("div",{className:w.A.widgets},l&&h().createElement(T.EM,{className:w.A["go-back"],url:l},h().createElement(T.Bj,{lib:"fa",prefix:"fas",icon:"arrow-left-long"})),h().createElement(j.r,{plan:A}),h().createElement(B.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:m,humanInput:f,onShare:g}=e;const p=(0,d.useRef)(null);return(0,d.useEffect)((()=>{const e=p.current;if(!e)return;const n=new E.A((()=>{m(t,[e.offsetWidth,e.offsetHeight])}));return n.observe(e),()=>{n.disconnect(),m(t,null)}}),[t,m]),(0,d.useEffect)((()=>{const e=p.current;if(!e)return;const t=e=>{e.stopPropagation()};return e.addEventListener("mousedown",t),()=>{e.removeEventListener("mousedown",t)}}),[]),h().createElement("div",{className:v()(w.A.node,{[w.A.ready]:null!=c&&null!=u}),ref:p,style:{left:c,top:u}},"start"===n?h().createElement(I.H,null):"end"===n?h().createElement(W.s,{onShare:g}):"requirement"===n?h().createElement(N.O,{content:r,startTime:l,loading:o}):"instruction"===n?h().createElement(S.L,{content:a.instruction,loading:i}):h().createElement(z.W,{state:s,job:a,humanInput:f}))}s=ie,({e:[_,U,H,q,O,P,Q,X,D,F,G,J],c:[ee,$]}=(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)),$()}}]);
|
|
2
|
-
//# sourceMappingURL=cruise-canvas.c20630cb.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/cruise-canvas.c20630cb.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 ) : (\n <NodeJob state={state} job={job!} humanInput={humanInput} />\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":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{var e,t,r,n,o,a,l,i,s,c,u,d,f,h,p,m,b,v,g,x,y,P,k,w={7934:(e,t,r)=>{Promise.all([r.e(1165),r.e(940),r.e(1030),r.e(8769),r.e(4427),r.e(3922),r.e(1302),r.e(6192),r.e(9859),r.e(9435),r.e(6477),r.e(3357),r.e(8974),r.e(4798),r.e(7301)]).then(r.bind(r,6372))}},j={};function S(e){var t=j[e];if(void 0!==t)return t.exports;var r=j[e]={id:e,loaded:!1,exports:{}};return w[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=w,S.c=j,S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+e+"."+{114:"edeb665e",726:"0bc62720",843:"0c7e4c28",871:"623e9948",940:"98a91cc2",1045:"3a82f036",1086:"139e75b4",1122:"9dcaa54e",1165:"6759a6d3",1370:"25ebf7b8",1550:"b4a46d30",1889:"d6185164",1940:"674f0e20",2052:"12bb32f3",2277:"9a812e91",3144:"a54c8d65",3171:"dbc33a51",3933:"46c6b203",4041:"6ba6fafa",4306:"7ea515ce",4658:"714b36d2",4798:"83b08045",4837:"78431856",5250:"7614fa5b",5384:"451ded3d",5399:"da78e6e2",5552:"517eedc2",6314:"11c44a7e",6519:"836946b6",6773:"d116d4e1",7218:"4ed3eab4",7301:"3b2a58c8",7721:"4c786e0a",7733:"777c181e",8989:"6f404d42",9140:"9370c1d8",9515:"02c68755",9559:"4479bc89",9844:"a4320543"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/ai-portal:",S.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==o)for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++){var u=s[c];if(u.getAttribute("src")==r||u.getAttribute("data-webpack")==t+o){l=u;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",t+o),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(f);var o=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(n))),t)return t(n)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),i&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,n)=>{n||(n=[]);var o=t[r];if(o||(o=t[r]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var a=S.S[r],l="@next-bricks/ai-portal",i=(e,t,r,n)=>{var o=a[e]=a[e]||{},i=o[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(o[t]={get:r,from:l,eager:!!n})},s=[];return"default"===r&&(i("@babel/parser","7.27.2",(()=>S.e(6773).then((()=>()=>S(6773))))),i("@easyops-cn/brick-next-pipes","0.7.2",(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(4306))))),i("@next-core/cook","2.5.8",(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(1122))))),i("@next-core/easyops-runtime","0.13.7",(()=>Promise.all([S.e(1550),S.e(1030),S.e(4427),S.e(3922),S.e(9933),S.e(3357),S.e(1321),S.e(2812),S.e(8974),S.e(5310),S.e(1086)]).then((()=>()=>S(1550))))),i("@next-core/element","1.2.17",(()=>S.e(1045).then((()=>()=>S(1045))))),i("@next-core/http","1.2.12",(()=>S.e(8989).then((()=>()=>S(8989))))),i("@next-core/i18n","1.0.75",(()=>Promise.all([S.e(4427),S.e(3922),S.e(671),S.e(5552)]).then((()=>()=>S(5552))))),i("@next-core/inject","1.0.53",(()=>Promise.all([S.e(1030),S.e(9933),S.e(2277)]).then((()=>()=>S(2277))))),i("@next-core/loader","1.6.15",(()=>S.e(5399).then((()=>()=>S(7780))))),i("@next-core/pipes","2.0.32",(()=>S.e(6519).then((()=>()=>S(6519))))),i("@next-core/react-element","1.0.36",(()=>Promise.all([S.e(8769),S.e(6192),S.e(9435),S.e(114)]).then((()=>()=>S(114))))),i("@next-core/react-runtime","1.7.13",(()=>Promise.all([S.e(1030),S.e(8769),S.e(9859),S.e(8974),S.e(4837)]).then((()=>()=>S(4837))))),i("@next-core/runtime","1.60.0",(()=>Promise.all([S.e(9140),S.e(1030),S.e(4427),S.e(3922),S.e(1302),S.e(3357),S.e(1321),S.e(2812),S.e(9718)]).then((()=>()=>S(9140))))),i("@next-core/supply","2.3.5",(()=>Promise.all([S.e(1030),S.e(1302),S.e(9933),S.e(9559)]).then((()=>()=>S(9559))))),i("@next-core/theme","1.5.4",(()=>Promise.all([S.e(1889),S.e(2052)]).then((()=>()=>S(1889))))),i("@next-core/utils/general","1.7.33",(()=>S.e(871).then((()=>()=>S(871))))),i("@next-core/utils/storyboard","1.7.33",(()=>Promise.all([S.e(4427),S.e(1321),S.e(3933)]).then((()=>()=>S(3933))))),i("history","4.10.1",(()=>S.e(5384).then((()=>()=>S(5384))))),i("i18next-browser-languagedetector","7.2.2",(()=>S.e(726).then((()=>()=>S(726))))),i("i18next","22.5.1",(()=>S.e(843).then((()=>()=>S(843))))),i("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(9515))))),i("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(5250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),i("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(3144))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(4041)))))),e[r]=s.length?Promise.all(s).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var o=e[n],a=(typeof o)[0];if(n>=t.length)return"u"==a;var l=t[n],i=(typeof l)[0];if(a!=i)return"o"==a&&"n"==i||"s"==i||"u"==a;if("o"!=a&&"u"!=a&&o!=l)return o<l;n++}},o=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,r+="u"==(typeof(i=e[a]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(a=1;a<e.length;a++){var i=e[a];l.push(0===i?"not("+s()+")":1===i?"("+s()+" || "+s()+")":2===i?l.pop()+" "+l.pop():o(i))}return s();function s(){return l.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,t)=>{if(0 in e){t=r(t);var n=e[0],o=n<0;o&&(n=-n-1);for(var l=0,i=1,s=!0;;i++,l++){var c,u,d=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(u=(typeof(c=t[l]))[0]))return!s||("u"==d?i>n&&!o:""==d!=o);if("u"==u){if(!s||"u"!=d)return!1}else if(s)if(d==u)if(i<=n){if(c!=e[i])return!1}else{if(o?c>e[i]:c<e[i])return!1;c!=e[i]&&(s=!1)}else if("s"!=d&&"n"!=d){if(o||i<=n)return!1;s=!1,i--}else{if(i<=n||u<d!=o)return!1;s=!1}else"s"!=d&&"n"!=d&&(s=!1,i--)}}var f=[],h=f.pop.bind(f);for(l=1;l<e.length;l++){var p=e[l];f.push(1==p?h()|h():2==p?h()&h():p?a(p,t):!h())}return!!h()},l=(e,t)=>e&&S.o(e,t),i=e=>(e.loaded=1,e.get()),s=e=>Object.keys(e).reduce(((t,r)=>(e[r].eager&&(t[r]=e[r]),t)),{}),c=(e,t,r,o)=>{var l=o?s(e[t]):e[t];return(t=Object.keys(l).reduce(((e,t)=>!a(r,t)||e&&!n(e,t)?e:t),0))&&l[t]},u=(e,t,r)=>{var o=r?s(e[t]):e[t];return Object.keys(o).reduce(((e,t)=>!e||!o[e].loaded&&n(e,t)?t:e),0)},d=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+o(n)+")",f=(e,t,r,n,a)=>{var l=e[r];return"No satisfying version ("+o(n)+")"+(a?" for eager consumption":"")+" of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(l).map((e=>e+" from "+l[e].from)).join(", ")},h=e=>{throw new Error(e)},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},b=(e,t,r)=>r?r():((e,t)=>h("Shared module "+t+" doesn't exist in shared scope "+e))(e,t),v=(m=e=>function(t,r,n,o,a){var l=S.I(t);return l&&l.then&&!n?l.then(e.bind(e,t,S.S[t],r,!1,o,a)):e(t,S.S[t],r,n,o,a)})(((e,t,r,n,o,a)=>{if(!l(t,r))return b(e,r,a);var s=c(t,r,o,n);return s?i(s):a?a():void h(f(t,e,r,o,n))})),g=m(((e,t,r,n,o,s)=>{if(!l(t,r))return b(e,r,s);var c=u(t,r,n);return a(o,c)||p(d(t,r,c,o)),i(t[r][c])})),x={},y={1030:()=>g("default","lodash",!1,[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(5250))))),8769:()=>v("default","react",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(4041))))),4427:()=>g("default","@next-core/utils/general",!1,[1,1,7,33],(()=>S.e(871).then((()=>()=>S(871))))),3922:()=>g("default","@next-core/i18n",!1,[1,1,0,75],(()=>Promise.all([S.e(4427),S.e(671),S.e(3171)]).then((()=>()=>S(5552))))),1302:()=>g("default","moment",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),6192:()=>v("default","@next-core/element",!1,[1,1,2,17],(()=>S.e(1045).then((()=>()=>S(1045))))),9859:()=>v("default","@next-core/react-element",!1,[1,1,0,36],(()=>Promise.all([S.e(6192),S.e(9435),S.e(7733)]).then((()=>()=>S(114))))),9435:()=>v("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(3144))))),6477:()=>g("default","@next-core/theme",!1,[1,1,5,4],(()=>S.e(1889).then((()=>()=>S(1889))))),3357:()=>g("default","@next-core/http",!1,[1,1,2,12],(()=>S.e(1370).then((()=>()=>S(8989))))),8974:()=>g("default","@next-core/runtime",!1,[1,1,60,0],(()=>Promise.all([S.e(9140),S.e(4427),S.e(3922),S.e(1302),S.e(3357),S.e(1321),S.e(2812),S.e(9718)]).then((()=>()=>S(9140))))),480:()=>g("default","@next-core/easyops-runtime",!1,[2,0,13,7],(()=>Promise.all([S.e(1550),S.e(9933),S.e(1321),S.e(2812),S.e(5310)]).then((()=>()=>S(1550))))),8361:()=>v("default","@next-core/react-runtime",!1,[1,1,7,13],(()=>S.e(7218).then((()=>()=>S(4837))))),5310:()=>g("default","js-yaml",!1,[0],(()=>S.e(9515).then((()=>()=>S(9515))))),580:()=>g("default","@babel/parser",!1,[0],(()=>S.e(6773).then((()=>()=>S(6773))))),9933:()=>g("default","@next-core/pipes",!1,[0],(()=>S.e(6519).then((()=>()=>S(6519))))),1321:()=>g("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(1122))))),1732:()=>g("default","history",!1,[0],(()=>S.e(5384).then((()=>()=>S(5384))))),2105:()=>g("default","@next-core/utils/storyboard",!1,[1,1,7,33],(()=>S.e(6314).then((()=>()=>S(3933))))),848:()=>g("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(726))))),5630:()=>g("default","i18next",!1,[0],(()=>S.e(843).then((()=>()=>S(843))))),8377:()=>g("default","@easyops-cn/brick-next-pipes",!1,[0],(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(4306))))),4167:()=>g("default","@next-core/supply",!1,[0],(()=>Promise.all([S.e(9933),S.e(1940)]).then((()=>()=>S(9559))))),5599:()=>g("default","@next-core/loader",!1,[0],(()=>S.e(5399).then((()=>()=>S(7780))))),6036:()=>g("default","moment/locale/zh-cn.js",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),9283:()=>g("default","@next-core/inject",!1,[0],(()=>Promise.all([S.e(9933),S.e(4658)]).then((()=>()=>S(2277)))))},P={580:[580],671:[848,5630],1030:[1030],1302:[1302],1321:[1321],2812:[1732,2105],3357:[3357],3922:[3922],4427:[4427],4798:[480,8361],5310:[5310],6192:[6192],6477:[6477],6519:[8377],8769:[8769],8974:[8974],9435:[9435],9718:[4167,5599,6036,9283],9859:[9859],9933:[9933]},k={},S.f.consumes=(e,t)=>{S.o(P,e)&&P[e].forEach((e=>{if(S.o(x,e))return t.push(x[e]);if(!k[e]){var r=t=>{x[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};k[e]=!0;var n=t=>{delete x[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var o=y[e]();o.then?t.push(x[e]=o.then(r).catch(n)):r(o)}catch(e){n(e)}}}))},(()=>{S.b=document.baseURI||self.location.href;var e={8792:0};S.f.j=(t,r)=>{var n=S.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1(030|302|321)|6(192|477|71)|9(435|718|859|933)|2812|3357|3922|4427|5310|580|8769|8974)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>n=e[t]=[r,o]));r.push(n[2]=o);var a=S.p+S.u(t),l=new Error;S.l(a,(r=>{if(S.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,l,i]=r,s=0;if(a.some((t=>0!==e[t]))){for(n in l)S.o(l,n)&&(S.m[n]=l[n]);i&&i(S)}for(t&&t(r);s<a.length;s++)o=a[s],S.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0,S(7934)})();
|
|
2
|
-
//# sourceMappingURL=main.21ef963e.js.map
|
package/dist/index.a4bc3033.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e,t,r,n,a,o,l,i,s,c,u,d,h,f,p,m,b,v,g,x,y,P,w,k={2690:(e,t,r)=>{var n={"./chat-box":()=>Promise.all([r.e(1165),r.e(1030),r.e(8769),r.e(3922),r.e(6192),r.e(9859),r.e(9435),r.e(6477),r.e(6573)]).then((()=>()=>r(7707))),"./cruise-canvas":()=>Promise.all([r.e(1165),r.e(940),r.e(1030),r.e(8769),r.e(4427),r.e(3922),r.e(1302),r.e(6192),r.e(9859),r.e(9435),r.e(6477),r.e(3357),r.e(8974),r.e(4798),r.e(2267)]).then((()=>()=>r(6185))),"./home-container":()=>Promise.all([r.e(8769),r.e(6192),r.e(9859),r.e(6477),r.e(3172)]).then((()=>()=>r(7494))),"./chat-history":()=>Promise.all([r.e(8769),r.e(3922),r.e(1302),r.e(6192),r.e(9859),r.e(6477),r.e(1750)]).then((()=>()=>r(5704)))},a=(e,t)=>(r.R=t,t=r.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),r.R=void 0,t),o=(e,t)=>{if(r.S){var n="default",a=r.S[n];if(a&&a!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return r.S[n]=e,r.I(n,t)}};r.d(t,{get:()=>a,init:()=>o})}},j={};function S(e){var t=j[e];if(void 0!==t)return t.exports;var r=j[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,S),r.loaded=!0,r.exports}S.m=k,S.c=j,S.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return S.d(t,{a:t}),t},S.d=(e,t)=>{for(var r in t)S.o(t,r)&&!S.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},S.f={},S.e=e=>Promise.all(Object.keys(S.f).reduce(((t,r)=>(S.f[r](e,t),t)),[])),S.u=e=>"chunks/"+({1750:"chat-history",2267:"cruise-canvas",3172:"home-container",6573:"chat-box"}[e]||e)+"."+{114:"edeb665e",726:"0bc62720",843:"0c7e4c28",871:"623e9948",940:"98a91cc2",1045:"3a82f036",1086:"139e75b4",1122:"9dcaa54e",1165:"6759a6d3",1370:"25ebf7b8",1550:"b4a46d30",1750:"bd511d07",1889:"d6185164",1940:"674f0e20",2052:"12bb32f3",2267:"c20630cb",2277:"9a812e91",3144:"a54c8d65",3171:"dbc33a51",3172:"e2de03d1",3933:"46c6b203",4041:"6ba6fafa",4306:"7ea515ce",4658:"714b36d2",4798:"83b08045",4837:"78431856",5250:"7614fa5b",5384:"451ded3d",5399:"da78e6e2",5552:"517eedc2",6314:"11c44a7e",6519:"836946b6",6573:"76f50d83",6773:"d116d4e1",7218:"4ed3eab4",7721:"4c786e0a",7733:"777c181e",8989:"6f404d42",9140:"9370c1d8",9515:"02c68755",9559:"4479bc89",9844:"a4320543"}[e]+".js",S.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),S.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/ai-portal:",S.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++){var u=s[c];if(u.getAttribute("src")==r||u.getAttribute("data-webpack")==t+a){l=u;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,S.nc&&l.setAttribute("nonce",S.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var d=(t,n)=>{l.onerror=l.onload=null,clearTimeout(h);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},h=setTimeout(d.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=d.bind(null,l.onerror),l.onload=d.bind(null,l.onload),i&&document.head.appendChild(l)}},S.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},S.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{S.S={};var e={},t={};S.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];S.o(S.S,r)||(S.S[r]={});var o=S.S[r],l="@next-bricks/ai-portal",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},s=[];return"default"===r&&(i("@babel/parser","7.27.2",(()=>S.e(6773).then((()=>()=>S(6773))))),i("@easyops-cn/brick-next-pipes","0.7.2",(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(4306))))),i("@next-core/cook","2.5.8",(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(1122))))),i("@next-core/easyops-runtime","0.13.7",(()=>Promise.all([S.e(1550),S.e(1030),S.e(4427),S.e(3922),S.e(9933),S.e(3357),S.e(1321),S.e(2812),S.e(8974),S.e(5310),S.e(1086)]).then((()=>()=>S(1550))))),i("@next-core/element","1.2.17",(()=>S.e(1045).then((()=>()=>S(1045))))),i("@next-core/http","1.2.12",(()=>S.e(8989).then((()=>()=>S(8989))))),i("@next-core/i18n","1.0.75",(()=>Promise.all([S.e(4427),S.e(3922),S.e(671),S.e(5552)]).then((()=>()=>S(5552))))),i("@next-core/inject","1.0.53",(()=>Promise.all([S.e(1030),S.e(9933),S.e(2277)]).then((()=>()=>S(2277))))),i("@next-core/loader","1.6.15",(()=>S.e(5399).then((()=>()=>S(7780))))),i("@next-core/pipes","2.0.32",(()=>S.e(6519).then((()=>()=>S(6519))))),i("@next-core/react-element","1.0.36",(()=>Promise.all([S.e(8769),S.e(6192),S.e(9435),S.e(114)]).then((()=>()=>S(114))))),i("@next-core/react-runtime","1.7.13",(()=>Promise.all([S.e(1030),S.e(8769),S.e(9859),S.e(8974),S.e(4837)]).then((()=>()=>S(4837))))),i("@next-core/runtime","1.60.0",(()=>Promise.all([S.e(9140),S.e(1030),S.e(4427),S.e(3922),S.e(1302),S.e(3357),S.e(1321),S.e(2812),S.e(9718)]).then((()=>()=>S(9140))))),i("@next-core/supply","2.3.5",(()=>Promise.all([S.e(1030),S.e(1302),S.e(9933),S.e(9559)]).then((()=>()=>S(9559))))),i("@next-core/theme","1.5.4",(()=>Promise.all([S.e(1889),S.e(2052)]).then((()=>()=>S(1889))))),i("@next-core/utils/general","1.7.33",(()=>S.e(871).then((()=>()=>S(871))))),i("@next-core/utils/storyboard","1.7.33",(()=>Promise.all([S.e(4427),S.e(1321),S.e(3933)]).then((()=>()=>S(3933))))),i("history","4.10.1",(()=>S.e(5384).then((()=>()=>S(5384))))),i("i18next-browser-languagedetector","7.2.2",(()=>S.e(726).then((()=>()=>S(726))))),i("i18next","22.5.1",(()=>S.e(843).then((()=>()=>S(843))))),i("js-yaml","3.14.1",(()=>S.e(9515).then((()=>()=>S(9515))))),i("lodash","4.17.21",(()=>S.e(5250).then((()=>()=>S(5250))))),i("moment/locale/zh-cn.js","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),i("moment","2.30.1",(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([S.e(3144),S.e(8769)]).then((()=>()=>S(3144))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>S.e(4041).then((()=>()=>S(4041)))))),e[r]=s.length?Promise.all(s).then((()=>e[r]=1)):1}}})(),(()=>{var e;S.g.importScripts&&(e=S.g.location+"");var t=S.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),S.p=e})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+s()+")":1===i?"("+s()+" || "+s()+")":2===i?l.pop()+" "+l.pop():a(i))}return s();function s(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,s=!0;;i++,l++){var c,u,d=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(u=(typeof(c=t[l]))[0]))return!s||("u"==d?i>n&&!a:""==d!=a);if("u"==u){if(!s||"u"!=d)return!1}else if(s)if(d==u)if(i<=n){if(c!=e[i])return!1}else{if(a?c>e[i]:c<e[i])return!1;c!=e[i]&&(s=!1)}else if("s"!=d&&"n"!=d){if(a||i<=n)return!1;s=!1,i--}else{if(i<=n||u<d!=a)return!1;s=!1}else"s"!=d&&"n"!=d&&(s=!1,i--)}}var h=[],f=h.pop.bind(h);for(l=1;l<e.length;l++){var p=e[l];h.push(1==p?f()|f():2==p?f()&f():p?o(p,t):!f())}return!!f()},l=(e,t)=>e&&S.o(e,t),i=e=>(e.loaded=1,e.get()),s=e=>Object.keys(e).reduce(((t,r)=>(e[r].eager&&(t[r]=e[r]),t)),{}),c=(e,t,r,a)=>{var l=a?s(e[t]):e[t];return(t=Object.keys(l).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&l[t]},u=(e,t,r)=>{var a=r?s(e[t]):e[t];return Object.keys(a).reduce(((e,t)=>!e||!a[e].loaded&&n(e,t)?t:e),0)},d=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",h=(e,t,r,n,o)=>{var l=e[r];return"No satisfying version ("+a(n)+")"+(o?" for eager consumption":"")+" of shared module "+r+" found in shared scope "+t+".\nAvailable versions: "+Object.keys(l).map((e=>e+" from "+l[e].from)).join(", ")},f=e=>{throw new Error(e)},p=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},b=(e,t,r)=>r?r():((e,t)=>f("Shared module "+t+" doesn't exist in shared scope "+e))(e,t),v=(m=e=>function(t,r,n,a,o){var l=S.I(t);return l&&l.then&&!n?l.then(e.bind(e,t,S.S[t],r,!1,a,o)):e(t,S.S[t],r,n,a,o)})(((e,t,r,n,a,o)=>{if(!l(t,r))return b(e,r,o);var s=c(t,r,a,n);return s?i(s):o?o():void f(h(t,e,r,a,n))})),g=m(((e,t,r,n,a,s)=>{if(!l(t,r))return b(e,r,s);var c=u(t,r,n);return o(a,c)||p(d(t,r,c,a)),i(t[r][c])})),x={},y={1030:()=>g("default","lodash",!1,[1,4,17,21],(()=>S.e(5250).then((()=>()=>S(5250))))),1302:()=>g("default","moment",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(9420))))),5310:()=>g("default","js-yaml",!1,[0],(()=>S.e(9515).then((()=>()=>S(9515))))),580:()=>g("default","@babel/parser",!1,[0],(()=>S.e(6773).then((()=>()=>S(6773))))),4427:()=>g("default","@next-core/utils/general",!1,[1,1,7,33],(()=>S.e(871).then((()=>()=>S(871))))),3922:()=>g("default","@next-core/i18n",!1,[1,1,0,75],(()=>Promise.all([S.e(4427),S.e(671),S.e(3171)]).then((()=>()=>S(5552))))),9933:()=>g("default","@next-core/pipes",!1,[0],(()=>S.e(6519).then((()=>()=>S(6519))))),3357:()=>g("default","@next-core/http",!1,[1,1,2,12],(()=>S.e(1370).then((()=>()=>S(8989))))),1321:()=>g("default","@next-core/cook",!1,[0],(()=>Promise.all([S.e(1122),S.e(580)]).then((()=>()=>S(1122))))),1732:()=>g("default","history",!1,[0],(()=>S.e(5384).then((()=>()=>S(5384))))),2105:()=>g("default","@next-core/utils/storyboard",!1,[1,1,7,33],(()=>S.e(6314).then((()=>()=>S(3933))))),8974:()=>g("default","@next-core/runtime",!1,[1,1,60,0],(()=>Promise.all([S.e(9140),S.e(4427),S.e(3922),S.e(1302),S.e(3357),S.e(1321),S.e(2812),S.e(9718)]).then((()=>()=>S(9140))))),848:()=>g("default","i18next-browser-languagedetector",!1,[0],(()=>S.e(726).then((()=>()=>S(726))))),5630:()=>g("default","i18next",!1,[0],(()=>S.e(843).then((()=>()=>S(843))))),8377:()=>g("default","@easyops-cn/brick-next-pipes",!1,[0],(()=>Promise.all([S.e(4306),S.e(1030),S.e(1302),S.e(5310)]).then((()=>()=>S(4306))))),8769:()=>v("default","react",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(4041).then((()=>()=>S(4041))))),6192:()=>v("default","@next-core/element",!1,[1,1,2,17],(()=>S.e(1045).then((()=>()=>S(1045))))),9435:()=>v("default","react-dom",!1,[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>S.e(3144).then((()=>()=>S(3144))))),9859:()=>v("default","@next-core/react-element",!1,[1,1,0,36],(()=>Promise.all([S.e(6192),S.e(9435),S.e(7733)]).then((()=>()=>S(114))))),4167:()=>g("default","@next-core/supply",!1,[0],(()=>Promise.all([S.e(9933),S.e(1940)]).then((()=>()=>S(9559))))),5599:()=>g("default","@next-core/loader",!1,[0],(()=>S.e(5399).then((()=>()=>S(7780))))),6036:()=>g("default","moment/locale/zh-cn.js",!1,[1,2,30,1],(()=>Promise.all([S.e(7721),S.e(9844)]).then((()=>()=>S(1329))))),9283:()=>g("default","@next-core/inject",!1,[0],(()=>Promise.all([S.e(9933),S.e(4658)]).then((()=>()=>S(2277))))),6477:()=>g("default","@next-core/theme",!1,[1,1,5,4],(()=>S.e(1889).then((()=>()=>S(1889))))),480:()=>g("default","@next-core/easyops-runtime",!1,[2,0,13,7],(()=>Promise.all([S.e(1550),S.e(9933),S.e(1321),S.e(2812),S.e(5310)]).then((()=>()=>S(1550))))),8361:()=>v("default","@next-core/react-runtime",!1,[1,1,7,13],(()=>S.e(7218).then((()=>()=>S(4837)))))},P={580:[580],671:[848,5630],1030:[1030],1302:[1302],1321:[1321],2812:[1732,2105],3357:[3357],3922:[3922],4427:[4427],4798:[480,8361],5310:[5310],6192:[6192],6477:[6477],6519:[8377],8769:[8769],8974:[8974],9435:[9435],9718:[4167,5599,6036,9283],9859:[9859],9933:[9933]},w={},S.f.consumes=(e,t)=>{S.o(P,e)&&P[e].forEach((e=>{if(S.o(x,e))return t.push(x[e]);if(!w[e]){var r=t=>{x[e]=0,S.m[e]=r=>{delete S.c[e],r.exports=t()}};w[e]=!0;var n=t=>{delete x[e],S.m[e]=r=>{throw delete S.c[e],t}};try{var a=y[e]();a.then?t.push(x[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}}))},(()=>{S.b=document.baseURI||self.location.href;var e={2641:0};S.f.j=(t,r)=>{var n=S.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(1(030|302|321)|6(192|477|71)|9(435|718|859|933)|2812|3357|3922|4427|5310|580|8769|8974)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=S.p+S.u(t),l=new Error;S.l(o,(r=>{if(S.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,s=0;if(o.some((t=>0!==e[t]))){for(n in l)S.o(l,n)&&(S.m[n]=l[n]);i&&i(S)}for(t&&t(r);s<o.length;s++)a=o[s],S.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=globalThis.webpackChunk_next_bricks_ai_portal=globalThis.webpackChunk_next_bricks_ai_portal||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),S.nc=void 0;var E=S(2690);window["bricks/ai-portal"]=E})();
|
|
2
|
-
//# sourceMappingURL=index.a4bc3033.js.map
|
/package/dist/chunks/{chat-history.bd511d07.js.LICENSE.txt → chat-history.f20f37fb.js.LICENSE.txt}
RENAMED
|
File without changes
|