@next-bricks/visual-builder 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/2604.0626b1b4.js +2 -0
  3. package/dist/chunks/2604.0626b1b4.js.map +1 -0
  4. package/dist/chunks/{3908.fccab14b.js → 3908.fd288da0.js} +3 -3
  5. package/dist/chunks/{3908.fccab14b.js.map → 3908.fd288da0.js.map} +1 -1
  6. package/dist/chunks/9194.3e21e9c0.js +2 -0
  7. package/dist/chunks/9194.3e21e9c0.js.map +1 -0
  8. package/dist/chunks/inject-preview-agent.f71a18df.js +2 -0
  9. package/dist/chunks/inject-preview-agent.f71a18df.js.map +1 -0
  10. package/dist/chunks/main.d7c0f97e.js +2 -0
  11. package/dist/chunks/main.d7c0f97e.js.map +1 -0
  12. package/dist/chunks/{workbench-action-list.d0a3c02b.js → workbench-action-list.2b427081.js} +2 -2
  13. package/dist/chunks/{workbench-action-list.d0a3c02b.js.map → workbench-action-list.2b427081.js.map} +1 -1
  14. package/dist/chunks/{workbench-action.05b6554b.js → workbench-action.c1ae9dbe.js} +3 -3
  15. package/dist/chunks/{workbench-action.05b6554b.js.map → workbench-action.c1ae9dbe.js.map} +1 -1
  16. package/dist/chunks/{workbench-pane.554c5f72.js → workbench-pane.ea92ccb3.js} +3 -3
  17. package/dist/chunks/{workbench-pane.554c5f72.js.map → workbench-pane.ea92ccb3.js.map} +1 -1
  18. package/dist/chunks/{workbench-sidebar.d63ed544.js → workbench-sidebar.7ad17f14.js} +2 -2
  19. package/dist/chunks/{workbench-sidebar.d63ed544.js.map → workbench-sidebar.7ad17f14.js.map} +1 -1
  20. package/dist/chunks/{workbench-tree.dcec6d23.js → workbench-tree.d1fd35fd.js} +2 -2
  21. package/dist/chunks/{workbench-tree.dcec6d23.js.map → workbench-tree.d1fd35fd.js.map} +1 -1
  22. package/dist/index.a4a3c503.js +2 -0
  23. package/dist/index.a4a3c503.js.map +1 -0
  24. package/dist/types.json +13 -0
  25. package/dist-types/data-providers/preview/interfaces.d.ts +11 -2
  26. package/package.json +2 -2
  27. package/dist/chunks/6183.2fa41122.js +0 -2
  28. package/dist/chunks/6183.2fa41122.js.map +0 -1
  29. package/dist/chunks/inject-preview-agent.4b1f088e.js +0 -2
  30. package/dist/chunks/inject-preview-agent.4b1f088e.js.map +0 -1
  31. package/dist/chunks/main.f2ba8494.js +0 -2
  32. package/dist/chunks/main.f2ba8494.js.map +0 -1
  33. package/dist/index.fec044ed.js +0 -2
  34. package/dist/index.fec044ed.js.map +0 -1
  35. /package/dist/chunks/{3908.fccab14b.js.LICENSE.txt → 3908.fd288da0.js.LICENSE.txt} +0 -0
  36. /package/dist/chunks/{workbench-action.05b6554b.js.LICENSE.txt → workbench-action.c1ae9dbe.js.LICENSE.txt} +0 -0
  37. /package/dist/chunks/{workbench-pane.554c5f72.js.LICENSE.txt → workbench-pane.ea92ccb3.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/3908.fccab14b.js","mappings":"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","sources":["webpack:///./src/shared/workbench/WorkbenchActionsContext.ts","webpack:///./src/shared/workbench/WorkbenchTreeDndContext.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx","webpack:///./src/shared/workbench/WorkbenchTree.tsx","webpack:///./src/utils/normalizeTreeNodeWithPath.ts","webpack:///./src/utils/setDragImage.ts","webpack:///./src/shared/workbench/WorkbenchTreeContext.ts","webpack:///./src/utils/deepMatch.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css","webpack:///./src/workbench-tree/WorkbenchTree.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2305.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type {\n ActionClickDetail,\n WorkbenchTreeAction,\n} from \"../../interfaces.js\";\n\nexport interface ContextOfWorkbenchActions {\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport const WorkbenchActionsContext = createContext<ContextOfWorkbenchActions>(\n {}\n);\n\nexport function useWorkbenchActionsContext(): ContextOfWorkbenchActions {\n return useContext(WorkbenchActionsContext);\n}\n","import { createContext, useContext } from \"react\";\nimport { WorkbenchNodeData } from \"../../interfaces.js\";\n\nexport enum dragStatusEnum {\n inside = \"inside\",\n top = \"top\",\n bottom = \"bottom\",\n}\n\ninterface WorkbenchTreeDndContext {\n allow?: boolean;\n allowDragToRoot?: boolean;\n dragElement?: HTMLElement;\n dragOverElement?: HTMLElement;\n dragStatus?: dragStatusEnum;\n onDragStart?: (\n e: React.DragEvent<HTMLElement>,\n node: WorkbenchNodeData\n ) => void;\n onDragOver?: (e: React.DragEvent<HTMLElement>) => void;\n onDrop?: (e: React.DragEvent<HTMLElement>) => void;\n}\n\nexport const WorkbenchTreeDndContext = createContext<WorkbenchTreeDndContext>(\n {} as WorkbenchTreeDndContext\n);\n\nexport function useWorkbenchTreeDndContext(): WorkbenchTreeDndContext {\n return useContext(WorkbenchTreeDndContext);\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../../interfaces.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(\"actionsBar\", className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(\"action\", { disabled: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <WrappedGeneralIcon {...action.icon} />\n </a>\n );\n}\n","import React, {\n type ChangeEvent,\n useCallback,\n useMemo,\n useState,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n} from \"react\";\n// import { Input } from \"antd\";\nimport { get, isMatch, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { useWorkbenchTreeContext } from \"./WorkbenchTreeContext.js\";\nimport { useWorkbenchActionsContext } from \"./WorkbenchActionsContext.js\";\nimport {\n useWorkbenchTreeDndContext,\n dragStatusEnum,\n} from \"./WorkbenchTreeDndContext.js\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { WorkbenchMiniActionBar } from \"../workbench-mini-action-bar/WorkbenchMiniActionBar.js\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { WorkbenchTreeDndContext } from \"./WorkbenchTreeDndContext.js\";\nimport { setDragImage } from \"../../utils/setDragImage.js\";\nimport classnames from \"classnames\";\nimport {\n getNodesByPathTree,\n getNodeTreeByPath,\n} from \"../../utils/normalizeTreeNodeWithPath.js\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"basic.general-link\");\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst treeLevelPadding = 10;\nconst borderStyle = \"0 0 0 1px #ba6d30\";\n\nexport interface dropEmitProps {\n nodes: WorkbenchNodeData[];\n curNode: WorkbenchNodeData;\n overNode: WorkbenchNodeData;\n status: dragStatusEnum;\n}\n\nexport interface WorkbenchTreeProps {\n nodes: WorkbenchNodeData[];\n placeholder?: string;\n searchPlaceholder?: string;\n noSearch?: boolean;\n isDrag?: boolean;\n allowDrag?: boolean;\n allowDragToRoot?: boolean;\n allowDragToInside?: boolean;\n dropEmit?: (detail: dropEmitProps) => void;\n}\n\nexport interface TreeListProps {\n nodes: WorkbenchNodeData[];\n level: number;\n}\n\nconst SearchingContext = createContext(false);\n\nexport function WorkbenchTree({\n nodes: originNode,\n placeholder,\n searchPlaceholder,\n isDrag,\n noSearch,\n allowDrag,\n allowDragToRoot,\n allowDragToInside,\n dropEmit,\n}: WorkbenchTreeProps): ReactElement {\n const [q, setQ] = useState<string>(null);\n const [isDragging, setIsDragging] = useState<boolean>(isDrag);\n const [curNode, setCurNode] = useState<WorkbenchNodeData>();\n const [curElement, setCurElement] = useState<HTMLElement>();\n const [overNode, setOverNode] = useState<WorkbenchNodeData>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [overStatus, setOverStatus] = useState<dragStatusEnum>();\n const [isFocus, setIsFocus] = useState<boolean>();\n const { nodeKey, onBrickDrop, contextMenuFactory, matchNode } =\n useWorkbenchTreeContext();\n const nodes = useMemo(\n () => getNodeTreeByPath(originNode?.slice() ?? [], nodeKey),\n [originNode, nodeKey]\n );\n\n const handleSearchChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setQ(event.target.value);\n },\n []\n );\n\n const handleClearInput = () => {\n setQ(\"\");\n };\n\n const onContextMenu = useMemo(\n () => contextMenuFactory?.(),\n [contextMenuFactory]\n );\n\n const trimmedLowerQ = q?.trim().toLowerCase();\n const filteredNodes = useMemo(() => {\n if (noSearch || !trimmedLowerQ || !nodes) {\n return nodes;\n }\n const walk = (node: WorkbenchNodeData): boolean => {\n node.matchedSelf = matchNode(node, trimmedLowerQ);\n const hasMatchedChildren = node.children?.map(walk).includes(true);\n node.matched = node.matchedSelf || hasMatchedChildren;\n return node.matched;\n };\n nodes.forEach(walk);\n return nodes.slice();\n }, [noSearch, trimmedLowerQ, nodes, matchNode]);\n\n const findDragParent = (element: HTMLElement, equal = true): HTMLElement => {\n let node = element;\n while (node) {\n if (\n node.draggable &&\n (equal || node !== element) &&\n node.tagName !== \"A\"\n ) {\n return node;\n }\n node = node.parentElement;\n }\n };\n\n const findNode = (\n nodes: WorkbenchNodeData[],\n id: string,\n nodeKey: string,\n node: WorkbenchNodeData = null\n ): WorkbenchNodeData => {\n for (const item of nodes) {\n if ((item.data as Record<string, unknown>)[nodeKey] === id) {\n node = item;\n }\n if (item.children) {\n node = findNode(item.children, id, nodeKey, node);\n }\n if (node) break;\n }\n return node;\n };\n\n const getDragState = (\n e: React.DragEvent<HTMLElement>\n ): {\n element: HTMLElement;\n node: WorkbenchNodeData;\n status: dragStatusEnum;\n } => {\n const element = findDragParent(e.target as HTMLElement);\n const id = element.dataset.uid;\n if (element === curElement || id?.includes(\":\")) {\n return;\n }\n const { top, bottom } = element.getBoundingClientRect();\n let status: dragStatusEnum;\n const repair = allowDragToInside ? 5 : 10;\n if (e.clientY < top + repair) {\n status = dragStatusEnum.top;\n } else if (e.clientY > bottom - repair) {\n status = dragStatusEnum.bottom;\n } else {\n status = allowDragToInside ? dragStatusEnum.inside : overStatus;\n }\n\n return {\n element,\n node: findNode(nodes, id, nodeKey),\n status,\n };\n };\n\n const handleOnDragStart = (\n e: React.DragEvent,\n node: WorkbenchNodeData\n ): void => {\n e.stopPropagation();\n if (!allowDrag) return;\n const element = e.target as HTMLElement;\n if (element.dataset?.container) return;\n setIsDragging(true);\n setDragImage(e, element.innerText);\n setCurElement(element);\n setCurNode(node);\n };\n\n const handleOnDragOver = (e: React.DragEvent<HTMLElement>): void => {\n e.preventDefault();\n if (!isDragging) return;\n if ((e.target as HTMLElement).className === \"workbenchTree-placeholder-dom\")\n return;\n const dom = getDragState(e);\n if (dom && !curElement?.contains(dom.element)) {\n setOverElement(dom.element);\n setOverNode(dom.node);\n setOverStatus(dom.status);\n }\n };\n\n const handleOnDragEnd = (): void => {\n setCurElement(null);\n setOverElement(null);\n setOverNode(null);\n setOverStatus(null);\n setIsDragging(false);\n };\n\n const handleOnDrop = (e: React.DragEvent<HTMLElement>): void => {\n if (!isDragging) return;\n if (onBrickDrop) {\n let parentElement = overElement;\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(overStatus)) {\n parentElement = findDragParent(parentElement, false);\n }\n onBrickDrop(e, {\n curElement,\n overElement,\n parentElement,\n overStatus,\n });\n } else {\n if (allowDragToRoot || Number(overElement.dataset.level) !== 1) {\n let realOverNode = overNode;\n const findRealNode = (\n nodes: WorkbenchNodeData[],\n key: string\n ): void => {\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].key === key) {\n realOverNode = nodes[i];\n break;\n }\n if (nodes[i].children) {\n findRealNode(nodes[i].children, key);\n }\n }\n };\n const overUid = overElement.dataset.uid;\n findRealNode(nodes, overUid);\n const filterNodes = (\n nodes: WorkbenchNodeData[]\n ): WorkbenchNodeData[] => {\n let flag = false;\n const { container, uid } = overElement.dataset;\n const realOverKey = container ? realOverNode.originKey : uid;\n const newNodes = nodes.filter((node) => {\n if (node.children) {\n node.children = filterNodes(node.children);\n }\n if (node.key === realOverKey) flag = true;\n return node.key !== curNode.key;\n });\n if (flag) {\n newNodes.splice(\n newNodes.findIndex((item) => item.key === realOverKey) +\n (overStatus === \"bottom\" ? 1 : 0),\n 0,\n curNode\n );\n }\n return newNodes;\n };\n\n const normalizeNode = getNodesByPathTree(nodes);\n const realCurNode = curNode.isContainer\n ? normalizeNode.find((item) => item.key === curNode.originKey)\n : curNode;\n const curNodeData = realCurNode.data as Record<string, unknown>;\n curNodeData.path = realOverNode.parentPath || realOverNode.path;\n\n dropEmit({\n nodes: filterNodes(normalizeNode),\n curNode: realCurNode,\n overNode: realOverNode,\n status: overStatus,\n });\n }\n }\n handleOnDragEnd();\n };\n\n useEffect(() => {\n setIsDragging(isDrag);\n }, [isDrag]);\n\n useEffect(() => {\n window.addEventListener(\"dragend\", handleOnDragEnd);\n return () => {\n window.removeEventListener(\"dragend\", handleOnDragEnd);\n };\n }, []);\n\n return (\n <div\n style={{\n height: \"100%\",\n }}\n className=\"tree-wrapper\"\n onContextMenu={onContextMenu}\n >\n {nodes?.length ? (\n <div>\n {!noSearch && (\n <div\n className=\"searchBox\"\n onContextMenu={(e) => e.stopPropagation()}\n >\n <span\n className={classNames(\"filter-input-wrapper\", {\n focus: isFocus,\n })}\n >\n <span className=\"prefix\">\n <WrappedGeneralIcon\n icon=\"search\"\n lib=\"antd\"\n theme=\"outlined\"\n />\n </span>\n <input\n value={q}\n onChange={handleSearchChange}\n onFocus={() => setIsFocus(true)}\n onBlur={() => setIsFocus(false)}\n autoComplete=\"off\"\n placeholder={searchPlaceholder}\n />\n <span className=\"suffix\">\n {q ? (\n <WrappedGeneralIcon\n className=\"clear-button\"\n icon=\"close-circle\"\n lib=\"antd\"\n theme=\"filled\"\n onClick={handleClearInput}\n />\n ) : null}\n </span>\n </span>\n </div>\n )}\n <SearchingContext.Provider value={!!q}>\n <WorkbenchTreeDndContext.Provider\n value={{\n allow: allowDrag,\n allowDragToRoot: allowDragToRoot,\n dragElement: curElement,\n dragOverElement: overElement,\n dragStatus: overStatus,\n onDragStart: handleOnDragStart,\n }}\n >\n <div\n className={classnames({\n hightlight: isDrag,\n })}\n onDragOver={handleOnDragOver}\n onDrop={handleOnDrop}\n >\n <TreeList nodes={filteredNodes} level={1} />\n </div>\n </WorkbenchTreeDndContext.Provider>\n </SearchingContext.Provider>\n </div>\n ) : (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n </div>\n );\n}\n\nfunction TreeList({ nodes, level }: TreeListProps): ReactElement {\n const lastIndex = nodes.length - 1;\n return (\n <ul className=\"tree\">\n {nodes\n .filter((item) => checkIfOfComputed(item))\n .map((node, index) => (\n <TreeNode\n key={node.key}\n node={node}\n level={level}\n isFirst={index === 0}\n isLast={index === lastIndex}\n />\n ))}\n </ul>\n );\n}\n\nfunction PlaceholderDOM({\n style,\n}: {\n style: React.CSSProperties;\n}): React.ReactElement {\n const { dragStatus } = useWorkbenchTreeDndContext();\n const styles: React.CSSProperties = {\n height: 22,\n border: \"1px dashed goldenrod\",\n opacity: dragStatus === dragStatusEnum.inside ? \"0\" : \"1\",\n ...style,\n };\n\n return <li className=\"workbenchTree-placeholder-dom\" style={styles} />;\n}\nexport interface TreeNodeProps {\n node: WorkbenchNodeData;\n level: number;\n isFirst?: boolean;\n isLast?: boolean;\n skipNotify?: boolean;\n}\n\nfunction TreeNode({\n node,\n level,\n isFirst,\n isLast,\n}: TreeNodeProps): ReactElement {\n const isLeaf = !node.children?.length;\n const isContainer = node.isContainer;\n const {\n hoverKey,\n activeKey,\n isTransformName,\n basePaddingLeft,\n showMatchedNodeOnly,\n fixedActionsFor,\n collapsible,\n collapsedNodes,\n nodeKey,\n clickFactory,\n mouseEnterFactory,\n mouseLeaveFactory,\n contextMenuFactory,\n onNodeToggle,\n getCollapsedId,\n skipNotify,\n } = useWorkbenchTreeContext();\n const {\n allow,\n allowDragToRoot,\n onDragStart,\n dragElement,\n dragOverElement,\n dragStatus,\n } = useWorkbenchTreeDndContext();\n\n const { actions, actionsHidden, onActionClick } =\n useWorkbenchActionsContext();\n\n const nodePaddingLeft = level * treeLevelPadding + basePaddingLeft - 2;\n const searching = useContext(SearchingContext);\n const [cacheDragStatus, setCacheDragStatus] = useState(null);\n const [collapseClicked, setCollapseClicked] = useState(false);\n const [collapsed, setCollapsed] = useState(\n collapsedNodes?.includes(getCollapsedId?.(node)) ?? false\n );\n\n const onMouseEnter = useMemo(\n () => mouseEnterFactory?.(node),\n [mouseEnterFactory, node]\n );\n const onMouseLeave = useMemo(\n () => mouseLeaveFactory?.(node),\n [mouseLeaveFactory, node]\n );\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n contextMenuFactory?.(node)?.(e);\n },\n [contextMenuFactory, node]\n );\n\n const isActive = activeKey && node.key === activeKey;\n\n const nodeLabelCallback = useMemo(\n () =>\n isActive\n ? (element: HTMLElement) => {\n element?.scrollIntoView?.({\n block: \"center\",\n inline: \"center\",\n // behavior: \"smooth\",\n });\n }\n : null,\n // Only for initial active node.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const nodeUid = useMemo(() => {\n if (isContainer) {\n return node.key;\n }\n if (node.data) {\n const getNodeUid = (data: Record<string, any>): number | string => {\n return data.type === \"mount-point\"\n ? data.parent[nodeKey] || `${data.parent.$$uid}:${data.mountPoint}`\n : data[nodeKey] || data.$$uid;\n };\n return getNodeUid(node.data);\n }\n }, [nodeKey, node, isContainer]);\n\n useEffect(() => {\n if (dragStatus === dragStatusEnum.inside) {\n return;\n }\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(dragStatus)) {\n setCacheDragStatus(dragStatus);\n }\n }, [dragStatus]);\n\n const isDragElement = useMemo(() => {\n if (dragElement) {\n const dragUid = dragElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragElement, nodeUid]);\n\n const isDragActive = useMemo(() => {\n if (dragOverElement) {\n const dragUid = dragOverElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragOverElement, nodeUid]);\n\n const nodeStyle = useMemo((): React.CSSProperties => {\n const commomStyle: React.CSSProperties = {};\n let style: React.CSSProperties = {\n opacity: isDragElement ? 0.2 : 1,\n };\n if (isDragActive) {\n if (dragStatus === dragStatusEnum.inside) {\n style = {\n boxShadow: borderStyle,\n background: \"rgba(255, 255, 255, 0.1)\",\n };\n }\n }\n return Object.assign(commomStyle, style);\n }, [isDragActive, isDragElement, dragStatus]);\n\n const handleCollapse = useCallback((event: React.MouseEvent | MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setCollapseClicked(true);\n setCollapsed((prev) => !prev);\n }, []);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const onLinkClick = useCallback(\n (e: MouseEvent | React.MouseEvent) => {\n if (isContainer) {\n handleCollapse(e);\n } else {\n return clickFactory?.(node)?.();\n }\n },\n [clickFactory, handleCollapse, isContainer, node]\n );\n\n useEffect(() => {\n if (collapseClicked) {\n onNodeToggle?.(getCollapsedId?.(node), collapsed);\n }\n }, [collapseClicked, collapsed, getCollapsedId, node, onNodeToggle]);\n\n // Disallow collapse leaf nodes, or any nodes when searching.\n const allowCollapse = collapsible && !isLeaf && !searching;\n\n if (searching && showMatchedNodeOnly && !node.matched) {\n return null;\n }\n\n return (\n <>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.top && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n <li\n draggable={allow}\n onDragStart={(e) => onDragStart(e, node)}\n data-uid={nodeUid}\n data-level={level}\n style={nodeStyle}\n {...(isContainer\n ? {\n \"data-container\": isContainer,\n }\n : {})}\n >\n <WrappedLink\n tabIndex={0}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onContextMenu={onContextMenu}\n // noEmptyHref={true}\n onClick={onLinkClick}\n {...(skipNotify\n ? {\n // TODO: link should support\n url: {\n pathname: get(node.link, \"url\", \"href\"),\n state: {\n notify: false,\n },\n } as any,\n }\n : { ...pick(node.link, [\"url\", \"href\"]) })}\n >\n <span\n className={classNames(\"nodeLabelRow\", {\n active: isActive,\n hover: hoverKey && node.key === hoverKey,\n matched: searching && node.matchedSelf && !showMatchedNodeOnly,\n fixedActions:\n fixedActionsFor &&\n []\n .concat(fixedActionsFor)\n .some((source) =>\n isMatch(node.data as Record<string, unknown>, source)\n ),\n collapsed: allowCollapse && collapsed,\n collapsible: allowCollapse,\n })}\n >\n <span\n className={classNames(\"nodeLabel\", {\n unreachable: node.unreachable,\n })}\n style={{\n paddingLeft: nodePaddingLeft,\n color: node.labelColor,\n }}\n ref={nodeLabelCallback}\n >\n <span className=\"nodeIconWrapper\">\n {allowCollapse && (\n <span\n className=\"collapseIcon\"\n onClick={handleCollapse}\n onMouseDown={preventMouseEvent}\n title={collapsed ? \"Expand\" : \"Collapse\"}\n role=\"button\"\n >\n <WrappedGeneralIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon={collapsed ? \"right\" : \"down\"}\n />\n </span>\n )}\n <span className=\"nodeIcon\">\n <WrappedGeneralIcon\n {...(node.icon as GeneralIconProps)}\n style={{\n fontSize: (node.icon as unknown as Record<string, string>)\n ?.imgSrc\n ? 14\n : null,\n }}\n />\n </span>\n </span>\n <span className=\"nodeName\">\n {/* {isTransformName\n ? smartDisplayForEvaluableString(node.name)\n : node.name} */}\n {node.name}\n </span>\n </span>\n <WorkbenchMiniActionBar\n className=\"nodeActionsBar\"\n data={node.data}\n isFirst={isFirst}\n isLast={isLast}\n actions={actions}\n onActionClick={onActionClick}\n actionsHidden={actionsHidden}\n />\n {node.badge && (\n <span className=\"badge\">\n <WrappedGeneralIcon {...(node.badge as GeneralIconProps)} />\n </span>\n )}\n </span>\n </WrappedLink>\n {isLeaf || <TreeList nodes={node.children} level={level + 1} />}\n </li>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.bottom && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n </>\n );\n}\n","import _ from \"lodash\";\nimport { WorkbenchNodeData } from \"../interfaces.js\";\n\nexport function getNodeTreeByPath(\n nodes: WorkbenchNodeData[],\n nodeKey: string\n): Array<WorkbenchNodeData> {\n const createNodeByPath = (\n pathList: string[],\n nodes: Array<WorkbenchNodeData>,\n node: WorkbenchNodeData,\n index?: number\n ): void => {\n const path = pathList.shift();\n if (path) {\n pathList.length > 0\n ? pathList.splice(0, 1, `${path}/${pathList[0]}`)\n : pathList;\n const folder = nodes.find(\n (node) => node && node.key === path && node.isContainer\n );\n if (folder) {\n nodes[index] = null;\n createNodeByPath(pathList, folder.children, node);\n } else {\n const newPathList = path.split(\"/\");\n const newNode = {\n name: newPathList.pop(),\n key: path,\n parentPath: newPathList ? newPathList.join(\"/\") : newPathList,\n originKey: node.key,\n data: {\n [nodeKey]: path,\n isContainer: true,\n },\n children: [],\n icon: {\n icon: \"folder\",\n lib: \"antd\",\n theme: \"filled\",\n color: \"orange\",\n },\n isContainer: true,\n } as WorkbenchNodeData;\n if (typeof index === \"number\") {\n nodes[index] = newNode;\n } else {\n nodes.push(newNode);\n }\n createNodeByPath(pathList, newNode.children, node);\n }\n } else {\n nodes.push(node);\n }\n };\n\n nodes.forEach((node, index) => {\n if (node.path) {\n const pathList = node.path.split(\"/\").filter(Boolean);\n createNodeByPath(pathList, nodes, node, index);\n }\n });\n return nodes.filter(Boolean);\n}\n\nexport function getNodesByPathTree(\n nodes: Array<WorkbenchNodeData>\n): Array<WorkbenchNodeData> {\n const result: Array<WorkbenchNodeData> = [];\n const walk = (nodes: Array<WorkbenchNodeData>): void => {\n nodes.forEach((item) => {\n if (item.isContainer) {\n walk(item.children);\n } else {\n result.push(_.omit(item, [\"path\", \"icon\"]) as WorkbenchNodeData);\n }\n });\n };\n walk(nodes);\n return result;\n}\n","export function setDragImage(\n e: DragEvent | React.DragEvent,\n title: string\n): void {\n const canvas = document.createElement(\"canvas\");\n document.body.append(canvas);\n const context = canvas.getContext(\"2d\");\n canvas.width = context.measureText(title).width + 60;\n canvas.height = 20;\n canvas.style.position = \"absolute\";\n canvas.style.left = \"-100%\";\n canvas.style.zIndex = \"-100\";\n\n context.fillStyle = \"#333333\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n\n context.fillStyle = \"#999999\";\n context.font = \"bold 14px Arial\";\n context.fillText(title, 20, 15);\n\n e.dataTransfer.setDragImage(canvas, 0, 0);\n}\n","import { createContext, useContext } from \"react\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { dragStatusEnum } from \"./WorkbenchTreeDndContext.js\";\n\nexport interface dropOptions {\n curElement: HTMLElement;\n overElement: HTMLElement;\n parentElement: HTMLElement;\n overStatus: dragStatusEnum;\n}\n\nexport interface ContextOfWorkbenchTree {\n hoverKey?: string | number;\n activeKey?: string | number;\n basePaddingLeft?: number;\n showMatchedNodeOnly?: boolean;\n isTransformName?: boolean;\n fixedActionsFor?: Record<string, unknown> | Record<string, unknown>[];\n collapsible?: boolean;\n collapsedNodes?: (string | number)[];\n nodeKey?: string;\n clickFactory?(node: WorkbenchNodeData): () => void;\n mouseEnterFactory?(node: WorkbenchNodeData): () => void;\n mouseLeaveFactory?(node: WorkbenchNodeData): () => void;\n contextMenuFactory?(\n node?: WorkbenchNodeData\n ): (event: React.MouseEvent) => void;\n matchNode?(node: WorkbenchNodeData, lowerTrimmedQuery?: string): boolean;\n onNodeToggle?(nodeId: string | number, collapsed: boolean): void;\n getCollapsedId?(node: WorkbenchNodeData): string | number;\n onBrickDrop?(e: React.DragEvent<HTMLElement>, options: dropOptions): void;\n skipNotify?: boolean;\n}\n\nexport const WorkbenchTreeContext = createContext<ContextOfWorkbenchTree>({});\n\nexport function useWorkbenchTreeContext(): ContextOfWorkbenchTree {\n return useContext(WorkbenchTreeContext);\n}\n","export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// 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, `.actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}`, \"\"]);\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-context(html[data-theme=\"light\"]),\n:host-context(html[data-override-theme=\"light\"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context(html[data-override-theme=\"dark-v2\"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nfunction createAddInitializerMethod(initializers, decoratorFinishedRef) {\n return function (initializer) {\n assertNotFinished(decoratorFinishedRef, \"addInitializer\"), assertCallable(initializer, \"An initializer\"), initializers.push(initializer);\n };\n}\nfunction assertInstanceIfPrivate(has, target) {\n if (!has(target)) throw new TypeError(\"Attempted to access private element on non-instance\");\n}\nfunction memberDec(dec, thisArg, name, desc, initializers, kind, isStatic, isPrivate, value, hasPrivateBrand) {\n var kindStr;\n switch (kind) {\n case 1:\n kindStr = \"accessor\";\n break;\n case 2:\n kindStr = \"method\";\n break;\n case 3:\n kindStr = \"getter\";\n break;\n case 4:\n kindStr = \"setter\";\n break;\n default:\n kindStr = \"field\";\n }\n var get,\n set,\n ctx = {\n kind: kindStr,\n name: isPrivate ? \"#\" + name : name,\n \"static\": isStatic,\n \"private\": isPrivate\n },\n decoratorFinishedRef = {\n v: !1\n };\n if (0 !== kind && (ctx.addInitializer = createAddInitializerMethod(initializers, decoratorFinishedRef)), isPrivate || 0 !== kind && 2 !== kind) {\n if (2 === kind) get = function get(target) {\n return assertInstanceIfPrivate(hasPrivateBrand, target), desc.value;\n };else {\n var t = 0 === kind || 1 === kind;\n (t || 3 === kind) && (get = isPrivate ? function (target) {\n return assertInstanceIfPrivate(hasPrivateBrand, target), desc.get.call(target);\n } : function (target) {\n return desc.get.call(target);\n }), (t || 4 === kind) && (set = isPrivate ? function (target, value) {\n assertInstanceIfPrivate(hasPrivateBrand, target), desc.set.call(target, value);\n } : function (target, value) {\n desc.set.call(target, value);\n });\n }\n } else get = function get(target) {\n return target[name];\n }, 0 === kind && (set = function set(target, v) {\n target[name] = v;\n });\n var has = isPrivate ? hasPrivateBrand.bind() : function (target) {\n return name in target;\n };\n ctx.access = get && set ? {\n get: get,\n set: set,\n has: has\n } : get ? {\n get: get,\n has: has\n } : {\n set: set,\n has: has\n };\n try {\n return dec.call(thisArg, value, ctx);\n } finally {\n decoratorFinishedRef.v = !0;\n }\n}\nfunction assertNotFinished(decoratorFinishedRef, fnName) {\n if (decoratorFinishedRef.v) throw new Error(\"attempted to call \" + fnName + \" after decoration was finished\");\n}\nfunction assertCallable(fn, hint) {\n if (\"function\" != typeof fn) throw new TypeError(hint + \" must be a function\");\n}\nfunction assertValidReturnValue(kind, value) {\n var type = _typeof(value);\n if (1 === kind) {\n if (\"object\" !== type || null === value) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n void 0 !== value.get && assertCallable(value.get, \"accessor.get\"), void 0 !== value.set && assertCallable(value.set, \"accessor.set\"), void 0 !== value.init && assertCallable(value.init, \"accessor.init\");\n } else if (\"function\" !== type) {\n var hint;\n throw hint = 0 === kind ? \"field\" : 5 === kind ? \"class\" : \"method\", new TypeError(hint + \" decorators must return a function or void 0\");\n }\n}\nfunction curryThis1(fn) {\n return function () {\n return fn(this);\n };\n}\nfunction curryThis2(fn) {\n return function (value) {\n fn(this, value);\n };\n}\nfunction applyMemberDec(ret, base, decInfo, decoratorsHaveThis, name, kind, isStatic, isPrivate, initializers, hasPrivateBrand) {\n var desc,\n init,\n value,\n newValue,\n get,\n set,\n decs = decInfo[0];\n decoratorsHaveThis || Array.isArray(decs) || (decs = [decs]), isPrivate ? desc = 0 === kind || 1 === kind ? {\n get: curryThis1(decInfo[3]),\n set: curryThis2(decInfo[4])\n } : 3 === kind ? {\n get: decInfo[3]\n } : 4 === kind ? {\n set: decInfo[3]\n } : {\n value: decInfo[3]\n } : 0 !== kind && (desc = Object.getOwnPropertyDescriptor(base, name)), 1 === kind ? value = {\n get: desc.get,\n set: desc.set\n } : 2 === kind ? value = desc.value : 3 === kind ? value = desc.get : 4 === kind && (value = desc.set);\n for (var inc = decoratorsHaveThis ? 2 : 1, i = decs.length - 1; i >= 0; i -= inc) {\n var newInit;\n if (void 0 !== (newValue = memberDec(decs[i], decoratorsHaveThis ? decs[i - 1] : void 0, name, desc, initializers, kind, isStatic, isPrivate, value, hasPrivateBrand))) assertValidReturnValue(kind, newValue), 0 === kind ? newInit = newValue : 1 === kind ? (newInit = newValue.init, get = newValue.get || value.get, set = newValue.set || value.set, value = {\n get: get,\n set: set\n }) : value = newValue, void 0 !== newInit && (void 0 === init ? init = newInit : \"function\" == typeof init ? init = [init, newInit] : init.push(newInit));\n }\n if (0 === kind || 1 === kind) {\n if (void 0 === init) init = function init(instance, _init) {\n return _init;\n };else if (\"function\" != typeof init) {\n var ownInitializers = init;\n init = function init(instance, _init2) {\n for (var value = _init2, i = ownInitializers.length - 1; i >= 0; i--) value = ownInitializers[i].call(instance, value);\n return value;\n };\n } else {\n var originalInitializer = init;\n init = function init(instance, _init3) {\n return originalInitializer.call(instance, _init3);\n };\n }\n ret.push(init);\n }\n 0 !== kind && (1 === kind ? (desc.get = value.get, desc.set = value.set) : 2 === kind ? desc.value = value : 3 === kind ? desc.get = value : 4 === kind && (desc.set = value), isPrivate ? 1 === kind ? (ret.push(function (instance, args) {\n return value.get.call(instance, args);\n }), ret.push(function (instance, args) {\n return value.set.call(instance, args);\n })) : 2 === kind ? ret.push(value) : ret.push(function (instance, args) {\n return value.call(instance, args);\n }) : Object.defineProperty(base, name, desc));\n}\nfunction applyMemberDecs(Class, decInfos, instanceBrand) {\n for (var protoInitializers, staticInitializers, staticBrand, ret = [], existingProtoNonFields = new Map(), existingStaticNonFields = new Map(), i = 0; i < decInfos.length; i++) {\n var decInfo = decInfos[i];\n if (Array.isArray(decInfo)) {\n var base,\n initializers,\n kind = decInfo[1],\n name = decInfo[2],\n isPrivate = decInfo.length > 3,\n decoratorsHaveThis = 16 & kind,\n isStatic = !!(8 & kind),\n hasPrivateBrand = instanceBrand;\n if (kind &= 7, isStatic ? (base = Class, 0 !== kind && (initializers = staticInitializers = staticInitializers || []), isPrivate && !staticBrand && (staticBrand = function staticBrand(_) {\n return checkInRHS(_) === Class;\n }), hasPrivateBrand = staticBrand) : (base = Class.prototype, 0 !== kind && (initializers = protoInitializers = protoInitializers || [])), 0 !== kind && !isPrivate) {\n var existingNonFields = isStatic ? existingStaticNonFields : existingProtoNonFields,\n existingKind = existingNonFields.get(name) || 0;\n if (!0 === existingKind || 3 === existingKind && 4 !== kind || 4 === existingKind && 3 !== kind) throw new Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \" + name);\n existingNonFields.set(name, !(!existingKind && kind > 2) || kind);\n }\n applyMemberDec(ret, base, decInfo, decoratorsHaveThis, name, kind, isStatic, isPrivate, initializers, hasPrivateBrand);\n }\n }\n return pushInitializers(ret, protoInitializers), pushInitializers(ret, staticInitializers), ret;\n}\nfunction pushInitializers(ret, initializers) {\n initializers && ret.push(function (instance) {\n for (var i = 0; i < initializers.length; i++) initializers[i].call(instance);\n return instance;\n });\n}\nfunction applyClassDecs(targetClass, classDecs, decoratorsHaveThis) {\n if (classDecs.length) {\n for (var initializers = [], newClass = targetClass, name = targetClass.name, inc = decoratorsHaveThis ? 2 : 1, i = classDecs.length - 1; i >= 0; i -= inc) {\n var decoratorFinishedRef = {\n v: !1\n };\n try {\n var nextNewClass = classDecs[i].call(decoratorsHaveThis ? classDecs[i - 1] : void 0, newClass, {\n kind: \"class\",\n name: name,\n addInitializer: createAddInitializerMethod(initializers, decoratorFinishedRef)\n });\n } finally {\n decoratorFinishedRef.v = !0;\n }\n void 0 !== nextNewClass && (assertValidReturnValue(5, nextNewClass), newClass = nextNewClass);\n }\n return [newClass, function () {\n for (var i = 0; i < initializers.length; i++) initializers[i].call(newClass);\n }];\n }\n}\nexport default function applyDecs2305(targetClass, memberDecs, classDecs, classDecsHaveThis, instanceBrand) {\n return {\n e: applyMemberDecs(targetClass, memberDecs, instanceBrand),\n get c() {\n return applyClassDecs(targetClass, classDecs, classDecsHaveThis);\n }\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(value) {\n if (Object(value) !== value) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== value ? _typeof(value) : \"null\"));\n return value;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["WorkbenchActionsContext","createContext","useWorkbenchActionsContext","useContext","dragStatusEnum","WorkbenchTreeDndContext","useWorkbenchTreeDndContext","WrappedGeneralIcon","wrapBrick","WorkbenchMiniActionBar","_ref","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","checkIfByTransform","length","React","classNames","style","map","WorkbenchSubAction","key","action","_ref2","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","role","onClick","onContextMenu","onMouseDown","icon","WrappedLink","treeLevelPadding","borderStyle","SearchingContext","WorkbenchTree","nodes","originNode","placeholder","searchPlaceholder","isDrag","noSearch","allowDrag","allowDragToRoot","allowDragToInside","dropEmit","q","setQ","useState","isDragging","setIsDragging","curNode","setCurNode","curElement","setCurElement","overNode","setOverNode","overElement","setOverElement","overStatus","setOverStatus","isFocus","setIsFocus","nodeKey","onBrickDrop","contextMenuFactory","matchNode","useWorkbenchTreeContext","_originNode$slice","createNodeByPath","pathList","node","index","path","shift","splice","concat","folder","find","isContainer","children","newPathList","split","newNode","name","pop","parentPath","join","originKey","lib","theme","color","push","forEach","Boolean","getNodeTreeByPath","slice","handleSearchChange","target","value","trimmedLowerQ","trim","toLowerCase","filteredNodes","walk","_node$children","matchedSelf","hasMatchedChildren","includes","matched","findDragParent","element","equal","arguments","undefined","draggable","tagName","parentElement","findNode","id","handleOnDragEnd","useEffect","window","addEventListener","removeEventListener","height","e","focus","onChange","onFocus","onBlur","autoComplete","handleClearInput","Provider","allow","dragElement","dragOverElement","dragStatus","onDragStart","handleOnDragStart","_element$dataset","dataset","container","canvas","document","createElement","body","append","context","getContext","width","measureText","position","left","zIndex","fillStyle","fillRect","font","fillText","dataTransfer","setDragImage","innerText","classnames","hightlight","onDragOver","dom","uid","status","top","bottom","getBoundingClientRect","repair","clientY","inside","getDragState","contains","onDrop","Number","level","realOverNode","findRealNode","i","overUid","filterNodes","flag","realOverKey","newNodes","findIndex","normalizeNode","result","_","getNodesByPathTree","realCurNode","TreeList","lastIndex","checkIfOfComputed","TreeNode","PlaceholderDOM","_ref3","styles","_objectSpread","border","opacity","_ref4","_node$children2","_collapsedNodes$inclu","_node$icon","isLeaf","hoverKey","activeKey","isTransformName","basePaddingLeft","showMatchedNodeOnly","fixedActionsFor","collapsible","collapsedNodes","clickFactory","mouseEnterFactory","mouseLeaveFactory","onNodeToggle","getCollapsedId","skipNotify","nodePaddingLeft","searching","cacheDragStatus","setCacheDragStatus","collapseClicked","setCollapseClicked","collapsed","setCollapsed","onMouseEnter","onMouseLeave","_contextMenuFactory","isActive","nodeLabelCallback","_element$scrollIntoVi","scrollIntoView","call","block","inline","nodeUid","type","parent","$$uid","mountPoint","isDragElement","String","isDragActive","nodeStyle","boxShadow","background","Object","assign","handleCollapse","prev","onLinkClick","_clickFactory","allowCollapse","marginLeft","_extends","tabIndex","url","pathname","get","link","state","notify","pick","active","hover","fixedActions","some","source","isMatch","unreachable","paddingLeft","labelColor","ref","fontSize","imgSrc","badge","WorkbenchTreeContext","deepMatch","lowerTrimmedQuery","Array","isArray","entries","flat","hasOwn","hasOwnProperty","classes","arg","argType","inner","apply","toString","prototype","module","exports","default","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","this","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","k","_k","createAddInitializerMethod","initializers","decoratorFinishedRef","initializer","fnName","v","Error","assertNotFinished","assertCallable","assertInstanceIfPrivate","has","TypeError","memberDec","dec","thisArg","desc","kind","isStatic","isPrivate","hasPrivateBrand","kindStr","set","ctx","addInitializer","t","bind","access","fn","hint","assertValidReturnValue","init","curryThis2","applyMemberDec","ret","base","decInfo","decoratorsHaveThis","newValue","decs","getOwnPropertyDescriptor","inc","newInit","instance","_init","ownInitializers","_init2","originalInitializer","_init3","args","defineProperty","applyMemberDecs","Class","decInfos","instanceBrand","protoInitializers","staticInitializers","staticBrand","existingProtoNonFields","Map","existingStaticNonFields","existingNonFields","existingKind","pushInitializers","applyDecs2305","targetClass","memberDecs","classDecs","classDecsHaveThis","c","newClass","nextNewClass","applyClassDecs","_checkInRHS","_checkPrivateRedeclaration","obj","privateCollection","_classExtractFieldDescriptor","receiver","privateMap","_classPrivateFieldGet","descriptor","classExtractFieldDescriptor","_classPrivateFieldInitSpec","_classPrivateFieldSet","writable"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/3908.fd288da0.js","mappings":"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","sources":["webpack:///./src/shared/workbench/WorkbenchActionsContext.ts","webpack:///./src/shared/workbench/WorkbenchTreeDndContext.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx","webpack:///./src/shared/workbench/WorkbenchTree.tsx","webpack:///./src/utils/normalizeTreeNodeWithPath.ts","webpack:///./src/utils/setDragImage.ts","webpack:///./src/shared/workbench/WorkbenchTreeContext.ts","webpack:///./src/utils/deepMatch.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css","webpack:///./src/workbench-tree/WorkbenchTree.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2305.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classExtractFieldDescriptor.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorGet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classApplyDescriptorSet.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type {\n ActionClickDetail,\n WorkbenchTreeAction,\n} from \"../../interfaces.js\";\n\nexport interface ContextOfWorkbenchActions {\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport const WorkbenchActionsContext = createContext<ContextOfWorkbenchActions>(\n {}\n);\n\nexport function useWorkbenchActionsContext(): ContextOfWorkbenchActions {\n return useContext(WorkbenchActionsContext);\n}\n","import { createContext, useContext } from \"react\";\nimport { WorkbenchNodeData } from \"../../interfaces.js\";\n\nexport enum dragStatusEnum {\n inside = \"inside\",\n top = \"top\",\n bottom = \"bottom\",\n}\n\ninterface WorkbenchTreeDndContext {\n allow?: boolean;\n allowDragToRoot?: boolean;\n dragElement?: HTMLElement;\n dragOverElement?: HTMLElement;\n dragStatus?: dragStatusEnum;\n onDragStart?: (\n e: React.DragEvent<HTMLElement>,\n node: WorkbenchNodeData\n ) => void;\n onDragOver?: (e: React.DragEvent<HTMLElement>) => void;\n onDrop?: (e: React.DragEvent<HTMLElement>) => void;\n}\n\nexport const WorkbenchTreeDndContext = createContext<WorkbenchTreeDndContext>(\n {} as WorkbenchTreeDndContext\n);\n\nexport function useWorkbenchTreeDndContext(): WorkbenchTreeDndContext {\n return useContext(WorkbenchTreeDndContext);\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../../interfaces.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(\"actionsBar\", className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(\"action\", { disabled: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <WrappedGeneralIcon {...action.icon} />\n </a>\n );\n}\n","import React, {\n type ChangeEvent,\n useCallback,\n useMemo,\n useState,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n} from \"react\";\n// import { Input } from \"antd\";\nimport { get, isMatch, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { useWorkbenchTreeContext } from \"./WorkbenchTreeContext.js\";\nimport { useWorkbenchActionsContext } from \"./WorkbenchActionsContext.js\";\nimport {\n useWorkbenchTreeDndContext,\n dragStatusEnum,\n} from \"./WorkbenchTreeDndContext.js\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { WorkbenchMiniActionBar } from \"../workbench-mini-action-bar/WorkbenchMiniActionBar.js\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { WorkbenchTreeDndContext } from \"./WorkbenchTreeDndContext.js\";\nimport { setDragImage } from \"../../utils/setDragImage.js\";\nimport classnames from \"classnames\";\nimport {\n getNodesByPathTree,\n getNodeTreeByPath,\n} from \"../../utils/normalizeTreeNodeWithPath.js\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"basic.general-link\");\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst treeLevelPadding = 10;\nconst borderStyle = \"0 0 0 1px #ba6d30\";\n\nexport interface dropEmitProps {\n nodes: WorkbenchNodeData[];\n curNode: WorkbenchNodeData;\n overNode: WorkbenchNodeData;\n status: dragStatusEnum;\n}\n\nexport interface WorkbenchTreeProps {\n nodes: WorkbenchNodeData[];\n placeholder?: string;\n searchPlaceholder?: string;\n noSearch?: boolean;\n isDrag?: boolean;\n allowDrag?: boolean;\n allowDragToRoot?: boolean;\n allowDragToInside?: boolean;\n dropEmit?: (detail: dropEmitProps) => void;\n}\n\nexport interface TreeListProps {\n nodes: WorkbenchNodeData[];\n level: number;\n}\n\nconst SearchingContext = createContext(false);\n\nexport function WorkbenchTree({\n nodes: originNode,\n placeholder,\n searchPlaceholder,\n isDrag,\n noSearch,\n allowDrag,\n allowDragToRoot,\n allowDragToInside,\n dropEmit,\n}: WorkbenchTreeProps): ReactElement {\n const [q, setQ] = useState<string>(null);\n const [isDragging, setIsDragging] = useState<boolean>(isDrag);\n const [curNode, setCurNode] = useState<WorkbenchNodeData>();\n const [curElement, setCurElement] = useState<HTMLElement>();\n const [overNode, setOverNode] = useState<WorkbenchNodeData>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [overStatus, setOverStatus] = useState<dragStatusEnum>();\n const [isFocus, setIsFocus] = useState<boolean>();\n const { nodeKey, onBrickDrop, contextMenuFactory, matchNode } =\n useWorkbenchTreeContext();\n const nodes = useMemo(\n () => getNodeTreeByPath(originNode?.slice() ?? [], nodeKey),\n [originNode, nodeKey]\n );\n\n const handleSearchChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setQ(event.target.value);\n },\n []\n );\n\n const handleClearInput = () => {\n setQ(\"\");\n };\n\n const onContextMenu = useMemo(\n () => contextMenuFactory?.(),\n [contextMenuFactory]\n );\n\n const trimmedLowerQ = q?.trim().toLowerCase();\n const filteredNodes = useMemo(() => {\n if (noSearch || !trimmedLowerQ || !nodes) {\n return nodes;\n }\n const walk = (node: WorkbenchNodeData): boolean => {\n node.matchedSelf = matchNode(node, trimmedLowerQ);\n const hasMatchedChildren = node.children?.map(walk).includes(true);\n node.matched = node.matchedSelf || hasMatchedChildren;\n return node.matched;\n };\n nodes.forEach(walk);\n return nodes.slice();\n }, [noSearch, trimmedLowerQ, nodes, matchNode]);\n\n const findDragParent = (element: HTMLElement, equal = true): HTMLElement => {\n let node = element;\n while (node) {\n if (\n node.draggable &&\n (equal || node !== element) &&\n node.tagName !== \"A\"\n ) {\n return node;\n }\n node = node.parentElement;\n }\n };\n\n const findNode = (\n nodes: WorkbenchNodeData[],\n id: string,\n nodeKey: string,\n node: WorkbenchNodeData = null\n ): WorkbenchNodeData => {\n for (const item of nodes) {\n if ((item.data as Record<string, unknown>)[nodeKey] === id) {\n node = item;\n }\n if (item.children) {\n node = findNode(item.children, id, nodeKey, node);\n }\n if (node) break;\n }\n return node;\n };\n\n const getDragState = (\n e: React.DragEvent<HTMLElement>\n ): {\n element: HTMLElement;\n node: WorkbenchNodeData;\n status: dragStatusEnum;\n } => {\n const element = findDragParent(e.target as HTMLElement);\n const id = element.dataset.uid;\n if (element === curElement || id?.includes(\":\")) {\n return;\n }\n const { top, bottom } = element.getBoundingClientRect();\n let status: dragStatusEnum;\n const repair = allowDragToInside ? 5 : 10;\n if (e.clientY < top + repair) {\n status = dragStatusEnum.top;\n } else if (e.clientY > bottom - repair) {\n status = dragStatusEnum.bottom;\n } else {\n status = allowDragToInside ? dragStatusEnum.inside : overStatus;\n }\n\n return {\n element,\n node: findNode(nodes, id, nodeKey),\n status,\n };\n };\n\n const handleOnDragStart = (\n e: React.DragEvent,\n node: WorkbenchNodeData\n ): void => {\n e.stopPropagation();\n if (!allowDrag) return;\n const element = e.target as HTMLElement;\n if (element.dataset?.container) return;\n setIsDragging(true);\n setDragImage(e, element.innerText);\n setCurElement(element);\n setCurNode(node);\n };\n\n const handleOnDragOver = (e: React.DragEvent<HTMLElement>): void => {\n e.preventDefault();\n if (!isDragging) return;\n if ((e.target as HTMLElement).className === \"workbenchTree-placeholder-dom\")\n return;\n const dom = getDragState(e);\n if (dom && !curElement?.contains(dom.element)) {\n setOverElement(dom.element);\n setOverNode(dom.node);\n setOverStatus(dom.status);\n }\n };\n\n const handleOnDragEnd = (): void => {\n setCurElement(null);\n setOverElement(null);\n setOverNode(null);\n setOverStatus(null);\n setIsDragging(false);\n };\n\n const handleOnDrop = (e: React.DragEvent<HTMLElement>): void => {\n if (!isDragging) return;\n if (onBrickDrop) {\n let parentElement = overElement;\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(overStatus)) {\n parentElement = findDragParent(parentElement, false);\n }\n onBrickDrop(e, {\n curElement,\n overElement,\n parentElement,\n overStatus,\n });\n } else {\n if (allowDragToRoot || Number(overElement.dataset.level) !== 1) {\n let realOverNode = overNode;\n const findRealNode = (\n nodes: WorkbenchNodeData[],\n key: string\n ): void => {\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].key === key) {\n realOverNode = nodes[i];\n break;\n }\n if (nodes[i].children) {\n findRealNode(nodes[i].children, key);\n }\n }\n };\n const overUid = overElement.dataset.uid;\n findRealNode(nodes, overUid);\n const filterNodes = (\n nodes: WorkbenchNodeData[]\n ): WorkbenchNodeData[] => {\n let flag = false;\n const { container, uid } = overElement.dataset;\n const realOverKey = container ? realOverNode.originKey : uid;\n const newNodes = nodes.filter((node) => {\n if (node.children) {\n node.children = filterNodes(node.children);\n }\n if (node.key === realOverKey) flag = true;\n return node.key !== curNode.key;\n });\n if (flag) {\n newNodes.splice(\n newNodes.findIndex((item) => item.key === realOverKey) +\n (overStatus === \"bottom\" ? 1 : 0),\n 0,\n curNode\n );\n }\n return newNodes;\n };\n\n const normalizeNode = getNodesByPathTree(nodes);\n const realCurNode = curNode.isContainer\n ? normalizeNode.find((item) => item.key === curNode.originKey)\n : curNode;\n const curNodeData = realCurNode.data as Record<string, unknown>;\n curNodeData.path = realOverNode.parentPath || realOverNode.path;\n\n dropEmit({\n nodes: filterNodes(normalizeNode),\n curNode: realCurNode,\n overNode: realOverNode,\n status: overStatus,\n });\n }\n }\n handleOnDragEnd();\n };\n\n useEffect(() => {\n setIsDragging(isDrag);\n }, [isDrag]);\n\n useEffect(() => {\n window.addEventListener(\"dragend\", handleOnDragEnd);\n return () => {\n window.removeEventListener(\"dragend\", handleOnDragEnd);\n };\n }, []);\n\n return (\n <div\n style={{\n height: \"100%\",\n }}\n className=\"tree-wrapper\"\n onContextMenu={onContextMenu}\n >\n {nodes?.length ? (\n <div>\n {!noSearch && (\n <div\n className=\"searchBox\"\n onContextMenu={(e) => e.stopPropagation()}\n >\n <span\n className={classNames(\"filter-input-wrapper\", {\n focus: isFocus,\n })}\n >\n <span className=\"prefix\">\n <WrappedGeneralIcon\n icon=\"search\"\n lib=\"antd\"\n theme=\"outlined\"\n />\n </span>\n <input\n value={q}\n onChange={handleSearchChange}\n onFocus={() => setIsFocus(true)}\n onBlur={() => setIsFocus(false)}\n autoComplete=\"off\"\n placeholder={searchPlaceholder}\n />\n <span className=\"suffix\">\n {q ? (\n <WrappedGeneralIcon\n className=\"clear-button\"\n icon=\"close-circle\"\n lib=\"antd\"\n theme=\"filled\"\n onClick={handleClearInput}\n />\n ) : null}\n </span>\n </span>\n </div>\n )}\n <SearchingContext.Provider value={!!q}>\n <WorkbenchTreeDndContext.Provider\n value={{\n allow: allowDrag,\n allowDragToRoot: allowDragToRoot,\n dragElement: curElement,\n dragOverElement: overElement,\n dragStatus: overStatus,\n onDragStart: handleOnDragStart,\n }}\n >\n <div\n className={classnames({\n hightlight: isDrag,\n })}\n onDragOver={handleOnDragOver}\n onDrop={handleOnDrop}\n >\n <TreeList nodes={filteredNodes} level={1} />\n </div>\n </WorkbenchTreeDndContext.Provider>\n </SearchingContext.Provider>\n </div>\n ) : (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n </div>\n );\n}\n\nfunction TreeList({ nodes, level }: TreeListProps): ReactElement {\n const lastIndex = nodes.length - 1;\n return (\n <ul className=\"tree\">\n {nodes\n .filter((item) => checkIfOfComputed(item))\n .map((node, index) => (\n <TreeNode\n key={node.key}\n node={node}\n level={level}\n isFirst={index === 0}\n isLast={index === lastIndex}\n />\n ))}\n </ul>\n );\n}\n\nfunction PlaceholderDOM({\n style,\n}: {\n style: React.CSSProperties;\n}): React.ReactElement {\n const { dragStatus } = useWorkbenchTreeDndContext();\n const styles: React.CSSProperties = {\n height: 22,\n border: \"1px dashed goldenrod\",\n opacity: dragStatus === dragStatusEnum.inside ? \"0\" : \"1\",\n ...style,\n };\n\n return <li className=\"workbenchTree-placeholder-dom\" style={styles} />;\n}\nexport interface TreeNodeProps {\n node: WorkbenchNodeData;\n level: number;\n isFirst?: boolean;\n isLast?: boolean;\n skipNotify?: boolean;\n}\n\nfunction TreeNode({\n node,\n level,\n isFirst,\n isLast,\n}: TreeNodeProps): ReactElement {\n const isLeaf = !node.children?.length;\n const isContainer = node.isContainer;\n const {\n hoverKey,\n activeKey,\n isTransformName,\n basePaddingLeft,\n showMatchedNodeOnly,\n fixedActionsFor,\n collapsible,\n collapsedNodes,\n nodeKey,\n clickFactory,\n mouseEnterFactory,\n mouseLeaveFactory,\n contextMenuFactory,\n onNodeToggle,\n getCollapsedId,\n skipNotify,\n } = useWorkbenchTreeContext();\n const {\n allow,\n allowDragToRoot,\n onDragStart,\n dragElement,\n dragOverElement,\n dragStatus,\n } = useWorkbenchTreeDndContext();\n\n const { actions, actionsHidden, onActionClick } =\n useWorkbenchActionsContext();\n\n const nodePaddingLeft = level * treeLevelPadding + basePaddingLeft - 2;\n const searching = useContext(SearchingContext);\n const [cacheDragStatus, setCacheDragStatus] = useState(null);\n const [collapseClicked, setCollapseClicked] = useState(false);\n const [collapsed, setCollapsed] = useState(\n collapsedNodes?.includes(getCollapsedId?.(node)) ?? false\n );\n\n const onMouseEnter = useMemo(\n () => mouseEnterFactory?.(node),\n [mouseEnterFactory, node]\n );\n const onMouseLeave = useMemo(\n () => mouseLeaveFactory?.(node),\n [mouseLeaveFactory, node]\n );\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n contextMenuFactory?.(node)?.(e);\n },\n [contextMenuFactory, node]\n );\n\n const isActive = activeKey && node.key === activeKey;\n\n const nodeLabelCallback = useMemo(\n () =>\n isActive\n ? (element: HTMLElement) => {\n element?.scrollIntoView?.({\n block: \"center\",\n inline: \"center\",\n // behavior: \"smooth\",\n });\n }\n : null,\n // Only for initial active node.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const nodeUid = useMemo(() => {\n if (isContainer) {\n return node.key;\n }\n if (node.data) {\n const getNodeUid = (data: Record<string, any>): number | string => {\n return data.type === \"mount-point\"\n ? data.parent[nodeKey] || `${data.parent.$$uid}:${data.mountPoint}`\n : data[nodeKey] || data.$$uid;\n };\n return getNodeUid(node.data);\n }\n }, [nodeKey, node, isContainer]);\n\n useEffect(() => {\n if (dragStatus === dragStatusEnum.inside) {\n return;\n }\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(dragStatus)) {\n setCacheDragStatus(dragStatus);\n }\n }, [dragStatus]);\n\n const isDragElement = useMemo(() => {\n if (dragElement) {\n const dragUid = dragElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragElement, nodeUid]);\n\n const isDragActive = useMemo(() => {\n if (dragOverElement) {\n const dragUid = dragOverElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragOverElement, nodeUid]);\n\n const nodeStyle = useMemo((): React.CSSProperties => {\n const commomStyle: React.CSSProperties = {};\n let style: React.CSSProperties = {\n opacity: isDragElement ? 0.2 : 1,\n };\n if (isDragActive) {\n if (dragStatus === dragStatusEnum.inside) {\n style = {\n boxShadow: borderStyle,\n background: \"rgba(255, 255, 255, 0.1)\",\n };\n }\n }\n return Object.assign(commomStyle, style);\n }, [isDragActive, isDragElement, dragStatus]);\n\n const handleCollapse = useCallback((event: React.MouseEvent | MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setCollapseClicked(true);\n setCollapsed((prev) => !prev);\n }, []);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const onLinkClick = useCallback(\n (e: MouseEvent | React.MouseEvent) => {\n if (isContainer) {\n handleCollapse(e);\n } else {\n return clickFactory?.(node)?.();\n }\n },\n [clickFactory, handleCollapse, isContainer, node]\n );\n\n useEffect(() => {\n if (collapseClicked) {\n onNodeToggle?.(getCollapsedId?.(node), collapsed);\n }\n }, [collapseClicked, collapsed, getCollapsedId, node, onNodeToggle]);\n\n // Disallow collapse leaf nodes, or any nodes when searching.\n const allowCollapse = collapsible && !isLeaf && !searching;\n\n if (searching && showMatchedNodeOnly && !node.matched) {\n return null;\n }\n\n return (\n <>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.top && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n <li\n draggable={allow}\n onDragStart={(e) => onDragStart(e, node)}\n data-uid={nodeUid}\n data-level={level}\n style={nodeStyle}\n {...(isContainer\n ? {\n \"data-container\": isContainer,\n }\n : {})}\n >\n <WrappedLink\n tabIndex={0}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onContextMenu={onContextMenu}\n // noEmptyHref={true}\n onClick={onLinkClick}\n {...(skipNotify\n ? {\n // TODO: link should support\n url: {\n pathname: get(node.link, \"url\", \"href\"),\n state: {\n notify: false,\n },\n } as any,\n }\n : { ...pick(node.link, [\"url\", \"href\"]) })}\n >\n <span\n className={classNames(\"nodeLabelRow\", {\n active: isActive,\n hover: hoverKey && node.key === hoverKey,\n matched: searching && node.matchedSelf && !showMatchedNodeOnly,\n fixedActions:\n fixedActionsFor &&\n []\n .concat(fixedActionsFor)\n .some((source) =>\n isMatch(node.data as Record<string, unknown>, source)\n ),\n collapsed: allowCollapse && collapsed,\n collapsible: allowCollapse,\n })}\n >\n <span\n className={classNames(\"nodeLabel\", {\n unreachable: node.unreachable,\n })}\n style={{\n paddingLeft: nodePaddingLeft,\n color: node.labelColor,\n }}\n ref={nodeLabelCallback}\n >\n <span className=\"nodeIconWrapper\">\n {allowCollapse && (\n <span\n className=\"collapseIcon\"\n onClick={handleCollapse}\n onMouseDown={preventMouseEvent}\n title={collapsed ? \"Expand\" : \"Collapse\"}\n role=\"button\"\n >\n <WrappedGeneralIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon={collapsed ? \"right\" : \"down\"}\n />\n </span>\n )}\n <span className=\"nodeIcon\">\n <WrappedGeneralIcon\n {...(node.icon as GeneralIconProps)}\n style={{\n fontSize: (node.icon as unknown as Record<string, string>)\n ?.imgSrc\n ? 14\n : null,\n }}\n />\n </span>\n </span>\n <span className=\"nodeName\">\n {/* {isTransformName\n ? smartDisplayForEvaluableString(node.name)\n : node.name} */}\n {node.name}\n </span>\n </span>\n <WorkbenchMiniActionBar\n className=\"nodeActionsBar\"\n data={node.data}\n isFirst={isFirst}\n isLast={isLast}\n actions={actions}\n onActionClick={onActionClick}\n actionsHidden={actionsHidden}\n />\n {node.badge && (\n <span className=\"badge\">\n <WrappedGeneralIcon {...(node.badge as GeneralIconProps)} />\n </span>\n )}\n </span>\n </WrappedLink>\n {isLeaf || <TreeList nodes={node.children} level={level + 1} />}\n </li>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.bottom && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n </>\n );\n}\n","import _ from \"lodash\";\nimport { WorkbenchNodeData } from \"../interfaces.js\";\n\nexport function getNodeTreeByPath(\n nodes: WorkbenchNodeData[],\n nodeKey: string\n): Array<WorkbenchNodeData> {\n const createNodeByPath = (\n pathList: string[],\n nodes: Array<WorkbenchNodeData>,\n node: WorkbenchNodeData,\n index?: number\n ): void => {\n const path = pathList.shift();\n if (path) {\n pathList.length > 0\n ? pathList.splice(0, 1, `${path}/${pathList[0]}`)\n : pathList;\n const folder = nodes.find(\n (node) => node && node.key === path && node.isContainer\n );\n if (folder) {\n nodes[index] = null;\n createNodeByPath(pathList, folder.children, node);\n } else {\n const newPathList = path.split(\"/\");\n const newNode = {\n name: newPathList.pop(),\n key: path,\n parentPath: newPathList ? newPathList.join(\"/\") : newPathList,\n originKey: node.key,\n data: {\n [nodeKey]: path,\n isContainer: true,\n },\n children: [],\n icon: {\n icon: \"folder\",\n lib: \"antd\",\n theme: \"filled\",\n color: \"orange\",\n },\n isContainer: true,\n } as WorkbenchNodeData;\n if (typeof index === \"number\") {\n nodes[index] = newNode;\n } else {\n nodes.push(newNode);\n }\n createNodeByPath(pathList, newNode.children, node);\n }\n } else {\n nodes.push(node);\n }\n };\n\n nodes.forEach((node, index) => {\n if (node.path) {\n const pathList = node.path.split(\"/\").filter(Boolean);\n createNodeByPath(pathList, nodes, node, index);\n }\n });\n return nodes.filter(Boolean);\n}\n\nexport function getNodesByPathTree(\n nodes: Array<WorkbenchNodeData>\n): Array<WorkbenchNodeData> {\n const result: Array<WorkbenchNodeData> = [];\n const walk = (nodes: Array<WorkbenchNodeData>): void => {\n nodes.forEach((item) => {\n if (item.isContainer) {\n walk(item.children);\n } else {\n result.push(_.omit(item, [\"path\", \"icon\"]) as WorkbenchNodeData);\n }\n });\n };\n walk(nodes);\n return result;\n}\n","export function setDragImage(\n e: DragEvent | React.DragEvent,\n title: string\n): void {\n const canvas = document.createElement(\"canvas\");\n document.body.append(canvas);\n const context = canvas.getContext(\"2d\");\n canvas.width = context.measureText(title).width + 60;\n canvas.height = 20;\n canvas.style.position = \"absolute\";\n canvas.style.left = \"-100%\";\n canvas.style.zIndex = \"-100\";\n\n context.fillStyle = \"#333333\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n\n context.fillStyle = \"#999999\";\n context.font = \"bold 14px Arial\";\n context.fillText(title, 20, 15);\n\n e.dataTransfer.setDragImage(canvas, 0, 0);\n}\n","import { createContext, useContext } from \"react\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { dragStatusEnum } from \"./WorkbenchTreeDndContext.js\";\n\nexport interface dropOptions {\n curElement: HTMLElement;\n overElement: HTMLElement;\n parentElement: HTMLElement;\n overStatus: dragStatusEnum;\n}\n\nexport interface ContextOfWorkbenchTree {\n hoverKey?: string | number;\n activeKey?: string | number;\n basePaddingLeft?: number;\n showMatchedNodeOnly?: boolean;\n isTransformName?: boolean;\n fixedActionsFor?: Record<string, unknown> | Record<string, unknown>[];\n collapsible?: boolean;\n collapsedNodes?: (string | number)[];\n nodeKey?: string;\n clickFactory?(node: WorkbenchNodeData): () => void;\n mouseEnterFactory?(node: WorkbenchNodeData): () => void;\n mouseLeaveFactory?(node: WorkbenchNodeData): () => void;\n contextMenuFactory?(\n node?: WorkbenchNodeData\n ): (event: React.MouseEvent) => void;\n matchNode?(node: WorkbenchNodeData, lowerTrimmedQuery?: string): boolean;\n onNodeToggle?(nodeId: string | number, collapsed: boolean): void;\n getCollapsedId?(node: WorkbenchNodeData): string | number;\n onBrickDrop?(e: React.DragEvent<HTMLElement>, options: dropOptions): void;\n skipNotify?: boolean;\n}\n\nexport const WorkbenchTreeContext = createContext<ContextOfWorkbenchTree>({});\n\nexport function useWorkbenchTreeContext(): ContextOfWorkbenchTree {\n return useContext(WorkbenchTreeContext);\n}\n","export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// 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, `.actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}`, \"\"]);\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-context(html[data-theme=\"light\"]),\n:host-context(html[data-override-theme=\"light\"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context(html[data-override-theme=\"dark-v2\"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nfunction createAddInitializerMethod(initializers, decoratorFinishedRef) {\n return function (initializer) {\n assertNotFinished(decoratorFinishedRef, \"addInitializer\"), assertCallable(initializer, \"An initializer\"), initializers.push(initializer);\n };\n}\nfunction assertInstanceIfPrivate(has, target) {\n if (!has(target)) throw new TypeError(\"Attempted to access private element on non-instance\");\n}\nfunction memberDec(dec, thisArg, name, desc, initializers, kind, isStatic, isPrivate, value, hasPrivateBrand) {\n var kindStr;\n switch (kind) {\n case 1:\n kindStr = \"accessor\";\n break;\n case 2:\n kindStr = \"method\";\n break;\n case 3:\n kindStr = \"getter\";\n break;\n case 4:\n kindStr = \"setter\";\n break;\n default:\n kindStr = \"field\";\n }\n var get,\n set,\n ctx = {\n kind: kindStr,\n name: isPrivate ? \"#\" + name : name,\n \"static\": isStatic,\n \"private\": isPrivate\n },\n decoratorFinishedRef = {\n v: !1\n };\n if (0 !== kind && (ctx.addInitializer = createAddInitializerMethod(initializers, decoratorFinishedRef)), isPrivate || 0 !== kind && 2 !== kind) {\n if (2 === kind) get = function get(target) {\n return assertInstanceIfPrivate(hasPrivateBrand, target), desc.value;\n };else {\n var t = 0 === kind || 1 === kind;\n (t || 3 === kind) && (get = isPrivate ? function (target) {\n return assertInstanceIfPrivate(hasPrivateBrand, target), desc.get.call(target);\n } : function (target) {\n return desc.get.call(target);\n }), (t || 4 === kind) && (set = isPrivate ? function (target, value) {\n assertInstanceIfPrivate(hasPrivateBrand, target), desc.set.call(target, value);\n } : function (target, value) {\n desc.set.call(target, value);\n });\n }\n } else get = function get(target) {\n return target[name];\n }, 0 === kind && (set = function set(target, v) {\n target[name] = v;\n });\n var has = isPrivate ? hasPrivateBrand.bind() : function (target) {\n return name in target;\n };\n ctx.access = get && set ? {\n get: get,\n set: set,\n has: has\n } : get ? {\n get: get,\n has: has\n } : {\n set: set,\n has: has\n };\n try {\n return dec.call(thisArg, value, ctx);\n } finally {\n decoratorFinishedRef.v = !0;\n }\n}\nfunction assertNotFinished(decoratorFinishedRef, fnName) {\n if (decoratorFinishedRef.v) throw new Error(\"attempted to call \" + fnName + \" after decoration was finished\");\n}\nfunction assertCallable(fn, hint) {\n if (\"function\" != typeof fn) throw new TypeError(hint + \" must be a function\");\n}\nfunction assertValidReturnValue(kind, value) {\n var type = _typeof(value);\n if (1 === kind) {\n if (\"object\" !== type || null === value) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n void 0 !== value.get && assertCallable(value.get, \"accessor.get\"), void 0 !== value.set && assertCallable(value.set, \"accessor.set\"), void 0 !== value.init && assertCallable(value.init, \"accessor.init\");\n } else if (\"function\" !== type) {\n var hint;\n throw hint = 0 === kind ? \"field\" : 5 === kind ? \"class\" : \"method\", new TypeError(hint + \" decorators must return a function or void 0\");\n }\n}\nfunction curryThis1(fn) {\n return function () {\n return fn(this);\n };\n}\nfunction curryThis2(fn) {\n return function (value) {\n fn(this, value);\n };\n}\nfunction applyMemberDec(ret, base, decInfo, decoratorsHaveThis, name, kind, isStatic, isPrivate, initializers, hasPrivateBrand) {\n var desc,\n init,\n value,\n newValue,\n get,\n set,\n decs = decInfo[0];\n decoratorsHaveThis || Array.isArray(decs) || (decs = [decs]), isPrivate ? desc = 0 === kind || 1 === kind ? {\n get: curryThis1(decInfo[3]),\n set: curryThis2(decInfo[4])\n } : 3 === kind ? {\n get: decInfo[3]\n } : 4 === kind ? {\n set: decInfo[3]\n } : {\n value: decInfo[3]\n } : 0 !== kind && (desc = Object.getOwnPropertyDescriptor(base, name)), 1 === kind ? value = {\n get: desc.get,\n set: desc.set\n } : 2 === kind ? value = desc.value : 3 === kind ? value = desc.get : 4 === kind && (value = desc.set);\n for (var inc = decoratorsHaveThis ? 2 : 1, i = decs.length - 1; i >= 0; i -= inc) {\n var newInit;\n if (void 0 !== (newValue = memberDec(decs[i], decoratorsHaveThis ? decs[i - 1] : void 0, name, desc, initializers, kind, isStatic, isPrivate, value, hasPrivateBrand))) assertValidReturnValue(kind, newValue), 0 === kind ? newInit = newValue : 1 === kind ? (newInit = newValue.init, get = newValue.get || value.get, set = newValue.set || value.set, value = {\n get: get,\n set: set\n }) : value = newValue, void 0 !== newInit && (void 0 === init ? init = newInit : \"function\" == typeof init ? init = [init, newInit] : init.push(newInit));\n }\n if (0 === kind || 1 === kind) {\n if (void 0 === init) init = function init(instance, _init) {\n return _init;\n };else if (\"function\" != typeof init) {\n var ownInitializers = init;\n init = function init(instance, _init2) {\n for (var value = _init2, i = ownInitializers.length - 1; i >= 0; i--) value = ownInitializers[i].call(instance, value);\n return value;\n };\n } else {\n var originalInitializer = init;\n init = function init(instance, _init3) {\n return originalInitializer.call(instance, _init3);\n };\n }\n ret.push(init);\n }\n 0 !== kind && (1 === kind ? (desc.get = value.get, desc.set = value.set) : 2 === kind ? desc.value = value : 3 === kind ? desc.get = value : 4 === kind && (desc.set = value), isPrivate ? 1 === kind ? (ret.push(function (instance, args) {\n return value.get.call(instance, args);\n }), ret.push(function (instance, args) {\n return value.set.call(instance, args);\n })) : 2 === kind ? ret.push(value) : ret.push(function (instance, args) {\n return value.call(instance, args);\n }) : Object.defineProperty(base, name, desc));\n}\nfunction applyMemberDecs(Class, decInfos, instanceBrand) {\n for (var protoInitializers, staticInitializers, staticBrand, ret = [], existingProtoNonFields = new Map(), existingStaticNonFields = new Map(), i = 0; i < decInfos.length; i++) {\n var decInfo = decInfos[i];\n if (Array.isArray(decInfo)) {\n var base,\n initializers,\n kind = decInfo[1],\n name = decInfo[2],\n isPrivate = decInfo.length > 3,\n decoratorsHaveThis = 16 & kind,\n isStatic = !!(8 & kind),\n hasPrivateBrand = instanceBrand;\n if (kind &= 7, isStatic ? (base = Class, 0 !== kind && (initializers = staticInitializers = staticInitializers || []), isPrivate && !staticBrand && (staticBrand = function staticBrand(_) {\n return checkInRHS(_) === Class;\n }), hasPrivateBrand = staticBrand) : (base = Class.prototype, 0 !== kind && (initializers = protoInitializers = protoInitializers || [])), 0 !== kind && !isPrivate) {\n var existingNonFields = isStatic ? existingStaticNonFields : existingProtoNonFields,\n existingKind = existingNonFields.get(name) || 0;\n if (!0 === existingKind || 3 === existingKind && 4 !== kind || 4 === existingKind && 3 !== kind) throw new Error(\"Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: \" + name);\n existingNonFields.set(name, !(!existingKind && kind > 2) || kind);\n }\n applyMemberDec(ret, base, decInfo, decoratorsHaveThis, name, kind, isStatic, isPrivate, initializers, hasPrivateBrand);\n }\n }\n return pushInitializers(ret, protoInitializers), pushInitializers(ret, staticInitializers), ret;\n}\nfunction pushInitializers(ret, initializers) {\n initializers && ret.push(function (instance) {\n for (var i = 0; i < initializers.length; i++) initializers[i].call(instance);\n return instance;\n });\n}\nfunction applyClassDecs(targetClass, classDecs, decoratorsHaveThis) {\n if (classDecs.length) {\n for (var initializers = [], newClass = targetClass, name = targetClass.name, inc = decoratorsHaveThis ? 2 : 1, i = classDecs.length - 1; i >= 0; i -= inc) {\n var decoratorFinishedRef = {\n v: !1\n };\n try {\n var nextNewClass = classDecs[i].call(decoratorsHaveThis ? classDecs[i - 1] : void 0, newClass, {\n kind: \"class\",\n name: name,\n addInitializer: createAddInitializerMethod(initializers, decoratorFinishedRef)\n });\n } finally {\n decoratorFinishedRef.v = !0;\n }\n void 0 !== nextNewClass && (assertValidReturnValue(5, nextNewClass), newClass = nextNewClass);\n }\n return [newClass, function () {\n for (var i = 0; i < initializers.length; i++) initializers[i].call(newClass);\n }];\n }\n}\nexport default function applyDecs2305(targetClass, memberDecs, classDecs, classDecsHaveThis, instanceBrand) {\n return {\n e: applyMemberDecs(targetClass, memberDecs, instanceBrand),\n get c() {\n return applyClassDecs(targetClass, classDecs, classDecsHaveThis);\n }\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(value) {\n if (Object(value) !== value) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== value ? _typeof(value) : \"null\"));\n return value;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","export default function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n return privateMap.get(receiver);\n}","import classApplyDescriptorGet from \"./classApplyDescriptorGet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}","export default function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import classApplyDescriptorSet from \"./classApplyDescriptorSet.js\";\nimport classExtractFieldDescriptor from \"./classExtractFieldDescriptor.js\";\nexport default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}","export default function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["WorkbenchActionsContext","createContext","useWorkbenchActionsContext","useContext","dragStatusEnum","WorkbenchTreeDndContext","useWorkbenchTreeDndContext","WrappedGeneralIcon","wrapBrick","WorkbenchMiniActionBar","_ref","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","checkIfByTransform","length","React","classNames","style","map","WorkbenchSubAction","key","action","_ref2","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","role","onClick","onContextMenu","onMouseDown","icon","WrappedLink","treeLevelPadding","borderStyle","SearchingContext","WorkbenchTree","nodes","originNode","placeholder","searchPlaceholder","isDrag","noSearch","allowDrag","allowDragToRoot","allowDragToInside","dropEmit","q","setQ","useState","isDragging","setIsDragging","curNode","setCurNode","curElement","setCurElement","overNode","setOverNode","overElement","setOverElement","overStatus","setOverStatus","isFocus","setIsFocus","nodeKey","onBrickDrop","contextMenuFactory","matchNode","useWorkbenchTreeContext","_originNode$slice","createNodeByPath","pathList","node","index","path","shift","splice","concat","folder","find","isContainer","children","newPathList","split","newNode","name","pop","parentPath","join","originKey","lib","theme","color","push","forEach","Boolean","getNodeTreeByPath","slice","handleSearchChange","target","value","trimmedLowerQ","trim","toLowerCase","filteredNodes","walk","_node$children","matchedSelf","hasMatchedChildren","includes","matched","findDragParent","element","equal","arguments","undefined","draggable","tagName","parentElement","findNode","id","handleOnDragEnd","useEffect","window","addEventListener","removeEventListener","height","e","focus","onChange","onFocus","onBlur","autoComplete","handleClearInput","Provider","allow","dragElement","dragOverElement","dragStatus","onDragStart","handleOnDragStart","_element$dataset","dataset","container","canvas","document","createElement","body","append","context","getContext","width","measureText","position","left","zIndex","fillStyle","fillRect","font","fillText","dataTransfer","setDragImage","innerText","classnames","hightlight","onDragOver","dom","uid","status","top","bottom","getBoundingClientRect","repair","clientY","inside","getDragState","contains","onDrop","Number","level","realOverNode","findRealNode","i","overUid","filterNodes","flag","realOverKey","newNodes","findIndex","normalizeNode","result","_","getNodesByPathTree","realCurNode","TreeList","lastIndex","checkIfOfComputed","TreeNode","PlaceholderDOM","_ref3","styles","_objectSpread","border","opacity","_ref4","_node$children2","_collapsedNodes$inclu","_node$icon","isLeaf","hoverKey","activeKey","isTransformName","basePaddingLeft","showMatchedNodeOnly","fixedActionsFor","collapsible","collapsedNodes","clickFactory","mouseEnterFactory","mouseLeaveFactory","onNodeToggle","getCollapsedId","skipNotify","nodePaddingLeft","searching","cacheDragStatus","setCacheDragStatus","collapseClicked","setCollapseClicked","collapsed","setCollapsed","onMouseEnter","onMouseLeave","_contextMenuFactory","isActive","nodeLabelCallback","_element$scrollIntoVi","scrollIntoView","call","block","inline","nodeUid","type","parent","$$uid","mountPoint","isDragElement","String","isDragActive","nodeStyle","boxShadow","background","Object","assign","handleCollapse","prev","onLinkClick","_clickFactory","allowCollapse","marginLeft","_extends","tabIndex","url","pathname","get","link","state","notify","pick","active","hover","fixedActions","some","source","isMatch","unreachable","paddingLeft","labelColor","ref","fontSize","imgSrc","badge","WorkbenchTreeContext","deepMatch","lowerTrimmedQuery","Array","isArray","entries","flat","hasOwn","hasOwnProperty","classes","arg","argType","inner","apply","toString","prototype","module","exports","default","___CSS_LOADER_EXPORT___","cssWithMappingToString","list","this","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","k","_k","createAddInitializerMethod","initializers","decoratorFinishedRef","initializer","fnName","v","Error","assertNotFinished","assertCallable","assertInstanceIfPrivate","has","TypeError","memberDec","dec","thisArg","desc","kind","isStatic","isPrivate","hasPrivateBrand","kindStr","set","ctx","addInitializer","t","bind","access","fn","hint","assertValidReturnValue","init","curryThis2","applyMemberDec","ret","base","decInfo","decoratorsHaveThis","newValue","decs","getOwnPropertyDescriptor","inc","newInit","instance","_init","ownInitializers","_init2","originalInitializer","_init3","args","defineProperty","applyMemberDecs","Class","decInfos","instanceBrand","protoInitializers","staticInitializers","staticBrand","existingProtoNonFields","Map","existingStaticNonFields","existingNonFields","existingKind","pushInitializers","applyDecs2305","targetClass","memberDecs","classDecs","classDecsHaveThis","c","newClass","nextNewClass","applyClassDecs","_checkInRHS","_checkPrivateRedeclaration","obj","privateCollection","_classExtractFieldDescriptor","receiver","privateMap","_classPrivateFieldGet","descriptor","classExtractFieldDescriptor","_classPrivateFieldInitSpec","_classPrivateFieldSet","writable"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[9194],{9194:(e,t,r)=>{r.d(t,{Z:()=>D});var a,i=r(4795),n=r(3028),o=r(7975),s=r(5178),d=r(1763),p=r.n(d)();function l(){return(l=(0,i.Z)((function*(e,t){var r,a=yield p(document.body,{logging:!1,scale:1,width:window.innerWidth,height:window.innerHeight,foreignObjectRendering:!0}),i=document.createElement("canvas");return function(e,t,r,a){var i=r/a,{width:n,height:o}=e,s=n/o,d=s>=i,p=d?r:a*s,l=d?r/s:a;t.width=p,t.height=l,t.getContext("2d").drawImage(e,0,0,n,o,0,0,p,l),t.toDataURL()}(a,i,e,t),yield(r=i,new Promise((function(e,t){r.toBlob((function(r){r?e(r):t()}))})))}))).apply(this,arguments)}function c(e){var t;e.preventDefault(),e.stopPropagation(),(t=y(e.target)).length>0&&window.parent.postMessage({sender:"previewer",type:"select-brick",iidList:t},a)}function u(e){e.preventDefault(),e.stopPropagation()}var v=(0,s.throttle)((e=>{var t=y(e.target);t.length>0&&window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:t},a)}),100,{leading:!1});function w(e){e.preventDefault(),e.stopPropagation(),v(e)}function h(e){e.preventDefault(),e.stopPropagation(),v(e)}function g(e){e.preventDefault(),e.stopPropagation(),window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:[]},a)}function m(e){var t,r,i;e.preventDefault(),e.stopPropagation(),t=e.target,r={x:e.clientX,y:e.clientY},(i=y(t)).length>0&&window.parent.postMessage({sender:"previewer",type:"context-menu-on-brick",iidList:i,position:r},a)}function y(e){for(var t=[],r=e;r;)"string"==typeof r.dataset.iid&&t.push(r.dataset.iid),r=r.parentElement;return t}var b=!1,f=o.getHistory,S=o.matchPath,k=o.__secret_internals,x=!1;try{var E,L=window.dll;if(L&&null!==(E=window.BRICK_NEXT_VERSIONS)&&void 0!==E&&null!==(E=E["brick-container"])&&void 0!==E&&E.startsWith("2.")){var{getHistory:I,developHelper:P}=L("tYg3"),{matchPath:C}=L("A+yw");f=I,S=C,k=(0,n.Z)((0,n.Z)({},P),{},{getContextValue(e,t){var{tplStateStoreId:r}=t;return P.getContextValue(e,{tplContextId:r})},getAllContextValues(e){var{tplStateStoreId:t}=e,r=P.getAllContextValues({tplContextId:t});return Object.fromEntries([...r].map((e=>{var[t,r]=e;return[t,r.value]})))}}),x=!0}}catch(e){console.error("Try to use v2 runtime APIs failed:",e)}function D(e,t){return T.apply(this,arguments)}function T(){return T=(0,i.Z)((function*(e,t){if(!b){b=!0;var r,i,d,p,v=t=>{window.parent.postMessage((0,n.Z)({sender:"previewer"},t),e)};v({type:"preview-started"}),a=e;var E,L=(e,t,r)=>{var a=N(t);v({type:"highlight-brick",highlightType:e,outlines:a,iid:t,alias:r})};t.templateId&&(E=t.settings);var I=()=>{k.updateTemplatePreviewSettings(t.appId,t.templateId,E),f().reload()},P=()=>{k.updateSnippetPreviewSettings(t.appId,JSON.parse(t.snippetData)),f().reload()},C=f();window.addEventListener("message",(n=>{var b,S,D,{data:T,origin:_}=n;if(_===e&&T&&"preview-container"===T.sender)if("builder"===T.forwardedFor)switch(T.type){case"hover-on-brick":r=T.iid,i=T.alias,L("hover",T.iid,T.alias);break;case"hover-on-main":L("hover","#main-mount-point","root");break;case"hover-on-context":D=T.highlightNodes.map((e=>N(e.iid,e.alias))).flat(),v({type:"highlight-context",outlines:D});break;case"select-brick":d=T.iid,p=T.alias,L("active",T.iid,T.alias);break;case"hover-on-iframe":(e=>{var t=document.elementFromPoint(e.x,e.y);if("BODY"===(null==t?void 0:t.tagName))window.parent.postMessage({sender:"previewer",type:"hover-on-main",isDirection:!0,position:{x:e.x,y:e.y}},a);else{var r=y(t);window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:r,isDirection:!0,position:{x:e.x,y:e.y}},a)}})(T.position)}else switch(T.type){case"toggle-inspecting":T.enabled?(window.addEventListener("click",c,!0),window.addEventListener("mousedown",u,!0),window.addEventListener("mouseover",u,!0),window.addEventListener("mouseup",u,!0),window.addEventListener("pointerdown",w,!0),window.addEventListener("pointerover",h,!0),window.addEventListener("pointerup",u,!0),window.addEventListener("pointerleave",g,!0),window.addEventListener("contextmenu",m,!0)):(window.removeEventListener("click",c,!0),window.removeEventListener("mousedown",u,!0),window.removeEventListener("mouseover",u,!0),window.removeEventListener("mouseup",u,!0),window.removeEventListener("pointerdown",w,!0),window.removeEventListener("pointerover",h,!0),window.removeEventListener("pointerup",u,!0),window.removeEventListener("pointerleave",g,!0),window.removeEventListener("contextmenu",m,!0));break;case"refresh":if(null!==(b=T.options)&&void 0!==b&&b.updateStoryboardType){var A,M;"route"===T.options.updateStoryboardType?k.updateStoryboardByRoute(t.appId,T.storyboardPatch):"template"===T.options.updateStoryboardType?k.updateStoryboardByTemplate(t.appId,T.storyboardPatch,T.options.settings):"snippet"===T.options.updateStoryboardType&&k.updateStoryboardBySnippet(t.appId,T.storyboardPatch);var B=null===(A=(M=k).getAddedContracts)||void 0===A?void 0:A.call(M,T.storyboardPatch,{appId:t.appId,updateStoryboardType:T.options.updateStoryboardType,formId:t.formId});(0,s.isEmpty)(B)?f().reload():v({type:"contract-update",data:{add:B}});break}k.updateStoryboard(t.appId,T.storyboardPatch),t.templateId?(E=T.settings,I()):null!==(S=T.options)&&void 0!==S&&S.snippetData?(t.snippetData=T.options.snippetData,P()):f().reload();break;case"reload":location.reload();break;case"back":C.goBack();break;case"forward":C.goForward();break;case"capture":(function(e,t){return l.apply(this,arguments)})(T.maxWidth,T.maxHeight).then((e=>{v({type:"capture-ok",screenshot:e})}),(()=>{v({type:"capture-failed"})}));break;case"inspect-data-value":((e,t)=>{try{var r,a,i,{dataType:n}=t,o=x?"tplContextId":"tplStateStoreId";if("state"===n&&!(r=document.querySelector("#main-mount-point").firstChild.dataset[o]))return void v({type:"inspect-data-value-error",data:{error:{message:"tplStateStoreId not found, unable to preview STATE value"}}});if(e)i="inspect-single-data-value-success",a=k.getContextValue(e,{tplStateStoreId:r});else{i="inspect-all-data-values-success";var s=k.getAllContextValues({tplStateStoreId:r});a=Object.entries(s).map((e=>{var[t,r]=e;return{name:t,value:r}}))}v({type:i,data:{name:e,value:a}})}catch(e){v({type:"inspect-data-value-error",data:{message:e.message}})}})(T.name,T.option);break;case"update-preview-url":var O=T.previewUrl.startsWith(window.origin)?T.previewUrl.substring(window.origin.length):T.previewUrl,Z=(0,o.getBasePath)(),H=O.startsWith(Z)?O.substring(Z.length-1):O;f().push(H);break;case"update-preview-route":t.routePath=T.routePath,t.routeExact=T.routeExact}})),window.addEventListener("scroll",(()=>{v({type:"scroll",scroll:{x:window.scrollX,y:window.scrollY}})}));var D=!0,T=e=>{if(v({type:"url-change",url:location.origin+C.createHref(e)}),t.routePath){var r=!!S(e.pathname,{path:t.routePath,exact:t.routeExact});if(v({type:"route-match-change",match:r}),t.templateId&&!D&&r){var a=document.querySelector("#main-mount-point"),i=new MutationObserver((()=>{1===a.childNodes.length&&"SPAN"===a.firstChild.tagName&&0===a.firstChild.childNodes.length&&(I(),i.disconnect())}));i.observe(a,{childList:!0})}if(t.snippetData&&!D&&r){var n=document.querySelector("#main-mount-point"),o=new MutationObserver((()=>{1===n.childNodes.length&&"SPAN"===n.firstChild.tagName&&0===n.firstChild.childNodes.length&&(P(),o.disconnect())}));o.observe(n,{childList:!0})}D=r}};T(C.location),C.listen(T),t.templateId&&I(),t.snippetData&&P(),new MutationObserver((0,s.throttle)((()=>{r&&L("hover",r,i),d&&L("active",d,p)}),100,{leading:!1})).observe(document.body,{subtree:!0,childList:!0})}})),T.apply(this,arguments)}function N(e,t){if(!e)return[];var r=e.includes("#"),a=function(e,t){return[...e].map((e=>{var{width:r,height:a,left:i,top:n}=e.getBoundingClientRect();return{width:r,height:a,left:i+window.scrollX,top:n+window.scrollY,alias:t}}))}(document.querySelectorAll(r?e:'[data-iid="'.concat(e,'"]')),t);return r?a.map((e=>(0,n.Z)((0,n.Z)({},e),{},{height:window.innerHeight-e.top}))):a}}}]);
2
+ //# sourceMappingURL=9194.3e21e9c0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/9194.3e21e9c0.js","mappings":"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","sources":["webpack:///./src/data-providers/preview/inspector.ts","webpack:///./src/data-providers/preview/capture.ts","webpack:///./src/data-providers/preview/resizeScreenshot.ts","webpack:///./src/data-providers/preview/connect.ts"],"sourcesContent":["// 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 { throttle } from \"lodash\";\nimport type {\n PreviewMessagePreviewerHoverOnBrick,\n PreviewMessagePreviewerSelectBrick,\n PreviewMessagePreviewerContextMenuOnBrick,\n} from \"./interfaces.js\";\n\nexport let previewProxyOrigin: string;\n\nexport function setPreviewFromOrigin(origin: string): void {\n previewProxyOrigin = origin;\n}\n\nexport function startInspecting(): void {\n registerListeners();\n}\n\nexport function stopInspecting(): void {\n unregisterListeners();\n}\n\nfunction registerListeners(): void {\n window.addEventListener(\"click\", onClick, true);\n window.addEventListener(\"mousedown\", onMouseEvent, true);\n window.addEventListener(\"mouseover\", onMouseEvent, true);\n window.addEventListener(\"mouseup\", onMouseEvent, true);\n window.addEventListener(\"pointerdown\", onPointerDown, true);\n window.addEventListener(\"pointerover\", onPointerOver, true);\n window.addEventListener(\"pointerup\", onMouseEvent, true);\n window.addEventListener(\"pointerleave\", onPointerLeave, true);\n window.addEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction unregisterListeners(): void {\n window.removeEventListener(\"click\", onClick, true);\n window.removeEventListener(\"mousedown\", onMouseEvent, true);\n window.removeEventListener(\"mouseover\", onMouseEvent, true);\n window.removeEventListener(\"mouseup\", onMouseEvent, true);\n window.removeEventListener(\"pointerdown\", onPointerDown, true);\n window.removeEventListener(\"pointerover\", onPointerOver, true);\n window.removeEventListener(\"pointerup\", onMouseEvent, true);\n window.removeEventListener(\"pointerleave\", onPointerLeave, true);\n window.removeEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectBrick(event.target as HTMLElement);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnBrick = throttle(\n (e: MouseEvent) => {\n const brick = e.target as HTMLElement;\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n }\n },\n 100,\n { leading: false }\n);\n\nfunction onPointerDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerOver(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList: [],\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n}\n\nfunction onContextMenu(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n contextMenuOnBrick(event.target as HTMLElement, {\n x: event.clientX,\n y: event.clientY,\n });\n}\n\nfunction contextMenuOnBrick(\n brick: HTMLElement,\n position: {\n x: number;\n y: number;\n }\n): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"context-menu-on-brick\",\n iidList,\n position,\n } as PreviewMessagePreviewerContextMenuOnBrick,\n previewProxyOrigin\n );\n }\n}\n\nfunction selectBrick(brick: HTMLElement): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"select-brick\",\n iidList,\n } as PreviewMessagePreviewerSelectBrick,\n previewProxyOrigin\n );\n }\n}\n\nexport function getPossibleBrickIidList(brick: HTMLElement): string[] {\n const iidList: string[] = [];\n // Traverse from bottom to up, to find bricks current hover on.\n let cursor: HTMLElement | null = brick;\n while (cursor) {\n if (typeof cursor.dataset.iid === \"string\") {\n iidList.push(cursor.dataset.iid);\n }\n cursor = cursor.parentElement;\n }\n return iidList;\n}\n","// istanbul ignore file: nothing logical except calling html2canvas.\nimport _html2canvas from \"html2canvas\";\nimport { resizeScreenshot } from \"./resizeScreenshot.js\";\n\n// There is a type issue like i18next\nconst html2canvas = _html2canvas as unknown as typeof _html2canvas.default;\n\nfunction getCanvasBlob(canvas: HTMLCanvasElement): Promise<Blob> {\n return new Promise(function (resolve, reject) {\n canvas.toBlob(function (blob: Blob | null) {\n if (blob) {\n resolve(blob);\n } else {\n reject();\n }\n });\n });\n}\n\nexport async function capture(\n maxWidth: number,\n maxHeight: number\n): Promise<Blob> {\n const sourceCanvas = await html2canvas(document.body, {\n logging: false,\n scale: 1,\n width: window.innerWidth,\n height: window.innerHeight,\n foreignObjectRendering: true,\n });\n const targetCanvas = document.createElement(\"canvas\");\n resizeScreenshot(sourceCanvas, targetCanvas, maxWidth, maxHeight);\n const blob = await getCanvasBlob(targetCanvas);\n return blob;\n}\n","export function resizeScreenshot(\n canvas: HTMLCanvasElement,\n targetCanvas: HTMLCanvasElement,\n maxWidth: number,\n maxHeight: number\n): string {\n const targetRatio = maxWidth / maxHeight;\n const { width, height } = canvas;\n const ratio = width / height;\n const wider = ratio >= targetRatio;\n const finalWidth = wider ? maxWidth : maxHeight * ratio;\n const finalHeight = wider ? maxWidth / ratio : maxHeight;\n targetCanvas.width = finalWidth;\n targetCanvas.height = finalHeight;\n\n const ctx = targetCanvas.getContext(\"2d\")!;\n ctx.drawImage(canvas, 0, 0, width, height, 0, 0, finalWidth, finalHeight);\n return targetCanvas.toDataURL();\n}\n","import {\n getHistory as _getHistory,\n getBasePath,\n matchPath as _matchPath,\n __secret_internals as _internals,\n type NextLocation,\n} from \"@next-core/runtime\";\nimport type { BrickConf, CustomTemplate, RouteConf } from \"@next-core/types\";\nimport { isEmpty, pick, throttle } from \"lodash\";\nimport type {\n BrickOutline,\n HighLightNode,\n Position,\n PreviewDataOption,\n PreviewMessageFromPreviewer,\n PreviewMessagePreviewContractUpdate,\n PreviewMessagePreviewDataValueError,\n PreviewMessagePreviewDataValueSuccess,\n PreviewMessagePreviewerCaptureFailed,\n PreviewMessagePreviewerCaptureOk,\n PreviewMessagePreviewerHighlightBrick,\n PreviewMessagePreviewerHighlightContext,\n PreviewMessagePreviewerHoverOnMain,\n PreviewMessagePreviewerRouteMatchChange,\n PreviewMessagePreviewerScroll,\n PreviewMessagePreviewerUrlChange,\n PreviewMessageToPreviewer,\n PreviewSettings,\n PreviewStartOptions,\n} from \"./interfaces.js\";\nimport { capture } from \"./capture.js\";\nimport {\n previewProxyOrigin,\n getPossibleBrickIidList,\n setPreviewFromOrigin,\n startInspecting,\n stopInspecting,\n} from \"./inspector.js\";\n\nlet connected = false;\n\ninterface DLL {\n (moduleId: \"tYg3\"): {\n getHistory: typeof _getHistory;\n developHelper: typeof _internals;\n };\n (moduleId: \"A+yw\"): {\n matchPath: typeof _matchPath;\n };\n}\n\nlet getHistory = _getHistory;\nlet matchPath = _matchPath;\nlet __secret_internals = _internals;\nlet isV2 = false;\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\ntry {\n const dll = (window as unknown as { dll?: DLL }).dll;\n if (\n dll &&\n window.BRICK_NEXT_VERSIONS?.[\"brick-container\"]?.startsWith(\"2.\")\n ) {\n const { getHistory: getHistoryV2, developHelper: developHelperV2 } =\n dll(\"tYg3\");\n const { matchPath: matchPathV2 } = dll(\"A+yw\");\n getHistory = getHistoryV2;\n matchPath = matchPathV2;\n // The `__secret_internals` of v3 has pretty the same API as\n // `developHelper` of v2, especially those for preview usage.\n __secret_internals = {\n ...developHelperV2,\n getContextValue(name, { tplStateStoreId }) {\n return developHelperV2.getContextValue(name, {\n tplContextId: tplStateStoreId,\n } as any);\n },\n getAllContextValues({ tplStateStoreId }) {\n // V3 returns an object of key-value.\n // While v2 returns a map of ContextItem.\n const v2Map = developHelperV2.getAllContextValues({\n tplContextId: tplStateStoreId,\n } as any) as unknown as Map<string, { value: unknown }>;\n return Object.fromEntries(\n [...v2Map].map(([k, v]) => [k, (v as any).value])\n );\n },\n };\n isV2 = true;\n }\n} catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Try to use v2 runtime APIs failed:\", e);\n}\n\nexport default async function connect(\n previewFromOrigin: string,\n options: PreviewStartOptions\n) {\n if (connected) {\n return;\n }\n connected = true;\n\n const sendMessage = <T extends PreviewMessageFromPreviewer>(\n message: Omit<T, \"sender\">\n ): void => {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n ...message,\n },\n previewFromOrigin\n );\n };\n\n sendMessage({ type: \"preview-started\" });\n setPreviewFromOrigin(previewFromOrigin);\n\n let hoverIid: string;\n let hoverAlias: string;\n let activeIid: string;\n let activeAlias: string;\n\n const handleHoverOnIframe = (pos: Position): void => {\n const element = document.elementFromPoint(pos.x, pos.y);\n if (element?.tagName === \"BODY\") {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-main\",\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n } as PreviewMessagePreviewerHoverOnMain,\n previewProxyOrigin\n );\n } else {\n const iidList = getPossibleBrickIidList(element as HTMLElement);\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n },\n previewProxyOrigin\n );\n }\n };\n\n const sendHighlightBrickOutlines = (\n type: \"hover\" | \"active\",\n iid: string,\n alias: string\n ): void => {\n const outlines = getBrickOutlines(iid);\n sendMessage<PreviewMessagePreviewerHighlightBrick>({\n type: \"highlight-brick\",\n highlightType: type,\n outlines,\n iid: iid,\n alias: alias,\n });\n };\n\n const sendHighlightBricksOutlines = (nodes: HighLightNode[]): void => {\n const outlines = nodes\n .map((node) => getBrickOutlines(node.iid, node.alias))\n .flat();\n sendMessage<PreviewMessagePreviewerHighlightContext>({\n type: \"highlight-context\",\n outlines,\n });\n };\n\n let lastTemplatePreviewSettings: PreviewSettings | undefined;\n if (options.templateId) {\n lastTemplatePreviewSettings = options.settings;\n }\n\n const updateTemplatePreviewSettings = (): void => {\n __secret_internals.updateTemplatePreviewSettings(\n options.appId,\n options.templateId!,\n lastTemplatePreviewSettings\n );\n getHistory().reload();\n };\n\n const updateSnippetPreviewSettings = (): void => {\n __secret_internals.updateSnippetPreviewSettings(\n options.appId,\n JSON.parse(options.snippetData)\n );\n getHistory().reload();\n };\n\n /* const updateFormPreviewSettings = (): void => {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n options.formData\n );\n getHistory().reload();\n }; */\n\n const handlePreviewData = (name: string, option: PreviewDataOption): void => {\n try {\n const { dataType } = option;\n let tplStateStoreId;\n const datasetKey = isV2 ? \"tplContextId\" : \"tplStateStoreId\";\n\n if (dataType === \"state\") {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n\n tplStateStoreId = (mainMountPoint.firstChild as HTMLElement).dataset[\n datasetKey\n ];\n\n if (!tplStateStoreId) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n error: {\n message:\n \"tplStateStoreId not found, unable to preview STATE value\",\n },\n },\n });\n\n return;\n }\n }\n\n let value, type: PreviewMessagePreviewDataValueSuccess[\"type\"];\n if (name) {\n type = \"inspect-single-data-value-success\";\n value = __secret_internals.getContextValue(name, {\n tplStateStoreId,\n });\n } else {\n type = \"inspect-all-data-values-success\";\n const data = __secret_internals.getAllContextValues({\n tplStateStoreId,\n });\n value = Object.entries(data).map(([name, value]) => ({ name, value }));\n }\n\n sendMessage<PreviewMessagePreviewDataValueSuccess>({\n type,\n data: {\n name,\n value,\n },\n });\n\n // istanbul ignore next\n } catch (error) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n message: (error as Error).message,\n },\n });\n }\n };\n\n const history = getHistory();\n\n window.addEventListener(\n \"message\",\n ({ data, origin }: MessageEvent<PreviewMessageToPreviewer>) => {\n if (\n origin !== previewFromOrigin ||\n !data ||\n data.sender !== \"preview-container\"\n ) {\n return;\n }\n if (data.forwardedFor === \"builder\") {\n switch (data.type) {\n case \"hover-on-brick\":\n hoverIid = data.iid;\n hoverAlias = data.alias;\n sendHighlightBrickOutlines(\"hover\", data.iid, data.alias);\n break;\n case \"hover-on-main\":\n sendHighlightBrickOutlines(\"hover\", \"#main-mount-point\", \"root\");\n break;\n case \"hover-on-context\":\n sendHighlightBricksOutlines(data.highlightNodes);\n break;\n case \"select-brick\":\n activeIid = data.iid;\n activeAlias = data.alias;\n sendHighlightBrickOutlines(\"active\", data.iid, data.alias);\n break;\n case \"hover-on-iframe\":\n handleHoverOnIframe(data.position);\n break;\n }\n } else\n switch (data.type) {\n case \"toggle-inspecting\":\n data.enabled ? startInspecting() : stopInspecting();\n break;\n case \"refresh\":\n if (data.options?.updateStoryboardType) {\n if (data.options.updateStoryboardType === \"route\") {\n __secret_internals.updateStoryboardByRoute(\n options.appId,\n data.storyboardPatch as RouteConf\n );\n } else if (data.options.updateStoryboardType === \"template\") {\n __secret_internals.updateStoryboardByTemplate(\n options.appId,\n data.storyboardPatch as CustomTemplate,\n data.options.settings\n );\n } else if (data.options.updateStoryboardType === \"snippet\") {\n __secret_internals.updateStoryboardBySnippet(\n options.appId,\n data.storyboardPatch as {\n snippetId: string;\n bricks: BrickConf[];\n }\n );\n } /* else if (data.options.updateStoryboardType === \"form\") {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n data.storyboardPatch as FormDataProperties\n );\n } */\n\n const newContracts = (\n __secret_internals as any\n ).getAddedContracts?.(data.storyboardPatch, {\n appId: options.appId,\n updateStoryboardType: data.options.updateStoryboardType,\n formId: options.formId,\n });\n\n if (!isEmpty(newContracts)) {\n sendMessage<PreviewMessagePreviewContractUpdate>({\n type: \"contract-update\",\n data: {\n add: newContracts,\n },\n });\n } else {\n getHistory().reload();\n }\n\n break;\n }\n __secret_internals.updateStoryboard(\n options.appId,\n data.storyboardPatch\n );\n if (options.templateId) {\n lastTemplatePreviewSettings = data.settings;\n updateTemplatePreviewSettings();\n } /* else if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */ else if (data.options?.snippetData) {\n options.snippetData = data.options.snippetData;\n updateSnippetPreviewSettings();\n } else {\n getHistory().reload();\n }\n break;\n case \"reload\":\n location.reload();\n break;\n case \"back\":\n history.goBack();\n break;\n case \"forward\":\n history.goForward();\n break;\n case \"capture\":\n capture(data.maxWidth, data.maxHeight).then(\n (screenshot) => {\n sendMessage<PreviewMessagePreviewerCaptureOk>({\n type: \"capture-ok\",\n screenshot,\n });\n },\n () => {\n sendMessage<PreviewMessagePreviewerCaptureFailed>({\n type: \"capture-failed\",\n });\n }\n );\n break;\n case \"inspect-data-value\":\n handlePreviewData(data.name, data.option);\n break;\n case \"update-preview-url\": {\n // Remove origin first.\n const url = data.previewUrl.startsWith(window.origin)\n ? data.previewUrl.substring(window.origin.length)\n : data.previewUrl;\n // Then remove base path.\n const basePath = getBasePath();\n const to = url.startsWith(basePath)\n ? url.substring(basePath.length - 1)\n : url;\n getHistory().push(to);\n break;\n }\n case \"update-preview-route\": {\n options.routePath = data.routePath;\n options.routeExact = data.routeExact;\n break;\n }\n /* case \"excute-proxy-method\": {\n const [ref, method, args = []] = data.proxyMethodArgs;\n try {\n const result = document.body.querySelector(ref)[method](...args);\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-success\",\n data: { method: method, res: result },\n });\n } catch (err) {\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-error\",\n data: { method: method, res: err.message },\n });\n }\n break;\n } */\n }\n }\n );\n\n window.addEventListener(\"scroll\", () => {\n sendMessage<PreviewMessagePreviewerScroll>({\n type: \"scroll\",\n scroll: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n\n let previewPageMatch = true;\n const sendLocationChange = (loc: NextLocation): void => {\n sendMessage<PreviewMessagePreviewerUrlChange>({\n type: \"url-change\",\n url: location.origin + history.createHref(loc),\n });\n if (options.routePath) {\n const match = !!matchPath(loc.pathname, {\n path: options.routePath,\n exact: options.routeExact,\n });\n sendMessage<PreviewMessagePreviewerRouteMatchChange>({\n type: \"route-match-change\",\n match,\n });\n\n // Re-update template preview settings once match route again (typically after login).\n if (options.templateId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateTemplatePreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n /* if (options.formId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\");\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild.childNodes.length === 0\n ) {\n updateFormPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n } */\n if (options.snippetData && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateSnippetPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n previewPageMatch = match;\n }\n };\n\n sendLocationChange(history.location);\n\n history.listen(sendLocationChange);\n\n if (options.templateId) {\n updateTemplatePreviewSettings();\n }\n\n /* if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */\n\n if (options.snippetData) {\n updateSnippetPreviewSettings();\n }\n\n const mutationCallback = (): void => {\n if (hoverIid) {\n sendHighlightBrickOutlines(\"hover\", hoverIid, hoverAlias);\n }\n if (activeIid) {\n sendHighlightBrickOutlines(\"active\", activeIid, activeAlias);\n }\n };\n const mutationObserver = new MutationObserver(\n throttle(mutationCallback, 100, { leading: false })\n );\n mutationObserver.observe(document.body, { subtree: true, childList: true });\n}\n\nfunction getBrickOutlines(iid: string, alias?: string): BrickOutline[] {\n if (!iid) {\n return [];\n }\n const isRoot = iid.includes(\"#\");\n const elements = document.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n const outlines = getOutlines(elements, alias);\n return isRoot\n ? outlines.map((item) => ({\n ...item,\n height: window.innerHeight - item.top,\n }))\n : outlines;\n}\n\nfunction getOutlines(\n elements: NodeListOf<HTMLElement>,\n alias?: string\n): BrickOutline[] {\n return [...elements].map((element) => {\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 alias,\n };\n });\n}\n"],"names":["previewProxyOrigin","html2canvas","_html2canvas","_capture","_asyncToGenerator","maxWidth","maxHeight","canvas","sourceCanvas","document","body","logging","scale","width","window","innerWidth","height","innerHeight","foreignObjectRendering","targetCanvas","createElement","targetRatio","ratio","wider","finalWidth","finalHeight","getContext","drawImage","toDataURL","resizeScreenshot","Promise","resolve","reject","toBlob","blob","apply","arguments","onClick","event","iidList","preventDefault","stopPropagation","getPossibleBrickIidList","target","length","parent","postMessage","sender","type","onMouseEvent","hoverOnBrick","throttle","e","leading","onPointerDown","onPointerOver","onPointerLeave","onContextMenu","brick","position","x","clientX","y","clientY","cursor","dataset","iid","push","parentElement","connected","getHistory","_getHistory","matchPath","_matchPath","__secret_internals","_internals","isV2","_window$BRICK_NEXT_VE","dll","BRICK_NEXT_VERSIONS","startsWith","getHistoryV2","developHelper","developHelperV2","matchPathV2","_objectSpread","getContextValue","name","_ref","tplStateStoreId","tplContextId","getAllContextValues","_ref2","v2Map","Object","fromEntries","map","_ref3","k","v","value","console","error","connect","_x","_x2","_connect","previewFromOrigin","options","hoverIid","hoverAlias","activeIid","activeAlias","sendMessage","message","lastTemplatePreviewSettings","sendHighlightBrickOutlines","alias","outlines","getBrickOutlines","highlightType","templateId","settings","updateTemplatePreviewSettings","appId","reload","updateSnippetPreviewSettings","JSON","parse","snippetData","history","addEventListener","_ref5","_data$options","_data$options2","data","origin","forwardedFor","highlightNodes","node","flat","pos","element","elementFromPoint","tagName","isDirection","handleHoverOnIframe","enabled","removeEventListener","updateStoryboardType","_getAddedContracts","_ref6","updateStoryboardByRoute","storyboardPatch","updateStoryboardByTemplate","updateStoryboardBySnippet","newContracts","getAddedContracts","call","formId","isEmpty","add","updateStoryboard","location","goBack","goForward","capture","then","screenshot","handlePreviewData","option","dataType","datasetKey","querySelector","firstChild","entries","_ref4","url","previewUrl","substring","basePath","getBasePath","to","routePath","routeExact","scroll","scrollX","scrollY","previewPageMatch","sendLocationChange","loc","createHref","match","pathname","path","exact","mainMountPoint","placeholderLoadObserver","MutationObserver","childNodes","disconnect","observe","childList","listen","mutationCallback","subtree","isRoot","includes","elements","left","top","getBoundingClientRect","getOutlines","querySelectorAll","concat","item"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[5776],{469:(e,i,r)=>{r.r(i),r.d(i,{injectPreviewAgent:()=>t});var s=r(1433),n=r(9194);function t(e,i){return(0,n.Z)(e,i)}customElements.define("visual-builder.inject-preview-agent",(0,s.createProviderClass)(t))}}]);
2
+ //# sourceMappingURL=inject-preview-agent.f71a18df.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/inject-preview-agent.f71a18df.js","mappings":"0MAKO,SAASA,EACdC,EACAC,GAEA,OAAOC,EAAAA,EAAAA,GAAQF,EAAmBC,EACpC,CAEAE,eAAeC,OACb,uCACAC,EAAAA,EAAAA,qBAAoBN,G","sources":["webpack:///./src/data-providers/inject-preview-agent.ts"],"sourcesContent":["// istanbul ignore file\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport connect from \"./preview/connect.js\";\nimport type { PreviewStartOptions } from \"./preview/interfaces.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"],"names":["injectPreviewAgent","previewFromOrigin","options","connect","customElements","define","createProviderClass"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ (()=>{var e,t,r,n,o,a,l,i,c,u,d,f,s,h,p,m,b,v,g,x,y,P,k={8986:(e,t,r)=>{Promise.all([r.e(1541),r.e(8657),r.e(5178),r.e(2061),r.e(1433),r.e(8978),r.e(7975),r.e(3908),r.e(9194),r.e(8353),r.e(2604)]).then(r.bind(r,2604))}},w={};function j(e){var t=w[e];if(void 0!==t)return t.exports;var r=w[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,j),r.loaded=!0,r.exports}j.m=k,j.c=w,j.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return j.d(t,{a:t}),t},j.d=(e,t)=>{for(var r in t)j.o(t,r)&&!j.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},j.f={},j.e=e=>Promise.all(Object.keys(j.f).reduce(((t,r)=>(j.f[r](e,t),t)),[])),j.u=e=>"chunks/"+e+"."+{873:"4474344a",1433:"04e175e8",1541:"9897eade",1646:"a5fff0bb",2024:"c21ef9ab",2061:"fbca7b55",2108:"3533f319",2604:"0626b1b4",2754:"1088e604",2784:"5d899d00",2993:"2b4a1b7e",3458:"c18a25cc",3908:"fd288da0",3914:"28d96b38",4049:"4ef0526c",4275:"90a080ee",4454:"9b2242d9",4717:"a102cb74",5151:"49d09ebc",5178:"c3fd0933",5202:"f7019506",5419:"7700657c",5628:"dead23b0",5637:"d8483264",5725:"f9e120c3",6205:"a689e7bf",6473:"0fb50b19",6522:"d776b1f2",6635:"d0184ca5",6650:"190d933b",7110:"47509cab",7164:"74be4ca3",7672:"966c5764",7746:"104d45d5",7766:"d4d8826d",7782:"bf1fe0b5",7910:"682a231f",7915:"375e4b05",7975:"7bffddc4",8008:"5fbc952c",8316:"f28802f7",8353:"ee7d4fd2",8440:"a01199ac",8657:"012f236d",8691:"269b89dc",8697:"8bd3ff46",8874:"7ec6f4e4",8978:"3a56dc84",9194:"3e21e9c0",9431:"be29576f",9549:"68c8f358"}[e]+".js",j.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),j.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/visual-builder:",j.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+o){l=d;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,j.nc&&l.setAttribute("nonce",j.nc),l.setAttribute("data-webpack",t+o),l.src=r),e[r]=[n];var f=(t,n)=>{l.onerror=l.onload=null,clearTimeout(s);var o=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(n))),t)return t(n)},s=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),i&&document.head.appendChild(l)}},j.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},j.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{j.S={};var e={},t={};j.I=(r,n)=>{n||(n=[]);var o=t[r];if(o||(o=t[r]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[r])return e[r];j.o(j.S,r)||(j.S[r]={});var a=j.S[r],l="@next-bricks/visual-builder",i=(e,t,r,n)=>{var o=a[e]=a[e]||{},i=o[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(o[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@easyops-cn/brick-next-pipes","0.4.0",(()=>Promise.all([j.e(5637),j.e(5178),j.e(7910)]).then((()=>()=>j(5637))))),i("@next-core/cook","2.2.4",(()=>j.e(5151).then((()=>()=>j(5151))))),i("@next-core/element","1.1.2",(()=>j.e(9549).then((()=>()=>j(9549))))),i("@next-core/http","1.0.8",(()=>j.e(5202).then((()=>()=>j(5202))))),i("@next-core/i18n","1.0.23",(()=>Promise.all([j.e(1433),j.e(5419),j.e(7164)]).then((()=>()=>j(7164))))),i("@next-core/inject","1.0.16",(()=>Promise.all([j.e(5178),j.e(8697),j.e(7672)]).then((()=>()=>j(7672))))),i("@next-core/loader","1.3.6",(()=>j.e(873).then((()=>()=>j(4454))))),i("@next-core/pipes","2.0.8",(()=>j.e(4275).then((()=>()=>j(4275))))),i("@next-core/react-element","1.0.10",(()=>Promise.all([j.e(8657),j.e(2061),j.e(6650),j.e(1646)]).then((()=>()=>j(1646))))),i("@next-core/runtime","1.19.0",(()=>Promise.all([j.e(7782),j.e(5178),j.e(1433),j.e(8874),j.e(8440),j.e(7766),j.e(6522)]).then((()=>()=>j(7782))))),i("@next-core/supply","2.1.3",(()=>Promise.all([j.e(5178),j.e(8697),j.e(8874),j.e(4049)]).then((()=>()=>j(4049))))),i("@next-core/theme","1.1.1",(()=>Promise.all([j.e(2108),j.e(5628)]).then((()=>()=>j(2108))))),i("@next-core/utils/general","1.5.6",(()=>j.e(7110).then((()=>()=>j(7110))))),i("@next-core/utils/storyboard","1.5.6",(()=>Promise.all([j.e(1433),j.e(8440),j.e(3458)]).then((()=>()=>j(3458))))),i("history","4.10.1",(()=>j.e(2024).then((()=>()=>j(2024))))),i("i18next-browser-languagedetector","7.1.0",(()=>j.e(2754).then((()=>()=>j(2754))))),i("i18next","22.5.1",(()=>j.e(2993).then((()=>()=>j(2993))))),i("js-yaml","3.14.1",(()=>j.e(9431).then((()=>()=>j(9431))))),i("lodash","4.17.21",(()=>j.e(6635).then((()=>()=>j(6635))))),i("moment/locale/zh-cn.js","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414))))),i("moment","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([j.e(8316),j.e(8657)]).then((()=>()=>j(8316))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>j.e(2784).then((()=>()=>j(2784)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;j.g.importScripts&&(e=j.g.location+"");var t=j.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!e;)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),j.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var o=e[n],a=(typeof o)[0];if(n>=t.length)return"u"==a;var l=t[n],i=(typeof l)[0];if(a!=i)return"o"==a&&"n"==i||"s"==i||"u"==a;if("o"!=a&&"u"!=a&&o!=l)return o<l;n++}},o=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,a=1;a<e.length;a++)n--,r+="u"==(typeof(i=e[a]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(a=1;a<e.length;a++){var i=e[a];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():o(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,t)=>{if(0 in e){t=r(t);var n=e[0],o=n<0;o&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var u,d,f=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(d=(typeof(u=t[l]))[0]))return!c||("u"==f?i>n&&!o:""==f!=o);if("u"==d){if(!c||"u"!=f)return!1}else if(c)if(f==d)if(i<=n){if(u!=e[i])return!1}else{if(o?u>e[i]:u<e[i])return!1;u!=e[i]&&(c=!1)}else if("s"!=f&&"n"!=f){if(o||i<=n)return!1;c=!1,i--}else{if(i<=n||d<f!=o)return!1;c=!1}else"s"!=f&&"n"!=f&&(c=!1,i--)}}var s=[],h=s.pop.bind(s);for(l=1;l<e.length;l++){var p=e[l];s.push(1==p?h()|h():2==p?h()&h():p?a(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return(t=Object.keys(r).reduce(((e,t)=>!e||n(e,t)?t:e),0))&&r[t]},i=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},c=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+o(n)+")",u=(e,t,r,n)=>{var o=i(e,r);return h(e[r][o])},d=(e,t,r,n)=>{var o=i(e,r);return a(n,o)||s(c(e,r,o,n)),h(e[r][o])},f=(e,t,r)=>{var o=e[t];return(t=Object.keys(o).reduce(((e,t)=>!a(r,t)||e&&!n(e,t)?e:t),0))&&o[t]},s=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},h=e=>(e.loaded=1,e.get()),m=(p=e=>function(t,r,n,o){var a=j.I(t);return a&&a.then?a.then(e.bind(e,t,j.S[t],r,n,o)):e(t,j.S[t],r,n,o)})(((e,t,r,n)=>t&&j.o(t,r)?h(l(t,r)):n())),b=p(((e,t,r,n)=>t&&j.o(t,r)?u(t,0,r):n())),v=p(((e,t,r,n,o)=>t&&j.o(t,r)?d(t,0,r,n):o())),g=p(((e,t,r,n,o)=>{var a=t&&j.o(t,r)&&f(t,r,n);return a?h(a):o()})),x={},y={8657:()=>g("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>j.e(2784).then((()=>()=>j(2784))))),5178:()=>v("default","lodash",[1,4,17,21],(()=>j.e(6635).then((()=>()=>j(6635))))),2061:()=>g("default","@next-core/element",[1,1,1,2],(()=>j.e(4717).then((()=>()=>j(9549))))),1433:()=>v("default","@next-core/utils/general",[1,1,5,6],(()=>j.e(7110).then((()=>()=>j(7110))))),8978:()=>g("default","@next-core/react-element",[1,1,0,10],(()=>Promise.all([j.e(6650),j.e(7746)]).then((()=>()=>j(1646))))),7975:()=>v("default","@next-core/runtime",[1,1,19,0],(()=>Promise.all([j.e(7782),j.e(5178),j.e(1433),j.e(8874),j.e(8440),j.e(7766)]).then((()=>()=>j(7782))))),5254:()=>v("default","@next-core/theme",[1,1,1,1],(()=>j.e(2108).then((()=>()=>j(2108))))),8353:()=>v("default","history",[1,4,7,11],(()=>j.e(2024).then((()=>()=>j(2024))))),5872:()=>v("default","moment",[1,2,27,0],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),5899:()=>v("default","js-yaml",[1,3,14,0],(()=>j.e(9431).then((()=>()=>j(9431))))),860:()=>b("default","@next-core/i18n",(()=>()=>j(7164))),3239:()=>v("default","i18next",[1,22,5,1],(()=>j.e(2993).then((()=>()=>j(2993))))),6473:()=>v("default","i18next-browser-languagedetector",[1,7,1,0],(()=>j.e(2754).then((()=>()=>j(2754))))),8697:()=>v("default","@next-core/pipes",[1,2,0,8],(()=>j.e(4275).then((()=>()=>j(4275))))),665:()=>v("default","@easyops-cn/brick-next-pipes",[2,0,4,0],(()=>Promise.all([j.e(5637),j.e(5178),j.e(7910)]).then((()=>()=>j(5637))))),6650:()=>m("default","react-dom",(()=>j.e(8316).then((()=>()=>j(8316))))),8874:()=>v("default","moment",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),8440:()=>v("default","@next-core/cook",[1,2,2,4],(()=>j.e(5151).then((()=>()=>j(5151))))),534:()=>v("default","@next-core/supply",[1,2,1,3],(()=>Promise.all([j.e(8697),j.e(6473)]).then((()=>()=>j(4049))))),2623:()=>v("default","@next-core/utils/storyboard",[1,1,5,6],(()=>j.e(8691).then((()=>()=>j(3458))))),2691:()=>v("default","@next-core/loader",[1,1,3,6],(()=>j.e(4454).then((()=>()=>j(4454))))),4594:()=>v("default","@next-core/i18n",[1,1,0,23],(()=>Promise.all([j.e(5419),j.e(6205)]).then((()=>()=>j(7164))))),4614:()=>v("default","@next-core/inject",[1,1,0,16],(()=>Promise.all([j.e(8697),j.e(5725)]).then((()=>()=>j(7672))))),5566:()=>v("default","@next-core/http",[1,1,0,8],(()=>j.e(3914).then((()=>()=>j(5202))))),7857:()=>v("default","history",[1,4,10,1],(()=>j.e(2024).then((()=>()=>j(2024))))),8525:()=>v("default","moment/locale/zh-cn.js",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414)))))},P={1433:[1433],2061:[2061],3908:[5254],4275:[665],5178:[5178],5419:[860,3239,6473],6650:[6650],7766:[534,2623,2691,4594,4614,5566,7857,8525],7910:[5872,5899],7975:[7975],8353:[8353],8440:[8440],8657:[8657],8697:[8697],8874:[8874],8978:[8978]},j.f.consumes=(e,t)=>{j.o(P,e)&&P[e].forEach((e=>{if(j.o(x,e))return t.push(x[e]);var r=t=>{x[e]=0,j.m[e]=r=>{delete j.c[e],r.exports=t()}},n=t=>{delete x[e],j.m[e]=r=>{throw delete j.c[e],t}};try{var o=y[e]();o.then?t.push(x[e]=o.then(r).catch(n)):r(o)}catch(e){n(e)}}))},(()=>{var e={179:0};j.f.j=(t,r)=>{var n=j.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(7(766|910|975)|8(353|440|657|697|874|978)|1433|2061|5178|5419|6650)$/.test(t))e[t]=0;else{var o=new Promise(((r,o)=>n=e[t]=[r,o]));r.push(n[2]=o);var a=j.p+j.u(t),l=new Error;j.l(a,(r=>{if(j.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,l,i]=r,c=0;if(a.some((t=>0!==e[t]))){for(n in l)j.o(l,n)&&(j.m[n]=l[n]);i&&i(j)}for(t&&t(r);c<a.length;c++)o=a[c],j.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),j.nc=void 0,j(8986)})();
2
+ //# sourceMappingURL=main.d7c0f97e.js.map