@bigbinary/neeto-team-members-frontend 5.0.62 → 5.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ManageMember.js +5 -11
  3. package/dist/ManageMember.js.map +1 -1
  4. package/dist/{Permissions-LWRAefeb.js → Permissions-BVkx_S_F.js} +2 -2
  5. package/dist/Permissions-BVkx_S_F.js.map +1 -0
  6. package/dist/{Permissions-Bz0SmJzH.js → Permissions-DIdoAJlu.js} +2 -2
  7. package/dist/Permissions-DIdoAJlu.js.map +1 -0
  8. package/dist/Profile.js +4 -13
  9. package/dist/Profile.js.map +1 -1
  10. package/dist/{ProfileImage-BLnx0E90.js → ProfileImage-BjDA-txF.js} +2 -2
  11. package/dist/ProfileImage-BjDA-txF.js.map +1 -0
  12. package/dist/{ProfileImage-V240yfTY.js → ProfileImage-Ca02-i_d.js} +2 -2
  13. package/dist/ProfileImage-Ca02-i_d.js.map +1 -0
  14. package/dist/cjs/ManageMember.js +5 -11
  15. package/dist/cjs/ManageMember.js.map +1 -1
  16. package/dist/cjs/Profile.js +4 -14
  17. package/dist/cjs/Profile.js.map +1 -1
  18. package/dist/cjs/v2/Groups.js +1 -1
  19. package/dist/cjs/v2/Groups.js.map +1 -1
  20. package/dist/cjs/v2/ManageMember.js +1048 -42
  21. package/dist/cjs/v2/ManageMember.js.map +1 -1
  22. package/dist/cjs/v2/MembersDropdown.js +1 -1
  23. package/dist/cjs/v2/MembersInvite.js +1 -1
  24. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  25. package/dist/cjs/v2/Permissions.js +1 -1
  26. package/dist/cjs/v2/Profile.js +5 -13
  27. package/dist/cjs/v2/Profile.js.map +1 -1
  28. package/dist/cjs/v2/Roles.js +1 -1
  29. package/dist/cjs/v2/TeamMembers.js +21 -20
  30. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  31. package/dist/cjs/v2/TeamsDropdown.js +1 -1
  32. package/dist/cjs/v2/hooks.js +187 -5
  33. package/dist/cjs/v2/hooks.js.map +1 -1
  34. package/dist/cjs/v2/index.js +7 -6
  35. package/dist/cjs/v2/index.js.map +1 -1
  36. package/dist/{index-BRgcqXVL.js → index-BVrpRWeD.js} +3 -3
  37. package/dist/index-BVrpRWeD.js.map +1 -0
  38. package/dist/{index-BMb0DElQ.js → index-CVZHlIdE.js} +3 -3
  39. package/dist/index-CVZHlIdE.js.map +1 -0
  40. package/dist/utils-BFRNzhia.js +318 -0
  41. package/dist/utils-BFRNzhia.js.map +1 -0
  42. package/dist/utils-DEOuQRcK.js +300 -0
  43. package/dist/utils-DEOuQRcK.js.map +1 -0
  44. package/dist/v2/Groups.js +1 -1
  45. package/dist/v2/Groups.js.map +1 -1
  46. package/dist/v2/ManageMember.js +1041 -41
  47. package/dist/v2/ManageMember.js.map +1 -1
  48. package/dist/v2/MembersDropdown.js +1 -1
  49. package/dist/v2/MembersInvite.js +1 -1
  50. package/dist/v2/MembersInvite.js.map +1 -1
  51. package/dist/v2/Permissions.js +1 -1
  52. package/dist/v2/Profile.js +6 -14
  53. package/dist/v2/Profile.js.map +1 -1
  54. package/dist/v2/Roles.js +1 -1
  55. package/dist/v2/TeamMembers.js +5 -4
  56. package/dist/v2/TeamMembers.js.map +1 -1
  57. package/dist/v2/TeamsDropdown.js +1 -1
  58. package/dist/v2/hooks.js +184 -5
  59. package/dist/v2/hooks.js.map +1 -1
  60. package/dist/v2/index.js +6 -5
  61. package/dist/v2/index.js.map +1 -1
  62. package/package.json +5 -5
  63. package/dist/Permissions-Bz0SmJzH.js.map +0 -1
  64. package/dist/Permissions-LWRAefeb.js.map +0 -1
  65. package/dist/ProfileImage-BLnx0E90.js.map +0 -1
  66. package/dist/ProfileImage-V240yfTY.js.map +0 -1
  67. package/dist/index-BFScwOib.js +0 -1272
  68. package/dist/index-BFScwOib.js.map +0 -1
  69. package/dist/index-BMb0DElQ.js.map +0 -1
  70. package/dist/index-BRgcqXVL.js.map +0 -1
  71. package/dist/index-CBt9gCBK.js +0 -1293
  72. package/dist/index-CBt9gCBK.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-team-members-frontend",
