{"version":3,"file":"static/js/main-b8639566.0517c253.js","mappings":"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","sources":["Components/DrawBoard/Nodes-Types/StoryPointNodeComponents/StoryPoint.js","Components/DrawBoard/Nodes-Types/StoryPointNodeComponents/StoryPointNode.js"],"sourcesContent":["import {\r\n Box,\r\n Grid,\r\n IconButton,\r\n InputBase,\r\n Stack,\r\n SvgIcon,\r\n TextField,\r\n} from \"@mui/material\";\r\nimport React, {\r\n memo,\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport {\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n IcStoryPointIcon,\r\n} from \"../../../../assets/icon-components\";\r\nimport {\r\n Handle,\r\n NodeResizeControl,\r\n NodeResizer,\r\n NodeToolbar,\r\n Position,\r\n useReactFlow,\r\n useStore,\r\n useStoreApi,\r\n} from \"reactflow\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport {\r\n getId,\r\n getNodePositionInsideParent,\r\n} from \"../../../../Utils/grouping-utils\";\r\nimport { updateJson } from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../top-toolbar/components/CustomTooltip\";\r\nimport FrameMoreMenus from \"../../../Node/frameNode/FrameMoreMenus\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\r\nimport { updateStoryPointDragData } from \"../../../../Redux/mindMapSlice\";\r\nimport { debounce } from \"lodash\";\r\nimport useNodeSelectionStarted from \"../../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\nimport ToolTipWithDisabled from \"../../top-toolbar/components/ToolTipWithDisabled\";\r\nimport { EditorContent, useEditor } from \"@tiptap/react\";\r\nimport { tipTapExtensions } from \"../../tip-tap-editor\";\r\nimport { storyPointIcons } from \"../../../../Utils/commonData\";\r\n\r\nconst StoryPoint = (node) => {\r\n const { getNodes, setNodes, getIntersectingNodes, getZoom, getNode } =\r\n useReactFlow();\r\n\r\n const nodeNW = getNode(node?.id);\r\n const mainRef = useRef(null);\r\n const svgRef = useRef(null);\r\n const titleRef = useRef(null);\r\n const descriptionRef = useRef(null);\r\n // const dragImageRef = useRef(null);\r\n\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const { id } = useParams();\r\n const store = useStoreApi();\r\n const { storyPointDragData, 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 [hovered, setHovered] = useState(false);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [showDots, setShowDots] = useState(false);\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const [zoomPercentages, setZoomPercentages] = useState(100);\r\n const [showDotVotingMoreOptions, setShowDotVotingMoreOptions] =\r\n useState(false);\r\n const [svgSize, setSvgSize] = useState({ width: 0, height: 0 });\r\n const [clickTimeSTamps, setClickTimeStamps] = useState({\r\n mouseDown: 0,\r\n mouseUp: 0,\r\n duration: 0,\r\n });\r\n const [isInputVisible, setIsInputVisible] = useState(false);\r\n\r\n useEffect(() => {\r\n if (storyPointDragData.ref) {\r\n storyPointDragData.ref.style.visibility = \"hidden\";\r\n }\r\n }, [storyPointDragData.ref]);\r\n\r\n const mouseMove = (e) => {\r\n const mouseMoveEvent = new CustomEvent(\"storyPointMouseMove\", {\r\n detail: e,\r\n });\r\n document.dispatchEvent(mouseMoveEvent);\r\n };\r\n\r\n useEffect(() => {\r\n if (storyPointIcons?.length > 0) {\r\n const timer = setTimeout(() => {\r\n setForceUpdate((prev) => !prev); // You'd need to add this state\r\n }, 50);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n }, [storyPointIcons]);\r\n\r\n useEffect(() => {\r\n if (storyPointDragData.isDragging) {\r\n document.addEventListener(\"drag\", mouseMove);\r\n } else {\r\n document.removeEventListener(\"drag\", mouseMove);\r\n }\r\n return () => {\r\n document.removeEventListener(\"drag\", mouseMove);\r\n };\r\n }, [storyPointDragData.isDragging]);\r\n\r\n const baseWidth = svgRef?.current?.clientWidth;\r\n const baseHeight = svgRef?.current?.clientHeight;\r\n const zoomPercentage = getZoom() * 100;\r\n\r\n const calculatedWidth = (baseWidth * zoomPercentage) / 100;\r\n const calculatedHeight = (baseHeight * zoomPercentage) / 100;\r\n\r\n const handleDragStart = (event, nodeType, data, storyPointId) => {\r\n // Safari requires text/plain data type\r\n event.dataTransfer.setData(\"text/plain\", nodeType);\r\n\r\n event.dataTransfer.setData(\"application/reactflow\", nodeType);\r\n event.dataTransfer.setData(\"data/file\", JSON.stringify(data));\r\n event.dataTransfer.effectAllowed = \"move\";\r\n\r\n const img = document.createElement(\"img\");\r\n img.src =\r\n \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\r\n event.dataTransfer.setDragImage(img, 0, 0);\r\n\r\n // if (storyPointDragData.ref) {\r\n // const xPos = calculatedWidth / 2;\r\n // const yPos = calculatedHeight / 2;\r\n // storyPointDragData.ref.style.visibility = \"visible\";\r\n // event.dataTransfer.setDragImage(storyPointDragData.ref, xPos, yPos);\r\n // }\r\n\r\n dispatch(\r\n updateStoryPointDragData({\r\n isDragging: true,\r\n calculatedWidth,\r\n calculatedHeight,\r\n storyPointId,\r\n x: event.pageX,\r\n y: event.pageY,\r\n })\r\n );\r\n };\r\n\r\n const onDragEnd = () => {\r\n dispatch(\r\n updateStoryPointDragData({\r\n isDragging: false,\r\n storyPointId: 0,\r\n x: 0,\r\n y: 0,\r\n })\r\n );\r\n\r\n if (storyPointDragData.ref) {\r\n storyPointDragData.ref.style.visibility = \"hidden\";\r\n }\r\n };\r\n\r\n const user_data = localStorage.getItem(\"user_data\");\r\n\r\n const onResizeEnd = (node) => {\r\n let updatedNodes = [];\r\n let parsedData = {};\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 lastEvent: ``,\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 _.style.width = Number(mainRef?.current?.offsetWidth);\r\n _.style.height = Number(mainRef?.current?.offsetHeight);\r\n _.data.isResized = true;\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\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 return n;\r\n } else if (\r\n intersections.length &&\r\n node?.parentNode !== groupNode?.id &&\r\n !node?.parentNode\r\n ) {\r\n if (n.id === groupNode.id) {\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 return {\r\n ...n,\r\n position,\r\n parentNode: groupNode.id,\r\n };\r\n } else return n;\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n !groupNode\r\n ) {\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 return {\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 } else {\r\n return n;\r\n }\r\n } else {\r\n return n;\r\n }\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n groupNode\r\n ) {\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 return n;\r\n } else return n;\r\n } else {\r\n if (n?.type === \"group\") {\r\n }\r\n return n;\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\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 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 const debouncedUpdateJson = useCallback(\r\n debounce((tempNodes) => {\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 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 }, 500), // Adjust the delay (in milliseconds) as needed\r\n [updateJson, user_data, id, undo]\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 setShowDotVotingMoreOptions(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 }, []);\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 },\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\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 zoom = useStore((state) =>\r\n (node?.selected || showDots) && !isNodeSelectionStarted\r\n ? state?.transform?.[2]\r\n : 1\r\n );\r\n const sizeAsPerZoom =\r\n (nodeNW?.width < nodeNW?.height ? nodeNW?.width : nodeNW?.height) * zoom ||\r\n 100;\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 isNodeSelected = getNodes().filter(\r\n (nd) => nd.id === node.id && node.selected === true\r\n );\r\n\r\n // const resizeObserverRef = useRef(null);\r\n // const previousNodeDimensions = useRef({\r\n // height: nodeNW?.height,\r\n // width: nodeNW?.width,\r\n // });\r\n // const textRef = useRef(null);\r\n // const testRef = useRef(null);\r\n // const [tempFontSize, setTempFontSize] = useState(node?.data?.fontSize);\r\n\r\n // const adjustFontSize = useCallback(() => {\r\n // if (!node.selected) return;\r\n\r\n // const container = mainRef.current;\r\n // const textElement = textRef.current;\r\n\r\n // if (container && textElement) {\r\n // // Get current dimensions\r\n // const containerWidth = container.offsetWidth;\r\n // const containerHeight = container.offsetHeight;\r\n\r\n // // Access previous dimensions\r\n // const { previousWidth, previousHeight } = previousNodeDimensions.current;\r\n\r\n // // Get the current font size\r\n // let currentFontSize = parseFloat(\r\n // window.getComputedStyle(textElement).fontSize\r\n // );\r\n\r\n // // Determine whether the size is increasing or decreasing\r\n // const isIncreasing =\r\n // (previousWidth !== null && containerWidth > previousWidth) ||\r\n // (previousHeight !== null && containerHeight > previousHeight);\r\n\r\n // // Adjust font size incrementally\r\n // if (isIncreasing) {\r\n // if (\r\n // textElement.scrollWidth <= containerWidth &&\r\n // textElement.scrollHeight <= containerHeight &&\r\n // currentFontSize < 1000 // Optional max limit\r\n // ) {\r\n // currentFontSize += 0.2;\r\n // textElement.style.fontSize = `${currentFontSize}px`;\r\n // }\r\n // } else {\r\n\r\n // if (\r\n // (textElement.scrollWidth > containerWidth ||\r\n // textElement.scrollHeight > containerHeight) &&\r\n // currentFontSize > 14 // Minimum font size\r\n // ) {\r\n // currentFontSize -= 0.2;\r\n // textElement.style.fontSize = `${currentFontSize}px`;\r\n // }\r\n // }\r\n\r\n // // Store the calculated font size\r\n // setTempFontSize(`${currentFontSize}px`);\r\n\r\n // // Update previous dimensions\r\n // previousNodeDimensions.current = {\r\n // previousWidth: containerWidth,\r\n // previousHeight: containerHeight,\r\n // };\r\n // }\r\n // }, [node.selected]);\r\n\r\n // useEffect(() => {\r\n // if (mainRef.current && node.selected) {\r\n // resizeObserverRef.current = new ResizeObserver((resizeEvent) => {\r\n // adjustFontSize();\r\n // });\r\n // resizeObserverRef.current?.observe(mainRef.current);\r\n\r\n // return () => resizeObserverRef.current?.disconnect();\r\n // } else {\r\n // resizeObserverRef.current?.disconnect();\r\n // }\r\n // }, [node.resizing, node.selected]);\r\n\r\n const [fontSize, setFontSize] = useState(node?.data?.fontSize);\r\n\r\n useEffect(() => {\r\n if (nodeNW?.width && nodeNW?.height && node?.data?.isResized) {\r\n const calculatedFontSize = Math.max(12, nodeNW.width / 15);\r\n setFontSize(calculatedFontSize);\r\n }\r\n }, [nodeNW?.width, nodeNW?.height]);\r\n\r\n const inputRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!node?.selected) {\r\n setIsInputVisible(false);\r\n setShowDotVotingMoreOptions(false);\r\n }\r\n }, [node?.selected]);\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 updateJson({\r\n json: {\r\n architecture_json: {\r\n nodes: updatedNodes,\r\n },\r\n },\r\n id,\r\n dispatch,\r\n undo,\r\n a_id,\r\n });\r\n }, 500);\r\n }, [setNodes]);\r\n\r\n const titleEditor = useEditor(\r\n {\r\n extensions: [...tipTapExtensions(\"Story Point\")],\r\n content: node?.data?.label,\r\n onUpdate: async ({ editor }) => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n const data = nodeResizeData();\r\n updatedNodes = data.map((nd) => {\r\n if (nd.id === node?.id) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n label: editor.getHTML(),\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes; // Return updated nodes\r\n });\r\n debouncedUpdateHTML(updatedNodes);\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 []\r\n );\r\n\r\n const nodeResizeData = () => {\r\n const titleHeight = titleRef.current?.offsetHeight || 0;\r\n const descriptionHeight = descriptionRef.current?.offsetHeight || 0;\r\n\r\n const totalHeight = titleHeight + descriptionHeight + 50;\r\n\r\n const updatedNodes = getNodes().map((n) =>\r\n n?.id === node?.id\r\n ? {\r\n ...n,\r\n // selected: true,\r\n height: totalHeight,\r\n style: {\r\n ...n.style,\r\n height: totalHeight,\r\n },\r\n }\r\n : n\r\n );\r\n return updatedNodes;\r\n };\r\n\r\n useEffect(() => {\r\n if ((titleRef.current || descriptionRef.current) && node?.data?.isResized) {\r\n const data = nodeResizeData();\r\n setNodes(data);\r\n localStorage.setItem(\r\n \"architectureJson\",\r\n JSON.stringify({\r\n architecture_json: {\r\n nodes: getNodes(),\r\n lastEvent: ``,\r\n },\r\n })\r\n );\r\n debouncedUpdateJson(getNodes());\r\n }\r\n }, [titleRef?.current, descriptionRef?.current, isInputVisible]);\r\n\r\n function stripHtmlTags(str) {\r\n return str.replace(/<\\/?[^>]+(>|$)/g, \"\");\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }}\r\n >\r\n setHovered(true)}\r\n onMouseOut={() => setHovered(false)}\r\n >\r\n setShowDots(true)}\r\n onMouseOut={() => setShowDots(false)}\r\n >\r\n {sizeAsPerZoom > 25 &&\r\n node?.selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !copyAsImage &&\r\n !node?.data?.locked && (\r\n <>\r\n {/* onResizeEnd(node, true)}\r\n minWidth={220}\r\n minHeight={130}\r\n /> */}\r\n onResizeEnd(node)}\r\n minWidth={220}\r\n minHeight={130}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(node, true)}\r\n minWidth={220}\r\n minHeight={130}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(node, true)}\r\n minWidth={220}\r\n minHeight={130}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n onResizeEnd(node, true)}\r\n minWidth={220}\r\n minHeight={130}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n\r\n {!isNodeSelectionStarted &&\r\n !node?.dragging &&\r\n !showExport &&\r\n !copyAsImage &&\r\n !node?.data?.locked && (\r\n <>\r\n \r\n console.log(\"handle onConnect\", params)\r\n }\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"left\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n console.log(\"handle onConnect\", params)\r\n }\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"right\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n {\r\n setShowDots(true);\r\n setHoveredItem(\"top\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n console.log(\"handle onConnect\", params)\r\n }\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"bottom\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n\r\n {!node.dragging && !isNodeSelectionStarted && node?.selected && (\r\n \r\n \r\n \r\n \r\n \r\n {node?.data?.locked ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n setShowDotVotingMoreOptions(false)}\r\n open={showDotVotingMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n >\r\n \r\n \r\n setShowDotVotingMoreOptions(\r\n !showDotVotingMoreOptions\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n setIsInputVisible(false)}\r\n >\r\n {isInputVisible && !node?.data?.locked ? (\r\n \r\n {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n }}\r\n onClick={(e) => {\r\n e?.stopPropagation();\r\n e?.preventDefault();\r\n }}\r\n style={{\r\n // minHeight: \"44px\",\r\n // width: \"250px\",\r\n padding: \"0 5px\",\r\n fontSize: fontSize,\r\n cursor: \"text\",\r\n borderRadius: \"8px\",\r\n color: \"#282828\",\r\n border: `1px solid ${color?.primaryColor}`,\r\n boxShadow: `0px 0px 0px 3px ${color.lightPrimary}`,\r\n // maxHeight: \"230px\",\r\n overflow: \"auto\",\r\n whiteSpace: \"pre-wrap\",\r\n wordBreak: \"break-all\",\r\n fontWeight: 600,\r\n width: \"100%\",\r\n paddingBottom: \"1px\",\r\n }}\r\n className=\"nodrag\"\r\n />\r\n \r\n ) : (\r\n \r\n {\r\n setIsInputVisible(true);\r\n titleEditor?.commands?.focus();\r\n }}\r\n ref={titleRef}\r\n style={{\r\n width: nodeNW?.width - 30,\r\n color: \"#18181B\",\r\n fontWeight: 600,\r\n resize: \"none\",\r\n fontSize: fontSize,\r\n cursor: \"pointer\",\r\n whiteSpace: \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n padding: \"1px 6px 0px 6px\",\r\n }}\r\n >\r\n {stripHtmlTags(node?.data?.label)}\r\n \r\n \r\n )}\r\n setIsInputVisible(false)}\r\n >\r\n \r\n {storyPointIcons?.map((item, i) => {\r\n return (\r\n \r\n e.stopPropagation()}\r\n onDragStart={(e) => {\r\n handleDragStart(\r\n e,\r\n \"storyPointNode\",\r\n {\r\n type: \"storyPointNode\",\r\n key: \"storyPointNode\",\r\n data: {\r\n provider: \"storyPointNode\",\r\n fill: item?.fill,\r\n stroke: item?.stroke,\r\n height: svgRef?.current?.clientHeight,\r\n width: svgRef?.current?.clientWidth,\r\n d: item?.d,\r\n },\r\n },\r\n item?.id\r\n );\r\n }}\r\n onDragEnd={() => {\r\n onDragEnd();\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\nexport default memo(StoryPoint, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import { Box, IconButton } from \"@mui/material\";\r\nimport React, { memo, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport {\r\n Handle,\r\n NodeResizeControl,\r\n NodeResizer,\r\n NodeToolbar,\r\n Position,\r\n useReactFlow,\r\n useStore,\r\n useStoreApi,\r\n} from \"reactflow\";\r\nimport {\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n} from \"../../../../assets/icon-components\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../top-toolbar/components/CustomTooltip\";\r\nimport FrameMoreMenus from \"../../../Node/frameNode/FrameMoreMenus\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { updateJson } from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { getNodePositionInsideParent } from \"../../../../Utils/grouping-utils\";\r\nimport { useUndoRedo } from \"../../dndUndoRedo/UndoRedoProvider\";\r\nimport useNodeSelectionStarted from \"../../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\n\r\nconst IcStoryPointIcon = ({\r\n width = 37,\r\n height = 36,\r\n fill = \"#E7E7E7\",\r\n stroke = \"#848382\",\r\n d = \"M18.6292 23.0653C17.8266 23.0653 17.1452 22.9346 16.5852 22.6733C16.0252 22.4026 15.5679 22.0386 15.2132 21.5813C14.8586 21.1146 14.5972 20.5826 14.4292 19.9853C14.2706 19.3786 14.1912 18.7439 14.1912 18.0813V17.2973C14.1912 16.3546 14.3499 15.5053 14.6672 14.7493C14.9846 13.9933 15.4699 13.3959 16.1232 12.9573C16.7766 12.5093 17.6119 12.2853 18.6292 12.2853C19.6372 12.2853 20.4679 12.5093 21.1212 12.9573C21.7746 13.3959 22.2552 13.9933 22.5632 14.7493C22.8806 15.5053 23.0392 16.3546 23.0392 17.2973V18.0813C23.0392 18.7439 22.9552 19.3786 22.7872 19.9853C22.6286 20.5826 22.3719 21.1146 22.0172 21.5813C21.6719 22.0386 21.2192 22.4026 20.6592 22.6733C20.0992 22.9346 19.4226 23.0653 18.6292 23.0653ZM18.6292 21.2453C19.4599 21.2453 20.0712 20.9606 20.4632 20.3913C20.8552 19.8126 21.0512 18.9166 21.0512 17.7033C21.0512 16.4153 20.8506 15.4959 20.4492 14.9453C20.0479 14.3853 19.4412 14.1053 18.6292 14.1053C17.8079 14.1053 17.1919 14.3853 16.7812 14.9453C16.3799 15.4959 16.1792 16.4059 16.1792 17.6753C16.1792 18.8979 16.3799 19.7986 16.7812 20.3773C17.1826 20.9559 17.7986 21.2453 18.6292 21.2453Z\",\r\n}) => {\r\n return (\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\nconst StoryPointNode = (node) => {\r\n const [hovered, setHovered] = useState(false);\r\n const [isDotsShow, setIsDotsShow] = useState(true);\r\n const [showDots, setShowDots] = useState(false);\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const [zoomPercentages, setZoomPercentages] = useState(100);\r\n const [showDotVotingMoreOptions, setShowDotVotingMoreOptions] =\r\n useState(false);\r\n\r\n const { getNodes, setNodes, getIntersectingNodes } = useReactFlow();\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const { id } = useParams();\r\n const store = useStoreApi();\r\n const mainRef = useRef(null);\r\n const dispatch = useDispatch();\r\n const location = useLocation();\r\n const user_data = localStorage.getItem(\"user_data\");\r\n\r\n const { 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 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 setShowDotVotingMoreOptions(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 }, [showDotVotingMoreOptions]);\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 },\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\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 onNodeResize = (node) => {\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 lastEvent: ``,\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.width = Number(mainRef?.current?.offsetWidth);\r\n _.data.height = Number(mainRef?.current?.offsetHeight);\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\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 return n;\r\n } else if (\r\n intersections.length &&\r\n node?.parentNode !== groupNode?.id &&\r\n !node?.parentNode\r\n ) {\r\n if (n.id === groupNode.id) {\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 return {\r\n ...n,\r\n position,\r\n parentNode: groupNode.id,\r\n };\r\n } else return n;\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n !groupNode\r\n ) {\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 return {\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 } else {\r\n return n;\r\n }\r\n } else {\r\n return n;\r\n }\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n groupNode\r\n ) {\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 return n;\r\n } else return n;\r\n } else {\r\n if (n?.type === \"group\") {\r\n }\r\n return n;\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n };\r\n\r\n const onResizeEnd = (node) => {\r\n let updatedNodes = [];\r\n let parsedData = {};\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 lastEvent: ``,\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.width = Number(mainRef?.current?.offsetWidth);\r\n _.data.height = Number(mainRef?.current?.offsetHeight);\r\n return _;\r\n } else {\r\n return _;\r\n }\r\n });\r\n\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 return n;\r\n } else if (\r\n intersections.length &&\r\n node?.parentNode !== groupNode?.id &&\r\n !node?.parentNode\r\n ) {\r\n if (n.id === groupNode.id) {\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 return {\r\n ...n,\r\n position,\r\n parentNode: groupNode.id,\r\n };\r\n } else return n;\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n !groupNode\r\n ) {\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 return {\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 } else {\r\n return n;\r\n }\r\n } else {\r\n return n;\r\n }\r\n } else if (\r\n node?.parentNode &&\r\n node?.parentNode !== groupNode?.id &&\r\n groupNode\r\n ) {\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 return n;\r\n } else return n;\r\n } else {\r\n if (n?.type === \"group\") {\r\n }\r\n return n;\r\n }\r\n });\r\n\r\n return updatedNodes;\r\n });\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 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 const zoom = useStore((state) =>\r\n (node?.selected || showDots) && !isNodeSelectionStarted\r\n ? state?.transform?.[2]\r\n : 1\r\n );\r\n const sizeAsPerZoom =\r\n (node?.data?.width < node?.data?.height\r\n ? node?.data?.width\r\n : node?.data?.height) * zoom || 100;\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 isNodeSelected = getNodes().filter(\r\n (nd) => nd.id === node.id && node.selected === true\r\n );\r\n\r\n const nodes = getNodes();\r\n const selected = nodes.find((n) => n.type !== \"storyPointNode\" && n.selected);\r\n\r\n useEffect(() => {\r\n if (!node?.selected) {\r\n setShowDotVotingMoreOptions(false);\r\n }\r\n }, [node?.selected]);\r\n\r\n return (\r\n setHovered(true)}\r\n onMouseOut={() => setHovered(false)}\r\n className={node?.data?.locked ? \"nodrag\" : \"\"}\r\n ref={mainRef}\r\n >\r\n setShowDots(true)}\r\n onMouseOut={() => setShowDots(false)}\r\n >\r\n {sizeAsPerZoom > 25 &&\r\n node?.selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !copyAsImage &&\r\n !selected &&\r\n !node?.data?.locked && (\r\n <>\r\n {/* onResizeEnd(node, true)}\r\n onResize={() => onNodeResize(node)}\r\n /> */}\r\n onResizeEnd(node, true)}\r\n onResize={() => onNodeResize(node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // minWidth={36}\r\n // minHeight={36}\r\n >\r\n \r\n \r\n onResizeEnd(node, true)}\r\n onResize={() => onNodeResize(node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // minWidth={36}\r\n // minHeight={36}\r\n >\r\n \r\n \r\n onResizeEnd(node, true)}\r\n onResize={() => onNodeResize(node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // minWidth={36}\r\n // minHeight={36}\r\n >\r\n \r\n \r\n onResizeEnd(node, true)}\r\n onResize={() => onNodeResize(node)}\r\n style={{\r\n zIndex: 999999999999,\r\n backgroundColor: \"transparent\",\r\n border: \"1px solid transparent\",\r\n }}\r\n // minWidth={36}\r\n // minHeight={36}\r\n >\r\n \r\n \r\n \r\n )}\r\n {!isNodeSelectionStarted &&\r\n !node?.dragging &&\r\n !showExport &&\r\n !copyAsImage &&\r\n !selected &&\r\n !node?.data?.locked && (\r\n <>\r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"left\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"right\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n {\r\n setShowDots(true);\r\n setHoveredItem(\"top\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n console.log(\"handle onConnect\", params)}\r\n onMouseOver={() => {\r\n setShowDots(true);\r\n setHoveredItem(\"bottom\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredItem(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n {(!isNodeSelectionStarted || isNodeSelected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n )}\r\n {!node.dragging && !isNodeSelectionStarted && node?.selected && (\r\n \r\n \r\n \r\n \r\n \r\n {node?.data?.locked ? : }\r\n \r\n \r\n \r\n \r\n \r\n setShowDotVotingMoreOptions(false)}\r\n open={showDotVotingMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n >\r\n \r\n \r\n setShowDotVotingMoreOptions(!showDotVotingMoreOptions)\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\nexport default memo(StoryPointNode, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n"],"names":["StoryPoint","node","_svgRef$current","_svgRef$current2","_node$data","_node$data3","_node$data5","_node$data6","_node$data7","_node$data8","_node$data9","_node$data10","_node$data11","_node$data12","_node$data13","getNodes","setNodes","getIntersectingNodes","getZoom","getNode","useReactFlow","nodeNW","id","mainRef","useRef","svgRef","titleRef","descriptionRef","location","useLocation","dispatch","useDispatch","undo","takeSnapshot","useUndoRedo","useParams","store","useStoreApi","storyPointDragData","showExport","copyAsImage","useSelector","state","mindMapStore","isNodeSelectionStarted","useNodeSelectionStarted","selected","hovered","setHovered","useState","forceUpdate","setForceUpdate","showDots","setShowDots","hoveredItem","setHoveredItem","zoomPercentages","setZoomPercentages","showDotVotingMoreOptions","setShowDotVotingMoreOptions","svgSize","setSvgSize","width","height","clickTimeSTamps","setClickTimeStamps","mouseDown","mouseUp","duration","isInputVisible","setIsInputVisible","useEffect","ref","style","visibility","mouseMove","e","mouseMoveEvent","CustomEvent","detail","document","dispatchEvent","storyPointIcons","length","timer","setTimeout","prev","clearTimeout","isDragging","addEventListener","removeEventListener","baseWidth","current","clientWidth","baseHeight","clientHeight","zoomPercentage","calculatedWidth","calculatedHeight","user_data","localStorage","getItem","onResizeEnd","_parsedData","updatedNodes","parsedData","JSON","parse","_updatedNodes","setItem","stringify","architecture_json","nodes","lastEvent","map","_","_ref","_mainRef$current","_mainRef$current2","Number","offsetWidth","offsetHeight","data","isResized","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","_objectSpread","position","x","positionAbsolute","y","expandParent","undefined","_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","debouncedUpdateJson","useCallback","debounce","tempNodes","_parsedData2","frameMoreOptionsRef","handleClickOutside","event","contains","target","zoom","useStore","_state$transform","transform","sizeAsPerZoom","useMemo","isNodeSelected","filter","nd","fontSize","setFontSize","_node$data2","calculatedFontSize","Math","max","debouncedUpdateHTML","titleEditor","useEditor","extensions","tipTapExtensions","content","label","onUpdate","async","editor","_ref2","nds","nodeResizeData","getHTML","onBlur","_ref3","edges","editorProps","handlePaste","view","pastedContent","clipboardData","getData","_titleRef$current","_descriptionRef$curre","totalHeight","stripHtmlTags","str","replace","_node$data4","_jsx","_Fragment","children","Stack","sx","boxShadow","color","primaryColor","locked","onDrop","stopPropagation","preventDefault","border","borderRadius","background","onMouseOver","onMouseOut","_jsxs","NodeResizeControl","keepAspectRatio","minWidth","minHeight","zIndex","backgroundColor","Box","transformOrigin","bgcolor","dragging","Handle","connectionMode","isConnectable","transitionDuration","maxWidth","maxHeight","display","justifyContent","alignItems","onConnect","params","console","log","onMouseLeave","onClick","pointerEvents","left","NodeToolbar","Position","Top","gap","p","CustomNameTooltip","placement","arrow","title","IconButton","transition","padding","cursor","toggleLockUnlock","_parsedData4","updatedNode","_parsedData3","_nd$data","IcLockLocked","IcLockUnLocked","CustomTooltip","mt","PopperProps","disablePortal","onClose","open","disableFocusListener","disableHoverListener","disableTouchListener","FrameMoreMenus","showRename","showCopyAsImage","showLockUnlock","showCopyLink","showLinkTo","showDelete","showDuplicate","showBringToFrontAndBack","showFrame","setShowFrameMoreOptions","IcMenuDotsVertical","fill","paddingTop","ToolTipWithDisabled","tooltipTitle","onDoubleClick","_titleEditor$commands","commands","focus","fontWeight","resize","whiteSpace","overflow","textOverflow","direction","EditorContent","lightPrimary","wordBreak","paddingBottom","marginTop","flexWrap","px","pb","Grid","container","spacing","flexDirection","item","i","xs","draggable","onMouseDownCapture","onDragStart","_svgRef$current3","_svgRef$current4","handleDragStart","nodeType","storyPointId","dataTransfer","setData","effectAllowed","img","createElement","src","setDragImage","updateStoryPointDragData","pageX","pageY","key","provider","stroke","d","onDragEnd","SvgIcon","component","icon","IcStoryPointIcon","viewBox","memo","prevProps","nextProps","globalDragging","xmlns","StoryPointNode","_node$data14","isDotsShow","setIsDotsShow","onNodeResize","_updatedNodes2","_mainRef$current3","_mainRef$current4","_groupNode8","_groupNode9","_groupNode10","_groupNode11","_store$getState2","_store$getState2$node","_parentNode$positionA5","_parentNode$positionA6","_parentNode$positionA7","_parentNode$positionA8","_n5","_groupNode12","_node$positionAbsolut3","_groupNode13","_groupNode13$position","_node$positionAbsolut4","_groupNode14","_groupNode14$position","_n6","_n4","_getNodePositionInsid2","find","onResize"],"sourceRoot":""}