0 ? data?.style?.color || getColorByType(data?.type, data?.designType) : \"#a9a9a9\",\r\n height: \"100%\",\r\n }}\r\n className={`StickyNoteEditor StickyNoteEditor-textArea texteditor simple-text`}\r\n >\r\n {editor && node?.selected && !node.dragging ? (\r\n <>\r\n {editor && !isNodeSelectionStarted && isOnlyOneNodeSelected && (\r\n
\r\n )}\r\n {data?.locked ? (\r\n
0\r\n ? data?.label\r\n : // : data.type === \"parent\"\r\n // ? \"Mind Map\"\r\n \"Type something\",\r\n }}\r\n />\r\n ) : (\r\n
{\r\n setIsShowToolsPop(false);\r\n }}\r\n onDoubleClick={(e) => {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n }}\r\n />\r\n )}\r\n >\r\n ) : (\r\n 0\r\n ? data?.label\r\n : // : data.type === \"parent\"\r\n // ? \"Mind Map\"\r\n \"Type something\",\r\n }}\r\n />\r\n )}\r\n
\r\n\r\n {(data.type === \"parent\" || data.side === \"bottom\") &&\r\n data.addition === \"vertical\" &&\r\n countChildrenBySide(id, \"bottom\", getNodes()) > 0 &&\r\n !isNodeSelectionStarted && (\r\n toggleCollapse(e, \"bottom\")}\r\n className=\"add-child-btn\"\r\n >\r\n {data?.collapsedBottom ? (\r\n \r\n {countChildrenBySide(id, \"bottom\", getNodes())}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n {(data.type === \"parent\" || data.side === \"right\") &&\r\n data.addition === \"horizontal\" &&\r\n countChildrenBySide(id, \"right\", getNodes()) > 0 &&\r\n !isNodeSelectionStarted && (\r\n toggleCollapse(e, \"right\")}\r\n className=\"add-child-btn\"\r\n >\r\n {data?.collapsedRight ? (\r\n \r\n {countChildrenBySide(id, \"right\", getNodes())}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n {(data.type === \"parent\" || data.side === \"bottom\") &&\r\n data.addition === \"vertical\" &&\r\n !data?.collapsedBottom &&\r\n !isNodeSelectionStarted && (\r\n {\r\n e.stopPropagation();\r\n onAddChild(id, data, \"bottom\");\r\n }}\r\n className=\"add-child-btn\"\r\n >\r\n \r\n \r\n )}\r\n {data.type === \"child\" &&\r\n data.addition === \"horizontal\" &&\r\n !isNodeSelectionStarted && (\r\n \r\n \r\n \r\n )}\r\n {(data.type === \"parent\" || data.side === \"right\") &&\r\n data.addition === \"horizontal\" &&\r\n !data?.collapsedRight &&\r\n !isNodeSelectionStarted && (\r\n {\r\n e.stopPropagation();\r\n onAddChild(id, data, \"right\");\r\n }}\r\n className=\"add-child-btn\"\r\n >\r\n \r\n \r\n )}\r\n {data.type === \"child\" &&\r\n data.addition === \"vertical\" &&\r\n !isNodeSelectionStarted && (\r\n \r\n \r\n \r\n )}\r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setHoveredItem(\"top\");\r\n }}\r\n onMouseLeave={() => {\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {node?.selected && !isNodeSelectionStarted && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setHoveredItem(\"left\");\r\n }}\r\n onMouseLeave={() => {\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {node?.selected && !isNodeSelectionStarted && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setHoveredItem(\"right\");\r\n }}\r\n onMouseLeave={() => {\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {node?.selected && !isNodeSelectionStarted && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setHoveredItem(\"bottom\");\r\n }}\r\n onMouseLeave={() => {\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {node?.selected && !isNodeSelectionStarted && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default memo(TreeViewNode, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import { MarkerType } from \"reactflow\";\r\nimport { getId, getNodeWithAllChildrenAndEdges, getRandomRgbColor, isPositionFarEnough } from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { createTreeLayout } from \"../../../../Utils/hooks/d3-hierarchy\";\r\nimport { Algorithm } from \"../../Edges/EditableEdge/constants\";\r\nimport { treeViewNodeDesignData } from \"../../../mind-map/sidebarComponents/MindMapPopup\";\r\n\r\nexport const adjustTreeViewNodes = (nodes) => {\r\n let updatedNodes = [...nodes];\r\n\r\n // Find all frames with `isOrgChart` set to `true`\r\n const allParentNodes = updatedNodes.filter(\r\n (node) => node.type === \"TreeView\" && node.data?.type === \"parent\"\r\n );\r\n\r\n allParentNodes.forEach((parentNode) => {\r\n // Find all `orgChart` children of the current frame\r\n const treeViewChildren = updatedNodes.filter(\r\n (n) => n.type === \"TreeView\" && n.data.rootParentId === parentNode?.data?.rootParentId\r\n );\r\n\r\n if (treeViewChildren.length === 0) return; // Skip if no orgChart children\r\n\r\n const layoutResult = createTreeLayout(\r\n updatedNodes,\r\n parentNode?.data?.rootParentId,\r\n parentNode?.data?.addition\r\n );\r\n\r\n // Step 2: Update positions of nodes in the layout result\r\n updatedNodes = updatedNodes.map((n) => {\r\n const matchingNode = layoutResult.nodes.find(\r\n (resNode) => resNode.id === n.id\r\n );\r\n return matchingNode ? { ...n, ...matchingNode } : n;\r\n });\r\n });\r\n\r\n return updatedNodes;\r\n};\r\n\r\nexport const hasNodeSwitchedSide = (currentNode, parentNode, side) => {\r\n if (!currentNode || !parentNode) return false;\r\n\r\n const parentMidX = (parentNode?.positionAbsolute?.x || parentNode?.position?.x || 0) + (parentNode?.width || 150) / 2;\r\n const parentMidY = (parentNode?.positionAbsolute?.y || parentNode?.position?.y || 0) + (parentNode?.height || 50) / 2;\r\n\r\n if (side === \"left\" && (currentNode?.positionAbsolute?.x + ((currentNode?.width / 2) || 75)) > parentMidX) {\r\n return true; // Moved to the right\r\n } else if (side === \"right\" && (currentNode?.positionAbsolute?.x + ((currentNode?.width / 2) || 75)) < parentMidX) {\r\n return true; // Moved to the left\r\n } else if (side === \"top\" && (currentNode?.positionAbsolute?.y + ((currentNode?.height / 2) || 25)) > parentMidY) {\r\n return true; // Moved down\r\n } else if (side === \"bottom\" && (currentNode?.positionAbsolute?.y + ((currentNode?.height / 2) || 25)) < parentMidY) {\r\n return true; // Moved up\r\n }\r\n\r\n return false; // Still on the same side\r\n};\r\n\r\nexport const changeSidesAccordingToSwitch = {\r\n top: \"bottom\",\r\n bottom: \"top\",\r\n left: \"right\",\r\n right: \"left\"\r\n}\r\n\r\nexport const changeSidesAccordingToAddition = {\r\n top: \"left\",\r\n bottom: \"right\",\r\n left: \"top\",\r\n right: \"bottom\"\r\n}\r\n\r\nexport const changeSwitchWiseSourceHandles = {\r\n top: \"ddd\",\r\n bottom: \"aaa\",\r\n left: \"ccc\",\r\n right: \"bbb\"\r\n}\r\n\r\nexport const changeSwitchWiseTargetHandles = {\r\n top: \"aaa\",\r\n bottom: \"ddd\",\r\n left: \"bbb\",\r\n right: \"ccc\"\r\n}\r\n\r\nexport const updateNodesAndEdgesRecursivelyForSideSwitch = (node, rootParentNode, nodes, edges) => {\r\n let updatedNodes = [...nodes];\r\n let updatedEdges = [...edges];\r\n\r\n const queue = [node];\r\n\r\n while (queue.length > 0) {\r\n const currentNode = queue.shift();\r\n\r\n // Find children of the current node\r\n const childNodes = updatedNodes.filter(\r\n (n) => n.parentNode === currentNode.id && n.data?.rootParentId === rootParentNode?.id\r\n );\r\n\r\n // Swap side for the current node\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (n.id === currentNode.id) {\r\n const { childrenOrder, side, ...updatedData } = n.data;\r\n const updatedPositionForHorizontal = {\r\n x: side === \"right\" ? -(150 + n.width) : (150 + n.width),\r\n y: n.position.y, // Keep the same y position\r\n }\r\n const updatedPositionForVertical = {\r\n x: n.position.x, // Keep the same x position\r\n y: side === \"bottom\" ? -(150 + n.height) : (150 + n.height),\r\n }\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedData,\r\n side: changeSidesAccordingToSwitch[side],\r\n },\r\n position: n.id === node.id ? n.position : n.data?.addition === \"horizontal\" ? updatedPositionForHorizontal : updatedPositionForVertical\r\n };\r\n }\r\n return n;\r\n });\r\n\r\n // Update edges for the current node\r\n updatedEdges = updatedEdges.map((e) => {\r\n if (e.source === currentNode.id || e.target === currentNode.id) {\r\n return {\r\n ...e,\r\n sourceHandle: changeSwitchWiseSourceHandles[currentNode.data.side],\r\n targetHandle: changeSwitchWiseTargetHandles[currentNode.data.side],\r\n };\r\n }\r\n return e;\r\n });\r\n\r\n // Push children to queue to process them next\r\n queue.push(...childNodes);\r\n }\r\n\r\n return { updatedNodes, updatedEdges };\r\n};\r\n\r\nexport const getUnderlyingTreeViewNodeInfo = (event, currentNodeId) => {\r\n // Get all elements under the cursor\r\n const elements = document.elementsFromPoint(event.clientX, event.clientY);\r\n\r\n // Find all \"TreeView\" nodes in the elements stack\r\n const treeViewNodes = elements\r\n .filter(el => el.classList.contains(\"react-flow__node-TreeView\"))\r\n .map(el => el.getAttribute(\"data-id\"))\r\n .filter(Boolean); // Remove null or undefined values\r\n\r\n if (treeViewNodes.length === 0) {\r\n return null; // No valid TreeView node found\r\n }\r\n\r\n // If the first node matches currentNodeId, return the second one if available\r\n if (treeViewNodes[0] === currentNodeId) {\r\n return treeViewNodes[1] ? { nodeId: treeViewNodes[1] } : null;\r\n }\r\n\r\n return { nodeId: treeViewNodes[0] };\r\n};\r\n\r\nexport const assignSourceHandleAccordingToSideAndAddition = (addition, side) => {\r\n\r\n let sourceHandle = \"aaa\";\r\n\r\n if (addition === \"horizontal\") {\r\n if (side === \"right\") {\r\n sourceHandle = \"ccc\"\r\n } else {\r\n sourceHandle = \"bbb\"\r\n }\r\n } else {\r\n if (side === \"top\") {\r\n sourceHandle = \"aaa\"\r\n } else {\r\n sourceHandle = \"ddd\"\r\n }\r\n }\r\n\r\n return sourceHandle;\r\n}\r\n\r\nexport const assignTargetHandleAccordingToSideAndAddition = (addition, side) => {\r\n\r\n let targetHandle = \"aaa\";\r\n\r\n if (addition === \"horizontal\") {\r\n if (side === \"right\") {\r\n targetHandle = \"bbb\"\r\n } else {\r\n targetHandle = \"ccc\"\r\n }\r\n } else {\r\n if (side === \"top\") {\r\n targetHandle = \"ddd\"\r\n } else {\r\n targetHandle = \"aaa\"\r\n }\r\n }\r\n\r\n return targetHandle;\r\n}\r\n\r\nexport const getEdgeColor = (isRoot, details) => {\r\n if (isRoot) {\r\n if (details?.designType === \"second\") {\r\n return \"rgb(25, 111, 242)\";\r\n } else if (details?.designType === \"third\") {\r\n return \"rgb(126, 127, 130)\";\r\n } else if (details?.designType === \"four\") {\r\n return \"rgb(94, 108, 135)\";\r\n } else if (details?.designType === \"eight\") {\r\n return \"rgb(103, 98, 254)\";\r\n } else if (details.applyEdgeColor) {\r\n return getRandomRgbColor();\r\n } else {\r\n return details.edgeColor;\r\n }\r\n }\r\n // Add a fallback color in case isRoot is false or no condition is met\r\n return details.edgeColor || \"rgb(0, 0, 0)\";\r\n};\r\n\r\nexport const getBgColor = (isRoot, details) => {\r\n if (isRoot) {\r\n if (details?.designType === \"second\") {\r\n return \"rgb(25, 111, 242)\";\r\n } else if (details?.designType === \"third\") {\r\n return \"rgb(126, 127, 130)\";\r\n } else if (\r\n details?.designType === \"first\" ||\r\n details?.designType === \"four\" ||\r\n details?.designType === \"five\" ||\r\n details?.designType === \"seven\" ||\r\n details?.designType === \"eight\" ||\r\n details?.designType === \"ten\"\r\n ) {\r\n return \"transparent\";\r\n // } else if (details?.designType === \"eight\") {\r\n // return color.primaryColorRGB;\r\n } else if (details.applyEdgeColor) {\r\n return getRandomRgbColor();\r\n } else {\r\n return details.nodeStyle.backgroundColor;\r\n }\r\n }\r\n // Add a fallback color in case isRoot is false or no condition is met\r\n return details.nodeStyle.backgroundColor || \"rgb(0, 0, 0)\";\r\n};\r\n\r\nexport const treeViewNodeEdgeData = (nodeData, connectionLinePath) => {\r\n\r\n const data = {\r\n type: nodeData?.edgeType || \"editable-edge\",\r\n markerStart: { color: getEdgeColor(true, nodeData) },\r\n markerEnd: {\r\n type:\r\n nodeData?.edgeType === \"step-edge\" ||\r\n nodeData?.edgeType === \"editable-edge\"\r\n ? MarkerType.ArrowClosed\r\n : \"\",\r\n color: getEdgeColor(true, nodeData),\r\n },\r\n selected: false,\r\n data: {\r\n isTreeView: true,\r\n animate: false,\r\n animationDirection: \"ltr\",\r\n algorithm: nodeData?.edgeAlgorithm || Algorithm.BezierCatmullRom,\r\n isDashed: false,\r\n points: connectionLinePath?.map((point, i) => ({\r\n ...point,\r\n id: window.crypto.randomUUID(),\r\n prev: i === 0 ? undefined : connectionLinePath[i - 1],\r\n active: true,\r\n })),\r\n // fromRoot: isRoot,\r\n rootParentId: nodeData?.rootParentId,\r\n // side: side,\r\n },\r\n style: {\r\n stroke: getEdgeColor(true, nodeData),\r\n strokeWidth: 1.5,\r\n strokeLinecap: \"butt\",\r\n },\r\n }\r\n\r\n return data;\r\n}\r\n\r\nexport const treeViewNodeChildDesignData = {\r\n first: {\r\n borderStyle: \"none\",\r\n borderRadius: \"25px\",\r\n borderType: \"four\",\r\n placeHolderColor: \"dark\"\r\n },\r\n second: {\r\n borderStyle: \"solid\",\r\n borderRadius: \"25px\",\r\n borderType: \"four\",\r\n placeHolderColor: \"blue\"\r\n },\r\n third: {\r\n borderStyle: \"none\",\r\n borderRadius: \"25px\",\r\n borderType: \"four\",\r\n placeHolderColor: \"dark\"\r\n },\r\n four: {\r\n borderStyle: \"solid\",\r\n borderRadius: \"10px\",\r\n borderType: \"third\",\r\n placeHolderColor: \"dark\"\r\n },\r\n five: {\r\n borderStyle: \"none\",\r\n borderRadius: \"0px\",\r\n borderType: \"first\",\r\n placeHolderColor: \"dark\"\r\n },\r\n six: {\r\n borderStyle: \"none\",\r\n borderRadius: \"10px\",\r\n borderType: \"third\",\r\n placeHolderColor: \"light\"\r\n },\r\n seven: {\r\n borderStyle: \"solid\",\r\n borderRadius: \"25px\",\r\n borderType: \"four\",\r\n placeHolderColor: \"dark\"\r\n },\r\n eight: {\r\n borderStyle: \"none\",\r\n borderRadius: \"0px\",\r\n borderType: \"second\",\r\n placeHolderColor: \"dark\"\r\n },\r\n nine: {\r\n borderStyle: \"none\",\r\n borderRadius: \"25px\",\r\n borderType: \"four\",\r\n placeHolderColor: \"light\"\r\n },\r\n ten: {\r\n borderStyle: \"solid\",\r\n borderRadius: \"10px\",\r\n borderType: \"third\",\r\n placeHolderColor: \"dark\"\r\n }\r\n}\r\n\r\nexport const treeViewNodeDataStructure = (nodeData) => {\r\n const dataStructure = {\r\n // label: ``,\r\n locked: false,\r\n autoLayout: nodeData?.autoLayout || true,\r\n // side: side,\r\n type: \"child\",\r\n edgeType: nodeData?.edgeType || \"editable-edge\",\r\n edgeAlgorithm: nodeData?.edgeAlgorithm || Algorithm.BezierCatmullRom,\r\n childNodeType: nodeData?.childNodeType || \"TreeView\",\r\n addition: nodeData?.addition || \"horizontal\",\r\n rootParentId: nodeData?.rootParentId,\r\n edgeColor: getEdgeColor(true, nodeData),\r\n designType: nodeData?.designType || \"first\",\r\n showBorder:\r\n nodeData?.type === \"parent\"\r\n ? treeViewNodeChildDesignData[nodeData?.designType].borderStyle !== \"none\"\r\n : nodeData?.showBorder,\r\n border: {\r\n width: 2,\r\n type: \"solid\",\r\n radius:\r\n nodeData?.type === \"parent\"\r\n ? treeViewNodeChildDesignData[nodeData?.designType].borderRadius\r\n : nodeData?.border?.radius,\r\n borderColor:\r\n nodeData?.type === \"parent\"\r\n ? getEdgeColor(true, nodeData)\r\n : nodeData?.border?.borderColor,\r\n opacity: 1,\r\n },\r\n nodeStyle: {\r\n backgroundColor:\r\n nodeData?.type === \"parent\"\r\n ? getBgColor(true, nodeData)\r\n : nodeData?.nodeStyle?.backgroundColor,\r\n borderType:\r\n nodeData?.type === \"parent\"\r\n ? treeViewNodeChildDesignData[nodeData?.designType].borderType\r\n : nodeData?.nodeStyle?.borderType,\r\n },\r\n placeHolderColor:\r\n nodeData?.type === \"parent\"\r\n ? treeViewNodeChildDesignData[nodeData?.designType].placeHolderColor\r\n : nodeData?.placeHolderColor,\r\n };\r\n\r\n return dataStructure;\r\n}\r\n\r\nexport const mergeAndRepositionTreeViewNodesBasedOnLayout = (parameters) => {\r\n\r\n const { event, node, nodes, edges, getIntersectingNodes, getNode, getNodes, getEdges, connectionLinePath, oldSideOfTreeNode } = parameters;\r\n\r\n let updatedNodes = [...nodes];\r\n let updatedEdges = [...edges];\r\n\r\n if (node?.type === \"TreeView\" && node?.data?.type === \"parent\") {\r\n const intersectingNodes = getIntersectingNodes(node, true);\r\n const underlyingTreeViewNode = getUnderlyingTreeViewNodeInfo(event, node?.id);\r\n\r\n if (underlyingTreeViewNode) {\r\n const underlyingTreeViewNodeData = getNode(underlyingTreeViewNode?.nodeId);\r\n const {\r\n childrenOrder = [],\r\n leftChildrenOrder = [],\r\n rightChildrenOrder = [],\r\n topChildrenOrder = [],\r\n bottomChildrenOrder = [],\r\n ...updatedDataOfUnderlyingTreeViewNode\r\n } = underlyingTreeViewNodeData?.data;\r\n\r\n const treeViewDataStructure = treeViewNodeDataStructure(underlyingTreeViewNodeData?.data);\r\n const treeViewEdgeData = treeViewNodeEdgeData(underlyingTreeViewNodeData?.data, connectionLinePath);\r\n\r\n const { nodes: childrenNodes, edges: childrenEdges } = getNodeWithAllChildrenAndEdges(node, getNodes(), getEdges())\r\n const allChildNodeIds = childrenNodes?.map((n) => n.id).filter((n) => n.id !== node?.id);\r\n const allChildEdgeIds = childrenEdges?.map((e) => e.id)\r\n\r\n if (underlyingTreeViewNodeData.id === underlyingTreeViewNodeData?.data?.rootParentId && underlyingTreeViewNodeData?.data?.type === \"parent\") {\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (node?.id === n?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...treeViewDataStructure,\r\n label: n?.data?.label,\r\n side: updatedDataOfUnderlyingTreeViewNode?.addition === \"horizontal\" ? \"left\" : \"top\",\r\n },\r\n parentNode: underlyingTreeViewNodeData?.id,\r\n height: n.height - 6,\r\n width: ((n?.width || 150) - 7) / 1.33\r\n };\r\n }\r\n if (allChildNodeIds.includes(n.id)) {\r\n return {\r\n ...n,\r\n data: {\r\n ...treeViewDataStructure,\r\n label: n?.data?.label,\r\n side: updatedDataOfUnderlyingTreeViewNode?.addition === n.data?.addition ? n?.data?.side : changeSidesAccordingToAddition[n.data?.side]\r\n },\r\n parentNode: ((n?.data?.side === \"right\" || n?.data?.side === \"bottom\") && n.parentNode === n.data?.rootParentId) ? underlyingTreeViewNodeData?.id : n?.parentNode\r\n }\r\n }\r\n if (n.id === underlyingTreeViewNodeData?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode\r\n }\r\n }\r\n }\r\n return n;\r\n });\r\n\r\n updatedNodes = adjustTreeViewNodes(updatedNodes);\r\n\r\n const newEdge = {\r\n id: getId(),\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"left\" : \"top\",\r\n fromRoot: true\r\n },\r\n source: underlyingTreeViewNodeData?.id,\r\n target: node?.id,\r\n sourceHandle: underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"bbb\" : \"aaa\",\r\n targetHandle: underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"ccc\" : \"ddd\"\r\n }\r\n\r\n updatedEdges = updatedEdges.map((ed) => {\r\n const targetNode = getNode(ed.target);\r\n if (allChildEdgeIds.includes(ed.id)) {\r\n if (targetNode?.data?.side === \"right\" || targetNode?.data?.side === \"bottom\") {\r\n return {\r\n ...ed,\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingTreeViewNodeData?.data?.addition === targetNode.data?.addition ? targetNode?.data?.side : changeSidesAccordingToAddition[targetNode.data?.side],\r\n fromRoot: ed.source === node?.id\r\n },\r\n source: ed.source === node?.id ? underlyingTreeViewNodeData?.id : ed.source,\r\n sourceHandle: underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"ccc\" : \"ddd\",\r\n targetHandle: underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"bbb\" : \"aaa\"\r\n }\r\n }\r\n if (targetNode?.data?.side === \"left\" || targetNode?.data?.side === \"top\") {\r\n return {\r\n ...ed,\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingTreeViewNodeData?.data?.addition === targetNode.data?.addition ? targetNode?.data?.side : changeSidesAccordingToAddition[targetNode.data?.side],\r\n fromRoot: ed.source === node?.id\r\n },\r\n sourceHandle: underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"bbb\" : \"aaa\",\r\n targetHandle: underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"ccc\" : \"ddd\"\r\n }\r\n }\r\n }\r\n return ed;\r\n })\r\n\r\n updatedEdges = [...updatedEdges, newEdge]\r\n } else {\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (node?.id === n?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode,\r\n label: n?.data?.label,\r\n },\r\n parentNode: underlyingTreeViewNodeData?.id,\r\n height: n.height - 6,\r\n width: ((n?.width || 150) - 7) / 1.33\r\n };\r\n }\r\n if (allChildNodeIds.includes(n.id)) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode,\r\n label: n?.data?.label,\r\n },\r\n }\r\n }\r\n if (n.id === underlyingTreeViewNodeData?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode\r\n }\r\n }\r\n }\r\n return n;\r\n });\r\n\r\n updatedNodes = adjustTreeViewNodes(updatedNodes);\r\n\r\n const newEdge = {\r\n id: getId(),\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingTreeViewNodeData?.data?.side,\r\n fromRoot: false\r\n },\r\n source: underlyingTreeViewNodeData?.id,\r\n target: node?.id,\r\n sourceHandle: assignSourceHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side),\r\n targetHandle: assignTargetHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side)\r\n }\r\n\r\n updatedEdges = updatedEdges.map((ed) => {\r\n if (allChildEdgeIds.includes(ed.id) && ed.data?.isTreeView) {\r\n return {\r\n ...ed,\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingTreeViewNodeData?.data?.side,\r\n fromRoot: false\r\n },\r\n sourceHandle: assignSourceHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side),\r\n targetHandle: assignTargetHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side)\r\n }\r\n }\r\n return ed;\r\n })\r\n\r\n updatedEdges = [...updatedEdges, newEdge]\r\n }\r\n } else if (node?.parentNode && intersectingNodes?.length === 0) {\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (node?.id === n?.id) {\r\n return {\r\n ...n,\r\n parentNode: null,\r\n position: n.positionAbsolute,\r\n };\r\n }\r\n return n;\r\n });\r\n }\r\n } else if (node?.type === \"TreeView\" && node?.data?.type === \"child\") {\r\n const isFarEnough = isPositionFarEnough(\r\n node?.data?.previousPositionAbsolute,\r\n node?.positionAbsolute,\r\n node\r\n );\r\n\r\n const underlyingTreeViewNode = getUnderlyingTreeViewNodeInfo(event, node?.id);\r\n\r\n if (underlyingTreeViewNode) {\r\n\r\n const underlyingTreeViewNodeData = getNode(underlyingTreeViewNode?.nodeId);\r\n const {\r\n childrenOrder = [],\r\n leftChildrenOrder = [],\r\n rightChildrenOrder = [],\r\n topChildrenOrder = [],\r\n bottomChildrenOrder = [],\r\n ...updatedDataOfUnderlyingTreeViewNode\r\n } = underlyingTreeViewNodeData?.data;\r\n\r\n const treeViewDataStructure = treeViewNodeDataStructure(underlyingTreeViewNodeData?.data);\r\n const treeViewEdgeData = treeViewNodeEdgeData(underlyingTreeViewNodeData?.data, connectionLinePath);\r\n\r\n const { nodes: childrenNodes, edges: childrenEdges } = getNodeWithAllChildrenAndEdges(node, getNodes(), getEdges())\r\n const allChildNodeIds = childrenNodes?.map((n) => n.id).filter((n) => n.id !== node?.id);\r\n const allChildEdgeIds = childrenEdges?.map((e) => e.id)\r\n\r\n if (underlyingTreeViewNodeData.id === underlyingTreeViewNodeData?.data?.rootParentId && underlyingTreeViewNodeData?.data?.type === \"parent\") {\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (node?.id === n?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...treeViewDataStructure,\r\n label: n?.data?.label,\r\n side: updatedDataOfUnderlyingTreeViewNode?.addition === \"horizontal\" ? \"right\" : \"bottom\",\r\n },\r\n parentNode: underlyingTreeViewNodeData?.id,\r\n };\r\n }\r\n if (allChildNodeIds.includes(n.id)) {\r\n return {\r\n ...n,\r\n data: {\r\n ...treeViewDataStructure,\r\n label: n?.data?.label,\r\n side: updatedDataOfUnderlyingTreeViewNode?.addition === \"horizontal\" ? \"right\" : \"bottom\"\r\n },\r\n }\r\n }\r\n if (n.id === underlyingTreeViewNodeData?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode\r\n }\r\n }\r\n }\r\n return n\r\n });\r\n\r\n updatedNodes = adjustTreeViewNodes(updatedNodes);\r\n\r\n const underlyingNodeSide = underlyingTreeViewNodeData?.data?.addition === \"horizontal\" ? \"right\" : \"bottom\";\r\n\r\n const newEdge = {\r\n id: getId(),\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingNodeSide,\r\n fromRoot: true\r\n },\r\n source: underlyingTreeViewNodeData?.id,\r\n target: node?.id,\r\n sourceHandle: assignSourceHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingNodeSide),\r\n targetHandle: assignTargetHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingNodeSide)\r\n }\r\n\r\n updatedEdges = updatedEdges.map((ed) => {\r\n if (allChildEdgeIds.includes(ed.id) && ed.data?.isTreeView) {\r\n return {\r\n ...ed,\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingNodeSide,\r\n fromRoot: false\r\n },\r\n sourceHandle: assignSourceHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingNodeSide),\r\n targetHandle: assignTargetHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingNodeSide)\r\n }\r\n }\r\n return ed;\r\n })\r\n\r\n updatedEdges = updatedEdges.filter(\r\n (ed) => !(ed.target === node?.id || (ed.source === node?.id && !ed?.data?.isTreeView))\r\n );\r\n\r\n updatedEdges = [...updatedEdges, newEdge]\r\n\r\n } else {\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (node?.id === n?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode,\r\n label: n?.data?.label,\r\n },\r\n parentNode: underlyingTreeViewNodeData?.id,\r\n };\r\n }\r\n if (allChildNodeIds.includes(n.id)) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode,\r\n label: n?.data?.label,\r\n },\r\n }\r\n }\r\n if (n.id === underlyingTreeViewNodeData?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...updatedDataOfUnderlyingTreeViewNode\r\n }\r\n }\r\n }\r\n if (n.id === node?.parentNode && n.type === \"TreeView\" && n.data?.type === \"parent\") {\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n [`${node?.data?.side}ChildrenOrder`]: n?.data[`${node?.data?.side}ChildrenOrder`]?.filter((child) => child.id !== node?.id)\r\n }\r\n };\r\n }\r\n if (n.id === node?.parentNode && n.type === \"TreeView\" && n.data?.type === \"child\") {\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n childrenOrder: (n.data?.childrenOrder || []).filter((child) => child.id !== node?.id)\r\n }\r\n }\r\n }\r\n\r\n return n;\r\n });\r\n\r\n updatedNodes = adjustTreeViewNodes(updatedNodes);\r\n\r\n const newEdge = {\r\n id: getId(),\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingTreeViewNodeData?.data?.side,\r\n fromRoot: false\r\n },\r\n source: underlyingTreeViewNodeData?.id,\r\n target: node?.id,\r\n sourceHandle: assignSourceHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side),\r\n targetHandle: assignTargetHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side)\r\n }\r\n\r\n updatedEdges = updatedEdges.map((ed) => {\r\n if (allChildEdgeIds.includes(ed.id) && ed.data?.isTreeView) {\r\n return {\r\n ...ed,\r\n ...treeViewEdgeData,\r\n data: {\r\n ...treeViewEdgeData?.data,\r\n side: underlyingTreeViewNodeData?.data?.side,\r\n fromRoot: false\r\n },\r\n sourceHandle: assignSourceHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side),\r\n targetHandle: assignTargetHandleAccordingToSideAndAddition(underlyingTreeViewNodeData?.data?.addition, underlyingTreeViewNodeData?.data?.side)\r\n }\r\n }\r\n return ed;\r\n })\r\n\r\n updatedEdges = updatedEdges.filter(\r\n (ed) => !(ed.target === node?.id || (ed.source === node?.id && !ed?.data?.isTreeView))\r\n );\r\n\r\n updatedEdges = [...updatedEdges, newEdge]\r\n }\r\n\r\n } else {\r\n if (node?.data?.autoLayout) {\r\n if (oldSideOfTreeNode.current === node?.data?.side) {\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (node?.id === n?.id) {\r\n return {\r\n ...n,\r\n position: n.data.previousPosition || n.position,\r\n positionAbsolute:\r\n n.data.previousPositionAbsolute || n.positionAbsolute,\r\n };\r\n }\r\n return n;\r\n });\r\n } else {\r\n updatedNodes = adjustTreeViewNodes(updatedNodes);\r\n }\r\n } else if (!node?.data?.autoLayout && isFarEnough) {\r\n let newLayoutNodes = [];\r\n\r\n const { nodes: allNodes, edges: allEdges } = getNodeWithAllChildrenAndEdges(\r\n node,\r\n getNodes(),\r\n getEdges()\r\n );\r\n\r\n const allChildEdgeIds = allEdges.map((ed) => ed.id);\r\n\r\n newLayoutNodes = allNodes.map((nd) => {\r\n if (nd.id === node?.id) {\r\n const { childrenOrder, ...updatedData } = nd.data;\r\n return {\r\n ...nd,\r\n position: node?.positionAbsolute,\r\n parentNode: null,\r\n data: {\r\n ...updatedData,\r\n rootParentId: node?.id,\r\n type: \"parent\",\r\n topChildrenOrder: [],\r\n bottomChildrenOrder: [],\r\n leftChildrenOrder: [],\r\n rightChildrenOrder: [],\r\n [`${node.data.side}ChildrenOrder`]: childrenOrder.map(\r\n (child) => ({\r\n ...child,\r\n data: {\r\n ...child.data,\r\n rootParentId: node?.id,\r\n },\r\n })\r\n ),\r\n ...treeViewNodeDesignData[nd.data.designType],\r\n },\r\n width: nd.width * 1.33 + 7,\r\n height: nd.height + 6,\r\n };\r\n } else if (nd.id !== node?.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n rootParentId: node?.id,\r\n childrenOrder: nd.data.childrenOrder.map((child) => ({\r\n ...child,\r\n data: {\r\n ...child.data,\r\n rootParentId: node?.id,\r\n },\r\n })),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n newLayoutNodes = newLayoutNodes.map((nd) => ({\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n autoLayout: true,\r\n },\r\n }));\r\n\r\n updatedNodes = updatedNodes.map((n) => {\r\n const matchingNode = newLayoutNodes.find(\r\n (newNds) => newNds.id === n.id\r\n );\r\n return matchingNode ? { ...n, ...matchingNode } : n;\r\n });\r\n\r\n updatedEdges = updatedEdges.filter(\r\n (ed) => !(ed.target === node?.id || (ed.source === node?.id && !ed?.data?.isTreeView))\r\n );\r\n\r\n updatedEdges = updatedEdges.map((ed) => {\r\n if (allChildEdgeIds.includes(ed.id)) {\r\n return {\r\n ...ed,\r\n data: {\r\n ...ed.data,\r\n rootParentId: node?.id,\r\n fromRoot: ed.source === node?.id,\r\n },\r\n };\r\n }\r\n return ed;\r\n });\r\n\r\n } else if (!node?.data?.autoLayout && !isFarEnough) {\r\n updatedNodes = updatedNodes.map((n) => {\r\n if (node?.id === n?.id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n manuallyPositioned: true,\r\n },\r\n };\r\n }\r\n return n;\r\n });\r\n }\r\n }\r\n }\r\n\r\n return {\r\n mergedAndPositionedNodes: updatedNodes,\r\n mergedAndPositionedEdges: updatedEdges,\r\n }\r\n}"],"names":["_ref","_node$data","_node$data$style","_data$nodeStyle","_data$nodeStyle2","_data$nodeStyle3","_data$border","_data$nodeStyle4","_data$nodeStyle5","_data$nodeStyle6","_data$nodeStyle7","_data$nodeStyle8","_data$nodeStyle9","_data$nodeStyle10","_data$nodeStyle11","_data$nodeStyle12","_data$nodeStyle13","_data$nodeStyle14","_data$nodeStyle15","_data$nodeStyle16","_data$nodeStyle17","_data$border2","_data$border3","_data$border4","_editor$getText","_editor$getText$trim","_editor$getText3","_editor$getText3$trim","isShowToolsPop","setIsShowToolsPop","editor","node","nodeRef","onlybgColor","dispatch","useDispatch","data","showMindMapTheme","setShowMindMapTheme","useState","showNodetype","setShowNodetype","showConnectionLine","setShowConnectionLine","showBranchColor","setShowBranchColor","showFontFamily","setShowFontFamily","showFontStyle","setShowFontStyle","showFillColor","setShowFillColor","showRefLink","setShowRefLink","url","setUrl","showTextAlign","setShowTextAlign","showTextColor","setShowTextColor","currentTextColor","setCurrentTextColor","style","color","currentTextHighlightColor","setCurrentTextHighlightColor","currentFontFamily","setCurrentFontFamily","showFontSizeOpt","setShowFontSizeOpt","showBorderPopup","setShowBorderPopup","showBackgroundPopup","setShowBackgroundPopup","showAIOptions","setShowAIOptions","showChangeTones","setShowChangeTones","showTranslates","setShowTranslates","showExpandOptions","setShowExpandOptions","showMoreOptions","setShowMoreOptions","showShapesLimitModal","setShowShapesLimitModal","copyImageLoading","setCopyImageLoading","copyAsImage","setCopyAsImage","loaders","setLoaders","aiLoader","inputRef","useRef","copy","paste","useCopyPaste","id","architectureId","useParams","user_data","localStorage","getItem","undo","takeSnapshot","useUndoRedo","location","useLocation","getNodes","getNode","getEdges","setNodes","setEdges","getIntersectingNodes","useReactFlow","textStyles","setTextStyles","isBold","isItalic","isUnderline","isStrikethrough","textAlign","listType","fontSize","fontSizeArr","useEffect","updateCopyAsImage","updateNodeData","prevNodes","_parsedData","updatedNodes","map","nd","_objectSpread","label","getHTML","a_id","URLSearchParams","search","get","parsedData","JSON","parse","updateJson","json","architecture_json","nodes","lastUpdatedBy","user_id","_fontFamilyArr$find","currentStyles","getAttributes","isActive","textColor","highlightColor","fontFamily","getCurrentStyles","currentColor","currentHighlightColor","fontFamilyArr","find","font","family","name","findNodeById","nodeId","childrenKey","_node$data$childrenKe","length","found","handleExpandMindmap","async","_currentNode$data","_currentNode$data2","currentNode","n","mindmapNodes","filter","type","rootParentId","side","getChildrenKey","currentNodeToRootNodePath","currentNodeId","path","push","parentNode","findPathToRoot","shift","result","commanService","postApi","prompt","stringify","topic","parentContext","content_type","edges","MindmapGenerator","expand","payload","parentNodeId","designType","direction","addition","GenAIResponse","CustomEvent","detail","isExpanding","document","dispatchEvent","error","_error$response","_error$response$data","_error$response$data2","response","status","warningToast","message","errorToast","handleChangeContentWithAI","content","getText","commands","clearContent","insertContent","_error$response2","_error$response2$data","_error$response$data3","handleThemeChange","theme","_parsedData2","updatedEdges","allMindMapNodes","_nd$data","manuallyPositioned","childrenOrder","topChildrenOrder","bottomChildrenOrder","leftChildrenOrder","rightChildrenOrder","_nd$data2","positionedNodes","createTreeLayout","nds","setItem","lastEvent","matchingNode","resNode","prevEdges","ed","_ed$data","_ed$data2","isTreeView","sourceHandle","targetHandle","debouncedUpdateJson","useCallback","debounce","_parsedData3","handleToggleLock","_parsedData4","_nd$data4","_nd$data5","_nd$data6","draggable","locked","deletable","handleNodeTypeChange","prev","_parsedData5","showBorder","borderType","border","borderStyle","radius","borderRadius","width","borderWidth","nodeStyle","handleChangeConnectionLineType","value","_parsedData6","_nd$data7","edgeType","_ed$data4","_ed$data5","_ed$markerEnd","_ed$markerEnd2","markerEnd","MarkerType","ArrowClosed","algorithm","Algorithm","BezierCatmullRom","debouncedUpdateFontSize","validatedSize","Math","min","max","parseInt","state","selection","empty","chain","focus","selectParentNode","setFontSize","concat","run","handleFontSizeChange","action","currentFontSize","match","newFontSize","convertNodeToImage","removeItem","selectedNodeElement","querySelector","applyComputedStyles","originalElement","clonedElement","computedStyles","window","getComputedStyle","key","getChildNodes","children","reduce","acc","child","childElement","clonedChild","cloneNode","position","left","x","top","y","transform","forEach","nestedChild","appendChild","clonedSelectedNode","zIndex","body","html2canvas","useCORS","scale","backgroundColor","toBlob","blob","navigator","clipboard","write","ClipboardItem","Blob","height","removeChild","successToast","assignRootParentIds","assignToChildren","handleClickDuplicate","_parsedData8","_updatedNodes","now","Date","idMapping","unChangedNodes","duplicatedNodes","duplicatedEdges","allNodes","allEdges","getNodeWithAllChildrenAndEdges","maxX","findMinMaxHorizontalAbsolutePositions","nodeIds","Set","has","updateParentIds","_node$data2","_node$data7","_node$data3","_node$data4","_node$data5","_node$data6","_node$data8","_node$data8$childrenO","positionAbsolute","hiddenBy","edge","source","target","selected","should_delete","handleBringToFront","interSectedNodes","maxZIndex","getMaxAndMinZIndex","handleSendToBack","minZIndex","copyStyle","isColorPickerOpen","getElementById","isAnyInputFocused","isInputFocused","selectedNode","currNode","copiedStyle","TreeView","copyData","writeText","err","pasteStyle","clipboardStyle","clipboardText","readText","_parsedData9","borderColor","opacity","edgeColor","console","warn","moreMenusData","mainLabel","shortCut","onClick","setTimeout","handleCreateFrame","allTreeViewNodes","_node$data9","minX","minY","maxY","frameNode","getId","variant","background","hide","isShadow","frameNo","frameName","exportNodeToCSV","_currNode$position","_currNode$position2","rows","join","row","removeHTMLTags","csvContent","link","createElement","URL","createObjectURL","setAttribute","visibility","click","_parsedData10","_updatedNodes2","removeOrphanedNodes","useKeyboardShortcut","_jsx","NodeToolbar","Position","Top","_jsxs","Box","display","alignItems","justifyContent","gap","sx","right","bgcolor","boxShadow","padding","_Fragment","ClickAwayListener","onClickAway","CustomTooltip","mt","PopperProps","disablePortal","onClose","open","disableFocusListener","disableHoverListener","disableTouchListener","title","Stack","p","IconButton","transition","lightPrimary","_","IcMindMapTheme","fill","primaryColor","ToolTipWithDisabled","placement","tooltipTitle","disabled","e","stopPropagation","CommonDivider","my","orientation","flexItem","BackgroundTool","selectedNodeColor","toRgba","onChangeColor","childrenNodes","childrenEdges","allChildNodeIds","allChildEdgeIds","_nd$data3","includes","_ed$data3","stroke","handleBackgroundColorChange","CustomNameTooltip","arrow","cursor","IcTransparentCircle","FrameBorderToolbar","Typography","IcNodeType2","IcNodeType3","IcNodeType1","IcNodeType4","IcConnectionLine1","IcConnectionLine2","IcConnectionLine3","IcConnectionLine4","IcConnectionLine5","_nd$data8","_nd$data8$nodeStyle","_ed$data6","_ed$data7","markerStart","handleBranchColorChange","flexDirection","IcEdgeColor","outline","CustomSwitch","checked","autoLayout","onChange","_parsedData7","_nd$data9","AdjustedNodes","handleAutoLayoutChange","fontWeight","overflow","maxHeight","onWheelCapture","val","i","setFontFamily","CheckCircleOutlineIcon","px","whiteSpace","textOverflow","maxWidth","titleDark","whiteColor","paddingRight","borderRight","sizeValue","clampedSize","handleUpdateFontSize","minWidth","IcDecresFontSize","IcIncreseFontSize","toggleBold","IcTextBold","toggleItalic","IcTextItalic","toggleUnderline","IcTextUnderline","toggleStrike","IcTextStrickTrough","IcFontStyle","setTextAlign","IcTextAlignLeft","IcTextAlignCenter","IcTextAlignRight","setColor","IcTextColor","toggleHighlight","IcFillColor","IcRefLink","TextField","fullWidth","ref","placeholder","autoFocus","autoComplete","input","py","current","onKeyDown","preventDefault","linkText","extractDomainName","to","setTextSelection","from","setLink","href","IcLockLocked","IcLockUnLocked","bg","Ic3StarsColored","IcArrowDown2","tone","pointerEvents","translate","minHeight","option","SimpleCircularProgress","size","loaderColor","loaderPathColor","trim","_editor$getText2","_editor$getText2$trim","Ic3StartsFill","moreMenu","mainIndex","activeState","event","CircularProgress","rightArrowIcons","subChild","subCI","IcMenuDotsVertical","TreeViewNode","_data$style","_data$style2","_data$style3","userRowData","userData","connectionLinePath","openAIStatus","useSelector","mindMapStore","isNodeSelectionStarted","useNodeSelectionStarted","socket","useSocketContext","hoveredItem","setHoveredItem","oldLabelContent","nodeSize","setNodeSize","socketCount","setSocketCount","isOnlyOneNodeSelected","onAddChild","parentId","details","_parentNode$data","_parentNode$data2","_parentNode$data3","_parentNode$data4","_parentNode$data4$bor","_parentNode$data5","_parentNode$data6","_parentNode$data6$bor","_parentNode$data7","_parentNode$data8","_parentNode$data8$nod","_parentNode$data9","_parentNode$data10","_parentNode$data10$no","_parentNode$data11","_parentNode$data12","afterNodeId","arguments","undefined","newNodeId","isRoot","newNode","childNodeType","edgeAlgorithm","getEdgeColor","treeViewNodeChildDesignData","getBgColor","placeHolderColor","newEdge","animate","animationDirection","isDashed","points","point","crypto","randomUUID","active","fromRoot","strokeWidth","strokeLinecap","getSourceHandle","getTargetHandle","tempNodes","newNodes","some","isRootNode","EnterKeyHandler","Extension","create","addKeyboardShortcuts","Enter","parentNodeOfClickedNode","_parentNodeOfClickedN","handleExtraButtonClick","_parentNodeOfClickedN2","toggleCollapse","_currNode$data","isCollapsed","capitalizeFirstChar","updateVisibility","hidden","_currNode$data2","childNodes","getSameChildNodes","childNode","isNodeHidden","_getNodes$find","debouncedUpdateTreeLayout","updateTreeLayout","checkDimensions","currentWidth","offsetWidth","currentHeight","offsetHeight","nodeDragging","dragging","widthDifference","halfWidthChange","_currNode$data3","_n$data","_currNode$data4","_currNode$positionAbs","_currNode$data5","_n$data2","_currNode$data6","_currNode$positionAbs2","observer","MutationObserver","observe","childList","characterData","subtree","disconnect","useEditor","extensions","tipTapExtensions","onUpdate","CustomPromptEvent","debouncedUpdateHTML","onBlur","_ref2","editorProps","handlePaste","view","pastedContent","clipboardData","getData","setContent","useMemo","currentNodeDom","handleNodeKeyDown","isValidKey","test","isFocused","setEditable","isEditable","addEventListener","once","removeEventListener","on","socketEvents","NODE_UPDATED","_jsonData$nodes","jsonData","primaryColorRGB","className","convertToRgba","onClickHandler","collapsedTop","countChildrenBySide","IcAddRowCol","collapsedLeft","marginRight","IcMinusOutlined","getColorByType","textAvailable","availablewTextColor","first","second","third","four","five","six","seven","eight","nine","ten","TreeViewNodeToolbar","wordWrap","dangerouslySetInnerHTML","__html","EditorContent","onDoubleClick","bottom","collapsedBottom","collapsedRight","Handle","connectionMode","isConnectable","onConnect","params","log","onMouseOver","onMouseLeave","transformOrigin","memo","prevProps","nextProps","globalDragging","adjustTreeViewNodes","layoutResult","hasNodeSwitchedSide","_parentNode$positionA","_parentNode$position","_parentNode$positionA2","_parentNode$position2","_currentNode$position","_currentNode$position2","_currentNode$position3","_currentNode$position4","parentMidX","parentMidY","changeSidesAccordingToSwitch","changeSidesAccordingToAddition","changeSwitchWiseSourceHandles","changeSwitchWiseTargetHandles","updateNodesAndEdgesRecursivelyForSideSwitch","rootParentNode","queue","_n$data3","updatedData","_objectWithoutProperties","_excluded","updatedPositionForHorizontal","updatedPositionForVertical","getUnderlyingTreeViewNodeInfo","treeViewNodes","elementsFromPoint","clientX","clientY","el","classList","contains","getAttribute","Boolean","assignSourceHandleAccordingToSideAndAddition","assignTargetHandleAccordingToSideAndAddition","applyEdgeColor","getRandomRgbColor","treeViewNodeEdgeData","nodeData","treeViewNodeDataStructure","_nodeData$border","_nodeData$border2","_nodeData$nodeStyle","_nodeData$nodeStyle2","mergeAndRepositionTreeViewNodesBasedOnLayout","parameters","oldSideOfTreeNode","intersectingNodes","underlyingTreeViewNode","_underlyingTreeViewNo2","_underlyingTreeViewNo3","underlyingTreeViewNodeData","_underlyingTreeViewNo","updatedDataOfUnderlyingTreeViewNode","_excluded2","treeViewDataStructure","treeViewEdgeData","_underlyingTreeViewNo4","_underlyingTreeViewNo5","_underlyingTreeViewNo6","_n$data4","_n$data5","_n$data6","_n$data7","_n$data8","_n$data9","_n$data10","_n$data11","targetNode","_targetNode$data","_targetNode$data2","_targetNode$data6","_targetNode$data7","_underlyingTreeViewNo7","_targetNode$data3","_targetNode$data4","_targetNode$data5","_underlyingTreeViewNo8","_underlyingTreeViewNo9","_underlyingTreeViewNo10","_targetNode$data8","_targetNode$data9","_targetNode$data10","_underlyingTreeViewNo11","_underlyingTreeViewNo12","_underlyingTreeViewNo13","_underlyingTreeViewNo14","_underlyingTreeViewNo15","_underlyingTreeViewNo16","_underlyingTreeViewNo17","_n$data12","_n$data13","_underlyingTreeViewNo18","_underlyingTreeViewNo19","_underlyingTreeViewNo20","_underlyingTreeViewNo21","_underlyingTreeViewNo22","isFarEnough","isPositionFarEnough","previousPositionAbsolute","_underlyingTreeViewNo24","_underlyingTreeViewNo25","_underlyingTreeViewNo23","_excluded3","_underlyingTreeViewNo26","_underlyingTreeViewNo27","_underlyingTreeViewNo28","_n$data14","_n$data15","underlyingNodeSide","_underlyingTreeViewNo29","_underlyingTreeViewNo30","_underlyingTreeViewNo31","_underlyingTreeViewNo32","_underlyingTreeViewNo33","_underlyingTreeViewNo34","_underlyingTreeViewNo35","_n$data18","_n$data20","_n$data16","_n$data17","_n$data19","_n$data21","_underlyingTreeViewNo36","_underlyingTreeViewNo37","_underlyingTreeViewNo38","_underlyingTreeViewNo39","_underlyingTreeViewNo40","_node$data10","previousPosition","newLayoutNodes","_excluded4","treeViewNodeDesignData","newNds","mergedAndPositionedNodes","mergedAndPositionedEdges"],"sourceRoot":""}