@next-bricks/visual-builder 0.9.1 → 0.9.2

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 (61) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/206.c10e004f.js +2 -0
  3. package/dist/chunks/{206.bfc9591e.js.map → 206.c10e004f.js.map} +1 -1
  4. package/dist/chunks/{2179.2fddaa48.js → 2179.3938928f.js} +2 -2
  5. package/dist/chunks/{6205.17defec3.js.map → 2179.3938928f.js.map} +1 -1
  6. package/dist/chunks/{3458.06ad191c.js → 3458.448f8d3e.js} +2 -2
  7. package/dist/chunks/{3458.06ad191c.js.map → 3458.448f8d3e.js.map} +1 -1
  8. package/dist/chunks/4031.4a1a7aaa.js +2 -0
  9. package/dist/chunks/4031.4a1a7aaa.js.map +1 -0
  10. package/dist/chunks/4049.a95afe26.js +2 -0
  11. package/dist/chunks/{4049.593223d2.js.map → 4049.a95afe26.js.map} +1 -1
  12. package/dist/chunks/4231.a0a85116.js +3 -0
  13. package/dist/chunks/{4231.b7207dde.js.map → 4231.a0a85116.js.map} +1 -1
  14. package/dist/chunks/4275.4ee23b0e.js +2 -0
  15. package/dist/chunks/{4275.90a080ee.js.map → 4275.4ee23b0e.js.map} +1 -1
  16. package/dist/chunks/541.68bf2743.js +3 -0
  17. package/dist/chunks/{541.48f22583.js.map → 541.68bf2743.js.map} +1 -1
  18. package/dist/chunks/5725.b95e7c34.js +2 -0
  19. package/dist/chunks/{7672.5e83b6e0.js.map → 5725.b95e7c34.js.map} +1 -1
  20. package/dist/chunks/6051.f788465a.js +2 -0
  21. package/dist/chunks/6051.f788465a.js.map +1 -0
  22. package/dist/chunks/{6205.17defec3.js → 6205.064d6bcc.js} +2 -2
  23. package/dist/chunks/{7164.c0e4f327.js.map → 6205.064d6bcc.js.map} +1 -1
  24. package/dist/chunks/6473.f62780a3.js +2 -0
  25. package/dist/chunks/{6473.70a710bd.js.map → 6473.f62780a3.js.map} +1 -1
  26. package/dist/chunks/{7164.c0e4f327.js → 7164.8bcb0c32.js} +2 -2
  27. package/dist/chunks/{2179.2fddaa48.js.map → 7164.8bcb0c32.js.map} +1 -1
  28. package/dist/chunks/7672.3727485d.js +2 -0
  29. package/dist/chunks/{5725.fd89c8fd.js.map → 7672.3727485d.js.map} +1 -1
  30. package/dist/chunks/{8691.f9b068ad.js → 8691.6a55f729.js} +2 -2
  31. package/dist/chunks/{8691.f9b068ad.js.map → 8691.6a55f729.js.map} +1 -1
  32. package/dist/chunks/{inject-preview-agent.c3c37485.js → inject-preview-agent.16049fb9.js} +2 -2
  33. package/dist/chunks/{inject-preview-agent.c3c37485.js.map → inject-preview-agent.16049fb9.js.map} +1 -1
  34. package/dist/chunks/main.ea72cded.js +2 -0
  35. package/dist/chunks/{main.ead986ff.js.map → main.ea72cded.js.map} +1 -1
  36. package/dist/chunks/workbench-action-list.f8ebc0a8.js +2 -0
  37. package/dist/chunks/{workbench-action-list.a7c5b40e.js.map → workbench-action-list.f8ebc0a8.js.map} +1 -1
  38. package/dist/chunks/workbench-history-action.3e18edf8.js +3 -0
  39. package/dist/chunks/{workbench-history-action.d8202a77.js.map → workbench-history-action.3e18edf8.js.map} +1 -1
  40. package/dist/index.2aaad71b.js +2 -0
  41. package/dist/{index.eb89f34c.js.map → index.2aaad71b.js.map} +1 -1
  42. package/package.json +2 -2
  43. package/dist/chunks/206.bfc9591e.js +0 -2
  44. package/dist/chunks/4049.593223d2.js +0 -2
  45. package/dist/chunks/4231.b7207dde.js +0 -3
  46. package/dist/chunks/4275.90a080ee.js +0 -2
  47. package/dist/chunks/541.48f22583.js +0 -3
  48. package/dist/chunks/5637.b4691a87.js +0 -2
  49. package/dist/chunks/5637.b4691a87.js.map +0 -1
  50. package/dist/chunks/5725.fd89c8fd.js +0 -2
  51. package/dist/chunks/6051.1d543778.js +0 -2
  52. package/dist/chunks/6051.1d543778.js.map +0 -1
  53. package/dist/chunks/6473.70a710bd.js +0 -2
  54. package/dist/chunks/7672.5e83b6e0.js +0 -2
  55. package/dist/chunks/main.ead986ff.js +0 -2
  56. package/dist/chunks/workbench-action-list.a7c5b40e.js +0 -2
  57. package/dist/chunks/workbench-history-action.d8202a77.js +0 -3
  58. package/dist/index.eb89f34c.js +0 -2
  59. /package/dist/chunks/{4231.b7207dde.js.LICENSE.txt → 4231.a0a85116.js.LICENSE.txt} +0 -0
  60. /package/dist/chunks/{541.48f22583.js.LICENSE.txt → 541.68bf2743.js.LICENSE.txt} +0 -0
  61. /package/dist/chunks/{workbench-history-action.d8202a77.js.LICENSE.txt → workbench-history-action.3e18edf8.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/541.48f22583.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(e, t) {\n return function (r) {\n assertNotFinished(t, \"addInitializer\"), assertCallable(r, \"An initializer\"), e.push(r);\n };\n}\nfunction assertInstanceIfPrivate(e, t) {\n if (!e(t)) throw new TypeError(\"Attempted to access private element on non-instance\");\n}\nfunction memberDec(e, t, r, n, a, i, s, o, c, l) {\n var u;\n switch (i) {\n case 1:\n u = \"accessor\";\n break;\n case 2:\n u = \"method\";\n break;\n case 3:\n u = \"getter\";\n break;\n case 4:\n u = \"setter\";\n break;\n default:\n u = \"field\";\n }\n var f,\n d,\n p = {\n kind: u,\n name: o ? \"#\" + r : r,\n \"static\": s,\n \"private\": o\n },\n h = {\n v: !1\n };\n if (0 !== i && (p.addInitializer = createAddInitializerMethod(a, h)), o || 0 !== i && 2 !== i) {\n if (2 === i) f = function f(e) {\n return assertInstanceIfPrivate(l, e), n.value;\n };else {\n var v = 0 === i || 1 === i;\n (v || 3 === i) && (f = o ? function (e) {\n return assertInstanceIfPrivate(l, e), n.get.call(e);\n } : function (e) {\n return n.get.call(e);\n }), (v || 4 === i) && (d = o ? function (e, t) {\n assertInstanceIfPrivate(l, e), n.set.call(e, t);\n } : function (e, t) {\n n.set.call(e, t);\n });\n }\n } else f = function f(e) {\n return e[r];\n }, 0 === i && (d = function d(e, t) {\n e[r] = t;\n });\n var y = o ? l.bind() : function (e) {\n return r in e;\n };\n p.access = f && d ? {\n get: f,\n set: d,\n has: y\n } : f ? {\n get: f,\n has: y\n } : {\n set: d,\n has: y\n };\n try {\n return e.call(t, c, p);\n } finally {\n h.v = !0;\n }\n}\nfunction assertNotFinished(e, t) {\n if (e.v) throw new Error(\"attempted to call \" + t + \" after decoration was finished\");\n}\nfunction assertCallable(e, t) {\n if (\"function\" != typeof e) throw new TypeError(t + \" must be a function\");\n}\nfunction assertValidReturnValue(e, t) {\n var r = _typeof(t);\n if (1 === e) {\n if (\"object\" !== r || null === t) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n void 0 !== t.get && assertCallable(t.get, \"accessor.get\"), void 0 !== t.set && assertCallable(t.set, \"accessor.set\"), void 0 !== t.init && assertCallable(t.init, \"accessor.init\");\n } else if (\"function\" !== r) {\n var n;\n throw n = 0 === e ? \"field\" : 5 === e ? \"class\" : \"method\", new TypeError(n + \" decorators must return a function or void 0\");\n }\n}\nfunction curryThis1(e) {\n return function () {\n return e(this);\n };\n}\nfunction curryThis2(e) {\n return function (t) {\n e(this, t);\n };\n}\nfunction applyMemberDec(e, t, r, n, a, i, s, o, c, l) {\n var u,\n f,\n d,\n p,\n h,\n v,\n y = r[0];\n n || Array.isArray(y) || (y = [y]), o ? u = 0 === i || 1 === i ? {\n get: curryThis1(r[3]),\n set: curryThis2(r[4])\n } : 3 === i ? {\n get: r[3]\n } : 4 === i ? {\n set: r[3]\n } : {\n value: r[3]\n } : 0 !== i && (u = Object.getOwnPropertyDescriptor(t, a)), 1 === i ? d = {\n get: u.get,\n set: u.set\n } : 2 === i ? d = u.value : 3 === i ? d = u.get : 4 === i && (d = u.set);\n for (var g = n ? 2 : 1, m = y.length - 1; m >= 0; m -= g) {\n var b;\n if (void 0 !== (p = memberDec(y[m], n ? y[m - 1] : void 0, a, u, c, i, s, o, d, l))) assertValidReturnValue(i, p), 0 === i ? b = p : 1 === i ? (b = p.init, h = p.get || d.get, v = p.set || d.set, d = {\n get: h,\n set: v\n }) : d = p, void 0 !== b && (void 0 === f ? f = b : \"function\" == typeof f ? f = [f, b] : f.push(b));\n }\n if (0 === i || 1 === i) {\n if (void 0 === f) f = function f(e, t) {\n return t;\n };else if (\"function\" != typeof f) {\n var I = f;\n f = function f(e, t) {\n for (var r = t, n = I.length - 1; n >= 0; n--) r = I[n].call(e, r);\n return r;\n };\n } else {\n var w = f;\n f = function f(e, t) {\n return w.call(e, t);\n };\n }\n e.push(f);\n }\n 0 !== i && (1 === i ? (u.get = d.get, u.set = d.set) : 2 === i ? u.value = d : 3 === i ? u.get = d : 4 === i && (u.set = d), o ? 1 === i ? (e.push(function (e, t) {\n return d.get.call(e, t);\n }), e.push(function (e, t) {\n return d.set.call(e, t);\n })) : 2 === i ? e.push(d) : e.push(function (e, t) {\n return d.call(e, t);\n }) : Object.defineProperty(t, a, u));\n}\nfunction applyMemberDecs(e, t, r) {\n for (var n, a, i, s = [], o = new Map(), c = new Map(), l = 0; l < t.length; l++) {\n var u = t[l];\n if (Array.isArray(u)) {\n var f,\n d,\n p = u[1],\n h = u[2],\n v = u.length > 3,\n y = 16 & p,\n g = !!(8 & p),\n m = r;\n if (p &= 7, g ? (f = e, 0 !== p && (d = a = a || []), v && !i && (i = function i(t) {\n return checkInRHS(t) === e;\n }), m = i) : (f = e.prototype, 0 !== p && (d = n = n || [])), 0 !== p && !v) {\n var b = g ? c : o,\n I = b.get(h) || 0;\n if (!0 === I || 3 === I && 4 !== p || 4 === I && 3 !== p) 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: \" + h);\n b.set(h, !(!I && p > 2) || p);\n }\n applyMemberDec(s, f, u, y, h, p, g, v, d, m);\n }\n }\n return pushInitializers(s, n), pushInitializers(s, a), s;\n}\nfunction pushInitializers(e, t) {\n t && e.push(function (e) {\n for (var r = 0; r < t.length; r++) t[r].call(e);\n return e;\n });\n}\nfunction applyClassDecs(e, t, r) {\n if (t.length) {\n for (var n = [], a = e, i = e.name, s = r ? 2 : 1, o = t.length - 1; o >= 0; o -= s) {\n var c = {\n v: !1\n };\n try {\n var l = t[o].call(r ? t[o - 1] : void 0, a, {\n kind: \"class\",\n name: i,\n addInitializer: createAddInitializerMethod(n, c)\n });\n } finally {\n c.v = !0;\n }\n void 0 !== l && (assertValidReturnValue(5, l), a = l);\n }\n return [a, function () {\n for (var e = 0; e < n.length; e++) n[e].call(a);\n }];\n }\n}\nexport default function applyDecs2305(e, t, r, n, a) {\n return {\n e: applyMemberDecs(e, t, a),\n get c() {\n return applyClassDecs(e, r, n);\n }\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _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","t","r","v","Error","assertNotFinished","assertCallable","assertInstanceIfPrivate","TypeError","memberDec","n","a","s","o","c","l","u","f","d","p","kind","h","addInitializer","set","y","bind","access","has","assertValidReturnValue","init","curryThis1","curryThis2","applyMemberDec","getOwnPropertyDescriptor","g","m","b","I","w","defineProperty","applyMemberDecs","Map","pushInitializers","applyDecs2305","applyClassDecs","_checkInRHS","_checkPrivateRedeclaration","obj","privateCollection","_classExtractFieldDescriptor","receiver","privateMap","_classPrivateFieldGet","descriptor","classExtractFieldDescriptor","_classPrivateFieldInitSpec","_classPrivateFieldSet","writable"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/541.68bf2743.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(e, t) {\n return function (r) {\n assertNotFinished(t, \"addInitializer\"), assertCallable(r, \"An initializer\"), e.push(r);\n };\n}\nfunction assertInstanceIfPrivate(e, t) {\n if (!e(t)) throw new TypeError(\"Attempted to access private element on non-instance\");\n}\nfunction memberDec(e, t, r, n, a, i, s, o, c, l) {\n var u;\n switch (i) {\n case 1:\n u = \"accessor\";\n break;\n case 2:\n u = \"method\";\n break;\n case 3:\n u = \"getter\";\n break;\n case 4:\n u = \"setter\";\n break;\n default:\n u = \"field\";\n }\n var f,\n d,\n p = {\n kind: u,\n name: o ? \"#\" + r : r,\n \"static\": s,\n \"private\": o\n },\n h = {\n v: !1\n };\n if (0 !== i && (p.addInitializer = createAddInitializerMethod(a, h)), o || 0 !== i && 2 !== i) {\n if (2 === i) f = function f(e) {\n return assertInstanceIfPrivate(l, e), n.value;\n };else {\n var v = 0 === i || 1 === i;\n (v || 3 === i) && (f = o ? function (e) {\n return assertInstanceIfPrivate(l, e), n.get.call(e);\n } : function (e) {\n return n.get.call(e);\n }), (v || 4 === i) && (d = o ? function (e, t) {\n assertInstanceIfPrivate(l, e), n.set.call(e, t);\n } : function (e, t) {\n n.set.call(e, t);\n });\n }\n } else f = function f(e) {\n return e[r];\n }, 0 === i && (d = function d(e, t) {\n e[r] = t;\n });\n var y = o ? l.bind() : function (e) {\n return r in e;\n };\n p.access = f && d ? {\n get: f,\n set: d,\n has: y\n } : f ? {\n get: f,\n has: y\n } : {\n set: d,\n has: y\n };\n try {\n return e.call(t, c, p);\n } finally {\n h.v = !0;\n }\n}\nfunction assertNotFinished(e, t) {\n if (e.v) throw new Error(\"attempted to call \" + t + \" after decoration was finished\");\n}\nfunction assertCallable(e, t) {\n if (\"function\" != typeof e) throw new TypeError(t + \" must be a function\");\n}\nfunction assertValidReturnValue(e, t) {\n var r = _typeof(t);\n if (1 === e) {\n if (\"object\" !== r || null === t) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or void 0\");\n void 0 !== t.get && assertCallable(t.get, \"accessor.get\"), void 0 !== t.set && assertCallable(t.set, \"accessor.set\"), void 0 !== t.init && assertCallable(t.init, \"accessor.init\");\n } else if (\"function\" !== r) {\n var n;\n throw n = 0 === e ? \"field\" : 5 === e ? \"class\" : \"method\", new TypeError(n + \" decorators must return a function or void 0\");\n }\n}\nfunction curryThis1(e) {\n return function () {\n return e(this);\n };\n}\nfunction curryThis2(e) {\n return function (t) {\n e(this, t);\n };\n}\nfunction applyMemberDec(e, t, r, n, a, i, s, o, c, l) {\n var u,\n f,\n d,\n p,\n h,\n v,\n y = r[0];\n n || Array.isArray(y) || (y = [y]), o ? u = 0 === i || 1 === i ? {\n get: curryThis1(r[3]),\n set: curryThis2(r[4])\n } : 3 === i ? {\n get: r[3]\n } : 4 === i ? {\n set: r[3]\n } : {\n value: r[3]\n } : 0 !== i && (u = Object.getOwnPropertyDescriptor(t, a)), 1 === i ? d = {\n get: u.get,\n set: u.set\n } : 2 === i ? d = u.value : 3 === i ? d = u.get : 4 === i && (d = u.set);\n for (var g = n ? 2 : 1, m = y.length - 1; m >= 0; m -= g) {\n var b;\n if (void 0 !== (p = memberDec(y[m], n ? y[m - 1] : void 0, a, u, c, i, s, o, d, l))) assertValidReturnValue(i, p), 0 === i ? b = p : 1 === i ? (b = p.init, h = p.get || d.get, v = p.set || d.set, d = {\n get: h,\n set: v\n }) : d = p, void 0 !== b && (void 0 === f ? f = b : \"function\" == typeof f ? f = [f, b] : f.push(b));\n }\n if (0 === i || 1 === i) {\n if (void 0 === f) f = function f(e, t) {\n return t;\n };else if (\"function\" != typeof f) {\n var I = f;\n f = function f(e, t) {\n for (var r = t, n = I.length - 1; n >= 0; n--) r = I[n].call(e, r);\n return r;\n };\n } else {\n var w = f;\n f = function f(e, t) {\n return w.call(e, t);\n };\n }\n e.push(f);\n }\n 0 !== i && (1 === i ? (u.get = d.get, u.set = d.set) : 2 === i ? u.value = d : 3 === i ? u.get = d : 4 === i && (u.set = d), o ? 1 === i ? (e.push(function (e, t) {\n return d.get.call(e, t);\n }), e.push(function (e, t) {\n return d.set.call(e, t);\n })) : 2 === i ? e.push(d) : e.push(function (e, t) {\n return d.call(e, t);\n }) : Object.defineProperty(t, a, u));\n}\nfunction applyMemberDecs(e, t, r) {\n for (var n, a, i, s = [], o = new Map(), c = new Map(), l = 0; l < t.length; l++) {\n var u = t[l];\n if (Array.isArray(u)) {\n var f,\n d,\n p = u[1],\n h = u[2],\n v = u.length > 3,\n y = 16 & p,\n g = !!(8 & p),\n m = r;\n if (p &= 7, g ? (f = e, 0 !== p && (d = a = a || []), v && !i && (i = function i(t) {\n return checkInRHS(t) === e;\n }), m = i) : (f = e.prototype, 0 !== p && (d = n = n || [])), 0 !== p && !v) {\n var b = g ? c : o,\n I = b.get(h) || 0;\n if (!0 === I || 3 === I && 4 !== p || 4 === I && 3 !== p) 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: \" + h);\n b.set(h, !(!I && p > 2) || p);\n }\n applyMemberDec(s, f, u, y, h, p, g, v, d, m);\n }\n }\n return pushInitializers(s, n), pushInitializers(s, a), s;\n}\nfunction pushInitializers(e, t) {\n t && e.push(function (e) {\n for (var r = 0; r < t.length; r++) t[r].call(e);\n return e;\n });\n}\nfunction applyClassDecs(e, t, r) {\n if (t.length) {\n for (var n = [], a = e, i = e.name, s = r ? 2 : 1, o = t.length - 1; o >= 0; o -= s) {\n var c = {\n v: !1\n };\n try {\n var l = t[o].call(r ? t[o - 1] : void 0, a, {\n kind: \"class\",\n name: i,\n addInitializer: createAddInitializerMethod(n, c)\n });\n } finally {\n c.v = !0;\n }\n void 0 !== l && (assertValidReturnValue(5, l), a = l);\n }\n return [a, function () {\n for (var e = 0; e < n.length; e++) n[e].call(a);\n }];\n }\n}\nexport default function applyDecs2305(e, t, r, n, a) {\n return {\n e: applyMemberDecs(e, t, a),\n get c() {\n return applyClassDecs(e, r, n);\n }\n };\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _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","t","r","v","Error","assertNotFinished","assertCallable","assertInstanceIfPrivate","TypeError","memberDec","n","a","s","o","c","l","u","f","d","p","kind","h","addInitializer","set","y","bind","access","has","assertValidReturnValue","init","curryThis1","curryThis2","applyMemberDec","getOwnPropertyDescriptor","g","m","b","I","w","defineProperty","applyMemberDecs","Map","pushInitializers","applyDecs2305","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([[5725,7672],{7672:(e,t,r)=>{r.r(t),r.d(t,{inject:()=>y,transform:()=>k,transformAndInject:()=>D});var a=r(5178),n=r(1618),i=function(e){return e[e.Initial=0]="Initial",e[e.ExpectField=1]="ExpectField",e[e.ExpectOptionalBeginDefault=2]="ExpectOptionalBeginDefault",e[e.ExpectDefaultValue=3]="ExpectDefaultValue",e[e.ExpectOptionalBeginPipe=4]="ExpectOptionalBeginPipe",e[e.ExpectPipeIdentifier=5]="ExpectPipeIdentifier",e[e.ExpectOptionalBeginPipeParameter=6]="ExpectOptionalBeginPipeParameter",e[e.ExpectPipeParameter=7]="ExpectPipeParameter",e[e.ExpectPlaceholderEnd=8]="ExpectPlaceholderEnd",e}({}),u=function(e){return e.Raw="Raw",e.BeginPlaceHolder="BeginPlaceHolder",e.Field="Field",e.BeginDefault="BeginDefault",e.LiteralString="LiteralString",e.BeginPipe="BeginPipe",e.PipeIdentifier="PipeIdentifier",e.BeginPipeParameter="BeginPipeParameter",e.EndPlaceHolder="EndPlaceHolder",e.JsonValue="JsonValue",e}({}),s=function(e){return e[e.Array=0]="Array",e[e.Object=1]="Object",e[e.String=2]="String",e[e.Others=3]="Others",e}({});function c(e){return new RegExp("(".concat([].concat(e).map((e=>(0,a.escapeRegExp)(e))).join("|"),")\\{"))}function l(e){var t,r=x(e),a=null===(t=r.match(e.beginPlaceholder))||void 0===t?void 0:t[0],n=a?r.indexOf(a):-1;if(n>=0&&a&&"{"!==r.charAt(n+a.length)){var s=e.cursor+n;n>0&&e.tokens.push({type:u.Raw,value:r.substring(0,n)}),e.tokens.push({type:u.BeginPlaceHolder,loc:{start:s,end:s+a.length},value:a.substring(0,a.length-1)}),e.cursor+=n+a.length,e.status=i.ExpectField}else e.tokens.push({type:u.Raw,value:r}),e.cursor=e.raw.length}function o(e){e.cursor+=x(e).match(/^[ \r\n\t]*/)[0].length}function p(e){var[t]=x(e).match(/^(?:[\*\x2D\.0-9A-\[\]_a-z\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);e.tokens.push({type:u.Field,value:t}),e.cursor+=t.length,e.status=i.ExpectOptionalBeginDefault}function d(e){"="===x(e).charAt(0)?(e.tokens.push({type:u.BeginDefault}),e.cursor+=1,e.status=i.ExpectDefaultValue):e.status=i.ExpectOptionalBeginPipe}function f(e){b(e,i.ExpectOptionalBeginPipe)}function g(e){"|"===x(e).charAt(0)?(e.tokens.push({type:u.BeginPipe}),e.cursor+=1,e.status=i.ExpectPipeIdentifier):e.status=i.ExpectPlaceholderEnd}function h(e){var t=x(e).match(/^[a-zA-Z]\w*/);if(!t)throw new Error("Expected a pipe identifier at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));var r=t[0];e.tokens.push({type:u.PipeIdentifier,value:r}),e.cursor+=r.length,e.status=i.ExpectOptionalBeginPipeParameter}function P(e){":"===x(e).charAt(0)?(e.tokens.push({type:u.BeginPipeParameter}),e.cursor+=1,e.status=i.ExpectPipeParameter):e.status=i.ExpectOptionalBeginPipe}function E(e){b(e,i.ExpectOptionalBeginPipeParameter)}function v(e){if("}"!==x(e).charAt(0))throw new Error("Expected a placeholder end '}' at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));e.tokens.push({type:u.EndPlaceHolder,loc:{start:e.cursor,end:e.cursor+1}}),e.cursor+=1,e.status=i.Initial}var F=new Map([["false",!1],["null",null],["true",!0]]);function b(e,t){var r=x(e);if(/[0-9[{"]/.test(r.charAt(0))||/-[0-9]/.test(r.substring(0,2)))!function(e,t){for(var r=x(e),a=r.charAt(0),n="["===a?s.Array:"{"===a?s.Object:'"'===a?s.String:s.Others,i=0,c=0,l=0,o=!1,p=!1,d=!1;i<r.length;){var f=r.charAt(i);if(p)p=!1;else if(o)'"'===f?o=!1:"\\"===f&&(p=!0);else switch(f){case"[":l+=1;break;case"{":c+=1;break;case"]":l-=1;break;case"}":c-=1;break;case'"':o=!0}switch(i+=1,n){case s.Array:d=!l;break;case s.Object:d=!c;break;case s.String:d=!o;break;default:d=i<r.length&&/[^a-z0-9E.+-]/.test(r.charAt(i))}if(d)break}if(!d)throw new Error("Failed to match a JSON value at index ".concat(e.cursor," near: ").concat(JSON.stringify(e.raw.substring(e.cursor))));e.tokens.push({type:u.JsonValue,value:JSON.parse(r.substring(0,i))}),e.cursor+=i,e.status=t}(e,t);else{var[a]=x(e).match(/^(?:[\x2D0-9A-Z_a-z\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*/);F.has(a)?e.tokens.push({type:u.JsonValue,value:F.get(a)}):e.tokens.push({type:u.LiteralString,value:a}),e.cursor+=a.length,e.status=t}}function x(e){return e.raw.substring(e.cursor)}function k(e,t){return B(e,"@",t)}function y(e,t){return B(e,"$",t)}function D(e,t){return B(e,["@","$"],t)}function B(e,t,r){if(!function(e,t){return c(t).test(e)}(e,t))return e;var s,F,b=(s=r.data,function(e){var t=e.field?(0,a.get)(s,e.field):s;return void 0===t&&(t=e.defaultValue),(0,n.processPipes)(t,e.pipes)}),x=function(e,t){return function(r){var i,u,s=r.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\.)?(.+)$/);if(!s)return t.substring(r.loc.start,r.loc.end);var c,[,l,o]=s;!l&&/^[A-Z_]+$/.test(o)&&(l=o,o="*");var p={SYS:"sys",FLAGS:"flags"};switch(l){case"QUERY":case"query":c="*"===o?e.query:e.query.has(o)?e.query.get(o):void 0;break;case"QUERY_ARRAY":c=e.query.has(o)?e.query.getAll(o):void 0;break;case"EVENT":case"event":if(void 0===e.event)return t.substring(r.loc.start,r.loc.end);c="*"===o?e.event:(0,a.get)(e.event,o);break;case"APP":c="*"===o?null!==(i=e.overrideApp)&&void 0!==i?i:e.app:(0,a.get)(null!==(u=e.overrideApp)&&void 0!==u?u:e.app,o);break;case"HASH":c=e.location.hash;break;case"SYS":case"FLAGS":c="*"===o?e[p[l]]:(0,a.get)(e[p[l]],o);break;case"ANCHOR":var d=e.location.hash?e.location.hash.substr(1):null;c="*"===o?d:(0,a.get)(d,o);break;case"CTX":var f=t.substring(r.loc.start,r.loc.end);return console.error('CTX is not supported in placeholder any more: "'.concat(f,'"')),f;default:if(!e.match)return t.substring(r.loc.start,r.loc.end);c=e.match.params[o]}return void 0===c&&(c=r.defaultValue),(0,n.processPipes)(c,r.pipes)}}(r,e);return F=function(e,t){return function(e){var t,r={type:"InjectableString",elements:[]};function a(r){return r===e[0].type&&(t=e.shift(),!0)}function n(r){if(t=e.shift(),Array.isArray(r)?!r.includes(t.type):r!==t.type)throw new Error("Expected token: ".concat(r,", received token: ").concat(t.type))}for(;e.length>0;)if(a(u.Raw))r.elements.push({type:"RawString",value:t.value});else{n(u.BeginPlaceHolder);var i=t.loc.start,s=t.value;n(u.Field);var c={type:"Placeholder",symbol:s,field:t.value,defaultValue:void 0,pipes:[],loc:{start:i,end:i}};for(r.elements.push(c),a(u.BeginDefault)&&(n([u.JsonValue,u.LiteralString]),c.defaultValue=t.value);a(u.BeginPipe);){n(u.PipeIdentifier);var l={type:"PipeCall",identifier:t.value,parameters:[]};for(c.pipes.push(l);a(u.BeginPipeParameter);)n([u.JsonValue,u.LiteralString]),l.parameters.push(t.value)}n(u.EndPlaceHolder),c.loc.end=t.loc.end}return r}(function(e,t){for(var r={beginPlaceholder:c(t),raw:e,cursor:0,status:i.Initial,tokens:[]};r.cursor<e.length;)switch(r.status){case i.Initial:l(r);break;case i.ExpectField:o(r),p(r);break;case i.ExpectOptionalBeginDefault:o(r),d(r);break;case i.ExpectDefaultValue:o(r),f(r);break;case i.ExpectOptionalBeginPipe:o(r),g(r);break;case i.ExpectPipeIdentifier:o(r),h(r);break;case i.ExpectOptionalBeginPipeParameter:o(r),P(r);break;case i.ExpectPipeParameter:o(r),E(r);break;case i.ExpectPlaceholderEnd:o(r),v(r)}if(r.status!==i.Initial)throw new Error("Expected a placeholder end '}' at the end");return r.tokens}(e,t))}(e,t).elements.map((e=>"RawString"===e.type?e.value:"$"===e.symbol?x(e):b(e))),1===F.length?F[0]:F.join("")}}}]);
2
+ //# sourceMappingURL=5725.b95e7c34.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/7672.5e83b6e0.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/inject/dist/esm/interfaces.js","webpack:///../../node_modules/@next-core/inject/dist/esm/lexical.js","webpack:///../../node_modules/@next-core/inject/dist/esm/compile.js","webpack:///../../node_modules/@next-core/inject/dist/esm/syntax.js"],"sourcesContent":["export var LexicalStatus = /*#__PURE__*/function (LexicalStatus) {\n LexicalStatus[LexicalStatus[\"Initial\"] = 0] = \"Initial\";\n LexicalStatus[LexicalStatus[\"ExpectField\"] = 1] = \"ExpectField\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginDefault\"] = 2] = \"ExpectOptionalBeginDefault\";\n LexicalStatus[LexicalStatus[\"ExpectDefaultValue\"] = 3] = \"ExpectDefaultValue\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipe\"] = 4] = \"ExpectOptionalBeginPipe\";\n LexicalStatus[LexicalStatus[\"ExpectPipeIdentifier\"] = 5] = \"ExpectPipeIdentifier\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipeParameter\"] = 6] = \"ExpectOptionalBeginPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPipeParameter\"] = 7] = \"ExpectPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPlaceholderEnd\"] = 8] = \"ExpectPlaceholderEnd\";\n return LexicalStatus;\n}({});\nexport var TokenType = /*#__PURE__*/function (TokenType) {\n TokenType[\"Raw\"] = \"Raw\";\n TokenType[\"BeginPlaceHolder\"] = \"BeginPlaceHolder\";\n TokenType[\"Field\"] = \"Field\";\n TokenType[\"BeginDefault\"] = \"BeginDefault\";\n TokenType[\"LiteralString\"] = \"LiteralString\";\n TokenType[\"BeginPipe\"] = \"BeginPipe\";\n TokenType[\"PipeIdentifier\"] = \"PipeIdentifier\";\n TokenType[\"BeginPipeParameter\"] = \"BeginPipeParameter\";\n TokenType[\"EndPlaceHolder\"] = \"EndPlaceHolder\";\n TokenType[\"JsonValue\"] = \"JsonValue\";\n return TokenType;\n}({});\nexport var JsonValueType = /*#__PURE__*/function (JsonValueType) {\n JsonValueType[JsonValueType[\"Array\"] = 0] = \"Array\";\n JsonValueType[JsonValueType[\"Object\"] = 1] = \"Object\";\n JsonValueType[JsonValueType[\"String\"] = 2] = \"String\";\n JsonValueType[JsonValueType[\"Others\"] = 3] = \"Others\";\n return JsonValueType;\n}({});\n//# sourceMappingURL=interfaces.js.map","import { escapeRegExp } from \"lodash\";\nimport { LexicalStatus, TokenType, JsonValueType } from \"./interfaces.js\";\nexport function getRegExpOfPlaceholder(symbols) {\n return new RegExp(\"(\".concat([].concat(symbols).map(symbol => escapeRegExp(symbol)).join(\"|\"), \")\\\\{\"));\n}\nexport function tokenize(raw, symbols) {\n var context = {\n beginPlaceholder: getRegExpOfPlaceholder(symbols),\n raw,\n cursor: 0,\n status: LexicalStatus.Initial,\n tokens: []\n };\n while (context.cursor < raw.length) {\n switch (context.status) {\n case LexicalStatus.Initial:\n eatOptionalRawAndOptionalPlaceholderBegin(context);\n break;\n case LexicalStatus.ExpectField:\n eatWhitespace(context);\n eatField(context);\n break;\n case LexicalStatus.ExpectOptionalBeginDefault:\n eatWhitespace(context);\n eatOptionalDefault(context);\n break;\n case LexicalStatus.ExpectDefaultValue:\n eatWhitespace(context);\n eatDefaultValue(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipe:\n eatWhitespace(context);\n eatOptionalBeginPipe(context);\n break;\n case LexicalStatus.ExpectPipeIdentifier:\n eatWhitespace(context);\n eatPipeIdentifier(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipeParameter:\n eatWhitespace(context);\n eatOptionalBeginPipeParameter(context);\n break;\n case LexicalStatus.ExpectPipeParameter:\n eatWhitespace(context);\n eatPipeParameter(context);\n break;\n case LexicalStatus.ExpectPlaceholderEnd:\n eatWhitespace(context);\n eatPlaceholderEnd(context);\n break;\n }\n }\n if (context.status !== LexicalStatus.Initial) {\n throw new Error(\"Expected a placeholder end '}' at the end\");\n }\n return context.tokens;\n}\nfunction eatOptionalRawAndOptionalPlaceholderBegin(context) {\n var _subRaw$match;\n var subRaw = getSubRaw(context);\n var matchedPlaceholder = (_subRaw$match = subRaw.match(context.beginPlaceholder)) === null || _subRaw$match === void 0 ? void 0 : _subRaw$match[0];\n var subCursor = matchedPlaceholder ? subRaw.indexOf(matchedPlaceholder) : -1;\n if (subCursor >= 0 && matchedPlaceholder && subRaw.charAt(subCursor + matchedPlaceholder.length) !== \"{\") {\n var nextCursor = context.cursor + subCursor;\n if (subCursor > 0) {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw.substring(0, subCursor)\n });\n }\n context.tokens.push({\n type: TokenType.BeginPlaceHolder,\n loc: {\n start: nextCursor,\n end: nextCursor + matchedPlaceholder.length\n },\n value: matchedPlaceholder.substring(0, matchedPlaceholder.length - 1)\n });\n context.cursor += subCursor + matchedPlaceholder.length;\n context.status = LexicalStatus.ExpectField;\n } else {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw\n });\n context.cursor = context.raw.length;\n }\n}\nfunction eatWhitespace(context) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n context.cursor += getSubRaw(context).match(/^[ \\r\\n\\t]*/)[0].length;\n}\nfunction eatField(context) {\n // Only allow alphanumeric, `_`, `.`, `*`, `[`, `]`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var [value] = getSubRaw(context).match(/^(?:[\\*\\x2D\\.0-9A-\\[\\]_a-z\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*/);\n context.tokens.push({\n type: TokenType.Field,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginDefault;\n}\nfunction eatOptionalDefault(context) {\n if (getSubRaw(context).charAt(0) === \"=\") {\n context.tokens.push({\n type: TokenType.BeginDefault\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectDefaultValue;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatDefaultValue(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipe);\n}\nfunction eatOptionalBeginPipe(context) {\n if (getSubRaw(context).charAt(0) === \"|\") {\n context.tokens.push({\n type: TokenType.BeginPipe\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeIdentifier;\n } else {\n context.status = LexicalStatus.ExpectPlaceholderEnd;\n }\n}\nfunction eatPipeIdentifier(context) {\n var matches = getSubRaw(context).match(/^[a-zA-Z]\\w*/);\n if (!matches) {\n throw new Error(\"Expected a pipe identifier at index \".concat(context.cursor, \" near: \").concat(JSON.stringify(context.raw.substring(context.cursor))));\n }\n var value = matches[0];\n context.tokens.push({\n type: TokenType.PipeIdentifier,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginPipeParameter;\n}\nfunction eatOptionalBeginPipeParameter(context) {\n if (getSubRaw(context).charAt(0) === \":\") {\n context.tokens.push({\n type: TokenType.BeginPipeParameter\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeParameter;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatPipeParameter(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipeParameter);\n}\nfunction eatPlaceholderEnd(context) {\n if (getSubRaw(context).charAt(0) === \"}\") {\n context.tokens.push({\n type: TokenType.EndPlaceHolder,\n loc: {\n start: context.cursor,\n end: context.cursor + 1\n }\n });\n context.cursor += 1;\n context.status = LexicalStatus.Initial;\n } else {\n throw new Error(\"Expected a placeholder end '}' at index \".concat(context.cursor, \" near: \").concat(JSON.stringify(context.raw.substring(context.cursor))));\n }\n}\nvar jsonLiteralMap = new Map([[\"false\", false], [\"null\", null], [\"true\", true]]);\nfunction eatJsonValueOrLiteralString(context, nextStatus) {\n var subRaw = getSubRaw(context);\n if (/[0-9[{\"]/.test(subRaw.charAt(0)) || /-[0-9]/.test(subRaw.substring(0, 2))) {\n eatJsonValue(context, nextStatus);\n } else {\n // Accept any characters except controls and whitespace.\n // Only allow alphanumeric, `_`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var [value] = getSubRaw(context).match(/^(?:[\\x2D0-9A-Z_a-z\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*/);\n if (jsonLiteralMap.has(value)) {\n context.tokens.push({\n type: TokenType.JsonValue,\n value: jsonLiteralMap.get(value)\n });\n } else {\n context.tokens.push({\n type: TokenType.LiteralString,\n value\n });\n }\n context.cursor += value.length;\n context.status = nextStatus;\n }\n}\n\n// 我们不需要非常精确地在一段字符串中匹配出一段*完整合法的* JSON value,\n// 而只需要找到一段*可能是完整合法的* JSON value 即可,解析的工作交给 `JSON.parse()`。\n// 由于 JSON 中 object/array/string 的镜像起止符特性,我们尝试去完成这些符号匹配即可。\nfunction eatJsonValue(context, nextStatus) {\n var subRaw = getSubRaw(context);\n var firstChar = subRaw.charAt(0);\n var valueType = firstChar === \"[\" ? JsonValueType.Array : firstChar === \"{\" ? JsonValueType.Object : firstChar === '\"' ? JsonValueType.String : JsonValueType.Others;\n var subCursor = 0;\n var objectBracesToMatch = 0;\n var arrayBracketsToMatch = 0;\n var stringQuotesToClose = false;\n var stringBackslashToEscape = false;\n var matched = false;\n while (subCursor < subRaw.length) {\n var char = subRaw.charAt(subCursor);\n if (stringBackslashToEscape) {\n stringBackslashToEscape = false;\n } else if (stringQuotesToClose) {\n if (char === '\"') {\n stringQuotesToClose = false;\n } else if (char === \"\\\\\") {\n stringBackslashToEscape = true;\n }\n } else {\n switch (char) {\n case \"[\":\n arrayBracketsToMatch += 1;\n break;\n case \"{\":\n objectBracesToMatch += 1;\n break;\n case \"]\":\n arrayBracketsToMatch -= 1;\n break;\n case \"}\":\n objectBracesToMatch -= 1;\n break;\n case '\"':\n stringQuotesToClose = true;\n break;\n }\n }\n subCursor += 1;\n switch (valueType) {\n case JsonValueType.Array:\n matched = !arrayBracketsToMatch;\n break;\n case JsonValueType.Object:\n matched = !objectBracesToMatch;\n break;\n case JsonValueType.String:\n matched = !stringQuotesToClose;\n break;\n default:\n // 对于其它类型,如果下一个字符不再是这些值类型可能的字符时,我们认为 JSON value 完成匹配。\n // 其它可能的值类型:number/boolean/null/undefined。\n matched = subCursor < subRaw.length && /[^a-z0-9E.+-]/.test(subRaw.charAt(subCursor));\n }\n if (matched) {\n break;\n }\n }\n if (!matched) {\n throw new Error(\"Failed to match a JSON value at index \".concat(context.cursor, \" near: \").concat(JSON.stringify(context.raw.substring(context.cursor))));\n }\n context.tokens.push({\n type: TokenType.JsonValue,\n value: JSON.parse(subRaw.substring(0, subCursor))\n });\n context.cursor += subCursor;\n context.status = nextStatus;\n}\nfunction getSubRaw(context) {\n return context.raw.substring(context.cursor);\n}\n//# sourceMappingURL=lexical.js.map","import { get } from \"lodash\";\nimport { processPipes } from \"@next-core/pipes\";\nimport { parseInjectableString } from \"./syntax.js\";\nimport { getRegExpOfPlaceholder } from \"./lexical.js\";\nexport function transform(raw, context) {\n return compile(raw, \"@\", context);\n}\nexport function inject(raw, context) {\n return compile(raw, \"$\", context);\n}\nexport function transformAndInject(raw, context) {\n return compile(raw, [\"@\", \"$\"], context);\n}\nfunction compile(raw, symbols, context) {\n // const symbols = [\"@\", \"$\"];\n if (!isInjectable(raw, symbols)) {\n return raw;\n }\n var transformNode = transformNodeFactory(context.data);\n var injectNode = injectNodeFactory(context, raw);\n var tree = parseInjectableString(raw, symbols);\n var values = tree.elements.map(node => node.type === \"RawString\" ? node.value : node.symbol === \"$\" ? injectNode(node) : transformNode(node));\n return reduceCompiledValues(values);\n}\nfunction reduceCompiledValues(values) {\n // If the whole string is a placeholder, we should keep the original value.\n if (values.length === 1) {\n return values[0];\n }\n\n // If an element is `undefined`, `null` or an empty array `[]`, it is converted to an empty string.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join#Description\n return values.join(\"\");\n}\nfunction isInjectable(raw, symbols) {\n return getRegExpOfPlaceholder(symbols).test(raw);\n}\nfunction transformNodeFactory(data) {\n return function transformNode(node) {\n // If meet `@{}`, return `data`.\n var result = node.field ? get(data, node.field) : data;\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\nfunction injectNodeFactory(context, raw) {\n return function injectNode(node) {\n var _context$overrideApp, _context$overrideApp2;\n var matches = node.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\\.)?(.+)$/);\n if (!matches) {\n // Keep the original raw partial when meet a unknown namespace.\n return raw.substring(node.loc.start, node.loc.end);\n }\n var [, namespace, subField] = matches;\n\n // Support namespace with no subfield such as `${ANCHOR}`.\n // But distinguish with match params. E.g. `${query}` is a match param.\n if (!namespace && /^[A-Z_]+$/.test(subField)) {\n namespace = subField;\n subField = \"*\";\n }\n var result;\n var SimpleContextMap = {\n SYS: \"sys\",\n FLAGS: \"flags\"\n };\n switch (namespace) {\n case \"QUERY\":\n case \"query\":\n if (subField === \"*\") {\n result = context.query;\n } else {\n result = context.query.has(subField) ? context.query.get(subField) : undefined;\n }\n break;\n case \"QUERY_ARRAY\":\n result = context.query.has(subField) ? context.query.getAll(subField) : undefined;\n break;\n case \"EVENT\":\n case \"event\":\n if (context.event === undefined) {\n // Keep the original raw partial when meet a `${EVENT}` in non-event context.\n return raw.substring(node.loc.start, node.loc.end);\n }\n result = subField === \"*\" ? context.event : get(context.event, subField);\n break;\n case \"APP\":\n result = subField === \"*\" ? (_context$overrideApp = context.overrideApp) !== null && _context$overrideApp !== void 0 ? _context$overrideApp : context.app : get((_context$overrideApp2 = context.overrideApp) !== null && _context$overrideApp2 !== void 0 ? _context$overrideApp2 : context.app, subField);\n break;\n case \"HASH\":\n result = context.location.hash;\n break;\n case \"SYS\":\n case \"FLAGS\":\n result = subField === \"*\" ? context[SimpleContextMap[namespace]] : get(context[SimpleContextMap[namespace]], subField);\n break;\n case \"ANCHOR\":\n {\n var anchor = context.location.hash ? context.location.hash.substr(1) : null;\n result = subField === \"*\" ? anchor : get(anchor, subField);\n break;\n }\n case \"CTX\":\n {\n var original = raw.substring(node.loc.start, node.loc.end);\n // eslint-disable-next-line no-console\n console.error(\"CTX is not supported in placeholder any more: \\\"\".concat(original, \"\\\"\"));\n return original;\n }\n default:\n if (context.match) {\n result = context.match.params[subField];\n } else {\n // If the context is empty, return the original raw partial.\n return raw.substring(node.loc.start, node.loc.end);\n }\n }\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\n//# sourceMappingURL=compile.js.map","import { tokenize } from \"./lexical.js\";\nimport { TokenType } from \"./interfaces.js\";\nexport function parseInjectableString(raw, symbols) {\n return parseTokens(tokenize(raw, symbols));\n}\nfunction parseTokens(tokens) {\n var tree = {\n type: \"InjectableString\",\n elements: []\n };\n var token;\n function optionalToken(type) {\n if (type === tokens[0].type) {\n token = tokens.shift();\n return true;\n }\n return false;\n }\n function acceptToken(type) {\n token = tokens.shift();\n if (Array.isArray(type) ? !type.includes(token.type) : type !== token.type) {\n throw new Error(\"Expected token: \".concat(type, \", received token: \").concat(token.type));\n }\n }\n while (tokens.length > 0) {\n if (optionalToken(TokenType.Raw)) {\n tree.elements.push({\n type: \"RawString\",\n value: token.value\n });\n } else {\n acceptToken(TokenType.BeginPlaceHolder);\n var start = token.loc.start;\n var symbol = token.value;\n acceptToken(TokenType.Field);\n var placeholder = {\n type: \"Placeholder\",\n symbol,\n field: token.value,\n defaultValue: undefined,\n pipes: [],\n loc: {\n start,\n end: start\n }\n };\n tree.elements.push(placeholder);\n if (optionalToken(TokenType.BeginDefault)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n placeholder.defaultValue = token.value;\n }\n while (optionalToken(TokenType.BeginPipe)) {\n acceptToken(TokenType.PipeIdentifier);\n var pipe = {\n type: \"PipeCall\",\n identifier: token.value,\n parameters: []\n };\n placeholder.pipes.push(pipe);\n while (optionalToken(TokenType.BeginPipeParameter)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n pipe.parameters.push(token.value);\n }\n }\n acceptToken(TokenType.EndPlaceHolder);\n placeholder.loc.end = token.loc.end;\n }\n }\n return tree;\n}\n//# sourceMappingURL=syntax.js.map"],"names":["LexicalStatus","TokenType","JsonValueType","getRegExpOfPlaceholder","symbols","RegExp","concat","map","symbol","escapeRegExp","join","eatOptionalRawAndOptionalPlaceholderBegin","context","_subRaw$match","subRaw","getSubRaw","matchedPlaceholder","match","beginPlaceholder","subCursor","indexOf","charAt","length","nextCursor","cursor","tokens","push","type","Raw","value","substring","BeginPlaceHolder","loc","start","end","status","ExpectField","raw","eatWhitespace","eatField","Field","ExpectOptionalBeginDefault","eatOptionalDefault","BeginDefault","ExpectDefaultValue","ExpectOptionalBeginPipe","eatDefaultValue","eatJsonValueOrLiteralString","eatOptionalBeginPipe","BeginPipe","ExpectPipeIdentifier","ExpectPlaceholderEnd","eatPipeIdentifier","matches","Error","JSON","stringify","PipeIdentifier","ExpectOptionalBeginPipeParameter","eatOptionalBeginPipeParameter","BeginPipeParameter","ExpectPipeParameter","eatPipeParameter","eatPlaceholderEnd","EndPlaceHolder","Initial","jsonLiteralMap","Map","nextStatus","test","firstChar","valueType","Array","Object","String","Others","objectBracesToMatch","arrayBracketsToMatch","stringQuotesToClose","stringBackslashToEscape","matched","char","JsonValue","parse","eatJsonValue","has","get","LiteralString","transform","compile","inject","transformAndInject","isInjectable","data","values","transformNode","node","result","field","undefined","defaultValue","processPipes","pipes","injectNode","_context$overrideApp","_context$overrideApp2","namespace","subField","SimpleContextMap","SYS","FLAGS","query","getAll","event","overrideApp","app","location","hash","anchor","substr","original","console","error","params","injectNodeFactory","token","tree","elements","optionalToken","shift","acceptToken","isArray","includes","placeholder","pipe","identifier","parameters","parseTokens","tokenize","parseInjectableString"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5725.b95e7c34.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/inject/dist/esm/interfaces.js","webpack:///../../node_modules/@next-core/inject/dist/esm/lexical.js","webpack:///../../node_modules/@next-core/inject/dist/esm/compile.js","webpack:///../../node_modules/@next-core/inject/dist/esm/syntax.js"],"sourcesContent":["export var LexicalStatus = /*#__PURE__*/function (LexicalStatus) {\n LexicalStatus[LexicalStatus[\"Initial\"] = 0] = \"Initial\";\n LexicalStatus[LexicalStatus[\"ExpectField\"] = 1] = \"ExpectField\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginDefault\"] = 2] = \"ExpectOptionalBeginDefault\";\n LexicalStatus[LexicalStatus[\"ExpectDefaultValue\"] = 3] = \"ExpectDefaultValue\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipe\"] = 4] = \"ExpectOptionalBeginPipe\";\n LexicalStatus[LexicalStatus[\"ExpectPipeIdentifier\"] = 5] = \"ExpectPipeIdentifier\";\n LexicalStatus[LexicalStatus[\"ExpectOptionalBeginPipeParameter\"] = 6] = \"ExpectOptionalBeginPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPipeParameter\"] = 7] = \"ExpectPipeParameter\";\n LexicalStatus[LexicalStatus[\"ExpectPlaceholderEnd\"] = 8] = \"ExpectPlaceholderEnd\";\n return LexicalStatus;\n}({});\nexport var TokenType = /*#__PURE__*/function (TokenType) {\n TokenType[\"Raw\"] = \"Raw\";\n TokenType[\"BeginPlaceHolder\"] = \"BeginPlaceHolder\";\n TokenType[\"Field\"] = \"Field\";\n TokenType[\"BeginDefault\"] = \"BeginDefault\";\n TokenType[\"LiteralString\"] = \"LiteralString\";\n TokenType[\"BeginPipe\"] = \"BeginPipe\";\n TokenType[\"PipeIdentifier\"] = \"PipeIdentifier\";\n TokenType[\"BeginPipeParameter\"] = \"BeginPipeParameter\";\n TokenType[\"EndPlaceHolder\"] = \"EndPlaceHolder\";\n TokenType[\"JsonValue\"] = \"JsonValue\";\n return TokenType;\n}({});\nexport var JsonValueType = /*#__PURE__*/function (JsonValueType) {\n JsonValueType[JsonValueType[\"Array\"] = 0] = \"Array\";\n JsonValueType[JsonValueType[\"Object\"] = 1] = \"Object\";\n JsonValueType[JsonValueType[\"String\"] = 2] = \"String\";\n JsonValueType[JsonValueType[\"Others\"] = 3] = \"Others\";\n return JsonValueType;\n}({});\n//# sourceMappingURL=interfaces.js.map","import { escapeRegExp } from \"lodash\";\nimport { LexicalStatus, TokenType, JsonValueType } from \"./interfaces.js\";\nexport function getRegExpOfPlaceholder(symbols) {\n return new RegExp(\"(\".concat([].concat(symbols).map(symbol => escapeRegExp(symbol)).join(\"|\"), \")\\\\{\"));\n}\nexport function tokenize(raw, symbols) {\n var context = {\n beginPlaceholder: getRegExpOfPlaceholder(symbols),\n raw,\n cursor: 0,\n status: LexicalStatus.Initial,\n tokens: []\n };\n while (context.cursor < raw.length) {\n switch (context.status) {\n case LexicalStatus.Initial:\n eatOptionalRawAndOptionalPlaceholderBegin(context);\n break;\n case LexicalStatus.ExpectField:\n eatWhitespace(context);\n eatField(context);\n break;\n case LexicalStatus.ExpectOptionalBeginDefault:\n eatWhitespace(context);\n eatOptionalDefault(context);\n break;\n case LexicalStatus.ExpectDefaultValue:\n eatWhitespace(context);\n eatDefaultValue(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipe:\n eatWhitespace(context);\n eatOptionalBeginPipe(context);\n break;\n case LexicalStatus.ExpectPipeIdentifier:\n eatWhitespace(context);\n eatPipeIdentifier(context);\n break;\n case LexicalStatus.ExpectOptionalBeginPipeParameter:\n eatWhitespace(context);\n eatOptionalBeginPipeParameter(context);\n break;\n case LexicalStatus.ExpectPipeParameter:\n eatWhitespace(context);\n eatPipeParameter(context);\n break;\n case LexicalStatus.ExpectPlaceholderEnd:\n eatWhitespace(context);\n eatPlaceholderEnd(context);\n break;\n }\n }\n if (context.status !== LexicalStatus.Initial) {\n throw new Error(\"Expected a placeholder end '}' at the end\");\n }\n return context.tokens;\n}\nfunction eatOptionalRawAndOptionalPlaceholderBegin(context) {\n var _subRaw$match;\n var subRaw = getSubRaw(context);\n var matchedPlaceholder = (_subRaw$match = subRaw.match(context.beginPlaceholder)) === null || _subRaw$match === void 0 ? void 0 : _subRaw$match[0];\n var subCursor = matchedPlaceholder ? subRaw.indexOf(matchedPlaceholder) : -1;\n if (subCursor >= 0 && matchedPlaceholder && subRaw.charAt(subCursor + matchedPlaceholder.length) !== \"{\") {\n var nextCursor = context.cursor + subCursor;\n if (subCursor > 0) {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw.substring(0, subCursor)\n });\n }\n context.tokens.push({\n type: TokenType.BeginPlaceHolder,\n loc: {\n start: nextCursor,\n end: nextCursor + matchedPlaceholder.length\n },\n value: matchedPlaceholder.substring(0, matchedPlaceholder.length - 1)\n });\n context.cursor += subCursor + matchedPlaceholder.length;\n context.status = LexicalStatus.ExpectField;\n } else {\n context.tokens.push({\n type: TokenType.Raw,\n value: subRaw\n });\n context.cursor = context.raw.length;\n }\n}\nfunction eatWhitespace(context) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n context.cursor += getSubRaw(context).match(/^[ \\r\\n\\t]*/)[0].length;\n}\nfunction eatField(context) {\n // Only allow alphanumeric, `_`, `.`, `*`, `[`, `]`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var [value] = getSubRaw(context).match(/^(?:[\\*\\x2D\\.0-9A-\\[\\]_a-z\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*/);\n context.tokens.push({\n type: TokenType.Field,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginDefault;\n}\nfunction eatOptionalDefault(context) {\n if (getSubRaw(context).charAt(0) === \"=\") {\n context.tokens.push({\n type: TokenType.BeginDefault\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectDefaultValue;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatDefaultValue(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipe);\n}\nfunction eatOptionalBeginPipe(context) {\n if (getSubRaw(context).charAt(0) === \"|\") {\n context.tokens.push({\n type: TokenType.BeginPipe\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeIdentifier;\n } else {\n context.status = LexicalStatus.ExpectPlaceholderEnd;\n }\n}\nfunction eatPipeIdentifier(context) {\n var matches = getSubRaw(context).match(/^[a-zA-Z]\\w*/);\n if (!matches) {\n throw new Error(\"Expected a pipe identifier at index \".concat(context.cursor, \" near: \").concat(JSON.stringify(context.raw.substring(context.cursor))));\n }\n var value = matches[0];\n context.tokens.push({\n type: TokenType.PipeIdentifier,\n value\n });\n context.cursor += value.length;\n context.status = LexicalStatus.ExpectOptionalBeginPipeParameter;\n}\nfunction eatOptionalBeginPipeParameter(context) {\n if (getSubRaw(context).charAt(0) === \":\") {\n context.tokens.push({\n type: TokenType.BeginPipeParameter\n });\n context.cursor += 1;\n context.status = LexicalStatus.ExpectPipeParameter;\n } else {\n context.status = LexicalStatus.ExpectOptionalBeginPipe;\n }\n}\nfunction eatPipeParameter(context) {\n eatJsonValueOrLiteralString(context, LexicalStatus.ExpectOptionalBeginPipeParameter);\n}\nfunction eatPlaceholderEnd(context) {\n if (getSubRaw(context).charAt(0) === \"}\") {\n context.tokens.push({\n type: TokenType.EndPlaceHolder,\n loc: {\n start: context.cursor,\n end: context.cursor + 1\n }\n });\n context.cursor += 1;\n context.status = LexicalStatus.Initial;\n } else {\n throw new Error(\"Expected a placeholder end '}' at index \".concat(context.cursor, \" near: \").concat(JSON.stringify(context.raw.substring(context.cursor))));\n }\n}\nvar jsonLiteralMap = new Map([[\"false\", false], [\"null\", null], [\"true\", true]]);\nfunction eatJsonValueOrLiteralString(context, nextStatus) {\n var subRaw = getSubRaw(context);\n if (/[0-9[{\"]/.test(subRaw.charAt(0)) || /-[0-9]/.test(subRaw.substring(0, 2))) {\n eatJsonValue(context, nextStatus);\n } else {\n // Accept any characters except controls and whitespace.\n // Only allow alphanumeric, `_`, `-` and other non-ascii.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var [value] = getSubRaw(context).match(/^(?:[\\x2D0-9A-Z_a-z\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*/);\n if (jsonLiteralMap.has(value)) {\n context.tokens.push({\n type: TokenType.JsonValue,\n value: jsonLiteralMap.get(value)\n });\n } else {\n context.tokens.push({\n type: TokenType.LiteralString,\n value\n });\n }\n context.cursor += value.length;\n context.status = nextStatus;\n }\n}\n\n// 我们不需要非常精确地在一段字符串中匹配出一段*完整合法的* JSON value,\n// 而只需要找到一段*可能是完整合法的* JSON value 即可,解析的工作交给 `JSON.parse()`。\n// 由于 JSON 中 object/array/string 的镜像起止符特性,我们尝试去完成这些符号匹配即可。\nfunction eatJsonValue(context, nextStatus) {\n var subRaw = getSubRaw(context);\n var firstChar = subRaw.charAt(0);\n var valueType = firstChar === \"[\" ? JsonValueType.Array : firstChar === \"{\" ? JsonValueType.Object : firstChar === '\"' ? JsonValueType.String : JsonValueType.Others;\n var subCursor = 0;\n var objectBracesToMatch = 0;\n var arrayBracketsToMatch = 0;\n var stringQuotesToClose = false;\n var stringBackslashToEscape = false;\n var matched = false;\n while (subCursor < subRaw.length) {\n var char = subRaw.charAt(subCursor);\n if (stringBackslashToEscape) {\n stringBackslashToEscape = false;\n } else if (stringQuotesToClose) {\n if (char === '\"') {\n stringQuotesToClose = false;\n } else if (char === \"\\\\\") {\n stringBackslashToEscape = true;\n }\n } else {\n switch (char) {\n case \"[\":\n arrayBracketsToMatch += 1;\n break;\n case \"{\":\n objectBracesToMatch += 1;\n break;\n case \"]\":\n arrayBracketsToMatch -= 1;\n break;\n case \"}\":\n objectBracesToMatch -= 1;\n break;\n case '\"':\n stringQuotesToClose = true;\n break;\n }\n }\n subCursor += 1;\n switch (valueType) {\n case JsonValueType.Array:\n matched = !arrayBracketsToMatch;\n break;\n case JsonValueType.Object:\n matched = !objectBracesToMatch;\n break;\n case JsonValueType.String:\n matched = !stringQuotesToClose;\n break;\n default:\n // 对于其它类型,如果下一个字符不再是这些值类型可能的字符时,我们认为 JSON value 完成匹配。\n // 其它可能的值类型:number/boolean/null/undefined。\n matched = subCursor < subRaw.length && /[^a-z0-9E.+-]/.test(subRaw.charAt(subCursor));\n }\n if (matched) {\n break;\n }\n }\n if (!matched) {\n throw new Error(\"Failed to match a JSON value at index \".concat(context.cursor, \" near: \").concat(JSON.stringify(context.raw.substring(context.cursor))));\n }\n context.tokens.push({\n type: TokenType.JsonValue,\n value: JSON.parse(subRaw.substring(0, subCursor))\n });\n context.cursor += subCursor;\n context.status = nextStatus;\n}\nfunction getSubRaw(context) {\n return context.raw.substring(context.cursor);\n}\n//# sourceMappingURL=lexical.js.map","import { get } from \"lodash\";\nimport { processPipes } from \"@next-core/pipes\";\nimport { parseInjectableString } from \"./syntax.js\";\nimport { getRegExpOfPlaceholder } from \"./lexical.js\";\nexport function transform(raw, context) {\n return compile(raw, \"@\", context);\n}\nexport function inject(raw, context) {\n return compile(raw, \"$\", context);\n}\nexport function transformAndInject(raw, context) {\n return compile(raw, [\"@\", \"$\"], context);\n}\nfunction compile(raw, symbols, context) {\n // const symbols = [\"@\", \"$\"];\n if (!isInjectable(raw, symbols)) {\n return raw;\n }\n var transformNode = transformNodeFactory(context.data);\n var injectNode = injectNodeFactory(context, raw);\n var tree = parseInjectableString(raw, symbols);\n var values = tree.elements.map(node => node.type === \"RawString\" ? node.value : node.symbol === \"$\" ? injectNode(node) : transformNode(node));\n return reduceCompiledValues(values);\n}\nfunction reduceCompiledValues(values) {\n // If the whole string is a placeholder, we should keep the original value.\n if (values.length === 1) {\n return values[0];\n }\n\n // If an element is `undefined`, `null` or an empty array `[]`, it is converted to an empty string.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join#Description\n return values.join(\"\");\n}\nfunction isInjectable(raw, symbols) {\n return getRegExpOfPlaceholder(symbols).test(raw);\n}\nfunction transformNodeFactory(data) {\n return function transformNode(node) {\n // If meet `@{}`, return `data`.\n var result = node.field ? get(data, node.field) : data;\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\nfunction injectNodeFactory(context, raw) {\n return function injectNode(node) {\n var _context$overrideApp, _context$overrideApp2;\n var matches = node.field.match(/^(?:(QUERY(?:_ARRAY)?|EVENT|query|event|APP|HASH|ANCHOR|SYS|FLAGS|CTX)\\.)?(.+)$/);\n if (!matches) {\n // Keep the original raw partial when meet a unknown namespace.\n return raw.substring(node.loc.start, node.loc.end);\n }\n var [, namespace, subField] = matches;\n\n // Support namespace with no subfield such as `${ANCHOR}`.\n // But distinguish with match params. E.g. `${query}` is a match param.\n if (!namespace && /^[A-Z_]+$/.test(subField)) {\n namespace = subField;\n subField = \"*\";\n }\n var result;\n var SimpleContextMap = {\n SYS: \"sys\",\n FLAGS: \"flags\"\n };\n switch (namespace) {\n case \"QUERY\":\n case \"query\":\n if (subField === \"*\") {\n result = context.query;\n } else {\n result = context.query.has(subField) ? context.query.get(subField) : undefined;\n }\n break;\n case \"QUERY_ARRAY\":\n result = context.query.has(subField) ? context.query.getAll(subField) : undefined;\n break;\n case \"EVENT\":\n case \"event\":\n if (context.event === undefined) {\n // Keep the original raw partial when meet a `${EVENT}` in non-event context.\n return raw.substring(node.loc.start, node.loc.end);\n }\n result = subField === \"*\" ? context.event : get(context.event, subField);\n break;\n case \"APP\":\n result = subField === \"*\" ? (_context$overrideApp = context.overrideApp) !== null && _context$overrideApp !== void 0 ? _context$overrideApp : context.app : get((_context$overrideApp2 = context.overrideApp) !== null && _context$overrideApp2 !== void 0 ? _context$overrideApp2 : context.app, subField);\n break;\n case \"HASH\":\n result = context.location.hash;\n break;\n case \"SYS\":\n case \"FLAGS\":\n result = subField === \"*\" ? context[SimpleContextMap[namespace]] : get(context[SimpleContextMap[namespace]], subField);\n break;\n case \"ANCHOR\":\n {\n var anchor = context.location.hash ? context.location.hash.substr(1) : null;\n result = subField === \"*\" ? anchor : get(anchor, subField);\n break;\n }\n case \"CTX\":\n {\n var original = raw.substring(node.loc.start, node.loc.end);\n // eslint-disable-next-line no-console\n console.error(\"CTX is not supported in placeholder any more: \\\"\".concat(original, \"\\\"\"));\n return original;\n }\n default:\n if (context.match) {\n result = context.match.params[subField];\n } else {\n // If the context is empty, return the original raw partial.\n return raw.substring(node.loc.start, node.loc.end);\n }\n }\n if (result === undefined) {\n result = node.defaultValue;\n }\n return processPipes(result, node.pipes);\n };\n}\n//# sourceMappingURL=compile.js.map","import { tokenize } from \"./lexical.js\";\nimport { TokenType } from \"./interfaces.js\";\nexport function parseInjectableString(raw, symbols) {\n return parseTokens(tokenize(raw, symbols));\n}\nfunction parseTokens(tokens) {\n var tree = {\n type: \"InjectableString\",\n elements: []\n };\n var token;\n function optionalToken(type) {\n if (type === tokens[0].type) {\n token = tokens.shift();\n return true;\n }\n return false;\n }\n function acceptToken(type) {\n token = tokens.shift();\n if (Array.isArray(type) ? !type.includes(token.type) : type !== token.type) {\n throw new Error(\"Expected token: \".concat(type, \", received token: \").concat(token.type));\n }\n }\n while (tokens.length > 0) {\n if (optionalToken(TokenType.Raw)) {\n tree.elements.push({\n type: \"RawString\",\n value: token.value\n });\n } else {\n acceptToken(TokenType.BeginPlaceHolder);\n var start = token.loc.start;\n var symbol = token.value;\n acceptToken(TokenType.Field);\n var placeholder = {\n type: \"Placeholder\",\n symbol,\n field: token.value,\n defaultValue: undefined,\n pipes: [],\n loc: {\n start,\n end: start\n }\n };\n tree.elements.push(placeholder);\n if (optionalToken(TokenType.BeginDefault)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n placeholder.defaultValue = token.value;\n }\n while (optionalToken(TokenType.BeginPipe)) {\n acceptToken(TokenType.PipeIdentifier);\n var pipe = {\n type: \"PipeCall\",\n identifier: token.value,\n parameters: []\n };\n placeholder.pipes.push(pipe);\n while (optionalToken(TokenType.BeginPipeParameter)) {\n acceptToken([TokenType.JsonValue, TokenType.LiteralString]);\n pipe.parameters.push(token.value);\n }\n }\n acceptToken(TokenType.EndPlaceHolder);\n placeholder.loc.end = token.loc.end;\n }\n }\n return tree;\n}\n//# sourceMappingURL=syntax.js.map"],"names":["LexicalStatus","TokenType","JsonValueType","getRegExpOfPlaceholder","symbols","RegExp","concat","map","symbol","escapeRegExp","join","eatOptionalRawAndOptionalPlaceholderBegin","context","_subRaw$match","subRaw","getSubRaw","matchedPlaceholder","match","beginPlaceholder","subCursor","indexOf","charAt","length","nextCursor","cursor","tokens","push","type","Raw","value","substring","BeginPlaceHolder","loc","start","end","status","ExpectField","raw","eatWhitespace","eatField","Field","ExpectOptionalBeginDefault","eatOptionalDefault","BeginDefault","ExpectDefaultValue","ExpectOptionalBeginPipe","eatDefaultValue","eatJsonValueOrLiteralString","eatOptionalBeginPipe","BeginPipe","ExpectPipeIdentifier","ExpectPlaceholderEnd","eatPipeIdentifier","matches","Error","JSON","stringify","PipeIdentifier","ExpectOptionalBeginPipeParameter","eatOptionalBeginPipeParameter","BeginPipeParameter","ExpectPipeParameter","eatPipeParameter","eatPlaceholderEnd","EndPlaceHolder","Initial","jsonLiteralMap","Map","nextStatus","test","firstChar","valueType","Array","Object","String","Others","objectBracesToMatch","arrayBracketsToMatch","stringQuotesToClose","stringBackslashToEscape","matched","char","JsonValue","parse","eatJsonValue","has","get","LiteralString","transform","compile","inject","transformAndInject","isInjectable","data","values","transformNode","node","result","field","undefined","defaultValue","processPipes","pipes","injectNode","_context$overrideApp","_context$overrideApp2","namespace","subField","SimpleContextMap","SYS","FLAGS","query","getAll","event","overrideApp","app","location","hash","anchor","substr","original","console","error","params","injectNodeFactory","token","tree","elements","optionalToken","shift","acceptToken","isArray","includes","placeholder","pipe","identifier","parameters","parseTokens","tokenize","parseInjectableString"],"sourceRoot":""}