{"version":3,"file":"static/js/main-f411e548.1eb99dbd.js","mappings":"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","sources":["Components/DrawBoard/Nodes-Types/TreeViewNodeComponents/TreeViewNodeToolbar.js","Components/DrawBoard/Nodes-Types/TreeViewNodeComponents/TreeViewNode.js"],"sourcesContent":["import React, {\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport {\r\n Box,\r\n ClickAwayListener,\r\n IconButton,\r\n Stack,\r\n TextField,\r\n Typography,\r\n} from \"@mui/material\";\r\nimport {\r\n Ic3StarsColored,\r\n Ic3StartsFill,\r\n IcArrowDown2,\r\n IcMenuDotsVertical,\r\n IcTextAlignCenter,\r\n IcTextAlignLeft,\r\n IcTextAlignRight,\r\n IcTextBold,\r\n IcTextColor,\r\n IcTextItalic,\r\n IcTextStrickTrough,\r\n IcTextUnderline,\r\n IcMindMapTheme,\r\n IcNodeType1,\r\n IcNodeType2,\r\n IcNodeType3,\r\n IcNodeType4,\r\n IcConnectionLine1,\r\n IcConnectionLine2,\r\n IcConnectionLine3,\r\n IcConnectionLine4,\r\n IcConnectionLine5,\r\n IcEdgeColor,\r\n IcFontStyle,\r\n IcFillColor,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcRefLink,\r\n IcDecresFontSize,\r\n IcIncreseFontSize,\r\n} from \"../../../../assets/icon-components\";\r\nimport { MarkerType, NodeToolbar, Position, useReactFlow } from \"reactflow\";\r\nimport {\r\n extractDomainName,\r\n findMinMaxHorizontalAbsolutePositions,\r\n getId,\r\n getMaxAndMinZIndex,\r\n getNodeWithAllChildrenAndEdges,\r\n isInputFocused,\r\n removeHTMLTags,\r\n removeOrphanedNodes,\r\n toRgba,\r\n updateJson,\r\n} from \"../../../../CommanFunctions/commanFunctions\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../top-toolbar/components/CustomTooltip\";\r\nimport ToolTipWithDisabled from \"../../top-toolbar/components/ToolTipWithDisabled\";\r\nimport BackgroundTool from \"../../../Node/common-components/nodeTopToolbar/components/BackgroundTool\";\r\nimport SimpleCircularProgress from \"../../../../common-components/SimpleCircularProgress\";\r\nimport commanService from \"../../../../CommanFunctions/commanService\";\r\nimport { errorToast, successToast, warningToast } from \"../../../../Redux/toastSlice\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { createTreeLayout } from \"../../../../Utils/hooks/d3-hierarchy\";\r\nimport { Algorithm } from \"../../Edges/EditableEdge/constants\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport useCopyPaste from \"../../dndCopyPaste/useCopyPaste\";\r\nimport html2canvas from \"html2canvas\";\r\nimport { useKeyboardShortcut } from \"../../../../Utils/hooks/useKeyboardShortcut\";\r\nimport MindmapGenerator from \"../../../GenerativeAI/libs/MindmapGenerator\";\r\nimport CustomSwitch from \"../../../../common-components/CustomSwitch\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\r\nimport { debounce } from \"lodash\";\r\nimport FrameBorderToolbar from \"../../../Node/frameNode/FrameBorderToolbar\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\nimport CommonDivider from \"../../../../common-components/CommonDivider\";\r\nimport { fontFamilyArr } from \"../../../Node/common-components/nodeTopToolbar/MindMapNodesToolbar/ToolbarMenuItems/constants\";\r\n\r\nconst TreeViewNodeToolbar = ({\r\n isShowToolsPop,\r\n setIsShowToolsPop,\r\n editor,\r\n node,\r\n nodeRef,\r\n onlybgColor = false,\r\n}) => {\r\n const dispatch = useDispatch();\r\n const { data } = node;\r\n\r\n const [showMindMapTheme, setShowMindMapTheme] = useState(false);\r\n const [showNodetype, setShowNodetype] = useState(false);\r\n const [showConnectionLine, setShowConnectionLine] = useState(false);\r\n const [showBranchColor, setShowBranchColor] = useState(false);\r\n const [showFontFamily, setShowFontFamily] = useState(false);\r\n const [showFontStyle, setShowFontStyle] = useState(false);\r\n const [showFillColor, setShowFillColor] = useState(false);\r\n const [showRefLink, setShowRefLink] = useState(false);\r\n const [url, setUrl] = useState(\"\");\r\n const [showTextAlign, setShowTextAlign] = useState(false);\r\n const [showTextColor, setShowTextColor] = useState(false);\r\n const [currentTextColor, setCurrentTextColor] = useState(\r\n node?.data?.style?.color || \"#18181B\"\r\n );\r\n const [currentTextHighlightColor, setCurrentTextHighlightColor] =\r\n useState(\"transparent\");\r\n const [currentFontFamily, setCurrentFontFamily] = useState(\"Inter\");\r\n const [showFontSizeOpt, setShowFontSizeOpt] = useState(false);\r\n const [showBorderPopup, setShowBorderPopup] = useState(false);\r\n const [showBackgroundPopup, setShowBackgroundPopup] = useState(false);\r\n const [showAIOptions, setShowAIOptions] = useState(false);\r\n const [showChangeTones, setShowChangeTones] = useState(false);\r\n const [showTranslates, setShowTranslates] = useState(false);\r\n const [showExpandOptions, setShowExpandOptions] = useState(false);\r\n const [showMoreOptions, setShowMoreOptions] = useState(false);\r\n const [showShapesLimitModal, setShowShapesLimitModal] = useState(false);\r\n const [loaders, setLoaders] = useState({\r\n aiLoader: false,\r\n });\r\n const inputRef = useRef(null);\r\n const { copy, paste } = useCopyPaste({\r\n setShowShapesLimitModal,\r\n });\r\n\r\n const { id: architectureId } = useParams();\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const location = useLocation();\r\n\r\n const {\r\n getNodes,\r\n getNode,\r\n getEdges,\r\n setNodes,\r\n setEdges,\r\n getIntersectingNodes,\r\n } = useReactFlow();\r\n\r\n const [textStyles, setTextStyles] = useState({\r\n isBold: false,\r\n isItalic: false,\r\n isUnderline: false,\r\n isStrikethrough: false,\r\n textAlign: \"left\",\r\n listType: null,\r\n fontSize: \"10px\",\r\n });\r\n\r\n const fontSizeArr = [\r\n 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\r\n ];\r\n\r\n const getCurrentStyles = (editor) => {\r\n return {\r\n fontSize:\r\n editor.getAttributes(\"textStyle\").fontSize ||\r\n editor.getAttributes(\"paragraph\").fontSize ||\r\n \"10px\",\r\n isBold: editor.isActive(\"bold\"),\r\n isItalic: editor.isActive(\"italic\"),\r\n isUnderline: editor.isActive(\"underline\"),\r\n isStrikethrough: editor.isActive(\"strike\"),\r\n textAlign: editor.isActive({ textAlign: \"justify\" })\r\n ? \"justify\"\r\n : editor.isActive({ textAlign: \"center\" })\r\n ? \"center\"\r\n : editor.isActive({ textAlign: \"right\" })\r\n ? \"right\"\r\n : \"left\",\r\n listType: editor.isActive(\"bulletList\")\r\n ? \"bullet\"\r\n : editor.isActive(\"orderedList\")\r\n ? \"ordered\"\r\n : null,\r\n textColor: editor.isActive(\"textStyle\")\r\n ? editor.getAttributes(\"textStyle\").color\r\n : editor.getAttributes(\"paragraph\").color,\r\n highlightColor: editor.getAttributes(\"highlight\").color,\r\n fontFamily: editor.getAttributes(\"textStyle\").fontFamily,\r\n };\r\n };\r\n\r\n useEffect(() => {\r\n if (editor) {\r\n const updateTextStyles = () => {\r\n const currentStyles = getCurrentStyles(editor);\r\n const currentColor = currentStyles.textColor || \"black\";\r\n const currentHighlightColor =\r\n currentStyles.highlightColor || \"transparent\";\r\n const currentFontFamily =\r\n fontFamilyArr.find((font) => font.family === currentStyles.fontFamily)\r\n ?.name || \"Inter\";\r\n\r\n setTextStyles(currentStyles);\r\n setCurrentTextColor(currentColor);\r\n setCurrentTextHighlightColor(currentHighlightColor);\r\n setCurrentFontFamily(currentFontFamily);\r\n };\r\n\r\n editor.on(\"selectionUpdate\", updateTextStyles);\r\n editor.on(\"transaction\", updateTextStyles);\r\n\r\n return () => {\r\n editor.off(\"selectionUpdate\", updateTextStyles);\r\n editor.off(\"transaction\", updateTextStyles);\r\n };\r\n }\r\n }, [editor, fontFamilyArr]);\r\n\r\n useEffect(() => {\r\n if (!isShowToolsPop) {\r\n setShowBackgroundPopup(false);\r\n setShowMindMapTheme(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }\r\n }, [isShowToolsPop, setIsShowToolsPop]);\r\n\r\n // Function to get the correct children key based on the side property\r\n function getChildrenKey(side) {\r\n switch (side) {\r\n case \"left\":\r\n return \"leftChildrenOrder\";\r\n case \"right\":\r\n return \"rightChildrenOrder\";\r\n case \"top\":\r\n return \"topChildrenOrder\";\r\n case \"bottom\":\r\n return \"bottomChildrenOrder\";\r\n default:\r\n return \"rightChildrenOrder\";\r\n }\r\n }\r\n\r\n const hasSelectedText = (editor) => {\r\n if (!editor) return false;\r\n\r\n const { from, to } = editor.state.selection;\r\n return from !== to;\r\n };\r\n\r\n // Function to find a node by its id\r\n function findNodeById(nodeId, data, childrenKey) {\r\n for (const node of data) {\r\n if (node.id === nodeId) {\r\n return node;\r\n }\r\n if (childrenKey && node.data[childrenKey]?.length) {\r\n const found = findNodeById(nodeId, node.data[childrenKey]);\r\n if (found) {\r\n return found;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n // Function to trace the path to the root node\r\n function findPathToRoot(currentNodeId, data, childrenKey) {\r\n let currentNode = findNodeById(currentNodeId, data, childrenKey);\r\n const path = [];\r\n\r\n // Traverse upwards until we reach a node with a null parentNode\r\n while (currentNode) {\r\n path.push(currentNode); // Add current node to path\r\n if (!currentNode.parentNode) {\r\n // Root node is reached when parentNode is null\r\n break;\r\n }\r\n currentNode = findNodeById(currentNode.parentNode, data, childrenKey);\r\n }\r\n\r\n return path;\r\n }\r\n\r\n const handleExpandMindmap = async (content_type) => {\r\n setLoaders({\r\n ...loaders,\r\n aiLoader: true,\r\n });\r\n setIsShowToolsPop(false);\r\n try {\r\n const currentNode = getNodes().find((n) => n.id === node.id);\r\n\r\n const mindmapNodes = getNodes().filter(\r\n (n) =>\r\n n.type === \"TreeView\" &&\r\n n.data.rootParentId === node.data.rootParentId\r\n );\r\n\r\n const childrenKey = getChildrenKey(node.data.side);\r\n\r\n const currentNodeToRootNodePath = findPathToRoot(\r\n node.id,\r\n mindmapNodes,\r\n childrenKey\r\n ).map((n) => n.data.label);\r\n\r\n currentNodeToRootNodePath.shift();\r\n\r\n const response = await commanService.postApi(\r\n \"drawboard\",\r\n \"v2/generate/generate-content\",\r\n {\r\n prompt: JSON.stringify({\r\n topic: node.data.label,\r\n parentContext: currentNodeToRootNodePath,\r\n }),\r\n content_type,\r\n }\r\n );\r\n\r\n const result = response.data.data;\r\n\r\n const { nodes, edges } = MindmapGenerator.expand({\r\n payload: result,\r\n rootParentId: currentNode.data.rootParentId,\r\n parentNodeId: currentNode.id,\r\n designType: currentNode.data.designType,\r\n direction: currentNode.data.side,\r\n currentNode: currentNode,\r\n });\r\n\r\n const GenAIResponse = new CustomEvent(\"GenAIResponse\", {\r\n detail: {\r\n nodes: nodes,\r\n edges: edges,\r\n },\r\n });\r\n\r\n document.dispatchEvent(GenAIResponse);\r\n } catch (error) {\r\n if (error.response.status !== 401) {\r\n if (error.response.status < 500) {\r\n dispatch(\r\n warningToast({\r\n message:\r\n error.response?.data?.message ||\r\n error.response.data?.error[0] ||\r\n error.message,\r\n })\r\n );\r\n } else {\r\n dispatch(\r\n errorToast({\r\n message: \"Oops! Something went wrong\",\r\n })\r\n );\r\n }\r\n }\r\n } finally {\r\n setLoaders({\r\n ...loaders,\r\n aiLoader: false,\r\n });\r\n }\r\n };\r\n\r\n const handleChangeContentWithAI = async (content_type) => {\r\n setLoaders({\r\n ...loaders,\r\n aiLoader: true,\r\n });\r\n try {\r\n const content = editor?.getText();\r\n const response = await commanService.postApi(\r\n \"drawboard\",\r\n \"v2/generate/generate-content\",\r\n {\r\n prompt: content || \"\",\r\n content_type,\r\n }\r\n );\r\n\r\n editor.commands.clearContent();\r\n editor.commands.insertContent(response.data.data);\r\n setShowAIOptions(false);\r\n } catch (error) {\r\n if (error.response.status !== 401) {\r\n if (error.response.status < 500) {\r\n dispatch(\r\n warningToast({\r\n message:\r\n error.response?.data?.message ||\r\n error.response.data?.error[0] ||\r\n error.message,\r\n })\r\n );\r\n } else {\r\n dispatch(\r\n errorToast({\r\n message: \"Oops! Something went wrong\",\r\n })\r\n );\r\n }\r\n }\r\n } finally {\r\n setLoaders({\r\n ...loaders,\r\n aiLoader: false,\r\n });\r\n }\r\n };\r\n\r\n const handleThemeChange = (theme) => {\r\n const rootParentId = data?.rootParentId;\r\n\r\n let updatedNodes = getNodes();\r\n let updatedEdges = getEdges();\r\n\r\n const themeUpdatedNodes = getNodes().map((nd) => {\r\n if (nd.type === \"TreeView\" && nd.data?.rootParentId === rootParentId) {\r\n if (theme === \"vertical\") {\r\n if (nd.data.side === \"left\") {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n side: \"top\",\r\n addition: theme,\r\n manuallyPositioned: false,\r\n childrenOrder: [],\r\n },\r\n };\r\n } else if (nd.data.side === \"right\") {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n side: \"bottom\",\r\n addition: theme,\r\n manuallyPositioned: false,\r\n childrenOrder: [],\r\n },\r\n };\r\n }\r\n } else if (theme === \"horizontal\") {\r\n if (nd.data.side === \"top\") {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n side: \"left\",\r\n addition: theme,\r\n manuallyPositioned: false,\r\n childrenOrder: [],\r\n },\r\n };\r\n } else if (nd.data.side === \"bottom\") {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n side: \"right\",\r\n addition: theme,\r\n manuallyPositioned: false,\r\n childrenOrder: [],\r\n },\r\n };\r\n }\r\n }\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n addition: theme,\r\n topChildrenOrder: [],\r\n bottomChildrenOrder: [],\r\n leftChildrenOrder: [],\r\n rightChildrenOrder: [],\r\n manuallyPositioned: false,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n const allMindMapNodes = themeUpdatedNodes.filter(\r\n (nd) => nd.type === \"TreeView\" && nd.data?.rootParentId === rootParentId\r\n );\r\n const positionedNodes = createTreeLayout(\r\n allMindMapNodes,\r\n rootParentId,\r\n theme\r\n );\r\n\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: nds,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nds.map((n) => {\r\n const matchingNode = positionedNodes.nodes.find(\r\n (resNode) => resNode.id === n.id\r\n );\r\n return matchingNode ? matchingNode : n;\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n\r\n setEdges((prevEdges) => {\r\n updatedEdges = prevEdges.map((ed) => {\r\n if (ed.data?.isTreeView && ed.data?.rootParentId === rootParentId) {\r\n if (theme === \"vertical\") {\r\n if (ed.data.side === \"left\") {\r\n return {\r\n ...ed,\r\n data: {\r\n ...ed.data,\r\n side: \"top\",\r\n },\r\n sourceHandle: \"aaa\",\r\n targetHandle: \"ddd\",\r\n };\r\n } else if (ed.data.side === \"right\") {\r\n return {\r\n ...ed,\r\n data: {\r\n ...ed.data,\r\n side: \"bottom\",\r\n },\r\n sourceHandle: \"ddd\",\r\n targetHandle: \"aaa\",\r\n };\r\n }\r\n } else if (theme === \"horizontal\") {\r\n if (ed.data.side === \"top\") {\r\n return {\r\n ...ed,\r\n data: {\r\n ...ed.data,\r\n side: \"left\",\r\n },\r\n sourceHandle: \"bbb\",\r\n targetHandle: \"ccc\",\r\n };\r\n } else if (ed.data.side === \"bottom\") {\r\n return {\r\n ...ed,\r\n data: {\r\n ...ed.data,\r\n side: \"right\",\r\n },\r\n sourceHandle: \"ccc\",\r\n targetHandle: \"bbb\",\r\n };\r\n }\r\n }\r\n }\r\n return ed;\r\n });\r\n return updatedEdges;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n edges: updatedEdges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n const debouncedUpdateJson = useCallback(\r\n debounce((nodes, edges) => {\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: nodes.length > 0 ? nodes : getNodes(),\r\n edges: edges.length > 0 ? edges : getEdges(),\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n takeSnapshot,\r\n a_id,\r\n });\r\n }, 200), // Adjust the delay (in milliseconds) as needed\r\n [updateJson, user_data, dispatch, undo, location, getNodes, getEdges]\r\n );\r\n\r\n const handleBackgroundColorChange = (value) => {\r\n setShowBackgroundPopup(false);\r\n setNodes((prev) => {\r\n const updatedNodes = prev.map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n nodeStyle: {\r\n ...nd.data?.nodeStyle,\r\n backgroundColor: value,\r\n },\r\n },\r\n }\r\n : nd\r\n );\r\n debouncedUpdateJson(updatedNodes, []);\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const handleToggleLock = () => {\r\n setNodes((n) => {\r\n const updatedNodes = n.map((nd) =>\r\n nd.id === node.id\r\n ? {\r\n ...nd,\r\n draggable: nd.data?.locked || false,\r\n deletable: nd.data?.locked || false,\r\n data: {\r\n ...nd.data,\r\n locked: !nd.data?.locked || false,\r\n },\r\n }\r\n : nd\r\n );\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const handleNodeTypeChange = (style) => {\r\n setNodes((prev) => {\r\n const updatedNodes = prev.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n showBorder: style.borderType === \"none\" ? false : true,\r\n border: {\r\n ...nd.data.border,\r\n type: style.borderStyle,\r\n radius: style.borderRadius,\r\n width: style.borderWidth,\r\n },\r\n nodeStyle: {\r\n ...nd.data.nodeStyle,\r\n borderType: style.borderType,\r\n },\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const handleChangeConnectionLineType = (value) => {\r\n let updatedNodes = getNodes();\r\n let updatedEdges = getEdges();\r\n\r\n setNodes((prev) => {\r\n updatedNodes = prev.map((nd) => {\r\n if (\r\n nd.type === \"TreeView\" &&\r\n nd.data?.rootParentId === data?.rootParentId\r\n ) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n edgeType: value,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n setEdges((prev) => {\r\n updatedEdges = prev.map((ed) => {\r\n if (\r\n ed.data?.isTreeView &&\r\n ed.data?.rootParentId === data?.rootParentId\r\n ) {\r\n return {\r\n ...ed,\r\n type: value,\r\n markerEnd: {\r\n ...ed.markerEnd,\r\n type: (value === \"step-edge\" || value === \"editable-edge\") && !ed.markerEnd?.type\r\n ? MarkerType.ArrowClosed\r\n : ed.markerEnd?.type,\r\n },\r\n data: {\r\n ...ed.data,\r\n algorithm: Algorithm.BezierCatmullRom,\r\n },\r\n };\r\n }\r\n return ed;\r\n });\r\n return updatedEdges;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n edges: updatedEdges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n const handleBranchColorChange = (value) => {\r\n let updatedNodes = getNodes();\r\n let updatedEdges = getEdges();\r\n\r\n setNodes((prev) => {\r\n updatedNodes = prev.map((nd) => {\r\n if (\r\n nd.type === \"TreeView\" &&\r\n nd.data.rootParentId === data.rootParentId\r\n ) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n border: {\r\n ...nd.data.border,\r\n borderColor: value,\r\n },\r\n nodeStyle: {\r\n ...nd.data.nodeStyle,\r\n backgroundColor:\r\n nd.data.type === \"child\" &&\r\n (nd.data.designType === \"second\" ||\r\n nd.data.designType === \"third\" ||\r\n nd.data.designType === \"six\" ||\r\n // nd.data.designType === \"eight\" ||\r\n nd.data.designType === \"nine\")\r\n ? value\r\n : nd.data?.nodeStyle?.backgroundColor,\r\n },\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n\r\n setEdges((prev) => {\r\n updatedEdges = prev.map((ed) => {\r\n if (\r\n ed.data?.isTreeView &&\r\n ed.data?.rootParentId === data?.rootParentId\r\n ) {\r\n return {\r\n ...ed,\r\n markerStart: {\r\n ...ed.markerStart,\r\n color: value,\r\n },\r\n markerEnd: {\r\n ...ed.markerEnd,\r\n color: value,\r\n },\r\n style: {\r\n ...ed.style,\r\n stroke: value,\r\n },\r\n };\r\n }\r\n return ed;\r\n });\r\n return updatedEdges;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes, updatedEdges);\r\n };\r\n\r\n const handleAutoLayoutChange = (value) => {\r\n setNodes((prev) => {\r\n const updatedNodes = prev.map((nd) => {\r\n if (\r\n nd.type === \"TreeView\" &&\r\n nd.data.rootParentId === data.rootParentId\r\n ) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n autoLayout: value,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n const allMindMapNodes = updatedNodes\r\n .filter(\r\n (nd) =>\r\n nd.type === \"TreeView\" &&\r\n nd.data?.rootParentId === data?.rootParentId\r\n )\r\n .map((nd) => ({\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n autoLayout: value,\r\n manuallyPositioned: false,\r\n },\r\n }));\r\n\r\n const positionedNodes = createTreeLayout(\r\n allMindMapNodes,\r\n data?.rootParentId,\r\n data?.addition\r\n );\r\n\r\n const AdjustedNodes = prev.map((n) => {\r\n const matchingNode = positionedNodes.nodes.find(\r\n (resNode) => resNode.id === n.id\r\n );\r\n return matchingNode ? matchingNode : n;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: value ? AdjustedNodes : updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n return value ? AdjustedNodes : updatedNodes;\r\n });\r\n };\r\n\r\n const handleFontSizeChange = (action) => {\r\n const currentFontSize = parseInt(textStyles.fontSize.match(/\\d+/)[0]);\r\n let newFontSize = currentFontSize;\r\n if (action === \"increase\" && currentFontSize <= 22) {\r\n newFontSize = currentFontSize + 1;\r\n } else if (action === \"decrease\" && currentFontSize > 1) {\r\n newFontSize = currentFontSize - 1;\r\n }\r\n\r\n editor.chain().focus().setFontSize(`${newFontSize}px`).run();\r\n };\r\n\r\n const handleAddLinkInEditor = (e) => {\r\n if (e.key === \"Enter\" && url) {\r\n e.preventDefault();\r\n const linkText = extractDomainName(url); // Automatically extract simplified URL text\r\n\r\n // Get current cursor position, ignoring any selection\r\n const { to } = editor.state.selection;\r\n\r\n editor\r\n .chain()\r\n .focus()\r\n .setTextSelection(to)\r\n .insertContent(linkText)\r\n .setTextSelection({ from: to, to: to + linkText.length })\r\n .setLink({ href: url, title: url })\r\n .run();\r\n\r\n setUrl(\"\");\r\n setShowRefLink(false);\r\n }\r\n };\r\n\r\n const changeToneData = [\r\n {\r\n label: \"Friendly\",\r\n key: \"friendly\",\r\n },\r\n {\r\n label: \"Professional\",\r\n key: \"professional\",\r\n },\r\n {\r\n label: \"Business\",\r\n key: \"business\",\r\n },\r\n {\r\n label: \"Fun\",\r\n key: \"fun\",\r\n },\r\n ];\r\n\r\n const expandMindmapData = [\r\n {\r\n label: \"Expand with topics\",\r\n key: \"expand_mindmap_topics\",\r\n },\r\n {\r\n label: \"Expand with questions\",\r\n key: \"expand_mindmap_questions\",\r\n },\r\n {\r\n label: \"Expand with ideas\",\r\n key: \"expand_mindmap_ideas\",\r\n },\r\n ];\r\n\r\n const translateData = [\r\n {\r\n label: \"English\",\r\n key: \"english\",\r\n },\r\n {\r\n label: \"Spanish\",\r\n key: \"spanish\",\r\n },\r\n {\r\n label: \"German\",\r\n key: \"german\",\r\n },\r\n {\r\n label: \"French\",\r\n key: \"french\",\r\n },\r\n {\r\n label: \"Japanese\",\r\n key: \"japanese\",\r\n },\r\n {\r\n label: \"Portuguese\",\r\n key: \"portuguese\",\r\n },\r\n {\r\n label: \"Hindi\",\r\n key: \"hindi\",\r\n },\r\n {\r\n label: \"Korean\",\r\n key: \"korean\",\r\n },\r\n {\r\n label: \"Polish\",\r\n key: \"polish\",\r\n },\r\n {\r\n label: \"Italian\",\r\n key: \"italian\",\r\n },\r\n {\r\n label: \"Arabic\",\r\n key: \"arabic\",\r\n },\r\n {\r\n label: \"Russian\",\r\n key: \"russian\",\r\n },\r\n {\r\n label: \"Danish\",\r\n key: \"danish\",\r\n },\r\n {\r\n label: \"Finnish\",\r\n key: \"finnish\",\r\n },\r\n {\r\n label: \"Norwegian\",\r\n key: \"norwegian\",\r\n },\r\n {\r\n label: \"Dutch\",\r\n key: \"dutch\",\r\n },\r\n {\r\n label: \"Swedish\",\r\n key: \"swedish\",\r\n },\r\n {\r\n label: \"Thai\",\r\n key: \"thai\",\r\n },\r\n ];\r\n\r\n const convertNodeToImage = async () => {\r\n const selectedNodeElement = document.querySelector(\r\n `[data-id='${node.id}']`\r\n );\r\n\r\n if (selectedNodeElement) {\r\n const applyComputedStyles = (originalElement, clonedElement) => {\r\n const computedStyles = window.getComputedStyle(originalElement);\r\n for (let key of computedStyles) {\r\n clonedElement.style[key] = computedStyles[key];\r\n }\r\n };\r\n\r\n const getChildNodes = (nodeId) => {\r\n const children = getNodes().filter(\r\n (node) => node?.parentNode === nodeId\r\n );\r\n\r\n return children.reduce((acc, child) => {\r\n const childElement = document.querySelector(\r\n `[data-id='${child.id}']`\r\n );\r\n\r\n if (childElement) {\r\n const clonedChild = childElement.cloneNode(true);\r\n applyComputedStyles(childElement, clonedChild);\r\n clonedChild.style.position = \"absolute\";\r\n clonedChild.style.left = child.position.x + \"px\";\r\n clonedChild.style.top = child.position.y + \"px\";\r\n clonedChild.style.transform = \"none\";\r\n const nestedChildNodes = getChildNodes(child.id);\r\n nestedChildNodes.forEach((nestedChild) => {\r\n clonedChild.appendChild(nestedChild);\r\n });\r\n acc.push(clonedChild);\r\n }\r\n return acc;\r\n }, []);\r\n };\r\n\r\n const clonedSelectedNode = selectedNodeElement.cloneNode(true);\r\n\r\n const childNodes = getChildNodes(node.id);\r\n\r\n childNodes.forEach((child) => {\r\n clonedSelectedNode.appendChild(child);\r\n });\r\n\r\n clonedSelectedNode.style.position = \"absolute\";\r\n clonedSelectedNode.style.top = \"0px\";\r\n clonedSelectedNode.style.left = \"0px\";\r\n clonedSelectedNode.style.zIndex = \"-999999999999\";\r\n\r\n document.body.appendChild(clonedSelectedNode);\r\n\r\n try {\r\n const canvas = await html2canvas(clonedSelectedNode, {\r\n useCORS: true,\r\n scale: 2,\r\n backgroundColor: null,\r\n });\r\n\r\n canvas.toBlob(\r\n async (blob) => {\r\n if (blob) {\r\n try {\r\n await navigator.clipboard.write([\r\n new ClipboardItem({\r\n \"image/png\": blob,\r\n }),\r\n ]);\r\n } catch (error) { }\r\n } else {\r\n }\r\n document.body.removeChild(clonedSelectedNode);\r\n },\r\n \"image/png\",\r\n 1.0\r\n );\r\n dispatch(\r\n successToast({\r\n message: \"Image copied\",\r\n })\r\n );\r\n setShowMoreOptions(false);\r\n } catch (error) {\r\n }\r\n }\r\n };\r\n\r\n const updateParentIds = (nodes) => {\r\n // Create a set of all node IDs for fast lookup\r\n const nodeIds = new Set(nodes.map((node) => node.id));\r\n\r\n nodes.forEach((node) => {\r\n // Update orphan treeview nodes without valid parents\r\n if (node.type === \"TreeView\" && node.parentNode) {\r\n // Check if the parentId exists in the node array\r\n if (!nodeIds.has(node.parentNode)) {\r\n // Update the node as a top-level parent if the parent is not found\r\n node.parentNode = null;\r\n node.data = {\r\n ...node.data,\r\n type: \"parent\",\r\n rootParentId: node.id,\r\n topChildrenOrder: [],\r\n bottomChildrenOrder: [],\r\n leftChildrenOrder: [],\r\n rightChildrenOrder: [],\r\n [`${node.data.side}ChildrenOrder`]: node.data.childrenOrder,\r\n };\r\n\r\n // Remove childrenOrder key\r\n delete node.data.childrenOrder;\r\n }\r\n }\r\n });\r\n\r\n return nodes;\r\n };\r\n\r\n const assignRootParentIds = (nodes) => {\r\n function assignToChildren(parentNode, nodes) {\r\n nodes.forEach((node) => {\r\n if (node.type === \"TreeView\" && node.parentNode === parentNode.id) {\r\n assignToChildren(node, nodes);\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n rootParentId: node.id,\r\n },\r\n };\r\n }\r\n });\r\n }\r\n\r\n nodes.forEach((node) => {\r\n if (node.type === \"TreeView\" && !node.parentNode) {\r\n assignToChildren(node, nodes);\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n rootParentId: node.id,\r\n },\r\n };\r\n }\r\n });\r\n\r\n return nodes;\r\n };\r\n\r\n const handleClickDuplicate = () => {\r\n setShowMoreOptions(false);\r\n\r\n const now = Date.now();\r\n const idMapping = {};\r\n const currentNode = getNode(node?.id);\r\n\r\n const unChangedNodes = getNodes();\r\n let duplicatedNodes = [];\r\n let duplicatedEdges = [];\r\n let updatedNodes = [];\r\n let updatedEdges = [];\r\n\r\n const { nodes: allNodes, edges: allEdges } = getNodeWithAllChildrenAndEdges(\r\n currentNode,\r\n getNodes(),\r\n getEdges()\r\n );\r\n const { maxX } = findMinMaxHorizontalAbsolutePositions(allNodes);\r\n\r\n duplicatedNodes = updateParentIds(allNodes);\r\n duplicatedNodes = assignRootParentIds(duplicatedNodes);\r\n\r\n duplicatedNodes = duplicatedNodes.map((node) => {\r\n const id = `${node.id}-${now}`;\r\n idMapping[node.id] = id;\r\n return { ...node, id };\r\n });\r\n\r\n duplicatedNodes = duplicatedNodes.map((node) => {\r\n if (node.type === \"TreeView\" && node.data?.type === \"parent\") {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n rootParentId: idMapping[node.data.rootParentId],\r\n leftChildrenOrder: (node.data?.leftChildrenOrder || []).map(\r\n (child) => ({\r\n ...child,\r\n id: idMapping[child.id],\r\n parentNode: idMapping[child.parentNode],\r\n })\r\n ),\r\n rightChildrenOrder: (node.data?.rightChildrenOrder || []).map(\r\n (child) => ({\r\n ...child,\r\n id: idMapping[child.id],\r\n parentNode: idMapping[child.parentNode],\r\n })\r\n ),\r\n topChildrenOrder: (node.data?.topChildrenOrder || []).map(\r\n (child) => ({\r\n ...child,\r\n id: idMapping[child.id],\r\n parentNode: idMapping[child.parentNode],\r\n })\r\n ),\r\n bottomChildrenOrder: (node.data?.bottomChildrenOrder || []).map(\r\n (child) => ({\r\n ...child,\r\n id: idMapping[child.id],\r\n parentNode: idMapping[child.parentNode],\r\n })\r\n ),\r\n },\r\n parentNode: idMapping[node.parentNode],\r\n position: {\r\n x: maxX + 250,\r\n y: node.positionAbsolute.y,\r\n },\r\n positionAbsolute: {\r\n x: maxX + 250,\r\n y: node.positionAbsolute.y,\r\n },\r\n };\r\n } else if (node.type === \"TreeView\" && node.data?.type === \"child\") {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n rootParentId: idMapping[node.data.rootParentId],\r\n childrenOrder:\r\n node.data?.childrenOrder?.map((child) => ({\r\n ...child,\r\n id: idMapping[child.id],\r\n parentNode: idMapping[child.parentNode],\r\n })) || [],\r\n },\r\n hiddenBy: node?.hiddenBy ? idMapping[node.hiddenBy] : null,\r\n parentNode: idMapping[node.parentNode],\r\n positionAbsolute: {\r\n x: maxX + 250,\r\n y: node.positionAbsolute.y,\r\n },\r\n };\r\n }\r\n return node;\r\n });\r\n\r\n duplicatedEdges = allEdges\r\n .filter((edge) => idMapping[edge.source] && idMapping[edge.target])\r\n .map((edge) => {\r\n const id = `${edge.id}-${now}`;\r\n const source = idMapping[edge.source] || edge.source;\r\n const target = idMapping[edge.target] || edge.target;\r\n\r\n return {\r\n ...edge,\r\n id,\r\n source,\r\n target,\r\n };\r\n });\r\n\r\n updatedNodes = [...unChangedNodes, ...duplicatedNodes];\r\n updatedNodes = updatedNodes.map((nd) => ({ ...nd, selected: false }));\r\n setNodes(updatedNodes);\r\n\r\n setEdges((prevEdges) => {\r\n updatedEdges = [...prevEdges, ...duplicatedEdges];\r\n return updatedEdges;\r\n });\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n edges: updatedEdges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n should_delete: updatedNodes?.length === 0,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n const handleCreateFrame = () => {\r\n setShowMoreOptions(false);\r\n const allTreeViewNodes = getNodes().filter(\r\n (node) =>\r\n node.type === \"TreeView\" &&\r\n node.data?.rootParentId === data?.rootParentId\r\n );\r\n const { minX, maxX, minY, maxY } =\r\n findMinMaxHorizontalAbsolutePositions(allTreeViewNodes);\r\n\r\n const frameNode = [\r\n {\r\n id: getId(),\r\n type: \"frame\",\r\n variant: \"custom\",\r\n selected: false,\r\n style: {\r\n height: maxY - minY + 100,\r\n width: maxX - minX + 250,\r\n zIndex: -1,\r\n },\r\n data: {\r\n type: \"frame\",\r\n variant: \"custom\",\r\n style: {\r\n background: \"rgba(255, 255, 255, 1)\",\r\n },\r\n label: \"frame\",\r\n hide: false,\r\n locked: false,\r\n isShadow: false,\r\n showBorder: false,\r\n border: {\r\n width: 1,\r\n type: \"solid\",\r\n borderColor: \"rgba(3, 11, 22, 1)\",\r\n opacity: 1,\r\n },\r\n frameNo: 1,\r\n frameName: \"Mind Map\",\r\n },\r\n position: {\r\n x: minX - 50,\r\n y: minY - 35,\r\n },\r\n positionAbsolute: {\r\n x: minX - 35,\r\n y: minY - 35,\r\n },\r\n zIndex: -1,\r\n draggable: true,\r\n },\r\n ];\r\n\r\n setNodes((prevNodes) => [...frameNode, ...prevNodes]);\r\n };\r\n\r\n const exportNodeToCSV = () => {\r\n if (!node) {\r\n console.warn(\"No node available to export\");\r\n return;\r\n }\r\n\r\n const currNode = getNode(node?.id);\r\n\r\n // Define the CSV headers\r\n const headers = [\r\n \"Node ID\",\r\n \"Type\",\r\n \"Label\",\r\n \"Parent ID\",\r\n \"Position X\",\r\n \"Position Y\",\r\n ];\r\n\r\n // Create an array to store the rows\r\n const rows = [];\r\n\r\n // Add headers as the first row\r\n rows.push(headers.join(\",\"));\r\n\r\n // Create a row for the single node\r\n const row = [\r\n currNode.id,\r\n currNode.type,\r\n removeHTMLTags(currNode.data.label),\r\n currNode.parentNode || \"\",\r\n currNode.position?.x || \"\",\r\n currNode.position?.y || \"\",\r\n ];\r\n\r\n // Add the row to the rows array\r\n rows.push(row.join(\",\"));\r\n\r\n // Convert the rows to a single CSV string\r\n const csvContent = rows.join(\"\\n\");\r\n\r\n // Create a Blob from the CSV string\r\n const blob = new Blob([csvContent], { type: \"text/csv;charset=utf-8;\" });\r\n\r\n // Create a link element to download the file\r\n const link = document.createElement(\"a\");\r\n const url = URL.createObjectURL(blob);\r\n\r\n link.setAttribute(\"href\", url);\r\n link.setAttribute(\"download\", `node_${currNode.id}_export.csv`);\r\n link.style.visibility = \"hidden\";\r\n\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n };\r\n\r\n const handleBringToFront = () => {\r\n const interSectedNodes = getIntersectingNodes(node, true);\r\n const { maxZIndex } = getMaxAndMinZIndex(interSectedNodes);\r\n setNodes((prevNodes) => {\r\n const updatedNodes = prevNodes.map((nd) => {\r\n if (nd.id === node?.id) {\r\n return {\r\n ...nd,\r\n style: {\r\n ...nd.style,\r\n zIndex: maxZIndex + 1,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n takeSnapshot,\r\n a_id,\r\n });\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const handleSendToBack = () => {\r\n const interSectedNodes = getIntersectingNodes(node, true);\r\n const { minZIndex } = getMaxAndMinZIndex(interSectedNodes);\r\n setNodes((prevNodes) => {\r\n const updatedNodes = prevNodes.map((nd) => {\r\n if (nd.id === node?.id) {\r\n return {\r\n ...nd,\r\n style: {\r\n ...nd.style,\r\n zIndex: minZIndex - 1,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n takeSnapshot,\r\n a_id,\r\n });\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const copyStyle = useCallback(async () => {\r\n const isColorPickerOpen = document.getElementById(\"rbgcp-wrapper\");\r\n const isAnyInputFocused = isInputFocused();\r\n let selectedNode = getNodes().filter((node) => node.selected);\r\n\r\n if (!isColorPickerOpen && !isAnyInputFocused && selectedNode.length === 1) {\r\n const currNode = selectedNode[0];\r\n let copiedStyle = {};\r\n\r\n if (currNode.type === \"TreeView\") {\r\n copiedStyle = {\r\n TreeView: currNode, // Copy relevant style data\r\n };\r\n }\r\n\r\n const copyData = {\r\n style: copiedStyle, // Wrap the style in an object\r\n };\r\n\r\n try {\r\n await navigator.clipboard.writeText(JSON.stringify(copyData));\r\n } catch (err) {}\r\n }\r\n }, [getNodes]);\r\n\r\n const pasteStyle = useCallback(async () => {\r\n const isColorPickerOpen = document.getElementById(\"rbgcp-wrapper\");\r\n const isAnyInputFocused = isInputFocused();\r\n\r\n if (isColorPickerOpen || isAnyInputFocused) {\r\n return; // Exit early if the color picker or input is focused\r\n }\r\n\r\n let clipboardStyle = {};\r\n\r\n try {\r\n const clipboardText = await navigator.clipboard.readText();\r\n clipboardStyle = JSON.parse(clipboardText); // Parse the clipboard content\r\n\r\n if (clipboardStyle.style && clipboardStyle.style.TreeView) {\r\n const updatedNodes = getNodes().map((nd) => {\r\n if (nd.id === node?.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n showBorder: clipboardStyle.style.TreeView.data.showBorder,\r\n border: {\r\n width: clipboardStyle.style.TreeView.data.border.width,\r\n type: clipboardStyle.style.TreeView.data.border.type,\r\n radius: clipboardStyle.style.TreeView.data.border.radius,\r\n borderColor:\r\n clipboardStyle.style.TreeView.data.border.borderColor,\r\n opacity: clipboardStyle.style.TreeView.data.border.opacity,\r\n },\r\n nodeStyle: {\r\n backgroundColor:\r\n clipboardStyle.style.TreeView.data.nodeStyle\r\n .backgroundColor,\r\n borderType:\r\n clipboardStyle.style.TreeView.data.nodeStyle.borderType,\r\n },\r\n edgeColor: clipboardStyle.style.TreeView.data.edgeColor,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n\r\n setNodes(updatedNodes);\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n } else {\r\n console.warn(\"No valid style found in clipboard\");\r\n }\r\n } catch (err) {\r\n console.error(\"Failed to read or parse clipboard contents:\", err);\r\n }\r\n }, []);\r\n\r\n const handleClickDelete = () => {\r\n setShowMoreOptions(false);\r\n\r\n setNodes((prevNodes) => {\r\n let updatedNodes = prevNodes?.filter((nd) => nd.id !== node?.id);\r\n updatedNodes = removeOrphanedNodes(updatedNodes);\r\n\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n should_delete: updatedNodes?.length === 0,\r\n takeSnapshot,\r\n });\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const moreMenusData = [\r\n {\r\n id: \"child-1\",\r\n children: [\r\n {\r\n mainLabel: \"Copy\",\r\n shortCut: \"Ctrl + C\",\r\n onClick: () => {\r\n copy();\r\n },\r\n },\r\n // {\r\n // mainLabel: \"Paste\",\r\n // shortCut: \"Ctrl + V\",\r\n // onClick: () => {\r\n // paste();\r\n // },\r\n // },\r\n {\r\n mainLabel: \"Copy as Image\",\r\n shortCut: \"Ctrl + shift + C\",\r\n onClick: () => {\r\n convertNodeToImage();\r\n },\r\n },\r\n {\r\n mainLabel: \"Duplicate\",\r\n shortCut: \"Ctrl + D\",\r\n onClick: () => {\r\n handleClickDuplicate();\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: \"child-2\",\r\n children: [\r\n {\r\n mainLabel: \"Copy Style\",\r\n shortCut: \"Ctrl + Alt + C\",\r\n onClick: () => {\r\n setShowMoreOptions(false);\r\n copyStyle();\r\n },\r\n },\r\n {\r\n mainLabel: \"Paste Style\",\r\n shortCut: \"Ctrl + Alt + V\",\r\n onClick: () => {\r\n setShowMoreOptions(false);\r\n pasteStyle();\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: \"child-3\",\r\n children: [\r\n {\r\n mainLabel: data?.locked ? \"Unlock\" : \"Lock\",\r\n shortCut: \"Ctrl + shift + L\",\r\n onClick: () => {\r\n setShowMoreOptions(false);\r\n handleToggleLock();\r\n },\r\n },\r\n ],\r\n },\r\n // {\r\n // id: \"child-4\",\r\n // children: [\r\n // {\r\n // mainLabel: \"Copy Link\",\r\n // shortCut: \"Ctrl + Alt + shift + C\",\r\n // onClick: () => {\r\n // setShowMoreOptions(false);\r\n // },\r\n // },\r\n // {\r\n // mainLabel: \"Link to\",\r\n // shortCut: \"Alt + Ctrl + K\",\r\n // onClick: () => {\r\n // setShowMoreOptions(false);\r\n // },\r\n // },\r\n // ],\r\n // },\r\n {\r\n id: \"child-5\",\r\n children: [\r\n {\r\n mainLabel: \"Bring to front\",\r\n shortCut: \"Ctrl + shift + F\",\r\n onClick: () => {\r\n setShowMoreOptions(false);\r\n handleBringToFront();\r\n },\r\n },\r\n {\r\n mainLabel: \"Send to back\",\r\n shortCut: \"Ctrl + shift + B\",\r\n onClick: () => {\r\n setShowMoreOptions(false);\r\n handleSendToBack();\r\n },\r\n },\r\n ],\r\n },\r\n ...((data?.type === \"parent\" && [\r\n {\r\n id: \"child-6\",\r\n children: [\r\n {\r\n mainLabel: \"Create Frame\",\r\n shortCut: \"\",\r\n onClick: () => {\r\n handleCreateFrame();\r\n },\r\n },\r\n ],\r\n },\r\n ]) ||\r\n []),\r\n {\r\n id: \"child-7\",\r\n children: [\r\n {\r\n mainLabel: \"Export\",\r\n shortCut: \"CSV (Excel)\",\r\n onClick: () => {\r\n exportNodeToCSV();\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: \"child-8\",\r\n children: [\r\n {\r\n mainLabel: \"Delete\",\r\n shortCut: \"Delete\",\r\n onClick: () => {\r\n setShowMoreOptions(false);\r\n handleClickDelete();\r\n },\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n // shortCut keys added\r\n useKeyboardShortcut([\"Control\", \"Shift\", \"C\"], convertNodeToImage);\r\n useKeyboardShortcut([\"Control\", \"D\"], handleClickDuplicate);\r\n useKeyboardShortcut([\"Control\", \"Shift\", \"L\"], handleToggleLock);\r\n useKeyboardShortcut([\"Control\", \"Shift\", \"F\"], handleSendToBack);\r\n useKeyboardShortcut([\"Control\", \"Shift\", \"B\"], handleBringToFront);\r\n useKeyboardShortcut([\"Control\", \"Alt\", \"C\"], copyStyle);\r\n useKeyboardShortcut([\"Control\", \"Alt\", \"V\"], pasteStyle);\r\n\r\n return (\r\n \r\n {\r\n setShowAIOptions(false);\r\n setShowBackgroundPopup(false);\r\n setShowMindMapTheme(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n {!data?.locked && (\r\n <>\r\n {data?.type === \"parent\" && (\r\n <>\r\n setShowMindMapTheme(false)}\r\n >\r\n \r\n setShowMindMapTheme(false)}\r\n open={showMindMapTheme}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {\r\n handleThemeChange(\"horizontal\");\r\n setShowMindMapTheme(false);\r\n }}\r\n >\r\n \r\n \r\n {\r\n handleThemeChange(\"vertical\");\r\n setShowMindMapTheme(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowMindMapTheme(!showMindMapTheme);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n }}\r\n >\r\n {data?.addition === \"horizontal\" ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n )}\r\n\r\n setShowBackgroundPopup(false)}\r\n >\r\n \r\n setShowBackgroundPopup(false)}\r\n open={showBackgroundPopup}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n handleBackgroundColorChange(color);\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowBackgroundPopup(!showBackgroundPopup);\r\n setShowMindMapTheme(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n setShowBorderPopup(false)}>\r\n \r\n setShowBorderPopup(false)}\r\n open={showBorderPopup}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={}\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowBorderPopup(!showBorderPopup);\r\n setShowBackgroundPopup(false);\r\n setShowMindMapTheme(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n setShowNodetype(false)}>\r\n \r\n setShowNodetype(false)}\r\n open={showNodetype}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {\r\n setShowNodetype(false);\r\n handleNodeTypeChange({\r\n borderStyle: \"none\",\r\n borderRadius: \"0px\",\r\n borderType: \"first\",\r\n borderWidth: 2,\r\n });\r\n }}\r\n >\r\n \r\n None\r\n \r\n \r\n {\r\n setShowNodetype(false);\r\n handleNodeTypeChange({\r\n borderStyle: \"solid\",\r\n borderRadius: \"0px\",\r\n borderType: \"second\",\r\n borderWidth: 2,\r\n });\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowNodetype(false);\r\n handleNodeTypeChange({\r\n borderStyle: \"solid\",\r\n borderRadius: \"10px\",\r\n borderType: \"third\",\r\n borderWidth: 2,\r\n });\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowNodetype(false);\r\n handleNodeTypeChange({\r\n borderStyle: \"solid\",\r\n borderRadius: \"25px\",\r\n borderType: \"four\",\r\n borderWidth: 2,\r\n });\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowNodetype(false);\r\n handleNodeTypeChange({\r\n borderStyle: \"solid\",\r\n borderRadius: \"0px\",\r\n borderType: \"five\",\r\n borderWidth: \"0px 0px 2px 0px\",\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowNodetype(!showNodetype);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n {data?.nodeStyle?.borderType === \"first\" ||\r\n data?.nodeStyle?.borderType === \"second\" ? (\r\n \r\n ) : data?.nodeStyle?.borderType === \"third\" ? (\r\n \r\n ) : data?.nodeStyle?.borderType === \"four\" ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {data?.type === \"parent\" && (\r\n <>\r\n setShowConnectionLine(false)}\r\n >\r\n \r\n setShowConnectionLine(false)}\r\n open={showConnectionLine}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {\r\n setShowConnectionLine(false);\r\n handleChangeConnectionLineType(\r\n \"treeNodeEdgeType3\"\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowConnectionLine(false);\r\n handleChangeConnectionLineType(\"step-edge\");\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowConnectionLine(false);\r\n handleChangeConnectionLineType(\"editable-edge\");\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowConnectionLine(false);\r\n handleChangeConnectionLineType(\r\n \"treeNodeEdgeType8\"\r\n );\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowConnectionLine(false);\r\n handleChangeConnectionLineType(\r\n \"treeNodeEdgeType1\"\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowConnectionLine(!showConnectionLine);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n {data?.edgeType === \"treeNodeEdgeType3\" ? (\r\n \r\n ) : data?.edgeType === \"step-edge\" ? (\r\n \r\n ) : data?.edgeType === \"editable-edge\" ? (\r\n \r\n ) : data?.edgeType === \"treeNodeEdgeType8\" ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n setShowBranchColor(false)}\r\n >\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n setShowBranchColor(false)}\r\n open={showBranchColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n handleBranchColorChange(color);\r\n setShowBranchColor(false);\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowBranchColor(!showBranchColor);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n {\r\n handleAutoLayoutChange(value);\r\n }}\r\n />\r\n \r\n Auto\r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {hasSelectedText(editor) && (\r\n <>\r\n setShowFontFamily(false)}>\r\n \r\n setShowFontFamily(false)}\r\n open={showFontFamily}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {fontFamilyArr?.map((val, i) => {\r\n return (\r\n {\r\n editor\r\n .chain()\r\n .focus()\r\n .setFontFamily(val.family)\r\n .run();\r\n setShowFontFamily(false);\r\n }}\r\n >\r\n {val.name}\r\n \r\n );\r\n })}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n setShowFontFamily(!showFontFamily);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n {currentFontFamily}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n setShowFontSizeOpt(false)}\r\n >\r\n \r\n setShowFontSizeOpt(false)}\r\n open={showFontSizeOpt}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {fontSizeArr?.map((val, i) => {\r\n return (\r\n {\r\n editor\r\n .chain()\r\n .focus()\r\n .setFontSize(`${val}px`)\r\n .run();\r\n setShowFontSizeOpt(false);\r\n }}\r\n >\r\n {val}\r\n \r\n );\r\n })}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n setShowFontSizeOpt(!showFontSizeOpt);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {textStyles.fontSize}\r\n \r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowFontSizeOpt(false);\r\n handleFontSizeChange(\"increase\");\r\n }}\r\n >\r\n {\" \"}\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowFontSizeOpt(false);\r\n if (\r\n parseInt(\r\n textStyles.fontSize.match(/\\d+/)[0]\r\n ) > 1\r\n ) {\r\n handleFontSizeChange(\"decrease\");\r\n }\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n setShowFontStyle(false)}>\r\n \r\n setShowFontStyle(false)}\r\n open={showFontStyle}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n editor.chain().focus().toggleBold().run();\r\n setShowFontStyle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n editor.chain().focus().toggleItalic().run();\r\n setShowFontStyle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n editor.chain().focus().toggleUnderline().run();\r\n setShowFontStyle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n editor.chain().focus().toggleStrike().run();\r\n setShowFontStyle(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowFontStyle(!showFontStyle);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n setShowTextAlign(false)}>\r\n \r\n setShowTextAlign(false)}\r\n open={showTextAlign}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {\r\n // editor.chain().focus().setTextAlign(\"left\").run();\r\n editor\r\n .chain()\r\n .focus()\r\n .setTextAlign(\"justify\")\r\n .run();\r\n setShowTextAlign(false);\r\n }}\r\n >\r\n \r\n \r\n {\r\n editor\r\n .chain()\r\n .focus()\r\n .setTextAlign(\"center\")\r\n .run();\r\n setShowTextAlign(false);\r\n }}\r\n >\r\n \r\n \r\n\r\n {\r\n editor\r\n .chain()\r\n .focus()\r\n .setTextAlign(\"right\")\r\n .run();\r\n setShowTextAlign(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowTextAlign(!showTextAlign);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n {textStyles.textAlign === \"justify\" ? (\r\n \r\n ) : textStyles.textAlign === \"center\" ? (\r\n \r\n ) : (\r\n \r\n )}{\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n setShowTextColor(false)}>\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n setShowTextColor(false)}\r\n open={showTextColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n setCurrentTextColor(color);\r\n editor.chain().focus().setColor(color).run();\r\n setShowTextColor(false);\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowTextColor(!showTextColor);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n setShowFillColor(false)}>\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n setShowFillColor(false)}\r\n open={showFillColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n setCurrentTextHighlightColor(color);\r\n editor\r\n .chain()\r\n .focus()\r\n .toggleHighlight({ color })\r\n .run();\r\n setShowFillColor(false);\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowFillColor(!showFillColor);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n setShowRefLink(false)}>\r\n \r\n setShowRefLink(false)}\r\n open={showRefLink}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n {\r\n setTimeout(() => {\r\n setShowRefLink(true);\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n });\r\n }}\r\n onChange={(e) => setUrl(e.target.value)}\r\n onKeyDown={handleAddLinkInEditor}\r\n />\r\n \r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n setShowRefLink(!showRefLink);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n {data?.locked ? : }\r\n \r\n \r\n \r\n\r\n \r\n\r\n {!data?.locked && (\r\n <>\r\n setShowAIOptions(false)}>\r\n {\r\n e.stopPropagation();\r\n }}\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n }}\r\n >\r\n setShowAIOptions(false)}\r\n open={!loaders.aiLoader && showAIOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n handleChangeContentWithAI(\"grammer_fix\")\r\n }\r\n >\r\n \r\n \r\n Fix grammar and spelling\r\n \r\n \r\n handleChangeContentWithAI(\"rewrite\")}\r\n >\r\n \r\n \r\n Rewrite for clarity\r\n \r\n \r\n {\r\n showTranslates && setShowTranslates(false);\r\n showExpandOptions && setShowExpandOptions(false);\r\n setShowChangeTones(!showChangeTones);\r\n }}\r\n >\r\n \r\n \r\n \r\n Change tone\r\n \r\n \r\n \r\n \r\n \r\n\r\n {showChangeTones && (\r\n \r\n \r\n {changeToneData.map((tone, i) => {\r\n return (\r\n \r\n handleChangeContentWithAI(tone.key)\r\n }\r\n >\r\n \r\n {tone.label}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )}\r\n \r\n {/* Translates */}\r\n {\r\n showChangeTones && setShowChangeTones(false);\r\n showExpandOptions && setShowExpandOptions(false);\r\n setShowTranslates(!showTranslates);\r\n }}\r\n >\r\n \r\n \r\n \r\n Translate\r\n \r\n \r\n \r\n \r\n \r\n\r\n {showTranslates && (\r\n \r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {translateData.map((translate, i) => {\r\n return (\r\n \r\n handleChangeContentWithAI(translate.key)\r\n }\r\n >\r\n \r\n {translate.label}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )}\r\n \r\n {/* Expand mindmap options */}\r\n {\r\n showTranslates && setShowTranslates(false);\r\n showChangeTones && setShowChangeTones(false);\r\n setShowExpandOptions(!showExpandOptions);\r\n }}\r\n >\r\n \r\n \r\n \r\n Expand mindmap\r\n \r\n \r\n \r\n \r\n \r\n\r\n {showExpandOptions && (\r\n \r\n \r\n {expandMindmapData.map((option, i) => {\r\n return (\r\n \r\n handleExpandMindmap(option.key)\r\n }\r\n >\r\n \r\n {option.label}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n {loaders.aiLoader ? (\r\n \r\n \r\n \r\n ) : (\r\n 0\r\n ? \"linear-gradient(167.78deg, #D461F0 -6.05%, #A587FF 50.47%, #618CFF 101.6%)\"\r\n : \"#F5F5F5\",\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n if (editor?.getText()?.trim()?.length > 0) {\r\n setShowAIOptions(!showAIOptions);\r\n setShowBackgroundPopup(false);\r\n setShowMindMapTheme(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowMoreOptions(false);\r\n }\r\n }}\r\n >\r\n 0\r\n ? \"#FFF\"\r\n : \"#C1C1C0\"\r\n }\r\n />\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n )}\r\n\r\n \r\n setShowMoreOptions(false)}\r\n open={showMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n {moreMenusData.map((moreMenu, mainIndex) => (\r\n \r\n {moreMenu.children.map((child, i) => (\r\n {\r\n child.onClick(event);\r\n }}\r\n >\r\n \r\n {child.mainLabel}\r\n \r\n {child.shortCut && (\r\n \r\n {child.shortCut}\r\n \r\n )}\r\n {child.rightArrowIcons && child.rightArrowIcons}\r\n {child.subChild && (\r\n \r\n {child.subChild.map((subChild, subCI) => (\r\n \r\n \r\n {subChild.label}\r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n ))}\r\n {mainIndex !== moreMenusData.length - 1 && (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n setShowMoreOptions(!showMoreOptions);\r\n setShowMindMapTheme(false);\r\n setShowBackgroundPopup(false);\r\n setShowBorderPopup(false);\r\n setShowNodetype(false);\r\n setShowConnectionLine(false);\r\n setShowBranchColor(false);\r\n setShowFontFamily(false);\r\n setShowFontSizeOpt(false);\r\n setShowFontStyle(false);\r\n setShowTextAlign(false);\r\n setShowTextColor(false);\r\n setShowFillColor(false);\r\n setShowRefLink(false);\r\n setIsShowToolsPop(true);\r\n setShowAIOptions(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TreeViewNodeToolbar;\r\n","import { Box } from \"@mui/material\";\r\nimport React, { memo, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useCallback } from \"react\";\r\nimport { Handle, MarkerType, useReactFlow } from \"reactflow\";\r\nimport { tipTapExtensions } from \"../../tip-tap-editor\";\r\nimport { EditorContent, Extension, useEditor } from \"@tiptap/react\";\r\nimport { debounce } from \"lodash\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport {\r\n capitalizeFirstChar,\r\n convertToRgba,\r\n countChildrenBySide,\r\n getId,\r\n getRandomRgbColor,\r\n getSourceHandle,\r\n getTargetHandle,\r\n removeHTMLTags,\r\n updateJson,\r\n} from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useSelector } from \"react-redux\";\r\nimport TreeViewNodeToolbar from \"./TreeViewNodeToolbar\";\r\nimport {\r\n IcAddRowCol,\r\n IcMinusOutlined,\r\n} from \"../../../../assets/icon-components\";\r\nimport { createTreeLayout } from \"../../../../Utils/hooks/d3-hierarchy\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\r\nimport { useSocketContext } from \"../../../../Utils/hooks/useSocketContext\";\r\nimport { socketEvents } from \"../../const\";\r\nimport useNodeSelectionStarted from \"../../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\n\r\nfunction TreeViewNode(node) {\r\n const { id, data } = node;\r\n const { setNodes, getNodes, getNode, getEdges, setEdges } = useReactFlow();\r\n const location = useLocation();\r\n const userRowData = localStorage.getItem(\"user_data\");\r\n const userData = userRowData ? JSON.parse(userRowData) : {};\r\n const dispatch = useDispatch();\r\n const { connectionLinePath, openAIStatus } = useSelector(\r\n (state) => state.mindMapStore\r\n );\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const { socket } = useSocketContext();\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const nodeRef = useRef(null);\r\n const oldLabelContent = useRef(data?.label);\r\n const [nodeSize, setNodeSize] = useState({ width: 0, height: 0 });\r\n const [isShowToolsPop, setIsShowToolsPop] = useState(true);\r\n const [socketCount, setSocketCount] = useState(0);\r\n const { id: architectureId } = useParams();\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const isOnlyOneNodeSelected =\r\n getNodes().filter((n) => n.selected).length === 1;\r\n\r\n const onAddChild = useCallback(\r\n (parentId, details, side, afterNodeId = null) => {\r\n const newNodeId = getId();\r\n\r\n const isRoot = parentId === details.rootParentId;\r\n const edgeColor = getRandomRgbColor();\r\n\r\n const parentNode = getNode(parentId);\r\n\r\n const getEdgeColor = () => {\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(0, 122, 255)\";\r\n } else if (details.applyEdgeColor) {\r\n return edgeColor;\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\n const getBgColor = () => {\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 \"rgb(0, 122, 255)\";\r\n } else if (details.applyEdgeColor) {\r\n return edgeColor;\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\n const borderStyle =\r\n // details?.designType === \"first\" ||\r\n details?.designType === \"second\" ||\r\n details?.designType === \"four\" ||\r\n details?.designType === \"seven\" ||\r\n details?.designType === \"ten\"\r\n ? \"solid\"\r\n : \"none\";\r\n\r\n const borderRadius =\r\n details?.designType === \"first\" ||\r\n details?.designType === \"second\" ||\r\n details?.designType === \"third\" ||\r\n details?.designType === \"seven\" ||\r\n details?.designType === \"nine\"\r\n ? \"25px\"\r\n : details?.designType === \"four\" ||\r\n details?.designType === \"six\" ||\r\n details?.designType === \"ten\"\r\n ? \"10px\"\r\n : \"0px\";\r\n\r\n const borderType =\r\n details?.designType === \"first\" ||\r\n details?.designType === \"second\" ||\r\n details?.designType === \"third\" ||\r\n details?.designType === \"seven\" ||\r\n details?.designType === \"nine\"\r\n ? \"four\"\r\n : details?.designType === \"four\" ||\r\n details?.designType === \"six\" ||\r\n details?.designType === \"ten\"\r\n ? \"third\"\r\n : details?.designType === \"eight\"\r\n ? \"second\"\r\n : \"first\";\r\n\r\n const placeHolderColor =\r\n details?.designType === \"six\" || details?.designType === \"nine\"\r\n ? \"light\"\r\n : details?.designType === \"second\"\r\n ? \"blue\"\r\n : \"dark\";\r\n\r\n const newNode = {\r\n id: newNodeId,\r\n type: details.childNodeType,\r\n data: {\r\n label: ``,\r\n locked: false,\r\n // onAddChild: onAddChild,\r\n autoLayout: details.autoLayout,\r\n side: side,\r\n type: \"child\",\r\n edgeType: details.edgeType,\r\n edgeAlgorithm: details.edgeAlgorithm,\r\n childNodeType: details.childNodeType,\r\n addition: details.addition,\r\n rootParentId: details.rootParentId,\r\n edgeColor: getEdgeColor(),\r\n designType: details.designType,\r\n showBorder:\r\n parentNode?.data?.type === \"parent\"\r\n ? borderStyle !== \"none\"\r\n : parentNode?.data?.showBorder,\r\n border: {\r\n width: 2,\r\n type: \"solid\",\r\n // type:\r\n // parentNode?.data?.type === \"parent\"\r\n // ? borderStyle\r\n // : parentNode?.data?.border?.type,\r\n radius:\r\n parentNode?.data?.type === \"parent\"\r\n ? borderRadius\r\n : parentNode?.data?.border?.radius,\r\n borderColor:\r\n parentNode?.data?.type === \"parent\"\r\n ? getEdgeColor()\r\n : parentNode?.data?.border?.borderColor,\r\n opacity: 1,\r\n },\r\n nodeStyle: {\r\n backgroundColor:\r\n parentNode?.data?.type === \"parent\"\r\n ? getBgColor()\r\n : parentNode?.data?.nodeStyle?.backgroundColor,\r\n borderType:\r\n parentNode?.data?.type === \"parent\"\r\n ? borderType\r\n : parentNode?.data?.nodeStyle?.borderType,\r\n },\r\n placeHolderColor:\r\n parentNode?.data?.type === \"parent\"\r\n ? placeHolderColor\r\n : parentNode?.data?.placeHolderColor,\r\n },\r\n parentNode: parentId,\r\n draggable: true,\r\n position: { x: 0, y: 0 },\r\n positionAbsolute: { x: 0, y: 0 },\r\n };\r\n\r\n const newEdge = {\r\n id: `e${parentId}-${newNodeId}`,\r\n type: details.edgeType,\r\n markerStart: { color: \"rgb(0, 0, 0)\" },\r\n markerEnd: {\r\n type:\r\n details.edgeType === \"step-edge\" ||\r\n details.edgeType === \"editable-edge\"\r\n ? MarkerType.ArrowClosed\r\n : \"\",\r\n color: \"rgb(0, 0, 0)\",\r\n },\r\n selected: false,\r\n data: {\r\n isTreeView: true,\r\n animate: false,\r\n animationDirection: \"ltr\",\r\n algorithm: details.edgeAlgorithm,\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: details.rootParentId,\r\n side: side,\r\n },\r\n style: {\r\n stroke: getEdgeColor(),\r\n strokeWidth: 1.5,\r\n strokeLinecap: \"butt\",\r\n },\r\n sourceHandle: getSourceHandle(side),\r\n targetHandle: getTargetHandle(side),\r\n source: parentId,\r\n target: newNodeId,\r\n };\r\n\r\n const updatedNodes = getNodes()\r\n .concat(newNode)\r\n .filter((n) => n.data.rootParentId === details.rootParentId);\r\n const updatedEdges = getEdges().concat(newEdge);\r\n\r\n const result = createTreeLayout(\r\n updatedNodes,\r\n details.rootParentId,\r\n details.addition,\r\n newNodeId,\r\n afterNodeId\r\n );\r\n let tempNodes = [];\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: nds,\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n const updatedNodes = nds.map((n) => {\r\n // Check if there's a matching node in result.nodes by ID\r\n const matchingNode = result.nodes.find(\r\n (resNode) => resNode.id === n.id\r\n );\r\n\r\n // If a matching node is found, replace it; otherwise, keep the original node\r\n return matchingNode ? matchingNode : n;\r\n });\r\n\r\n // If there are any new nodes in result.nodes that don't exist in nds, add them\r\n const newNodes = result.nodes.filter(\r\n (resNode) => !nds.some((n) => n.id === resNode.id)\r\n );\r\n\r\n tempNodes = [...updatedNodes, ...newNodes];\r\n\r\n tempNodes = tempNodes.map((node) =>\r\n node.id === newNodeId\r\n ? { ...node, selected: true }\r\n : { ...node, selected: false }\r\n );\r\n\r\n return tempNodes;\r\n });\r\n localStorage.setItem(\r\n \"architectureJsonEdges\",\r\n JSON.stringify({\r\n architecture_json: {\r\n edges: getEdges(),\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n setEdges(updatedEdges);\r\n\r\n // Call the debounced update function\r\n debouncedUpdateJson(tempNodes, updatedEdges);\r\n },\r\n [setEdges, getNodes]\r\n );\r\n\r\n // Create a debounced version of updateJson\r\n const debouncedUpdateJson = useCallback(\r\n debounce((tempNodes, updatedEdges) => {\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: tempNodes.length > 0 ? tempNodes : getNodes(),\r\n edges: updatedEdges.length > 0 ? updatedEdges : getEdges(),\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n }, 100), // Adjust the delay (in milliseconds) as needed\r\n [\r\n updateJson,\r\n user_data,\r\n location,\r\n getNodes,\r\n getEdges,\r\n architectureId,\r\n undo,\r\n takeSnapshot,\r\n ]\r\n );\r\n\r\n const isRootNode = data?.type === \"parent\";\r\n\r\n const EnterKeyHandler = Extension.create({\r\n name: \"enterKeyHandler\",\r\n addKeyboardShortcuts() {\r\n return {\r\n Enter: () => {\r\n const currNode = getNode(id);\r\n const parentNodeOfClickedNode = getNodes().find(\r\n (nd) => nd.id === currNode?.parentNode\r\n );\r\n\r\n if (isRootNode) {\r\n // Handle adding a child to a root node\r\n if (data?.addition === \"horizontal\") {\r\n onAddChild(id, data, \"right\");\r\n } else if (data?.addition === \"vertical\") {\r\n onAddChild(id, data, \"bottom\");\r\n }\r\n } else {\r\n // Handle adding a child to a non-root node\r\n onAddChild(\r\n parentNodeOfClickedNode?.id,\r\n parentNodeOfClickedNode?.data,\r\n parentNodeOfClickedNode?.data?.side || data?.side,\r\n currNode?.id\r\n );\r\n }\r\n\r\n return true; // Prevents default behavior of the Enter key\r\n },\r\n };\r\n },\r\n });\r\n\r\n const handleExtraButtonClick = (e) => {\r\n e.stopPropagation();\r\n const currNode = getNode(id);\r\n const parentNodeOfClickedNode = getNodes().find(\r\n (nd) => nd.id === currNode?.parentNode\r\n );\r\n\r\n // Handle adding a child to a non-root node\r\n onAddChild(\r\n parentNodeOfClickedNode?.id,\r\n parentNodeOfClickedNode?.data,\r\n parentNodeOfClickedNode?.data?.side || data?.side,\r\n currNode?.id\r\n );\r\n };\r\n\r\n const toggleCollapse = (e, side) => {\r\n e.stopPropagation();\r\n\r\n let updatedNodes = [];\r\n let updatedEdges = [];\r\n\r\n setNodes((prevNodes) => {\r\n const currNode = getNode(id);\r\n const isCollapsed =\r\n currNode?.data?.[`collapsed${capitalizeFirstChar(side)}`];\r\n\r\n const getChildNodes = (parentId) => {\r\n return prevNodes.filter(\r\n (nd) => nd.type === \"TreeView\" && nd.parentNode === parentId\r\n );\r\n };\r\n\r\n const getSameChildNodes = (parentId) => {\r\n return prevNodes.filter(\r\n (nd) =>\r\n nd.type === \"TreeView\" &&\r\n nd.parentNode === parentId &&\r\n nd.data.side === side\r\n );\r\n };\r\n\r\n const updateVisibility = (parentId, hidden) => {\r\n const childNodes =\r\n currNode?.data?.type === \"parent\"\r\n ? getSameChildNodes(parentId)\r\n : getChildNodes(parentId);\r\n\r\n childNodes.forEach((childNode) => {\r\n if (hidden) {\r\n if (!childNode.hidden) {\r\n // If hiding, set `hidden` and `hiddenBy`\r\n childNode.hidden = true;\r\n childNode.hiddenBy = id;\r\n }\r\n } else {\r\n // If unhiding, only unhide if it was hidden by the same parent\r\n if (childNode.hiddenBy === id) {\r\n childNode.hidden = false;\r\n delete childNode.hiddenBy;\r\n }\r\n }\r\n\r\n updateVisibility(childNode.id, hidden);\r\n });\r\n };\r\n\r\n updateVisibility(id, !isCollapsed);\r\n\r\n updatedNodes = prevNodes.map((node) =>\r\n node.id === id\r\n ? {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n [`collapsed${capitalizeFirstChar(side)}`]: !isCollapsed,\r\n },\r\n }\r\n : node\r\n );\r\n return updatedNodes;\r\n });\r\n\r\n setEdges((prevEdges) => {\r\n const isNodeHidden = (nodeId) =>\r\n getNodes().find((node) => node.id === nodeId)?.hidden;\r\n\r\n updatedEdges = prevEdges.map((edge) => ({\r\n ...edge,\r\n hidden: isNodeHidden(edge.source) || isNodeHidden(edge.target),\r\n }));\r\n return updatedEdges;\r\n });\r\n\r\n debouncedUpdateJson(updatedNodes, updatedEdges);\r\n debouncedUpdateTreeLayout();\r\n };\r\n\r\n const updateTreeLayout = useCallback(() => {\r\n const updatedNodes = getNodes().filter(\r\n (n) => n.data.rootParentId === data.rootParentId\r\n );\r\n const result = createTreeLayout(\r\n updatedNodes,\r\n data.rootParentId,\r\n data.addition\r\n );\r\n\r\n setNodes((nds) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: nds,\r\n // lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n\r\n const updatedNodes = nds.map((n) => {\r\n const matchingNode = result.nodes.find(\r\n (resNode) => resNode.id === n.id\r\n );\r\n return matchingNode ? { ...n, ...matchingNode } : n;\r\n });\r\n return updatedNodes;\r\n });\r\n }, [getNodes, setNodes, data.rootParentId, data.addition]);\r\n\r\n const debouncedUpdateTreeLayout = useCallback(\r\n debounce(updateTreeLayout, 100),\r\n [updateTreeLayout]\r\n );\r\n\r\n useEffect(() => {\r\n // Function to check and update width\r\n const checkDimensions = () => {\r\n if (nodeRef.current) {\r\n const currentWidth = nodeRef.current.offsetWidth;\r\n const currentHeight = nodeRef.current.offsetHeight;\r\n const nodeDragging = getNodes().some((n) => n.dragging);\r\n\r\n // Compare current width with stored width\r\n if (\r\n (currentWidth !== nodeSize.width ||\r\n currentHeight !== nodeSize.height) &&\r\n !openAIStatus &&\r\n !nodeDragging\r\n ) {\r\n if (data?.side === \"left\" && data?.type === \"child\") {\r\n setNodes((nds) => {\r\n return nds.map((n) => {\r\n if (n.id === id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n label: editor.getHTML(),\r\n },\r\n };\r\n }\r\n return n;\r\n });\r\n });\r\n setNodes((nds) => {\r\n const updatedNodes = nds.map((n) => {\r\n if (n.id === id) {\r\n return {\r\n ...n,\r\n data: {\r\n ...n.data,\r\n label: editor.getHTML(),\r\n },\r\n position: {\r\n ...n.position,\r\n x: -162 - (currentWidth || 114),\r\n },\r\n };\r\n }\r\n return n;\r\n });\r\n return updatedNodes;\r\n });\r\n }\r\n // Update the width state\r\n setNodeSize({ width: currentWidth, height: currentHeight });\r\n if (nodeSize.width > 115) {\r\n debouncedUpdateTreeLayout();\r\n }\r\n }\r\n }\r\n };\r\n\r\n // Use MutationObserver to detect changes in the div\r\n const observer = new MutationObserver(checkDimensions);\r\n\r\n if (nodeRef.current) {\r\n observer.observe(nodeRef.current, {\r\n childList: true, // Observe changes to children\r\n characterData: true, // Observe text changes\r\n subtree: true, // Observe changes in all descendants\r\n });\r\n\r\n // Initial width check\r\n checkDimensions();\r\n }\r\n\r\n // Cleanup observer\r\n return () => {\r\n observer.disconnect();\r\n };\r\n }, [nodeSize]);\r\n\r\n const editor = useEditor(\r\n {\r\n extensions: [...tipTapExtensions(\"Type something\"), EnterKeyHandler],\r\n content: node?.data?.label,\r\n onUpdate: ({ editor }) => {\r\n if (removeHTMLTags(oldLabelContent?.current) !== editor.getText()) {\r\n let updatedNodes = null;\r\n if (data?.side !== \"left\") {\r\n setNodes((prevNodes) => {\r\n updatedNodes = prevNodes.map((nd) => {\r\n if (nd.id === id) {\r\n return {\r\n ...nd,\r\n data: { ...nd.data, label: editor.getHTML() },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n }\r\n debouncedUpdateHTML(updatedNodes);\r\n }\r\n },\r\n onBlur: ({ editor }) => {\r\n takeSnapshot({ nodes: getNodes(), edges: null });\r\n },\r\n editorProps: {\r\n handlePaste: (view, event) => {\r\n const pastedContent = event.clipboardData.getData(\"text/plain\");\r\n try {\r\n JSON.parse(pastedContent);\r\n // If it's valid JSON, prevent paste\r\n return true;\r\n } catch (e) {\r\n // If it's not valid JSON, allow paste\r\n return false;\r\n }\r\n },\r\n },\r\n },\r\n [socketCount]\r\n );\r\n\r\n useEffect(() => {\r\n if (editor && editor?.getHTML() !== data?.label) {\r\n editor?.commands.setContent(data?.label);\r\n }\r\n }, [editor, data?.label]);\r\n\r\n const debouncedUpdateHTML = useMemo(() => {\r\n return debounce((updatedNodes) => {\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes ? updatedNodes : getNodes(),\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id: architectureId,\r\n dispatch,\r\n undo,\r\n // takeSnapshot,\r\n a_id,\r\n });\r\n }, 500);\r\n }, [id, getNodes, setNodes]);\r\n\r\n const onClickHandler = () => {\r\n setIsShowToolsPop(false);\r\n if (node?.selected) {\r\n editor?.setEditable(true);\r\n editor?.commands.focus();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const currentNodeDom = document.querySelector(`[data-id=\"${id}\"]`);\r\n if (!currentNodeDom || !editor) return;\r\n // if (node?.selected) {\r\n oldLabelContent.current = data?.label;\r\n // }\r\n\r\n const handleNodeKeyDown = (e) => {\r\n if (!node.selected) return; // Prevent typing if node is not selected\r\n const isValidKey = /^[a-zA-Z\\d~!@#$%^&*()_+\\-={}\\[\\]|\\\\:;\"'<>,.?/]$/.test(\r\n e.key\r\n );\r\n\r\n if (!editor.isFocused && isValidKey) {\r\n editor.setEditable(true); // Enable editing\r\n editor.commands.clearContent(); // Clear existing content\r\n editor.commands.focus(\"end\"); // Focus on the editor\r\n editor.commands.insertContent(e.key);\r\n }\r\n };\r\n\r\n if (node.selected && !editor?.isEditable && !editor?.isFocused) {\r\n currentNodeDom.addEventListener(\"keydown\", handleNodeKeyDown, {\r\n once: true,\r\n });\r\n }\r\n if (!node.selected) {\r\n currentNodeDom.removeEventListener(\"keydown\", handleNodeKeyDown);\r\n }\r\n return () => {\r\n currentNodeDom.removeEventListener(\"keydown\", handleNodeKeyDown);\r\n if (!node.selected) {\r\n editor.setEditable(false);\r\n }\r\n };\r\n }, [node.selected, editor, id]);\r\n\r\n useEffect(() => {\r\n if (socket) {\r\n socket.on(socketEvents.NODE_UPDATED, (data) => {\r\n const jsonData = data?.architecture_json;\r\n const currentNode = jsonData?.nodes?.find(\r\n (val) => val?.id === node?.id\r\n );\r\n if (jsonData?.lastUpdatedBy !== userData?.user_id) {\r\n editor?.commands.setContent(currentNode?.data?.label);\r\n setSocketCount((prev) => prev + 1);\r\n }\r\n });\r\n }\r\n }, [socket, node?.id, editor]);\r\n\r\n const getBackgroundColor = () => {\r\n if (data?.designType === \"first\") return \"transparent\";\r\n if (data?.designType === \"second\")\r\n return data.type === \"parent\"\r\n ? color?.primaryColor\r\n : `${convertToRgba(data?.edgeColor, 0.2) || \"rgba(25, 111, 242, 0.2)\"}`;\r\n if (data?.designType === \"third\")\r\n return data.type === \"parent\"\r\n ? \"#9863FD\"\r\n : `${convertToRgba(data?.edgeColor, 0.2) || \"rgb(217, 217, 217)\"}`;\r\n if (data?.designType === \"four\")\r\n return data.type === \"parent\" ? \"#0884EC\" : \"none\";\r\n if (data?.designType === \"five\")\r\n return data.type === \"parent\" ? \"#FFF\" : \"none\";\r\n if (data?.designType === \"six\")\r\n return data.type === \"parent\"\r\n ? \"#555CFD\"\r\n : `${data?.edgeColor || \"#555CFD\"}`;\r\n if (data?.designType === \"seven\") return \"#FFF\";\r\n if (data?.designType === \"eight\")\r\n return data.type === \"parent\"\r\n ? \"#FFF\"\r\n : `${convertToRgba(data?.edgeColor, 0.2) || \"rgb(0, 122, 255)\"}`;\r\n if (data?.designType === \"nine\")\r\n return data.type === \"parent\"\r\n ? color?.primaryColor\r\n : `${data?.edgeColor || color?.primaryColor}`;\r\n if (data?.designType === \"ten\")\r\n return data.type === \"parent\" ? \"#9D69FF\" : \"none\";\r\n return \"white\";\r\n };\r\n\r\n const getColorByType = (type, designType) => {\r\n const textAvailable = removeHTMLTags(node?.data?.label).trim().length > 0;\r\n const availablewTextColor = textAvailable ? \"#000\" : \"#a9a9a9\";\r\n\r\n const parentColorMap = {\r\n first: availablewTextColor,\r\n second: \"#FFF\",\r\n third: \"#FFF\",\r\n four: \"#FFF\",\r\n five: availablewTextColor,\r\n six: \"#FFF\",\r\n seven: availablewTextColor,\r\n eight: availablewTextColor,\r\n nine: \"#FFF\",\r\n ten: \"#FFF\",\r\n };\r\n const childColorMap = {\r\n first: availablewTextColor,\r\n second: textAvailable ? \"rgb(25, 112, 242)\" : \"cornflowerblue\",\r\n third: availablewTextColor,\r\n four: availablewTextColor,\r\n five: availablewTextColor,\r\n six: \"#FFF\",\r\n seven: availablewTextColor,\r\n eight: availablewTextColor,\r\n nine: \"#FFF\",\r\n ten: availablewTextColor,\r\n };\r\n\r\n return type === \"parent\"\r\n ? parentColorMap[designType]\r\n : childColorMap[designType];\r\n };\r\n\r\n return (\r\n \r\n \r\n {(data.type === \"parent\" || data.side === \"top\") &&\r\n data.addition === \"vertical\" &&\r\n !data?.collapsedTop &&\r\n !isNodeSelectionStarted && (\r\n {\r\n e.stopPropagation();\r\n onAddChild(id, data, \"top\");\r\n }}\r\n className=\"add-child-btn\"\r\n >\r\n \r\n \r\n )}\r\n {(data.type === \"parent\" || data.side === \"left\") &&\r\n data.addition === \"horizontal\" &&\r\n !data?.collapsedLeft &&\r\n !isNodeSelectionStarted && (\r\n {\r\n e.stopPropagation();\r\n onAddChild(id, data, \"left\");\r\n }}\r\n className=\"add-child-btn\"\r\n >\r\n \r\n \r\n )}\r\n {(data.type === \"parent\" || data.side === \"top\") &&\r\n data.addition === \"vertical\" &&\r\n countChildrenBySide(id, \"top\", getNodes()) > 0 &&\r\n !isNodeSelectionStarted && (\r\n toggleCollapse(e, \"top\")}\r\n className=\"add-child-btn\"\r\n >\r\n {data?.collapsedTop ? (\r\n \r\n {countChildrenBySide(id, \"top\", getNodes())}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n {(data.type === \"parent\" || data.side === \"left\") &&\r\n data.addition === \"horizontal\" &&\r\n countChildrenBySide(id, \"left\", getNodes()) > 0 &&\r\n !isNodeSelectionStarted && (\r\n toggleCollapse(e, \"left\")}\r\n className=\"add-child-btn\"\r\n >\r\n {data?.collapsedLeft ? (\r\n \r\n {countChildrenBySide(id, \"left\", getNodes())}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\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"],"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","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","updateTextStyles","_fontFamilyArr$find","currentStyles","getAttributes","isActive","textColor","highlightColor","fontFamily","getCurrentStyles","currentColor","currentHighlightColor","fontFamilyArr","find","font","family","name","on","off","findNodeById","nodeId","childrenKey","_node$data$childrenKe","length","found","handleExpandMindmap","async","_objectSpread","currentNode","n","mindmapNodes","filter","type","rootParentId","side","getChildrenKey","currentNodeToRootNodePath","currentNodeId","path","push","parentNode","findPathToRoot","map","label","shift","result","commanService","postApi","prompt","JSON","stringify","topic","parentContext","content_type","nodes","edges","MindmapGenerator","expand","payload","parentNodeId","designType","direction","GenAIResponse","CustomEvent","detail","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","_parsedData","updatedNodes","updatedEdges","allMindMapNodes","nd","_nd$data","addition","manuallyPositioned","childrenOrder","topChildrenOrder","bottomChildrenOrder","leftChildrenOrder","rightChildrenOrder","_nd$data2","positionedNodes","createTreeLayout","nds","setItem","architecture_json","lastEvent","matchingNode","resNode","prevEdges","ed","_ed$data","_ed$data2","isTreeView","sourceHandle","targetHandle","a_id","URLSearchParams","search","get","parsedData","parse","updateJson","json","lastUpdatedBy","user_id","debouncedUpdateJson","useCallback","debounce","_parsedData2","handleToggleLock","_parsedData3","_nd$data4","_nd$data5","_nd$data6","draggable","locked","deletable","handleNodeTypeChange","prev","_parsedData4","showBorder","borderType","border","borderStyle","radius","borderRadius","width","borderWidth","nodeStyle","handleChangeConnectionLineType","value","_parsedData5","_nd$data7","edgeType","_ed$data3","_ed$data4","_ed$markerEnd","_ed$markerEnd2","markerEnd","MarkerType","ArrowClosed","algorithm","Algorithm","BezierCatmullRom","handleFontSizeChange","action","currentFontSize","parseInt","match","newFontSize","chain","focus","setFontSize","concat","run","convertNodeToImage","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","removeChild","successToast","assignRootParentIds","assignToChildren","handleClickDuplicate","_parsedData7","_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","prevNodes","handleSendToBack","minZIndex","copyStyle","isColorPickerOpen","getElementById","isAnyInputFocused","isInputFocused","selectedNode","currNode","copiedStyle","TreeView","copyData","writeText","err","pasteStyle","clipboardStyle","clipboardText","readText","_parsedData8","borderColor","opacity","edgeColor","moreMenusData","mainLabel","shortCut","onClick","handleCreateFrame","allTreeViewNodes","_node$data9","minX","minY","maxY","frameNode","getId","variant","height","background","hide","isShadow","frameNo","frameName","exportNodeToCSV","_currNode$position","_currNode$position2","rows","join","row","removeHTMLTags","csvContent","Blob","link","createElement","URL","createObjectURL","setAttribute","visibility","click","_parsedData9","_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","_nd$data3","CustomNameTooltip","arrow","cursor","FrameBorderToolbar","Typography","IcNodeType2","IcNodeType3","IcNodeType1","IcNodeType4","IcConnectionLine1","IcConnectionLine2","IcConnectionLine3","IcConnectionLine4","IcConnectionLine5","_nd$data8","_nd$data8$nodeStyle","_ed$data5","_ed$data6","markerStart","stroke","handleBranchColorChange","flexDirection","IcEdgeColor","outline","CustomSwitch","checked","autoLayout","onChange","_parsedData6","_nd$data9","AdjustedNodes","handleAutoLayoutChange","fontWeight","from","to","state","selection","hasSelectedText","overflow","maxHeight","onWheelCapture","val","i","setFontFamily","px","whiteSpace","textOverflow","toString","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","setTimeout","current","onKeyDown","preventDefault","linkText","extractDomainName","setTextSelection","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","rightArrowIcons","subChild","subCI","IcMenuDotsVertical","TreeViewNode","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","getRandomRgbColor","getEdgeColor","applyEdgeColor","placeHolderColor","newNode","childNodeType","edgeAlgorithm","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","getHTML","observer","MutationObserver","observe","childList","characterData","subtree","disconnect","useEditor","extensions","tipTapExtensions","onUpdate","debouncedUpdateHTML","onBlur","_ref2","editorProps","handlePaste","view","pastedContent","clipboardData","getData","setContent","useMemo","currentNodeDom","handleNodeKeyDown","isValidKey","test","isFocused","setEditable","isEditable","addEventListener","once","removeEventListener","socketEvents","NODE_UPDATED","_jsonData$nodes","jsonData","_currentNode$data","getColorByType","textAvailable","availablewTextColor","first","second","third","four","five","six","seven","eight","nine","ten","className","convertToRgba","onClickHandler","collapsedTop","countChildrenBySide","IcAddRowCol","collapsedLeft","marginRight","IcMinusOutlined","TreeViewNodeToolbar","wordWrap","dangerouslySetInnerHTML","__html","EditorContent","onDoubleClick","bottom","collapsedBottom","collapsedRight","Handle","connectionMode","isConnectable","maxWidth","onConnect","params","onMouseOver","onMouseLeave","transformOrigin","memo","prevProps","nextProps","globalDragging"],"sourceRoot":""}