{"version":3,"file":"static/js/main-f45ddebb.12fff018.js","mappings":"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","sources":["Components/Node/RotatableNode/RotatableNode.js","Components/Node/StickyNoteEditor/PipeNode/components/SideHandle.jsx","Components/Node/StickyNoteEditor/PipeNode/PipeNode.jsx","Components/Node/StickyNoteEditor/PipeNode/index.js","Components/Node/StickyNoteEditor/CustomNodeResizeControl.jsx","Components/Node/StickyNoteEditor/CustomNodeHandles.jsx","Components/Node/StickyNoteEditor/NodeAuthor.jsx","Components/Node/StickyNoteEditor/StickyNoteEditor.jsx","Components/Node/StickyNoteEditor/index.js"],"sourcesContent":["import React, { useEffect, useState, useRef } from 'react';\r\n// import { Handle, Position, useUpdateNodeInternals } from '@xyflow/react';\r\nimport { drag } from 'd3-drag';\r\nimport { select } from 'd3-selection';\r\nimport { Box } from '@mui/material';\r\nimport { Handle, Position, useUpdateNodeInternals } from 'reactflow';\r\n \r\nconst RotatableNode = ({\r\n id,\r\n sourcePosition = Position.Left,\r\n targetPosition = Position.Right,\r\n data,\r\n}) => {\r\n const rotateControlRef = useRef(null);\r\n const updateNodeInternals = useUpdateNodeInternals();\r\n const [rotation, setRotation] = useState(0);\r\n \r\n useEffect(() => {\r\n if (!rotateControlRef.current) {\r\n return;\r\n }\r\n \r\n const selection = select(rotateControlRef.current);\r\n const dragHandler = drag().on('drag', (evt) => {\r\n const dx = evt.x - 100;\r\n const dy = evt.y - 100;\r\n const rad = Math.atan2(dx, dy);\r\n const deg = rad * (180 / Math.PI);\r\n setRotation(180 - deg);\r\n updateNodeInternals(id);\r\n });\r\n \r\n selection.call(dragHandler);\r\n }, [id, updateNodeInternals]);\r\n \r\n return (\r\n <>\r\n \r\n
\r\n
{data?.label}
\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 React.memo(RotatableNode);","import React from \"react\";\r\nimport { Handle, useViewport } from \"reactflow\";\r\nimport { color } from \"../../../../../Utils/style/color/color\";\r\n\r\nconst SideHandle = ({\r\n handleId,\r\n position,\r\n handlePosition,\r\n show,\r\n setHoveredHandle,\r\n side,\r\n top,\r\n innerSx,\r\n handleSx,\r\n}) => {\r\n const { zoom } = useViewport();\r\n\r\n return (\r\n \r\n setHoveredHandle(handleId)}\r\n onMouseLeave={() => setHoveredHandle(null)}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SideHandle;\r\n","import 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 Handle,\r\n NodeResizeControl,\r\n NodeToolbar,\r\n Position,\r\n useReactFlow,\r\n useUpdateNodeInternals,\r\n} from \"reactflow\";\r\nimport { Box, IconButton, Stack } from \"@mui/material\";\r\nimport { useSelector } from \"react-redux\";\r\nimport SideHandle from \"./components/SideHandle\";\r\nimport useNodeSelectionStarted from \"../../../../Utils/hooks/useNodeSelectionStarted\";\r\nimport useZoomPercentages from \"../../../../Utils/hooks/useZoomPercentages\";\r\nimport { iconMapping } from \"../../../DrawBoard/resizables/constants\";\r\nimport Uml_Vertical_Fork from \"../../../../Utils/Icons/shapes/uml/Uml_Vertical_Fork\";\r\nimport Uml_Horizontal_Fork from \"../../../../Utils/Icons/shapes/uml/Uml_Horizontal_Fork\";\r\nimport Uml_Activation_11 from \"../../../../Utils/Icons/shapes/uml/Uml_Activation_11\";\r\nimport Pipe from \"../../../../Utils/Icons/shapes/basic_shapes/Pipe\";\r\nimport { color } from \"../../../../Utils/style/color/color\";\r\nimport ShapesListToolbarItem from \"../../common-components/nodeTopToolbar/MindMapNodesToolbar/ToolbarMenuItems/ShapesListToolbarItem\";\r\nimport {\r\n CustomNameTooltip,\r\n CustomTooltip,\r\n} from \"../../../DrawBoard/top-toolbar/components/CustomTooltip\";\r\nimport {\r\n IcChangeBg,\r\n IcLockLocked,\r\n IcLockUnLocked,\r\n IcMenuDotsVertical,\r\n IcTransparentCircle,\r\n} from \"../../../../assets/icon-components\";\r\nimport FrameMoreMenus from \"../../frameNode/FrameMoreMenus\";\r\nimport {\r\n toRgba,\r\n updateJson,\r\n} from \"../../../../CommanFunctions/commanFunctions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useUndoRedo } from \"../../../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport ToolTipWithDisabled from \"../../../DrawBoard/top-toolbar/components/ToolTipWithDisabled\";\r\nimport FrameBackgroundToolbar from \"../../frameNode/FrameBackgroundToolbar\";\r\nimport BackgroundTool from \"../../common-components/nodeTopToolbar/components/BackgroundTool\";\r\nimport { debounce } from \"lodash\";\r\nconst user_data = localStorage.getItem(\"user_data\");\r\nconst Icons = {\r\n Pipe: Pipe,\r\n \"Vertical Fork/Join\": Uml_Vertical_Fork,\r\n \"Horizontal Fork/Join\": Uml_Horizontal_Fork,\r\n Activation: Uml_Activation_11,\r\n};\r\n\r\nconst HANDLE_SPACING = 10;\r\n\r\nexport const iconTypes = {\r\n BORDERED: \"BORDERED\",\r\n BLACK_AND_WHITE: \"BLACK_AND_WHITE\",\r\n LIGHT_COLOR: \"LIGHT_COLOR\",\r\n DARK_COLOR: \"DARK_COLOR\",\r\n THIRD_DIMENSION: \"THIRD_DIMENSION\",\r\n};\r\n\r\nconst PipeNode = ({ id: nodeId }) => {\r\n const { getNode, getNodes, setNodes } = useReactFlow();\r\n const node = getNode(nodeId);\r\n const dispatch = useDispatch();\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const { id } = useParams();\r\n\r\n const location = useLocation();\r\n const updateNodeInternals = useUpdateNodeInternals();\r\n const [showColor, setShowColor] = useState(false);\r\n const [activeToolbarItem, setActiveToolbarItem] = useState(null);\r\n const mainRef = useRef(null);\r\n const frameMoreOptionsRef = useRef(null);\r\n const [showpipeMoreOptions, setShowpipeMoreOptions] = useState(false);\r\n const isMultipleNodesSelected =\r\n getNodes().filter((node) => node.selected).length > 1;\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n const { showExport, copyAsImage, isDownload, permission } = useSelector(\r\n (state) => state?.mindMapStore\r\n );\r\n const startVoting = useSelector(\r\n ({ archBoard }) => archBoard?.votingData?.startVotingSession\r\n );\r\n const { isItemToSmall } = useZoomPercentages({ selected: node?.selected });\r\n\r\n const [hoveredHandle, setHoveredHandle] = useState(null);\r\n const [showDots, setShowDots] = useState(false);\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 takeSnapshot,\r\n a_id,\r\n });\r\n }, 200), // Adjust the delay (in milliseconds) as needed\r\n [updateJson, user_data, undo, location, getNodes]\r\n );\r\n const handleColorChange = (color) => {\r\n let updatedNodes = [];\r\n setNodes((nds) => {\r\n updatedNodes = nds.map((nd) => {\r\n if (nd.id === nodeId) {\r\n return {\r\n ...nd,\r\n data: {\r\n ...nd.data,\r\n // fill: color,\r\n style: {\r\n ...nd?.data?.style,\r\n background: color,\r\n },\r\n },\r\n };\r\n }\r\n return nd;\r\n });\r\n return updatedNodes;\r\n });\r\n debouncedUpdateJson(updatedNodes);\r\n };\r\n\r\n function isBackgroundTransparent() {\r\n if (node?.data?.provider === \"shapes\") {\r\n const nodeElement = boardRef?.querySelector(`[data-id=\"${node.id}\"]`);\r\n if (\r\n node?.data?.style?.background &&\r\n node?.data?.style?.background !== \"transparent\"\r\n ) {\r\n return !node?.data?.style?.background;\r\n } else if (node?.data?.style?.iconBg) {\r\n return !node?.data?.style?.iconBg;\r\n } else if (nodeElement) {\r\n const backgroundColor =\r\n nodeElement.querySelectorAll(\"path\")?.[1]?.getAttribute(\"fill\") ||\r\n nodeElement.querySelectorAll(\"path\")?.[1]?.getAttribute(\"stroke\") ||\r\n nodeElement.querySelectorAll(\"path\")?.[0]?.getAttribute(\"fill\") ||\r\n nodeElement.querySelectorAll(\"path\")?.[0]?.getAttribute(\"stroke\") ||\r\n nodeElement.querySelectorAll(\"rect\")?.[1]?.getAttribute(\"fill\") ||\r\n nodeElement.querySelectorAll(\"rect\")?.[1]?.getAttribute(\"stroke\") ||\r\n nodeElement.querySelectorAll(\"rect\")?.[0]?.getAttribute(\"fill\") ||\r\n nodeElement.querySelectorAll(\"rect\")?.[0]?.getAttribute(\"stroke\");\r\n\r\n return !backgroundColor;\r\n }\r\n }\r\n\r\n const background =\r\n node?.data?.style?.background ||\r\n node?.data?.style?.backgroundColor ||\r\n node?.data?.style?.iconBg ||\r\n \"transparent\";\r\n\r\n // Check if the background is explicitly 'transparent'\r\n if (background === \"transparent\" || !node?.data?.style) {\r\n return true;\r\n }\r\n\r\n // Check if the background is in 'rgba' format with 0 opacity\r\n const rgbaRegex =\r\n /^rgba\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*\\d{1,3}\\s*,\\s*0(\\.0+)?\\s*\\)$/;\r\n return rgbaRegex.test(background);\r\n }\r\n const { boardRef } = useSelector((e) => e?.drawboard);\r\n\r\n const {\r\n rightSideHandles = [],\r\n leftSideHandles = [],\r\n topSideHandles = [],\r\n bottomSideHandles = [],\r\n } = useMemo(() => {\r\n if (!node) return { top: [], right: [], bottom: [], left: [] };\r\n\r\n const height = node.height || 100;\r\n\r\n const width = node?.width || 100;\r\n\r\n const createHandles = (length, side) => {\r\n const count = Math.floor(length / HANDLE_SPACING);\r\n return Array.from({ length: count }, (_, i) => ({\r\n id: `${side}-handle-${i}-${nodeId}`,\r\n position: (length / (count + 1)) * (i + 1),\r\n }));\r\n };\r\n\r\n return {\r\n rightSideHandles: createHandles(height, \"right\"),\r\n leftSideHandles: createHandles(height, \"left\"),\r\n topSideHandles: createHandles(width, \"top\"),\r\n bottomSideHandles: createHandles(width, \"bottom\"),\r\n };\r\n }, [node, nodeId]);\r\n\r\n useEffect(() => {\r\n if (node.selected) updateNodeInternals(nodeId);\r\n }, [node.width, node.height, node.selected, updateNodeInternals, nodeId]);\r\n\r\n const toggleToolbarItem = (itemName = null) => {\r\n setActiveToolbarItem((prev) => (prev === itemName ? null : itemName));\r\n };\r\n const isActiveToolbarItem = (itemName) => itemName === activeToolbarItem;\r\n const selectedNodes = getNodes()?.find((val) => val?.selected);\r\n\r\n const IconComponent = Icons[node?.data?.name ?? \"Vertical Fork/Join\"];\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 const handleClickOutside = (event) => {\r\n setShowColor(false);\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener(\"click\", handleClickOutside, true);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickOutside, true);\r\n };\r\n }, [handleClickOutside]);\r\n\r\n return (\r\n setShowDots(true)}\r\n onMouseOut={() => setShowDots(false)}\r\n >\r\n \r\n \r\n {!node?.data?.locked && (\r\n \r\n {\r\n setShowColor(false);\r\n }}\r\n open={showColor}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n {\r\n handleColorChange(color, \"fill\");\r\n }}\r\n />\r\n }\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n\r\n setShowColor(!showColor);\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 {node?.data?.locked ? : }\r\n \r\n \r\n \r\n \r\n \r\n setShowpipeMoreOptions(false)}\r\n open={showpipeMoreOptions}\r\n disableFocusListener\r\n disableHoverListener\r\n disableTouchListener\r\n title={\r\n \r\n }\r\n >\r\n \r\n setShowpipeMoreOptions(!showpipeMoreOptions)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {node.selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !startVoting &&\r\n !copyAsImage &&\r\n !isDownload &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.name !== \"Horizontal Fork/Join\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {node.selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !startVoting &&\r\n !copyAsImage &&\r\n !isDownload &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.name === \"Horizontal Fork/Join\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {((!node.dragging &&\r\n !showExport &&\r\n !isItemToSmall &&\r\n !startVoting &&\r\n !copyAsImage &&\r\n !isDownload &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.name !== \"Horizontal Fork/Join\") ||\r\n (!isDownload &&\r\n !copyAsImage &&\r\n !startVoting &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.name !== \"Horizontal Fork/Join\")) && (\r\n <>\r\n {\r\n setShowDots(true);\r\n setHoveredHandle(\"top\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredHandle(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowDots(true);\r\n setHoveredHandle(\"bottom\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredHandle(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n {((!node.dragging &&\r\n !showExport &&\r\n !isItemToSmall &&\r\n !startVoting &&\r\n !copyAsImage &&\r\n !isDownload &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.name === \"Horizontal Fork/Join\") ||\r\n (!isDownload &&\r\n !copyAsImage &&\r\n !startVoting &&\r\n !node?.data?.data?.locked &&\r\n node?.data?.name === \"Horizontal Fork/Join\")) && (\r\n <>\r\n {\r\n setShowDots(true);\r\n setHoveredHandle(\"left\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredHandle(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n \r\n \r\n {\r\n setShowDots(true);\r\n setHoveredHandle(\"right\");\r\n }}\r\n onMouseLeave={() => {\r\n setShowDots(false);\r\n setHoveredHandle(\"\");\r\n }}\r\n onClick={(e) => {\r\n e.preventDefault();\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n {/* {node?.data?.name === \"Pipe\" ?\r\n :
\r\n \r\n
\r\n } */}\r\n
\r\n \r\n
\r\n\r\n {node?.data?.name !== \"Horizontal Fork/Join\" &&\r\n rightSideHandles.map((handle) => (\r\n \r\n ))}\r\n {node?.data?.name !== \"Horizontal Fork/Join\" &&\r\n leftSideHandles.map((handle) => (\r\n \r\n ))}\r\n {node?.data?.name === \"Horizontal Fork/Join\" &&\r\n topSideHandles.map((handle) => (\r\n \r\n ))}\r\n {node?.data?.name === \"Horizontal Fork/Join\" &&\r\n bottomSideHandles.map((handle) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default memo(PipeNode, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import PipeNode from './PipeNode';\r\n\r\nexport default PipeNode;","import { Box } from \"@mui/material\";\r\nimport { NodeResizeControl, useReactFlow, useViewport } from \"reactflow\";\r\nimport { updateLocalStorage } from \"../../DrawBoard/utils\";\r\nimport { updateJson } from \"../../../CommanFunctions/commanFunctions\";\r\nimport { debounce, omit } from \"lodash\";\r\nimport useZoomPercentages from \"../../../Utils/hooks/useZoomPercentages\";\r\nimport { useUndoRedo } from \"../../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport React from \"react\";\r\nimport { color } from \"../../../Utils/style/color/color\";\r\nimport { addPresentationShowData } from \"../../../Redux/sidebarSlice\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nconst CustomNodeResizeControl = React.memo(\r\n ({ node, textRef, handleOnResize }) => {\r\n const { setNodes, getNodes } = useReactFlow();\r\n const { id } = useParams();\r\n const { zoom } = useViewport();\r\n const sizeAsPerZoom =\r\n (node?.width < node?.height ? node?.width : node?.height) * zoom || 100;\r\n const location = useLocation();\r\n const dispatch = useDispatch();\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n const userRowData = localStorage.getItem(\"user_data\");\r\n const userData = userRowData ? JSON.parse(userRowData) : {};\r\n\r\n const presentation = useSelector(\r\n ({ sidebar }) => sidebar?.presentationShow\r\n );\r\n const presentationShowData = useSelector(\r\n ({ sidebar }) => sidebar?.presentationShowData\r\n );\r\n const getFrameNode = getNodes().filter(\r\n (val) => val.type === \"frame\" && val?.selected\r\n );\r\n\r\n const updateFontSize = debounce((fontSize = null) => {\r\n if (presentation && getFrameNode?.length > 0) {\r\n const differenceData = presentationShowData?.filter(\r\n (item2) => !getNodes()?.some((item1) => item1.id === item2.id)\r\n );\r\n // setNodes((prev) => {\r\n setNodes((prev) => {\r\n const updatedNodes = prev?.map((prev) => {\r\n if (prev.id === node.id) {\r\n return {\r\n ...prev,\r\n data: {\r\n ...prev.data,\r\n isResized: true,\r\n style: {\r\n ...prev.data?.style,\r\n fontSize: fontSize || textRef?.current?.style?.fontSize,\r\n },\r\n },\r\n style: {\r\n ...omit(prev.style, [\"maxWidth\"]),\r\n fontSize: fontSize || textRef?.current?.style?.fontSize,\r\n },\r\n };\r\n }\r\n return prev;\r\n });\r\n dispatch(\r\n addPresentationShowData([...updatedNodes, ...differenceData])\r\n );\r\n\r\n updateLocalStorage(\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 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: 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 takeSnapshot,\r\n a_id,\r\n });\r\n return updatedNodes;\r\n });\r\n //\r\n // });\r\n } else {\r\n setNodes((prev) => {\r\n const updatedNodes = prev?.map((prev) => {\r\n if (prev.id === node.id) {\r\n return {\r\n ...prev,\r\n data: {\r\n ...prev.data,\r\n isResized: true,\r\n style: {\r\n ...prev.data?.style,\r\n fontSize: fontSize || textRef?.current?.style?.fontSize,\r\n },\r\n },\r\n style: {\r\n ...omit(prev.style, [\"maxWidth\"]),\r\n fontSize: fontSize || textRef?.current?.style?.fontSize,\r\n },\r\n };\r\n }\r\n return prev;\r\n });\r\n\r\n updateLocalStorage(\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 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: 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 takeSnapshot,\r\n a_id,\r\n });\r\n\r\n return updatedNodes;\r\n });\r\n }\r\n }, 100);\r\n\r\n const handleOnResizeEnd = () => {\r\n if (!node.data?.isAutoFont) {\r\n setTimeout(() => {\r\n updateFontSize();\r\n }, 500);\r\n }\r\n };\r\n\r\n const {\r\n isWidthLessthan25,\r\n isWidthLessthan50,\r\n isWidthLessthan100,\r\n isWidthLessthan200,\r\n isWidthLessthan300,\r\n } = useZoomPercentages({ selected: node?.selected });\r\n if (sizeAsPerZoom < 25) {\r\n return null;\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\nexport default CustomNodeResizeControl;\r\n","import { Box } from \"@mui/material\";\r\nimport { Handle, useViewport } from \"reactflow\";\r\nimport React, { useState } from \"react\";\r\nimport useZoomPercentages from \"../../../Utils/hooks/useZoomPercentages\";\r\nimport { color } from \"../../../Utils/style/color/color\";\r\n\r\nconst CustomNodeHandles = ({\r\n node,\r\n isNodeSelectionStarted,\r\n showDots,\r\n setShowDots,\r\n}) => {\r\n const { isWidthLessthan25, isWidthLessthan50, isWidthLessthan100 } =\r\n useZoomPercentages({ selected: node?.selected });\r\n\r\n const [hoveredItem, setHoveredItem] = useState(\"\");\r\n const { zoom } = useViewport();\r\n const sizeAsPerZoom = node?.data?.width * zoom || 100;\r\n return (\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 || node.selected <= 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 || node.selected <= 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 || node.selected <= 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 || node.selected <= 0) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(CustomNodeHandles);\r\n","import { Box, Stack, Typography } from \"@mui/material\";\r\nimport { CustomNameTooltip } from \"../../DrawBoard/top-toolbar/components/CustomTooltip\";\r\n\r\nfunction NodeAuthor({ node }) {\r\n const { first_name = \"\", last_name = null, profile_picture = null, profile_color = \"#3EDDFA\" } = node?.data;\r\n\r\n const fullName = [first_name, last_name].filter(Boolean).join(\" \");\r\n\r\n const initials =\r\n last_name\r\n ? `${first_name?.[0]?.toUpperCase() ?? \"\"}${last_name[0]?.toUpperCase()}`\r\n : first_name\r\n ? first_name.slice(0, 2).toUpperCase()\r\n : \"\";\r\n\r\n return (\r\n \r\n {profile_picture ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n {initials}\r\n \r\n \r\n )}\r\n \r\n \r\n {fullName}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default NodeAuthor;","import React, {\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useReactFlow, useViewport } from \"reactflow\";\r\nimport \"../style.scss\";\r\nimport {\r\n debounce,\r\n removeHTMLTags,\r\n updateJson,\r\n} from \"../../../CommanFunctions/commanFunctions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { tipTapExtensions } from \"../../DrawBoard/tip-tap-editor\";\r\nimport { useEditor } from \"@tiptap/react\";\r\nimport MindMapNodesToolbar from \"../common-components/nodeTopToolbar/MindMapNodesToolbar/MindMapNodesToolbar\";\r\nimport { setUpdateVotingData } from \"../../../Redux/archBoardSlice\";\r\nimport VotingCommon from \"../../mind-map/VotingCommon\";\r\nimport { useUndoRedo } from \"../../DrawBoard/dndUndoRedo/UndoRedoProvider\";\r\nimport { omit } from \"lodash\";\r\nimport { updateLocalStorage } from \"../../DrawBoard/utils\";\r\nimport useZoomPercentages from \"../../../Utils/hooks/useZoomPercentages\";\r\nimport CustomNodeResizeControl from \"./CustomNodeResizeControl\";\r\nimport CustomNodeHandles from \"./CustomNodeHandles\";\r\nimport NodeAuthor from \"./NodeAuthor\";\r\nimport useNodeSelectionStarted from \"../../../Utils/hooks/useNodeSelectionStarted\";\r\n\r\nconst StickyNoteEditor = ({ selected, dragging, id: nodeId }) => {\r\n const { id } = useParams();\r\n\r\n const location = useLocation();\r\n let mainRef = useRef(null);\r\n const { getNodes, getNode } = useReactFlow();\r\n\r\n const {\r\n isCommentClickData,\r\n showExport,\r\n copyAsImage,\r\n isDownload,\r\n permission,\r\n } = useSelector((state) => state?.mindMapStore);\r\n\r\n const userData = useSelector((state) => state.common.userData);\r\n\r\n const node = getNode(nodeId);\r\n const { zoom } = useViewport();\r\n const sizeAsPerZoom = node?.data?.width * zoom || 100;\r\n const { isNodeSelectionStarted } = useNodeSelectionStarted({\r\n selected: node?.selected,\r\n });\r\n\r\n const isMultiNodeSelected =\r\n getNodes()?.filter((val) => val?.selected)?.length > 1;\r\n const [showDots, setShowDots] = useState(false);\r\n\r\n const textRef = useRef();\r\n\r\n const { setNodes } = useReactFlow();\r\n\r\n const { isItemToSmall } = useZoomPercentages({ selected: node?.selected });\r\n const dispatch = useDispatch();\r\n const { undo, takeSnapshot } = useUndoRedo();\r\n\r\n const previousNodeDimensions = useRef({\r\n previousWidth: node?.width,\r\n previousHeight: node?.height,\r\n });\r\n\r\n const isAutoFont = false;\r\n // const isAutoFont = node?.data?.isAutoFont ?? true;\r\n\r\n const extensions = tipTapExtensions(\"\");\r\n const editorContentRef = useRef(null);\r\n\r\n const editor = useEditor(\r\n {\r\n element: textRef.current,\r\n extensions: extensions,\r\n content: node?.data?.editorHTML ?? \"\",\r\n editable: false,\r\n autofocus: true,\r\n onBlur: ({ editor }) => {\r\n editor.setEditable(false);\r\n\r\n if (editorContentRef.current !== editor?.getText()) {\r\n takeSnapshot({ nodes: getNodes(), edges: null });\r\n }\r\n },\r\n onUpdate: ({ editor }) => {\r\n const editorContent = editor.getHTML();\r\n debouncedUpdateHTML(editorContent);\r\n if (node.selected && isAutoFont) onEditorUpdateAdjustFontSize();\r\n },\r\n onCreate: ({ editor }) => {\r\n if (node.selected && isAutoFont && editor.getText()?.trim()?.length)\r\n onEditorUpdateAdjustFontSize();\r\n\r\n if (node.selected && editor?.getText()?.length) {\r\n editor.setEditable(true);\r\n editor.commands.focus();\r\n }\r\n if (!editor?.getText()?.trim()?.length) {\r\n editor.commands.setTextAlign(\"center\");\r\n }\r\n },\r\n onFocus: ({ editor }) => {\r\n if (node.selected && isAutoFont && editor.getText()?.trim()?.length)\r\n onEditorUpdateAdjustFontSize();\r\n editorContentRef.current = editor.getText();\r\n if (!editor?.getText()?.trim()?.length)\r\n editor.commands.setTextAlign(\"center\");\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 [textRef.current]\r\n );\r\n const presentation = useSelector(({ sidebar }) => sidebar?.presentationShow);\r\n\r\n useEffect(() => {\r\n if (editor && !editor.isFocused && !presentation) {\r\n editor.commands.setContent(node?.data?.editorHTML);\r\n }\r\n }, [editor, node?.data?.editorHTML]);\r\n\r\n // const presentationShowData = useSelector(\r\n // ({ sidebar }) => sidebar?.presentationShowData\r\n // );\r\n\r\n // useEffect(() => {\r\n // const updatedNodes = presentationShowData?.map((val) => {\r\n // if (val?.id === node?.id) {\r\n // return {\r\n // ...val,\r\n // style: {\r\n // ...val?.style,\r\n // fontSize: textRef.current?.style?.fontSize\r\n // },\r\n // data: {\r\n // ...val?.data,\r\n // editorHTML: editor?.getHTML(),\r\n // style: {\r\n // ...val?.data?.style,\r\n // fontSize: textRef.current?.style?.fontSize\r\n // }\r\n // },\r\n // };\r\n // } else {\r\n // return val;\r\n // }\r\n // });\r\n // dispatch(addPresentationShowData(updatedNodes));\r\n // }, [editor]);\r\n\r\n const debouncedUpdateHTML = useMemo(() => {\r\n return debounce((value) => {\r\n if (!node.selected) return;\r\n if (!editor?.getText()?.trim()?.length) return;\r\n\r\n const oldContent = node?.data?.editorHTML;\r\n const currentContent = editor?.getHTML();\r\n\r\n if (oldContent === currentContent) return;\r\n\r\n updateLocalStorage(\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 const prev = getNodes()?.map((prevNode) => {\r\n if (prevNode?.id === node?.id) {\r\n return {\r\n ...prevNode,\r\n style: {\r\n ...prevNode.style,\r\n fontSize: textRef.current.style.fontSize,\r\n },\r\n data: {\r\n ...omit(prevNode?.data, [\"editorState\"]),\r\n editorHTML: value,\r\n isAutoFont: isAutoFont,\r\n style: {\r\n ...prevNode.data?.style,\r\n fontSize: textRef.current.style.fontSize,\r\n },\r\n },\r\n };\r\n } else {\r\n return prevNode;\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\r\n const shouldTakeSnapshot =\r\n removeHTMLTags(node.data.editorHTML) ===\r\n removeHTMLTags(editor?.getHTML())\r\n ? { takeSnapshot }\r\n : {};\r\n\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 ...shouldTakeSnapshot,\r\n a_id,\r\n });\r\n }, 500);\r\n }, [\r\n id,\r\n location.search,\r\n node.data.editorHTML,\r\n node.data?.isAutoFont,\r\n node?.id,\r\n node.selected,\r\n editor,\r\n ]);\r\n\r\n useEffect(() => {\r\n if (isCommentClickData?.clicked) {\r\n editor.setEditable(false);\r\n }\r\n }, [isCommentClickData?.clicked]);\r\n\r\n const votingData = useSelector(\r\n ({ archBoard }) => archBoard?.votingData?.votingData\r\n );\r\n\r\n const startVoting = useSelector(\r\n ({ archBoard }) => archBoard?.votingData?.startVotingSession\r\n );\r\n\r\n const latestData = votingData[votingData?.length - 1];\r\n\r\n const nodeVote = node?.data?.votingSessionData?.find(\r\n (v) => v?.id === latestData?.id\r\n );\r\n\r\n const updateData = votingData?.map((item) => {\r\n if (item?.id === latestData?.id) {\r\n const newNodeData = {\r\n id: node?.id,\r\n nodeName: node?.data?.label,\r\n vote: nodeVote?.vote,\r\n height: node?.data?.minHeight,\r\n width: node?.data?.minWidth,\r\n background: node?.data?.style?.background,\r\n text: node?.data?.editorHTML ? node?.data?.editorHTML : null,\r\n };\r\n\r\n const updatedNodeData = item.nodeData\r\n ? item.nodeData.map((data) =>\r\n data.id === newNodeData.id ? { ...data, ...newNodeData } : data\r\n )\r\n : [];\r\n\r\n // Add new nodeData entry if it didn't exist before\r\n if (!updatedNodeData.some((data) => data.id === newNodeData.id)) {\r\n updatedNodeData.push(newNodeData);\r\n }\r\n\r\n return {\r\n ...item,\r\n nodeData: updatedNodeData,\r\n };\r\n }\r\n\r\n return item;\r\n });\r\n\r\n useEffect(() => {\r\n if (updateData && startVoting) {\r\n dispatch(\r\n setUpdateVotingData({\r\n id: latestData?.id,\r\n nodeData: updateData?.find((item) => item?.id === latestData?.id)\r\n ?.nodeData,\r\n })\r\n );\r\n }\r\n }, [node?.data?.votingSessionData]);\r\n\r\n const onEditorUpdateAdjustFontSize = useCallback(\r\n ({ height = null, width = null } = {}) => {\r\n if (node.selected) {\r\n const container = mainRef.current;\r\n const textElement = textRef.current;\r\n\r\n if (container && textElement) {\r\n const containerWidth = width || container.offsetWidth;\r\n const containerHeight = height || container.offsetHeight;\r\n\r\n let calculatedFontSize = 100; // Start with a large font size\r\n textElement.style.fontSize = `${calculatedFontSize}px`;\r\n\r\n // Reduce font size until content fits\r\n while (\r\n (textElement.scrollWidth > containerWidth ||\r\n textElement.scrollHeight > containerHeight) &&\r\n calculatedFontSize > 0\r\n ) {\r\n calculatedFontSize -= 1;\r\n textElement.style.fontSize = `${calculatedFontSize}px`;\r\n }\r\n }\r\n }\r\n },\r\n [node.selected]\r\n );\r\n\r\n const adjustFontSizeOnResize = ({ height = null, width = null } = {}) => {\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 = width || container.offsetWidth;\r\n const containerHeight = height || 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 while (\r\n textElement.scrollWidth <= containerWidth &&\r\n textElement.scrollHeight <= containerHeight &&\r\n currentFontSize < 1000 // Optional max limit\r\n ) {\r\n currentFontSize += 0.5;\r\n textElement.style.fontSize = `${currentFontSize}px`;\r\n }\r\n } else {\r\n while (\r\n (textElement.scrollWidth > containerWidth ||\r\n textElement.scrollHeight > containerHeight) &&\r\n currentFontSize > 1 // Minimum font size\r\n ) {\r\n currentFontSize -= 0.5;\r\n textElement.style.fontSize = `${currentFontSize}px`;\r\n }\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 };\r\n\r\n const handleOnResize = (_, { height, width }) => {\r\n if (isAutoFont) adjustFontSizeOnResize(height, width);\r\n };\r\n\r\n useEffect(() => {\r\n if (!node.selected) setShowDots(false);\r\n }, [node.selected]);\r\n\r\n useEffect(() => {\r\n if (node.data.locked) return;\r\n if (!editor) return;\r\n if (!node.selected) {\r\n editor.setEditable(false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [node.selected, editor]);\r\n\r\n useEffect(() => {\r\n const currentNodeDom = document.querySelector(`[data-id=\"${nodeId}\"]`);\r\n if (!currentNodeDom || !editor) return;\r\n\r\n const handleNodeKeyDown = (e) => {\r\n if (!node.selected) return; // Prevent typing if node is not selected\r\n const isValidKey = /^[a-zA-Z\\d~!@#$%^&*()_+\\-={}\\[\\]|\\\\:;\"'<>,.?/]$/.test(\r\n e.key\r\n );\r\n\r\n if (!editor.isFocused && isValidKey) {\r\n editor.setEditable(true); // Enable editing\r\n editor.commands.clearContent(); // Clear existing content\r\n editor.commands.focus(\"end\"); // Focus on the editor\r\n editor.commands.insertContent(e.key);\r\n }\r\n };\r\n\r\n if (node.selected && !editor?.isEditable && !editor?.isFocused) {\r\n currentNodeDom.addEventListener(\"keydown\", handleNodeKeyDown, {\r\n once: true,\r\n });\r\n }\r\n if (!node.selected) {\r\n currentNodeDom.removeEventListener(\"keydown\", handleNodeKeyDown);\r\n }\r\n return () => {\r\n currentNodeDom.removeEventListener(\"keydown\", handleNodeKeyDown);\r\n if (!node.selected) {\r\n editor.setEditable(false);\r\n }\r\n };\r\n }, [node.selected, editor, nodeId]);\r\n\r\n const handleSingleClick = () => {\r\n if (node.data.locked) return;\r\n if (editor.isEditable) 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 useEffect(() => {\r\n if (node.data.locked) editor?.setEditable(false);\r\n }, [node.data.locked, editor]);\r\n\r\n const className = useMemo(() => {\r\n let strClass = \"\";\r\n if (!node?.selected && isCommentClickData?.clicked)\r\n strClass += \" cursor-comment\";\r\n\r\n return strClass;\r\n }, [node]);\r\n\r\n return (\r\n <>\r\n setShowDots(true)}\r\n onMouseOut={() => setShowDots(false)}\r\n >\r\n \r\n {sizeAsPerZoom > 25 &&\r\n selected &&\r\n !showExport &&\r\n !isNodeSelectionStarted &&\r\n !copyAsImage &&\r\n !isDownload &&\r\n !node?.data?.data?.locked && (\r\n \r\n )}\r\n\r\n {editor &&\r\n !dragging &&\r\n selected &&\r\n !isNodeSelectionStarted &&\r\n !isMultiNodeSelected && (\r\n \r\n )}\r\n\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }}\r\n onDoubleClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }}\r\n />\r\n\r\n {node?.data?.showAuthor && }\r\n \r\n \r\n \r\n {((!dragging &&\r\n !showExport &&\r\n !isItemToSmall &&\r\n !copyAsImage &&\r\n !isDownload &&\r\n !node?.data?.data?.locked) ||\r\n (!isDownload &&\r\n !copyAsImage &&\r\n !startVoting &&\r\n !node?.data?.data?.locked)) && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(StickyNoteEditor, (prevProps, nextProps) => {\r\n return prevProps.data.globalDragging && nextProps.data.globalDragging;\r\n});\r\n","import StickyNoteEditor from \"./StickyNoteEditor\";\r\n\r\nexport default StickyNoteEditor;"],"names":["RotatableNode","_ref","id","sourcePosition","Position","Left","targetPosition","Right","data","rotateControlRef","useRef","updateNodeInternals","useUpdateNodeInternals","rotation","setRotation","useState","useEffect","current","selection","select","dragHandler","drag","on","evt","dx","x","dy","y","deg","Math","atan2","PI","call","_jsx","_Fragment","children","_jsxs","style","transform","concat","className","ref","label","Handle","position","type","Box","sx","width","height","background","borderRadius","React","handleId","handlePosition","show","setHoveredHandle","side","top","innerSx","handleSx","zoom","useViewport","left","connectionMode","isConnectable","_objectSpread","zIndex","border","onMouseEnter","onMouseLeave","color","primaryColor","pointerEvents","user_data","localStorage","getItem","Icons","Pipe","Uml_Vertical_Fork","Uml_Horizontal_Fork","Activation","Uml_Activation_11","iconTypes","PipeNode","_getNodes","_node$data$name","_node$data11","_node$data12","_node$data12$data","_node$data13","_node$data14","_node$data15","_node$data15$style","_node$data16","_node$data17","_node$data18","_node$data19","_node$data19$data","_node$data20","_node$data21","_node$data21$data","_node$data22","_node$data23","_node$data23$data","_node$data24","_node$data25","_node$data25$data","_node$data26","_node$data27","_node$data27$data","_node$data28","_node$data29","_node$data29$data","_node$data30","_node$data31","_node$data31$style","_node$data32","_node$data33","_node$data34","_node$data35","_node$data36","_node$data37","nodeId","getNode","getNodes","setNodes","useReactFlow","node","dispatch","useDispatch","undo","takeSnapshot","useUndoRedo","useParams","location","useLocation","showColor","setShowColor","activeToolbarItem","setActiveToolbarItem","mainRef","frameMoreOptionsRef","showpipeMoreOptions","setShowpipeMoreOptions","isMultipleNodesSelected","filter","selected","length","isNodeSelectionStarted","useNodeSelectionStarted","showExport","copyAsImage","isDownload","permission","useSelector","state","mindMapStore","startVoting","_ref2","_archBoard$votingData","archBoard","votingData","startVotingSession","isItemToSmall","useZoomPercentages","hoveredHandle","showDots","setShowDots","debouncedUpdateJson","useCallback","debounce","tempNodes","_parsedData","parsedData","JSON","parse","a_id","URLSearchParams","search","get","updateJson","json","architecture_json","nodes","lastUpdatedBy","user_id","boardRef","e","drawboard","rightSideHandles","leftSideHandles","topSideHandles","bottomSideHandles","useMemo","right","bottom","createHandles","count","floor","Array","from","_","i","find","val","IconComponent","name","handleClickOutside","event","document","addEventListener","removeEventListener","locked","onMouseOver","onMouseOut","NodeToolbar","isVisible","dragging","globalDragging","Top","offset","display","alignItems","gap","px","boxShadow","CustomTooltip","PopperProps","disablePortal","onClose","open","disableFocusListener","disableHoverListener","disableTouchListener","title","BackgroundTool","colorHeading","selectedNodeColor","toRgba","onChangeColor","updatedNodes","nds","map","nd","_nd$data","handleColorChange","ToolTipWithDisabled","placement","tooltipTitle","disabled","IconButton","padding","flexDirection","justifyContent","onClick","stopPropagation","IcChangeBg","fill","CustomNameTooltip","arrow","transition","cursor","toggleLockUnlock","_parsedData3","updatedNode","_parsedData2","setItem","stringify","lastEvent","_nd$data2","IcLockLocked","IcLockUnLocked","mt","FrameMoreMenus","showRename","showCopyAsImage","showLockUnlock","showCopyLink","showLinkTo","showDelete","showDuplicate","showBringToFrontAndBack","showFrame","setShowFrameMoreOptions","IcMenuDotsVertical","NodeResizeControl","variant","opacity","minHeight","minWidth","preventDefault","Bottom","iconStyle","iconType","handle","SideHandle","nodeSelected","memo","prevProps","nextProps","textRef","handleOnResize","sizeAsPerZoom","userRowData","userData","presentation","sidebar","presentationShow","presentationShowData","_ref3","getFrameNode","updateFontSize","fontSize","arguments","undefined","differenceData","item2","some","item1","prev","_prev$data","_textRef$current","_textRef$current$styl","_textRef$current2","_textRef$current2$sty","isResized","omit","addPresentationShowData","updateLocalStorage","_prev$data2","_textRef$current3","_textRef$current3$sty","_textRef$current4","_textRef$current4$sty","handleOnResizeEnd","_node$data","isAutoFont","setTimeout","isWidthLessthan25","isWidthLessthan50","isWidthLessthan100","isWidthLessthan200","isWidthLessthan300","onResizeEnd","onResize","backgroundColor","keepAspectRatio","transformOrigin","bgcolor","CustomNodeHandles","hoveredItem","setHoveredItem","visibility","maxWidth","maxHeight","transitionDuration","onConnect","params","console","log","_first_name$0$toUpper","_first_name$","_last_name$","first_name","last_name","profile_picture","profile_color","fullName","Boolean","join","initials","toUpperCase","slice","Stack","direction","paddingLeft","objectFit","src","alt","Typography","lineHeight","alignContent","flexWrap","whiteSpace","overflow","textOverflow","textAlign","StickyNoteEditor","_getNodes$filter","_node$data$editorHTML","_node$data2","_node$data4","_node$data6","_node$data7","_node$data7$votingSes","_node$data15$data","_editor$getText7","_editor$getText7$trim","_node$data$style$text","_node$data17$style","_node$data18$style","_node$data20$data","_node$data21$style","_node$data23$style","_node$data$style$font","_node$data24$style","_node$data26$data","isCommentClickData","common","isMultiNodeSelected","previousWidth","previousHeight","extensions","tipTapExtensions","editorContentRef","editor","useEditor","element","content","editorHTML","editable","autofocus","onBlur","setEditable","getText","edges","onUpdate","editorContent","getHTML","debouncedUpdateHTML","onCreate","_ref4","_editor$getText2","_editor$getText3","_editor$getText3$trim","commands","focus","trim","setTextAlign","onFocus","_ref5","_editor$getText5","_editor$getText5$trim","editorProps","handlePaste","view","pastedContent","clipboardData","getData","_ref6","_node$data3","isFocused","setContent","value","_editor$getText6","_editor$getText6$trim","_node$data5","_getNodes2","prevNode","_prevNode$data","shouldTakeSnapshot","removeHTMLTags","clicked","_ref7","_ref8","_archBoard$votingData2","latestData","nodeVote","votingSessionData","v","updateData","item","_node$data8","_node$data9","_node$data10","_node$data11$style","newNodeData","nodeName","vote","text","updatedNodeData","nodeData","push","_updateData$find","setUpdateVotingData","container","textElement","containerWidth","offsetWidth","containerHeight","offsetHeight","calculatedFontSize","scrollWidth","scrollHeight","currentNodeDom","querySelector","handleNodeKeyDown","isValidKey","test","key","clearContent","insertContent","isEditable","once","strClass","onDoubleClick","handleDoubleClick","selectAll","handleSingleClick","CustomNodeResizeControl","_ref9","MindMapNodesToolbar","currFontSize","String","simpleRef","fontFamily","showAuthor","NodeAuthor","VotingCommon"],"sourceRoot":""}