{"version":3,"file":"static/js/main-b2abbccf.e75e55a9.js","mappings":"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","sources":["Utils/commonData.js","Utils/files/contryList.js","Utils/functions/updateTeamIdInLocalStorage.js","Utils/grouping-utils.js","Utils/hooks/GlobalErrorBountry.js","Utils/hooks/createHieararchy.js","Utils/hooks/d3-hierarchy.js","Utils/hooks/useCustomeNavigation.js","Utils/hooks/useKeyboardShortcut.js","Utils/hooks/useNodeSelectionStarted.js","Utils/hooks/usePlanChangeClick.js","Utils/hooks/useSocketContext.js","Utils/hooks/useZoomPercentages.js","Utils/style/color/color.js","Utils/style/common/commonStyles.js","Utils/style/font/fontsizes.js","Utils/style/weight/fontWeight.js"],"sourcesContent":["import { Box, Stack } from \"@mui/material\";\r\nimport {\r\n IcDotVotingIcon,\r\n IcSortingRowsOutlined,\r\n IcStoryPointIcon,\r\n} from \"../assets/icon-components\";\r\n\r\nexport const rowsPerPageOptions = [\r\n {\r\n label: \"10\",\r\n value: \"10\",\r\n },\r\n {\r\n label: \"25\",\r\n value: \"25\",\r\n },\r\n {\r\n label: \"50\",\r\n value: \"50\",\r\n },\r\n {\r\n label: \"100\",\r\n value: \"100\",\r\n },\r\n];\r\n\r\nexport const tableIcons = {\r\n ArrowDownwardIcon: (props) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n SyncAltIcon: () => (\r\n \r\n \r\n \r\n ),\r\n};\r\n\r\nexport const bgColors = [\r\n \"#93E7F8\",\r\n \"#A3B1F3\",\r\n \"#FDB2B2\",\r\n \"#A3F3E0\",\r\n \"#F2B4E5\",\r\n \"#B5B0E8\",\r\n \"#FFE2AA\",\r\n];\r\n\r\nexport const storyPointIcons = [\r\n {\r\n id: 1,\r\n icon: IcStoryPointIcon,\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 {\r\n id: 2,\r\n icon: IcStoryPointIcon,\r\n fill: \"#DBECFF\",\r\n stroke: \"#1A84F9\",\r\n d: \"M18.1164 24V15.012L18.7324 15.488H16.0304V13.78H20.0904V24H18.1164Z\",\r\n },\r\n {\r\n id: 3,\r\n icon: IcStoryPointIcon,\r\n fill: \"#FBE4E2\",\r\n stroke: \"#FF5E51\",\r\n d: \"M15.0213 23V21.04C15.0213 20.6107 15.0867 20.2373 15.2173 19.92C15.3573 19.6027 15.5813 19.3227 15.8893 19.08C16.2067 18.828 16.622 18.59 17.1353 18.366L18.8713 17.596C19.3007 17.4 19.6273 17.162 19.8513 16.882C20.0847 16.5927 20.2013 16.224 20.2013 15.776C20.2013 15.2813 20.052 14.8893 19.7533 14.6C19.464 14.3013 19.0487 14.152 18.5073 14.152C17.966 14.152 17.546 14.3013 17.2473 14.6C16.958 14.8987 16.8133 15.314 16.8133 15.846H14.8953C14.8953 15.2113 15.0307 14.642 15.3013 14.138C15.572 13.6247 15.9733 13.2233 16.5053 12.934C17.0373 12.6353 17.7047 12.486 18.5073 12.486C19.31 12.486 19.9773 12.6307 20.5093 12.92C21.0413 13.2093 21.4427 13.5967 21.7133 14.082C21.984 14.558 22.1193 15.09 22.1193 15.678V15.86C22.1193 16.6253 21.9047 17.2647 21.4753 17.778C21.046 18.282 20.416 18.7207 19.5853 19.094L17.8493 19.864C17.5227 20.004 17.294 20.1533 17.1633 20.312C17.0327 20.4613 16.9673 20.6667 16.9673 20.928V21.824L16.4913 21.306H22.1613V23H15.0213Z\",\r\n },\r\n {\r\n id: 4,\r\n icon: IcStoryPointIcon,\r\n fill: \"#D1F0E6\",\r\n stroke: \"#059669\",\r\n d: \"M18.5164 23.066C17.7324 23.066 17.0558 22.9167 16.4864 22.618C15.9264 22.3194 15.4971 21.9227 15.1984 21.428C14.8998 20.924 14.7504 20.364 14.7504 19.748H16.6684C16.6684 20.2427 16.8318 20.644 17.1584 20.952C17.4944 21.2507 17.9471 21.4 18.5164 21.4C18.8991 21.4 19.2258 21.33 19.4964 21.19C19.7764 21.0407 19.9911 20.84 20.1404 20.588C20.2898 20.3267 20.3644 20.028 20.3644 19.692C20.3644 19.188 20.2011 18.7774 19.8744 18.46C19.5478 18.1334 19.0998 17.97 18.5304 17.97C18.2504 17.97 18.0031 18.0074 17.7884 18.082C17.5831 18.1567 17.4011 18.2547 17.2424 18.376L16.3324 16.808L19.6924 14.512L19.5664 14.274H15.1704V12.58H21.8484V14.624L18.3904 16.92L17.3124 16.724C17.4898 16.668 17.6811 16.626 17.8864 16.598C18.0918 16.5607 18.3158 16.542 18.5584 16.542C19.3331 16.542 19.9958 16.6774 20.5464 16.948C21.1064 17.2094 21.5358 17.5734 21.8344 18.04C22.1331 18.5067 22.2824 19.0434 22.2824 19.65V19.832C22.2824 20.42 22.1331 20.9614 21.8344 21.456C21.5358 21.9414 21.1064 22.3334 20.5464 22.632C19.9864 22.9214 19.3098 23.066 18.5164 23.066Z\",\r\n },\r\n {\r\n id: 5,\r\n icon: IcStoryPointIcon,\r\n fill: \"#FFEDCE\",\r\n stroke: \"#FFA50E\",\r\n d: \"M18.6792 23.066C17.8766 23.066 17.1859 22.9074 16.6072 22.59C16.0379 22.2727 15.5992 21.8527 15.2912 21.33C14.9926 20.798 14.8432 20.2194 14.8432 19.594H16.7612C16.7612 19.9487 16.8406 20.2614 16.9992 20.532C17.1672 20.8027 17.3959 21.0174 17.6852 21.176C17.9746 21.3254 18.3106 21.4 18.6932 21.4C19.0946 21.4 19.4399 21.316 19.7292 21.148C20.0186 20.98 20.2379 20.7514 20.3872 20.462C20.5459 20.1727 20.6252 19.8414 20.6252 19.468C20.6252 19.104 20.5459 18.7774 20.3872 18.488C20.2379 18.1894 20.0186 17.956 19.7292 17.788C19.4492 17.6107 19.1086 17.522 18.7072 17.522C18.3712 17.522 18.0539 17.5874 17.7552 17.718C17.4566 17.8487 17.2232 18.0214 17.0552 18.236H15.2212L15.7392 12.58H21.6612V14.274H16.6072L17.3072 13.728L16.9712 17.256L16.4952 17.116C16.7659 16.808 17.0972 16.5514 17.4892 16.346C17.8812 16.1407 18.3759 16.038 18.9732 16.038C19.7292 16.038 20.3732 16.192 20.9052 16.5C21.4372 16.808 21.8432 17.2187 22.1232 17.732C22.4032 18.236 22.5432 18.7867 22.5432 19.384V19.566C22.5432 20.1727 22.3939 20.742 22.0952 21.274C21.7966 21.806 21.3579 22.24 20.7792 22.576C20.2099 22.9027 19.5099 23.066 18.6792 23.066Z\",\r\n },\r\n {\r\n id: 6,\r\n icon: IcStoryPointIcon,\r\n fill: \"#FAE8FF\",\r\n stroke: \"#D461F0\",\r\n d: \"M18.6057 23.08C17.8217 23.08 17.131 22.954 16.5337 22.702C15.9363 22.45 15.4697 22.0907 15.1337 21.624C14.7977 21.1574 14.6297 20.602 14.6297 19.958C14.6297 19.5287 14.7043 19.1507 14.8537 18.824C15.003 18.488 15.2083 18.2034 15.4697 17.97C15.731 17.7274 16.039 17.5454 16.3937 17.424V17.256C16.123 17.1347 15.8757 16.976 15.6517 16.78C15.437 16.584 15.2643 16.346 15.1337 16.066C15.0123 15.786 14.9517 15.464 14.9517 15.1C14.9517 14.484 15.1103 13.9707 15.4277 13.56C15.7543 13.14 16.193 12.8274 16.7437 12.622C17.3037 12.4074 17.9243 12.3 18.6057 12.3C19.2963 12.3 19.917 12.4074 20.4677 12.622C21.0277 12.8274 21.4663 13.14 21.7837 13.56C22.1103 13.9707 22.2737 14.484 22.2737 15.1C22.2737 15.464 22.2083 15.786 22.0777 16.066C21.9563 16.346 21.7883 16.584 21.5737 16.78C21.359 16.976 21.1117 17.1347 20.8317 17.256V17.424C21.1863 17.5454 21.4943 17.7274 21.7557 17.97C22.0263 18.2127 22.2317 18.502 22.3717 18.838C22.521 19.1647 22.5957 19.538 22.5957 19.958C22.5957 20.602 22.4277 21.1574 22.0917 21.624C21.765 22.0907 21.303 22.45 20.7057 22.702C20.1083 22.954 19.4083 23.08 18.6057 23.08ZM18.6057 21.442C19.035 21.442 19.4037 21.3767 19.7117 21.246C20.0197 21.1154 20.2577 20.924 20.4257 20.672C20.5937 20.42 20.6777 20.1167 20.6777 19.762C20.6777 19.4074 20.5937 19.1087 20.4257 18.866C20.267 18.614 20.029 18.4227 19.7117 18.292C19.4037 18.1614 19.035 18.096 18.6057 18.096C18.1857 18.096 17.8217 18.1614 17.5137 18.292C17.2057 18.4227 16.9677 18.614 16.7997 18.866C16.6317 19.1087 16.5477 19.4074 16.5477 19.762C16.5477 20.1167 16.6317 20.42 16.7997 20.672C16.9677 20.924 17.2057 21.1154 17.5137 21.246C17.8217 21.3767 18.1857 21.442 18.6057 21.442ZM18.6057 16.612C19.147 16.612 19.5717 16.5 19.8797 16.276C20.197 16.0427 20.3557 15.7067 20.3557 15.268C20.3557 14.8107 20.197 14.4747 19.8797 14.26C19.5623 14.0454 19.1377 13.938 18.6057 13.938C18.0737 13.938 17.649 14.05 17.3317 14.274C17.0237 14.4887 16.8697 14.82 16.8697 15.268C16.8697 15.7067 17.0283 16.0427 17.3457 16.276C17.663 16.5 18.083 16.612 18.6057 16.612Z\",\r\n },\r\n {\r\n id: 7,\r\n icon: IcStoryPointIcon,\r\n fill: \"#D0F4FD\",\r\n stroke: \"#01C1EF\",\r\n d: \"M13.8488 22.9992V14.0112L14.4648 14.4872H11.7628V12.7792H15.8228V22.9992H13.8488ZM21.4901 23.2652C20.7061 23.2652 20.0294 23.1159 19.4601 22.8172C18.9001 22.5186 18.4707 22.1219 18.1721 21.6272C17.8734 21.1232 17.7241 20.5632 17.7241 19.9472H19.6421C19.6421 20.4419 19.8054 20.8432 20.1321 21.1512C20.4681 21.4499 20.9207 21.5992 21.4901 21.5992C21.8727 21.5992 22.1994 21.5292 22.4701 21.3892C22.7501 21.2399 22.9647 21.0392 23.1141 20.7872C23.2634 20.5259 23.3381 20.2272 23.3381 19.8912C23.3381 19.3872 23.1747 18.9766 22.8481 18.6592C22.5214 18.3326 22.0734 18.1692 21.5041 18.1692C21.2241 18.1692 20.9767 18.2066 20.7621 18.2812C20.5567 18.3559 20.3747 18.4539 20.2161 18.5752L19.3061 17.0072L22.6661 14.7112L22.5401 14.4732H18.1441V12.7792H24.8221V14.8232L21.3641 17.1192L20.2861 16.9232C20.4634 16.8672 20.6547 16.8252 20.8601 16.7972C21.0654 16.7599 21.2894 16.7412 21.5321 16.7412C22.3067 16.7412 22.9694 16.8766 23.5201 17.1472C24.0801 17.4086 24.5094 17.7726 24.8081 18.2392C25.1067 18.7059 25.2561 19.2426 25.2561 19.8492V20.0312C25.2561 20.6192 25.1067 21.1606 24.8081 21.6552C24.5094 22.1406 24.0801 22.5326 23.5201 22.8312C22.9601 23.1206 22.2834 23.2652 21.4901 23.2652Z\",\r\n },\r\n {\r\n id: 8,\r\n icon: IcStoryPointIcon,\r\n fill: \"#EEE9FF\",\r\n stroke: \"#9471FE\",\r\n d: \"M12.162 23V21.04C12.162 20.6107 12.2273 20.2373 12.358 19.92C12.498 19.6027 12.722 19.3227 13.03 19.08C13.3473 18.828 13.7626 18.59 14.276 18.366L16.012 17.596C16.4413 17.4 16.768 17.162 16.992 16.882C17.2253 16.5927 17.342 16.224 17.342 15.776C17.342 15.2813 17.1926 14.8893 16.894 14.6C16.6046 14.3013 16.1893 14.152 15.648 14.152C15.1066 14.152 14.6866 14.3013 14.388 14.6C14.0986 14.8987 13.954 15.314 13.954 15.846H12.036C12.036 15.2113 12.1713 14.642 12.442 14.138C12.7126 13.6247 13.114 13.2233 13.646 12.934C14.178 12.6353 14.8453 12.486 15.648 12.486C16.4506 12.486 17.118 12.6307 17.65 12.92C18.182 13.2093 18.5833 13.5967 18.854 14.082C19.1246 14.558 19.26 15.09 19.26 15.678V15.86C19.26 16.6253 19.0453 17.2647 18.616 17.778C18.1866 18.282 17.5566 18.7207 16.726 19.094L14.99 19.864C14.6633 20.004 14.4346 20.1533 14.304 20.312C14.1733 20.4613 14.108 20.6667 14.108 20.928V21.824L13.632 21.306H19.302V23H12.162ZM22.6193 23V14.012L23.2353 14.488H20.5333V12.78H24.5933V23H22.6193Z\",\r\n },\r\n];\r\n\r\nexport const dotVotingIcons = [\r\n {\r\n id: 1,\r\n icon: IcDotVotingIcon,\r\n fill: \"#FFEDCE\",\r\n stroke: \"#FFA50E\",\r\n },\r\n {\r\n id: 2,\r\n icon: IcDotVotingIcon,\r\n fill: \"#DBECFF\",\r\n stroke: \"#1A84F9\",\r\n },\r\n {\r\n id: 3,\r\n icon: IcDotVotingIcon,\r\n fill: \"#FBE4E2\",\r\n stroke: \"#FF5E51\",\r\n },\r\n {\r\n id: 4,\r\n icon: IcDotVotingIcon,\r\n fill: \"#D1F0E6\",\r\n stroke: \"#059669\",\r\n },\r\n {\r\n id: 5,\r\n icon: IcDotVotingIcon,\r\n fill: \"#EEE9FF\",\r\n stroke: \"#9471FE\",\r\n },\r\n {\r\n id: 6,\r\n icon: IcDotVotingIcon,\r\n fill: \"#FAE8FF\",\r\n stroke: \"#D461F0\",\r\n },\r\n {\r\n id: 7,\r\n icon: IcDotVotingIcon,\r\n fill: \"#D0F4FD\",\r\n stroke: \"#2AD5FE\",\r\n },\r\n {\r\n id: 8,\r\n icon: IcDotVotingIcon,\r\n fill: \"#FFF7D1\",\r\n stroke: \"#FED200\",\r\n },\r\n {\r\n id: 9,\r\n icon: IcDotVotingIcon,\r\n fill: \"#C6FCE9\",\r\n stroke: \"#00DC8F\",\r\n },\r\n {\r\n id: 10,\r\n icon: IcDotVotingIcon,\r\n fill: \"#E6E6E6\",\r\n stroke: \"#848382\",\r\n },\r\n];\r\n","export const LOCAL_COUNTRIES = [\r\n { code: \"AD\", label: \"Andorra\", phone: \"376\" },\r\n {\r\n code: \"AE\",\r\n label: \"United Arab Emirates\",\r\n phone: \"971\",\r\n },\r\n { code: \"AF\", label: \"Afghanistan\", phone: \"93\" },\r\n {\r\n code: \"AG\",\r\n label: \"Antigua and Barbuda\",\r\n phone: \"1-268\",\r\n },\r\n { code: \"AI\", label: \"Anguilla\", phone: \"1-264\" },\r\n { code: \"AL\", label: \"Albania\", phone: \"355\" },\r\n { code: \"AM\", label: \"Armenia\", phone: \"374\" },\r\n { code: \"AO\", label: \"Angola\", phone: \"244\" },\r\n { code: \"AQ\", label: \"Antarctica\", phone: \"672\" },\r\n { code: \"AR\", label: \"Argentina\", phone: \"54\" },\r\n { code: \"AS\", label: \"American Samoa\", phone: \"1-684\" },\r\n { code: \"AT\", label: \"Austria\", phone: \"43\" },\r\n {\r\n code: \"AU\",\r\n label: \"Australia\",\r\n phone: \"61\",\r\n suggested: true,\r\n },\r\n { code: \"AW\", label: \"Aruba\", phone: \"297\" },\r\n { code: \"AX\", label: \"Alland Islands\", phone: \"358\" },\r\n { code: \"AZ\", label: \"Azerbaijan\", phone: \"994\" },\r\n {\r\n code: \"BA\",\r\n label: \"Bosnia and Herzegovina\",\r\n phone: \"387\",\r\n },\r\n { code: \"BB\", label: \"Barbados\", phone: \"1-246\" },\r\n { code: \"BD\", label: \"Bangladesh\", phone: \"880\" },\r\n { code: \"BE\", label: \"Belgium\", phone: \"32\" },\r\n { code: \"BF\", label: \"Burkina Faso\", phone: \"226\" },\r\n { code: \"BG\", label: \"Bulgaria\", phone: \"359\" },\r\n { code: \"BH\", label: \"Bahrain\", phone: \"973\" },\r\n { code: \"BI\", label: \"Burundi\", phone: \"257\" },\r\n { code: \"BJ\", label: \"Benin\", phone: \"229\" },\r\n { code: \"BL\", label: \"Saint Barthelemy\", phone: \"590\" },\r\n { code: \"BM\", label: \"Bermuda\", phone: \"1-441\" },\r\n { code: \"BN\", label: \"Brunei Darussalam\", phone: \"673\" },\r\n { code: \"BO\", label: \"Bolivia\", phone: \"591\" },\r\n { code: \"BR\", label: \"Brazil\", phone: \"55\" },\r\n { code: \"BS\", label: \"Bahamas\", phone: \"1-242\" },\r\n { code: \"BT\", label: \"Bhutan\", phone: \"975\" },\r\n { code: \"BV\", label: \"Bouvet Island\", phone: \"47\" },\r\n { code: \"BW\", label: \"Botswana\", phone: \"267\" },\r\n { code: \"BY\", label: \"Belarus\", phone: \"375\" },\r\n { code: \"BZ\", label: \"Belize\", phone: \"501\" },\r\n {\r\n code: \"CA\",\r\n label: \"Canada\",\r\n phone: \"1\",\r\n suggested: true,\r\n },\r\n {\r\n code: \"CC\",\r\n label: \"Cocos (Keeling) Islands\",\r\n phone: \"61\",\r\n },\r\n {\r\n code: \"CD\",\r\n label: \"Congo, Democratic Republic of the\",\r\n phone: \"243\",\r\n },\r\n {\r\n code: \"CF\",\r\n label: \"Central African Republic\",\r\n phone: \"236\",\r\n },\r\n {\r\n code: \"CG\",\r\n label: \"Congo, Republic of the\",\r\n phone: \"242\",\r\n },\r\n { code: \"CH\", label: \"Switzerland\", phone: \"41\" },\r\n { code: \"CI\", label: \"Cote d'Ivoire\", phone: \"225\" },\r\n { code: \"CK\", label: \"Cook Islands\", phone: \"682\" },\r\n { code: \"CL\", label: \"Chile\", phone: \"56\" },\r\n { code: \"CM\", label: \"Cameroon\", phone: \"237\" },\r\n { code: \"CN\", label: \"China\", phone: \"86\" },\r\n { code: \"CO\", label: \"Colombia\", phone: \"57\" },\r\n { code: \"CR\", label: \"Costa Rica\", phone: \"506\" },\r\n { code: \"CU\", label: \"Cuba\", phone: \"53\" },\r\n { code: \"CV\", label: \"Cape Verde\", phone: \"238\" },\r\n { code: \"CW\", label: \"Curacao\", phone: \"599\" },\r\n { code: \"CX\", label: \"Christmas Island\", phone: \"61\" },\r\n { code: \"CY\", label: \"Cyprus\", phone: \"357\" },\r\n { code: \"CZ\", label: \"Czech Republic\", phone: \"420\" },\r\n {\r\n code: \"DE\",\r\n label: \"Germany\",\r\n phone: \"49\",\r\n suggested: true,\r\n },\r\n { code: \"DJ\", label: \"Djibouti\", phone: \"253\" },\r\n { code: \"DK\", label: \"Denmark\", phone: \"45\" },\r\n { code: \"DM\", label: \"Dominica\", phone: \"1-767\" },\r\n {\r\n code: \"DO\",\r\n label: \"Dominican Republic\",\r\n phone: \"1-809\",\r\n },\r\n { code: \"DZ\", label: \"Algeria\", phone: \"213\" },\r\n { code: \"EC\", label: \"Ecuador\", phone: \"593\" },\r\n { code: \"EE\", label: \"Estonia\", phone: \"372\" },\r\n { code: \"EG\", label: \"Egypt\", phone: \"20\" },\r\n { code: \"EH\", label: \"Western Sahara\", phone: \"212\" },\r\n { code: \"ER\", label: \"Eritrea\", phone: \"291\" },\r\n { code: \"ES\", label: \"Spain\", phone: \"34\" },\r\n { code: \"ET\", label: \"Ethiopia\", phone: \"251\" },\r\n { code: \"FI\", label: \"Finland\", phone: \"358\" },\r\n { code: \"FJ\", label: \"Fiji\", phone: \"679\" },\r\n {\r\n code: \"FK\",\r\n label: \"Falkland Islands (Malvinas)\",\r\n phone: \"500\",\r\n },\r\n {\r\n code: \"FM\",\r\n label: \"Micronesia, Federated States of\",\r\n phone: \"691\",\r\n },\r\n { code: \"FO\", label: \"Faroe Islands\", phone: \"298\" },\r\n {\r\n code: \"FR\",\r\n label: \"France\",\r\n phone: \"33\",\r\n suggested: true,\r\n },\r\n { code: \"GA\", label: \"Gabon\", phone: \"241\" },\r\n { code: \"GB\", label: \"United Kingdom\", phone: \"44\" },\r\n { code: \"GD\", label: \"Grenada\", phone: \"1-473\" },\r\n { code: \"GE\", label: \"Georgia\", phone: \"995\" },\r\n { code: \"GF\", label: \"French Guiana\", phone: \"594\" },\r\n { code: \"GG\", label: \"Guernsey\", phone: \"44\" },\r\n { code: \"GH\", label: \"Ghana\", phone: \"233\" },\r\n { code: \"GI\", label: \"Gibraltar\", phone: \"350\" },\r\n { code: \"GL\", label: \"Greenland\", phone: \"299\" },\r\n { code: \"GM\", label: \"Gambia\", phone: \"220\" },\r\n { code: \"GN\", label: \"Guinea\", phone: \"224\" },\r\n { code: \"GP\", label: \"Guadeloupe\", phone: \"590\" },\r\n { code: \"GQ\", label: \"Equatorial Guinea\", phone: \"240\" },\r\n { code: \"GR\", label: \"Greece\", phone: \"30\" },\r\n {\r\n code: \"GS\",\r\n label: \"South Georgia and the South Sandwich Islands\",\r\n phone: \"500\",\r\n },\r\n { code: \"GT\", label: \"Guatemala\", phone: \"502\" },\r\n { code: \"GU\", label: \"Guam\", phone: \"1-671\" },\r\n { code: \"GW\", label: \"Guinea-Bissau\", phone: \"245\" },\r\n { code: \"GY\", label: \"Guyana\", phone: \"592\" },\r\n { code: \"HK\", label: \"Hong Kong\", phone: \"852\" },\r\n {\r\n code: \"HM\",\r\n label: \"Heard Island and McDonald Islands\",\r\n phone: \"672\",\r\n },\r\n { code: \"HN\", label: \"Honduras\", phone: \"504\" },\r\n { code: \"HR\", label: \"Croatia\", phone: \"385\" },\r\n { code: \"HT\", label: \"Haiti\", phone: \"509\" },\r\n { code: \"HU\", label: \"Hungary\", phone: \"36\" },\r\n { code: \"ID\", label: \"Indonesia\", phone: \"62\" },\r\n { code: \"IE\", label: \"Ireland\", phone: \"353\" },\r\n { code: \"IL\", label: \"Israel\", phone: \"972\" },\r\n { code: \"IM\", label: \"Isle of Man\", phone: \"44\" },\r\n { code: \"IN\", label: \"India\", phone: \"91\" },\r\n {\r\n code: \"IO\",\r\n label: \"British Indian Ocean Territory\",\r\n phone: \"246\",\r\n },\r\n { code: \"IQ\", label: \"Iraq\", phone: \"964\" },\r\n {\r\n code: \"IR\",\r\n label: \"Iran, Islamic Republic of\",\r\n phone: \"98\",\r\n },\r\n { code: \"IS\", label: \"Iceland\", phone: \"354\" },\r\n { code: \"IT\", label: \"Italy\", phone: \"39\" },\r\n { code: \"JE\", label: \"Jersey\", phone: \"44\" },\r\n { code: \"JM\", label: \"Jamaica\", phone: \"1-876\" },\r\n { code: \"JO\", label: \"Jordan\", phone: \"962\" },\r\n {\r\n code: \"JP\",\r\n label: \"Japan\",\r\n phone: \"81\",\r\n suggested: true,\r\n },\r\n { code: \"KE\", label: \"Kenya\", phone: \"254\" },\r\n { code: \"KG\", label: \"Kyrgyzstan\", phone: \"996\" },\r\n { code: \"KH\", label: \"Cambodia\", phone: \"855\" },\r\n { code: \"KI\", label: \"Kiribati\", phone: \"686\" },\r\n { code: \"KM\", label: \"Comoros\", phone: \"269\" },\r\n {\r\n code: \"KN\",\r\n label: \"Saint Kitts and Nevis\",\r\n phone: \"1-869\",\r\n },\r\n {\r\n code: \"KP\",\r\n label: \"Korea, Democratic People's Republic of\",\r\n phone: \"850\",\r\n },\r\n { code: \"KR\", label: \"Korea, Republic of\", phone: \"82\" },\r\n { code: \"KW\", label: \"Kuwait\", phone: \"965\" },\r\n { code: \"KY\", label: \"Cayman Islands\", phone: \"1-345\" },\r\n { code: \"KZ\", label: \"Kazakhstan\", phone: \"7\" },\r\n {\r\n code: \"LA\",\r\n label: \"Lao People's Democratic Republic\",\r\n phone: \"856\",\r\n },\r\n { code: \"LB\", label: \"Lebanon\", phone: \"961\" },\r\n { code: \"LC\", label: \"Saint Lucia\", phone: \"1-758\" },\r\n { code: \"LI\", label: \"Liechtenstein\", phone: \"423\" },\r\n { code: \"LK\", label: \"Sri Lanka\", phone: \"94\" },\r\n { code: \"LR\", label: \"Liberia\", phone: \"231\" },\r\n { code: \"LS\", label: \"Lesotho\", phone: \"266\" },\r\n { code: \"LT\", label: \"Lithuania\", phone: \"370\" },\r\n { code: \"LU\", label: \"Luxembourg\", phone: \"352\" },\r\n { code: \"LV\", label: \"Latvia\", phone: \"371\" },\r\n { code: \"LY\", label: \"Libya\", phone: \"218\" },\r\n { code: \"MA\", label: \"Morocco\", phone: \"212\" },\r\n { code: \"MC\", label: \"Monaco\", phone: \"377\" },\r\n {\r\n code: \"MD\",\r\n label: \"Moldova, Republic of\",\r\n phone: \"373\",\r\n },\r\n { code: \"ME\", label: \"Montenegro\", phone: \"382\" },\r\n {\r\n code: \"MF\",\r\n label: \"Saint Martin (French part)\",\r\n phone: \"590\",\r\n },\r\n { code: \"MG\", label: \"Madagascar\", phone: \"261\" },\r\n { code: \"MH\", label: \"Marshall Islands\", phone: \"692\" },\r\n {\r\n code: \"MK\",\r\n label: \"Macedonia, the Former Yugoslav Republic of\",\r\n phone: \"389\",\r\n },\r\n { code: \"ML\", label: \"Mali\", phone: \"223\" },\r\n { code: \"MM\", label: \"Myanmar\", phone: \"95\" },\r\n { code: \"MN\", label: \"Mongolia\", phone: \"976\" },\r\n { code: \"MO\", label: \"Macao\", phone: \"853\" },\r\n {\r\n code: \"MP\",\r\n label: \"Northern Mariana Islands\",\r\n phone: \"1-670\",\r\n },\r\n { code: \"MQ\", label: \"Martinique\", phone: \"596\" },\r\n { code: \"MR\", label: \"Mauritania\", phone: \"222\" },\r\n { code: \"MS\", label: \"Montserrat\", phone: \"1-664\" },\r\n { code: \"MT\", label: \"Malta\", phone: \"356\" },\r\n { code: \"MU\", label: \"Mauritius\", phone: \"230\" },\r\n { code: \"MV\", label: \"Maldives\", phone: \"960\" },\r\n { code: \"MW\", label: \"Malawi\", phone: \"265\" },\r\n { code: \"MX\", label: \"Mexico\", phone: \"52\" },\r\n { code: \"MY\", label: \"Malaysia\", phone: \"60\" },\r\n { code: \"MZ\", label: \"Mozambique\", phone: \"258\" },\r\n { code: \"NA\", label: \"Namibia\", phone: \"264\" },\r\n { code: \"NC\", label: \"New Caledonia\", phone: \"687\" },\r\n { code: \"NE\", label: \"Niger\", phone: \"227\" },\r\n { code: \"NF\", label: \"Norfolk Island\", phone: \"672\" },\r\n { code: \"NG\", label: \"Nigeria\", phone: \"234\" },\r\n { code: \"NI\", label: \"Nicaragua\", phone: \"505\" },\r\n { code: \"NL\", label: \"Netherlands\", phone: \"31\" },\r\n { code: \"NO\", label: \"Norway\", phone: \"47\" },\r\n { code: \"NP\", label: \"Nepal\", phone: \"977\" },\r\n { code: \"NR\", label: \"Nauru\", phone: \"674\" },\r\n { code: \"NU\", label: \"Niue\", phone: \"683\" },\r\n { code: \"NZ\", label: \"New Zealand\", phone: \"64\" },\r\n { code: \"OM\", label: \"Oman\", phone: \"968\" },\r\n { code: \"PA\", label: \"Panama\", phone: \"507\" },\r\n { code: \"PE\", label: \"Peru\", phone: \"51\" },\r\n { code: \"PF\", label: \"French Polynesia\", phone: \"689\" },\r\n { code: \"PG\", label: \"Papua New Guinea\", phone: \"675\" },\r\n { code: \"PH\", label: \"Philippines\", phone: \"63\" },\r\n { code: \"PK\", label: \"Pakistan\", phone: \"92\" },\r\n { code: \"PL\", label: \"Poland\", phone: \"48\" },\r\n {\r\n code: \"PM\",\r\n label: \"Saint Pierre and Miquelon\",\r\n phone: \"508\",\r\n },\r\n { code: \"PN\", label: \"Pitcairn\", phone: \"870\" },\r\n { code: \"PR\", label: \"Puerto Rico\", phone: \"1\" },\r\n {\r\n code: \"PS\",\r\n label: \"Palestine, State of\",\r\n phone: \"970\",\r\n },\r\n { code: \"PT\", label: \"Portugal\", phone: \"351\" },\r\n { code: \"PW\", label: \"Palau\", phone: \"680\" },\r\n { code: \"PY\", label: \"Paraguay\", phone: \"595\" },\r\n { code: \"QA\", label: \"Qatar\", phone: \"974\" },\r\n { code: \"RE\", label: \"Reunion\", phone: \"262\" },\r\n { code: \"RO\", label: \"Romania\", phone: \"40\" },\r\n { code: \"RS\", label: \"Serbia\", phone: \"381\" },\r\n { code: \"RU\", label: \"Russian Federation\", phone: \"7\" },\r\n { code: \"RW\", label: \"Rwanda\", phone: \"250\" },\r\n { code: \"SA\", label: \"Saudi Arabia\", phone: \"966\" },\r\n { code: \"SB\", label: \"Solomon Islands\", phone: \"677\" },\r\n { code: \"SC\", label: \"Seychelles\", phone: \"248\" },\r\n { code: \"SD\", label: \"Sudan\", phone: \"249\" },\r\n { code: \"SE\", label: \"Sweden\", phone: \"46\" },\r\n { code: \"SG\", label: \"Singapore\", phone: \"65\" },\r\n { code: \"SH\", label: \"Saint Helena\", phone: \"290\" },\r\n { code: \"SI\", label: \"Slovenia\", phone: \"386\" },\r\n {\r\n code: \"SJ\",\r\n label: \"Svalbard and Jan Mayen\",\r\n phone: \"47\",\r\n },\r\n { code: \"SK\", label: \"Slovakia\", phone: \"421\" },\r\n { code: \"SL\", label: \"Sierra Leone\", phone: \"232\" },\r\n { code: \"SM\", label: \"San Marino\", phone: \"378\" },\r\n { code: \"SN\", label: \"Senegal\", phone: \"221\" },\r\n { code: \"SO\", label: \"Somalia\", phone: \"252\" },\r\n { code: \"SR\", label: \"Suriname\", phone: \"597\" },\r\n { code: \"SS\", label: \"South Sudan\", phone: \"211\" },\r\n {\r\n code: \"ST\",\r\n label: \"Sao Tome and Principe\",\r\n phone: \"239\",\r\n },\r\n { code: \"SV\", label: \"El Salvador\", phone: \"503\" },\r\n {\r\n code: \"SX\",\r\n label: \"Sint Maarten (Dutch part)\",\r\n phone: \"1-721\",\r\n },\r\n {\r\n code: \"SY\",\r\n label: \"Syrian Arab Republic\",\r\n phone: \"963\",\r\n },\r\n { code: \"SZ\", label: \"Swaziland\", phone: \"268\" },\r\n {\r\n code: \"TC\",\r\n label: \"Turks and Caicos Islands\",\r\n phone: \"1-649\",\r\n },\r\n { code: \"TD\", label: \"Chad\", phone: \"235\" },\r\n {\r\n code: \"TF\",\r\n label: \"French Southern Territories\",\r\n phone: \"262\",\r\n },\r\n { code: \"TG\", label: \"Togo\", phone: \"228\" },\r\n { code: \"TH\", label: \"Thailand\", phone: \"66\" },\r\n { code: \"TJ\", label: \"Tajikistan\", phone: \"992\" },\r\n { code: \"TK\", label: \"Tokelau\", phone: \"690\" },\r\n { code: \"TL\", label: \"Timor-Leste\", phone: \"670\" },\r\n { code: \"TM\", label: \"Turkmenistan\", phone: \"993\" },\r\n { code: \"TN\", label: \"Tunisia\", phone: \"216\" },\r\n { code: \"TO\", label: \"Tonga\", phone: \"676\" },\r\n { code: \"TR\", label: \"Turkey\", phone: \"90\" },\r\n {\r\n code: \"TT\",\r\n label: \"Trinidad and Tobago\",\r\n phone: \"1-868\",\r\n },\r\n { code: \"TV\", label: \"Tuvalu\", phone: \"688\" },\r\n {\r\n code: \"TW\",\r\n label: \"Taiwan, Province of China\",\r\n phone: \"886\",\r\n },\r\n {\r\n code: \"TZ\",\r\n label: \"United Republic of Tanzania\",\r\n phone: \"255\",\r\n },\r\n { code: \"UA\", label: \"Ukraine\", phone: \"380\" },\r\n { code: \"UG\", label: \"Uganda\", phone: \"256\" },\r\n {\r\n code: \"US\",\r\n label: \"United States\",\r\n phone: \"1\",\r\n suggested: true,\r\n },\r\n { code: \"UY\", label: \"Uruguay\", phone: \"598\" },\r\n { code: \"UZ\", label: \"Uzbekistan\", phone: \"998\" },\r\n {\r\n code: \"VA\",\r\n label: \"Holy See (Vatican City State)\",\r\n phone: \"379\",\r\n },\r\n {\r\n code: \"VC\",\r\n label: \"Saint Vincent and the Grenadines\",\r\n phone: \"1-784\",\r\n },\r\n { code: \"VE\", label: \"Venezuela\", phone: \"58\" },\r\n {\r\n code: \"VG\",\r\n label: \"British Virgin Islands\",\r\n phone: \"1-284\",\r\n },\r\n {\r\n code: \"VI\",\r\n label: \"US Virgin Islands\",\r\n phone: \"1-340\",\r\n },\r\n { code: \"VN\", label: \"Vietnam\", phone: \"84\" },\r\n { code: \"VU\", label: \"Vanuatu\", phone: \"678\" },\r\n { code: \"WF\", label: \"Wallis and Futuna\", phone: \"681\" },\r\n { code: \"WS\", label: \"Samoa\", phone: \"685\" },\r\n { code: \"XK\", label: \"Kosovo\", phone: \"383\" },\r\n { code: \"YE\", label: \"Yemen\", phone: \"967\" },\r\n { code: \"YT\", label: \"Mayotte\", phone: \"262\" },\r\n { code: \"ZA\", label: \"South Africa\", phone: \"27\" },\r\n { code: \"ZM\", label: \"Zambia\", phone: \"260\" },\r\n { code: \"ZW\", label: \"Zimbabwe\", phone: \"263\" },\r\n];\r\n","import { updateUserData } from \"../../Redux/common-reducer\";\r\nimport { setCurrentTeam } from \"../../Redux/sidebarSlice\";\r\nimport { store } from \"../../Redux/store\";\r\n\r\nexport const updateTeamIdInLocalStorage = (team_id) => {\r\n store.dispatch(updateUserData({ team_id: team_id }));\r\n store.dispatch(setCurrentTeam(team_id));\r\n if (!team_id) {\r\n localStorage.removeItem(\"active_team\", team_id);\r\n } else {\r\n localStorage.setItem(\"active_team\", team_id);\r\n }\r\n};\r\n","import { useCallback, memo } from 'react';\r\nimport {\r\n getNodePositionWithOrigin,\r\n rectToBox,\r\n boxToRect,\r\n Box,\r\n useReactFlow,\r\n useStoreApi,\r\n NodeProps,\r\n NodeToolbar,\r\n useStore,\r\n NodeResizer,\r\n} from 'reactflow';\r\nimport commanService from '../CommanFunctions/commanService';\r\n\r\n\r\n// we have to make sure that parent nodes are rendered before their children\r\nexport const sortNodes = (a, b) => {\r\n if (a.type === b.type) {\r\n return 0;\r\n }\r\n return a.type === 'group' && b.type !== 'group' ? -1 : 1;\r\n};\r\n\r\nexport const getId = (prefix = 'node') => `${prefix}_${Math.random() * 10000}`;\r\n\r\nexport const getNodePositionInsideParent = (node, groupNode) => {\r\n\r\n node = JSON.parse(JSON.stringify(node));\r\n const position = node.position ?? { x: 0, y: 0 };\r\n const nodeWidth = node.width ?? 0;\r\n const nodeHeight = node.height ?? 0;\r\n const groupWidth = groupNode.width ?? 0;\r\n const groupHeight = groupNode.height ?? 0;\r\n\r\n if (position.x < groupNode.positionAbsolute.x) {\r\n position.x = 0;\r\n } else if (position.x + nodeWidth > groupNode.positionAbsolute.x + groupWidth) {\r\n position.x = groupWidth - nodeWidth;\r\n } else {\r\n position.x = position.x - groupNode.positionAbsolute.x;\r\n }\r\n\r\n if (position.y < groupNode.positionAbsolute.y) {\r\n position.y = 0;\r\n } else if (position.y + nodeHeight > groupNode.positionAbsolute.y + groupHeight) {\r\n position.y = groupHeight - nodeHeight;\r\n } else {\r\n position.y = position.y - groupNode.positionAbsolute.y;\r\n }\r\n return position;\r\n};\r\n\r\nexport const getBoundsOfBoxes = (box1, box2) => ({\r\n x: Math.min(box1.x, box2.x),\r\n y: Math.min(box1.y, box2.y),\r\n x2: Math.max(box1.x2, box2.x2),\r\n y2: Math.max(box1.y2, box2.y2),\r\n});\r\n\r\nexport const getRelativeNodesBounds = (nodes, nodeOrigin = [0, 0]) => {\r\n if (nodes.length === 0) {\r\n return { x: 0, y: 0, width: 0, height: 0 };\r\n }\r\n\r\n const box = nodes.reduce(\r\n (currBox, node) => {\r\n const { x, y } = getNodePositionWithOrigin(node, nodeOrigin);\r\n return getBoundsOfBoxes(\r\n currBox,\r\n rectToBox({\r\n x,\r\n y,\r\n width: node.width || 0,\r\n height: node.height || 0,\r\n })\r\n );\r\n },\r\n { x: Infinity, y: Infinity, x2: -Infinity, y2: -Infinity }\r\n );\r\n\r\n return boxToRect(box);\r\n};\r\n\r\n\r\n\r\nexport function useDetachNodes() {\r\n const { setNodes } = useReactFlow();\r\n const store = useStoreApi();\r\n\r\n const detachNodes = useCallback(\r\n (ids, removeParentId, cb) => {\r\n const { nodeInternals } = store.getState();\r\n let nextNodes = Array.from(nodeInternals.values()).map((n) => {\r\n if (ids.includes(n.id) && n.parentNode) {\r\n const parentNode = nodeInternals.get(n.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 }\r\n return n;\r\n });\r\n nextNodes = nextNodes.filter((n) => !removeParentId || n.id !== removeParentId);\r\n cb(nextNodes)\r\n setNodes(nextNodes);\r\n },\r\n [setNodes, store]\r\n );\r\n\r\n return detachNodes;\r\n}\r\n\r\n\r\n\r\n\r\n","import React, { Component } from \"react\";\r\nimport { Stack, Typography } from \"@mui/material\";\r\nimport { s3AssetsUrl } from \"../../Components/DrawBoard/const\";\r\nimport CommonLink from \"../../common-components/buttons/CommonLink\";\r\n\r\nclass GlobalErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hasError: false, error: null, errorInfo: null };\r\n }\r\n\r\n static getDerivedStateFromError(error) {\r\n // Update state so the next render will show the fallback UI\r\n return { hasError: true, error };\r\n }\r\n\r\n shouldComponentUpdate() {\r\n if (this.state.hasError) {\r\n // don't remove this code --- By Ashish Malaviya\r\n // if (\r\n // this.state.error &&\r\n // this.state.error.toString().includes(\"is not defined\")\r\n // ) {\r\n // console.log(\"The error is related to an undefined variable in code.\");\r\n // }\r\n const localErrorReload = localStorage.getItem(\"error_reload\");\r\n if (localErrorReload) {\r\n if (JSON.parse(localErrorReload) === true) {\r\n localStorage.clear();\r\n window.location.href = \"/login\";\r\n } else {\r\n window.localStorage.setItem(\"error_reload\", JSON.stringify(true));\r\n // window.location.reload();\r\n }\r\n } else {\r\n window.localStorage.setItem(\"error_reload\", JSON.stringify(true));\r\n // window.location.reload();\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // You can also log the error to an error reporting service\r\n this.setState({ errorInfo });\r\n }\r\n\r\n render() {\r\n return this.state.hasError ? (\r\n \r\n \r\n \r\n Technical Issues\r\n \r\n \r\n This page has technical issues, so you can visit another page or{\" \"}\r\n window.location.reload()}\r\n >\r\n Refresh Page.\r\n \r\n {/* window.location.reload()}\r\n >\r\n Refresh Page.\r\n */}\r\n \r\n \r\n ) : (\r\n this.props.children\r\n );\r\n }\r\n}\r\n\r\nexport default GlobalErrorBoundary;\r\n","import { hierarchy } from \"d3-hierarchy\";\r\nimport { flextree } from \"d3-flextree\";\r\n\r\nexport const createVerticalTreeLayout = (\r\n nodes,\r\n rootNodeId,\r\n newNodeId = null,\r\n afterNodeId = null,\r\n beforeNodeId = null\r\n) => {\r\n const rootNode = nodes.find((node) => node.id === rootNodeId);\r\n\r\n const defaultWidth = {\r\n orgChart: 210,\r\n card: 227,\r\n frame: 350,\r\n };\r\n\r\n if (!rootNode) throw new Error(\"Root node not found\");\r\n\r\n const createHierarchyData = (node) => {\r\n const newNode = nodes.find((n) => n.id === newNodeId);\r\n const parentNodeOfNewNode = newNode?.parentNode;\r\n\r\n let children = nodes.filter((child) => child.parentNode === node.id);\r\n const currentNode = nodes.find((n) => n.id === node.id);\r\n if (currentNode?.data?.childrenOrder) {\r\n children = currentNode.data.childrenOrder.filter((child) =>\r\n nodes.some((nd) => (nd.id === child.id && nd?.parentNode === child?.parentNode))\r\n );\r\n }\r\n if (\r\n newNodeId &&\r\n !afterNodeId &&\r\n !beforeNodeId &&\r\n node.id === parentNodeOfNewNode\r\n ) {\r\n if (!children.map((child) => child.id).includes(newNodeId)) {\r\n if (newNodeId === children[0]?.id) {\r\n children = [newNode, ...children];\r\n } else {\r\n children = [...children, newNode];\r\n }\r\n }\r\n }\r\n\r\n // If we're inserting a new node after a specific node\r\n if (newNodeId && afterNodeId) {\r\n const afterNodeIndex = children.findIndex(\r\n (child) => child.id === afterNodeId\r\n );\r\n if (afterNodeIndex !== -1) {\r\n const newNode = nodes.find((n) => n.id === newNodeId);\r\n if (newNode) {\r\n // Remove the new node from its current position (if it exists)\r\n children = children.filter((n) => n.id !== newNodeId);\r\n // Insert the new node after the specified node\r\n children.splice(afterNodeIndex + 1, 0, newNode);\r\n }\r\n }\r\n }\r\n\r\n // If we're inserting a new node before a specific node\r\n if (newNodeId && beforeNodeId) {\r\n const beforeNodeIndex = children.findIndex(\r\n (child) => child.id === beforeNodeId\r\n );\r\n\r\n if (beforeNodeIndex !== -1) {\r\n const newNode = nodes.find((n) => n.id === newNodeId);\r\n if (newNode) {\r\n // Remove the new node from its current position (if it exists)\r\n children = children.filter((n) => n.id !== newNodeId);\r\n // Insert the new node before the specified node\r\n children.splice(beforeNodeIndex, 0, newNode);\r\n }\r\n }\r\n }\r\n // Create a new object with the node's properties and add childrenOrder\r\n const nodeWithOrder = {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n childrenOrder: children,\r\n },\r\n };\r\n\r\n nodeWithOrder.children = children.map((child) =>\r\n createHierarchyData(child)\r\n );\r\n\r\n return nodeWithOrder;\r\n };\r\n\r\n const calculateLayout = () => {\r\n const rootData = { ...rootNode, children: [] };\r\n\r\n const hierarchyData = createHierarchyData(rootData);\r\n\r\n const root = hierarchy(hierarchyData);\r\n\r\n const nodeSize = (node) => {\r\n const originalNode = nodes.find((n) => n.id === node.data.id);\r\n const height = originalNode?.height < 100 ? 95 : originalNode?.height;\r\n\r\n if (originalNode?.type === \"frame\") {\r\n return [defaultWidth[originalNode.type] || 100, 80];\r\n }\r\n\r\n return [\r\n originalNode?.width || originalNode?.style?.width || defaultWidth[originalNode?.type],\r\n originalNode?.height || originalNode?.style?.height || 80,\r\n ];\r\n };\r\n\r\n const flexTree = flextree()\r\n .nodeSize(nodeSize)\r\n .spacing((a, b) => (a.parent === b.parent ? 45 : 45));\r\n\r\n return flexTree(root).descendants().slice(1);\r\n };\r\n\r\n const allNodes = calculateLayout();\r\n\r\n const createPositionedNodes = (treeNodes) => {\r\n return treeNodes\r\n .map((treeNode) => {\r\n const node = nodes.find((n) => n.id === treeNode.data.id);\r\n if (!node) return null;\r\n\r\n const parentNode = nodes.find((n) => n.id === node.parentNode);\r\n const parentPosition = parentNode?.positionAbsolute || { x: 0, y: 0 };\r\n const getNodeWidth = (n) => {\r\n return n?.width ? n?.width : defaultWidth[n?.type];\r\n }\r\n const additionalXOffset = (getNodeWidth(node) - getNodeWidth(parentNode)) / 2;\r\n\r\n // Calculate position for non-manually positioned nodes\r\n let positionAbsolute;\r\n\r\n positionAbsolute = {\r\n x: parentPosition.x + treeNode.x - (parentNode ? treeNode.parent.x : 0) - additionalXOffset,\r\n y: parentPosition.y + 150 + (parentNode?.height || 178),\r\n };\r\n\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n childrenOrder: treeNode.data?.data?.childrenOrder,\r\n },\r\n positionAbsolute,\r\n position: {\r\n x: positionAbsolute.x - parentPosition.x,\r\n y: positionAbsolute.y - parentPosition.y,\r\n },\r\n };\r\n })\r\n .filter(Boolean);\r\n };\r\n\r\n const positionedNodes = createPositionedNodes(allNodes);\r\n\r\n const rootNodeChildrenOrder =\r\n createHierarchyData(rootNode)?.data?.childrenOrder;\r\n\r\n const rootNodeWithPosition = {\r\n ...rootNode,\r\n data: {\r\n ...rootNode.data,\r\n childrenOrder: rootNodeChildrenOrder || [],\r\n },\r\n // position: { x: rootNode.position.x, y: rootNode.position.y },\r\n // positionAbsolute: { x: rootNode.positionAbsolute.x, y: rootNode.positionAbsolute.y },\r\n };\r\n\r\n const allPositionedNodes = [rootNodeWithPosition, ...positionedNodes];\r\n\r\n return { nodes: allPositionedNodes };\r\n};\r\n","import { hierarchy } from \"d3-hierarchy\";\r\nimport { flextree } from \"d3-flextree\";\r\n\r\nfunction preventOverlappingNodes(nodes) {\r\n const checkOverlap = (nodeA, nodeB) => {\r\n const aX1 = nodeA.positionAbsolute.x;\r\n const aY1 = nodeA.positionAbsolute.y;\r\n const aX2 = aX1 + nodeA.width;\r\n const aY2 = aY1 + nodeA.height;\r\n\r\n const bX1 = nodeB.positionAbsolute.x;\r\n const bY1 = nodeB.positionAbsolute.y;\r\n const bX2 = bX1 + nodeB.width;\r\n const bY2 = bY1 + nodeB.height;\r\n\r\n return aX1 < bX2 && aX2 > bX1 && aY1 < bY2 && aY2 > bY1;\r\n };\r\n\r\n const moveNode = (node, otherNode) => {\r\n if (node.data.addition === \"horizontal\") {\r\n // Move vertically if the addition is horizontal\r\n node.positionAbsolute.y = otherNode.positionAbsolute.y + otherNode.height + 40; // Move down\r\n } else if (node.data.addition === \"vertical\") {\r\n // Move horizontally if the addition is vertical\r\n node.positionAbsolute.x = otherNode.positionAbsolute.x + otherNode.width + 40; // Move right\r\n } else {\r\n // Default to horizontal movement if data.addition is not defined\r\n node.positionAbsolute.x = otherNode.positionAbsolute.x + otherNode.width + 40;\r\n }\r\n\r\n // Update relative position based on positionAbsolute\r\n const parentNode = nodes.find(n => n.id === node.parentNode);\r\n const parentPosition = parentNode ? parentNode.positionAbsolute : { x: 0, y: 0 };\r\n \r\n node.position = {\r\n x: node.positionAbsolute.x - parentPosition.x,\r\n y: node.positionAbsolute.y - parentPosition.y,\r\n };\r\n };\r\n\r\n const processNodeOverlaps = (nodes) => {\r\n let changed = false;\r\n\r\n for (let i = 0; i < nodes.length; i++) {\r\n for (let j = i + 1; j < nodes.length; j++) {\r\n const nodeA = nodes[i];\r\n const nodeB = nodes[j];\r\n\r\n if (checkOverlap(nodeA, nodeB)) {\r\n // Check which node can be moved\r\n if (nodeA.data.manuallyPositioned || nodeA.data.type === \"parent\") {\r\n moveNode(nodeB, nodeA);\r\n } else if (nodeB.data.manuallyPositioned || nodeB.data.type === \"parent\") {\r\n moveNode(nodeA, nodeB);\r\n } else {\r\n moveNode(nodeB, nodeA); // Move node B if neither are manually positioned or a parent\r\n }\r\n\r\n changed = true; // Mark that a node was moved\r\n }\r\n }\r\n }\r\n\r\n return changed;\r\n };\r\n\r\n // Recursively check for overlaps and move nodes until no changes occur\r\n let nodesChanged = true;\r\n while (nodesChanged) {\r\n nodesChanged = processNodeOverlaps(nodes);\r\n }\r\n\r\n return nodes;\r\n}\r\n\r\nexport const createTreeLayout = (\r\n nodes,\r\n rootNodeId,\r\n direction,\r\n newNodeId = null,\r\n afterNodeId = null,\r\n) => {\r\n const rootNode = nodes.find((node) => node.id === rootNodeId);\r\n if (!rootNode) throw new Error(\"Root node not found\");\r\n\r\n // const createHierarchyData = (node, side) => ({\r\n // ...node,\r\n // children: nodes\r\n // .filter((child) => child.parentNode === node.id && child.data.side === side)\r\n // .map((child) => createHierarchyData(child, side)),\r\n // });\r\n nodes = nodes.filter((nd) => !nd.hidden);\r\n\r\n const createHierarchyData = (node, side) => {\r\n const newNode = nodes.find((n) => n.id === newNodeId);\r\n const parentNodeOfNewNode = newNode?.parentNode;\r\n\r\n let children = nodes.filter(\r\n (child) => child.parentNode === node.id && child.data.side === side\r\n );\r\n const currentNode = nodes.find((n) => n.id === node.id);\r\n if (currentNode?.data?.childrenOrder && currentNode.data.childrenOrder.length > 0) {\r\n children = currentNode.data.childrenOrder.filter((child) =>\r\n nodes.some((nd) => nd.id === child.id)\r\n );\r\n } else if (\r\n currentNode?.id === rootNodeId &&\r\n currentNode?.data?.[`${side}ChildrenOrder`] && \r\n currentNode.data[`${side}ChildrenOrder`].length > 0\r\n ) {\r\n children = currentNode.data?.[`${side}ChildrenOrder`].filter((child) =>\r\n nodes.some((nd) => nd.id === child.id)\r\n );\r\n }\r\n if (\r\n newNodeId &&\r\n !afterNodeId &&\r\n node.id === parentNodeOfNewNode &&\r\n newNode.data.side === side\r\n ) {\r\n if (!children.map((child) => child.id).includes(newNodeId)) {\r\n children = [...children, newNode];\r\n }\r\n }\r\n\r\n // If we're inserting a new node after a specific node\r\n if (newNodeId && afterNodeId) {\r\n const afterNodeIndex = children.findIndex(\r\n (child) => child.id === afterNodeId\r\n );\r\n if (afterNodeIndex !== -1) {\r\n const newNode = nodes.find((n) => n.id === newNodeId);\r\n if (newNode) {\r\n // Remove the new node from its current position (if it exists)\r\n children = children.filter((n) => n.id !== newNodeId);\r\n // Insert the new node after the specified node\r\n children.splice(afterNodeIndex + 1, 0, newNode);\r\n }\r\n }\r\n }\r\n\r\n // Create a new object with the node's properties and add childrenOrder\r\n const nodeWithOrder = {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n childrenOrder: children,\r\n },\r\n };\r\n\r\n nodeWithOrder.children = children.map((child) =>\r\n createHierarchyData(child, side)\r\n );\r\n\r\n return nodeWithOrder;\r\n };\r\n\r\n const isHorizontal = direction === \"horizontal\";\r\n\r\n const nodeWidth = (nd) => {\r\n return nd?.width < 120 ? 120 : nd?.width;\r\n }\r\n\r\n const calculateLayout = (side) => {\r\n const sideRootData = { ...rootNode, children: [] };\r\n const hierarchyData = createHierarchyData(sideRootData, side);\r\n const root = hierarchy(hierarchyData);\r\n\r\n const nodeSize = (node) => {\r\n const originalNode = nodes.find((n) => n.id === node.data.id);\r\n const height = originalNode?.height < 100 ? 95 : originalNode?.height;\r\n const widthData = originalNode?.data?.designType === \"nine\" ? 114 : 114;\r\n return isHorizontal\r\n ? [height || 95, originalNode?.width ? nodeWidth(originalNode) : 120]\r\n : [originalNode?.width || widthData, height || 95];\r\n };\r\n\r\n const nodeGap = isHorizontal ? 6 : 45;\r\n const nodeLevelGap = isHorizontal ? 6 : 45;\r\n\r\n const flexTree = flextree()\r\n .nodeSize(nodeSize)\r\n .spacing((a, b) => (a.parent === b.parent ? nodeGap : nodeLevelGap));\r\n\r\n return flexTree(root).descendants().slice(1);\r\n };\r\n\r\n const leftNodes = calculateLayout(\"left\");\r\n const rightNodes = calculateLayout(\"right\");\r\n const topNodes = calculateLayout(\"top\");\r\n const bottomNodes = calculateLayout(\"bottom\");\r\n\r\n const createPositionedNodes = (treeNodes, side) => {\r\n return treeNodes\r\n .map((treeNode) => {\r\n const node = nodes.find((n) => n.id === treeNode.data.id);\r\n if (!node) return null;\r\n\r\n const parentNode = nodes.find((n) => n.id === node.parentNode);\r\n const parentPosition = parentNode?.positionAbsolute || { x: 0, y: 0 };\r\n\r\n // Check if the node has been manually positioned\r\n if (!node.data?.autoLayout && node.data?.manuallyPositioned) {\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n childrenOrder: treeNode.data?.data?.childrenOrder,\r\n },\r\n };\r\n }\r\n\r\n // Calculate position for non-manually positioned nodes\r\n let positionAbsolute;\r\n if (isHorizontal) {\r\n const isFirstLevel = treeNode.depth === 1;\r\n const xOffset = side === \"left\" ? -150 : 150;\r\n const additionalXOffset = isFirstLevel && side === \"left\" ? (node?.width ? -30 : -25) : 0;\r\n const parentWidth = parentNode?.width ? nodeWidth(parentNode) : 120;\r\n const currNodeWidth = node?.width ? nodeWidth(node) : 120;\r\n const rightSideWidth = isFirstLevel ? (rootNode?.width || 100) : parentWidth;\r\n const leftSideWidth = isFirstLevel ? 100 - (120 - currNodeWidth) : currNodeWidth;\r\n const designTypeOffsets = {\r\n first: 43,\r\n second: 43,\r\n third: 43,\r\n four: 43.5,\r\n five: 43,\r\n six: 43,\r\n seven: 47,\r\n eight: 43,\r\n };\r\n\r\n const additionalYOffset = node?.height\r\n ? (node?.height - parentNode?.height) / 2\r\n : designTypeOffsets[node?.data?.designType]\r\n ? (designTypeOffsets[node.data.designType] - parentNode?.height) / 2\r\n : 0;\r\n \r\n positionAbsolute = {\r\n x:\r\n parentPosition.x +\r\n (side === \"left\" ? -leftSideWidth : rightSideWidth) +\r\n xOffset +\r\n additionalXOffset, // Use constant nodeWidth for horizontal spacing\r\n y:\r\n parentPosition.y +\r\n treeNode.x -\r\n (parentNode ? treeNode.parent.x : 0) -\r\n additionalYOffset,\r\n };\r\n } else {\r\n const isFirstLevel = treeNode.depth === 1;\r\n const yOffset = side === \"top\" ? -150 : 150;\r\n const bottomSideHeight = isFirstLevel ? 0 : parentNode?.height;\r\n const height = node?.data?.designType === \"nine\" ? 43 : 43;\r\n const topSideHeight = isFirstLevel\r\n ? 0 - (height - (node?.height || height))\r\n : node?.height || height;\r\n const additionalXOffset = node?.width\r\n ? (node?.width - parentNode?.width) / 2\r\n : node?.data?.designType === \"nine\"\r\n ? (114 - parentNode?.width) / 2\r\n : node?.data?.designType === \"ten\"\r\n ? (114 - parentNode?.width) / 2\r\n : 0;\r\n positionAbsolute = {\r\n x:\r\n parentPosition.x +\r\n treeNode.x -\r\n (parentNode ? treeNode.parent.x : 0) -\r\n additionalXOffset,\r\n y:\r\n parentPosition.y +\r\n (side === \"top\" ? -topSideHeight : bottomSideHeight) +\r\n yOffset, // Use constant nodeWidth for vertical spacing\r\n };\r\n }\r\n\r\n return {\r\n ...node,\r\n data: {\r\n ...node.data,\r\n childrenOrder: treeNode.data?.data?.childrenOrder,\r\n },\r\n positionAbsolute,\r\n position: {\r\n x: positionAbsolute.x - parentPosition.x,\r\n y: positionAbsolute.y - parentPosition.y,\r\n },\r\n };\r\n })\r\n .filter(Boolean);\r\n };\r\n\r\n const leftPositionedNodes = createPositionedNodes(leftNodes, \"left\");\r\n const rightPositionedNodes = createPositionedNodes(rightNodes, \"right\");\r\n const topPositionedNodes = createPositionedNodes(topNodes, \"top\");\r\n const bottomPositionedNodes = createPositionedNodes(bottomNodes, \"bottom\");\r\n\r\n const rootNodeLeftChildrenOrder = createHierarchyData(rootNode, \"left\")?.data\r\n ?.childrenOrder;\r\n const rootNodeRightChildrenOrder = createHierarchyData(rootNode, \"right\")\r\n ?.data?.childrenOrder;\r\n const rootNodeTopChildrenOrder = createHierarchyData(rootNode, \"top\")?.data\r\n ?.childrenOrder;\r\n const rootNodeBottomChildrenOrder = createHierarchyData(rootNode, \"bottom\")\r\n ?.data?.childrenOrder;\r\n\r\n const rootNodeWithPosition = {\r\n ...rootNode,\r\n data: {\r\n ...rootNode.data,\r\n leftChildrenOrder: rootNodeLeftChildrenOrder || [],\r\n rightChildrenOrder: rootNodeRightChildrenOrder || [],\r\n topChildrenOrder: rootNodeTopChildrenOrder || [],\r\n bottomChildrenOrder: rootNodeBottomChildrenOrder || [],\r\n },\r\n // position: { x: rootNode.position.x, y: rootNode.position.y },\r\n // positionAbsolute: { x: rootNode.position.x, y: rootNode.position.y },\r\n };\r\n\r\n let allPositionedNodes = [\r\n rootNodeWithPosition,\r\n ...leftPositionedNodes,\r\n ...rightPositionedNodes,\r\n ...topPositionedNodes,\r\n ...bottomPositionedNodes,\r\n ];\r\n\r\n // const isAnyNodeManullayPositioned = nodes.filter((nd) => nd.manuallyPositioned).length > 0;\r\n\r\n // if(isAnyNodeManullayPositioned){\r\n // allPositionedNodes = preventOverlappingNodes(allPositionedNodes);\r\n // }\r\n\r\n return { nodes: allPositionedNodes };\r\n};\r\n","import { useSearchParams } from \"react-router-dom\";\r\n\r\n/**\r\n * Custom hook to handle query parameters navigation\r\n */\r\nconst useCustomNavigation = () => {\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n\r\n /**\r\n * Delete a single or multiple query parameters\r\n * @param {string | string[]} keys - The key(s) of the query parameters to delete\r\n */\r\n const deleteSingleAndMultipleParams = (keys) => {\r\n const updatedParams = new URLSearchParams(searchParams);\r\n\r\n if (Array.isArray(keys)) {\r\n keys.forEach((key) => updatedParams.delete(key));\r\n } else {\r\n updatedParams.delete(keys);\r\n }\r\n\r\n setSearchParams(updatedParams);\r\n };\r\n\r\n /**\r\n * Add a specific value to a query parameter (e.g., add to a comma-separated list)\r\n * @param {string} key - The query parameter key\r\n * @param {string} value - The value to add\r\n */\r\n const addParamValue = (key, value) => {\r\n const updatedParams = new URLSearchParams(searchParams);\r\n const existingValues = updatedParams.get(key)?.split(\",\") || [];\r\n\r\n // Add the value if not already present\r\n const newValues = Array.from(new Set([...existingValues, value]));\r\n updatedParams.set(key, newValues.join(\",\"));\r\n setSearchParams(updatedParams);\r\n };\r\n\r\n /**\r\n * Remove a specific value from a query parameter (e.g., remove from a comma-separated list)\r\n * @param {string} key - The query parameter key\r\n * @param {string} value - The value to remove\r\n */\r\n const removeParamValue = (key, value) => {\r\n const updatedParams = new URLSearchParams(searchParams);\r\n const existingValues = updatedParams.get(key)?.split(\",\") || [];\r\n\r\n // Remove the value if present\r\n const newValues = existingValues.filter((item) => item !== value);\r\n if (newValues.length > 0) {\r\n updatedParams.set(key, newValues.join(\",\"));\r\n } else {\r\n updatedParams.delete(key); // Remove the key if no values are left\r\n }\r\n\r\n setSearchParams(updatedParams);\r\n };\r\n\r\n const removeAllParams = () => {\r\n setSearchParams({});\r\n };\r\n\r\n return {\r\n params: Object.fromEntries(searchParams.entries()), // Convert params to an object\r\n setSearchParams,\r\n deleteSingleAndMultipleParams,\r\n addParamValue,\r\n removeParamValue,\r\n removeAllParams,\r\n };\r\n};\r\n\r\nexport default useCustomNavigation;\r\n","import { useEffect, useCallback, useRef } from \"react\";\r\n\r\nexport const useKeyboardShortcut = (keys, callback) => {\r\n // Store the callback in a ref to avoid re-renders\r\n const callbackRef = useRef(callback);\r\n\r\n // Update the callback ref when it changes\r\n useEffect(() => {\r\n callbackRef.current = callback;\r\n }, [callback]);\r\n\r\n // Store pressed keys in a ref\r\n const pressedKeys = useRef(new Set());\r\n\r\n // Normalize keys and store in ref\r\n const keysRef = useRef(\r\n keys.map((key) => {\r\n const lowerKey = key.toLowerCase();\r\n // Handle special cases for modifier keys\r\n if (lowerKey === \"ctrl\" || lowerKey === \"control\") return \"control\";\r\n if (lowerKey === \"shift\") return \"shift\";\r\n if (lowerKey === \"alt\") return \"alt\";\r\n if (lowerKey === \"meta\" || lowerKey === \"cmd\" || lowerKey === \"command\")\r\n return \"meta\";\r\n return lowerKey;\r\n })\r\n );\r\n\r\n // Key down handler\r\n const handleKeyDown = useCallback((event) => {\r\n // event.preventDefault(); // Prevent default for all matching combinations\r\n\r\n // Reset the set on each keydown to prevent key buildup\r\n pressedKeys.current.clear();\r\n\r\n // Track modifier keys\r\n if (event.ctrlKey) pressedKeys.current.add(\"control\");\r\n if (event.shiftKey) pressedKeys.current.add(\"shift\");\r\n if (event.altKey) pressedKeys.current.add(\"alt\");\r\n if (event.metaKey) pressedKeys.current.add(\"meta\");\r\n\r\n // Add the main key (converted to lowercase)\r\n const mainKey = event.key.toLowerCase();\r\n pressedKeys.current.add(mainKey);\r\n\r\n // Check if the pressed combination matches our required keys\r\n const allKeysPressed = keysRef.current.every((requiredKey) =>\r\n pressedKeys.current.has(requiredKey)\r\n );\r\n\r\n const hasCorrectModifiers =\r\n keysRef.current.includes(\"control\") === event.ctrlKey &&\r\n keysRef.current.includes(\"shift\") === event.shiftKey &&\r\n keysRef.current.includes(\"alt\") === event.altKey &&\r\n keysRef.current.includes(\"meta\") === event.metaKey;\r\n\r\n // Execute callback if all conditions are met\r\n if (allKeysPressed && hasCorrectModifiers) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n callbackRef.current();\r\n }\r\n }, []);\r\n\r\n // Clear pressed keys when keys are released\r\n const handleKeyUp = useCallback((event) => {\r\n pressedKeys.current.clear();\r\n }, []);\r\n\r\n // Clear pressed keys when window loses focus\r\n const handleBlur = useCallback(() => {\r\n pressedKeys.current.clear();\r\n }, []);\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"keydown\", handleKeyDown, true); // Using capture phase\r\n window.addEventListener(\"keyup\", handleKeyUp, true);\r\n window.addEventListener(\"blur\", handleBlur);\r\n\r\n return () => {\r\n window.removeEventListener(\"keydown\", handleKeyDown, true);\r\n window.removeEventListener(\"keyup\", handleKeyUp, true);\r\n window.removeEventListener(\"blur\", handleBlur);\r\n };\r\n }, [handleKeyDown, handleKeyUp, handleBlur]);\r\n};\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nfunction useNodeSelectionStarted({ selected }) {\r\n\r\n const [isNodeSelectionStarted, setIsNodeSelectionStarted] = useState(false);\r\n\r\n useEffect(() => {\r\n const handleMouseSelectionStart = () => {\r\n if (selected) {\r\n setIsNodeSelectionStarted(true);\r\n }\r\n };\r\n\r\n const handleMouseSelectionEnd = () => {\r\n // if (selected) {\r\n setIsNodeSelectionStarted(false); \r\n // }\r\n };\r\n\r\n document.addEventListener(\"onCustomSelectionStartEvent\", handleMouseSelectionStart);\r\n document.addEventListener(\"onCustomSelectionEndEvent\", handleMouseSelectionEnd);\r\n return () => {\r\n document.removeEventListener(\"onCustomSelectionStartEvent\", handleMouseSelectionStart);\r\n document.removeEventListener(\"onCustomSelectionEndEvent\", handleMouseSelectionEnd);\r\n };\r\n }, [selected]);\r\n\r\n return { isNodeSelectionStarted, setIsNodeSelectionStarted }\r\n}\r\n\r\nexport default useNodeSelectionStarted;\r\n","import { useContext } from \"react\";\r\nimport { roundToTwoDecimalPlaces } from \"../../CommanFunctions/commanFunctions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { handleChangePlanFromPayment } from \"../../Redux/common-reducer\";\r\nimport { ModelContext } from \"../../HOC/ModelContext\";\r\n\r\nconst usePlanChangeClick = ({\r\n planData,\r\n currentPlanDetails,\r\n additionalSeats,\r\n additionalPlan,\r\n planeList,\r\n activeDuration,\r\n addedLicenseCount,\r\n isYearly,\r\n isCurrentPlan,\r\n isCurrentPlanIsTrial,\r\n isModifyingLicense = false,\r\n handleClose = () => {},\r\n}) => {\r\n const dispatch = useDispatch();\r\n const navigate = useNavigate();\r\n const { setShowPlaneModel } = useContext(ModelContext);\r\n // const additionalUsers = additionalPlan?.price?.map((item, index) => {\r\n // return {\r\n // planId: item.price_for_package,\r\n // userCount: index === 0 ? additionalSeats : 0,\r\n // };\r\n // });\r\n const monthlyPrices = planeList?.packages?.packageList?.filter(\r\n (temp) => temp.interval_type === \"month\"\r\n );\r\n const isCurrentPlanIsFreePlan =\r\n currentPlanDetails?.subscriptionData?.package === \"Free\";\r\n const INVITE_USER_DATA = JSON.parse(localStorage.getItem(\"user_invite_data\"));\r\n const yearlyPrices = planeList?.packages?.packageList?.filter(\r\n (temp) => temp.interval_type === \"year\"\r\n );\r\n const isCreatingNewWorkSpace = JSON.parse(\r\n localStorage.getItem(\"create_new_workspace_data\")\r\n );\r\n const isInvitedUserCreatingWorkspace = JSON.parse(\r\n localStorage.getItem(\"isHaveNotWorkspace\")\r\n );\r\n\r\n const handleClickPlan = (plan, isUpgradeNow, isSubbuttonClicked) => {\r\n const additionalUser = [\r\n {\r\n package_id: plan.package_id,\r\n userCount:\r\n isCreatingNewWorkSpace || isInvitedUserCreatingWorkspace\r\n ? INVITE_USER_DATA\r\n ? additionalSeats -\r\n INVITE_USER_DATA?.emails?.length +\r\n (INVITE_USER_DATA?.emails?.length || 0)\r\n : additionalSeats\r\n : additionalSeats - addedLicenseCount,\r\n },\r\n ];\r\n const data = {\r\n ...plan,\r\n is_trial:\r\n isCreatingNewWorkSpace || isInvitedUserCreatingWorkspace\r\n ? false\r\n : isUpgradeNow\r\n ? false\r\n : isCurrentPlan && !currentPlanDetails?.subscriptionData?.is_trial\r\n ? false\r\n : currentPlanDetails?.subscriptionData?.is_trial\r\n ? true\r\n : plan?.is_trial,\r\n isModifyingLicense: isUpgradeNow ? false : isModifyingLicense,\r\n additional_package_id: additionalPlan?.package_id,\r\n isCurrentPlanIsTrial: isCurrentPlanIsTrial,\r\n isCurrentPlan: isCurrentPlan,\r\n additional_package_price_id: additionalPlan?.price.filter(\r\n (addPlan) => addPlan.price_for_package === plan.package_id\r\n )[0]?.package_price_id,\r\n additionalUsers: additionalUser[0].userCount,\r\n additional_user_price: additionalPlan?.price.filter(\r\n (addPlan) => addPlan.price_for_package === plan.package_id\r\n )[0]?.price,\r\n frequency:\r\n isCurrentPlan &&\r\n currentPlanDetails?.subscriptionData?.interval_type === \"year\"\r\n ? \"yearly\"\r\n : isYearly && !isSubbuttonClicked\r\n ? \"yearly\"\r\n : activeDuration === \"month\"\r\n ? \"monthly\"\r\n : \"yearly\",\r\n // creditAmount,\r\n isAdditionalPlan: additionalSeats ? true : false,\r\n pricingData: {\r\n monthly: {\r\n price:\r\n monthlyPrices.filter(\r\n (monthPrice) =>\r\n monthPrice.package_id === plan.package_id &&\r\n monthPrice?.package_name === planData?.package_name\r\n )[0]?.price || 0,\r\n package_price_id:\r\n monthlyPrices.filter(\r\n (monthPrice) =>\r\n monthPrice.package_id === plan.package_id &&\r\n monthPrice?.package_name === planData?.package_name\r\n )[0]?.package_price_id || 0,\r\n },\r\n yearly: {\r\n price:\r\n yearlyPrices.filter(\r\n (yearPrice) =>\r\n yearPrice.package_id === plan.package_id &&\r\n yearPrice?.package_name === planData?.package_name\r\n )[0]?.price || 0,\r\n package_price_id:\r\n yearlyPrices.filter(\r\n (yearPrice) =>\r\n yearPrice.package_id === plan.package_id &&\r\n yearPrice?.package_name === planData?.package_name\r\n )[0]?.package_price_id || 0,\r\n },\r\n },\r\n monthlyPrice:\r\n monthlyPrices.filter(\r\n (monthPrice) => monthPrice.package_id === plan.package_id\r\n )[0]?.price || 0,\r\n yearlyPrice:\r\n monthlyPrices.filter(\r\n (monthlyPrices) => monthlyPrices.package_id === plan.package_id\r\n )[0]?.price || 0,\r\n addedLicenseCount:\r\n isCreatingNewWorkSpace || isInvitedUserCreatingWorkspace\r\n ? 0\r\n : addedLicenseCount,\r\n };\r\n data.addTotal =\r\n Number(data.price) +\r\n Number(data.additionalUsers) *\r\n roundToTwoDecimalPlaces(\r\n Number(\r\n additionalPlan?.price.filter(\r\n (addPlan) => addPlan.price_for_package === plan.package_id\r\n )[0]?.price\r\n )\r\n );\r\n sessionStorage.setItem(\"selectedPlanPrice\", data.addTotal);\r\n localStorage.setItem(\"selectedPlanDetails\", JSON.stringify(data));\r\n if (INVITE_USER_DATA) {\r\n localStorage.setItem(\r\n \"additionalUserData\",\r\n JSON.stringify({\r\n users: INVITE_USER_DATA?.emails?.length || 1,\r\n price: 0,\r\n })\r\n );\r\n } else if (isCreatingNewWorkSpace || isInvitedUserCreatingWorkspace) {\r\n localStorage.setItem(\r\n \"additionalUserData\",\r\n JSON.stringify({\r\n users: INVITE_USER_DATA?.emails?.length || 1,\r\n price: 0,\r\n })\r\n );\r\n }\r\n\r\n // setOpen(false);\r\n // if (plan.is_trial && !plan.is_current) {\r\n // setTimeout(() => {\r\n // setShowPlanDetails(true);\r\n // }, 0);\r\n // } else {\r\n // SetPaymentDetails(true);\r\n\r\n // }\r\n // if (isInvitedUserCreatingWorkspace) {\r\n // navigate(\"/create-new-workspace\");\r\n // } else {\r\n if (window.location.pathname.includes(\"payment-details\")) {\r\n dispatch(handleChangePlanFromPayment(true));\r\n navigate(\"/payment-details\");\r\n handleClose();\r\n } else {\r\n setShowPlaneModel(false);\r\n navigate(\"/payment-details\");\r\n }\r\n // }\r\n };\r\n return { handleClickPlan };\r\n};\r\n\r\nexport default usePlanChangeClick;\r\n","import { createContext, useContext, useEffect, useState } from \"react\";\r\nimport io from \"socket.io-client\";\r\nimport { socketEvents } from \"../../Components/DrawBoard/const\";\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nexport const SocketContext = createContext();\r\n\r\nexport const SocketContextProvider = ({ children }) => {\r\n const { id } = useParams();\r\n const userRawData = localStorage.getItem(\"user_data\");\r\n const parsedUserData = userRawData ? JSON.parse(userRawData) : {};\r\n\r\n const [accountId, setAccountId] = useState(\"\");\r\n const [socket, setSocket] = useState();\r\n const [cursorPosition, setCursorPosition] = useState([]);\r\n // for local backend\r\n // const socket = io.connect('http://localhost:5002');\r\n\r\n // for live backend\r\n // const socket = io.connect('https://board-dev.cloudairy.com/api/drawboard');\r\n const domain = new URL(process.env.REACT_APP_API_URL).origin; //?.split(\"/api\")?.[0]\r\n\r\n const connectSocket = () => {\r\n const newSocket = io.connect(domain, {\r\n path: \"/api/drawboard/socket.io\",\r\n query: {\r\n token: parsedUserData?.access_token,\r\n account_id: accountId,\r\n architectureId: id,\r\n },\r\n });\r\n setSocket(newSocket);\r\n };\r\n\r\n useEffect(() => {\r\n if (accountId?.trim()?.length > 0) {\r\n connectSocket();\r\n }\r\n }, [accountId]);\r\n\r\n const handleCursorMove = (data) => {\r\n setCursorPosition(data?.data);\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (socket) {\r\n if (userRawData) {\r\n const parsedData = JSON.parse(userRawData);\r\n socket.emit(socketEvents.MOUSE_MOVE, {\r\n roomId: id,\r\n data: cursorPosition?.filter((data) => {\r\n return data?.user_id !== parsedData.user_id;\r\n }),\r\n });\r\n socket.emit(socketEvents.MEMBER_LEAVED, {\r\n roomId: id,\r\n user: `${parsedData?.first_name} ${parsedData?.last_name}`,\r\n });\r\n }\r\n socket.off(socketEvents.CURSOR_MOVE, handleCursorMove);\r\n // Disconnect the socket\r\n socket.disconnect();\r\n }\r\n };\r\n }, [socket, userRawData]);\r\n\r\n const getAccountId = (aId) => {\r\n setAccountId(aId);\r\n };\r\n\r\n const setCursorPos = (pos) => setCursorPosition(pos);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const useSocketContext = () => {\r\n return useContext(SocketContext);\r\n};\r\n","import { useStore } from 'reactflow';\r\n\r\nconst useZoomPercentages = ({ selected }) => {\r\n const zoom = useStore((state) => selected ? state?.transform?.[2] : 1);\r\n const zoomPercentages = zoom * 100;\r\n\r\n const isItemToSmall = zoomPercentages.current <= 12.5\r\n const isWidthLessthan25 = zoomPercentages.current <= 25\r\n const isWidthLessthan50 = 25 < zoomPercentages.current && zoomPercentages.current <= 50\r\n const isWidthLessthan100 = 50 < zoomPercentages.current && zoomPercentages.current <= 100\r\n const isWidthLessthan200 = 100 < zoomPercentages.current && zoomPercentages.current <= 200\r\n const isWidthLessthan300 = 200 < zoomPercentages.current && zoomPercentages.current <= 400\r\n\r\n return { zoom, zoomPercentages, isWidthLessthan25, isWidthLessthan50, isWidthLessthan100, isWidthLessthan200, isWidthLessthan300, isItemToSmall }\r\n}\r\n\r\nexport default useZoomPercentages;","export const color = {\r\n titleDark: \"#18181B\",\r\n subTitle: \"#848382\",\r\n primaryColor: \"#6762FE\",\r\n primaryColorRGBA: \"rgba(103, 98, 254, 1)\",\r\n primaryColorRGB: \"rgb(103, 98, 254)\",\r\n darkPrimary: \"#5753D6\",\r\n Primary: \"#5753D6\",\r\n lightPrimary: \"#6762FE1A\",\r\n borderColor: \"#6762FE0D\",\r\n boxShadow: \"#6762FF24\",\r\n primaryShadowColor: \"#6762FE24\",\r\n // secondaryColor: \"#2B61EB\",\r\n secondaryColor: \"#E6E6FF\",\r\n successColor: \"#06A05A\",\r\n errorColor: \"#F04438\",\r\n errorColorDark: \"#bc2a20\",\r\n lightErrorColor: \"#F044381F\",\r\n cardBgColor: \"#F8F7F7\",\r\n cardLiteBgColor: \"#F9FAFB\",\r\n commonBorderColor: \"#E1E1E1\",\r\n yellowColor: \"#F3A23A\",\r\n purpleColor: \"#C16FDC\",\r\n grayColor: \"#C3C3C3\",\r\n darkGray: \"#EEEEEE\",\r\n purple: \"#6762FE\",\r\n colorOffWhite: \"#F7F6FD\",\r\n liteGray: \"#E6E6E6\",\r\n goldenColor: \"#F79233\",\r\n whiteColor: \"#FFFFFF\",\r\n blackColor: \"#000000\",\r\n greyHover: \"#F7F7F7\",\r\n commonHoverColor: \"#F5F5F5\",\r\n errorDarkColor: \"#DD372B\",\r\n disableSectionBG: \"#ffffff63\",\r\n editorIcon: \"#282828\",\r\n disableText: \"#AEAEAD\",\r\n commonHover: \"#F2F4F7b3\",\r\n lightGridHover: \"#fdfdfd\",\r\n lightBackground: \"#FAFAFA\",\r\n purpleHover: \"#5753D6\",\r\n btnHover: \"#5753D6\",\r\n inputFocus: \"#007AFF24\",\r\n lightYellowBg: \"#FAF1D6\",\r\n yellowColorTitle: \"#DDA500\",\r\n lightSuccessColor: \"#D7F0E5\",\r\n checkRadioBorder: \"#bababa\",\r\n darkSecondaryColor: \"#DBDBDB\",\r\n modalMuiBackdropColor: \"rgba(16, 24, 40, 0.35)\",\r\n onboardingParaColor : \"#657488\",\r\n newSelectOptionBgColor : \"#F2F4F6\"\r\n};\r\n","export const commonStyles = {\r\n border: \"1px solid #E1E1E1\",\r\n borderThick: \"1.34px solid #E6E6E6\",\r\n borderRadiusLG: \"16px\",\r\n borderRadiusMD: \"8px\",\r\n borderRadius10: \"10px\",\r\n borderRadius12: \"12px\",\r\n borderRadius48: \"48px\",\r\n borderRadius20: \"20px\",\r\n borderRadiusSM: \"4px\",\r\n borderRadius6: \"6px\",\r\n};\r\n","export const fontSizes = {\r\n fontSize10px: \"10px\",\r\n smallFont: \"10.8px\",\r\n fontSize12px: \"12px\",\r\n mediumFont: \"12.6px\",\r\n fontSize13px: \"13px\",\r\n largeFont: \"14.4px\",\r\n xLargeFont: \"16.2px\",\r\n titleFont: \"19.8px\",\r\n fontSize18px: \"18px\",\r\n modelTitle: \"22.6px\",\r\n modelTitle1: \"24px\",\r\n modelTitle2: \"25.2\",\r\n fontSize28: \"28px\",\r\n fontSize26: \"26px\",\r\n font36px: \"36px\",\r\n fontSize13: \"13px\",\r\n fontSize14: \"14px\",\r\n fontSize22: \"22px\",\r\n fontSize15: \"15px\",\r\n fontSize16: \"16px\",\r\n fontSize19: \"20px\",\r\n fontSize20: \"20px\",\r\n fontSize27: \"27px\",\r\n fontSize30: \"30px\",\r\n fontSize32: \"32px\",\r\n fontSizes24: \"24px\",\r\n btnTextHeight: \"21px\",\r\n};\r\n\r\nexport const responsiveFontSizes = {\r\n mediumFont: \"13.6px\",\r\n largeFont: \"14.4px\",\r\n titleFont: {\r\n xs: \"16px\",\r\n md: \"18.8px\",\r\n lg: \"19.8px\",\r\n },\r\n};\r\n","export const fontWeight = {\r\n weight600: 600,\r\n weight500: 500,\r\n weight400: 400,\r\n weight700: 700,\r\n weight800: 800,\r\n};\r\n"],"names":["tableIcons","ArrowDownwardIcon","props","_jsx","Box","_objectSpread","sx","mx","ml","children","IcSortingRowsOutlined","SyncAltIcon","Stack","gap","storyPointIcons","id","icon","IcStoryPointIcon","fill","stroke","d","dotVotingIcons","IcDotVotingIcon","LOCAL_COUNTRIES","code","label","phone","suggested","updateTeamIdInLocalStorage","team_id","store","dispatch","updateUserData","setCurrentTeam","localStorage","setItem","removeItem","getNodePositionInsideParent","node","groupNode","_node$position","_node$width","_node$height","_groupNode$width","_groupNode$height","position","JSON","parse","stringify","x","y","nodeWidth","width","nodeHeight","height","groupWidth","groupHeight","positionAbsolute","GlobalErrorBoundary","Component","constructor","super","this","state","hasError","error","errorInfo","getDerivedStateFromError","shouldComponentUpdate","localErrorReload","getItem","clear","window","location","href","componentDidCatch","setState","render","_jsxs","alignItems","justifyContent","minHeight","xs","xl","src","s3AssetsUrl","alt","Typography","fontSize","fontWeight","color","mt","textAlign","CommonLink","variant","onClick","reload","createVerticalTreeLayout","nodes","rootNodeId","_createHierarchyData","_createHierarchyData$","newNodeId","arguments","length","undefined","afterNodeId","beforeNodeId","rootNode","find","defaultWidth","orgChart","card","frame","Error","createHierarchyData","_currentNode$data","newNode","n","parentNodeOfNewNode","parentNode","filter","child","currentNode","_children$","data","childrenOrder","some","nd","map","includes","afterNodeIndex","findIndex","splice","beforeNodeIndex","nodeWithOrder","allNodes","calculateLayout","rootData","hierarchyData","root","hierarchy","flextree","nodeSize","_originalNode$style","_originalNode$style2","originalNode","type","style","spacing","a","b","parent","flexTree","descendants","slice","positionedNodes","treeNode","_treeNode$data","_treeNode$data$data","parentPosition","getNodeWidth","additionalXOffset","Boolean","rootNodeChildrenOrder","createTreeLayout","direction","_createHierarchyData2","_createHierarchyData3","_createHierarchyData4","_createHierarchyData5","_createHierarchyData6","_createHierarchyData7","hidden","side","_currentNode$data2","concat","_currentNode$data3","isHorizontal","sideRootData","nodeGap","nodeLevelGap","_originalNode$data","widthData","designType","leftNodes","rightNodes","topNodes","bottomNodes","createPositionedNodes","treeNodes","_node$data","_node$data2","_treeNode$data2","_treeNode$data2$data","autoLayout","manuallyPositioned","_node$data3","isFirstLevel","depth","xOffset","parentWidth","currNodeWidth","rightSideWidth","leftSideWidth","designTypeOffsets","first","second","third","four","five","six","seven","eight","additionalYOffset","_node$data4","_node$data5","_node$data6","yOffset","bottomSideHeight","topSideHeight","leftPositionedNodes","rightPositionedNodes","topPositionedNodes","bottomPositionedNodes","rootNodeLeftChildrenOrder","rootNodeRightChildrenOrder","rootNodeTopChildrenOrder","rootNodeBottomChildrenOrder","leftChildrenOrder","rightChildrenOrder","topChildrenOrder","bottomChildrenOrder","useCustomNavigation","searchParams","setSearchParams","useSearchParams","params","Object","fromEntries","entries","deleteSingleAndMultipleParams","keys","updatedParams","URLSearchParams","Array","isArray","forEach","key","delete","addParamValue","value","_updatedParams$get","existingValues","get","split","newValues","from","Set","set","join","removeParamValue","_updatedParams$get2","item","removeAllParams","useKeyboardShortcut","callback","callbackRef","useRef","useEffect","current","pressedKeys","keysRef","lowerKey","toLowerCase","handleKeyDown","useCallback","event","ctrlKey","add","shiftKey","altKey","metaKey","mainKey","allKeysPressed","every","requiredKey","has","hasCorrectModifiers","preventDefault","stopPropagation","handleKeyUp","handleBlur","addEventListener","removeEventListener","_ref","selected","isNodeSelectionStarted","setIsNodeSelectionStarted","useState","handleMouseSelectionStart","handleMouseSelectionEnd","document","_planeList$packages","_planeList$packages$p","_currentPlanDetails$s","_planeList$packages2","_planeList$packages2$","planData","currentPlanDetails","additionalSeats","additionalPlan","planeList","activeDuration","addedLicenseCount","isYearly","isCurrentPlan","isCurrentPlanIsTrial","isModifyingLicense","handleClose","useDispatch","navigate","useNavigate","setShowPlaneModel","useContext","ModelContext","monthlyPrices","packages","packageList","temp","interval_type","INVITE_USER_DATA","subscriptionData","package","yearlyPrices","isCreatingNewWorkSpace","isInvitedUserCreatingWorkspace","handleClickPlan","plan","isUpgradeNow","isSubbuttonClicked","_INVITE_USER_DATA$ema","_INVITE_USER_DATA$ema2","_currentPlanDetails$s2","_currentPlanDetails$s3","_additionalPlan$price","_additionalPlan$price2","_currentPlanDetails$s4","_monthlyPrices$filter","_monthlyPrices$filter2","_yearlyPrices$filter$","_yearlyPrices$filter$2","_monthlyPrices$filter3","_monthlyPrices$filter4","_additionalPlan$price3","additionalUser","package_id","userCount","emails","is_trial","additional_package_id","additional_package_price_id","price","addPlan","price_for_package","package_price_id","additionalUsers","additional_user_price","frequency","isAdditionalPlan","pricingData","monthly","monthPrice","package_name","yearly","yearPrice","monthlyPrice","yearlyPrice","_INVITE_USER_DATA$ema3","addTotal","Number","roundToTwoDecimalPlaces","sessionStorage","users","_INVITE_USER_DATA$ema4","pathname","handleChangePlanFromPayment","SocketContext","createContext","SocketContextProvider","useParams","userRawData","parsedUserData","accountId","setAccountId","socket","setSocket","cursorPosition","setCursorPosition","domain","URL","process","origin","_accountId$trim","trim","connectSocket","newSocket","io","path","query","token","access_token","account_id","architectureId","handleCursorMove","parsedData","emit","socketEvents","MOUSE_MOVE","roomId","user_id","MEMBER_LEAVED","user","first_name","last_name","off","CURSOR_MOVE","disconnect","Provider","getAccountId","aId","setCursorPos","pos","useSocketContext","zoom","useStore","_state$transform","transform","zoomPercentages","isWidthLessthan25","isWidthLessthan50","isWidthLessthan100","isWidthLessthan200","isWidthLessthan300","isItemToSmall","titleDark","subTitle","primaryColor","primaryColorRGBA","primaryColorRGB","darkPrimary","Primary","lightPrimary","borderColor","boxShadow","primaryShadowColor","secondaryColor","successColor","errorColor","errorColorDark","lightErrorColor","cardBgColor","cardLiteBgColor","commonBorderColor","yellowColor","purpleColor","grayColor","darkGray","purple","colorOffWhite","liteGray","goldenColor","whiteColor","blackColor","greyHover","commonHoverColor","errorDarkColor","disableSectionBG","editorIcon","disableText","commonHover","lightGridHover","lightBackground","purpleHover","btnHover","inputFocus","lightYellowBg","yellowColorTitle","lightSuccessColor","checkRadioBorder","darkSecondaryColor","modalMuiBackdropColor","onboardingParaColor","newSelectOptionBgColor","commonStyles","border","borderThick","borderRadiusLG","borderRadiusMD","borderRadius10","borderRadius12","borderRadius48","borderRadius20","borderRadiusSM","borderRadius6","fontSizes","fontSize10px","smallFont","fontSize12px","mediumFont","fontSize13px","largeFont","xLargeFont","titleFont","fontSize18px","modelTitle","modelTitle1","modelTitle2","fontSize28","fontSize26","font36px","fontSize13","fontSize14","fontSize22","fontSize15","fontSize16","fontSize19","fontSize20","fontSize27","fontSize30","fontSize32","fontSizes24","btnTextHeight","weight600","weight500","weight400","weight700","weight800"],"sourceRoot":""}