{"version":3,"file":"static/js/main-f540223c.366c3ca6.js","mappings":"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","sources":["Components/Node/Document/Components/TemplatesSelection.jsx","Components/Node/Document/Components/Extensions.js","Components/Node/Document/Components/CommandsList.jsx","Components/Node/Document/Components/CommandsSuggestion.js","Components/Node/Document/constant.js","Components/Node/Document/Components/DocumentLoadingSkeleton.jsx","Components/Node/Document/Components/ResizeControls.jsx","Components/Node/Document/Document.jsx","Components/Node/Document/index.js","Components/Node/ResizeLink.js"],"sourcesContent":["import { Box, Stack, Typography } from \"@mui/material\";\r\nimport { IcDocsOutlined } from \"../../../../assets/icon-components\";\r\n\r\nexport default function TemplatesSelection(props) {\r\n return (\r\n \r\n Choose a starting template\r\n \r\n \r\n {props.documentTemplatesData.map(template => props.handleCreateTemplate(template.prompt)}>\r\n \r\n {template.label}\r\n )}\r\n \r\n );\r\n}\r\n","import Suggestion from \"@tiptap/suggestion\"\r\nimport TiptapDocument from '@tiptap/extension-document'\r\nimport { Extension } from \"@tiptap/react\";\r\n\r\nexport const Commands = Extension.create({\r\n name: 'slashCommands',\r\n\r\n addOptions() {\r\n return {\r\n suggestion: {\r\n char: '/',\r\n command: ({ editor, range, props }) => {\r\n props.command({ editor, range })\r\n },\r\n },\r\n }\r\n },\r\n\r\n addProseMirrorPlugins() {\r\n return [\r\n Suggestion({\r\n editor: this.editor,\r\n ...this.options.suggestion,\r\n }),\r\n ]\r\n },\r\n})\r\n\r\nexport const CustomDocument = TiptapDocument.extend({\r\n content: 'heading paragraph block*',\r\n})\r\n\r\n","import { Stack, Typography } from \"@mui/material\"\r\nimport { forwardRef } from \"react\"\r\n\r\nexport default forwardRef((props, ref) => {\r\n return (\r\n \r\n {props.items.length\r\n ? props?.items?.map((item, index) => (\r\n props.command(item)}\r\n sx={{\r\n gap: \"10px\",\r\n padding: \"10px 20px\",\r\n borderRadius: \"8px\",\r\n cursor: 'pointer',\r\n \"&:hover\": {\r\n backgroundColor: \"#F5F5F5\",\r\n },\r\n }}\r\n >\r\n \r\n {item.title}\r\n \r\n ))\r\n : No result\r\n }\r\n \r\n )\r\n})","import { ReactRenderer } from \"@tiptap/react\";\r\nimport tippy from \"tippy.js\";\r\nimport CommandsList from \"./CommandsList\";\r\nimport { IcHeadingOne, IcHeadingThree, IcHeadingTwo, IcListOutlined, IcNumberListOutlined, IcPlainText } from \"../../../../assets/icon-components\";\r\n\r\nconst CommandsSuggestion = {\r\n items: ({ query }) => {\r\n return [\r\n {\r\n title: \"Plain Text\",\r\n icon: IcPlainText,\r\n command: ({ editor, range }) => {\r\n editor\r\n .chain()\r\n .focus()\r\n .deleteRange(range)\r\n .setParagraph()\r\n .run();\r\n }\r\n },\r\n {\r\n title: \"H1\",\r\n icon: IcHeadingOne,\r\n command: ({ editor, range }) => {\r\n editor\r\n .chain()\r\n .focus()\r\n .deleteRange(range)\r\n .setNode('heading', { level: 1 })\r\n .run();\r\n }\r\n },\r\n {\r\n title: \"H2\",\r\n icon: IcHeadingTwo,\r\n command: ({ editor, range }) => {\r\n editor\r\n .chain()\r\n .focus('end')\r\n .deleteRange(range)\r\n .setNode(\"heading\", { level: 2 })\r\n .run();\r\n }\r\n },\r\n {\r\n title: \"H3\",\r\n icon: IcHeadingThree,\r\n command: ({ editor, range }) => {\r\n editor\r\n .chain()\r\n .focus()\r\n .deleteRange(range)\r\n .setNode(\"heading\", { level: 3 })\r\n .run();\r\n }\r\n },\r\n {\r\n title: \"Numbered List\",\r\n icon: IcNumberListOutlined,\r\n command: ({ editor, range }) => {\r\n editor\r\n .chain()\r\n .focus()\r\n .deleteRange(range)\r\n .toggleOrderedList()\r\n .run();\r\n }\r\n },\r\n {\r\n title: \"Bullet List\",\r\n icon: IcListOutlined,\r\n command: ({ editor, range }) => {\r\n editor\r\n .chain()\r\n .focus()\r\n .deleteRange(range)\r\n .toggleBulletList()\r\n .run();\r\n\r\n }\r\n }\r\n ]\r\n },\r\n\r\n render: () => {\r\n let component\r\n let popup\r\n\r\n return {\r\n onStart: props => {\r\n component = new ReactRenderer(CommandsList, {\r\n props,\r\n editor: props.editor,\r\n })\r\n\r\n if (!props.clientRect) {\r\n return\r\n }\r\n\r\n popup = tippy('body', {\r\n getReferenceClientRect: props.clientRect,\r\n appendTo: () => document.body,\r\n content: component.element,\r\n showOnCreate: true,\r\n interactive: true,\r\n trigger: 'manual',\r\n placement: 'bottom-start',\r\n })\r\n },\r\n\r\n onUpdate(props) {\r\n component.updateProps(props)\r\n\r\n if (!props.clientRect) {\r\n return\r\n }\r\n\r\n popup[0].setProps({\r\n getReferenceClientRect: props.clientRect,\r\n })\r\n },\r\n\r\n onKeyDown(props) {\r\n if (props.event.key === 'Escape') {\r\n popup[0].hide()\r\n\r\n return true\r\n }\r\n\r\n return component.ref?.onKeyDown(props)\r\n },\r\n\r\n onExit() {\r\n popup[0].destroy()\r\n component.destroy()\r\n },\r\n }\r\n },\r\n}\r\n\r\nexport default CommandsSuggestion;","import Placeholder from \"@tiptap/extension-placeholder\";\r\nimport Color from \"@tiptap/extension-color\";\r\nimport TextStyle from \"@tiptap/extension-text-style\";\r\nimport StarterKit from \"@tiptap/starter-kit\";\r\nimport Underline from \"@tiptap/extension-underline\";\r\nimport Highlight from \"@tiptap/extension-highlight\";\r\nimport TextAlign from \"@tiptap/extension-text-align\";\r\nimport FontFamily from \"@tiptap/extension-font-family\";\r\nimport Link from \"@tiptap/extension-link\";\r\nimport FontSize from \"../../DrawBoard/tip-tap-editor/fontSize\";\r\nimport ListItem from \"@tiptap/extension-list-item\";\r\nimport { Commands, CustomDocument } from \"./Components/Extensions\";\r\nimport CommandsSuggestion from \"./Components/CommandsSuggestion\";\r\n\r\nexport const documentTemplatesData = [\r\n {\r\n label: \"Retrospective Summary\",\r\n key: \"retrospective\",\r\n prompt: \"Create a retrospective summary document that includes a discussion summary, highlights of what went well, areas for improvement, ideas for improvement, key outcomes, action items, and open questions.\"\r\n },\r\n {\r\n label: \"Product Brief\",\r\n key: \"product_brief\",\r\n prompt: \"Create a comprehensive product brief for a VR headset aimed at solving key problems identified from user feedback and data analysis, including an executive summary, problem statement, importance of solving the problem now, data points, opportunity, risks, target audience, definition of done, and success metrics/OKRs.\"\r\n },\r\n // {\r\n // label: \"Research Synthesis\",\r\n // key: \"research_synthesis\",\r\n // prompt: \"Create a research synthesis document for a new VR headset product that includes the title, goal of the study, key insights with supporting evidence, actionable recommendations with prioritization, and open questions with a note on why these questions are important.\"\r\n // },\r\n {\r\n label: \"Meeting Notes\",\r\n key: \"meeting_notes\",\r\n prompt: \"Create detailed meeting notes that include the meeting agenda, decisions taken, and action items with descriptions, assignees, and due dates.\"\r\n }];\r\n\r\nexport const DocumentEditorExtensions = [\r\n CustomDocument,\r\n Color.configure({ types: [TextStyle.name, ListItem.name] }),\r\n TextStyle.configure({ types: [ListItem.name] }),\r\n Commands.configure({ suggestion: CommandsSuggestion }),\r\n StarterKit.configure({\r\n bulletList: {\r\n keepMarks: true,\r\n keepAttributes: false, // TODO : Making this as `false` because marks are not preserved when I try to preserve attrs, awaiting a bit of help\r\n },\r\n orderedList: {\r\n keepMarks: true,\r\n keepAttributes: false, // TODO : Making this as `false` because marks are not preserved when I try to preserve attrs, awaiting a bit of help\r\n },\r\n document: false,\r\n }),\r\n Underline.configure(),\r\n Highlight.configure({\r\n multicolor: true,\r\n }),\r\n TextAlign.configure({\r\n types: [\"heading\", \"paragraph\", \"left\", \"center\", \"right\", \"justify\"],\r\n }),\r\n FontSize.configure(),\r\n FontFamily.configure({\r\n types: [\"textStyle\"],\r\n }),\r\n Link.configure({\r\n openOnClick: true,\r\n linkOnPaste: false,\r\n }),\r\n Placeholder.configure({\r\n placeholder: ({ pos, editor }) => {\r\n const editorHasContent = editor?.getText()?.trim()?.length\r\n if (pos === 0 && !editorHasContent) return \"Heading\";\r\n if (pos === 2 && !editorHasContent) return \"Press '/' for options or start writing\";\r\n return \"\"; // No placeholder for other nodes\r\n // return \"Press '/' for options or start writing\"\r\n },\r\n emptyEditorClass: 'is-empty',\r\n emptyNodeClass: 'is-empty',\r\n showOnlyCurrent: false,\r\n considerAnyAsEmpty: true,\r\n }),\r\n]","import { Skeleton, Stack } from \"@mui/material\";\r\n\r\nexport default function DocumentLoadingSkeleton({ loading = false }) {\r\n if (!loading) return null;\r\n return (\r\n \r\n \r\n \r\n );\r\n}","import React, { forwardRef, useEffect, useMemo, useRef } from 'react'\r\nimport { NodeResizeControl, useReactFlow, useStore, useStoreApi } from 'reactflow'\r\nimport { updateJson } from '../../../../CommanFunctions/commanFunctions';\r\nimport { useLocation, useParams } from 'react-router-dom';\r\nimport { Box } from '@mui/material';\r\nimport { useUndoRedo } from '../../../DrawBoard/dndUndoRedo/UndoRedoProvider';\r\nimport { getNodePositionInsideParent } from '../../../../Utils/grouping-utils';\r\nimport { useDispatch } from 'react-redux';\r\nimport { color } from '../../../../Utils/style/color/color';\r\n\r\nconst ResizeControls = forwardRef(({ node, isNodeSelectionStarted }, ref) => {\r\n const location = useLocation();\r\n const { setNodes, getIntersectingNodes } = useReactFlow();\r\n\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const zoomPercentages = useRef(100);\r\n const store = useStoreApi();\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n const zoom = useStore((state) =>\r\n node?.selected && !isNodeSelectionStarted ? state?.transform?.[2] : 1\r\n );\r\n useEffect(() => {\r\n if (ref.current && !isNodeSelectionStarted) {\r\n zoomPercentages.current = zoom * 100;\r\n }\r\n }, [zoom]);\r\n\r\n const isWidthLessthan25 = zoomPercentages <= 25;\r\n const isWidthLessthan50 = 25 < zoomPercentages && zoomPercentages <= 50;\r\n const isWidthLessthan100 = 50 < zoomPercentages && zoomPercentages <= 100\r\n\r\n const onResizeEnd = (event, node) => {\r\n let updatedNodes = [];\r\n const updatedNode = [];\r\n let parsedData = {};\r\n const user_data = localStorage.getItem(\"user_data\");\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n setNodes((prev) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: prev,\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n // Update the resized node\r\n updatedNodes = prev?.map((_) => {\r\n if (_?.id === node?.id) {\r\n _ = JSON.parse(JSON.stringify(_));\r\n _.style.width = Number(ref?.current?.offsetWidth || 0);\r\n _.style.height = Number(ref?.current?.offsetHeight || 0);\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\r\n // Check for intersections and handle node placement\r\n updatedNodes = updatedNodes?.map((n) => {\r\n const intersections = getIntersectingNodes(node, false);\r\n\r\n let groupNode = null;\r\n if (intersections?.length > 0) {\r\n groupNode = intersections[intersections?.length - 1];\r\n }\r\n\r\n if (\r\n node.type !== \"group\" &&\r\n node?.parentNode &&\r\n node?.parentNode === groupNode?.id\r\n ) {\r\n // node drop in in same Group\r\n return n; // do nothing but do not delete\r\n } else if (\r\n intersections.length &&\r\n node?.parentNode !== groupNode?.id &&\r\n !node?.parentNode\r\n ) {\r\n /**.NODE DROP IN GROUP*/\r\n if (n.id === groupNode.id) {\r\n updatedNode.push({\r\n ...n,\r\n className: \"\",\r\n });\r\n return {\r\n ...n,\r\n className: \"\",\r\n };\r\n } else if (n.id === node.id && !n?.parentNode) {\r\n const position = getNodePositionInsideParent(n, groupNode) ?? {\r\n x: 0,\r\n y: 0,\r\n };\r\n updatedNode.push({\r\n ...n,\r\n position,\r\n parentNode: groupNode.id,\r\n // extent: 'parent',\r\n });\r\n return {\r\n ...n,\r\n position,\r\n parentNode: groupNode.id,\r\n // extent: 'parent',\r\n };\r\n } else return n;\r\n } else if (\r\n // node.type !== \"group\" &&\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n !groupNode\r\n ) {\r\n /** NODE DROP OUTSIDE */\r\n if ([node?.id].includes(n.id) && node?.parentNode) {\r\n const parentNode = store\r\n .getState()\r\n ?.nodeInternals?.get(node?.parentNode);\r\n if (parentNode) {\r\n let tempNode = {\r\n ...n,\r\n position: {\r\n x: n.position.x + (parentNode?.positionAbsolute?.x ?? 0),\r\n y: n.position.y + (parentNode?.positionAbsolute?.y ?? 0),\r\n },\r\n expandParent: undefined,\r\n parentNode: undefined,\r\n };\r\n updatedNode.push(tempNode);\r\n return tempNode;\r\n } else {\r\n return n;\r\n }\r\n } else {\r\n return n;\r\n }\r\n } else if (\r\n // node.type !== \"group\" &&\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n groupNode\r\n ) {\r\n /** NODE DIRECTLY DROP IN TO ONE GROUP TO ANOTHER GROUP*/\r\n if (n?.id === node?.id) {\r\n n = structuredClone(n);\r\n n.parentNode = groupNode?.id;\r\n n.position = {\r\n x:\r\n (node?.positionAbsolute?.x || 0) -\r\n (groupNode?.positionAbsolute?.x || 0),\r\n y:\r\n (node?.positionAbsolute?.y || 0) -\r\n (groupNode?.positionAbsolute?.y || 0),\r\n };\r\n updatedNode.push(n);\r\n return n;\r\n } else return n;\r\n } else {\r\n if (n?.type === \"group\") {\r\n // n.dragging = false;\r\n }\r\n return n; // DO NOTHING\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n\r\n // Call updateJson once\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 lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: `editor_changed_${node?.id}`,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n onResizeEnd(e, node)}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n >\r\n \r\n \r\n onResizeEnd(e, node)}\r\n >\r\n \r\n \r\n\r\n \r\n )\r\n})\r\n\r\nexport default React.memo(ResizeControls)","import \"./Document.scss\";\r\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { useReactFlow } from \"reactflow\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { EditorContent, useEditor } from \"@tiptap/react\";\r\nimport MindMapNodesToolbar from \"../common-components/nodeTopToolbar/MindMapNodesToolbar/MindMapNodesToolbar\";\r\nimport {\r\n debounce,\r\n removeHTMLTags,\r\n updateJson,\r\n} from \"../../../CommanFunctions/commanFunctions\";\r\n\r\nimport commanService from \"../../../CommanFunctions/commanService\";\r\nimport { omit } from \"lodash\";\r\nimport { useUndoRedo } from \"../../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\n\r\nimport TemplatesSelection from \"./Components/TemplatesSelection\";\r\nimport { DocumentEditorExtensions, documentTemplatesData } from \"./constant\";\r\nimport DocumentLoadingSkeleton from \"./Components/DocumentLoadingSkeleton\";\r\nimport ResizeControls from \"./Components/ResizeControls\";\r\nimport useNodeSelectionStarted from \"../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport clsx from \"clsx\";\r\nimport { errorToast } from \"../../../Redux/toastSlice\";\r\nimport CommandsSuggestion from \"./Components/CommandsSuggestion\";\r\nimport { Commands } from \"./Components/Extensions\";\r\nimport {color} from \"../../../Utils/style/color/color\";\r\n\r\nconst Document = (node) => {\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const { permission, showExport, copyAsImage } = useSelector(\r\n (state) => state?.mindMapStore\r\n );\r\n\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n const { setNodes, getNodes, getNode } = useReactFlow();\r\n\r\n const mainRef = useRef(null);\r\n const { id } = useParams();\r\n const userRowData = localStorage.getItem(\"user_data\");\r\n const userData = userRowData ? JSON.parse(userRowData) : {};\r\n\r\n const currentNode = getNode(node?.id);\r\n const { undo } = useUndoRedo();\r\n\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [tempFontSize, setTempFontSize] = useState(\r\n node?.data?.lastFontSize || \"10px\"\r\n );\r\n\r\n const selectedNodes = getNodes()?.filter((val) => val?.selected)?.length;\r\n\r\n const isMultiNodeSelected = selectedNodes > 1;\r\n\r\n const handleEditorCreateEvent = ({ editor }) => {\r\n if (!editor?.getText()?.trim()?.length) {\r\n editor.setEditable(true);\r\n editor.commands.focus();\r\n }\r\n };\r\n\r\n const handleEditorUpdateEvent = ({ editor }) => {\r\n debouncedUpdateHTML(editor?.getHTML());\r\n };\r\n\r\n const editor = useEditor({\r\n extensions: DocumentEditorExtensions,\r\n content: node?.data?.isInitialContent ? \"\" : node?.data?.editorHTML,\r\n autofocus: false,\r\n editable: false,\r\n onUpdate: handleEditorUpdateEvent,\r\n onCreate: handleEditorCreateEvent,\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\r\n const debouncedUpdateHTML = useMemo(\r\n () =>\r\n debounce((value, lastFontSize) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n let updatedNode;\r\n const prev = getNodes()?.map((_) => {\r\n if (_?.id === node?.id) {\r\n _ = JSON.parse(JSON.stringify(_));\r\n _.data = {\r\n ...(_?.data || {}),\r\n editorHTML: value,\r\n ...(lastFontSize && { lastFontSize }),\r\n };\r\n\r\n updatedNode = _;\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n setNodes(prev);\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: prev,\r\n lastUpdatedBy: userData?.user_id,\r\n lastEvent: `editor_changed_${node?.id}`,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n });\r\n }, 500),\r\n [id, dispatch, undo, location.search]\r\n );\r\n\r\n const [typing, setTyping] = useState(node?.data?.isAiGenerated);\r\n\r\n const removeInitialContentFlag = (nodeId) => {\r\n const search = new URLSearchParams(location.search);\r\n const a_id = search.get(\"a_id\");\r\n\r\n const updatedNodes = getNodes().map((n) => {\r\n if (n.id === nodeId) {\r\n return {\r\n ...n,\r\n data: omit(n?.data, \"isInitialContent\"),\r\n };\r\n }\r\n return n;\r\n });\r\n\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n // lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n\r\n updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n lastUpdatedBy: userData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n should_delete: updatedNodes?.length === 0,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!typing && !editor && !node?.data?.editorHTML) return;\r\n if (\r\n typing &&\r\n node?.data?.isInitialContent &&\r\n node?.data?.isAiGenerated &&\r\n editor\r\n ) {\r\n editor?.commands?.clearContent();\r\n let index = 0;\r\n let timeout = null;\r\n const textInsertDelay = 20;\r\n const textContent = node?.data?.editorHTML?.split(\" \");\r\n const typeText = () => {\r\n if (index < textContent.length) {\r\n editor\r\n ?.chain()\r\n ?.insertContent(textContent[index] + \" \")\r\n ?.run();\r\n index++;\r\n timeout = setTimeout(typeText, textInsertDelay);\r\n } else {\r\n editor?.commands?.setContent(node?.data?.editorHTML);\r\n clearTimeout(timeout);\r\n setTyping(false);\r\n setTimeout(() => {\r\n removeInitialContentFlag(node?.id);\r\n }, 3000);\r\n }\r\n };\r\n typeText();\r\n }\r\n }, [editor]);\r\n\r\n const handleCreateTemplate = async (prompt) => {\r\n try {\r\n setLoading(true);\r\n let openAIResponse = await commanService.openAIApi(\r\n prompt,\r\n \"document_summary\",\r\n false\r\n );\r\n\r\n let response = openAIResponse.data.data;\r\n\r\n const parser = new DOMParser();\r\n\r\n // Parse the HTML string into a Document object\r\n const doc = parser.parseFromString(response, \"text/html\");\r\n\r\n // Extract the content inside and <body>\r\n const body = doc.querySelector(\"body\") ? doc.querySelector(\"body\") : \"\";\r\n\r\n const documentContent = body.innerHTML.toString();\r\n\r\n setLoading(false);\r\n\r\n let index = 0;\r\n let timeout = null;\r\n const textInsertDelay = 10;\r\n const textContent = documentContent?.split(\" \");\r\n const typeText = () => {\r\n if (index < textContent.length) {\r\n editor\r\n ?.chain()\r\n ?.insertContent(textContent[index] + \" \")\r\n ?.run();\r\n index++;\r\n timeout = setTimeout(typeText, textInsertDelay);\r\n } else {\r\n clearTimeout(timeout);\r\n editor?.commands?.setContent(documentContent, true);\r\n }\r\n };\r\n typeText();\r\n } catch (error) {\r\n let message = error.message ?? \"Something went wrong. Please try again.\";\r\n if (process.env.REACT_APP_ENVIRONMENT === \"production\") {\r\n message = \"I'm sorry, but I can't assist with that. Please try again.\";\r\n } else if (error?.name === \"AxiosError\") {\r\n message = error?.response?.data?.message;\r\n }\r\n setLoading(false);\r\n dispatch(\r\n errorToast({\r\n message: message,\r\n })\r\n );\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const clickCount = useRef(0);\r\n\r\n useEffect(() => {\r\n if (node.data.locked) return;\r\n if (!editor) return;\r\n if (!currentNode.selected) {\r\n editor.setEditable(false);\r\n clickCount.current = 0;\r\n window.getSelection().empty();\r\n }\r\n }, [currentNode.selected, editor]);\r\n\r\n const handleSingleClick = () => {\r\n if (node.data.locked) return;\r\n if (editor.isEditable && editor.isFocused) return;\r\n if (!node.selected) return;\r\n editor.setEditable(true);\r\n if (!editor.isFocused) {\r\n editor.commands.focus(\"end\");\r\n }\r\n };\r\n\r\n const handleDoubleClick = () => {\r\n if (node.data.locked) return;\r\n editor.setEditable(true);\r\n editor.commands.selectAll();\r\n };\r\n\r\n const stopEventPropagation = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n };\r\n\r\n const editorHasContent = editor?.getText()?.trim()?.length;\r\n\r\n useEffect(() => {\r\n if (node.data.locked && editor) editor.setEditable(false);\r\n }, [node.data.locked, editor]);\r\n\r\n const shouldShowPlaceholder =\r\n !editor?.isEditable && !editor?.isFocused && !editor?.getText()?.trim();\r\n\r\n return (\r\n <>\r\n <div\r\n ref={mainRef}\r\n style={{\r\n height: \"100%\",\r\n width: \"100%\",\r\n position: \"relative\",\r\n zIndex: 9999999999999,\r\n pointerEvents: permission === \"can_edit\" ? \"all\" : \"none\",\r\n ...(node?.data?.style?.borderRadius === \"8px\" && {\r\n borderRadius: \"8px\",\r\n }),\r\n cursor: \"move\",\r\n ...omit(node?.data?.style, [\r\n \"borderStyle\",\r\n \"width\",\r\n \"background\",\r\n \"backgroundColor\",\r\n \"border\",\r\n ]),\r\n backgroundColor:\r\n node?.data?.style?.background &&\r\n node?.data?.style?.background !== \"transparent\"\r\n ? node?.data?.style?.background\r\n : \"#FFFFFF\",\r\n alignItems: node?.data?.style?.alignItems,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n padding: \"15px\",\r\n border:\r\n node.selected && !showExport && !copyAsImage\r\n ? `1px solid ${color?.primaryColor}`\r\n : \"1px solid transparent\",\r\n borderRadius: \"10px\",\r\n boxShadow:\r\n \"0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.1)\",\r\n }}\r\n className={clsx(\r\n \"StickyNoteEditor\",\r\n \"StickyNoteEditor-textArea\",\r\n \"texteditor\",\r\n \"Commonfonts\",\r\n {\r\n \"selection-none\": !node?.selected,\r\n nodrag: node?.data?.data?.locked,\r\n }\r\n )}\r\n onClick={handleSingleClick}\r\n onDoubleClick={handleDoubleClick}\r\n >\r\n {typing && <div className=\"border-animation\"></div>}\r\n {!node?.data?.locked &&\r\n node?.selected &&\r\n !showExport &&\r\n !copyAsImage &&\r\n !isNodeSelectionStarted && (\r\n <ResizeControls\r\n ref={mainRef}\r\n node={node}\r\n isNodeSelectionStarted={isNodeSelectionStarted}\r\n />\r\n )}\r\n\r\n <DocumentLoadingSkeleton loading={loading} />\r\n\r\n {node?.selected &&\r\n !isNodeSelectionStarted &&\r\n !isMultiNodeSelected &&\r\n !node.dragging && (\r\n <MindMapNodesToolbar\r\n editor={editor}\r\n node={node}\r\n updateFontSize={setTempFontSize}\r\n currFontSize={tempFontSize}\r\n simpleRef={mainRef}\r\n />\r\n )}\r\n\r\n {shouldShowPlaceholder && (\r\n <div className=\"documentPlaceholder\">\r\n <h1>Heading</h1>\r\n <p>Press '/' for options or start writing</p>\r\n </div>\r\n )}\r\n\r\n <EditorContent\r\n editor={editor}\r\n id={`tiptap-${node?.id}`}\r\n className={`Commonfonts documentEditor ${node?.data?.className}`}\r\n style={{\r\n cursor: editor?.isEditable ? \"text\" : \"grab\",\r\n width: \"100%\",\r\n pointerEvents: editor?.isFocused ? \"auto\" : \"none\",\r\n padding: \"0px 10px\",\r\n visibility: loading ? \"hidden\" : \"visible\",\r\n }}\r\n onClick={stopEventPropagation}\r\n onDoubleClick={stopEventPropagation}\r\n />\r\n\r\n {!loading && !editorHasContent && (\r\n <TemplatesSelection\r\n documentTemplatesData={documentTemplatesData}\r\n handleCreateTemplate={handleCreateTemplate}\r\n />\r\n )}\r\n </div>\r\n </>\r\n );\r\n};\r\n\r\nexport default React.memo(Document, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import Document from './Document';\r\n\r\nexport default Document;","import React, { memo, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport {\r\n Box,\r\n Stack,\r\n IconButton,\r\n Typography,\r\n CircularProgress,\r\n} from \"@mui/material\";\r\nimport {\r\n IcCardView,\r\n IcEditlink,\r\n IcInfoOutlined,\r\n IcLinkOutlined3,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n IcNetwork,\r\n IcPreview,\r\n IcRedirectTo,\r\n IcSettingsOutlined,\r\n IcTextView,\r\n} from \"../../assets/icon-components\";\r\nimport { CustomTooltip } from \"../DrawBoard/top-toolbar/components/CustomTooltip\";\r\nimport {\r\n Position,\r\n NodeToolbar,\r\n useReactFlow,\r\n NodeResizeControl,\r\n useStore,\r\n NodeResizer,\r\n} from \"reactflow\";\r\nimport { CustomNameTooltip } from \"../DrawBoard/top-toolbar/components/CustomTooltip\";\r\nimport FrameMoreMenus from \"./frameNode/FrameMoreMenus\";\r\nimport SimpleCheckBox from \"../../common-components/SimpleCheckBox\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { updateJson, validateUrl } from \"../../CommanFunctions/commanFunctions\";\r\nimport { useUndoRedo } from \"../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\nimport { useSocketContext } from \"../../Utils/hooks/useSocketContext\";\r\nimport { socketEvents } from \"../DrawBoard/const\";\r\nimport ToolTipWithDisabled from \"../DrawBoard/top-toolbar/components/ToolTipWithDisabled\";\r\nimport { useSelector } from \"react-redux\";\r\nimport useNodeSelectionStarted from \"../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { color } from \"../../Utils/style/color/color\";\r\n\r\nfunction ResizeLink(node) {\r\n const { showExport, copyAsImage } = useSelector(\r\n (state) => state?.mindMapStore\r\n );\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n const { setNodes, getNodes, getNode } = useReactFlow();\r\n const mainRef = useRef(null);\r\n const cardRef = useRef(null);\r\n const editRef = useRef(null);\r\n const [error, setError] = useState(\"\");\r\n const [edit, setEdit] = useState(false);\r\n const currNode = getNode(node.id);\r\n const [showLinkMoreOptions, setShowLinkMoreOptions] = useState(false);\r\n const [showEditLink, setShowEditLink] = useState(false);\r\n const [showCardSettings, setShowCardSettings] = useState(false);\r\n const [zoomPercentages, setZoomPercentages] = useState(100);\r\n const [loading, setLoading] = useState(false);\r\n const [previewLoading, setPreviewLoading] = useState(false);\r\n const [isCapturing, setIsCapturing] = useState(false);\r\n const location = useLocation();\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const clickTimeout = useRef(null);\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const user_data = localStorage.getItem(\"user_data\");\r\n const inputRef = useRef(null);\r\n const main = useRef(null);\r\n const { socket } = useSocketContext();\r\n const userRowData = localStorage.getItem(\"user_data\");\r\n const userData = userRowData ? JSON.parse(userRowData) : {};\r\n\r\n const handleIsCapturing = (toggleCapture) => {\r\n setIsCapturing(toggleCapture);\r\n };\r\n const onResizeEnd = () => {\r\n let updatedNodes = [];\r\n\r\n setNodes((prev) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: prev,\r\n lastUpdatedBy: userData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n\r\n const newWidth = Number(mainRef?.current?.offsetWidth || 100);\r\n const newHeight = Number(mainRef?.current?.offsetHeight || 100);\r\n\r\n updatedNodes = prev?.map((_) => {\r\n if (_?.id === node?.id) {\r\n _ = JSON.parse(JSON.stringify(_));\r\n _.style.width = newWidth;\r\n _.style.height = newHeight;\r\n\r\n _.data.width = newWidth;\r\n _.data.height = newHeight;\r\n\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n\r\n // Call updateJson once\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,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setNodes((nodes) =>\r\n nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n nd = JSON.parse(JSON.stringify(nd));\r\n nd.style.width = Number(mainRef?.current?.offsetWidth || 300);\r\n nd.style.height = Number(mainRef?.current?.offsetHeight || 280);\r\n\r\n return {\r\n ...nd,\r\n };\r\n }\r\n return nd;\r\n })\r\n );\r\n }, [mainRef]);\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n if (node?.data?.previewType !== \"normal\") {\r\n setNodes((nodes) =>\r\n nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n nd = JSON.parse(JSON.stringify(nd));\r\n nd.style.width = Number(mainRef?.current?.offsetWidth || 300);\r\n nd.style.height = Number(mainRef?.current?.offsetHeight || 280);\r\n\r\n return {\r\n ...nd,\r\n };\r\n }\r\n return nd;\r\n })\r\n );\r\n }\r\n }, 300);\r\n return () => clearTimeout(timeout);\r\n }, [mainRef, node?.data?.previewType]);\r\n\r\n function isImgUrl(url) {\r\n const img = new Image();\r\n img.src = url;\r\n return new Promise((resolve) => {\r\n img.onload = () => resolve(true);\r\n img.onerror = () => resolve(false);\r\n });\r\n }\r\n\r\n const handleEditClick = () => {\r\n setShowEditLink(true);\r\n setEdit(true);\r\n setTimeout(() => {\r\n inputRef.current?.focus();\r\n inputRef.current.select();\r\n }, 0);\r\n };\r\n\r\n const toggleLockUnlock = () => {\r\n let updatedNodes = getNodes();\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n let updatedNode;\r\n setNodes((nodes) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes,\r\n lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n updatedNodes = nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n updatedNode = {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n locked: !nd?.data?.locked,\r\n data: {\r\n ...(nd?.data?.data || {}),\r\n locked: !nd?.data?.data?.locked,\r\n },\r\n },\r\n };\r\n return updatedNode;\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\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 lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n takeSnapshot,\r\n });\r\n };\r\n\r\n const fetchMetaData = async (url) => {\r\n try {\r\n const response = await fetch(\r\n `https://api.linkpreview.net/?key=6e9053758e090b83d6a9d42e2c742113&q=${url}`\r\n );\r\n const data = await response.json();\r\n let imageRes = false;\r\n\r\n if (data.image) {\r\n imageRes = await isImgUrl(data.image);\r\n }\r\n\r\n const baseUrl = new URL(url).origin;\r\n const faviconUrl = `${baseUrl}/favicon.ico`;\r\n const isFaviconValid = await isImgUrl(faviconUrl);\r\n\r\n return {\r\n title: data?.title || \"Unable to Obtain Website Title\",\r\n description:\r\n data?.description === \"Invalid response status code (403)\"\r\n ? \"Unable to get website description information\"\r\n : data?.description,\r\n image: imageRes ? data?.image : \"\",\r\n favicon: isFaviconValid ? faviconUrl : data?.image, // Use verified favicon URL\r\n };\r\n } catch (error) {\r\n console.error(\"Error fetching metadata:\", error);\r\n return {\r\n title: \"Error\",\r\n description: \"Unable to fetch metadata\",\r\n image: \"\",\r\n favicon: \"\",\r\n };\r\n }\r\n };\r\n\r\n const handleFetchMetaData = async (e) => {\r\n e.stopPropagation();\r\n setLoading(true);\r\n if (e.key === \"Enter\") {\r\n const finalUrl = node?.data?.url.includes(\"http\")\r\n ? node?.data?.url\r\n : `https://${node?.data?.url}`;\r\n if (finalUrl && validateUrl(finalUrl)) {\r\n try {\r\n setError(\"\");\r\n const data = await fetchMetaData(finalUrl);\r\n\r\n let updatedNodes = [];\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n\r\n setNodes((prev) => {\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: prev,\r\n lastUpdatedBy: parsedData?.user_id,\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n\r\n updatedNodes = prev?.map((_) => {\r\n if (_?.id === node?.id) {\r\n _ = JSON.parse(JSON.stringify(_));\r\n _.data.metaData = data;\r\n _.style.width =\r\n node?.data?.previewType === \"text\"\r\n ? Number(_.data.textViewRation.width || 400)\r\n : Number(_.data.cardViewRatio.width || 390);\r\n _.style.height =\r\n node?.data?.previewType === \"text\"\r\n ? Number(_.data.textViewRation.height || 30)\r\n : Number(_.data.cardViewRatio.height || 460);\r\n\r\n _.data.style.width =\r\n node?.data?.previewType === \"text\"\r\n ? Number(_.data.textViewRation.width || 400)\r\n : Number(_.data.cardViewRatio.width || 390);\r\n _.data.style.height =\r\n node?.data?.previewType === \"text\"\r\n ? Number(_.data.textViewRation.height || 30)\r\n : Number(_.data.cardViewRatio.height || 460);\r\n\r\n _.data.width =\r\n node?.data?.previewType === \"text\"\r\n ? Number(_.data.textViewRation.width || 400)\r\n : Number(_.data.cardViewRatio.width || 390);\r\n _.data.height =\r\n node?.data?.previewType === \"text\"\r\n ? Number(_.data.textViewRation.height || 30)\r\n : Number(_.data.cardViewRatio.height || 460);\r\n\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n // ! new one\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 lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\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 setTimeout(() => {\r\n setNodes((nodes) =>\r\n nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n nd = JSON.parse(JSON.stringify(nd));\r\n nd.style.width = Number(mainRef?.current?.offsetWidth || 300);\r\n nd.style.height = Number(\r\n mainRef?.current?.offsetHeight || 280\r\n );\r\n\r\n return {\r\n ...nd,\r\n };\r\n }\r\n return nd;\r\n })\r\n );\r\n }, 300);\r\n } catch (err) {\r\n setError(\"Failed to fetch metadata.\");\r\n }\r\n } else {\r\n setError(\"Please enter a valid URL.\");\r\n }\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const handleUrlChange = (e) => {\r\n const url = e.target.value;\r\n\r\n setNodes((prev) => {\r\n return 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 url,\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n });\r\n\r\n setError(\"\");\r\n };\r\n\r\n const handleRedirect = () => {\r\n window.open(\r\n node?.data?.url.includes(\"http\")\r\n ? node?.data?.url\r\n : `https://${node?.data?.url}`,\r\n \"_blank\",\r\n \"noopener,noreferrer\"\r\n );\r\n };\r\n\r\n const handleRedirectDescription = () => {\r\n if (node?.data?.link) {\r\n window.open(node?.data?.link, \"_blank\", \"noopener,noreferrer\");\r\n }\r\n };\r\n\r\n const frameMoreOptionsRef = useRef(null);\r\n\r\n const handleClickOutside = (event) => {\r\n if (\r\n frameMoreOptionsRef.current &&\r\n !frameMoreOptionsRef.current.contains(event.target)\r\n ) {\r\n setShowLinkMoreOptions(false);\r\n }\r\n if (editRef.current && !editRef.current.contains(event.target)) {\r\n setShowEditLink(false);\r\n setEdit(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [showLinkMoreOptions]);\r\n\r\n const zoom = useStore((state) =>\r\n node?.selected ? state?.transform?.[2] : 1\r\n );\r\n useEffect(() => {\r\n if (mainRef.current && !isNodeSelectionStarted) {\r\n setZoomPercentages(zoom * 100);\r\n }\r\n }, [zoom]);\r\n\r\n const isItemToSmall = useMemo(\r\n () => zoomPercentages <= 12.5,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan25 = useMemo(\r\n () => 12.5 < zoomPercentages && zoomPercentages <= 25,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan50 = useMemo(\r\n () => 25 < zoomPercentages && zoomPercentages <= 50,\r\n [zoomPercentages]\r\n );\r\n\r\n const isWidthLessthan100 = useMemo(\r\n () => 50 < zoomPercentages && zoomPercentages <= 100,\r\n [zoomPercentages]\r\n );\r\n\r\n const handleSettingChange = (properties) => {\r\n setNodes((nodes) => {\r\n const updatedNodes = nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n [properties]: !nd?.data?.[properties],\r\n },\r\n };\r\n }\r\n return nd;\r\n });\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: updatedNodes,\r\n // edges: edges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\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 useEffect(() => {\r\n if (!node?.selected) {\r\n setShowLinkMoreOptions(false);\r\n setShowCardSettings(false);\r\n }\r\n }, [node]);\r\n const nodeWH = getNode(node?.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\r\n if (jsonData?.lastUpdatedBy !== userData?.user_id) {\r\n // setState(currentNode?.data?.data);\r\n }\r\n });\r\n }\r\n }, [socket, node?.id]);\r\n\r\n return (\r\n <>\r\n {!isNodeSelectionStarted && node?.selected && !node.dragging && (\r\n <NodeToolbar\r\n isVisible={node.selected ? true : false}\r\n position={Position.Top}\r\n >\r\n <Box\r\n display={\"flex\"}\r\n gap={\"8px\"}\r\n p={\"0px 7px\"}\r\n sx={{\r\n background: \"#FFFFFF\",\r\n border: \"1px solid #EEEEEE\",\r\n boxShadow:\r\n \"0px 4px 6px -2px #10182808, 0px 12px 16px -4px #10182808\",\r\n zIndex: 9999,\r\n borderRadius: \"10px\",\r\n marginBottom: \"18px\",\r\n height: \"48px\",\r\n flexWrap: \"wrap\",\r\n alignContent: \"center\",\r\n }}\r\n >\r\n {node.selected && (\r\n <>\r\n {!node.data.locked && node?.data?.metaData && (\r\n <>\r\n <Box>\r\n <CustomNameTooltip\r\n placement=\"top\"\r\n arrow\r\n title={\"Text View\"}\r\n >\r\n <IconButton\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n background:\r\n node?.data?.previewType === \"text\"\r\n ? \"#E6F2FF\"\r\n : \"#FFF\",\r\n padding: \"0px\",\r\n cursor: \"pointer\",\r\n\r\n \"&:hover\": {\r\n background:\r\n node?.data?.previewType === \"text\"\r\n ? \"#E6F2FF\"\r\n : \"#F5F5F5\",\r\n },\r\n }}\r\n onClick={() => {\r\n setShowCardSettings(false);\r\n setNodes((nodes) => {\r\n const updatedNodes = nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n nd = JSON.parse(JSON.stringify(nd));\r\n nd.style.width = Number(\r\n nd.data.textViewRation?.width || 400\r\n );\r\n nd.style.height = Number(\r\n nd.data.textViewRation?.height || 28\r\n );\r\n nd.data.previewType = \"text\";\r\n nd.data.style.width = Number(\r\n nd.data.textViewRation?.width || 400\r\n );\r\n nd.data.style.height = Number(\r\n nd.data.textViewRation?.height || 28\r\n );\r\n\r\n nd.data.width = Number(\r\n nd.data.textViewRation?.width || 400\r\n );\r\n nd.data.height = Number(\r\n nd.data.textViewRation?.height || 28\r\n );\r\n return {\r\n ...nd,\r\n };\r\n }\r\n return nd;\r\n });\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n const search = new URLSearchParams(\r\n location.search\r\n );\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 // edges: edges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\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 <IcTextView\r\n fill={\r\n node?.data?.previewType === \"text\"\r\n ? color?.primaryColor\r\n : \"#282828\"\r\n }\r\n />\r\n </IconButton>\r\n </CustomNameTooltip>\r\n </Box>\r\n <Box>\r\n <CustomNameTooltip\r\n placement=\"top\"\r\n arrow\r\n title={\"Card View\"}\r\n >\r\n <IconButton\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n background:\r\n node?.data?.previewType === \"card\"\r\n ? \"#E6F2FF\"\r\n : \"#FFF\",\r\n padding: \"0px\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background:\r\n node?.data?.previewType === \"card\"\r\n ? \"#E6F2FF\"\r\n : \"#F5F5F5\",\r\n },\r\n }}\r\n onClick={() => {\r\n setNodes((nodes) => {\r\n const updatedNodes = nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n nd = JSON.parse(JSON.stringify(nd));\r\n\r\n nd.style.width =\r\n nd.data.cardViewRatio?.width || 390;\r\n nd.style.height =\r\n nd.data.cardViewRatio?.height || 460;\r\n nd.data.previewType = \"card\";\r\n nd.data.style.width =\r\n nd.data.cardViewRatio?.width || 390;\r\n nd.data.style.height =\r\n nd.data.cardViewRatio?.height || 460;\r\n\r\n nd.data.width =\r\n nd.data.cardViewRatio?.width || 390;\r\n nd.data.height =\r\n nd.data.cardViewRatio?.height || 460;\r\n return {\r\n ...nd,\r\n };\r\n }\r\n return nd;\r\n });\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n const search = new URLSearchParams(\r\n location.search\r\n );\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 // edges: edges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\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 <IcCardView\r\n fill={\r\n node?.data?.previewType === \"card\"\r\n ? color?.primaryColor\r\n : \"#282828\"\r\n }\r\n />\r\n </IconButton>\r\n </CustomNameTooltip>\r\n </Box>\r\n\r\n <Box>\r\n <CustomNameTooltip\r\n placement=\"top\"\r\n arrow\r\n title={\"Preview\"}\r\n >\r\n <IconButton\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n background:\r\n node?.data?.previewType === \"normal\"\r\n ? \"#E6F2FF\"\r\n : \"#FFF\",\r\n padding: \"0px\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background:\r\n node?.data?.previewType === \"normal\"\r\n ? \"#E6F2FF\"\r\n : \"#F5F5F5\",\r\n },\r\n }}\r\n onClick={() => {\r\n setPreviewLoading(true);\r\n setShowCardSettings(false);\r\n setNodes((nodes) => {\r\n const updatedNodes = nodes.map((nd) => {\r\n if (nd.id === node.id) {\r\n nd = JSON.parse(JSON.stringify(nd));\r\n\r\n nd.style.width =\r\n nd.data.preViewRation?.width || 860;\r\n nd.style.height =\r\n nd.data.preViewRation?.height || 475;\r\n nd.data.previewType = \"normal\";\r\n nd.data.style.width =\r\n nd.data.preViewRation?.width || 860;\r\n nd.data.style.height =\r\n nd.data.preViewRation?.height || 475;\r\n\r\n nd.data.width =\r\n nd.data.preViewRation?.width || 860;\r\n nd.data.height =\r\n nd.data.preViewRation?.height || 475;\r\n return {\r\n ...nd,\r\n };\r\n }\r\n return nd;\r\n });\r\n let parsedData = {};\r\n if (user_data) {\r\n parsedData = JSON.parse(user_data);\r\n }\r\n const search = new URLSearchParams(\r\n location.search\r\n );\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 // edges: edges,\r\n lastUpdatedBy: parsedData?.user_id,\r\n },\r\n },\r\n id,\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 <IcPreview\r\n fill={\r\n node?.data?.previewType === \"normal\"\r\n ? color?.primaryColor\r\n : \"#282828\"\r\n }\r\n />\r\n </IconButton>\r\n </CustomNameTooltip>\r\n </Box>\r\n <Box\r\n sx={{\r\n height: \"36px\",\r\n width: \"1px\",\r\n background: \"#EAECF0\",\r\n }}\r\n />\r\n\r\n <CustomTooltip\r\n mt={9}\r\n PopperProps={{\r\n disablePortal: true,\r\n }}\r\n onClose={() => setShowCardSettings(false)}\r\n open={\r\n node?.data?.previewType === \"card\" && showCardSettings\r\n }\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n <Stack\r\n p={\"14px 10px\"}\r\n sx={{\r\n background: \"#FFFFFF\",\r\n border: \"1px solid #EFF0F3\",\r\n borderRadius: \"10px\",\r\n gap: \"14px\",\r\n minWidth: \"155px\",\r\n boxShadow: \"0px 2px 8px 0px #030B160D\",\r\n }}\r\n >\r\n {node?.data?.metaData?.image !== \"\" && (\r\n <SimpleCheckBox\r\n label=\"Image\"\r\n labelFontSize={14}\r\n labelStyle={{\r\n color: \"#282828\",\r\n }}\r\n mainSx={{\r\n gap: \"10px !important\",\r\n }}\r\n // !-------\r\n checked={node?.data?.showImage}\r\n onChange={() => {\r\n handleSettingChange(\"showImage\");\r\n }}\r\n />\r\n )}\r\n {node?.data?.metaData.title && (\r\n <SimpleCheckBox\r\n label=\"Title\"\r\n labelFontSize={14}\r\n labelStyle={{\r\n color: \"#282828\",\r\n }}\r\n mainSx={{\r\n gap: \"10px !important\",\r\n }}\r\n checked={node?.data?.showTitle}\r\n onChange={() => {\r\n handleSettingChange(\"showTitle\");\r\n }}\r\n />\r\n )}\r\n {node?.data?.metaData.description && (\r\n <SimpleCheckBox\r\n label=\"Description\"\r\n labelFontSize={14}\r\n labelStyle={{\r\n color: \"#282828\",\r\n }}\r\n mainSx={{\r\n gap: \"10px !important\",\r\n }}\r\n checked={node?.data?.showDescription}\r\n onChange={() => {\r\n handleSettingChange(\"showDescription\");\r\n }}\r\n />\r\n )}\r\n </Stack>\r\n }\r\n >\r\n <Box>\r\n <CustomNameTooltip\r\n placement=\"top\"\r\n arrow\r\n title={\"Card Settings\"}\r\n >\r\n <IconButton\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n background: showCardSettings\r\n ? \"#E6F2FF\"\r\n : node?.data?.previewType !== \"card\"\r\n ? \"#F5F5F5\"\r\n : \"#FFF\",\r\n padding: \"0px\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background: \"#F5F5F5\",\r\n },\r\n }}\r\n onClick={\r\n node?.data?.previewType !== \"card\"\r\n ? () => {}\r\n : () => setShowCardSettings(!showCardSettings)\r\n }\r\n >\r\n <IcSettingsOutlined\r\n fill={\r\n showCardSettings\r\n ? color?.primaryColor\r\n : node?.data?.previewType !== \"card\"\r\n ? \"#C1C1C0\"\r\n : \"#18181B\"\r\n }\r\n width=\"24\"\r\n height=\"24\"\r\n />\r\n </IconButton>\r\n </CustomNameTooltip>\r\n </Box>\r\n </CustomTooltip>\r\n <Box\r\n sx={{\r\n height: \"36px\",\r\n width: \"1px\",\r\n background: \"#EAECF0\",\r\n }}\r\n />\r\n <Box>\r\n <CustomNameTooltip\r\n placement=\"top\"\r\n arrow\r\n title={\"Redirect to\"}\r\n >\r\n <IconButton\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n background: \"#FFF\",\r\n padding: \"0px\",\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background: \"#F5F5F5\",\r\n },\r\n }}\r\n onClick={handleRedirect}\r\n >\r\n <IcRedirectTo />\r\n </IconButton>\r\n </CustomNameTooltip>\r\n </Box>\r\n <Box\r\n sx={{\r\n height: \"36px\",\r\n width: \"1px\",\r\n background: \"#EAECF0\",\r\n }}\r\n />\r\n </>\r\n )}\r\n <Box>\r\n <CustomNameTooltip\r\n placement=\"top\"\r\n arrow\r\n title={node.data.locked ? \"Unlocked\" : \"Lock\"}\r\n >\r\n <IconButton\r\n sx={{\r\n // height: \"36px !important\",\r\n // width: \"36px !important\",\r\n // borderRadius: \"8px\",\r\n // transition: \"all 0.3s ease\",\r\n // bgcolor: \"#FFF\",\r\n // padding: \"0px\",\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n background: \"#FFF\",\r\n padding: \"0px\",\r\n cursor: \"pointer\",\r\n\r\n \"&:hover\": {\r\n background: \"#F5F5F5\",\r\n },\r\n }}\r\n onClick={toggleLockUnlock}\r\n >\r\n {node.data.locked ? (\r\n // <LockIcon fill={\"#121212\"} size={\"small\"} />\r\n <IcLockLocked />\r\n ) : (\r\n // <LockOpenIcon fill={\"#121212\"} size={\"small\"} />\r\n <IcLockUnLocked />\r\n )}\r\n </IconButton>\r\n </CustomNameTooltip>\r\n </Box>\r\n <Box\r\n sx={{\r\n height: \"36px\",\r\n width: \"1px\",\r\n background: \"#EAECF0\",\r\n }}\r\n />\r\n\r\n <Box ref={frameMoreOptionsRef}>\r\n <CustomTooltip\r\n mt={9}\r\n PopperProps={{\r\n disablePortal: true,\r\n }}\r\n onClose={() => setShowLinkMoreOptions(false)}\r\n open={showLinkMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n <FrameMoreMenus\r\n node={node}\r\n width={node?.data?.width / 2}\r\n height={node?.data?.height / 2}\r\n showRename={false}\r\n showDuplicate={true}\r\n showCopyAsImage={true}\r\n showAddComment={true}\r\n showLockUnlock={true}\r\n showCopyLink={true}\r\n showLinkTo={true}\r\n showDelete={true}\r\n exportShow={true}\r\n showBringToFrontAndBack={true}\r\n showFrame={true}\r\n setShowFrameMoreOptions={setShowLinkMoreOptions}\r\n simpleRef={mainRef}\r\n handleIsCapturing={handleIsCapturing}\r\n />\r\n }\r\n >\r\n <Box>\r\n <ToolTipWithDisabled\r\n placement=\"top\"\r\n tooltipTitle=\"More\"\r\n disabled={showLinkMoreOptions}\r\n >\r\n <IconButton\r\n sx={{\r\n height: \"36px !important\",\r\n width: \"36px !important\",\r\n borderRadius: \"8px\",\r\n transition: \"all 0.3s ease\",\r\n background: \"#FFF\",\r\n padding: \"0px\",\r\n cursor: \"pointer\",\r\n transform: \"rotate(90deg)\",\r\n \"&:hover\": {\r\n background: \"#F5F5F5\",\r\n },\r\n }}\r\n onClick={() =>\r\n setShowLinkMoreOptions(!showLinkMoreOptions)\r\n }\r\n >\r\n <IcMenuDotsVertical\r\n height=\"32\"\r\n width=\"32\"\r\n fill=\"#282828\"\r\n />\r\n </IconButton>\r\n </ToolTipWithDisabled>\r\n </Box>\r\n </CustomTooltip>\r\n </Box>\r\n </>\r\n )}\r\n </Box>\r\n </NodeToolbar>\r\n )}\r\n\r\n <Box\r\n ref={mainRef}\r\n width={node?.data?.previewType === \"text\" ? \"fit-content\" : `100%`}\r\n position={\"relative\"}\r\n margin={\"auto\"}\r\n height={\"100%\"}\r\n sx={{\r\n border:\r\n node?.selected && !copyAsImage\r\n ? isCapturing\r\n ? \"1px solid transparent !important\"\r\n : `1px solid ${color?.primaryColor}`\r\n : \"1px solid transparent\",\r\n }}\r\n onMouseDownCapture={(e) =>\r\n node.data.locked === true && e.stopPropagation()\r\n }\r\n >\r\n {node?.data?.previewType === \"normal\" ? (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n top: \"-23px\",\r\n left: 0,\r\n fontWeight: \"500\",\r\n fontSize: \"13px\",\r\n color: \"#282828\",\r\n backgroundColor: \"transparent\",\r\n }}\r\n >\r\n {node?.data?.metaData.title}\r\n </Box>\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {node?.data?.metaData &&\r\n node?.data?.previewType !== \"text\" &&\r\n node?.selected &&\r\n !showExport &&\r\n !copyAsImage &&\r\n !isItemToSmall &&\r\n !isCapturing && (\r\n <>\r\n <NodeResizer\r\n color=\"transparent\"\r\n minWidth={250}\r\n minHeight={250}\r\n onResizeEnd={onResizeEnd}\r\n />\r\n <NodeResizeControl\r\n keepAspectRatio={false}\r\n position=\"bottom-right\"\r\n onResizeEnd={onResizeEnd}\r\n minWidth={250}\r\n minHeight={250}\r\n maxWidth={\r\n node?.data?.previewType === \"normal\" ||\r\n !node?.data?.metaData?.image\r\n ? 1200\r\n : 800\r\n }\r\n maxHeight={800}\r\n >\r\n <Box\r\n sx={{\r\n background: node?.selected ? \"#FFFFFF\" : \"transparent\",\r\n width: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n height: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n borderRadius: \"1.5px\",\r\n transform: isWidthLessthan100\r\n ? `translate(-5px, -5px)`\r\n : isWidthLessthan50\r\n ? `translate(-8px, -8px)`\r\n : isWidthLessthan25\r\n ? `translate(-11px, -13px)`\r\n : `translate(-3.5px, -3.5px)`,\r\n border: node?.selected\r\n ? `1px solid ${color?.primaryColor}`\r\n : \"none\",\r\n \"&:hover\": { bgcolor: color?.primaryColor },\r\n }}\r\n />\r\n </NodeResizeControl>\r\n <NodeResizeControl\r\n position=\"bottom-left\"\r\n onResizeEnd={onResizeEnd}\r\n minWidth={250}\r\n minHeight={250}\r\n maxWidth={\r\n node?.data?.previewType === \"normal\" ||\r\n !node?.data?.metaData?.image\r\n ? 1200\r\n : 800\r\n }\r\n maxHeight={800}\r\n >\r\n <Box\r\n sx={{\r\n background: node?.selected ? \"#FFFFFF\" : \"transparent\",\r\n width: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n height: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n borderRadius: \"1.5px\",\r\n transform: isWidthLessthan100\r\n ? `translate(-6px, -5px)`\r\n : isWidthLessthan50\r\n ? `translate(-7.5px, -5.5px)`\r\n : isWidthLessthan25\r\n ? `translate(-15px, -10px)`\r\n : `translate(-5px, -3.5px)`,\r\n border: node?.selected\r\n ? `1px solid ${color?.primaryColor}`\r\n : \"none\",\r\n \"&:hover\": { bgcolor: color?.primaryColor },\r\n }}\r\n />\r\n </NodeResizeControl>\r\n <NodeResizeControl\r\n position=\"top-right\"\r\n onResizeEnd={onResizeEnd}\r\n minWidth={250}\r\n minHeight={250}\r\n maxWidth={\r\n node?.data?.previewType === \"normal\" ||\r\n !node?.data?.metaData?.image\r\n ? 1200\r\n : 800\r\n }\r\n maxHeight={800}\r\n >\r\n <Box\r\n sx={{\r\n background: node?.selected ? \"#FFFFFF\" : \"transparent\",\r\n width: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n height: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n borderRadius: \"1.5px\",\r\n transform: isWidthLessthan100\r\n ? `translate(-5px, -6px)`\r\n : isWidthLessthan50\r\n ? `translate(-7.5px, -10px)`\r\n : isWidthLessthan25\r\n ? `translate(-10px, -14px)`\r\n : `translate(-3.5px, -4.5px)`,\r\n border: node?.selected\r\n ? `1px solid ${color?.primaryColor}`\r\n : \"none\",\r\n \"&:hover\": { bgcolor: color?.primaryColor },\r\n }}\r\n />\r\n </NodeResizeControl>\r\n <NodeResizeControl\r\n position=\"top-left\"\r\n onResizeEnd={onResizeEnd}\r\n minWidth={250}\r\n minHeight={250}\r\n maxWidth={\r\n node?.data?.previewType === \"normal\" ||\r\n !node?.data?.metaData?.image\r\n ? 1200\r\n : 800\r\n }\r\n maxHeight={800}\r\n >\r\n <Box\r\n sx={{\r\n background: node?.selected ? \"#FFFFFF\" : \"transparent\",\r\n width: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n height: isWidthLessthan100\r\n ? \"13px\"\r\n : isWidthLessthan50\r\n ? \"20px\"\r\n : isWidthLessthan25\r\n ? \"30px\"\r\n : \"10px\",\r\n borderRadius: \"1.5px\",\r\n transform: isWidthLessthan100\r\n ? `translate(-6px, -6px)`\r\n : isWidthLessthan50\r\n ? `translate(-10px, -7.5px)`\r\n : isWidthLessthan25\r\n ? `translate(-15px, -14px)`\r\n : `translate(-4.5px, -4.5px)`,\r\n border: node?.selected\r\n ? `1px solid ${color?.primaryColor}`\r\n : \"none\",\r\n \"&:hover\": { bgcolor: color?.primaryColor },\r\n }}\r\n />\r\n </NodeResizeControl>\r\n </>\r\n )}\r\n\r\n {!node?.data?.metaData && (\r\n <>\r\n {loading ? (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n margin: \"30px 0px\",\r\n }}\r\n >\r\n <CircularProgress\r\n size={30}\r\n sx={{\r\n color: color?.primaryColor,\r\n }}\r\n />\r\n </Box>\r\n ) : (\r\n <Box\r\n sx={{\r\n p: \"24px\",\r\n background: \"#FFFFFF\",\r\n boxShadow: \"0px 2px 8px 0px #030B160D\",\r\n border: \"1px solid #EEEEEE\",\r\n borderRadius: \"10px\",\r\n height: \"100%\",\r\n }}\r\n >\r\n <Typography\r\n fontSize={16}\r\n fontWeight={600}\r\n color={\"#282828\"}\r\n height={\"22px\"}\r\n mb={\"10px\"}\r\n >\r\n Link\r\n </Typography>\r\n <Box\r\n sx={{\r\n border: `1px solid ${error ? \"#F14F4A\" : \"#E1E1E1\"}`,\r\n outline: `3px solid ${error ? \"#F14F4A45\" : \"transparent\"}`,\r\n borderRadius: \"8px\",\r\n wordBreak: \"break-all\",\r\n textAlign: \"center\",\r\n height: \"44px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n gap: \"10px\",\r\n boxShadow: \"0px 1px 2px 0px #1018280D\",\r\n\r\n \"& input\": {\r\n color: \"#18181B !important\",\r\n fontSize: \"16px !important\",\r\n lineHeight: \"24px !important\",\r\n \"&::placeholder\": {\r\n color: \"#84838299 !important\",\r\n fontSize: \"16px !important\",\r\n },\r\n },\r\n }}\r\n >\r\n <Stack\r\n justifyContent={\"center\"}\r\n alignItems={\"center\"}\r\n sx={{\r\n px: \"14px\",\r\n wordBreak: \"auto-phrase\",\r\n background: \"#F5F5F5\",\r\n height: \"100%\",\r\n // border-bottom-left-radius:\"8px\"\r\n borderBottomLeftRadius: \"8px\",\r\n borderTopLeftRadius: \"8px\",\r\n // borderRadius:\"5px\",\r\n borderRight: `1px solid ${error ? \"#F14F4A\" : \"#E1E1E1\"}`,\r\n }}\r\n >\r\n <Typography\r\n fontSize={16}\r\n color={\"#848382\"}\r\n Width={\"max-content\"}\r\n lineHeight={\"24px\"}\r\n >\r\n https://\r\n </Typography>\r\n </Stack>\r\n\r\n <input\r\n className=\"nodrag\"\r\n type=\"text\"\r\n placeholder={error ? error : \"www.example.com\"}\r\n onChange={handleUrlChange}\r\n value={node?.data?.url}\r\n onKeyDown={(e) => handleFetchMetaData(e)}\r\n style={{\r\n width: \"78%\",\r\n padding: \"5px\",\r\n height: \"auto\",\r\n border: \"none\",\r\n }}\r\n />\r\n </Box>\r\n <Typography\r\n fontSize={14}\r\n lineHeight={\"24px\"}\r\n color={\"#84838299\"}\r\n fontWeight={300}\r\n mt={\"6px\"}\r\n >\r\n Type or paste url and press enter\r\n </Typography>\r\n </Box>\r\n )}\r\n </>\r\n )}\r\n\r\n {node?.data?.metaData &&\r\n (node?.data?.previewType === \"normal\" ? (\r\n <Box\r\n sx={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n border: \"1px solid #E3E3E3\",\r\n borderRadius: \"10px !important\",\r\n overflow: \"hidden\",\r\n }}\r\n onMouseDownCapture={(e) => e.stopPropagation()}\r\n >\r\n {previewLoading && (\r\n <Box\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n left: 0,\r\n width: \"100%\",\r\n height: \"100%\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n gap: \"16px\",\r\n alignItems: \"center\",\r\n flexDirection: \"column\",\r\n backgroundColor: \"rgba(255, 255, 255, 0.8)\",\r\n zIndex: 1,\r\n }}\r\n >\r\n <CircularProgress sx={{ color: color?.primaryColor }} />\r\n <p sx={{ fontSize: \"14px\", color: color?.primaryColor }}>\r\n Loading...\r\n </p>\r\n </Box>\r\n )}\r\n <iframe\r\n src={\r\n node?.data?.url.includes(\"http\")\r\n ? node?.data?.url\r\n : `https://${node?.data?.url}`\r\n }\r\n title={node?.data?.metaData.title}\r\n width={\"100%\"}\r\n height={\"100%\"}\r\n onLoad={() => setPreviewLoading(false)}\r\n style={{\r\n pointerEvents: \"none\",\r\n }}\r\n ></iframe>\r\n </Box>\r\n ) : node?.data?.previewType === \"text\" ? (\r\n <Box ref={editRef}>\r\n <CustomTooltip\r\n maxWidth={333}\r\n PopperProps={{\r\n disablePortal: true,\r\n }}\r\n // onClose={() => setShowEditLink(false)}\r\n open={showEditLink}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n <Box\r\n sx={{\r\n border: \"1px solid #EEEEEE\",\r\n margin: \"0px\",\r\n borderRadius: \"10px\",\r\n padding: \"6px\",\r\n textAlign: \"center\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-start\",\r\n\r\n // gap: \"10px\",\r\n // px: \"14px\",\r\n mt: \"-6px !important\",\r\n boxShadow: \"0px 4px 6px -2px #10182808\",\r\n\r\n \"& input\": {\r\n fontSize: 14,\r\n \"&::placeholder\": {\r\n color: \"#84838299 !important\",\r\n fontSize: \"14px !important\",\r\n },\r\n },\r\n }}\r\n onMouseOverCapture={() => {\r\n setShowEditLink(true);\r\n }}\r\n // onMouseOutCapture={() => setShowEditLink(false)}\r\n >\r\n <Stack\r\n sx={{\r\n height: \"36px\",\r\n width: \"36px\",\r\n flexWrap: \"wrap\",\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n }}\r\n >\r\n {error ? (\r\n <IcInfoOutlined height=\"24\" width=\"24\" fill=\"#FF5E3C\" />\r\n ) : (\r\n <IcLinkOutlined3\r\n height=\"24\"\r\n width=\"24\"\r\n fill=\"#282828\"\r\n />\r\n )}\r\n </Stack>\r\n {/* <Box\r\n sx={{\r\n height: \"36px\",\r\n minWidth: \"1px\",\r\n background: \"#EAECF0\",\r\n }}\r\n /> */}\r\n\r\n {edit && (\r\n <input\r\n ref={inputRef}\r\n type=\"text\"\r\n placeholder={error ? error : \"Type or paste URL\"}\r\n onChange={(e) => {\r\n handleUrlChange(e);\r\n }}\r\n value={node?.data?.url}\r\n onKeyDown={(e) => {\r\n handleFetchMetaData(e);\r\n if (e.key === \"Enter\") {\r\n setShowEditLink(false);\r\n setEdit(false);\r\n }\r\n }}\r\n onFocus={(e) => {\r\n e.stopPropagation();\r\n setShowEditLink(true);\r\n }}\r\n onClick={(e) => {\r\n if (clickTimeout.current) {\r\n clearTimeout(clickTimeout.current);\r\n }\r\n\r\n clickTimeout.current = setTimeout(() => {\r\n const input = e.target;\r\n const selectionStart = input.selectionStart;\r\n const selectionEnd = input.selectionEnd;\r\n\r\n if (selectionStart !== selectionEnd) {\r\n const clickPosition =\r\n e.nativeEvent.offsetX / input.scrollWidth;\r\n const cursorIndex = Math.floor(\r\n clickPosition * input.value.length\r\n );\r\n input.setSelectionRange(cursorIndex, cursorIndex);\r\n }\r\n }, 300);\r\n }}\r\n onDoubleClick={(e) => {\r\n if (clickTimeout.current) {\r\n clearTimeout(clickTimeout.current);\r\n }\r\n }}\r\n onBlur={() => setShowEditLink(false)}\r\n style={{\r\n width: \"245px\",\r\n border: \"none\",\r\n pointerEvents: \"all\",\r\n }}\r\n className=\"nodrag\"\r\n />\r\n )}\r\n {!edit && (\r\n <Box\r\n sx={{\r\n width: \"245px\",\r\n display: \"flex\",\r\n justifyContent: \"start\",\r\n color: \"black\",\r\n textDecoration: \"none\",\r\n }}\r\n >\r\n <CustomNameTooltip\r\n placement=\"top\"\r\n title={\"Jump to link\"}\r\n arrow\r\n >\r\n <a\r\n href={\r\n node?.data?.url.includes(\"http\")\r\n ? node?.data?.url\r\n : `https://${node?.data?.url}`\r\n }\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n style={{\r\n color: \"black\",\r\n textDecoration: \"none\",\r\n fontSize: \"14px\",\r\n fontWeight: \"400\",\r\n maxWidth: \"225px\",\r\n }}\r\n onClick={(e) => e.stopPropagation()}\r\n >\r\n {node?.data?.url}\r\n </a>\r\n </CustomNameTooltip>\r\n </Box>\r\n )}\r\n <Box\r\n sx={{\r\n height: \"36px\",\r\n minWidth: \"1px\",\r\n background: \"#EAECF0\",\r\n marginRight: \"4px\",\r\n marginLeft: \"4px\",\r\n }}\r\n />\r\n <Stack sx={{ cursor: \"pointer\" }} onClick={handleEditClick}>\r\n <IconButton sx={{ borderRadius: \"8px\" }}>\r\n <IcEditlink height=\"24\" width=\"24\" fill=\"#282828\" />\r\n </IconButton>\r\n </Stack>\r\n </Box>\r\n }\r\n >\r\n <Stack\r\n direction={\"row\"}\r\n alignItems={\"center\"}\r\n justifyContent={\"flex-start\"}\r\n gap={\"6px\"}\r\n sx={{\r\n cursor: \"pointer\",\r\n \"& img\": {\r\n height: \"20px\",\r\n width: \"20px\",\r\n objectFit: \"contain\",\r\n },\r\n }}\r\n ref={main}\r\n onMouseOverCapture={() => {\r\n setShowEditLink(true);\r\n }}\r\n // onMouseOutCapture={() => setShowEditLink(false)}\r\n >\r\n {node?.data?.metaData.favicon ? (\r\n <img src={node?.data?.metaData.favicon} alt=\"Logo\" />\r\n ) : (\r\n <IcNetwork />\r\n )}\r\n <Typography\r\n fontSize={16}\r\n color={color?.primaryColor}\r\n lineHeight={\"28px\"}\r\n sx={{\r\n textDecoration: \"underline\",\r\n width: \"max-content\",\r\n }}\r\n onClick={handleRedirect}\r\n >\r\n {node?.data?.metaData.title}\r\n </Typography>\r\n </Stack>\r\n </CustomTooltip>\r\n </Box>\r\n ) : (\r\n <Box\r\n p={\"16px\"}\r\n sx={{\r\n background: \"#FFFFFF\",\r\n boxShadow: \"0px 2px 10.4px 0px #0000000D\",\r\n borderRadius: \"20px\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n }}\r\n ref={cardRef}\r\n >\r\n {node?.data?.showImage && node?.data?.metaData.image && (\r\n <Box\r\n sx={{\r\n height: \"calc(100% - 155px)\",\r\n width: \"100%\",\r\n border: \"1px solid #E3E3E3\",\r\n borderRadius: \"16px\",\r\n mb: \"12px\",\r\n p: node?.data?.width < 350 ? \"5px\" : \"15px\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n \"& img\": {\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"contain\",\r\n },\r\n }}\r\n >\r\n <img src={node?.data?.metaData.image} alt=\"Logo\" />\r\n </Box>\r\n )}\r\n\r\n <Stack\r\n sx={{\r\n maxHeight: \"155px\",\r\n justifyContent: \"space-evenly\",\r\n }}\r\n >\r\n {node?.data?.showTitle && node?.data?.metaData.title && (\r\n <Box\r\n mb={\"6px\"}\r\n sx={{\r\n \"& p\": {\r\n color: \"#18181B\",\r\n fontSize: \"16\",\r\n fontWeight: 600,\r\n wordBreak: \"break-all\",\r\n lineHeight: \"28px\",\r\n cursor: \"pointer\",\r\n },\r\n }}\r\n >\r\n <Typography onClick={handleRedirect}>\r\n {node?.data?.metaData.title}\r\n </Typography>\r\n </Box>\r\n )}\r\n {node?.data?.showDescription &&\r\n node?.data?.metaData.description && (\r\n <Typography\r\n sx={{\r\n fontSize: \"14px\",\r\n color: \"#848382\",\r\n cursor: node?.data?.link ? \"pointer\" : \"default\",\r\n display: \"-webkit-box\",\r\n overflow: \"scroll\",\r\n padding: \"2px\",\r\n wordBreak: \"break-all\",\r\n textOverflow: \"ellipsis\",\r\n WebkitLineClamp: 3,\r\n WebkitBoxOrient: \"vertical\",\r\n }}\r\n onClick={handleRedirectDescription}\r\n onWheelCapture={(e) => {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {node?.data?.metaData.description}\r\n </Typography>\r\n )}\r\n <Stack\r\n direction={\"row\"}\r\n alignItems={\"center\"}\r\n justifyContent={\"flex-start\"}\r\n gap={\"6px\"}\r\n sx={{\r\n cursor: \"pointer\",\r\n \"& img\": {\r\n height: \"18px\",\r\n width: \"18px\",\r\n objectFit: \"contain\",\r\n },\r\n }}\r\n onClick={handleRedirect}\r\n >\r\n {node?.data?.metaData.favicon ? (\r\n <img src={node?.data?.metaData.favicon} alt=\"Logo\" />\r\n ) : (\r\n <IcNetwork />\r\n )}\r\n <Typography\r\n fontSize={14}\r\n color={\"#B5B5B4\"}\r\n lineHeight={\"28px\"}\r\n overflow={\"hidden\"}\r\n width={\"100%\"}\r\n // sx={{ wordBreak: \"break-all\" }}\r\n >\r\n {node?.data?.url.includes(\"http\")\r\n ? node?.data?.url\r\n : `https://${node?.data?.url}`}\r\n </Typography>\r\n </Stack>\r\n </Stack>\r\n </Box>\r\n ))}\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\nexport default memo(ResizeLink, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n"],"names":["TemplatesSelection","props","_jsxs","Box","mt","children","_jsx","Typography","sx","fontSize","fontWeight","color","ml","Stack","direction","gap","flexWrap","documentTemplatesData","map","template","backgroundColor","borderRadius","padding","cursor","onClick","handleCreateTemplate","prompt","IcDocsOutlined","height","width","fill","label","key","Commands","Extension","create","name","addOptions","suggestion","char","command","_ref","editor","range","addProseMirrorPlugins","Suggestion","_objectSpread","this","options","CustomDocument","TiptapDocument","extend","content","forwardRef","ref","_props$items","zIndex","overflowY","border","boxShadow","background","items","length","item","index","alignItems","icon","title","paddingLeft","query","IcPlainText","_ref2","chain","focus","deleteRange","setParagraph","run","IcHeadingOne","_ref3","setNode","level","IcHeadingTwo","_ref4","IcHeadingThree","_ref5","IcNumberListOutlined","_ref6","toggleOrderedList","IcListOutlined","_ref7","toggleBulletList","render","component","popup","onStart","ReactRenderer","CommandsList","clientRect","tippy","getReferenceClientRect","appendTo","document","body","element","showOnCreate","interactive","trigger","placement","onUpdate","updateProps","setProps","onKeyDown","_component$ref","event","hide","onExit","destroy","DocumentEditorExtensions","Color","configure","types","TextStyle","ListItem","CommandsSuggestion","StarterKit","bulletList","keepMarks","keepAttributes","orderedList","Underline","Highlight","multicolor","TextAlign","FontSize","FontFamily","Link","openOnClick","linkOnPaste","Placeholder","placeholder","_editor$getText","_editor$getText$trim","pos","editorHasContent","getText","trim","emptyEditorClass","emptyNodeClass","showOnlyCurrent","considerAnyAsEmpty","DocumentLoadingSkeleton","loading","spacing","Skeleton","variant","ResizeControls","node","isNodeSelectionStarted","location","useLocation","setNodes","getIntersectingNodes","useReactFlow","undo","takeSnapshot","useUndoRedo","zoomPercentages","useRef","store","useStoreApi","dispatch","useDispatch","id","useParams","zoom","useStore","state","_state$transform","selected","transform","useEffect","current","isWidthLessthan25","isWidthLessthan50","isWidthLessthan100","onResizeEnd","_parsedData","updatedNodes","updatedNode","parsedData","user_data","localStorage","getItem","JSON","parse","prev","_updatedNodes","setItem","stringify","architecture_json","nodes","lastEvent","_","_ref$current","_ref$current2","style","Number","offsetWidth","offsetHeight","n","_groupNode","_groupNode2","_groupNode3","_groupNode4","intersections","groupNode","type","parentNode","includes","_store$getState","_store$getState$nodeI","getState","nodeInternals","get","_parentNode$positionA","_parentNode$positionA2","_parentNode$positionA3","_parentNode$positionA4","tempNode","position","x","positionAbsolute","y","expandParent","undefined","push","_n2","_groupNode5","_node$positionAbsolut","_groupNode6","_groupNode6$positionA","_node$positionAbsolut2","_groupNode7","_groupNode7$positionA","_n3","structuredClone","_n","className","_getNodePositionInsid","getNodePositionInsideParent","a_id","URLSearchParams","search","updateJson","json","lastUpdatedBy","user_id","concat","_Fragment","NodeResizeControl","e","primaryColor","bgcolor","React","Document","_node$data","_getNodes","_getNodes$filter","_node$data2","_node$data3","_node$data4","_editor$getText2","_editor$getText2$trim","_editor$getText3","_node$data10","_node$data10$style","_node$data11","_node$data12","_node$data12$style","_node$data13","_node$data13$style","_node$data14","_node$data14$style","_node$data15","_node$data15$style","_node$data16","_node$data16$data","_node$data17","_node$data18","permission","showExport","copyAsImage","useSelector","mindMapStore","useNodeSelectionStarted","getNodes","getNode","mainRef","userRowData","userData","currentNode","setLoading","useState","tempFontSize","setTempFontSize","data","lastFontSize","isMultiNodeSelected","filter","val","useEditor","extensions","isInitialContent","editorHTML","autofocus","editable","debouncedUpdateHTML","getHTML","onCreate","setEditable","commands","editorProps","handlePaste","view","pastedContent","clipboardData","getData","useMemo","debounce","value","_getNodes2","typing","setTyping","isAiGenerated","_node$data5","_node$data6","_node$data7","_editor$commands","_node$data8","_node$data8$editorHTM","clearContent","timeout","textInsertDelay","textContent","split","typeText","_editor$chain","_editor$chain$insertC","_editor$commands2","_node$data9","insertContent","setTimeout","setContent","clearTimeout","nodeId","omit","should_delete","removeInitialContentFlag","clickCount","locked","window","getSelection","empty","stopEventPropagation","preventDefault","stopPropagation","shouldShowPlaceholder","isEditable","isFocused","pointerEvents","display","flexDirection","clsx","nodrag","handleSingleClick","onDoubleClick","handleDoubleClick","selectAll","dragging","MindMapNodesToolbar","updateFontSize","currFontSize","simpleRef","EditorContent","visibility","async","response","commanService","openAIApi","doc","DOMParser","parseFromString","documentContent","querySelector","innerHTML","toString","_editor$chain2","_editor$chain2$insert","_editor$commands3","error","_error$message","message","process","REACT_APP_ENVIRONMENT","_error$response","_error$response$data","errorToast","prevProps","nextProps","globalDragging","ResizeLink","_node$data19","_node$data20","_node$data21","_node$data22","_node$data23","_node$data24","_node$data25","_node$data26","_node$data27","_node$data28","_node$data28$metaData","_node$data29","_node$data30","_node$data31","_node$data32","_node$data33","_node$data34","_node$data35","_node$data36","_node$data37","_node$data38","_node$data39","_node$data40","_node$data41","_node$data42","_node$data43","_node$data44","_node$data45","_node$data45$metaData","_node$data46","_node$data47","_node$data47$metaData","_node$data48","_node$data49","_node$data49$metaData","_node$data50","_node$data51","_node$data51$metaData","_node$data52","_node$data53","_node$data54","_node$data55","_node$data56","_node$data57","_node$data58","_node$data59","_node$data60","_node$data61","_node$data62","_node$data63","_node$data64","_node$data65","_node$data66","_node$data67","_node$data68","_node$data69","_node$data70","_node$data71","_node$data72","_node$data73","_node$data74","_node$data75","_node$data76","_node$data77","_node$data78","_node$data79","_node$data80","_node$data81","_node$data82","_node$data83","_node$data84","cardRef","editRef","setError","edit","setEdit","showLinkMoreOptions","setShowLinkMoreOptions","showEditLink","setShowEditLink","showCardSettings","setShowCardSettings","setZoomPercentages","previewLoading","setPreviewLoading","isCapturing","setIsCapturing","clickTimeout","inputRef","main","socket","useSocketContext","_mainRef$current","_mainRef$current2","newWidth","newHeight","isImgUrl","url","img","Image","src","Promise","resolve","onload","onerror","nd","_mainRef$current3","_mainRef$current4","previewType","_mainRef$current5","_mainRef$current6","handleFetchMetaData","finalUrl","validateUrl","fetch","imageRes","image","baseUrl","URL","origin","faviconUrl","isFaviconValid","description","favicon","fetchMetaData","_parsedData4","_parsedData5","metaData","textViewRation","cardViewRatio","_mainRef$current7","_mainRef$current8","err","handleUrlChange","target","handleRedirect","open","frameMoreOptionsRef","handleClickOutside","contains","addEventListener","removeEventListener","isItemToSmall","handleSettingChange","properties","_parsedData6","_nd$data4","on","socketEvents","NODE_UPDATED","_jsonData$nodes","jsonData","find","NodeToolbar","isVisible","Position","Top","p","marginBottom","alignContent","CustomNameTooltip","arrow","IconButton","transition","_parsedData7","_nd$data$textViewRati","_nd$data$textViewRati2","_nd$data$textViewRati3","_nd$data$textViewRati4","_nd$data$textViewRati5","_nd$data$textViewRati6","IcTextView","_parsedData8","_nd$data$cardViewRati","_nd$data$cardViewRati2","_nd$data$cardViewRati3","_nd$data$cardViewRati4","_nd$data$cardViewRati5","_nd$data$cardViewRati6","IcCardView","_parsedData9","_nd$data$preViewRatio","_nd$data$preViewRatio2","_nd$data$preViewRatio3","_nd$data$preViewRatio4","_nd$data$preViewRatio5","_nd$data$preViewRatio6","preViewRation","IcPreview","CustomTooltip","PopperProps","disablePortal","onClose","disableFocusListener","disableHoverListener","disableTouchListener","minWidth","SimpleCheckBox","labelFontSize","labelStyle","mainSx","checked","showImage","onChange","showTitle","showDescription","IcSettingsOutlined","IcRedirectTo","toggleLockUnlock","_parsedData3","_parsedData2","_nd$data","_nd$data2","_nd$data3","_nd$data3$data","IcLockLocked","IcLockUnLocked","FrameMoreMenus","showRename","showDuplicate","showCopyAsImage","showAddComment","showLockUnlock","showCopyLink","showLinkTo","showDelete","exportShow","showBringToFrontAndBack","showFrame","setShowFrameMoreOptions","handleIsCapturing","toggleCapture","ToolTipWithDisabled","tooltipTitle","disabled","IcMenuDotsVertical","margin","onMouseDownCapture","top","left","NodeResizer","minHeight","keepAspectRatio","maxWidth","maxHeight","justifyContent","CircularProgress","size","mb","outline","wordBreak","textAlign","lineHeight","px","borderBottomLeftRadius","borderTopLeftRadius","borderRight","Width","overflow","onLoad","onMouseOverCapture","IcInfoOutlined","IcLinkOutlined3","onFocus","input","selectionStart","selectionEnd","clickPosition","nativeEvent","offsetX","scrollWidth","cursorIndex","Math","floor","setSelectionRange","onBlur","textDecoration","href","rel","marginRight","marginLeft","handleEditClick","_inputRef$current","select","IcEditlink","objectFit","alt","IcNetwork","link","textOverflow","WebkitLineClamp","WebkitBoxOrient","handleRedirectDescription","onWheelCapture","memo"],"sourceRoot":""}