@next-bricks/visual-builder 1.33.8 → 1.35.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 +8 -6
- package/dist/chunks/{114.fdfd0dd9.js → 114.c25646f6.js} +2 -2
- package/dist/chunks/{114.fdfd0dd9.js.map → 114.c25646f6.js.map} +1 -1
- package/dist/chunks/{2252.25422902.js → 2252.fdcd5468.js} +3 -3
- package/dist/chunks/{2252.25422902.js.map → 2252.fdcd5468.js.map} +1 -1
- package/dist/chunks/{2980.0e831600.js → 2980.86aa3c5b.js} +2 -2
- package/dist/chunks/{2980.0e831600.js.map → 2980.86aa3c5b.js.map} +1 -1
- package/dist/chunks/{4837.cd50030b.js → 4837.bc21d4bb.js} +2 -2
- package/dist/chunks/{7218.9e675e7d.js.map → 4837.bc21d4bb.js.map} +1 -1
- package/dist/chunks/5399.be09f124.js +2 -0
- package/dist/chunks/5399.be09f124.js.map +1 -0
- package/dist/chunks/{5814.8ed8f39d.js → 5814.7b571c77.js} +3 -3
- package/dist/chunks/{5814.8ed8f39d.js.map → 5814.7b571c77.js.map} +1 -1
- package/dist/chunks/6773.9ed5373b.js +2 -0
- package/dist/chunks/6773.9ed5373b.js.map +1 -0
- package/dist/chunks/718.4da7e7c3.js +3 -0
- package/dist/chunks/718.4da7e7c3.js.map +1 -0
- package/dist/chunks/{7218.9e675e7d.js → 7218.163468a5.js} +2 -2
- package/dist/chunks/{4837.cd50030b.js.map → 7218.163468a5.js.map} +1 -1
- package/dist/chunks/{7733.dfa9b454.js → 7733.4fc7b710.js} +2 -2
- package/dist/chunks/{7733.dfa9b454.js.map → 7733.4fc7b710.js.map} +1 -1
- package/dist/chunks/8144.c19b5f90.js +3 -0
- package/dist/chunks/{7150.0e64cf9e.js.LICENSE.txt → 8144.c19b5f90.js.LICENSE.txt} +2 -0
- package/dist/chunks/8144.c19b5f90.js.map +1 -0
- package/dist/chunks/8989.74e3337d.js +2 -0
- package/dist/chunks/{8989.0d8b22ea.js.map → 8989.74e3337d.js.map} +1 -1
- package/dist/chunks/{9027.58391f17.js → 9027.ae3dd6a1.js} +2 -2
- package/dist/chunks/{9027.58391f17.js.map → 9027.ae3dd6a1.js.map} +1 -1
- package/dist/chunks/{9080.b97eaf67.js → 9080.fe043f12.js} +2 -2
- package/dist/chunks/{9080.b97eaf67.js.map → 9080.fe043f12.js.map} +1 -1
- package/dist/chunks/batch-update-raw-data-generated-view.d729bc1b.js +3 -0
- package/dist/chunks/batch-update-raw-data-generated-view.d729bc1b.js.LICENSE.txt +1 -0
- package/dist/chunks/batch-update-raw-data-generated-view.d729bc1b.js.map +1 -0
- package/dist/chunks/{chat-preview.bb6cd3b4.js → chat-preview.0ee9b1ac.js} +3 -3
- package/dist/chunks/{chat-preview.bb6cd3b4.js.map → chat-preview.0ee9b1ac.js.map} +1 -1
- package/dist/chunks/{check-editor-by-name.2c85abd3.js → check-editor-by-name.66abd437.js} +2 -2
- package/dist/chunks/{check-editor-by-name.2c85abd3.js.map → check-editor-by-name.66abd437.js.map} +1 -1
- package/dist/chunks/{contract-select.5302ec7e.js → contract-select.39759636.js} +3 -3
- package/dist/chunks/{contract-select.5302ec7e.js.map → contract-select.39759636.js.map} +1 -1
- package/dist/chunks/inject-preview-agent.b12c08c4.js.map +1 -1
- package/dist/chunks/main.8bd04251.js +2 -0
- package/dist/chunks/main.8bd04251.js.map +1 -0
- package/dist/chunks/{pre-generated-container.182db37b.js → pre-generated-container.fd7db719.js} +2 -2
- package/dist/chunks/{pre-generated-container.182db37b.js.map → pre-generated-container.fd7db719.js.map} +1 -1
- package/dist/chunks/pre-generated-preview.f09452bf.js +3 -0
- package/dist/chunks/pre-generated-preview.f09452bf.js.map +1 -0
- package/dist/chunks/{property-editor.6f5b4896.js → property-editor.079839d6.js} +2 -2
- package/dist/chunks/{property-editor.6f5b4896.js.map → property-editor.079839d6.js.map} +1 -1
- package/dist/chunks/raw-data-preview.a9da1ecb.js +3 -0
- package/dist/chunks/raw-data-preview.a9da1ecb.js.LICENSE.txt +5 -0
- package/dist/chunks/raw-data-preview.a9da1ecb.js.map +1 -0
- package/dist/chunks/{workbench-action-list.a319ba8f.js → workbench-action-list.19d9ee9d.js} +2 -2
- package/dist/chunks/{workbench-action-list.a319ba8f.js.map → workbench-action-list.19d9ee9d.js.map} +1 -1
- package/dist/chunks/{workbench-history-action.e20b5e26.js → workbench-history-action.976d14c0.js} +3 -3
- package/dist/chunks/{workbench-history-action.e20b5e26.js.map → workbench-history-action.976d14c0.js.map} +1 -1
- package/dist/index.cabccf48.js +2 -0
- package/dist/index.cabccf48.js.map +1 -0
- package/dist/manifest.json +71 -20
- package/dist/types.json +418 -0
- package/dist-types/bootstrap.d.ts +2 -0
- package/dist-types/data-providers/batch-update-raw-data-generated-view.d.ts +9 -0
- package/dist-types/data-providers/batch-update-raw-data-generated-view.spec.d.ts +1 -0
- package/dist-types/raw-data-preview/convert.d.ts +3 -0
- package/dist-types/raw-data-preview/index.d.ts +53 -0
- package/dist-types/raw-data-preview/index.spec.d.ts +1 -0
- package/dist-types/raw-data-preview/raw-data-interfaces.d.ts +74 -0
- package/package.json +2 -2
- package/dist/chunks/1370.f1c0b4dc.js +0 -2
- package/dist/chunks/1370.f1c0b4dc.js.map +0 -1
- package/dist/chunks/5399.96998a74.js +0 -2
- package/dist/chunks/5399.96998a74.js.map +0 -1
- package/dist/chunks/6773.7837da8c.js +0 -2
- package/dist/chunks/6773.7837da8c.js.map +0 -1
- package/dist/chunks/7150.0e64cf9e.js +0 -3
- package/dist/chunks/7150.0e64cf9e.js.map +0 -1
- package/dist/chunks/7426.4f61da8a.js +0 -3
- package/dist/chunks/7426.4f61da8a.js.map +0 -1
- package/dist/chunks/8989.0d8b22ea.js +0 -2
- package/dist/chunks/main.07bd0560.js +0 -2
- package/dist/chunks/main.07bd0560.js.map +0 -1
- package/dist/chunks/pre-generated-preview.9fe5a3d8.js +0 -3
- package/dist/chunks/pre-generated-preview.9fe5a3d8.js.map +0 -1
- package/dist/index.b98e786d.js +0 -2
- package/dist/index.b98e786d.js.map +0 -1
- /package/dist/chunks/{2252.25422902.js.LICENSE.txt → 2252.fdcd5468.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{5814.8ed8f39d.js.LICENSE.txt → 5814.7b571c77.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{7426.4f61da8a.js.LICENSE.txt → 718.4da7e7c3.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{chat-preview.bb6cd3b4.js.LICENSE.txt → chat-preview.0ee9b1ac.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{contract-select.5302ec7e.js.LICENSE.txt → contract-select.39759636.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{pre-generated-preview.9fe5a3d8.js.LICENSE.txt → pre-generated-preview.f09452bf.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{workbench-history-action.e20b5e26.js.LICENSE.txt → workbench-history-action.976d14c0.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7150.0e64cf9e.js","mappings":"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","sources":["webpack:///./src/workbench-pane/index.tsx","webpack:///../../src/debounceByAnimationFrame.ts","webpack:///./src/workbench-sidebar/index.tsx","webpack:///./src/workbench-action/index.tsx","webpack:///../../src/menu.ts","webpack:///./src/workbench-action-list/index.tsx","webpack:///./src/workbench-tree/index.tsx","webpack:///./src/data-providers/inject-preview-agent.ts","webpack:///./src/workbench-history-action/i18n.ts","webpack:///../../node_modules/@next-api-sdk/next-builder-sdk/dist/esm/api/next_builder/workspace/getChangeHistory.js","webpack:///./src/workbench-history-action/utils.ts","webpack:///./src/workbench-history-action/index.tsx","webpack:///./src/page-arch-node/index.tsx","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateSetter.js","webpack:///../../src/FormItemElement.tsx","webpack:///../../node_modules/@next-api-sdk/next-builder-sdk/dist/esm/api/next_builder/contract_center/searchContract.js","webpack:///./src/contract-select/i18n.ts","webpack:///./src/contract-select/more-option/MoreOption.tsx","webpack:///./src/contract-select/index.tsx","webpack:///./src/contract-select/useContractList.ts","webpack:///./src/generate-snippets-context-menu/index.tsx","webpack:///./src/generate-snippets-context-menu/i18n.ts","webpack:///../../src/rehypePrism.ts","webpack:///../../src/MarkdownComponent.tsx","webpack:///./src/chat-conversation/MessageComponent.tsx","webpack:///./src/chat-conversation/index.tsx","webpack:///./src/chat-preview/InspectOutlineComponent.tsx","webpack:///./src/chat-preview/index.tsx","webpack:///./src/data-providers/chat-preview/inspector.ts","webpack:///./src/data-providers/inject-chat-preview-agent.ts","webpack:///./src/pre-generated-preview/index.tsx","webpack:///./src/pre-generated-table-view/index.tsx","webpack:///./src/pre-generated-container/index.tsx","webpack:///./src/data-providers/check-editor-by-name.ts","webpack:///./src/data-providers/get-data-dependency.ts","webpack:///./src/data-providers/get-dependency-tree.ts","webpack:///./src/data-providers/parse-path.ts","webpack:///./src/property-editor/index.tsx","webpack:///./src/chat-conversation/styles.shadow.css","webpack:///./src/chat-preview/styles.shadow.css","webpack:///./src/contract-select/styles.shadow.css","webpack:///./src/generate-snippets-context-menu/styles.shadow.css","webpack:///./src/page-arch-node/styles.shadow.css","webpack:///./src/pre-generated-container/styles.shadow.css","webpack:///./src/pre-generated-preview/preview.shadow.css","webpack:///./src/pre-generated-preview/styles.shadow.css","webpack:///./src/pre-generated-table-view/styles.shadow.css","webpack:///./src/shared/scrollbar.shadow.css","webpack:///./src/workbench-action-list/workbench-action-list.shadow.css","webpack:///./src/workbench-action/workbench-action.shadow.css","webpack:///./src/workbench-history-action/styles.shadow.css","webpack:///./src/workbench-pane/workbench-pane.shadow.css","webpack:///./src/workbench-sidebar/workbench-sidebar.shadow.css","webpack:///../../shared/markdown/dist/esm/prism-tomorrow.css","webpack:///../../node_modules/path-to-regexp/dist.es2015/index.js"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useState,\n useCallback,\n useMemo,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./workbench-pane.shadow.css\";\nimport sharedStyle from \"../shared/scrollbar.shadow.css\";\nimport { debounceByAnimationFrame } from \"@next-shared/general/debounceByAnimationFrame\";\nimport classNames from \"classnames\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface WorkbenchPaneProps {\n titleLabel?: string;\n active?: boolean;\n badge?: number;\n onActiveChange?(active: boolean): void;\n onFirstActivated?(): void;\n}\n\n/**\n * @insider\n */\n@defineElement(\"visual-builder.workbench-pane\", {\n styleTexts: [styleText, sharedStyle],\n})\nclass WorkbenchPane extends ReactNextElement {\n @property() accessor titleLabel: string | undefined;\n\n @property({ type: Boolean }) accessor active: boolean | undefined;\n\n @property({ type: Number }) accessor badge: number | undefined;\n\n @event({ type: \"active.change\" })\n accessor #activeChangeEvent: EventEmitter<boolean>;\n #handleActiveChange = (active: boolean): void => {\n if (active !== this.active) {\n this.active = active;\n this.#activeChangeEvent.emit(active);\n }\n };\n\n @event({ type: \"active.firstActivated\" })\n accessor #activeFirstActivatedEvent: EventEmitter<void>;\n\n #handleActiveFirstActivated = (): void => {\n this.#activeFirstActivatedEvent.emit();\n };\n\n render() {\n return (\n <WorkbenchPaneComponent\n titleLabel={this.titleLabel}\n active={this.active}\n badge={this.badge}\n onActiveChange={this.#handleActiveChange}\n onFirstActivated={this.#handleActiveFirstActivated}\n />\n );\n }\n}\n\nfunction WorkbenchPaneComponent({\n titleLabel,\n active,\n badge,\n onActiveChange,\n onFirstActivated,\n}: WorkbenchPaneProps) {\n const [internalActive, setInternalActive] = useState<boolean>(active);\n const [activatedOnce, setActivatedOnce] = useState(false);\n\n useEffect(() => {\n setInternalActive(active);\n }, [active]);\n\n useEffect(() => {\n onActiveChange?.(internalActive);\n }, [internalActive, onActiveChange]);\n\n const handleClick = useCallback(() => {\n setInternalActive((previousActive) => !previousActive);\n if (!activatedOnce && !internalActive) {\n setActivatedOnce(true);\n onFirstActivated?.();\n }\n }, [activatedOnce, internalActive, onFirstActivated]);\n\n const scrollBodyRef = useRef<HTMLDivElement>();\n\n const [scrolled, setScrolled] = useState(false);\n\n const handleScroll = useMemo(\n () =>\n debounceByAnimationFrame((): void => {\n setScrolled(scrollBodyRef.current.scrollTop > 0);\n }),\n []\n );\n\n return (\n <div\n className={classNames(\"pane\", {\n scrolled,\n })}\n >\n <div className=\"pane-header\" tabIndex={0} onClick={handleClick}>\n <div className=\"pane-title\">\n <span className=\"title-icon\">\n {internalActive ? (\n <WrappedIcon lib=\"antd\" theme=\"outlined\" icon=\"down\" />\n ) : (\n <WrappedIcon lib=\"antd\" theme=\"outlined\" icon=\"right\" />\n )}\n </span>\n <div className=\"title-label\">{titleLabel}</div>\n <slot name=\"title\" />\n </div>\n <slot name=\"actions\" />\n {badge && <div className=\"badge\">{badge}</div>}\n <div className=\"pane-scroll-shadow\"></div>\n </div>\n <div\n className=\"pane-body custom-scrollbar-container\"\n onScroll={handleScroll}\n ref={scrollBodyRef}\n >\n <slot>\n <div\n style={{\n padding: \"10px 20px\",\n color: \"var(--text-color-secondary)\",\n }}\n >\n No content\n </div>\n </slot>\n </div>\n </div>\n );\n}\n\nexport { WorkbenchPane };\n","export type SimpleFunction<P extends unknown[] = unknown[], R = unknown> = (\n ...args: P\n) => R;\n\n// The debounce function receives our function as a parameter\nexport function debounceByAnimationFrame<P extends unknown[]>(\n fn: SimpleFunction<P, void>\n): SimpleFunction<P, void> & { cancel: () => void } {\n // This holds the requestAnimationFrame reference, so we can cancel it if we wish\n let frame: number;\n\n const cancel = () => cancelAnimationFrame(frame);\n\n // The debounce function returns a new function that can receive a variable number of arguments\n const func = (...params: P) => {\n // If the frame variable has been defined, clear it now, and queue for next frame\n if (frame) {\n cancel();\n }\n\n // Queue our function call for the next frame\n frame = requestAnimationFrame(() => {\n // Call our function and pass any params we received\n fn(...params);\n });\n };\n\n func.cancel = cancel;\n\n return func;\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport styleText from \"./workbench-sidebar.shadow.css\";\n\ninterface WorkbenchSidebarProps {\n titleLabel: string;\n refCallback: (element: HTMLDivElement) => void;\n}\ninterface WorkbenchSidebarChildElement extends HTMLElement {\n active?: boolean;\n activeFlex?: string;\n}\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * @insider\n */\n@defineElement(\"visual-builder.workbench-sidebar\", {\n styleTexts: [styleText],\n})\nclass WorkbenchSidebar extends ReactNextElement {\n @property() accessor titleLabel: string | undefined;\n\n #getPaneSlot = (): HTMLSlotElement => {\n return this.shadowRoot?.querySelector(\"slot:not([name])\");\n };\n\n #reflowPanes = (): void => {\n const slot = this.#getPaneSlot();\n const panes = slot.assignedNodes() as WorkbenchSidebarChildElement[];\n\n for (const pane of panes) {\n if (pane.active) {\n pane.style.flex = String(pane.activeFlex ?? \"1\");\n } else {\n pane.style.flex = \"initial\";\n }\n }\n };\n\n #onPanesSlotChange = (event: Event): void => {\n const slot = event.target as HTMLSlotElement;\n const panes = slot.assignedNodes();\n for (const pane of panes) {\n pane.addEventListener(\"active.change\", this.#reflowPanes);\n }\n };\n\n refCallback = () => {\n this.#reflowPanes();\n const panesSlots = this.#getPaneSlot();\n\n panesSlots?.addEventListener(\"slotchange\", (e) => {\n this.#onPanesSlotChange(e);\n });\n };\n\n render() {\n return (\n <WorkbenchSidebarComponent\n titleLabel={this.titleLabel}\n refCallback={this.refCallback}\n />\n );\n }\n}\n\nfunction WorkbenchSidebarComponent({\n titleLabel,\n refCallback,\n}: WorkbenchSidebarProps) {\n return (\n <div className=\"sidebar\" ref={refCallback}>\n <div className=\"title-container\">\n <div className=\"title-label\">{titleLabel}</div>\n <slot name=\"titleToolbar\" />\n </div>\n <div className=\"pane-container\">\n <slot />\n </div>\n </div>\n );\n}\n\nexport { WorkbenchSidebar };\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./workbench-action.shadow.css\";\nimport classNames from \"classnames\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrapLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface WorkbenchActionProps {\n icon?: GeneralIconProps;\n to?: string;\n target?: string;\n active?: boolean;\n href?: string;\n}\n\n/**\n * @insider\n */\nexport\n@defineElement(\"visual-builder.workbench-action\", {\n styleTexts: [styleText],\n})\nclass WorkbenchAction extends ReactNextElement {\n @property({\n attribute: false,\n })\n accessor icon: GeneralIconProps | undefined;\n\n @property() accessor to: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor active: boolean | undefined;\n\n @property() accessor href: string | undefined;\n\n @property() accessor target: string | undefined;\n\n render(): React.ReactNode {\n return (\n <WorkbenchActionComponent\n to={this.to}\n icon={this.icon}\n active={this.active}\n href={this.href}\n target={this.target}\n />\n );\n }\n}\n\nfunction WorkbenchActionComponent({\n icon,\n to,\n active,\n href,\n target,\n}: WorkbenchActionProps) {\n return (\n <WrapLink\n className={classNames(\"action\", { active })}\n url={to}\n href={href}\n target={target as LinkProps[\"target\"]}\n >\n <WrappedIcon {...icon} />\n </WrapLink>\n );\n}\n","import { Location, parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n SidebarMenuGroup,\n} from \"./types.js\";\nimport { isObject } from \"lodash\";\n\nexport function isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nexport function isSubMenu(\n item: SidebarMenuItem,\n groupAsSubMenu?: boolean\n): item is SidebarMenuGroup {\n return Boolean(\n item.type === \"subMenu\" || (groupAsSubMenu && item.type === \"group\")\n );\n}\n\nexport function initMenuItemAndMatchCurrentPathKeys(\n menuItems: SidebarMenuItem[],\n pathname: string,\n search: string,\n parentCursor: string\n): {\n selectedKeys: string[];\n openedKeys: string[];\n matchedKeys: string[];\n} {\n const selectedKeys: string[] = [];\n const openedKeys: string[] = [];\n const matchedKeys: string[] = [];\n\n let cursor = 0;\n menuItems &&\n menuItems.forEach((item) => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key =\n parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(\n item.items,\n pathname,\n search,\n item.key\n );\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n matchedKeys.push(...tmp.matchedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n\n const keyPath = item.key.split(\".\");\n\n for (let i = 0; i < keyPath.length; i++) {\n matchedKeys.push(keyPath.slice(0, i + 1).join(\".\"));\n }\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n matchedKeys: matchedKeys,\n };\n}\n\nfunction getMatchOfSearch(\n currentSearch: string,\n toSearch: string | undefined\n): boolean {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n // Allow `?k=` to match `?` (when `k` doesn't exist)\n if ((current.get(key) ?? \"\") !== value) {\n return false;\n }\n }\n return true;\n}\n\nexport function matchMenuItem(\n item: SidebarMenuSimpleItem,\n pathname: string,\n search: string\n): boolean {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname!.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact,\n });\n\n if (match && item.activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let paths: string[];\n let exact: boolean | undefined = true;\n\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n\n for (const path of paths) {\n let parsedPath: Location | undefined;\n const hasSearch = path.includes(\"?\");\n\n if (hasSearch) {\n parsedPath = parsePath(path);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parsedPath!.pathname : path,\n exact,\n });\n\n if (match && parsedPath?.search) {\n match = getMatchOfSearch(search, parsedPath.search);\n }\n\n if (match) {\n break;\n }\n }\n\n if (match) {\n break;\n }\n }\n }\n\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n let paths: string[];\n let exact: boolean | undefined = true;\n\n if (isObject(include)) {\n paths = Array.isArray(include.path) ? include.path : [include.path];\n exact = include.exact;\n } else {\n paths = [include];\n }\n\n for (const path of paths) {\n match = !matchPath(pathname, {\n path,\n exact,\n });\n\n if (!match) {\n break;\n }\n }\n\n if (!match) {\n break;\n }\n }\n }\n\n return match;\n}\n","import React, { useState, useEffect } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport {\n WorkbenchAction,\n WorkbenchActionProps,\n} from \"../workbench-action/index.js\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n} from \"@next-shared/general/types\";\nimport { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./workbench-action-list.shadow.css\";\n\nexport interface SidebarMenu {\n title?: string;\n icon?: GeneralIconProps;\n menuItems?: SidebarMenuItem[];\n}\n\nconst WrapperWorkbenchAction = wrapBrick<WorkbenchAction, WorkbenchActionProps>(\n \"visual-builder.workbench-action\"\n);\n\nconst { defineElement, property } = createDecorators();\n\ninterface WorkbenchActionListProps {\n appId?: string;\n menu: SidebarMenu;\n}\n\n/**\n * @insider\n */\n@defineElement(\"visual-builder.workbench-action-list\", {\n styleTexts: [styleText],\n})\nclass WorkbenchActionList extends ReactNextElement {\n @property() accessor appId: string | undefined;\n\n @property({\n attribute: false,\n })\n accessor menu!: SidebarMenu;\n\n render(): React.ReactNode {\n return <WorkbenchActionListComponent appId={this.appId} menu={this.menu} />;\n }\n}\n\nlet currentAppId: string;\nconst historyMap = new Map<number, string>();\n\nexport function WorkbenchActionListComponent({\n appId,\n menu,\n}: WorkbenchActionListProps) {\n const history = getHistory();\n const [activeIndex, setActiveIndex] = useState<number>();\n const [location, setLocation] = useState(history.location);\n\n useEffect(() => {\n const unlisten = history.listen((location) => {\n setLocation(location);\n });\n return unlisten;\n }, [history]);\n\n useEffect(() => {\n if (!currentAppId) currentAppId = appId;\n if (currentAppId !== appId) {\n historyMap.clear();\n currentAppId = appId;\n }\n }, [appId]);\n\n useEffect(() => {\n const { pathname, search } = location;\n\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setActiveIndex(Number(selectedKeys[0]));\n }, [menu, location]);\n\n const handleLinkClick = (item: SidebarMenuItem): void => {\n if ((item as SidebarMenuSimpleItem).href) return;\n historyMap.set(activeIndex, `${location.pathname}${location.search}`);\n };\n\n const isSimpleMenuItem = (\n item: SidebarMenuItem\n ): item is SidebarMenuSimpleItem => {\n return item.type === \"default\" || !item.type;\n };\n\n return (\n <div className=\"workBenchActionList\">\n {menu?.menuItems\n ?.map((item, index) => {\n if (isSimpleMenuItem(item)) {\n let url = item.to;\n if (activeIndex !== index && historyMap.has(index)) {\n url = historyMap.get(index);\n }\n return (\n <WrapperWorkbenchAction\n key={index}\n icon={item.icon}\n to={url as string}\n href={item.href}\n target={item.target}\n active={activeIndex === index}\n onClick={() => handleLinkClick(item)}\n />\n );\n }\n })\n .filter(Boolean)}\n </div>\n );\n}\n\nexport { WorkbenchActionList };\n","import React from \"react\";\nimport { pick } from \"lodash\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type {\n ActionClickDetail,\n WorkbenchNodeData,\n WorkbenchTreeAction,\n} from \"../interfaces.js\";\nimport { WorkbenchActionsContext } from \"../shared/workbench/WorkbenchActionsContext.js\";\nimport {\n WorkbenchTree,\n dropEmitProps,\n} from \"../shared/workbench/WorkbenchTree.js\";\nimport { WorkbenchTreeContext } from \"../shared/workbench/WorkbenchTreeContext.js\";\nimport { deepMatch } from \"../utils/deepMatch.js\";\nimport treeStyleText from \"./WorkbenchTree.shadow.css\";\nimport actionStyleText from \"../shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css\";\nimport \"@next-core/theme\";\n\nfunction defaultGetCollapsedId(node: WorkbenchNodeData): string | number {\n return node.key;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * @id next-builder.workbench-tree\n * @author steve\n * @history\n * 1.x.0: 新增构件 `next-builder.workbench-tree`\n * @docKind brick\n * @noInheritDoc\n * @insider\n */\n@defineElement(\"visual-builder.workbench-tree\", {\n styleTexts: [treeStyleText, actionStyleText],\n})\nclass WorkbenchTreeElement extends ReactNextElement {\n @property({ attribute: false })\n accessor nodes: WorkbenchNodeData[];\n\n @property({ attribute: false })\n accessor actions: WorkbenchTreeAction[];\n\n @property({ type: Boolean })\n accessor actionsHidden: boolean;\n\n @property()\n accessor placeholder: string;\n\n @property({ type: Boolean })\n accessor isTransformName: boolean;\n\n @property()\n accessor searchPlaceholder: string;\n\n @property({ type: Boolean })\n accessor noSearch: boolean;\n\n @property({ attribute: false })\n accessor activeKey: string | number;\n\n @property({ type: Boolean })\n accessor showMatchedNodeOnly: boolean;\n\n @property({ attribute: false })\n accessor matchNodeDataFields: string | string[];\n\n @property({ attribute: false })\n accessor fixedActionsFor: Record<string, unknown> | Record<string, unknown>[];\n\n @property({ type: Boolean })\n accessor collapsible: boolean;\n\n @property({ attribute: false })\n accessor collapsedNodes: string[];\n\n @property({ type: Boolean })\n accessor allowDrag: boolean;\n\n @property({ type: Boolean })\n accessor allowDragToRoot: boolean;\n\n @property({ type: Boolean })\n accessor allowDragToInside: boolean;\n\n @property({ type: String })\n accessor nodeKey: string;\n\n @property({ type: Boolean })\n accessor skipNotify: boolean;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail): void => {\n this.#actionClickEvent.emit(detail);\n };\n\n @event({ type: \"node.click\" })\n accessor #nodeClickEvent: EventEmitter<unknown>;\n\n #nodeClickFactory = (node: WorkbenchNodeData) => () => {\n this.#nodeClickEvent.emit(node.data);\n };\n\n @event({ type: \"node.drop\" })\n accessor #nodeDropEvent: EventEmitter<any>;\n\n #handleNodeDrop = (detail: dropEmitProps): void => {\n this.#nodeDropEvent.emit(detail);\n };\n\n @event({ type: \"context.menu\" })\n accessor #nodeContextMenuEvent: EventEmitter<unknown>;\n\n #contextMenuFactory = (node: WorkbenchNodeData) => (e: React.MouseEvent) => {\n e.preventDefault();\n this.#nodeContextMenuEvent.emit({\n active: true,\n node: node?.data,\n x: e.clientX,\n y: e.clientY,\n });\n };\n\n @event({ type: \"node.toggle\" })\n accessor #nodeToggleEvent: EventEmitter<{\n nodeId: string;\n collapsed: boolean;\n }>;\n\n #handleNodeToggle = (nodeId: string, collapsed: boolean): void => {\n this.#nodeToggleEvent.emit({ nodeId, collapsed });\n };\n\n render() {\n return (\n <WorkbenchActionsContext.Provider\n value={{\n actions: this.actions,\n actionsHidden: this.actionsHidden,\n onActionClick: this.#handleActionClick,\n }}\n >\n <WorkbenchTreeContext.Provider\n value={{\n activeKey: this.activeKey,\n basePaddingLeft: 5,\n showMatchedNodeOnly: this.showMatchedNodeOnly,\n isTransformName: this.isTransformName,\n fixedActionsFor: this.fixedActionsFor,\n nodeKey: this.nodeKey,\n collapsible: this.collapsible,\n collapsedNodes: this.collapsedNodes,\n getCollapsedId: defaultGetCollapsedId,\n onNodeToggle: this.#handleNodeToggle,\n skipNotify: this.skipNotify,\n clickFactory: this.#nodeClickFactory,\n contextMenuFactory: this.#contextMenuFactory,\n matchNode: (node, lowerTrimmedQuery) =>\n deepMatch(node.name, lowerTrimmedQuery) ||\n (!!this.matchNodeDataFields?.length &&\n deepMatch(\n this.matchNodeDataFields === \"*\"\n ? node.data\n : pick(node.data, this.matchNodeDataFields),\n lowerTrimmedQuery\n )),\n }}\n >\n <WorkbenchTree\n nodes={this.nodes}\n placeholder={this.placeholder}\n searchPlaceholder={this.searchPlaceholder}\n noSearch={this.noSearch}\n dropEmit={this.#handleNodeDrop}\n allowDrag={this.allowDrag}\n allowDragToInside={this.allowDragToInside}\n allowDragToRoot={this.allowDragToRoot}\n />\n </WorkbenchTreeContext.Provider>\n </WorkbenchActionsContext.Provider>\n );\n }\n}\n\nexport { WorkbenchTreeElement };\n","// Merge bricks\n// istanbul ignore file\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport connect from \"./preview/connect.js\";\nimport type { PreviewStartOptions } from \"./preview/interfaces.js\";\n// Todo: remove unnecessary provider below\nimport \"./collect-used-contracts.js\";\n\nexport function injectPreviewAgent(\n previewFromOrigin: string,\n options: PreviewStartOptions\n): Promise<unknown> {\n return connect(previewFromOrigin, options);\n}\n\ncustomElements.define(\n \"visual-builder.inject-preview-agent\",\n createProviderClass(injectPreviewAgent)\n);\n","export enum K {\n LOAD_MORE = \"LOAD_MORE\",\n LOADING = \"LOADING\",\n NO_DATA = \"NO_DATA\",\n NODE = \"NODE\",\n // action\n ADD = \"ADD\",\n EDIT = \"EDIT\",\n DELETE = \"DELETE\",\n IMPORT = \"IMPORT\",\n CLONE = \"CLONE\",\n APPEND_RELATION = \"APPEND_RELATION\",\n UPDATE_RELATION = \"UPDATE_RELATION\",\n REMOVE_RELATION = \"REMOVE_RELATION\",\n ROLLBACK = \"ROLLBACK\",\n ROLLBACK_ALL = \"ROLLBACK_ALL\",\n ADD_FULL = \"ADD_FULL\",\n EDIT_FULL = \"EDIT_FULL\",\n DELETE_FULL = \"DELETE_FULL\",\n IMPORT_FULL = \"IMPORT_FULL\",\n CLONE_FULL = \"CLONE_FULL\",\n APPEND_RELATION_FULL = \"APPEND_RELATION_FULL\",\n UPDATE_RELATION_FULL = \"UPDATE_RELATION_FULL\",\n REMOVE_RELATION_FULL = \"REMOVE_RELATION_FULL\",\n ROLLBACK_FULL = \"ROLLBACK_FULL\",\n ROLLBACK_ALL_FULL = \"ROLLBACK_ALL_FULL\",\n // category\n PROJECT = \"PROJECT\",\n USER = \"USER\",\n PERMISSION = \"PERMISSION\",\n BRICK = \"BRICK\",\n ROUTE = \"ROUTE\",\n TEMPLATE = \"TEMPLATE\",\n SNIPPET = \"SNIPPET\",\n I18N = \"I18N\",\n IMAGE = \"IMAGE\",\n FUNCTION = \"FUNCTION\",\n MENU = \"MENU\",\n MENU_ITEM = \"MENU_ITEM\",\n WORKFLOW = \"WORKFLOW\",\n}\n\nconst en: Locale = {\n LOAD_MORE: \"Load more\",\n LOADING: \"Loading\",\n NO_DATA: \"No data\",\n NODE: \"{{ nodes }}\",\n NODE_ellipsis: \"{{ nodes }} etc., a total of {{ count }} items\",\n // action\n ADD: \"Add node\",\n EDIT: \"Edit node\",\n DELETE: \"Delete node\",\n IMPORT: \"Batch import node\",\n CLONE: \"Clone node\",\n APPEND_RELATION: \"Append Relation\",\n UPDATE_RELATION: \"Update Relation\",\n REMOVE_RELATION: \"Remove Relation\",\n ROLLBACK: \"Rollback\",\n ROLLBACK_ALL: \"Rollback all operations\",\n ADD_FULL: \"Add {{ category }} ({{ nodes }})\",\n EDIT_FULL: \"Edit {{ nodeChanges }} of {{ category }} ({{ nodes }})\",\n DELETE_FULL: \"Delete {{ category }} ({{ nodes }})\",\n IMPORT_FULL: \"Batch Import {{ category }} ({{ nodes }})\",\n CLONE_FULL: \"Clone {{ category }} ({{ nodes }})\",\n APPEND_RELATION_FULL:\n \"Append the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})\",\n UPDATE_RELATION_FULL:\n \"Update the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})\",\n REMOVE_RELATION_FULL:\n \"Remove the relation between {{ leftObjectId }} ({{ leftNodes }}) and {{ rightObjectId }} ({{ rightNodes }})\",\n ROLLBACK_FULL: \"Rollback to [{{ rollbackAbstract }}]\",\n ROLLBACK_ALL_FULL: \"Rollback all operations\",\n // category\n PROJECT: \"Project\",\n USER: \"User Group\",\n PERMISSION: \"Permission\",\n BRICK: \"Brick\",\n ROUTE: \"Route\",\n TEMPLATE: \"Template\",\n SNIPPET: \"Snippet\",\n I18N: \"I18N\",\n IMAGE: \"Image\",\n FUNCTION: \"Function\",\n MENU: \"Menu\",\n MENU_ITEM: \"Menu item\",\n WORKFLOW: \"Workflow\",\n};\n\nconst zh: Locale = {\n LOAD_MORE: \"加载更多\",\n LOADING: \"加载中\",\n NO_DATA: \"没有数据\",\n NODE: \"{{ nodes }}\",\n NODE_ellipsis: \"{{ nodes }}等共{{ count }}项\",\n // action\n ADD: \"新增节点\",\n EDIT: \"编辑节点\",\n DELETE: \"删除节点\",\n IMPORT: \"批量导入节点\",\n CLONE: \"克隆节点\",\n APPEND_RELATION: \"添加关系\",\n UPDATE_RELATION: \"更新关系\",\n REMOVE_RELATION: \"移除关系\",\n ROLLBACK: \"回滚\",\n ROLLBACK_ALL: \"回滚全部操作\",\n ADD_FULL: \"新增{{ category }}({{ nodes }})\",\n EDIT_FULL: \"编辑{{ category }}({{ nodes }})的 {{ nodeChanges }}\",\n DELETE_FULL: \"删除{{ category }}({{ nodes }})\",\n IMPORT_FULL: \"批量导入{{ category }}({{ nodes }})\",\n CLONE_FULL: \"克隆{{ category }}({{ nodes }})\",\n APPEND_RELATION_FULL:\n \"添加{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系\",\n UPDATE_RELATION_FULL:\n \"更新{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系\",\n REMOVE_RELATION_FULL:\n \"移除{{ leftObjectId }}({{ leftNodes }})和{{ rightObjectId }}({{ rightNodes }})的关系\",\n ROLLBACK_FULL: \"回滚到【{{ rollbackAbstract }}】\",\n ROLLBACK_ALL_FULL: \"回滚全部操作\",\n // category\n PROJECT: \"项目\",\n USER: \"用户组\",\n PERMISSION: \"权限点\",\n BRICK: \"构件\",\n ROUTE: \"路由\",\n TEMPLATE: \"模版\",\n SNIPPET: \"片段\",\n I18N: \"国际化\",\n IMAGE: \"图片\",\n FUNCTION: \"函数\",\n MENU: \"菜单\",\n MENU_ITEM: \"菜单项\",\n WORKFLOW: \"工作流\",\n};\n\nexport const NS = \"bricks/visual-builder/workbench-history-action\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n} & { NODE_ellipsis: string };\n","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 获取变更历史(从上一次commit开始)\n * @endpoint GET /api/v1/next-builder/workspace/:appId/changes\n */\nexport var WorkspaceApi_getChangeHistory = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (appId, params, options) {\n return (/**! @contract easyops.api.next_builder.workspace.GetChangeHistory@1.0.0 */(yield http.get(\"api/gateway/next_builder.workspace.GetChangeHistory/api/v1/next-builder/workspace/\".concat(appId, \"/changes\"), _objectSpread(_objectSpread({}, options), {}, {\n params\n }))).data\n );\n });\n return function WorkspaceApi_getChangeHistory(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=getChangeHistory.js.map","import { NS, K } from \"./i18n.js\";\nimport { i18n } from \"@next-core/i18n\";\nimport { NextBuilderModels } from \"@next-api-sdk/next-builder-sdk\";\n\nconst actionI18nKeyMap: Record<string, string> = {\n add: `${NS}:${K.ADD}`,\n edit: `${NS}:${K.EDIT}`,\n delete: `${NS}:${K.DELETE}`,\n batch_delete: `${NS}:${K.DELETE}`,\n import: `${NS}:${K.IMPORT}`,\n clone: `${NS}:${K.CLONE}`,\n append_relation: `${NS}:${K.APPEND_RELATION}`,\n update_relation: `${NS}:${K.UPDATE_RELATION}`,\n remove_relation: `${NS}:${K.REMOVE_RELATION}`,\n rollback: `${NS}:${K.ROLLBACK}`,\n rollback_all: `${NS}:${K.ROLLBACK_ALL}`,\n};\n\nconst fullActionI18nKeyMap: Record<string, string> = {\n add: `${NS}:${K.ADD_FULL}`,\n edit: `${NS}:${K.EDIT_FULL}`,\n delete: `${NS}:${K.DELETE_FULL}`,\n batch_delete: `${NS}:${K.DELETE_FULL}`,\n import: `${NS}:${K.IMPORT_FULL}`,\n clone: `${NS}:${K.CLONE_FULL}`,\n append_relation: `${NS}:${K.APPEND_RELATION_FULL}`,\n update_relation: `${NS}:${K.UPDATE_RELATION_FULL}`,\n remove_relation: `${NS}:${K.REMOVE_RELATION_FULL}`,\n rollback: `${NS}:${K.ROLLBACK_FULL}`,\n rollback_all: `${NS}:${K.ROLLBACK_ALL_FULL}`,\n};\n\nconst categoryI18nKeyMap: Record<string, string> = {\n project: `${NS}:${K.PROJECT}`,\n userGroup: `${NS}:${K.USER}`,\n permission: `${NS}:${K.PERMISSION}`,\n brick: `${NS}:${K.BRICK}`,\n route: `${NS}:${K.ROUTE}`,\n template: `${NS}:${K.TEMPLATE}`,\n snippet: `${NS}:${K.SNIPPET}`,\n i18n: `${NS}:${K.I18N}`,\n image: `${NS}:${K.IMAGE}`,\n function: `${NS}:${K.FUNCTION}`,\n menu: `${NS}:${K.MENU}`,\n menuItem: `${NS}:${K.MENU_ITEM}`,\n workflow: `${NS}:${K.WORKFLOW}`,\n};\n\nconst modelI18nKeyMap: Record<string, string> = {\n PROJECT_MICRO_APP: `${NS}:${K.PROJECT}`,\n \"MICRO_APP_USER_GROUP@EASYOPS\": `${NS}:${K.USER}`,\n MICRO_APP_RESOURCE_PERMISSION: `${NS}:${K.PERMISSION}`,\n STORYBOARD_BRICK: `${NS}:${K.BRICK}`,\n STORYBOARD_ROUTE: `${NS}:${K.ROUTE}`,\n STORYBOARD_TEMPLATE: `${NS}:${K.TEMPLATE}`,\n STORYBOARD_SNIPPET: `${NS}:${K.SNIPPET}`,\n STORYBOARD_I18N: `${NS}:${K.I18N}`,\n MICRO_APP_RESOURCE_IMAGE: `${NS}:${K.IMAGE}`,\n STORYBOARD_FUNCTION: `${NS}:${K.FUNCTION}`,\n MICRO_APP_RESOURCE_MENU: `${NS}:${K.MENU}`,\n MICRO_APP_RESOURCE_MENU_ITEM: `${NS}:${K.MENU_ITEM}`,\n \"WORKFLOW_DEF@EASYOPS\": `${NS}:${K.WORKFLOW}`,\n};\n\nexport function translateHistory(\n history: Partial<NextBuilderModels.ModelWorkspaceChangeHistory>\n): Record<string, string> {\n const historyAction =\n history.action === \"rollback\" && !history.rollBackIdInfo\n ? \"rollback_all\"\n : history.action;\n\n const category = i18n.t(\n categoryI18nKeyMap[history.category] ?? history.category\n );\n const action = i18n.t(actionI18nKeyMap[historyAction] ?? historyAction);\n const leftObjectId = i18n.t(\n modelI18nKeyMap[history.abstract?.leftObjectId] ??\n history.abstract?.leftObjectId\n );\n const rightObjectId = i18n.t(\n modelI18nKeyMap[history.abstract?.rightObjectId] ??\n history.abstract?.rightObjectId\n );\n const nodes = translateNodes(\n history.abstract?.nodes,\n history.abstract?.nodesCount\n );\n const leftNodes = translateNodes(\n history.abstract?.leftNodes,\n history.abstract?.leftNodesCount\n );\n const rightNodes = translateNodes(\n history.abstract?.rightNodes,\n history.abstract?.rightNodesCount\n );\n const rollbackAbstract =\n historyAction === \"rollback\"\n ? translateHistory(history.rollBackIdInfo).abstract\n : null;\n\n const abstract = i18n.t(\n fullActionI18nKeyMap[historyAction] ?? historyAction,\n {\n category,\n nodes,\n leftNodes,\n rightNodes,\n nodeChanges: history.abstract?.nodeChanges?.join(\", \"),\n relationChanges: history.abstract?.relationChanges?.join(\", \"),\n leftObjectId,\n rightObjectId,\n rollbackAbstract,\n }\n );\n\n return {\n category,\n action,\n leftObjectId,\n rightObjectId,\n nodes,\n leftNodes,\n rightNodes,\n abstract,\n rollbackAbstract,\n };\n}\n\nfunction translateNodes(nodes: string[] = [], total: number, separator = \", \") {\n return i18n.t(`${NS}:${K.NODE}`, {\n nodes: nodes.join(separator),\n context: total > nodes.length ? \"ellipsis\" : undefined,\n count: total,\n });\n}\n","import React, { useRef, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { handleHttpError } from \"@next-core/runtime\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport type {\n EoEasyopsAvatar,\n EoEasyopsAvatarProps,\n} from \"@next-bricks/basic/easyops-avatar\";\nimport type {\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping,\n} from \"@next-bricks/basic/popover\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport \"@next-core/theme\";\nimport moment from \"moment\";\nimport styleText from \"./styles.shadow.css\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport {\n WorkspaceApi_getChangeHistory,\n NextBuilderModels,\n} from \"@next-api-sdk/next-builder-sdk\";\nimport { translateHistory } from \"./utils.js\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedEasyopsAvatar = wrapBrick<EoEasyopsAvatar, EoEasyopsAvatarProps>(\n \"eo-easyops-avatar\"\n);\nconst WrappedPopover = wrapBrick<\n Popover,\n PopoverProps,\n PopoverEvents,\n PopoverEventsMapping\n>(\"eo-popover\", {\n onVisibleChange: \"visible.change\",\n beforeVisibleChange: \"before.visible.change\",\n});\n\ninterface HistoryData\n extends Partial<NextBuilderModels.ModelWorkspaceChangeHistory> {\n translation: Record<string, string>;\n}\n\nexport interface WorkbenchHistoryActionProps {\n appId: string;\n projectId: string;\n}\n\n/**\n * 项目变更历史\n * @insider\n */\nexport\n@defineElement(\"visual-builder.workbench-history-action\", {\n styleTexts: [styleText],\n})\nclass WorkbenchHistoryAction\n extends ReactNextElement\n implements WorkbenchHistoryActionProps\n{\n @property()\n accessor appId: string;\n\n @property()\n accessor projectId: string;\n\n /**\n * 点击历史项标题触发\n */\n @event({ type: \"history.item.click\" })\n accessor #historyItemClickEvent!: EventEmitter<\n HistoryData & { enableRollback: boolean }\n >;\n #handleHistoryItemClick = (\n data: HistoryData & { enableRollback: boolean }\n ): void => {\n this.#historyItemClickEvent.emit(data);\n };\n\n /**\n * 点击回滚触发\n */\n @event({ type: \"rollback\" })\n accessor #rollbackEvent!: EventEmitter<HistoryData>;\n #handleRollback = (data: HistoryData): void => {\n this.#rollbackEvent.emit(data);\n };\n\n /**\n * 回滚全部\n */\n @event({ type: \"rollback.all\" })\n accessor #rollbackAllEvent!: EventEmitter<void>;\n #handleRollbackAll = (): void => {\n this.#rollbackAllEvent.emit();\n };\n\n render() {\n return (\n <WorkbenchHistoryActionComponent\n appId={this.appId}\n projectId={this.projectId}\n onHistoryItemClick={this.#handleHistoryItemClick}\n onRollback={this.#handleRollback}\n onRollbackAll={this.#handleRollbackAll}\n />\n );\n }\n}\n\ninterface WorkbenchHistoryActionComponentProps\n extends WorkbenchHistoryActionProps {\n onHistoryItemClick?: (\n data: HistoryData & { enableRollback: boolean }\n ) => void;\n onRollback?: (data: HistoryData) => void;\n onRollbackAll?: () => void;\n}\n\nexport function WorkbenchHistoryActionComponent(\n props: WorkbenchHistoryActionComponentProps\n) {\n const { appId, onHistoryItemClick, onRollback, onRollbackAll } = props;\n const { t } = useTranslation(NS);\n\n const [loading, setLoading] = useState(false);\n const [hideLoadMore, setHideLoadMore] = useState(true);\n const [allLoaded, setAllLoaded] = useState(false);\n const [historyList, setHistoryList] = useState<HistoryData[]>([]);\n const lastTs = useRef<string>(\"\");\n\n const handleLoadList = (isFirst?: boolean) => {\n setLoading(true);\n WorkspaceApi_getChangeHistory(appId, { ts: lastTs.current, limit: 20 })\n .then((result) => {\n setHistoryList((pre) => {\n const list = result.list.map((v) => ({\n ...v,\n translation: translateHistory(v),\n }));\n return isFirst ? list : pre.concat(list);\n });\n lastTs.current = result.ts;\n setAllLoaded(result.list.length < 20);\n setHideLoadMore(result.list.length < 20);\n })\n .catch((error) => {\n handleHttpError(error);\n })\n .finally(() => {\n setLoading(false);\n });\n };\n\n const handleBeforeVisibleChange = (e: CustomEvent<boolean>) => {\n if (e.detail) {\n setHideLoadMore(true);\n setAllLoaded(false);\n setHistoryList([]);\n lastTs.current = \"\";\n handleLoadList(true);\n }\n };\n\n return (\n <WrappedPopover\n placement=\"bottom\"\n trigger=\"click\"\n arrow={true}\n arrowColor=\"var(--color-fill-bg-container-4)\"\n beforeVisibleChange={handleBeforeVisibleChange}\n >\n <WrappedButton\n slot=\"anchor\"\n shape=\"circle\"\n className=\"history-action\"\n icon={{\n lib: \"antd\",\n icon: \"history\",\n theme: \"outlined\",\n }}\n />\n <div>\n <div className=\"history-title\">History</div>\n <div className=\"history-list\">\n {historyList.length ? (\n <>\n {historyList.map((v, i) => {\n return (\n <HistoryItem\n key={`${v.uniqueKey}-${v.ts}`}\n data={v}\n enableRollback={i !== 0 && v.action !== \"rollback\"}\n current={i === 0}\n onHistoryItemClick={onHistoryItemClick}\n onRollback={onRollback}\n />\n );\n })}\n {!hideLoadMore && (\n <span className=\"load-more-container\">\n <WrappedLink\n className=\"load-more\"\n disabled={loading}\n onClick={() => handleLoadList()}\n >\n {t(K.LOAD_MORE)}\n </WrappedLink>\n </span>\n )}\n {allLoaded && (\n <span className=\"end-container\">\n The End\n <WrappedIcon\n className=\"rollback-all\"\n lib=\"antd\"\n icon=\"rollback\"\n theme=\"outlined\"\n onClick={() => onRollbackAll()}\n />\n </span>\n )}\n </>\n ) : (\n <div className=\"empty\">{loading ? t(K.LOADING) : t(K.NO_DATA)}</div>\n )}\n </div>\n {/* 点击历史详情会打开 modal 来展示,这里提供一个 slot,编排将 modal 放置在这里,使其成为 popover 的 children,才能防止用户在操作 modal 过程中意外关闭 popover */}\n <slot />\n </div>\n </WrappedPopover>\n );\n}\n\ninterface HistoryItemProps {\n data: HistoryData;\n enableRollback?: boolean;\n current?: boolean;\n onHistoryItemClick?: (\n data: HistoryData & { enableRollback: boolean }\n ) => void;\n onRollback?: (data: HistoryData) => void;\n}\n\nfunction HistoryItem(props: HistoryItemProps) {\n const { data, enableRollback, current, onHistoryItemClick, onRollback } =\n props;\n\n const ts = moment(Number(data.ts) / 1000000);\n const duration = moment.duration(ts.diff(moment()));\n const humanizedTime =\n duration.days() <= -1\n ? ts.format(\"YYYY-MM-DD HH:mm:ss\")\n : duration.humanize(true, { ss: 0, s: 60, m: 60, h: 24 });\n\n return (\n <div className=\"item-container\">\n <div className=\"item-title\">\n <div\n className=\"title-left\"\n onClick={() => onHistoryItemClick({ ...data, enableRollback })}\n >\n <div className=\"topic\" title={data.translation.abstract}>\n {data.translation.abstract}\n </div>\n {current && <div className=\"branch\">(current)</div>}\n </div>\n <div className=\"title-right\">\n {enableRollback && (\n <WrappedIcon\n className=\"rollback\"\n lib=\"antd\"\n icon=\"rollback\"\n theme=\"outlined\"\n onClick={() => onRollback(data)}\n />\n )}\n </div>\n </div>\n <div className=\"item-info\">\n <WrappedEasyopsAvatar\n className=\"avatar\"\n nameOrInstanceId={data.user}\n size=\"xs\"\n />\n <div className=\"time\">{humanizedTime}</div>\n <div className=\"operator\">{data.user}</div>\n </div>\n </div>\n );\n}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\n\nconst autoFocusedSets = new Set<string>();\n\nexport interface PageArchNodeProps {\n label?: string;\n type?: PageArchNodeType;\n active?: boolean;\n external?: ExtraNodeData;\n subNodes?: ExtraNodeData[];\n autoFocusOnce?: string;\n notSynced?: boolean;\n disableChildAppend?: boolean;\n}\n\nexport interface ExtraNodeData {\n label: string;\n id: string;\n}\n\nexport interface SubNodeContextMenuData extends ContextMenuDetail {\n node: ExtraNodeData;\n}\n\nexport interface ContextMenuDetail {\n clientX: number;\n clientY: number;\n}\n\nexport type PageArchNodeType = \"page\" | \"board\";\n\n/**\n * 构件 `visual-builder.page-arch-node`\n */\nexport\n@defineElement(\"visual-builder.page-arch-node\", {\n styleTexts: [styleText],\n})\nclass PageArchNode extends ReactNextElement implements PageArchNodeProps {\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor type: PageArchNodeType | undefined;\n\n @property({ attribute: false })\n accessor external: ExtraNodeData | undefined;\n\n @property({ attribute: false })\n accessor subNodes: ExtraNodeData[] | undefined;\n\n // @property()\n // accessor thumbnail: string | undefined;\n\n @property({ type: Boolean, render: false })\n accessor active: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor notSynced: boolean | undefined;\n\n @property({ type: Boolean, render: false })\n accessor disableChildAppend: boolean | undefined;\n\n @property()\n accessor autoFocusOnce: string | undefined;\n\n @event({ type: \"label.editing.change\" })\n accessor #labelEditingChange: EventEmitter<boolean>;\n\n #handleLabelEditingChange = (value: boolean) => {\n this.#labelEditingChange.emit(value);\n };\n\n @event({ type: \"label.change\" })\n accessor #labelChange: EventEmitter<string>;\n\n #handleLabelChange = (value: string) => {\n this.#labelChange.emit(value);\n };\n\n @event({ type: \"node.click\" })\n accessor #nodeClick: EventEmitter<void>;\n\n #handleNodeClick = () => {\n this.#nodeClick.emit();\n };\n\n @event({ type: \"node.dblclick\" })\n accessor #nodeDoubleClick: EventEmitter<void>;\n\n #handleNodeDoubleClick = () => {\n this.#nodeDoubleClick.emit();\n };\n\n @event({ type: \"node.contextmenu\" })\n accessor #nodeContextMenu: EventEmitter<ContextMenuDetail>;\n\n #handleNodeContextMenu = (data: ContextMenuDetail) => {\n this.#nodeContextMenu.emit(data);\n };\n\n @event({ type: \"child.append\" })\n accessor #childAppend: EventEmitter<void>;\n\n #handleChildAppend = () => {\n this.#childAppend.emit();\n };\n\n @event({ type: \"external.click\" })\n accessor #externalClick: EventEmitter<ExtraNodeData>;\n\n #handleExternalClick = (data: ExtraNodeData) => {\n this.#externalClick.emit(data);\n };\n\n @event({ type: \"subNode.dblclick\" })\n accessor #subNodeDoubleClick: EventEmitter<ExtraNodeData>;\n\n #handleSubNodeDoubleClick = (data: ExtraNodeData) => {\n this.#subNodeDoubleClick.emit(data);\n };\n\n @event({ type: \"subNode.contextmenu\" })\n accessor #subNodeContextMenu: EventEmitter<SubNodeContextMenuData>;\n\n #handleSubNodeContextMenu = (data: SubNodeContextMenuData) => {\n this.#subNodeContextMenu.emit(data);\n };\n\n render() {\n return (\n <PageArchNodeComponent\n label={this.label}\n type={this.type}\n external={this.external}\n subNodes={this.subNodes}\n autoFocusOnce={this.autoFocusOnce}\n onLabelEditingChange={this.#handleLabelEditingChange}\n onLabelChange={this.#handleLabelChange}\n onNodeClick={this.#handleNodeClick}\n onNodeDoubleClick={this.#handleNodeDoubleClick}\n onNodeContextMenu={this.#handleNodeContextMenu}\n onChildAppend={this.#handleChildAppend}\n onExternalClick={this.#handleExternalClick}\n onSubNodeDoubleClick={this.#handleSubNodeDoubleClick}\n onSubNodeContextMenu={this.#handleSubNodeContextMenu}\n />\n );\n }\n}\n\nexport interface PageArchNodeComponentProps extends PageArchNodeProps {\n onLabelEditingChange?(value: boolean): void;\n onLabelChange?(value: string): void;\n onNodeClick?(): void;\n onNodeDoubleClick?(): void;\n onNodeContextMenu?(data: ContextMenuDetail): void;\n onChildAppend?(): void;\n onExternalClick?(data: ExtraNodeData): void;\n onSubNodeDoubleClick?(data: ExtraNodeData): void;\n onSubNodeContextMenu?(data: SubNodeContextMenuData): void;\n}\n\nexport function PageArchNodeComponent({\n label,\n type: _type,\n external,\n subNodes,\n autoFocusOnce,\n onLabelEditingChange,\n onLabelChange,\n onNodeClick,\n onNodeDoubleClick,\n onNodeContextMenu,\n onChildAppend,\n onExternalClick,\n onSubNodeDoubleClick,\n onSubNodeContextMenu,\n}: PageArchNodeComponentProps) {\n const type = _type === \"board\" ? \"board\" : \"page\";\n const [currentLabel, setCurrentLabel] = useState(label);\n const [editingLabel, setEditingLabel] = useState(false);\n const editingLabelInitialized = useRef(false);\n const [shouldEmitLabelChange, setShouldEmitLabelChange] = useState(false);\n const labelInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n setCurrentLabel(label);\n }, [label]);\n\n const handleEditLabel = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n }, []);\n\n useEffect(() => {\n if (autoFocusOnce && !autoFocusedSets.has(autoFocusOnce)) {\n autoFocusedSets.add(autoFocusOnce);\n setTimeout(() => {\n setEditingLabel(true);\n }, 1);\n }\n }, [autoFocusOnce]);\n\n useEffect(() => {\n if (editingLabel) {\n // Prevent scroll when focusing.\n // Otherwise the diagram svg may be clipped in Chrome.\n labelInputRef.current?.focus({ preventScroll: true });\n labelInputRef.current?.select();\n }\n }, [editingLabel]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onLabelEditingChange?.(editingLabel);\n } else {\n editingLabelInitialized.current = true;\n }\n }, [editingLabel, onLabelEditingChange]);\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentLabel(event.target.value);\n },\n []\n );\n\n const handleInputKeydown = useCallback((event: React.KeyboardEvent) => {\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Enter\" || key === 13) {\n labelInputRef.current?.blur();\n }\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, []);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onLabelChange?.(currentLabel);\n setShouldEmitLabelChange(false);\n }\n }, [currentLabel, onLabelChange, shouldEmitLabelChange]);\n\n const handleChildAppend = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onChildAppend?.();\n },\n [onChildAppend]\n );\n\n const handleExternalClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onExternalClick?.(external);\n },\n [external, onExternalClick]\n );\n\n const stopPropagation = useCallback((e: React.MouseEvent) => {\n e.stopPropagation();\n }, []);\n\n // 32 + 8\n const extraHeight = Math.max(0, Math.floor((subNodes?.length ?? 0) - 3)) * 38;\n\n return (\n <>\n <div\n className={classNames(\"node\", type, { \"editing-label\": editingLabel })}\n style={{ height: type === \"board\" ? 70 : 130 + extraHeight }}\n onClick={onNodeClick}\n onDoubleClick={onNodeDoubleClick}\n onContextMenu={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onNodeContextMenu?.({\n clientX: e.clientX,\n clientY: e.clientY,\n });\n }}\n >\n <input\n className=\"label-input\"\n value={currentLabel}\n ref={labelInputRef}\n onChange={handleInputChange}\n onKeyDown={handleInputKeydown}\n onBlur={handleInputBlur}\n onDoubleClick={stopPropagation}\n onContextMenu={stopPropagation}\n onMouseDown={stopPropagation}\n />\n <div\n className=\"label\"\n onDoubleClick={handleEditLabel}\n onMouseDown={stopPropagation}\n >\n {currentLabel}\n </div>\n {type === \"board\" ? (\n <div className=\"icon-container\">\n <WrappedIcon lib=\"antd\" icon=\"unordered-list\" />\n </div>\n ) : (\n <div\n className=\"thumbnail-container\"\n style={{\n height: 98 + extraHeight,\n }}\n >\n <div className=\"thumbnail-placeholder\">\n <WrappedIcon lib=\"antd\" icon=\"ellipsis\" />\n </div>\n {external && (\n <div\n className=\"external\"\n onClick={handleExternalClick}\n onDoubleClick={stopPropagation}\n onMouseDown={stopPropagation}\n >\n <WrappedIcon lib=\"antd\" icon=\"desktop\" />\n <span className=\"external-label\">{external.label}</span>\n </div>\n )}\n {subNodes?.length ? (\n <div className=\"sub-nodes\">\n {subNodes.map((subNode) => (\n <SubNode\n key={subNode.id}\n subNode={subNode}\n onSubNodeDoubleClick={onSubNodeDoubleClick}\n onSubNodeContextMenu={onSubNodeContextMenu}\n />\n ))}\n </div>\n ) : null}\n </div>\n )}\n </div>\n <div\n className=\"add-button\"\n role=\"button\"\n onClick={handleChildAppend}\n onMouseDown={stopPropagation}\n >\n <WrappedIcon lib=\"fa\" icon=\"plus\" />\n </div>\n </>\n );\n}\n\nexport interface SubNodeProps {\n subNode: ExtraNodeData;\n onSubNodeDoubleClick?(data: ExtraNodeData): void;\n onSubNodeContextMenu?(data: SubNodeContextMenuData): void;\n}\n\nfunction SubNode({\n subNode,\n onSubNodeDoubleClick,\n onSubNodeContextMenu,\n}: SubNodeProps) {\n return (\n <WrappedTooltip key={subNode.id} content={subNode.label}>\n <div\n className=\"sub-node\"\n onDoubleClick={(e) => {\n e.stopPropagation();\n onSubNodeDoubleClick?.(subNode);\n }}\n onContextMenu={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onSubNodeContextMenu?.({\n node: subNode,\n clientX: e.clientX,\n clientY: e.clientY,\n });\n }}\n >\n <div className=\"sub-node-skeleton-title\"></div>\n <div className=\"sub-node-skeleton-content\"></div>\n <div className=\"sub-node-skeleton-button\"></div>\n </div>\n </WrappedTooltip>\n );\n}\n","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateSetter(s, r, a, t) {\n return r(assertClassBrand(s, a), t), t;\n}","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { http } from \"@next-core/http\";\n/**\n * @description 契约搜索\n * @endpoint POST /api/v1/contract/search\n */\nexport var ContractCenterApi_searchContract = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (data, options) {\n return (/**! @contract easyops.api.next_builder.contract_center.SearchContract@1.0.0 */(yield http.post(\"api/gateway/next_builder.contract_center.SearchContract/api/v1/contract/search\", data, options)).data\n );\n });\n return function ContractCenterApi_searchContract(_x, _x2) {\n return _ref.apply(this, arguments);\n };\n}();\n//# sourceMappingURL=searchContract.js.map","export enum K {\n CONTRACT_OPTIONS_TIPS_PREFIX = \"CONTRACT_OPTIONS_TIPS_PREFIX\",\n CONTRACT_OPTIONS_TIPS_SUFFIX = \"CONTRACT_OPTIONS_TIPS_SUFFIX\",\n CONTRACT_VALIDATE_MESSAGE = \"CONTRACT_VALIDATE_MESSAGE\",\n}\n\nconst en: Locale = {\n CONTRACT_OPTIONS_TIPS_PREFIX: \"Only the first\",\n CONTRACT_OPTIONS_TIPS_SUFFIX:\n \"items are displayed, please search for more results\",\n CONTRACT_VALIDATE_MESSAGE: \"Please fill in the correct contract name \",\n};\n\nconst zh: Locale = {\n CONTRACT_OPTIONS_TIPS_PREFIX: \"仅展示前\",\n CONTRACT_OPTIONS_TIPS_SUFFIX: \"项,更多结果请搜索\",\n CONTRACT_VALIDATE_MESSAGE: \"请填写正确的契约名称\",\n};\n\nexport const NS = \"bricks/visual-builder/contract-select\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import React, { useState } from \"react\";\nimport { K, NS, locales } from \"../i18n.js\";\nimport { initializeReactI18n, useTranslation } from \"@next-core/i18n/react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport {\n Input,\n InputEvents,\n InputEventsMap,\n InputProps,\n} from \"@next-bricks/form/input\";\n\ninitializeReactI18n(NS, locales);\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedInput = wrapBrick<Input, InputProps, InputEvents, InputEventsMap>(\n \"eo-input\",\n {\n onChange: \"change\",\n }\n);\n\nexport interface MoreOptionProps {\n slot?: string;\n itemsCount?: number;\n onBlur?(itemsCount: number): void;\n}\n\nexport function MoreOption(props: MoreOptionProps): React.ReactElement {\n const { itemsCount = 20, onBlur } = props;\n const [count, setCount] = useState(itemsCount);\n const { t } = useTranslation(NS);\n const [edit, setEdit] = useState(false);\n\n const handleChange = (e: CustomEvent<string>): void => {\n setCount(Number(e.detail));\n };\n\n const handleClick = (): void => {\n setEdit(true);\n };\n\n const handleBlur = (): void => {\n setEdit(false);\n onBlur?.(count);\n };\n\n return (\n <div className=\"options-tips\" slot={props.slot}>\n {t(K.CONTRACT_OPTIONS_TIPS_PREFIX)}{\" \"}\n {edit ? (\n <WrappedInput\n autoFocus={true}\n inputStyle={{ width: 65 }}\n value={String(count)}\n onBlur={handleBlur}\n onChange={handleChange as any}\n />\n ) : (\n <span>\n {count} <WrappedIcon icon=\"edit\" lib=\"antd\" onClick={handleClick} />\n </span>\n )}{\" \"}\n {t(K.CONTRACT_OPTIONS_TIPS_SUFFIX)}\n </div>\n );\n}\n","import React, { useEffect, useMemo, useState } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\nimport type {\n AutoComplete,\n AutoCompleteProps,\n AutoCompleteEvents,\n AutoCompleteEventsMap,\n} from \"@next-bricks/form/auto-complete\";\nimport { debounce, isNil } from \"lodash\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport { useContractList } from \"./useContractList.js\";\nimport { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\nimport { i18n } from \"@next-core/i18n\";\nimport { MoreOption } from \"./more-option/MoreOption\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nconst WrappedAutoComplete = wrapBrick<\n AutoComplete,\n AutoCompleteProps,\n AutoCompleteEvents,\n AutoCompleteEventsMap\n>(\"eo-auto-complete\", {\n onChange: \"change\",\n});\n\n/**\n * 契约选择构件\n */\nexport\n@defineElement(\"visual-builder.contract-select\", {\n styleTexts: [styleText],\n})\nclass EoContractSelect extends FormItemElementBase {\n @property()\n accessor name: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property({\n attribute: false,\n })\n accessor value: any | undefined;\n\n @property({\n attribute: false,\n })\n accessor suffix:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent: EventEmitter<string>;\n\n handleChange = (v: string) => {\n this.#changeEvent.emit(v);\n };\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n labelBrick={this.labelBrick}\n helpBrick={this.helpBrick}\n notRender={this.notRender}\n trigger=\"handleChange\"\n validator={checkContractRule}\n >\n <EoContractSelectComponent\n value={this.value}\n suffix={this.suffix}\n validateState={this.validateState}\n onChange={this.handleChange}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport interface EoContractSelectProps {\n value?: string;\n validateState?: string;\n placeholder?: string;\n inputStyle?: React.CSSProperties;\n suffix?: { useBrick: UseSingleBrickConf | UseSingleBrickConf[] };\n onChange?(value: string): void;\n}\n\ninterface ProcessedContractField {\n name: string;\n version: string;\n}\n\nfunction splitContract(value: string): ProcessedContractField {\n if (typeof value !== \"string\")\n return {\n name: \"\",\n version: \"\",\n };\n const [name, version] = value.split(\":\");\n return {\n name,\n version,\n };\n}\n\nfunction isContractApi(name: string): boolean {\n return /.*@.*:\\d+\\.\\d+\\.\\d+/.test(name);\n}\n\nexport function checkContractRule(value: any): string {\n if (!isNil(value) && !isContractApi(value)) {\n return i18n.t(`${NS}:${K.CONTRACT_VALIDATE_MESSAGE}`);\n }\n return \"\";\n}\n\nexport function EoContractSelectComponent({\n value,\n inputStyle,\n validateState,\n suffix,\n onChange,\n}: EoContractSelectProps) {\n const [q, setQ] = useState<string>();\n const [pageSize, setPageSize] = useState(20);\n const contractList = useContractList({ q, pageSize });\n const [mixedValue, setMixedValue] = useState(splitContract(value));\n const [versionOptions, setVersionOptions] = useState([]);\n\n useEffect(() => {\n setMixedValue(splitContract(value));\n }, [value]);\n\n const handlerSearch = useMemo(\n () =>\n debounce((value) => {\n setQ(value);\n }, 200),\n []\n );\n\n const handlerNameChange = (event: CustomEvent<string>): void => {\n const name = event.detail;\n // 直接 copy 契约全名\n if (isContractApi(name)) {\n setMixedValue(splitContract(name));\n onChange?.(name);\n } else {\n const versionList = contractList.find(\n (item) => item.fullContractName === name\n )?.version;\n\n const autofillVersion = versionList?.[0] ?? \"\";\n setVersionOptions(versionList);\n setMixedValue({\n name,\n version: autofillVersion,\n });\n onChange?.(`${name}:${autofillVersion}`);\n }\n handlerSearch(name);\n };\n\n const handleVersionChange = (event: CustomEvent<string>): void => {\n const version = event.detail;\n setMixedValue({\n name: mixedValue.name,\n version,\n });\n\n onChange?.(`${mixedValue.name}:${version}`);\n };\n\n return (\n <div className=\"contract-wrapper\">\n <WrappedAutoComplete\n className=\"contract-selector\"\n options={contractList?.map((item) => ({\n value: item.fullContractName,\n label: item.fullContractName,\n }))}\n value={mixedValue.name}\n inputStyle={inputStyle}\n validateState={validateState}\n onChange={handlerNameChange as any}\n >\n <MoreOption\n onBlur={(pageSize) => setPageSize(pageSize)}\n slot=\"options-toolbar\"\n />\n </WrappedAutoComplete>\n <WrappedAutoComplete\n className=\"version-selector\"\n value={mixedValue.version}\n validateState={validateState}\n options={versionOptions?.map((v) => ({ value: v, label: v }))}\n onChange={handleVersionChange as any}\n ></WrappedAutoComplete>\n {suffix?.useBrick ? (\n <ReactUseMultipleBricks {...suffix}></ReactUseMultipleBricks>\n ) : null}\n </div>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { ContractCenterApi_searchContract } from \"@next-api-sdk/next-builder-sdk\";\n\ninterface ContractParams {\n pageSize?: number;\n q?: string;\n}\n\ninterface ContractField {\n fullContractName?: string;\n version: string[];\n}\n\nexport function useContractList({\n pageSize = 20,\n q = \"\",\n}: ContractParams): ContractField[] {\n const [contractList, setContractList] = useState<ContractField[]>([]);\n const [query, setQ] = useState<string>(q);\n const [count, setCount] = useState(pageSize);\n\n useEffect(() => {\n setQ(q);\n }, [q]);\n\n useEffect(() => {\n setCount(pageSize);\n }, [pageSize]);\n\n useEffect(() => {\n (async () => {\n try {\n const { list } = await ContractCenterApi_searchContract(\n {\n page: 1,\n pageSize: count,\n fullContractName: query,\n },\n {\n interceptorParams: { ignoreLoadingBar: true },\n }\n );\n\n setContractList(list as ContractField[]);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error(err);\n setContractList([]);\n }\n })();\n }, [query, count]);\n\n return contractList;\n}\n","import React, { useState, useCallback, useRef, useEffect } from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport \"@next-core/theme\";\nimport { initializeReactI18n } from \"@next-core/i18n/react\";\nimport { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { Menu } from \"@next-bricks/basic/menu\";\nimport { MenuItem, MenuComponentProps } from \"@next-bricks/basic/menu-item\";\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type { lockBodyScroll as _lockBodyScroll } from \"@next-bricks/basic/data-providers/lock-body-scroll/lock-body-scroll\";\n\nconst WrappedMenu = wrapBrick<Menu, unknown>(\"eo-menu\");\nconst WrappedMenuItem = wrapBrick<MenuItem, MenuComponentProps>(\"eo-menu-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst lockBodyScroll = unwrapProvider<typeof _lockBodyScroll>(\n \"basic.lock-body-scroll\"\n);\n\nimport { NS, locales } from \"./i18n.js\";\nimport styleText from \"./styles.shadow.css\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst MINIMAL_PADDING = 8;\n\nexport type Position = [x: number, y: number];\n\nexport interface OpenInfo {\n /**\n * 通常设为 `[EVENT.clientX, EVENT.clientY]`\n */\n position: Position;\n}\n\nexport interface SnippetItem {\n text: string;\n icon?: GeneralIconProps;\n disabled?: boolean;\n hidden?: boolean;\n tooltip?: string;\n dragConf?: {\n format: string;\n data: unknown;\n };\n}\n\nexport interface SnippetOption {\n title?: string;\n children?: SnippetItem[];\n}\n\n/**\n * 构件 `visual-builder.generate-snippets-context-menu`\n */\nexport\n@defineElement(\"visual-builder.generate-snippets-context-menu\", {\n styleTexts: [styleText],\n})\nclass GenerateSnippetsContextMenu extends ReactNextElement {\n @property({\n attribute: false,\n })\n accessor options: SnippetOption[] | undefined;\n\n @property({\n type: Boolean,\n })\n accessor active: boolean | undefined;\n\n @property({ attribute: false })\n accessor position: Position | undefined;\n\n @event({ type: \"item.drag.start\" })\n accessor #itemDragStartEvent!: EventEmitter<SnippetItem>;\n\n @event({ type: \"item.drag.end\" })\n accessor #itemDragEndEvent!: EventEmitter<SnippetItem>;\n\n @method()\n open({ position }: OpenInfo) {\n this.active = true;\n this.position = position;\n }\n\n @method()\n close() {\n this.active = false;\n this.position = undefined;\n }\n\n #handleItemDragStart = (action: SnippetItem): void => {\n this.#itemDragStartEvent.emit(action);\n };\n\n #handleItemDragEnd = (action: SnippetItem): void => {\n this.#itemDragEndEvent.emit(action);\n };\n\n disconnectedCallback() {\n super.disconnectedCallback();\n lockBodyScroll(this, false);\n }\n\n render() {\n return (\n <GenerateSnippetsContextMenuComponent\n active={this.active}\n element={this}\n position={this.position}\n onItemDragStart={this.#handleItemDragStart}\n onItemDragEnd={this.#handleItemDragEnd}\n options={this.options}\n />\n );\n }\n}\n\nexport interface GenerateSnippetsContextMenuProps {\n options?: SnippetOption[];\n active?: boolean;\n position?: Position;\n element?: GenerateSnippetsContextMenu;\n onItemDragStart?: (data: SnippetItem) => void;\n onItemDragEnd?: (data: SnippetItem) => void;\n}\n\nexport function GenerateSnippetsContextMenuComponent({\n element,\n active,\n onItemDragEnd,\n onItemDragStart,\n options,\n position,\n}: GenerateSnippetsContextMenuProps) {\n const [dragging, setDragging] = useState(false);\n const containerRef = useRef<any>(null);\n const [fixedPosition, setFixedPosition] = useState<Position | null>(null);\n\n const handleMaskClick = useCallback(\n (e: React.MouseEvent) => {\n e.preventDefault();\n element?.close();\n },\n [element]\n );\n\n const handleItemStart = useCallback(\n (e: React.DragEvent, data: SnippetItem) => {\n setDragging(true);\n\n if (data.dragConf) {\n e.dataTransfer?.setData(\n data.dragConf.format,\n JSON.stringify(data.dragConf.data)\n );\n }\n (e.target as HTMLElement).classList.add(\"dragging\");\n onItemDragStart?.(data);\n },\n [onItemDragStart]\n );\n\n const handleItemDragEnd = useCallback(\n (e: React.DragEvent, data: SnippetItem) => {\n setDragging(false);\n (e.target as HTMLElement).classList.remove(\"dragging\");\n element?.close();\n onItemDragEnd?.(data);\n },\n [element, onItemDragEnd]\n );\n\n useEffect(() => {\n lockBodyScroll(element!, active);\n }, [active, element]);\n\n useEffect(() => {\n if (active && containerRef.current && position) {\n const rect = containerRef.current.getBoundingClientRect();\n const width = rect.width + MINIMAL_PADDING;\n const height = rect.height + MINIMAL_PADDING;\n const { clientWidth, clientHeight } = document.documentElement;\n const fixed = [...position] as Position;\n if (clientWidth > width && position[0] + width > clientWidth) {\n fixed[0] = position[0] - width;\n }\n if (clientHeight > height && position[1] + height > clientHeight) {\n fixed[1] = clientHeight - height;\n }\n setFixedPosition(fixed);\n } else {\n setFixedPosition(null);\n }\n }, [active, position]);\n\n return (\n <>\n {!dragging && (\n <div\n className=\"mask\"\n onClick={handleMaskClick}\n onContextMenu={handleMaskClick}\n />\n )}\n <div\n className=\"container\"\n ref={containerRef}\n style={{\n left: (fixedPosition ?? position)?.[0],\n top: (fixedPosition ?? position)?.[1],\n visibility: fixedPosition ? \"visible\" : \"hidden\",\n }}\n >\n {options?.map((op, index) => (\n <div key={index}>\n <div className=\"title\">{op.title}</div>\n {op.children?.length && (\n <WrappedMenu>\n {op.children?.map((item, itemIndex) => {\n return (\n <WrappedTooltip\n content={item.tooltip}\n hoist\n placement=\"left\"\n key={itemIndex}\n >\n <WrappedMenuItem\n disabled={item.disabled}\n icon={item.icon}\n draggable={!item.disabled}\n onDragStart={(e: React.DragEvent) =>\n handleItemStart(e, item)\n }\n onDragEnd={(e: React.DragEvent) =>\n handleItemDragEnd(e, item)\n }\n >\n {item.text}\n </WrappedMenuItem>\n </WrappedTooltip>\n );\n })}\n </WrappedMenu>\n )}\n </div>\n ))}\n </div>\n </>\n );\n}\n","export enum K {}\n\nconst en: Locale = {};\n\nconst zh: Locale = {};\n\nexport const NS = \"bricks/visual-builder/generate-snippets-context-menu\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};\n","import { visit } from \"unist-util-visit\";\nimport { toString } from \"hast-util-to-string\";\nimport { refractor, type RefractorElement } from \"refractor\";\n\n// Reference https://github.com/mapbox/rehype-prism\nexport function rehypePrism() {\n function visitor(\n node: RefractorElement,\n _index: number | undefined,\n parent: RefractorElement | undefined\n ) {\n if (!parent || parent.tagName !== \"pre\" || node.tagName !== \"code\") {\n return;\n }\n\n const lang = getLanguage(node);\n\n if (lang === null) {\n return;\n }\n\n let result;\n try {\n parent.properties.className = (\n (parent.properties.className as string[]) || []\n ).concat(\"language-\" + lang);\n result = refractor.highlight(toString(node), lang);\n } catch {\n return;\n }\n\n node.children = result.children;\n }\n return (tree: RefractorElement) => {\n visit(tree, \"element\", visitor);\n };\n}\n\nfunction getLanguage(node: RefractorElement) {\n const className = (node.properties.className as string[]) || [];\n\n for (const classListItem of className) {\n if (classListItem.slice(0, 9) === \"language-\") {\n return classListItem.slice(9).toLowerCase();\n }\n }\n\n return null;\n}\n","import { useEffect, useState } from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { unified } from \"unified\";\nimport remarkParse from \"remark-parse\";\nimport remarkToRehype from \"remark-rehype\";\nimport rehypeReact, { Options as RehypeReactOptions } from \"rehype-react\";\nimport { rehypePrism } from \"./rehypePrism.js\";\n\nconst production = { Fragment, jsx, jsxs };\n\nexport interface MarkdownComponentProps {\n content: string;\n}\n\n// Reference https://github.com/remarkjs/react-remark/blob/39553e5f5c9e9b903bebf261788ff45130668de0/src/index.ts\nexport function MarkdownComponent({ content }: MarkdownComponentProps) {\n const [reactContent, setReactContent] = useState<JSX.Element | null>(null);\n\n useEffect(() => {\n let ignore = false;\n unified()\n .use(remarkParse)\n .use(remarkToRehype)\n .use([rehypePrism])\n .use(rehypeReact, production as RehypeReactOptions)\n .process(content)\n .then((vFile) => {\n if (!ignore) {\n setReactContent(vFile.result);\n }\n })\n .catch((error) => {\n if (!ignore) {\n // eslint-disable-next-line no-console\n console.error(\"Convert markdown failed:\", error);\n setReactContent(null);\n }\n });\n return () => {\n ignore = true;\n };\n }, [content]);\n\n return reactContent;\n}\n","import React, { useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport { MarkdownComponent } from \"@next-shared/markdown\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { AvatarProps, EoAvatar } from \"@next-bricks/basic/avatar\";\nimport type { Message } from \"./index\";\n\nconst WrappedAvatar = wrapBrick<EoAvatar, AvatarProps>(\"eo-avatar\");\n\nexport interface MessageComponentProps {\n message: Message;\n}\n\ntype MessageChunk =\n | MessageChunkPlain\n | MessageChunkMarkdown\n | MessageChunkCommand;\n\ninterface MessageChunkPlain {\n type: \"plain\";\n content: string;\n}\n\ninterface MessageChunkMarkdown {\n type: \"markdown\";\n content: string;\n}\n\ninterface MessageChunkCommand {\n type: \"command\";\n command: string;\n content: string;\n raw: string;\n}\n\nexport function MessageComponent({ message }: MessageComponentProps) {\n const messageChunks = useMemo(() => {\n const chunks: MessageChunk[] = [];\n\n if (message.role === \"assistant\") {\n const chunkRegExp =\n /(?:^|\\n)```(easy_cmd_\\S+)\\n([\\s\\S]*?)\\n```(?:$|\\n)/gm;\n\n let match: RegExpExecArray | null;\n let lastIndex = 0;\n while ((match = chunkRegExp.exec(message.content))) {\n const [fullMatch, command, content] = match;\n const start = match.index;\n const previousText = message.content.slice(lastIndex, start).trim();\n if (previousText.length > 0) {\n chunks.push({\n type: \"markdown\",\n content: previousText,\n });\n }\n chunks.push({\n type: \"command\",\n command,\n content: content.trim(),\n raw: fullMatch,\n });\n lastIndex = chunkRegExp.lastIndex;\n }\n const lastText = message.content.slice(lastIndex).trim();\n if (lastText.length > 0) {\n chunks.push({\n type: \"markdown\",\n content: lastText,\n });\n }\n } else {\n chunks.push({\n type: \"plain\",\n content: message.content,\n });\n }\n\n return chunks;\n }, [message.content, message.role]);\n\n const contentRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n const contentElement = contentRef.current;\n if (!contentElement) {\n return;\n }\n setTimeout(() => {\n const textingElements =\n contentElement.parentElement.querySelectorAll(\".texting\");\n for (const element of textingElements) {\n element.classList.remove(\"texting\");\n }\n if (!message.partial) {\n return;\n }\n // Find the last text element descendant of the message element,\n // and apply a texting effect to it.\n let current = contentElement as HTMLElement;\n while (current) {\n const lastChild = current.lastChild;\n if (\n lastChild?.nodeType === Node.ELEMENT_NODE &&\n ((lastChild as HTMLElement)?.tagName !== \"DETAILS\" ||\n (lastChild as HTMLDetailsElement).open)\n ) {\n current = lastChild as HTMLElement;\n } else {\n // Handle a special case: the last child is a text node without any\n // non-whitespace content. In such case, we should apply the texting\n // effect to the previous sibling element.\n if (\n lastChild?.nodeType === Node.TEXT_NODE &&\n lastChild.textContent.trim().length === 0 &&\n lastChild.previousSibling?.nodeType === Node.ELEMENT_NODE\n ) {\n current = lastChild.previousSibling as HTMLElement;\n } else {\n break;\n }\n }\n }\n current.classList.add(\"texting\");\n }, 1);\n }, [message.partial, message.content]);\n\n return (\n <div className={classNames(\"message\", { failed: message.failed })}>\n <div className=\"avatar\">\n <WrappedAvatar\n icon={{\n lib: \"easyops\",\n icon: message.role === \"assistant\" ? \"robot\" : \"account\",\n }}\n size=\"small\"\n className={`role-${message.role}`}\n />\n </div>\n <div className=\"main\">\n <div className=\"label\">\n {message.role === \"assistant\" ? \"Assistant\" : \"You\"}\n </div>\n <div className=\"content\" ref={contentRef}>\n {messageChunks.map((chunk, index) => (\n <MessageChunkComponent key={index} chunk={chunk} />\n ))}\n </div>\n </div>\n </div>\n );\n}\n\nfunction MessageChunkComponent({ chunk }: { chunk: MessageChunk }) {\n return (\n <>\n {chunk.type === \"markdown\" ? (\n <div className=\"markdown\">\n <MarkdownComponent content={chunk.content} />\n </div>\n ) : chunk.type === \"command\" ? (\n <>\n <details className=\"command\">\n <summary>```{chunk.command}</summary>\n <pre>\n <code>{chunk.content}</code>\n </pre>\n </details>\n </>\n ) : (\n <div className=\"plain\">{chunk.content}</div>\n )}\n </>\n );\n}\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { createDecorators, type EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type { BrickConf } from \"@next-core/types\";\nimport { MessageComponent } from \"./MessageComponent\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface Message {\n role: \"user\" | \"assistant\";\n content: string;\n key: number;\n partial?: boolean;\n failed?: boolean;\n}\n\nexport interface ChatConversationProps {\n messages?: Message[];\n errorBoundary?: boolean;\n}\n\ntype StoryboardChunk = StoryboardChunkBlock | StoryboardChunkBlockItem;\n\ninterface StoryboardChunkBlock {\n type: \"block\";\n uuid: string;\n children: string[];\n name: string;\n seq: number;\n hasContainer?: boolean;\n}\n\ninterface StoryboardChunkBlockItem {\n type: \"item\";\n uuid: string;\n storyboard?: BrickConf;\n}\n\n/**\n * 用于 Visual Builder 的智能聊天对话列表\n */\nexport\n@defineElement(\"visual-builder.chat-conversation\", {\n styleTexts: [styleText],\n})\nclass ChatConversation\n extends ReactNextElement\n implements ChatConversationProps\n{\n @property({ attribute: false })\n accessor messages: Message[] | undefined;\n\n @property({ type: Boolean })\n accessor errorBoundary: boolean | undefined;\n\n @event({ type: \"storyboard.update\" })\n accessor #storyboardUpdate!: EventEmitter<BrickConf[]>;\n\n #handleStoryboardUpdate = (storyboard: BrickConf[]) => {\n this.#storyboardUpdate.emit(storyboard);\n };\n\n render() {\n return (\n <ChatConversationComponent\n host={this}\n messages={this.messages}\n errorBoundary={this.errorBoundary}\n onStoryboardUpdate={this.#handleStoryboardUpdate}\n />\n );\n }\n}\n\nexport interface ChatConversationComponentProps extends ChatConversationProps {\n host: Element;\n onStoryboardUpdate?: (storyboard: BrickConf[]) => void;\n}\n\nexport function ChatConversationComponent({\n messages,\n host,\n errorBoundary,\n onStoryboardUpdate,\n}: ChatConversationComponentProps) {\n const chunkRegExp = useMemo(\n () =>\n /(?:^|\\n)```easy_cmd_vb_block_(page|storyboard)\\n([\\s\\S]*?)\\n```(?:$|\\n)/gm,\n []\n );\n const lastIndexMapRef = useRef(new Map<number, number>());\n const [chunks, setChunks] = useState<StoryboardChunk[]>([]);\n const manualScrolledRef = useRef(false);\n\n useEffect(() => {\n for (const message of messages ?? []) {\n if (message.role !== \"assistant\") {\n continue;\n }\n chunkRegExp.lastIndex = lastIndexMapRef.current.get(message.key) ?? 0;\n let match: RegExpExecArray | null;\n const newChunks: StoryboardChunk[] = [];\n let newPage = false;\n while ((match = chunkRegExp.exec(message.content))) {\n lastIndexMapRef.current.set(message.key, chunkRegExp.lastIndex);\n const [, type, content] = match;\n try {\n const parsed = JSON.parse(content) as unknown;\n if (type === \"page\") {\n newPage = true;\n newChunks.push(\n ...(parsed as (StoryboardChunkBlock | StoryboardChunkBlockItem)[])\n );\n } else {\n newChunks.push({\n ...(parsed as StoryboardChunkBlockItem),\n type: \"item\",\n });\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"parse storyboard failed:\", e);\n }\n }\n if (newPage) {\n setChunks(newChunks);\n } else if (newChunks.length > 0) {\n setChunks((prev) => [...prev, ...newChunks]);\n }\n }\n }, [chunkRegExp, messages]);\n\n const [storyboard, setStoryboard] = useState<BrickConf[]>([]);\n\n useEffect(() => {\n const blocks = [];\n const storyboardMap = new Map<string, BrickConf>();\n for (const chunk of chunks) {\n if (chunk.type === \"block\") {\n blocks.push(chunk);\n } else if (chunk.storyboard) {\n storyboardMap.set(chunk.uuid, chunk.storyboard);\n }\n }\n\n // Sort by seq ascent\n blocks.sort((a, b) => a.seq - b.seq);\n\n const contentLayout: BrickConf = {\n brick: \"eo-content-layout\",\n children: [],\n };\n const main: BrickConf = {\n brick: \"eo-main-view\",\n children: [\n {\n brick: \"eo-page-title\",\n slot: \"pageTitle\",\n properties: {\n pageTitle: \"测试页面\",\n },\n },\n ],\n };\n\n let hasContent = false;\n for (const block of blocks) {\n // No container\n if (block.name === \"全局操作区\") {\n for (const child of block.children) {\n const childBrick = storyboardMap.get(child);\n if (childBrick) {\n main.children.push({\n ...childBrick,\n properties: {\n ...childBrick.properties,\n slot: undefined,\n },\n errorBoundary,\n slot: \"toolbar\",\n iid: `item:${child}`,\n meta: {\n type: \"item\",\n uuid: child,\n block: {\n uuid: block.uuid,\n name: block.name,\n },\n },\n } as BrickConf);\n hasContent = true;\n }\n }\n } else {\n const rawBrick = storyboardMap.get(block.uuid);\n if (rawBrick) {\n const brick: BrickConf = {\n ...rawBrick,\n children: [],\n errorBoundary,\n iid: `block:${block.uuid}`,\n meta: {\n type: \"block\",\n uuid: block.uuid,\n name: block.name,\n },\n } as BrickConf;\n hasContent = true;\n contentLayout.children.push(brick);\n for (const child of block.children) {\n const childBrick = storyboardMap.get(child);\n if (childBrick) {\n brick.children.push({\n ...childBrick,\n errorBoundary,\n iid: `item:${child}`,\n meta: {\n type: \"item\",\n uuid: child,\n },\n } as BrickConf);\n }\n }\n } else if (!block.hasContainer) {\n for (const child of block.children) {\n const childBrick = storyboardMap.get(child);\n if (childBrick) {\n contentLayout.children.push({\n ...childBrick,\n errorBoundary,\n iid: `item:${child}`,\n meta: {\n type: \"item\",\n uuid: child,\n },\n } as BrickConf);\n hasContent = true;\n }\n }\n }\n }\n }\n\n main.children.push(contentLayout);\n\n setStoryboard((prev) =>\n hasContent ? [main] : prev.length === 0 ? prev : []\n );\n }, [chunks, errorBoundary]);\n\n useEffect(() => {\n onStoryboardUpdate?.(storyboard);\n }, [onStoryboardUpdate, storyboard]);\n\n const verticalScrollParent = useMemo(() => {\n // Lookup the nearest scrollable parent (on axis y)\n let current = host;\n while (current) {\n const overflowY = getComputedStyle(current, null).getPropertyValue(\n \"overflow-y\"\n );\n if (overflowY === \"auto\" || overflowY === \"scroll\") {\n return current;\n }\n if (current.parentNode instanceof ShadowRoot) {\n current = current.parentNode.host;\n } else if (current.parentNode instanceof Element) {\n current = current.parentNode;\n } else {\n break;\n }\n }\n return document.scrollingElement || document.documentElement;\n }, [host]);\n\n useEffect(() => {\n if (manualScrolledRef.current) {\n return;\n }\n setTimeout(() => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain\n verticalScrollParent.scrollTo(0, verticalScrollParent.scrollHeight!);\n }, 1);\n }, [messages, verticalScrollParent]);\n\n useEffect(() => {\n const handleScroll = () => {\n manualScrolledRef.current =\n verticalScrollParent.scrollTop +\n verticalScrollParent.clientHeight! +\n 6 <\n verticalScrollParent.scrollHeight;\n };\n verticalScrollParent.addEventListener(\"scroll\", handleScroll);\n return () => {\n verticalScrollParent.removeEventListener(\"scroll\", handleScroll);\n };\n }, [verticalScrollParent]);\n\n return (\n <>\n {messages?.map((message, index) => (\n <MessageComponent\n key={message.key ?? `index-${index}`}\n message={message}\n />\n ))}\n </>\n );\n}\n","import React from \"react\";\nimport { InspectOutline } from \"../data-providers/chat-preview/interfaces.js\";\n\nexport interface InspectOutlineComponentProps extends InspectOutline {\n variant: \"hover\" | \"active\";\n}\n\nexport function InspectOutlineComponent({\n variant,\n width,\n height,\n left,\n top,\n label,\n}: InspectOutlineComponentProps): React.ReactElement {\n const borderWidth = 4;\n return (\n <div\n className={\"outline \" + variant}\n style={{\n width: width + borderWidth * 2,\n height: height + borderWidth * 2,\n left: left - borderWidth,\n top: top - borderWidth,\n }}\n >\n <div className=\"label\">{label}</div>\n </div>\n );\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 } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport { __secret_internals, getBasePath } from \"@next-core/runtime\";\nimport type { BrickConf, MicroApp } from \"@next-core/types\";\nimport { JSON_SCHEMA, safeDump } from \"js-yaml\";\nimport type { PreviewWindow } from \"@next-core/preview/types\";\nimport classNames from \"classnames\";\nimport type {\n InspectOutline,\n InspectSelector,\n} from \"../data-providers/chat-preview/interfaces\";\nimport { InspectOutlineComponent } from \"./InspectOutlineComponent\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface ChatPreviewProps {\n storyboard?: BrickConf | BrickConf[];\n theme?: string;\n uiVersion?: string;\n app?: MicroApp;\n inspecting?: boolean;\n}\n\n/**\n * 构件 `visual-builder.chat-preview`\n */\nexport\n@defineElement(\"visual-builder.chat-preview\", {\n styleTexts: [styleText],\n})\nclass ChatPreview extends ReactNextElement {\n @property({ attribute: false })\n accessor storyboard: BrickConf | BrickConf[] | undefined;\n\n @property()\n accessor theme: string | undefined;\n\n @property()\n accessor uiVersion: string | undefined;\n\n @property()\n accessor app: MicroApp | undefined;\n\n @property({ type: Boolean })\n accessor inspecting: boolean | undefined;\n\n @event({ type: \"activeTarget.change\" })\n accessor #activeTargetChangeEvent!: EventEmitter<InspectSelector | undefined>;\n #handleActiveTargetChange = (target: InspectSelector | undefined) => {\n this.#activeTargetChangeEvent.emit(target);\n };\n\n @method()\n select(payload: InspectSelector) {\n const iframeWin = this.shadowRoot?.querySelector(\"iframe\")?.contentWindow;\n iframeWin?.postMessage(\n {\n channel: \"chat-preview\",\n type: \"select\",\n payload,\n },\n location.origin\n );\n }\n\n render() {\n return (\n <ChatPreviewComponent\n storyboard={this.storyboard}\n theme={this.theme}\n uiVersion={this.uiVersion}\n app={this.app}\n inspecting={this.inspecting}\n onActiveTargetChange={this.#handleActiveTargetChange}\n />\n );\n }\n}\n\nexport interface ChatPreviewComponentProps extends ChatPreviewProps {\n onActiveTargetChange?(target: InspectSelector | undefined): void;\n}\n\nexport function ChatPreviewComponent({\n storyboard,\n theme,\n uiVersion,\n app,\n inspecting,\n onActiveTargetChange,\n}: ChatPreviewComponentProps) {\n const iframeRef = useRef<HTMLIFrameElement>();\n const [ready, setReady] = useState(false);\n const [initialized, setInitialized] = useState(false);\n const [scroll, setScroll] = useState({ x: 0, y: 0 });\n const [hoverOutlines, setHoverOutlines] = useState<InspectOutline[]>([]);\n const [activeOutlines, setActiveOutlines] = useState<InspectOutline[]>([]);\n const [adjustedHoverOutlines, setAdjustedHoverOutlines] = useState<\n InspectOutline[]\n >([]);\n const [adjustedActiveOutlines, setAdjustedActiveOutlines] = useState<\n InspectOutline[]\n >([]);\n\n const handleIframeLoad = useCallback(() => {\n const check = () => {\n const iframeWin = iframeRef.current?.contentWindow as PreviewWindow;\n if (iframeWin?._preview_only_render) {\n setReady(true);\n } else {\n setTimeout(check, 100);\n }\n };\n check();\n }, []);\n\n useEffect(() => {\n if (!ready) {\n return;\n }\n const pkg = __secret_internals.getBrickPackagesById(\n \"bricks/visual-builder\"\n );\n if (!pkg) {\n throw new Error(\n \"Cannot find preview agent package: bricks/visual-builder\"\n );\n }\n const inject = (iframeRef.current?.contentWindow as PreviewWindow)\n ?._preview_only_inject;\n inject(\"visual-builder.inject-chat-preview-agent\", {\n ...pkg,\n filePath: `${location.origin}${getBasePath()}${\n window.PUBLIC_ROOT ?? \"\"\n }${pkg.filePath}`,\n });\n }, [ready]);\n\n useEffect(() => {\n if (!ready) {\n return;\n }\n const render = (iframeRef.current?.contentWindow as PreviewWindow)\n ?._preview_only_render;\n if (!render) {\n return;\n }\n render(\n \"yaml\",\n {\n yaml: safeDump(storyboard, {\n schema: JSON_SCHEMA,\n skipInvalid: true,\n noRefs: true,\n noCompatMode: true,\n }),\n },\n {\n app,\n theme,\n uiVersion,\n }\n );\n }, [app, ready, storyboard, theme, uiVersion]);\n\n const handleMouseOut = useMemo(() => {\n if (!initialized) {\n return;\n }\n return () => {\n // Delay posting message to allow iframe inner hovering message be sent before\n // mouse out from iframe itself.\n setTimeout(() => {\n window.postMessage({\n channel: \"chat-preview\",\n type: \"inspect-hover\",\n payload: { outlines: [] },\n });\n }, 100);\n };\n }, [initialized]);\n\n useEffect(() => {\n const listener = (event: MessageEvent) => {\n if (event.data?.channel === \"chat-preview\") {\n switch (event.data.type) {\n case \"initialized\":\n setInitialized(true);\n break;\n case \"inspect-hover\":\n setHoverOutlines(event.data.payload.outlines);\n break;\n case \"scroll\":\n setScroll(event.data.payload);\n break;\n case \"inspect-active\":\n setActiveOutlines(event.data.payload.outlines);\n break;\n }\n }\n };\n window.addEventListener(\"message\", listener);\n return () => {\n window.removeEventListener(\"message\", listener);\n };\n }, []);\n\n useEffect(() => {\n if (!initialized) {\n return;\n }\n iframeRef.current?.contentWindow?.postMessage(\n {\n channel: \"chat-preview\",\n type: \"toggle-inspecting\",\n payload: {\n inspecting,\n },\n },\n location.origin\n );\n }, [initialized, inspecting]);\n\n const adjustOutlines = useCallback(\n (outlines: InspectOutline[]): InspectOutline[] => {\n return outlines.map((outline) => {\n const minScale = 1;\n const offsetLeft = iframeRef?.current?.offsetLeft ?? 0;\n const offsetTop = iframeRef?.current?.offsetTop ?? 0;\n const { width, height, left, top, ...rest } = outline;\n return {\n width: width * minScale,\n height: height * minScale,\n left: (left - scroll.x) * minScale + offsetLeft,\n top: (top - scroll.y) * minScale + offsetTop,\n ...rest,\n };\n });\n },\n [scroll.x, scroll.y]\n );\n\n useEffect(() => {\n onActiveTargetChange(activeOutlines[0]);\n }, [activeOutlines, onActiveTargetChange]);\n\n useEffect(() => {\n setAdjustedActiveOutlines(adjustOutlines(activeOutlines));\n }, [activeOutlines, adjustOutlines]);\n\n useEffect(() => {\n setAdjustedHoverOutlines(adjustOutlines(hoverOutlines));\n }, [hoverOutlines, adjustOutlines]);\n\n return (\n <div className={classNames(\"container\", { inspecting })}>\n <iframe\n ref={iframeRef}\n src={`${getBasePath()}_brick-preview-v3_/preview/`}\n loading=\"lazy\"\n onLoad={handleIframeLoad}\n onMouseOut={handleMouseOut}\n />\n {adjustedHoverOutlines.map((outline, index) => (\n <InspectOutlineComponent key={index} variant=\"hover\" {...outline} />\n ))}\n {adjustedActiveOutlines.map((outline, index) => (\n <InspectOutlineComponent key={index} variant=\"active\" {...outline} />\n ))}\n </div>\n );\n}\n","// istanbul ignore file: working in progress\n// https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-devtools-shared/src/backend/views/Highlighter/index.js\nimport { debounce } from \"lodash\";\nimport type {\n InspectOutline,\n InspectSelector,\n InspectTarget,\n} from \"./interfaces.js\";\nimport { getElementsIncludingInShadowDOM } from \"../preview/connect.js\";\n\nlet isInspecting = false;\nconst IID_ITEM_PREFIX = \"item:\";\nlet currentHoverElement: Element | null = null;\n\nexport function toggleInspecting(inspecting: boolean): void {\n if (isInspecting === inspecting) {\n return;\n }\n isInspecting = inspecting;\n\n const method = inspecting ? \"addEventListener\" : \"removeEventListener\";\n\n window[method](\"click\", onClick as EventListener, true);\n window[method](\"mousedown\", onMouseEvent as EventListener, true);\n window[method](\"mouseover\", onMouseEvent as EventListener, true);\n window[method](\"mouseup\", onMouseEvent as EventListener, true);\n window[method](\"pointerdown\", onMouseEvent as EventListener, true);\n window[method](\"pointerover\", onMouseEvent as EventListener, true);\n window[method](\"pointerup\", onMouseEvent as EventListener, true);\n window[method](\"pointerleave\", onPointerLeave as EventListener, true);\n window[method](\"pointermove\", onPointerMove as EventListener, true);\n}\n\nexport function select(selector: InspectSelector) {\n const iid = `${selector.type}:${selector.uuid}`;\n const elements = getElementsIncludingInShadowDOM(iid);\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-active\",\n payload: {\n outlines: elements.map((element) =>\n getTargetOutline({ ...selector, element, label: getLabel(element) })\n ),\n },\n },\n location.origin\n );\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectByClick(event);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnTarget = debounce(\n (eventTargets: EventTarget[], clientX: number, clientY: number) => {\n let targets = getPossibleBrickTargets(eventTargets);\n if (targets.length === 0) {\n for (const element of eventTargets) {\n if (element instanceof HTMLElement && element.shadowRoot) {\n targets = getPossibleBrickTargets(\n element.shadowRoot.elementsFromPoint(clientX, clientY)\n );\n break;\n }\n }\n }\n const hoverElement = targets.length > 0 ? targets[0].element : null;\n if (hoverElement !== currentHoverElement) {\n currentHoverElement = hoverElement;\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-hover\",\n payload: {\n outlines: targets.map(getTargetOutline),\n },\n },\n location.origin\n );\n }\n },\n 20,\n { leading: true }\n);\n\nfunction onPointerMove(event: MouseEvent): void {\n // `event.composedPath()` will be unavailable in debounced callback\n hoverOnTarget(event.composedPath(), event.clientX, event.clientY);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n currentHoverElement = null;\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-hover\",\n payload: { outlines: [] },\n },\n location.origin\n );\n}\n\nfunction selectByClick(event: MouseEvent): void {\n const targets = getPossibleBrickTargets(event.composedPath());\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n type: \"inspect-active\",\n payload: {\n outlines: targets.map(getTargetOutline),\n },\n },\n location.origin\n );\n}\n\nfunction getPossibleBrickTargets(eventTargets: EventTarget[]) {\n const inspectTargets: InspectTarget[] = [];\n eventTargets.forEach((item) => {\n let iid: string | undefined;\n if (\n (item as Node).nodeType === Node.ELEMENT_NODE &&\n item instanceof HTMLElement &&\n (iid = item.dataset.iid) &&\n iid.startsWith(IID_ITEM_PREFIX)\n ) {\n const uuid = iid.substring(IID_ITEM_PREFIX.length);\n inspectTargets.push({\n type: \"item\",\n uuid,\n label: getLabel(item),\n element: item,\n });\n }\n });\n return inspectTargets;\n}\n\nfunction getTargetOutline(target: InspectTarget): InspectOutline {\n const { element, type, uuid, label } = target;\n const { width, height, left, top } = element.getBoundingClientRect();\n return {\n width,\n height,\n left: left + window.scrollX,\n top: top + window.scrollY,\n type,\n uuid,\n label,\n };\n}\n\nfunction getLabel(element: Element) {\n return element.tagName.toLowerCase().split(\".\").pop();\n}\n","import { createProviderClass } from \"@next-core/utils/general\";\nimport { select, toggleInspecting } from \"./chat-preview/inspector\";\n\nlet injected = false;\n\nexport async function injectChatPreviewAgent(): Promise<unknown> {\n if (injected) {\n return;\n }\n injected = true;\n import(\"./chat-preview/styles.css\");\n\n sendMessage({ type: \"initialized\" });\n\n window.addEventListener(\"message\", (e) => {\n if (e.data?.channel === \"chat-preview\") {\n switch (e.data.type) {\n case \"toggle-inspecting\":\n toggleInspecting(e.data.payload.inspecting);\n break;\n case \"select\":\n select(e.data.payload);\n break;\n }\n }\n });\n\n window.addEventListener(\"scroll\", () => {\n sendMessage({\n type: \"scroll\",\n payload: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n}\n\nfunction sendMessage(message: object) {\n window.parent.postMessage(\n {\n channel: \"chat-preview\",\n ...message,\n },\n location.origin\n );\n}\n\ncustomElements.define(\n \"visual-builder.inject-chat-preview-agent\",\n createProviderClass(injectChatPreviewAgent)\n);\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport type { BrickConf, MicroApp } from \"@next-core/types\";\nimport classNames from \"classnames\";\nimport { __secret_internals, getBasePath } from \"@next-core/runtime\";\nimport type { PreviewWindow } from \"@next-core/preview/types\";\nimport { JSON_SCHEMA, safeDump } from \"js-yaml\";\nimport styleText from \"./styles.shadow.css\";\nimport previewStyleText from \"./preview.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\nexport interface PreGeneratedPreviewProps {\n generations?: AttributeGeneration[];\n category?: PreviewCategory;\n theme?: string;\n uiVersion?: string;\n app?: MicroApp;\n}\n\nexport interface AttributeGeneration {\n instanceId: string;\n objectId: string;\n propertyId: string;\n propertyName: string;\n displayLevel: number;\n rwType: string;\n category: PreviewCategory;\n storyboard: BrickConf | BrickConf[];\n mockData: unknown[];\n}\n\nexport type PreviewCategory =\n | \"detail-item\"\n | \"form-item\"\n | \"table-column\"\n | \"card-item\"\n | \"metric-item\"\n | \"value\";\n\n/**\n * 构件 `visual-builder.pre-generated-preview`\n *\n * @internal\n */\nexport\n@defineElement(\"visual-builder.pre-generated-preview\", {\n styleTexts: [styleText],\n})\nclass PreGeneratedPreview extends ReactNextElement {\n @property({ attribute: false })\n accessor generations: AttributeGeneration[] | undefined;\n\n /**\n * @default \"value\"\n */\n @property()\n accessor category: PreviewCategory | undefined;\n\n @property()\n accessor theme: string | undefined;\n\n @property()\n accessor uiVersion: string | undefined;\n\n @property()\n accessor app: MicroApp | undefined;\n\n render() {\n return (\n <PreGeneratedPreviewComponent\n generations={this.generations}\n category={this.category}\n theme={this.theme}\n uiVersion={this.uiVersion}\n app={this.app}\n />\n );\n }\n}\n\nexport interface PreGeneratedPreviewComponentProps\n extends PreGeneratedPreviewProps {\n //\n}\n\nexport function PreGeneratedPreviewComponent({\n generations,\n category,\n theme,\n uiVersion,\n app,\n}: PreGeneratedPreviewComponentProps) {\n const iframeRef = useRef<HTMLIFrameElement>();\n const [ready, setReady] = useState(false);\n const [injected, setInjected] = useState(false);\n\n const handleIframeLoad = useCallback(() => {\n const check = () => {\n const iframeWin = iframeRef.current?.contentWindow as PreviewWindow;\n if (iframeWin?._preview_only_render) {\n setReady(true);\n } else {\n setTimeout(check, 100);\n }\n };\n check();\n }, []);\n\n useEffect(() => {\n if (!ready) {\n return;\n }\n const pkg = __secret_internals.getBrickPackagesById(\n \"bricks/visual-builder\"\n );\n if (!pkg) {\n throw new Error(\n \"Cannot find preview agent package: bricks/visual-builder\"\n );\n }\n const inject = (iframeRef.current!.contentWindow as PreviewWindow)!\n ._preview_only_inject;\n\n const fixedPkg = {\n ...pkg,\n filePath: `${location.origin}${getBasePath()}${\n window.PUBLIC_ROOT ?? \"\"\n }${pkg.filePath}`,\n };\n\n Promise.allSettled(\n [\n \"visual-builder.pre-generated-table-view\",\n \"visual-builder.pre-generated-container\",\n ].map((brick) => inject(brick, fixedPkg, undefined, true))\n ).then(() => {\n setInjected(true);\n });\n }, [ready]);\n\n useEffect(() => {\n if (!injected) {\n return;\n }\n const render = (iframeRef.current?.contentWindow as PreviewWindow)\n ?._preview_only_render;\n if (!render) {\n return;\n }\n\n const candidatesMap = new Map<\n string,\n Map<string, Map<number, AttributeGeneration>>\n >();\n const mocksMap = new Map<string, unknown[]>();\n\n for (const generation of generations) {\n let candidatesByReadWriteType = candidatesMap.get(generation.propertyId);\n if (!candidatesByReadWriteType) {\n candidatesMap.set(\n generation.propertyId,\n (candidatesByReadWriteType = new Map())\n );\n }\n let candidatesByDisplayLevel = candidatesByReadWriteType.get(\n generation.rwType\n );\n if (!candidatesByDisplayLevel) {\n candidatesByReadWriteType.set(\n generation.rwType,\n (candidatesByDisplayLevel = new Map())\n );\n }\n candidatesByDisplayLevel.set(generation.displayLevel ?? 0, generation);\n\n mocksMap.set(generation.propertyId, generation.mockData);\n }\n\n const tableChildren: BrickConf[] = [\n {\n brick: \"div\",\n properties: {\n textContent: \"属性\",\n className: \"head-cell\",\n },\n },\n {\n brick: \"div\",\n properties: {\n textContent: \"类别\",\n className: \"head-cell\",\n },\n },\n {\n brick: \"div\",\n properties: {\n textContent: \"展示等级\",\n className: \"head-cell last-col-cell\",\n style: {\n gridColumn: \"span 5\",\n textAlign: \"center\",\n },\n },\n },\n ];\n const table: BrickConf = {\n brick: \"visual-builder.pre-generated-table-view\",\n properties: {\n style: {\n gridTemplateColumns: \"120px 80px repeat(5, 1fr)\",\n },\n },\n children: tableChildren,\n };\n\n let propertyIndex = 0;\n for (const [propertyId, candidatesByReadWriteType] of candidatesMap) {\n let readWriteTypeIndex = 0;\n const isLastProperty = propertyIndex === candidatesMap.size - 1;\n for (const [rwType, candidates] of candidatesByReadWriteType) {\n if (readWriteTypeIndex === 0) {\n let propertyName: string | undefined;\n\n for (const candidate of candidates.values()) {\n propertyName = candidate.propertyName ?? propertyId;\n break;\n }\n\n tableChildren.push({\n brick: \"div\",\n properties: {\n textContent: propertyName,\n className: isLastProperty ? \"last-row-cell\" : undefined,\n style: {\n gridRow: `span ${candidatesByReadWriteType.size}`,\n },\n },\n });\n }\n\n const isLastRow =\n isLastProperty &&\n readWriteTypeIndex === candidatesByReadWriteType.size - 1;\n\n tableChildren.push({\n brick: \"div\",\n properties: {\n textContent: rwType,\n className: isLastRow ? \"last-row-cell\" : undefined,\n },\n });\n\n for (let i = -2; i < 3; i++) {\n const candidate = candidates.get(i);\n\n let dataSource: unknown;\n if (candidate?.mockData?.length) {\n const mockValue =\n candidate.mockData[\n Math.floor(Math.random() * candidate.mockData.length)\n ];\n switch (candidate.category ?? category) {\n case \"detail-item\":\n dataSource = {\n [propertyId]: mockValue,\n };\n break;\n case \"table-column\":\n dataSource = {\n cellData: mockValue,\n };\n }\n }\n\n const classNames: string[] = [];\n\n if (i === 2) {\n classNames.push(\"last-col-cell\");\n }\n if (isLastRow) {\n classNames.push(\"last-row-cell\");\n }\n\n tableChildren.push({\n brick: \"div\",\n ...(classNames\n ? {\n properties: {\n className: classNames.join(\" \"),\n },\n }\n : null),\n children: [\n {\n brick: \"visual-builder.pre-generated-container\",\n properties: {\n useBrick: candidate?.storyboard ?? [],\n dataSource,\n },\n errorBoundary: true,\n },\n ],\n });\n }\n\n readWriteTypeIndex++;\n }\n\n propertyIndex++;\n }\n\n // const tbodyChildren: BrickConf[] = [];\n // const table: BrickConf = {\n // brick: \"table\",\n // properties: {\n // className: \"preview-table\",\n // },\n // children: [\n // {\n // brick: \"thead\",\n // children: [\n // {\n // brick: \"tr\",\n // slot: \"head\",\n // children: [\n // {\n // brick: \"th\",\n // properties: {\n // textContent: \"属性\",\n // },\n // },\n // {\n // brick: \"th\",\n // properties: {\n // textContent: \"类别\",\n // },\n // },\n // {\n // brick: \"th\",\n // properties: {\n // textContent: \"展示等级\",\n // colSpan: 5,\n // style: {\n // textAlign: \"center\",\n // }\n // },\n // },\n // ],\n // }\n // ]\n // },\n // {\n // brick: \"tbody\",\n // children: tbodyChildren,\n // },\n // ],\n // };\n\n // for (const [propertyId, candidatesByReadWriteType] of candidatesMap) {\n // let readWriteTypeIndex = 0;\n // for (const [rwType, candidates] of candidatesByReadWriteType) {\n\n // const row: BrickConf[] = []\n\n // if (readWriteTypeIndex === 0) {\n // let propertyName: string | undefined;\n\n // for (const candidate of candidates.values()) {\n // propertyName = candidate.propertyName ?? propertyId;\n // break;\n // }\n\n // row.push({\n // brick: \"td\",\n // properties: {\n // textContent: propertyName,\n // rowSpan: candidatesByReadWriteType.size,\n // },\n // })\n // }\n\n // row.push({\n // brick: \"td\",\n // properties: {\n // textContent: rwType,\n // },\n // });\n\n // for (let i = -2; i < 3; i++) {\n // const candidate = candidates.get(i);\n\n // let dataSource: unknown;\n // if (candidate?.mockData?.length) {\n // const mockValue = candidate.mockData[\n // Math.floor(Math.random() * candidate.mockData.length)\n // ];\n // switch (candidate.category ?? category) {\n // case \"detail-item\":\n // dataSource = {\n // [propertyId]: mockValue\n // };\n // break;\n // case \"table-column\":\n // dataSource = {\n // cellData: mockValue\n // };\n // }\n // }\n\n // row.push({\n // brick: \"td\",\n // children: [\n // {\n // brick: \"visual-builder.pre-generated-container\",\n // properties: {\n // useBrick: candidate?.storyboard ?? [],\n // dataSource,\n // }\n // }\n // ],\n // });\n // }\n // tbodyChildren.push({\n // brick: \"tr\",\n // children: row,\n // });\n\n // readWriteTypeIndex++;\n // }\n // }\n\n render(\n \"yaml\",\n {\n yaml: safeDump(table, {\n schema: JSON_SCHEMA,\n skipInvalid: true,\n noRefs: true,\n noCompatMode: true,\n }),\n },\n {\n app,\n theme,\n uiVersion,\n styleText: previewStyleText,\n }\n );\n }, [app, injected, generations, theme, uiVersion, category]);\n\n // useEffect(() => {\n // if (!injected) {\n // return;\n // }\n // const render = (iframeRef.current?.contentWindow as PreviewWindow)\n // ?._preview_only_render;\n // if (!render) {\n // return;\n // }\n\n // const candidatesMap = new Map<string, AttributeCandidate[]>();\n // const mocksMap = new Map<string, unknown[]>();\n // let maxCandidatesCount = 0;\n\n // for (const generation of generations) {\n // candidatesMap.set(generation.id, generation.candidates);\n // mocksMap.set(generation.id, generation.mocks);\n // maxCandidatesCount = Math.max(\n // maxCandidatesCount,\n // generation.candidates.length\n // );\n // }\n\n // const storyboards: BrickConf[] = [];\n\n // for (let i = 0; i < maxCandidatesCount; i++) {\n // const brick: BrickConf = {\n // brick: \"eo-descriptions\",\n // properties: {\n // column: 1,\n // dataSource: Object.fromEntries(\n // Array.from(mocksMap.entries()).map(([id, mocks]) => [\n // id,\n // mocks[\n // i < mocks.length ? i : Math.floor(Math.random() * mocks.length)\n // ],\n // ])\n // ),\n // list: generations.map((generation) => ({\n // label: generation.name,\n // useChildren: `[${generation.id}]`,\n // })),\n // },\n // children: Array.from(candidatesMap.entries()).flatMap(\n // ([id, candidates]) => {\n // const children = ([] as BrickConf[]).concat(\n // candidates[\n // i < candidates.length\n // ? i\n // : Math.floor(Math.random() * candidates.length)\n // ].storyboard\n // );\n // return children.map((child) => ({\n // ...child,\n // slot: `[${id}]`,\n // }));\n // }\n // ),\n // };\n // storyboards.push(brick);\n // }\n\n // render(\n // \"yaml\",\n // {\n // yaml: safeDump(storyboards, {\n // schema: JSON_SCHEMA,\n // skipInvalid: true,\n // noRefs: true,\n // noCompatMode: true,\n // }),\n // },\n // {\n // app,\n // theme,\n // uiVersion,\n // styleText: `#preview-root { display: flex; flex-wrap: wrap; gap: 2em; }`,\n // }\n // );\n // }, [app, injected, generations, theme, uiVersion]);\n\n return (\n <div className={classNames(\"container\")}>\n <iframe\n ref={iframeRef}\n src={`${getBasePath()}_brick-preview-v3_/preview/`}\n loading=\"lazy\"\n onLoad={handleIframeLoad}\n />\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 * 构件 `visual-builder.pre-generated-table-view`\n *\n * @internal\n */\nexport\n@defineElement(\"visual-builder.pre-generated-table-view\", {\n styleTexts: [styleText],\n})\nclass PreGeneratedTableView extends ReactNextElement {\n render() {\n return <PreGeneratedTableViewComponent />;\n }\n}\n\nexport function PreGeneratedTableViewComponent() {\n return <slot />;\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport type { UseBrickConf } from \"@next-core/types\";\nimport \"@next-core/theme\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property } = createDecorators();\n\n/**\n * 构件 `visual-builder.pre-generated-container`\n *\n * @internal\n */\nexport\n@defineElement(\"visual-builder.pre-generated-container\", {\n styleTexts: [styleText],\n})\nclass PreGeneratedContainer extends ReactNextElement {\n @property({ attribute: false })\n accessor useBrick: UseBrickConf | undefined;\n\n @property({ attribute: false })\n accessor dataSource: unknown | undefined;\n\n render() {\n return (\n <PreGeneratedContainerComponent\n useBrick={this.useBrick}\n dataSource={this.dataSource}\n />\n );\n }\n}\n\nexport interface PreGeneratedContainerProps {\n useBrick?: UseBrickConf;\n dataSource?: unknown;\n}\n\nexport function PreGeneratedContainerComponent({\n useBrick,\n dataSource,\n}: PreGeneratedContainerProps) {\n return (\n <ReactUseMultipleBricks\n useBrick={useBrick}\n data={dataSource}\n errorBoundary\n />\n );\n}\n","import { __secret_internals, customEditors } from \"@next-core/runtime\";\nimport { createProviderClass } from \"@next-core/utils/general\";\n\nexport async function checkEditorByName(name: string): Promise<boolean> {\n try {\n await __secret_internals.loadEditors([name]);\n } catch {\n return false;\n }\n const editor = customEditors.get(name);\n\n return !!editor;\n}\n\ncustomElements.define(\n \"visual-builder.check-editor-by-name\",\n createProviderClass(checkEditorByName)\n);\n","import { createProviderClass } from \"@next-core/utils/general\";\nimport { collectMemberUsage, MemberUsage } from \"@next-core/utils/storyboard\";\nimport { ContextConf } from \"@next-core/types\";\n\nexport function getDataDependency(\n contextConfs: ContextConf[],\n keyword: string\n): Map<ContextConf, MemberUsage> {\n const depsMap = new Map<ContextConf, MemberUsage>();\n\n for (const contextConf of contextConfs) {\n const stats = collectMemberUsage(\n [contextConf.if, contextConf.value, contextConf.resolve],\n keyword\n );\n depsMap.set(contextConf, stats);\n }\n\n return depsMap;\n}\n\ncustomElements.define(\n \"visual-builder.get-data-deps\",\n createProviderClass(getDataDependency)\n);\n","import { ContextConf } from \"@next-core/types\";\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport { MenuIcon } from \"@next-shared/general/types\";\nimport { getDataDependency } from \"./get-data-dependency\";\nimport { cloneDeep } from \"lodash\";\n\ninterface DataItem extends ContextConf {\n $key?: string;\n path?: string;\n}\n\ninterface NodeItem {\n name: string;\n key: string;\n path?: string;\n icon?: MenuIcon;\n data?: DataItem;\n unreachable?: boolean;\n children?: NodeItem[];\n}\n\ninterface DepsItem {\n deps: string[];\n node: NodeItem;\n}\n\ninterface DepsOptions {\n nodeList?: NodeItem[];\n dependencyList: DepsItem[];\n parents?: NodeItem[];\n result?: NodeItem[];\n}\n\nfunction processNodeList(nodeList: NodeItem[], options: DepsOptions) {\n nodeList.forEach((node) => {\n processNodeItem(node, { ...options, nodeList });\n });\n}\n\nfunction processNodeItem(nodeItem: NodeItem, options: DepsOptions) {\n const { dependencyList, nodeList, parents, result } = options;\n\n const data = cloneDeep(nodeItem);\n result.push(data);\n\n const find = dependencyList.find((dep) => dep.node.key === data.key);\n\n if (find.deps?.length && !parents.some((item) => item.key === data.key)) {\n const children = (data.children = []) as NodeItem[];\n processDataDeps(find, {\n dependencyList,\n nodeList,\n parents: [...parents, data],\n result: children,\n });\n }\n}\n\nfunction processDataDeps(depsData: DepsItem, options: DepsOptions) {\n const collects = [] as NodeItem[];\n\n depsData.deps.forEach((name) => {\n // 有可能存在同名的两个数据,一起展示\n const matches = options.nodeList.filter((item) => item.name === name);\n collects.push(...matches);\n });\n\n processNodeList(collects, options);\n}\n\nexport function getDependencyTree(\n nodeDataList: NodeItem[],\n options: {\n dataType: string;\n }\n): NodeItem[] {\n const nodeList = nodeDataList;\n const dependencyMap = getDataDependency(\n nodeList.map((item) => item.data),\n options.dataType\n );\n\n const dependencyList = [] as DepsItem[];\n for (const [curData, value] of dependencyMap) {\n dependencyList.push({\n deps: Array.from(value.usedProperties),\n node: nodeList.find((node) => node.data === curData),\n });\n }\n\n const result = [] as NodeItem[];\n\n processNodeList(nodeList, {\n result,\n dependencyList,\n parents: [],\n });\n\n return result;\n}\n\ncustomElements.define(\n \"visual-builder.get-dependency-tree\",\n createProviderClass(getDependencyTree)\n);\n","import { createProviderClass } from \"@next-core/utils/general\";\nimport { defaults } from \"lodash\";\nimport { pathToRegexp, Key } from \"path-to-regexp\";\n\ninterface Option {\n end?: boolean;\n strict?: boolean;\n sensitive?: boolean;\n}\n\nexport async function parsePath(path: string, options?: Option) {\n const defaultParams = { end: false, strict: false, sensitive: true };\n\n const keys: Key[] = [];\n const regexp = pathToRegexp(path, keys, defaults(options, defaultParams));\n\n return {\n regexp,\n keys,\n };\n}\n\ncustomElements.define(\n \"visual-builder.parse-path\",\n createProviderClass(parsePath)\n);\n","import React, {\n useEffect,\n useImperativeHandle,\n useMemo,\n createRef,\n useState,\n useCallback,\n useRef,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport {\n createForm,\n Form,\n onFieldValueChange,\n onFieldInit,\n onFieldInitialValueChange,\n onFormInitialValuesChange,\n onFormValidateSuccess,\n onFormValuesChange,\n createEffectHook,\n} from \"@formily/core\";\nimport { createSchemaField, FormProvider } from \"@formily/react\";\nimport { ConfigProvider, theme } from \"antd\";\nimport { StyleProvider, createCache } from \"@ant-design/cssinjs\";\nimport {\n FormCollapse,\n FormItem,\n FormLayout,\n Input,\n NumberPicker,\n Radio,\n Select,\n Switch,\n} from \"@formily/antd-v5\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport {\n EditorComponentProps,\n DataItem,\n SelectOptions,\n} from \"@next-shared/property-editor\";\nimport { CategoryTitle } from \"./components/CategoryTitle\";\nimport { AdvancedFormItem } from \"./components/AdvancedFormItem\";\nimport { CodeEditorComponent } from \"./components/common/CodeEditorComponent\";\nimport { IconSelectComponent } from \"./components/common/IconSelectComponent\";\nimport { ColorPickerComponent } from \"./components/common/ColorPickerComponent\";\nimport { InputWithUrlComponent } from \"./components/common/InputWithUrlComponent\";\nimport { TextAlignRadioComponent } from \"./components/common/TextAlignRadioComponent\";\nimport { InputWithUnitComponent } from \"./components/common/InputWithUnitComponent\";\nimport { UseChildrenSelectComponent } from \"./components/common/UseChildrenSelectComponent\";\nimport { BoxSizeComponent } from \"./components/common/BoxSizeComponent\";\nimport { CustomOptionsComponent } from \"./components/common/CustomOptionsComponent\";\nimport { CustomTab } from \"./components/common/CustomTab\";\nimport { __secret_internals, customEditors } from \"@next-core/runtime\";\nimport {\n ADVANCED_FORM_KEY,\n DataNode,\n formilySchemaFormatter,\n} from \"./utils/formilySchemaFormatter\";\nimport \"./style.css\";\nimport _, { isEmpty, omit } from \"lodash\";\nimport { BrickPackage } from \"@next-core/types\";\nimport { NORMAL_FORM_KEY } from \"./utils/formilySchemaFormatter\";\n\nconst { defineElement, property, method, event } = createDecorators();\n\nconst PropertyEditorComponent = React.forwardRef(LegacyPropertyEditor);\n\nexport const BEFORE_SUBMIT_KEY = \"before_submit\";\nexport const ADVANCED_CHANGE_KEY = \"on_advanced_change\";\n\nexport const SchemaField = createSchemaField({\n components: {\n FormLayout,\n Input,\n FormItem: AdvancedFormItem,\n FormItemWithoutAdvanced: FormItem,\n FormCollapse,\n NumberPicker,\n Radio,\n Select,\n Switch,\n CategoryTitle,\n CodeEditor: CodeEditorComponent,\n IconSelect: IconSelectComponent,\n ColorPicker: ColorPickerComponent,\n UseChildrenSelect: UseChildrenSelectComponent,\n InputWithUrl: InputWithUrlComponent,\n InputWithUnit: InputWithUnitComponent,\n TextAlignRadio: TextAlignRadioComponent,\n CustomOptions: CustomOptionsComponent,\n BoxSize: BoxSizeComponent,\n CustomTab,\n },\n});\n\nexport type { DataNode };\n\nlet cacheCustomEditor: Function;\n\n/**\n * 构件 `visual-builder.property-editor`\n */\nexport\n@defineElement(\"visual-builder.property-editor\", {\n // styleTexts: [styleText],\n // 因为有使用 vs.code-editor,需要把 shadowOptions 设置成 false\n shadowOptions: false,\n dependencies: [\"eo-icon-select\", \"vs.code-editor\", \"eo-tooltip\"],\n})\nclass PropertyEditor extends ReactNextElement {\n #formRef = createRef<any>();\n\n /** 构件名称 */\n @property()\n accessor editorName: string | undefined;\n\n /** 值 */\n @property({\n attribute: false,\n })\n accessor values: any | undefined;\n\n /** 高级模式 */\n @property({\n type: Boolean,\n })\n accessor advancedMode: boolean | undefined;\n\n @property({\n attribute: false,\n })\n accessor dataList: DataItem[];\n\n @property({\n attribute: false,\n })\n accessor editorPackages: BrickPackage[];\n\n @property({\n attribute: false,\n })\n accessor links: any;\n\n @property({\n attribute: false,\n })\n accessor extraLibs: SelectOptions;\n\n @property({\n attribute: false,\n })\n accessor childSlots: SelectOptions;\n\n /**\n * 表单验证成功时触发事件\n */\n @event({ type: \"validate.success\" }) accessor #successEvent!: EventEmitter<\n Record<string, unknown>\n >;\n /**\n * 表单验证报错时触发事件\n */\n @event({ type: \"validate.error\" }) accessor #errorEvent!: EventEmitter<any[]>;\n\n @method()\n validate() {\n const form: Form = this.#formRef.current?.getFormInstance();\n this.#submitValue = null;\n const getRealValue = () => {\n return this.advancedMode\n ? form.values[ADVANCED_FORM_KEY]\n : _.omit(form.values, [ADVANCED_FORM_KEY]);\n };\n\n form\n .validate()\n .then(() => {\n form.notify(BEFORE_SUBMIT_KEY, getRealValue());\n // transformStyle(this.#submitValue || getRealValue(), this.advancedMode);\n this.#successEvent.emit(this.#submitValue ?? getRealValue());\n })\n .catch((err: any[]) => {\n this.#errorEvent.emit(err);\n });\n }\n\n @event({ type: \"values.change\" })\n accessor #valuesChangeEvent!: EventEmitter<any>;\n\n #handleValuesChange = (value: any) => {\n this.#valuesChangeEvent.emit(value);\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClick!: EventEmitter<string>;\n\n #handleTokenClick = (value: string): void => {\n this.#tokenClick.emit(value);\n };\n\n #submitValue: any;\n\n #onSubmitEffect = createEffectHook(\n BEFORE_SUBMIT_KEY,\n (values, form) => (listener) => {\n this.#submitValue = listener(values, form);\n }\n );\n\n @event({ type: \"trigger.action\" })\n accessor #triggerActionEvent!: EventEmitter<string>;\n\n #handleTriggerAction = (action: string) => {\n this.#triggerActionEvent.emit(action);\n };\n\n #filterData = (data?: Record<string, any> | string) => {\n const transformData =\n typeof data === \"string\" && data === \"undefined\"\n ? undefined\n : omit(data as any, [\"dataset.testid\"]);\n const shouldFilterFields = [];\n isEmpty(transformData?.dataset) && shouldFilterFields.push(\"dataset\");\n isEmpty(transformData?.style) && shouldFilterFields.push(\"style\");\n\n const filterData = omit(transformData, shouldFilterFields);\n if (isEmpty(filterData)) {\n return undefined;\n }\n return filterData;\n };\n\n render() {\n return (\n <PropertyEditorComponent\n ref={this.#formRef}\n editorName={this.editorName}\n values={this.#filterData(this.values)}\n advancedMode={this.advancedMode}\n dataList={this.dataList}\n extraLibs={this.extraLibs}\n links={this.links}\n childSlots={this.childSlots}\n editorPackages={this.editorPackages}\n handleValuesChange={this.#handleValuesChange}\n handleTokenClick={this.#handleTokenClick}\n handleTriggerAction={this.#handleTriggerAction}\n onSubmitEffect={this.#onSubmitEffect}\n />\n );\n }\n}\n\nexport interface PropertyEditorProps {\n values: any;\n editorName: string;\n advancedMode?: boolean;\n childSlots?: SelectOptions;\n extraLibs: SelectOptions;\n dataList: DataItem[];\n links: any;\n editorPackages: BrickPackage[];\n handleValuesChange: (value: any) => void;\n handleTokenClick: (token: string) => void;\n handleTriggerAction: (action: string) => void;\n onSubmitEffect: (listener: (value: any, form: Form) => any) => void;\n}\n\nexport function LegacyPropertyEditor(\n {\n advancedMode,\n values,\n editorName,\n dataList,\n editorPackages,\n extraLibs,\n childSlots,\n links,\n handleValuesChange,\n handleTokenClick,\n handleTriggerAction,\n onSubmitEffect,\n }: PropertyEditorProps,\n ref: any\n) {\n const [Editor, setEditor] = useState<\n (props: EditorComponentProps<typeof SchemaField>) => React.ReactElement\n >(cacheCustomEditor as any);\n const currentTheme = useCurrentTheme();\n const cache = useMemo(() => createCache(), []);\n // should update form instance when Editor change\n const form = useMemo(() => createForm(), [Editor]);\n const transformValueRef = useRef<any>(null);\n const advancedChangeRef = useRef<boolean>(false);\n\n const onAdvancedChangeEffect = useMemo(\n () =>\n createEffectHook(\n ADVANCED_CHANGE_KEY,\n (advancedMode, form) => (listener) => {\n const values =\n !advancedMode && form.values[ADVANCED_FORM_KEY]\n ? form.values[ADVANCED_FORM_KEY]\n : form.values;\n transformValueRef.current = listener(advancedMode, form, values);\n }\n ),\n []\n );\n\n useImperativeHandle(ref, () => ({\n getFormInstance: () => form,\n }));\n\n const load = useCallback(async () => {\n // TODO: cache editors\n if (customEditors.get(editorName)) {\n setEditor(() => customEditors.get(editorName)?.(React) as any);\n return;\n }\n await __secret_internals.loadEditors([editorName], editorPackages);\n cacheCustomEditor = () => customEditors.get(editorName)?.(React);\n setEditor(cacheCustomEditor as any);\n }, [editorName, editorPackages]);\n\n const defaultTransform = useCallback((values: any, advancedMode: boolean) => {\n if (advancedMode) {\n const filterValue = _.omit(values, [ADVANCED_FORM_KEY]);\n return {\n [ADVANCED_FORM_KEY]: _.isEmpty(filterValue) ? \"\" : filterValue,\n };\n }\n return values[ADVANCED_FORM_KEY] ?? values;\n }, []);\n\n useEffect(() => {\n load();\n }, [load]);\n\n useEffect(() => {\n if (Editor) {\n form.setInitialValues(values, \"overwrite\");\n }\n }, [Editor, form]);\n\n useEffect(() => {\n advancedChangeRef.current = true;\n transformValueRef.current = null;\n\n form.notify(ADVANCED_CHANGE_KEY, advancedMode);\n\n form.query(NORMAL_FORM_KEY).take((field) => {\n field.display = !advancedMode ? \"visible\" : \"hidden\";\n });\n form.query(ADVANCED_FORM_KEY).take((field) => {\n field.display = advancedMode ? \"visible\" : \"hidden\";\n });\n\n const formValues = form.getState().values;\n const formData = defaultTransform(\n transformValueRef.current ?? formValues,\n advancedMode\n );\n\n form.setValues(formData, \"overwrite\");\n advancedChangeRef.current = false;\n }, [advancedMode, form, defaultTransform, Editor]);\n\n useEffect(() => {\n form.addEffects(\"onValueChange\", () => {\n onFormValuesChange((form) => {\n if (advancedChangeRef.current) return;\n handleValuesChange(form.values);\n });\n });\n }, [form, handleValuesChange]);\n\n if (!Editor) return null;\n\n return (\n <div className=\"property-form-wrapper\">\n <ConfigProvider\n prefixCls=\"antdV5\"\n theme={{\n algorithm:\n currentTheme === \"dark-v2\"\n ? theme.darkAlgorithm\n : theme.defaultAlgorithm,\n components: {\n // Form: {\n // not work\n // itemMarginBottom: 10,\n // }\n InputNumber: {\n handleVisible: true,\n },\n },\n }}\n getPopupContainer={(trigger) => trigger!}\n >\n <StyleProvider cache={cache}>\n <FormProvider form={form}>\n <Editor\n advancedMode={advancedMode}\n SchemaFieldComponent={SchemaField}\n form={form}\n scope={{\n dataList,\n advancedMode,\n childSlots,\n extraLibs,\n links,\n tokenClick: (event: CustomEvent<string>) =>\n handleTokenClick(event.detail),\n triggerAction: handleTriggerAction,\n }}\n effects={{\n onFieldInit,\n onFieldValueChange,\n onFieldInitialValueChange,\n onFormInitialValuesChange,\n onFormValidateSuccess,\n onFormValuesChange,\n onSubmit: onSubmitEffect,\n onAdvancedChange: onAdvancedChangeEffect,\n }}\n formilySchemaFormatter={formilySchemaFormatter}\n />\n </FormProvider>\n </StyleProvider>\n </ConfigProvider>\n </div>\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_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../shared/markdown/dist/esm/prism-tomorrow.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.message{display:flex;gap:8px}.main{flex:1;min-width:0}.label{font-weight:bold;line-height:28px}.message:not(:last-child){margin-bottom:2em}.invisible-dots{opacity:0}.failed .content{color:var(--color-error)}.command:not(:first-child){margin-top:1em}.command:not(:last-child){margin-bottom:1em}pre{white-space:pre-wrap;background-color:var(--palette-gray-3);border-radius:6px;padding:1em}.markdown > :first-child{margin-top:0}.markdown > :last-child{margin-bottom:0}.avatar{align-self:flex-start;display:flex;align-items:center;justify-content:center}.texting::after{content:\" \";animation:texting 2s infinite;white-space:pre}@keyframes texting{0%{content:\" \"}25%{content:\". \"}50%{content:\".. \"}75%{content:\"...\"}100%{content:\" \"}}pre[class*=\"language-\"]{overflow:visible}pre[class*=\"language-\"],\ncode[class*=\"language-\"]{white-space:pre-wrap}eo-avatar.role-assistant::part(avatar-icon){background-color:var(--palette-blue-5)}.content{word-wrap:break-word}.plain{white-space:pre-wrap}`, \"\"]);\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container,\niframe{width:100%;height:100%;border-radius:4px}.container{position:relative;box-shadow:rgba(204,204,204,0.2) 0px 0px 0px 1px}iframe{display:block;border:none;margin:0;padding:0;transform-origin:0% 0%;-webkit-user-select:none;user-select:none}.outline{position:absolute;border-style:solid;border-width:2px;border-radius:0 4px 4px;pointer-events:none}.label{position:absolute;left:-2px;top:-20px;height:18px;line-height:16px;padding:2px 5px 0;font-size:12px;border-radius:4px 4px 0 0;white-space:nowrap}.outline.hover{border-color:rgba(var(--palette-blue-6-channel),0.3)}.outline.hover .label{background:rgba(var(--palette-blue-6-channel),0.3)}.outline.active{border-color:var(--palette-blue-6)}.outline.active .label{background:var(--palette-blue-6)}.container:not(.inspecting) .outline{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\";\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:inline-block}:host([hidden]){display:none}.contract-wrapper{display:flex;gap:4px}.contract-selector{flex:1}.version-selector{width:100px}.options-tips{padding:0px 10px;font-weight:400;color:#999;white-space:nowrap;font-style:italic}`, \"\"]);\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\";\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:inline-block}:host([hidden]){display:none}.mask,\n.container{display:none;position:fixed;z-index:1}.mask{top:0;bottom:0;left:0;right:0;z-index:1}:host([active]) .mask,\n:host([active]) .container{display:block}.container{background:var(--antd-dropdown-menu-bg);border-radius:var(--medius-border-radius);padding:5px}.container .title{padding:5px 12px;cursor:default;color:var(--color-secondary-text);border-bottom:1px solid var(--color-text-divider-line)}.container eo-menu{border:none;padding:5px 0}.container eo-menu eo-menu-item:not([disabled]):hover::part(menu-item){background-color:var(--left-sidebar-item-hover-bg)}.container eo-menu eo-menu-item[disabled]::part(menu-item){cursor:not-allowed}.container eo-menu eo-menu-item::part(menu-item){cursor:grab;padding:5px 12px;border-radius:var(--medius-border-radius);min-width:max-content}.container eo-menu eo-menu-item.dragging{opacity:0.5}.container eo-menu eo-tooltip{display:block}`, \"\"]);\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--local-node-outline-style:solid;display:block}:host([hidden]){display:none}:host([not-synced]){--local-node-outline-style:dashed}*{box-sizing:border-box}.node{width:168px;max-width:none;height:130px;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.node.board{height:70px;max-width:168px;width:-moz-fit-content;width:fit-content;padding-bottom:4px}.label,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:18px;font-size:var(--sub-title-font-size-small);color:var(--color-header-text);font-weight:var(--font-weight-500);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;user-select:text}.label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.node.editing-label .label{height:0}.node:not(.editing-label) .label-input{display:none}.add-button,\n.icon-container,\n.thumbnail-container,\n.thumbnail-placeholder{display:flex;align-items:center;justify-content:center}.thumbnail-container{height:98px;outline:1px var(--local-node-outline-style) var(--palette-gray-4);opacity:1;border:4px solid transparent;border-radius:4px;width:100%;position:relative;flex-direction:column}.thumbnail-placeholder{color:var(--palette-gray-5);font-size:36px;flex:1}.icon-container{font-size:20px;background-color:var(--palette-teal-6);color:var(--palette-gray-4);width:36px;height:36px;border-radius:50%;outline-offset:4px}:host([active]) .thumbnail-container,\n:host([active]) .icon-container{outline:2px var(--local-node-outline-style) var(--palette-blue-3)}:host(:not([active])) .node:hover .thumbnail-container,\n:host(:not([active])) .node:hover .icon-container{outline:1px var(--local-node-outline-style) var(--palette-blue-3)}.add-button{position:absolute;bottom:-26px;left:calc(50% - 12px);width:24px;height:24px;background:var(--palette-gray-3);color:var(--palette-gray-6);border-radius:50%;cursor:pointer}:host([not-synced]) .add-button,\n:host([disable-child-append]) .add-button,\n:host(:not([active])) .add-button{display:none}.add-button:hover{background:var(--palette-blue-5);color:var(--palette-gray-2)}.external{position:absolute;top:4px;left:4px;padding:0 10px;display:flex;align-items:center;gap:6px;background:var(--palette-purple-4);font-size:12px;line-height:20px;height:22px;cursor:pointer;color:var(--palette-gray-1);border-radius:9999px;right:4px;max-width:-moz-fit-content;max-width:fit-content}.external-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.external:hover{background:var(--palette-purple-5)}.sub-nodes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;width:100%}.sub-node{background-color:var(--palette-gray-2);border-radius:4px;padding:6px;display:flex;flex-direction:column;justify-content:space-between;height:32px}.sub-node-skeleton-title{width:18px;height:4px;border-radius:2px;align-self:flex-start;background-color:var(--palette-gray-4)}.sub-node-skeleton-content{width:100%;height:4px;border-radius:2px;background-color:var(--palette-gray-4)}.sub-node-skeleton-button{width:18px;height:4px;border-radius:2px;align-self:flex-end;background-color:var(--palette-blue-3)}.sub-node:hover{background-color:var(--palette-gray-3)}.sub-node:hover .sub-node-skeleton-title,\n.sub-node:hover .sub-node-skeleton-content{background-color:var(--palette-gray-5)}.sub-node:hover .sub-node-skeleton-button{background-color:var(--palette-blue-4)}`, \"\"]);\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\";\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:inline-block}:host([hidden]){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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `#preview-root{padding:0;height:100vh;overflow-y:auto;border:1px solid var(--theme-gray-border-color);border-radius:4px}.head-cell{position:sticky;top:0;background:var(--body-background);z-index:1;font-weight:bold}.last-col-cell{border-right-color:transparent}.last-row-cell{border-bottom-color:transparent}`, \"\"]);\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block}:host([hidden]){display:none}*{box-sizing:border-box}.container,\niframe{width:100%;height:100%;border-radius:4px}.container{position:relative}iframe{display:block;border:none;margin:0;padding:0;transform-origin:0% 0%;-webkit-user-select:none;user-select: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\";\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:grid;width:100%}:host([hidden]){display:none}::slotted(*){padding:4px 8px;border:1px solid var(--theme-gray-border-color);border-left-color:transparent;border-top-color:transparent;min-width:0;word-break:break-word}`, \"\"]);\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.custom-scrollbar-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) rgba(255,255,255,0.03)}.custom-scrollbar-container::-webkit-scrollbar{width:8px;height:8px;background-color:transparent;position:absolute}.custom-scrollbar-container::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0);border-radius:4px}.custom-scrollbar-container:hover::-webkit-scrollbar-track{background-color:rgba(255,255,255,0.03)}.custom-scrollbar-container:hover::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.15)}`, \"\"]);\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.workBenchActionList{display:flex;flex-direction:column;width:min-content;height:100%;background-color:#4297ff}:host-context(html[data-theme=\"dark-v2\"]) .workBenchActionList,\n:host-context([data-override-theme=\"dark-v2\"]) .workBenchActionList{background-color:#323237}`, \"\"]);\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action::part(link){display:flex;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;color:rgba(255,255,255,0.4);position:relative;transition:none}.action.active::part(link)::before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:white}.action.active::part(link),\n.action::part(link):hover{color:white}`, \"\"]);\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\";\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:inline-block}:host([hidden]){display:none}eo-popover::part(popup){width:800px;max-width:60vw;padding:10px;background:var(--color-fill-bg-container-4);border-radius:var(--medius-border-radius);box-shadow:var(--feedback-container-shadow);z-index:1000}.history-title{font-size:var(--title-font-size);font-weight:var(--font-weight-500);color:var(--color-strong-text);margin-bottom:5px}.history-list{max-height:500px;overflow-y:auto}.item-container{padding:10px 0;display:flex;flex-direction:column;gap:5px}.empty{padding:5px 0 10px 0;font-size:14px;color:var(--text-color-secondary);text-align:center}.item-container:not(:last-of-type){border-bottom:1px solid var(--color-border-divider-line)}.item-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.title-left,\n.title-right{display:flex;align-items:center}.title-left{cursor:pointer;overflow:hidden;gap:5px}.topic{font-size:14px;color:var(--text-color-title);font-weight:var(--font-weight-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch{font-size:14px;color:var(--text-color-secondary)}.rollback{margin-right:5px;font-size:14px;color:var(--text-color-secondary);cursor:pointer}.rollback:hover{color:var(--color-brand)}.item-info{display:flex;align-items:center;gap:5px}.time,\n.operator{font-size:14px;color:var(--text-color-secondary)}.load-more-container{display:block;text-align:center}.end-container{display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;color:var(--color-brand)}.rollback-all{cursor:pointer}`, \"\"]);\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\";\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;--pane-color:#595959}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context([data-override-theme=\"dark-v2\"]){--pane-color:#ccc}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.pane{display:flex;flex-direction:column;color:var(--pane-color);height:100%}.pane-header{display:flex;align-items:center;cursor:pointer;border-top:1px solid transparent;position:relative}.pane-header:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#007fd4}:host(:not(:first-child)) .pane-header{border-top-color:rgba(204,204,204,0.2)}.pane-scroll-shadow{display:none;position:absolute;bottom:-3px;left:0;right:0;height:3px;box-shadow:#000000 0 6px 6px -6px inset;z-index:1}.scrolled .pane-scroll-shadow{display:block}.pane-title{display:flex;align-items:center;font-size:13px;line-height:24px;height:25px;min-width:0;flex:1}.title-icon{display:flex;justify-content:center;align-items:center;width:24px;padding-right:2px;line-height:1;flex-shrink:0}.title-label{text-transform:uppercase;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-body{flex-grow:1;min-height:0;display:none;overflow:hidden;overflow-y:auto;overflow-y:overlay}:host([active]) .pane-body{display:initial}:host(:not(:hover)) ::slotted([slot=\"actions\"]){display:none}.badge{background-color:rgb(77,77,77);color:rgb(255,255,255);border-radius:11px;height:18px;padding:3px 6px;line-height:13px;margin:0 3px;font-size:12px}`, \"\"]);\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\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--sidebar-background:#fff;--title-container-background:#fff;--title-container-color:#595959;display:block;outline-color:rgba(83,89,93,0.5);background-color:var(--sidebar-background);height:100%}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context([data-override-theme=\"dark-v2\"]){--sidebar-background:#181818;--title-container-background:#181818;--title-container-color:rgb(187,187,187);background-color:var(--sidebar-background)}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.sidebar{display:flex;flex-direction:column;height:100%}.title-container{display:flex;padding:0 8px 8px 8px;color:var(--title-container-color);background:var(--title-container-background)}.title-label{font-weight:300;line-height:44px;padding-left:12px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-container{flex-grow:1;min-height:0;display:flex;flex-direction:column}::slotted([slot=\"panes\"]){transition:flex 0.2s;min-height:25px}`, \"\"]);\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_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[0]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!../../../../node_modules/prismjs/themes/prism-tomorrow.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \".concat(i));\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \".concat(j));\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \".concat(j));\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \".concat(i));\n if (!pattern)\n throw new TypeError(\"Missing pattern at \".concat(i));\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\".concat(escapeString(options.delimiter || \"/#?\"), \"]+?\");\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \".concat(nextType, \" at \").concat(index, \", expected \").concat(type));\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\",\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\".concat(token.pattern, \")$\"), reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not repeat, but got an array\"));\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to not be empty\"));\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to match \\\"\").concat(token.pattern, \"\\\", but got \\\"\").concat(segment, \"\\\"\"));\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\".concat(token.name, \"\\\" to be \").concat(typeOfMessage));\n }\n return path;\n };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n var groupsRegex = /\\((?:\\?<(.*?)>)?(?!\\?)/g;\n var index = 0;\n var execResult = groupsRegex.exec(path.source);\n while (execResult) {\n keys.push({\n // Use parenthesized substring match if available, index otherwise\n name: execResult[1] || index++,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\",\n });\n execResult = groupsRegex.exec(path.source);\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\".concat(parts.join(\"|\"), \")\"), flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d, _e = options.delimiter, delimiter = _e === void 0 ? \"/#?\" : _e, _f = options.endsWith, endsWith = _f === void 0 ? \"\" : _f;\n var endsWithRe = \"[\".concat(escapeString(endsWith), \"]|$\");\n var delimiterRe = \"[\".concat(escapeString(delimiter), \"]\");\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\".concat(prefix, \"((?:\").concat(token.pattern, \")(?:\").concat(suffix).concat(prefix, \"(?:\").concat(token.pattern, \"))*)\").concat(suffix, \")\").concat(mod);\n }\n else {\n route += \"(?:\".concat(prefix, \"(\").concat(token.pattern, \")\").concat(suffix, \")\").concat(token.modifier);\n }\n }\n else {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n route += \"((?:\".concat(token.pattern, \")\").concat(token.modifier, \")\");\n }\n else {\n route += \"(\".concat(token.pattern, \")\").concat(token.modifier);\n }\n }\n }\n else {\n route += \"(?:\".concat(prefix).concat(suffix, \")\").concat(token.modifier);\n }\n }\n }\n if (end) {\n if (!strict)\n route += \"\".concat(delimiterRe, \"?\");\n route += !options.endsWith ? \"$\" : \"(?=\".concat(endsWithRe, \")\");\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiterRe.indexOf(endToken[endToken.length - 1]) > -1\n : endToken === undefined;\n if (!strict) {\n route += \"(?:\".concat(delimiterRe, \"(?=\").concat(endsWithRe, \"))?\");\n }\n if (!isEndDelimited) {\n route += \"(?=\".concat(delimiterRe, \"|\").concat(endsWithRe, \")\");\n }\n }\n return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map"],"names":["WrappedIcon","wrapBrick","defineElement","property","event","createDecorators","_WorkbenchPane","_A","WeakMap","_B","_C","_D","_WorkbenchPane_brand","WeakSet","_handleActiveChange","_E","_handleActiveFirstActivated","WorkbenchPane","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_titleLabel","_init_extra_titleLabel","_init_active","_init_extra_active","_init_badge","_init_extra_badge","_init_activeChangeEvent","_init_extra_activeChangeEvent","active","this","_classPrivateGetter","_get_activeChangeEvent","emit","_init_activeFirstActivatedEvent","_init_extra_activeFirstActivatedEvent","_get_activeFirstActivatedEvent","titleLabel","_classPrivateFieldGet","v","_classPrivateFieldSet","badge","render","React","WorkbenchPaneComponent","onActiveChange","onFirstActivated","_ref","internalActive","setInternalActive","useState","activatedOnce","setActivatedOnce","useEffect","handleClick","useCallback","previousActive","scrollBodyRef","useRef","scrolled","setScrolled","handleScroll","useMemo","fn","frame","cancel","cancelAnimationFrame","func","_len","length","params","Array","_key","requestAnimationFrame","current","scrollTop","debounceByAnimationFrame","className","classNames","tabIndex","onClick","lib","theme","icon","name","onScroll","ref","style","padding","color","_WorkbenchPane2","e","_set_activeChangeEvent","_set_activeFirstActivatedEvent","c","_initClass","_applyDecs","styleTexts","styleText","sharedStyle","type","Boolean","Number","o","_","has","_checkInRHS","_WorkbenchSidebar","_getPaneSlot","_reflowPanes","_onPanesSlotChange","WorkbenchSidebar","_this$shadowRoot","shadowRoot","querySelector","panes","call","assignedNodes","pane","flex","String","activeFlex","target","addEventListener","_defineProperty","panesSlots","WorkbenchSidebarComponent","refCallback","_WorkbenchSidebar2","WrapLink","_WorkbenchAction","WorkbenchAction","_init_icon","_init_extra_icon","_init_to","_init_extra_to","_init_href","_init_extra_href","_init_target","_init_extra_target","to","href","WorkbenchActionComponent","url","_WorkbenchAction2","attribute","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","matchedKeys","cursor","forEach","item","key","isGroup","groupAsSubMenu","isSubMenu","tmp","items","push","defaultExpanded","parsePath","escapedPath","replace","match","matchPath","path","exact","activeMatchSearch","getMatchOfSearch","isArray","activeIncludes","include","paths","isObject","_parsedPath","parsedPath","hasSearch","includes","activeExcludes","matchMenuItem","keyPath","split","i","slice","join","currentSearch","toSearch","URLSearchParams","value","entries","get","WrapperWorkbenchAction","_WorkbenchActionList","WorkbenchActionList","_init_appId","_init_extra_appId","_init_menu","_init_extra_menu","appId","menu","WorkbenchActionListComponent","currentAppId","_WorkbenchActionList2","historyMap","Map","_menu$menuItems","history","getHistory","activeIndex","setActiveIndex","location","setLocation","unlisten","listen","clear","map","index","isSimpleMenuItem","set","handleLinkClick","filter","defaultGetCollapsedId","node","_WorkbenchTreeElement","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_WorkbenchTreeElement_brand","_handleActionClick","_T","_nodeClickFactory","_U","_handleNodeDrop","_V","_contextMenuFactory","_W","_handleNodeToggle","WorkbenchTreeElement","_init_nodes","_init_extra_nodes","_init_actions","_init_extra_actions","_init_actionsHidden","_init_extra_actionsHidden","_init_placeholder","_init_extra_placeholder","_init_isTransformName","_init_extra_isTransformName","_init_searchPlaceholder","_init_extra_searchPlaceholder","_init_noSearch","_init_extra_noSearch","_init_activeKey","_init_extra_activeKey","_init_showMatchedNodeOnly","_init_extra_showMatchedNodeOnly","_init_matchNodeDataFields","_init_extra_matchNodeDataFields","_init_fixedActionsFor","_init_extra_fixedActionsFor","_init_collapsible","_init_extra_collapsible","_init_collapsedNodes","_init_extra_collapsedNodes","_init_allowDrag","_init_extra_allowDrag","_init_allowDragToRoot","_init_extra_allowDragToRoot","_init_allowDragToInside","_init_extra_allowDragToInside","_init_nodeKey","_init_extra_nodeKey","_init_skipNotify","_init_extra_skipNotify","_init_actionClickEvent","_init_extra_actionClickEvent","detail","_get_actionClickEvent","_init_nodeClickEvent","_init_extra_nodeClickEvent","_get_nodeClickEvent","data","_init_nodeDropEvent","_init_extra_nodeDropEvent","_get_nodeDropEvent","_init_nodeContextMenuEvent","_init_extra_nodeContextMenuEvent","preventDefault","_get_nodeContextMenuEvent","x","clientX","y","clientY","_init_nodeToggleEvent","_init_extra_nodeToggleEvent","nodeId","collapsed","_get_nodeToggleEvent","nodes","actions","actionsHidden","placeholder","isTransformName","searchPlaceholder","noSearch","activeKey","showMatchedNodeOnly","matchNodeDataFields","fixedActionsFor","collapsible","collapsedNodes","allowDrag","allowDragToRoot","allowDragToInside","nodeKey","skipNotify","WorkbenchActionsContext","Provider","onActionClick","WorkbenchTreeContext","basePaddingLeft","getCollapsedId","onNodeToggle","clickFactory","contextMenuFactory","matchNode","lowerTrimmedQuery","_this$matchNodeDataFi","deepMatch","pick","WorkbenchTree","dropEmit","_WorkbenchTreeElement2","_set_actionClickEvent","_set_nodeClickEvent","_set_nodeDropEvent","_set_nodeContextMenuEvent","_set_nodeToggleEvent","treeStyleText","actionStyleText","customElements","define","createProviderClass","previewFromOrigin","options","connect","K","NS","WorkspaceApi_getChangeHistory","http","concat","_x","_x2","_x3","apply","actionI18nKeyMap","add","ADD","edit","EDIT","delete","DELETE","batch_delete","import","IMPORT","clone","CLONE","append_relation","APPEND_RELATION","update_relation","UPDATE_RELATION","remove_relation","REMOVE_RELATION","rollback","ROLLBACK","rollback_all","ROLLBACK_ALL","fullActionI18nKeyMap","ADD_FULL","EDIT_FULL","DELETE_FULL","IMPORT_FULL","CLONE_FULL","APPEND_RELATION_FULL","UPDATE_RELATION_FULL","REMOVE_RELATION_FULL","ROLLBACK_FULL","ROLLBACK_ALL_FULL","categoryI18nKeyMap","project","PROJECT","userGroup","USER","permission","PERMISSION","brick","BRICK","route","ROUTE","template","TEMPLATE","snippet","SNIPPET","i18n","I18N","image","IMAGE","function","FUNCTION","MENU","menuItem","MENU_ITEM","workflow","WORKFLOW","modelI18nKeyMap","PROJECT_MICRO_APP","MICRO_APP_RESOURCE_PERMISSION","STORYBOARD_BRICK","STORYBOARD_ROUTE","STORYBOARD_TEMPLATE","STORYBOARD_SNIPPET","STORYBOARD_I18N","MICRO_APP_RESOURCE_IMAGE","STORYBOARD_FUNCTION","MICRO_APP_RESOURCE_MENU","MICRO_APP_RESOURCE_MENU_ITEM","translateHistory","_history$abstract","_history$abstract2","_history$abstract3","_history$abstract4","_history$abstract5","_history$abstract6","_history$abstract7","_history$abstract8","_history$abstract9","_history$abstract10","_history$abstract11","_history$abstract12","historyAction","action","rollBackIdInfo","category","t","leftObjectId","abstract","rightObjectId","translateNodes","nodesCount","leftNodes","leftNodesCount","rightNodes","rightNodesCount","rollbackAbstract","nodeChanges","relationChanges","undefined","total","separator","NODE","context","count","initializeReactI18n","en","LOAD_MORE","LOADING","NO_DATA","NODE_ellipsis","zh","WrappedButton","WrappedLink","WrappedEasyopsAvatar","WrappedPopover","onVisibleChange","beforeVisibleChange","_WorkbenchHistoryActi","_WorkbenchHistoryAction_brand","_handleHistoryItemClick","_handleRollback","_handleRollbackAll","WorkbenchHistoryAction","_init_projectId","_init_extra_projectId","_init_historyItemClickEvent","_init_extra_historyItemClickEvent","_get_historyItemClickEvent","_init_rollbackEvent","_init_extra_rollbackEvent","_get_rollbackEvent","_init_rollbackAllEvent","_init_extra_rollbackAllEvent","_get_rollbackAllEvent","projectId","WorkbenchHistoryActionComponent","onHistoryItemClick","onRollback","onRollbackAll","props","useTranslation","loading","setLoading","hideLoadMore","setHideLoadMore","allLoaded","setAllLoaded","historyList","setHistoryList","lastTs","handleLoadList","isFirst","ts","limit","then","result","pre","list","translation","catch","error","handleHttpError","finally","placement","trigger","arrow","arrowColor","slot","shape","HistoryItem","uniqueKey","enableRollback","disabled","moment","duration","diff","humanizedTime","days","format","humanize","ss","s","m","h","title","nameOrInstanceId","user","size","_WorkbenchHistoryAction","_set_historyItemClickEvent","_set_rollbackEvent","_set_rollbackAllEvent","WrappedTooltip","autoFocusedSets","Set","_PageArchNode","_PageArchNode_brand","_handleLabelEditingChange","_handleLabelChange","_handleNodeClick","_handleNodeDoubleClick","_handleNodeContextMenu","_handleChildAppend","_handleExternalClick","_handleSubNodeDoubleClick","_handleSubNodeContextMenu","PageArchNode","_init_label","_init_extra_label","_init_type","_init_extra_type","_init_external","_init_extra_external","_init_subNodes","_init_extra_subNodes","_init_notSynced","_init_extra_notSynced","_init_disableChildAppend","_init_extra_disableChildAppend","_init_autoFocusOnce","_init_extra_autoFocusOnce","_init_labelEditingChange","_init_extra_labelEditingChange","_get_labelEditingChange","_init_labelChange","_init_extra_labelChange","_get_labelChange","_init_nodeClick","_init_extra_nodeClick","_get_nodeClick","_init_nodeDoubleClick","_init_extra_nodeDoubleClick","_get_nodeDoubleClick","_init_nodeContextMenu","_init_extra_nodeContextMenu","_get_nodeContextMenu","_init_childAppend","_init_extra_childAppend","_get_childAppend","_init_externalClick","_init_extra_externalClick","_get_externalClick","_init_subNodeDoubleClick","_init_extra_subNodeDoubleClick","_get_subNodeDoubleClick","_init_subNodeContextMenu","_init_extra_subNodeContextMenu","_get_subNodeContextMenu","label","external","subNodes","notSynced","disableChildAppend","autoFocusOnce","PageArchNodeComponent","onLabelEditingChange","onLabelChange","onNodeClick","onNodeDoubleClick","onNodeContextMenu","onChildAppend","onExternalClick","onSubNodeDoubleClick","onSubNodeContextMenu","_type","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","labelInputRef","handleEditLabel","stopPropagation","setTimeout","_labelInputRef$curren","_labelInputRef$curren2","focus","preventScroll","select","handleInputChange","handleInputKeydown","keyCode","which","_labelInputRef$curren3","blur","handleInputBlur","handleChildAppend","handleExternalClick","extraHeight","Math","max","floor","height","onDoubleClick","onContextMenu","onChange","onKeyDown","onBlur","onMouseDown","subNode","SubNode","id","role","_ref2","content","_PageArchNode2","_set_labelEditingChange","_set_labelChange","_set_nodeClick","_set_nodeDoubleClick","_set_nodeContextMenu","_set_childAppend","_set_externalClick","_set_subNodeDoubleClick","_set_subNodeContextMenu","_classPrivateSetter","r","a","assertClassBrand","method","_FormItemElementBase_brand","FormItemElementBase","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","_set_validate","_render","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_this","_this2","_this3","_this4","_this5","_this6","_FormItemElementBase","ContractCenterApi_searchContract","post","locales","CONTRACT_OPTIONS_TIPS_PREFIX","CONTRACT_OPTIONS_TIPS_SUFFIX","CONTRACT_VALIDATE_MESSAGE","WrappedInput","MoreOption","itemsCount","setCount","setEdit","autoFocus","inputStyle","width","handleBlur","WrappedFormItem","WrappedAutoComplete","_EoContractSelect","_EoContractSelect_brand","splitContract","version","isContractApi","test","checkContractRule","isNil","EoContractSelectComponent","suffix","q","setQ","pageSize","setPageSize","contractList","setContractList","query","page","fullContractName","interceptorParams","ignoreLoadingBar","err","console","useContractList","mixedValue","setMixedValue","versionOptions","setVersionOptions","handlerSearch","debounce","_contractList$find","versionList","find","autofillVersion","useBrick","ReactUseMultipleBricks","_EoContractSelect2","_init_name","_init_extra_name","_init_required","_init_extra_required","_init_value","_init_extra_value","_init_suffix","_init_extra_suffix","_init_changeEvent","_init_extra_changeEvent","_get_changeEvent","required","exportparts","curElement","formElement","validator","handleChange","_set_changeEvent","WrappedMenu","WrappedMenuItem","lockBodyScroll","unwrapProvider","_GenerateSnippetsCont","_GenerateSnippetsContextMenu_brand","_handleItemDragStart","_handleItemDragEnd","GenerateSnippetsContextMenu","_init_options","_init_extra_options","_init_position","_init_extra_position","_init_itemDragStartEvent","_init_extra_itemDragStartEvent","_init_itemDragEndEvent","_init_extra_itemDragEndEvent","_get_itemDragStartEvent","_get_itemDragEndEvent","position","open","close","disconnectedCallback","super","GenerateSnippetsContextMenuComponent","onItemDragStart","onItemDragEnd","_ref3","_ref4","dragging","setDragging","containerRef","fixedPosition","setFixedPosition","handleMaskClick","handleItemStart","_e$dataTransfer","dragConf","dataTransfer","setData","JSON","stringify","classList","handleItemDragEnd","remove","rect","getBoundingClientRect","clientWidth","clientHeight","document","documentElement","fixed","left","top","visibility","op","_op$children","_op$children2","children","itemIndex","tooltip","hoist","draggable","onDragStart","onDragEnd","text","_GenerateSnippetsContextMenu","_set_itemDragStartEvent","_set_itemDragEndEvent","rehypePrism","visitor","_index","parent","tagName","lang","properties","classListItem","toLowerCase","getLanguage","refractor","highlight","toString","tree","visit","production","Fragment","jsx","jsxs","MarkdownComponent","reactContent","setReactContent","ignore","unified","use","remarkParse","remarkToRehype","rehypeReact","process","vFile","WrappedAvatar","MessageComponent","message","messageChunks","chunks","chunkRegExp","lastIndex","exec","fullMatch","command","start","previousText","trim","raw","lastText","contentRef","contentElement","textingElements","parentElement","querySelectorAll","partial","lastChild","nodeType","Node","ELEMENT_NODE","_lastChild$previousSi","TEXT_NODE","textContent","previousSibling","failed","chunk","MessageChunkComponent","_ChatConversation","_ChatConversation_brand","_handleStoryboardUpdate","ChatConversation","_init_messages","_init_extra_messages","_init_errorBoundary","_init_extra_errorBoundary","_init_storyboardUpdate","_init_extra_storyboardUpdate","storyboard","_get_storyboardUpdate","messages","errorBoundary","ChatConversationComponent","host","onStoryboardUpdate","lastIndexMapRef","setChunks","manualScrolledRef","newChunks","newPage","parsed","parse","prev","setStoryboard","blocks","storyboardMap","uuid","sort","b","seq","contentLayout","main","pageTitle","hasContent","block","child","childBrick","iid","meta","rawBrick","hasContainer","verticalScrollParent","overflowY","getComputedStyle","getPropertyValue","ShadowRoot","Element","scrollingElement","scrollTo","scrollHeight","removeEventListener","_ChatConversation2","_set_storyboardUpdate","InspectOutlineComponent","variant","borderWidth","_ChatPreview","_ChatPreview_brand","_handleActiveTargetChange","ChatPreview","_init_storyboard","_init_extra_storyboard","_init_theme","_init_extra_theme","_init_uiVersion","_init_extra_uiVersion","_init_app","_init_extra_app","_init_inspecting","_init_extra_inspecting","_init_activeTargetChangeEvent","_init_extra_activeTargetChangeEvent","_get_activeTargetChangeEvent","uiVersion","app","inspecting","payload","iframeWin","contentWindow","postMessage","channel","origin","ChatPreviewComponent","onActiveTargetChange","iframeRef","ready","setReady","initialized","setInitialized","scroll","setScroll","hoverOutlines","setHoverOutlines","activeOutlines","setActiveOutlines","adjustedHoverOutlines","setAdjustedHoverOutlines","adjustedActiveOutlines","setAdjustedActiveOutlines","handleIframeLoad","check","_iframeRef$current","_preview_only_render","_iframeRef$current2","pkg","__secret_internals","getBrickPackagesById","Error","_preview_only_inject","filePath","getBasePath","window","PUBLIC_ROOT","_iframeRef$current3","yaml","safeDump","schema","JSON_SCHEMA","skipInvalid","noRefs","noCompatMode","handleMouseOut","outlines","listener","_event$data","_iframeRef$current4","adjustOutlines","outline","_iframeRef$current5","_iframeRef$current6","offsetLeft","offsetTop","rest","src","onLoad","onMouseOut","_extends","_ChatPreview2","_set_activeTargetChangeEvent","isInspecting","IID_ITEM_PREFIX","currentHoverElement","targets","getPossibleBrickTargets","composedPath","getTargetOutline","selectByClick","onMouseEvent","hoverOnTarget","eventTargets","HTMLElement","elementsFromPoint","hoverElement","leading","onPointerMove","onPointerLeave","inspectTargets","dataset","startsWith","substring","getLabel","scrollX","scrollY","pop","injected","sendMessage","async","_e$data","toggleInspecting","selector","elements","getElementsIncludingInShadowDOM","_PreGeneratedPreview","PreGeneratedPreview","_init_generations","_init_extra_generations","_init_category","_init_extra_category","generations","PreGeneratedPreviewComponent","setInjected","inject","fixedPkg","Promise","allSettled","candidatesMap","mocksMap","generation","candidatesByReadWriteType","propertyId","candidatesByDisplayLevel","rwType","displayLevel","mockData","tableChildren","gridColumn","textAlign","table","gridTemplateColumns","propertyIndex","readWriteTypeIndex","isLastProperty","candidates","propertyName","candidate","values","gridRow","isLastRow","_candidate$mockData","dataSource","mockValue","random","cellData","previewStyleText","_PreGeneratedPreview2","_PreGeneratedTableVie","PreGeneratedTableView","PreGeneratedTableViewComponent","_PreGeneratedTableView","_PreGeneratedContaine","PreGeneratedContainer","_init_useBrick","_init_extra_useBrick","_init_dataSource","_init_extra_dataSource","PreGeneratedContainerComponent","_PreGeneratedContainer","loadEditors","customEditors","getDataDependency","contextConfs","keyword","depsMap","contextConf","stats","collectMemberUsage","if","resolve","processNodeList","nodeList","nodeItem","_find$deps","dependencyList","parents","cloneDeep","dep","deps","some","depsData","collects","matches","processDataDeps","processNodeItem","nodeDataList","dependencyMap","dataType","curData","from","usedProperties","keys","regexp","pathToRegexp","defaults","end","strict","sensitive","PropertyEditorComponent","LegacyPropertyEditor","BEFORE_SUBMIT_KEY","ADVANCED_CHANGE_KEY","SchemaField","createSchemaField","components","FormLayout","Input","FormItem","AdvancedFormItem","FormItemWithoutAdvanced","FormCollapse","NumberPicker","Radio","Select","Switch","CategoryTitle","CodeEditor","CodeEditorComponent","IconSelect","IconSelectComponent","ColorPicker","ColorPickerComponent","UseChildrenSelect","UseChildrenSelectComponent","InputWithUrl","InputWithUrlComponent","InputWithUnit","InputWithUnitComponent","TextAlignRadio","TextAlignRadioComponent","CustomOptions","CustomOptionsComponent","BoxSize","BoxSizeComponent","CustomTab","cacheCustomEditor","_PropertyEditor","_formRef","_PropertyEditor_brand","_handleValuesChange","_handleTokenClick","_submitValue","_onSubmitEffect","_handleTriggerAction","_filterData","PropertyEditor","createRef","_init_editorName","_init_extra_editorName","_init_values","_init_extra_values","_init_advancedMode","_init_extra_advancedMode","_init_dataList","_init_extra_dataList","_init_editorPackages","_init_extra_editorPackages","_init_links","_init_extra_links","_init_extraLibs","_init_extra_extraLibs","_init_childSlots","_init_extra_childSlots","_init_successEvent","_init_extra_successEvent","_init_errorEvent","_init_extra_errorEvent","_init_valuesChangeEvent","_init_extra_valuesChangeEvent","_get_valuesChangeEvent","_init_tokenClick","_init_extra_tokenClick","_get_tokenClick","createEffectHook","form","_init_triggerActionEvent","_init_extra_triggerActionEvent","_get_triggerActionEvent","transformData","omit","shouldFilterFields","isEmpty","filterData","editorName","advancedMode","dataList","editorPackages","links","extraLibs","childSlots","validate","_classPrivateFieldGet2","getFormInstance","getRealValue","ADVANCED_FORM_KEY","notify","_get_successEvent","_get_errorEvent","handleValuesChange","handleTokenClick","handleTriggerAction","onSubmitEffect","Editor","setEditor","currentTheme","useCurrentTheme","cache","createCache","createForm","transformValueRef","advancedChangeRef","onAdvancedChangeEffect","useImperativeHandle","load","_customEditors$get","_customEditors$get2","defaultTransform","filterValue","setInitialValues","NORMAL_FORM_KEY","take","field","display","formValues","getState","formData","setValues","addEffects","onFormValuesChange","ConfigProvider","prefixCls","algorithm","darkAlgorithm","defaultAlgorithm","InputNumber","handleVisible","getPopupContainer","StyleProvider","FormProvider","SchemaFieldComponent","scope","tokenClick","triggerAction","effects","onFieldInit","onFieldValueChange","onFieldInitialValueChange","onFormInitialValuesChange","onFormValidateSuccess","onSubmit","onAdvancedChange","formilySchemaFormatter","_PropertyEditor2","_set_successEvent","_set_errorEvent","_set_valuesChangeEvent","_set_tokenClick","_set_triggerActionEvent","shadowOptions","dependencies","___CSS_LOADER_EXPORT___","module","escapeString","str","flags","stringToRegexp","tokens","_a","_b","_c","_d","encode","_e","delimiter","_f","endsWith","endsWithRe","delimiterRe","_i","tokens_1","token","prefix","pattern","modifier","mod","endToken","isEndDelimited","indexOf","RegExp","tokensToRegexp","char","j","TypeError","code","charCodeAt","lexer","prefixes","defaultPattern","tryConsume","mustConsume","nextType","consumeText","name_1","pattern_1","groupsRegex","execResult","source","regexpToRegexp","parts","arrayToRegexp"],"sourceRoot":""}
|