3
- "version": "5.0.62",
3
+ "version": "5.0.64",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-team-members-nano",
@@ -72,13 +72,13 @@
72
72
  "@babel/runtime": "7.29.7",
73
73
  "@bigbinary/babel-preset-neeto": "^1.0.3",
74
74
  "@bigbinary/eslint-plugin-neeto": "1.9.0",
75
- "@bigbinary/neeto-atoms": "1.0.89",
75
+ "@bigbinary/neeto-atoms": "1.0.90",
76
76
  "@bigbinary/neeto-cist": "1.0.17",
77
77
  "@bigbinary/neeto-commons-frontend": "4.13.138",
78
78
  "@bigbinary/neeto-filters-frontend": "4.3.40",
79
79
  "@bigbinary/neeto-icons": "1.20.89",
80
80
  "@bigbinary/neeto-image-uploader-frontend": "4.0.10",
81
- "@bigbinary/neeto-molecules": "5.1.30",
81
+ "@bigbinary/neeto-molecules": "5.1.34",
82
82
  "@bigbinary/neeto-time-zones": "0.8.25",
83
83
  "@bigbinary/neetoui": "8.8.2",
84
84
  "@dnd-kit/core": "6.3.1",
@@ -189,13 +189,13 @@
189
189
  },
190
190
  "peerDependencies": {
191
191
  "@babel/runtime": "7.29.7",
192
- "@bigbinary/neeto-atoms": "1.0.89",
192
+ "@bigbinary/neeto-atoms": "1.0.90",
193
193
  "@bigbinary/neeto-cist": "1.0.17",
194
194
  "@bigbinary/neeto-commons-frontend": "4.13.138",
195
195
  "@bigbinary/neeto-filters-frontend": "4.3.40",
196
196
  "@bigbinary/neeto-icons": "1.20.89",
197
197
  "@bigbinary/neeto-image-uploader-frontend": "4.0.10",
198
- "@bigbinary/neeto-molecules": "5.1.30",
198
+ "@bigbinary/neeto-molecules": "5.1.33",
199
199
  "@bigbinary/neeto-time-zones": "0.8.25",
200
200
  "@bigbinary/neetoui": "8.8.2",
201
201
  "@dnd-kit/core": "6.3.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"Permissions-Bz0SmJzH.js","sources":["../app/javascript/src/v2/components/Roles/utils.js","../app/javascript/src/v2/components/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles-permissions.css\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card neeto-ui-rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Permissions-LWRAefeb.js","sources":["../app/javascript/src/v2/components/Roles/utils.js","../app/javascript/src/v2/components/Roles/Permissions.jsx"],"sourcesContent":["import { findById } from \"neetocist\";\nimport { append, concat, equals, prop } from \"ramda\";\n\nexport const sortPermissionsBySequence = (permissions = []) =>\n permissions?.[0]?.sequence\n ? [...permissions].sort((first, second) => first.sequence - second.sequence)\n : permissions;\n\nexport const getPermissionGroups = (permissions = []) => {\n const sortBySequence = sortPermissionsBySequence(permissions);\n\n const groupedPermissions = new Map();\n sortBySequence.forEach(permission => {\n if (groupedPermissions.has(permission?.category)) {\n const category = groupedPermissions.get(permission.category);\n const currentPermissions = category.get(\"permissions\");\n const permissions = append(permission, currentPermissions);\n category.set(\"permissions\", permissions);\n } else {\n const value = new Map();\n value.set(\"permissions\", append(permission, []));\n value.set(\"isPermissionVisible\", true);\n groupedPermissions.set(permission?.category, value);\n }\n });\n\n return groupedPermissions;\n};\n\nexport const getModifiedPermissions = (roles = [], modifiedRoles = []) =>\n modifiedRoles\n .map(role => {\n const oldPermissions = findById(role.id, roles).permissionIds;\n if (equals(oldPermissions, role.permissionIds)) return false;\n\n return { id: role.id, permissionIds: role.permissionIds };\n })\n .filter(Boolean);\n\nexport const attachChildrenRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? {\n ...permission,\n children: children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return attachChildrenRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n }\n : permission;\n};\n\nexport const findChildIdsRecursively = (\n permission,\n permissionsNameMap,\n permissionRelationConfig\n) => {\n const { children } = permissionRelationConfig[permission.name] || {};\n\n return children\n ? concat(\n children.flatMap(childName => {\n const childPermission = permissionsNameMap[childName]?.[0];\n if (!childPermission) return [];\n\n return findChildIdsRecursively(\n childPermission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }),\n [permission.id]\n )\n : [permission.id];\n};\n\nexport const getChildrenRemovedFromRoot = ({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n}) => {\n const permissionsWithChildren = permissions.map(permission =>\n attachChildrenRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const childPermissions = Object.values(permissionRelationConfig).flatMap(\n prop(\"children\")\n );\n\n return permissionsWithChildren.filter(\n permission => !childPermissions.includes(permission.name)\n );\n};\n","import { Fragment, useMemo } from \"react\";\n\nimport {\n Checkbox,\n Label,\n Tooltip,\n Typography,\n cn,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findById, hyphenate, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/roles-permissions.css\";\n\nimport {\n findChildIdsRecursively,\n getChildrenRemovedFromRoot,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Permissions = ({\n permissions = [],\n isDisabled = false,\n permissionRelationConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const { setFieldValue, values } = useFormikContext();\n const { permissionIds = [] } = values;\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const handleTogglePermission = permissionId => {\n const permission = findById(permissionId, permissions);\n let nextPermissionIds = [];\n if (permissionIds.includes(permissionId)) {\n let childIds = [];\n if (permissionRelationConfig[permission.name]) {\n childIds = findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n );\n }\n\n const permissionIdsToBeUnchecked = [permissionId, ...childIds];\n\n nextPermissionIds = permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n );\n } else {\n const { uncheckOnSelect } =\n permissionRelationConfig[permission.name] || {};\n\n const uncheckOnSelectPermissions =\n uncheckOnSelect?.flatMap(name => permissionsNameMap[name]) ?? [];\n\n const childIds = uncheckOnSelectPermissions.flatMap(permission =>\n findChildIdsRecursively(\n permission,\n permissionsNameMap,\n permissionRelationConfig\n )\n );\n\n const uncheckedPermissionIds = pluck(\"id\", uncheckOnSelectPermissions);\n const permissionIdsToBeUnchecked = [\n ...uncheckedPermissionIds,\n ...childIds,\n ];\n\n nextPermissionIds = uncheckOnSelect\n ? [\n ...permissionIds.filter(\n id => !permissionIdsToBeUnchecked.includes(id)\n ),\n permissionId,\n ]\n : [...permissionIds, permissionId];\n }\n\n setFieldValue(\"permissionIds\", nextPermissionIds.sort());\n };\n\n const groupedPermissions = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const renderPermission = ({\n id,\n name,\n description,\n children,\n isParentChecked = true,\n index = 1,\n }) => {\n const sortedChildren = children && sortPermissionsBySequence(children);\n\n const isCheckingDisabled = !isParentChecked || isDisabled;\n const isChecked = permissionIds.includes(id);\n\n const permissionsToBeUnchecked =\n permissionRelationConfig[name]?.uncheckOnSelect;\n\n const hasUnCheckOnSelect =\n permissionsToBeUnchecked && isNotEmpty(permissionsToBeUnchecked);\n\n const tooltipMessage =\n hasUnCheckOnSelect &&\n t(\"neetoTeamMembers.tooltips.uncheckOnSelectPermissions\", {\n permissions: permissionsToBeUnchecked\n .flatMap(name => pluck(\"description\", permissionsNameMap[name]))\n .join(\", \"),\n });\n\n return (\n <Fragment key={id}>\n <Tooltip\n content={tooltipMessage && !isChecked ? tooltipMessage : null}\n position=\"left\"\n >\n <div\n className=\"ntm-roles-permission__card relative flex flex-col gap-3 bg-background py-1.5\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n id={`ntm-role-permission-${id}`}\n >\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isChecked}\n className=\"mt-0.5 shrink-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n id={`permission-${id}`}\n onCheckedChange={() => handleTogglePermission(id)}\n />\n <Label\n htmlFor={`permission-${id}`}\n className={cn(\n \"font-normal leading-relaxed\",\n isCheckingDisabled\n ? \"cursor-not-allowed opacity-50\"\n : \"cursor-pointer\"\n )}\n >\n {description}\n </Label>\n </div>\n <div className=\"ntm-roles-permission__sub-blocks relative pl-6\">\n {sortedChildren?.map(childPermission =>\n renderPermission({\n ...childPermission,\n isParentChecked: isChecked,\n index: index + 1,\n })\n )}\n </div>\n </div>\n </Tooltip>\n </Fragment>\n );\n };\n\n return (\n <div className=\"space-y-4\">\n <div>\n <Typography variant=\"body1\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\"neetoTeamMembers.helpers.configPermissions\")}\n </Typography>\n </div>\n {Object.keys(groupedPermissions).map(category => (\n <div\n className=\"ntm-roles-permission\"\n data-testid=\"ntm-roles-permission-card\"\n id={`ntm-role-permission-category-${hyphenate(category)}`}\n key={category}\n >\n <Typography\n className=\"mb-2 pt-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n variant=\"body3\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card neeto-ui-rounded-md border border-border p-2.5 px-5 transition-all duration-300\">\n {groupedPermissions[category].map(renderPermission)}\n </div>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Permissions;\n"],"names":["sortPermissionsBySequence","_permissions$","permissions","arguments","length","undefined","sequence","_toConsumableArray","sort","first","second","getPermissionGroups","sortBySequence","groupedPermissions","Map","forEach","permission","has","category","get","currentPermissions","append","set","value","getModifiedPermissions","roles","modifiedRoles","map","role","oldPermissions","findById","id","permissionIds","equals","filter","Boolean","attachChildrenRecursively","permissionsNameMap","permissionRelationConfig","_ref","name","children","_objectSpread","flatMap","childName","_permissionsNameMap$c","childPermission","findChildIdsRecursively","_ref2","concat","_permissionsNameMap$c2","getChildrenRemovedFromRoot","_ref3","permissionsWithChildren","childPermissions","Object","values","prop","includes","Permissions","_ref$permissions","_ref$isDisabled","isDisabled","_ref$permissionRelati","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","_values$permissionIds","groupBy","handleTogglePermission","permissionId","nextPermissionIds","childIds","permissionIdsToBeUnchecked","_uncheckOnSelect$flat","uncheckOnSelect","uncheckOnSelectPermissions","uncheckedPermissionIds","pluck","useMemo","childrenRemovedFromRoot","renderPermission","_permissionRelationCo","description","_ref3$isParentChecked","isParentChecked","_ref3$index","index","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","position","_jsxs","className","Checkbox","checked","disabled","onCheckedChange","Label","htmlFor","cn","Typography","variant","weight","SINGULAR","color","keys","hyphenate"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileImage-BLnx0E90.js","sources":["../app/javascript/src/v2/components/Profile/hooks/useCountries.js","../app/javascript/src/v2/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption);\n\n const dependentFields = {};\n const selectedCountry = findById(countryOption.value, countries);\n\n dependentFields.dateFormat = selectedCountry.dateFormat;\n\n return dependentFields;\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\n// v2 ProfileImage — placeholder, full implementation in Phase 3.5\n// Used by ManageMember for member avatar editing\nimport { useRef } from \"react\";\n\nimport { Avatar, Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { Pencil } from \"lucide-react\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const [field, , helpers] = useField(\"avatar\");\n const fileInputRef = useRef(null);\n\n const { imageUrl, file } = field.value || {};\n const displayUrl =\n file && file !== \"_destroy\" ? URL.createObjectURL(file) : imageUrl;\n\n const handleFileSelect = event => {\n const selectedFile = event.target.files[0];\n if (!selectedFile) return;\n\n const maxSize = 5 * 1024 * 1024;\n if (selectedFile.size > maxSize) {\n toast.error(\n t(\n \"neetoTeamMembers.common.fileSizeTooLarge\",\n \"File size must be less than 5MB\"\n )\n );\n\n return;\n }\n\n helpers.setValue({ imageUrl, file: selectedFile });\n };\n\n const handleRemove = () => {\n helpers.setValue({ imageUrl: \"\", file: \"_destroy\" });\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <div className=\"relative\">\n <Avatar\n size=\"xl\"\n user={{\n name: globalProps.user?.name,\n imageUrl: displayUrl,\n }}\n />\n <DropdownMenu\n customTarget={\n <Button\n className=\"absolute -bottom-1 -right-1 neeto-ui-rounded-full\"\n icon={Pencil}\n size=\"icon-xs\"\n variant=\"outline\"\n aria-label={t(\n \"neetoTeamMembers.common.changeProfileImage\",\n \"Change profile image\"\n )}\n />\n }\n >\n <DropdownMenu.Menu>\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-upload-button\"\n onClick={() => fileInputRef.current?.click()}\n >\n {t(\"neetoTeamMembers.common.upload\", \"Upload\")}\n </DropdownMenu.MenuItem>\n {displayUrl && (\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemove}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu.Menu>\n </DropdownMenu>\n </div>\n <input\n accept=\"image/*\"\n className=\"hidden\"\n data-testid=\"profile-image-upload-file-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleFileSelect}\n />\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","dependentFields","selectedCountry","findById","dateFormat","isFetchingCountriesList","ProfileImage","_globalProps$user","_useTranslation","useTranslation","t","_useField","useField","_useField2","field","helpers","fileInputRef","useRef","_ref","imageUrl","file","displayUrl","URL","createObjectURL","handleFileSelect","event","selectedFile","target","files","maxSize","size","toast","error","setValue","handleRemove","_jsxs","className","children","_jsx","Avatar","user","globalProps","DropdownMenu","customTarget","Button","icon","Pencil","variant","Menu","MenuItem","onClick","_fileInputRef$current","current","click","accept","ref","type","onChange"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProfileImage-V240yfTY.js","sources":["../app/javascript/src/v2/components/Profile/hooks/useCountries.js","../app/javascript/src/v2/components/Profile/ProfileImage.jsx"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption);\n\n const dependentFields = {};\n const selectedCountry = findById(countryOption.value, countries);\n\n dependentFields.dateFormat = selectedCountry.dateFormat;\n\n return dependentFields;\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","/* eslint-disable @bigbinary/neeto/no-missing-localization */\n// v2 ProfileImage — placeholder, full implementation in Phase 3.5\n// Used by ManageMember for member avatar editing\nimport { useRef } from \"react\";\n\nimport { Avatar, Button, DropdownMenu } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\nimport { Pencil } from \"lucide-react\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const [field, , helpers] = useField(\"avatar\");\n const fileInputRef = useRef(null);\n\n const { imageUrl, file } = field.value || {};\n const displayUrl =\n file && file !== \"_destroy\" ? URL.createObjectURL(file) : imageUrl;\n\n const handleFileSelect = event => {\n const selectedFile = event.target.files[0];\n if (!selectedFile) return;\n\n const maxSize = 5 * 1024 * 1024;\n if (selectedFile.size > maxSize) {\n toast.error(\n t(\n \"neetoTeamMembers.common.fileSizeTooLarge\",\n \"File size must be less than 5MB\"\n )\n );\n\n return;\n }\n\n helpers.setValue({ imageUrl, file: selectedFile });\n };\n\n const handleRemove = () => {\n helpers.setValue({ imageUrl: \"\", file: \"_destroy\" });\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <div className=\"relative\">\n <Avatar\n size=\"xl\"\n user={{\n name: globalProps.user?.name,\n imageUrl: displayUrl,\n }}\n />\n <DropdownMenu\n customTarget={\n <Button\n className=\"absolute -bottom-1 -right-1 neeto-ui-rounded-full\"\n icon={Pencil}\n size=\"icon-xs\"\n variant=\"outline\"\n aria-label={t(\n \"neetoTeamMembers.common.changeProfileImage\",\n \"Change profile image\"\n )}\n />\n }\n >\n <DropdownMenu.Menu>\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-upload-button\"\n onClick={() => fileInputRef.current?.click()}\n >\n {t(\"neetoTeamMembers.common.upload\", \"Upload\")}\n </DropdownMenu.MenuItem>\n {displayUrl && (\n <DropdownMenu.MenuItem\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemove}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu.Menu>\n </DropdownMenu>\n </div>\n <input\n accept=\"image/*\"\n className=\"hidden\"\n data-testid=\"profile-image-upload-file-field\"\n ref={fileInputRef}\n type=\"file\"\n onChange={handleFileSelect}\n />\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","id","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","dependentFields","selectedCountry","findById","dateFormat","isFetchingCountriesList","ProfileImage","_globalProps$user","_useTranslation","useTranslation","t","_useField","useField","_useField2","field","helpers","fileInputRef","useRef","_ref","imageUrl","file","displayUrl","URL","createObjectURL","handleFileSelect","event","selectedFile","target","files","maxSize","size","toast","error","setValue","handleRemove","_jsxs","className","children","_jsx","Avatar","user","globalProps","DropdownMenu","customTarget","Button","icon","Pencil","variant","Menu","MenuItem","onClick","_fileInputRef$current","current","click","accept","ref","type","onChange"],"mappings":"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"}