@bigbinary/neeto-team-members-frontend 5.0.14 → 5.0.16
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.
- package/dist/{Permissions-CPrVjnMt.js → Permissions-DivtWVTW.js} +7 -5
- package/dist/Permissions-DivtWVTW.js.map +1 -0
- package/dist/{Permissions-jUdzUmmp.js → Permissions-DznO_Jeu.js} +8 -6
- package/dist/Permissions-DznO_Jeu.js.map +1 -0
- package/dist/Permissions.js +1 -1
- package/dist/Roles.js +197 -23
- package/dist/Roles.js.map +1 -1
- package/dist/cjs/Permissions.js +1 -1
- package/dist/cjs/Roles.js +195 -21
- package/dist/cjs/Roles.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +11 -11
- package/dist/Permissions-CPrVjnMt.js.map +0 -1
- package/dist/Permissions-jUdzUmmp.js.map +0 -1
package/dist/cjs/index.js
CHANGED
|
@@ -5,7 +5,7 @@ var MembersDropdown = require('./MembersDropdown.js');
|
|
|
5
5
|
var MembersInvite = require('./MembersInvite.js');
|
|
6
6
|
var Profile = require('./Profile.js');
|
|
7
7
|
var Roles = require('./Roles.js');
|
|
8
|
-
var Permissions = require('../Permissions-
|
|
8
|
+
var Permissions = require('../Permissions-DivtWVTW.js');
|
|
9
9
|
var TeamMembers = require('./TeamMembers.js');
|
|
10
10
|
var ManageMember = require('../index-wgft0T5n.js');
|
|
11
11
|
var RolesRadioGroup = require('../RolesRadioGroup-DbaYg-Hy.js');
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { default as MembersDropdown } from './MembersDropdown.js';
|
|
|
3
3
|
export { default as MembersInvite } from './MembersInvite.js';
|
|
4
4
|
export { default as Profile } from './Profile.js';
|
|
5
5
|
export { default as Roles } from './Roles.js';
|
|
6
|
-
export { P as Permissions } from './Permissions-
|
|
6
|
+
export { P as Permissions } from './Permissions-DznO_Jeu.js';
|
|
7
7
|
export { default as TeamMembers } from './TeamMembers.js';
|
|
8
8
|
export { M as ManageMember } from './index-Bypsb7E3.js';
|
|
9
9
|
export { R as RolesRadioGroup } from './RolesRadioGroup-DMJ2ayZP.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-team-members-frontend",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.16",
|
|
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",
|
|
@@ -63,13 +63,13 @@
|
|
|
63
63
|
"@bigbinary/babel-preset-neeto": "^1.0.3",
|
|
64
64
|
"@bigbinary/eslint-plugin-neeto": "1.8.0",
|
|
65
65
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
66
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
66
|
+
"@bigbinary/neeto-commons-frontend": "4.13.95",
|
|
67
67
|
"@bigbinary/neeto-filters-frontend": "4.3.30",
|
|
68
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
69
|
-
"@bigbinary/neeto-image-uploader-frontend": "
|
|
70
|
-
"@bigbinary/neeto-molecules": "4.
|
|
68
|
+
"@bigbinary/neeto-icons": "1.20.80",
|
|
69
|
+
"@bigbinary/neeto-image-uploader-frontend": "3.0.1",
|
|
70
|
+
"@bigbinary/neeto-molecules": "4.1.2",
|
|
71
71
|
"@bigbinary/neeto-time-zones": "0.8.18",
|
|
72
|
-
"@bigbinary/neetoui": "8.3.
|
|
72
|
+
"@bigbinary/neetoui": "8.3.72",
|
|
73
73
|
"@dnd-kit/core": "6.3.1",
|
|
74
74
|
"@dnd-kit/sortable": "10.0.0",
|
|
75
75
|
"@emotion/is-prop-valid": "1.2.0",
|
|
@@ -180,13 +180,13 @@
|
|
|
180
180
|
"peerDependencies": {
|
|
181
181
|
"@babel/runtime": "7.26.10",
|
|
182
182
|
"@bigbinary/neeto-cist": "1.0.17",
|
|
183
|
-
"@bigbinary/neeto-commons-frontend": "4.13.
|
|
183
|
+
"@bigbinary/neeto-commons-frontend": "4.13.95",
|
|
184
184
|
"@bigbinary/neeto-filters-frontend": "4.3.30",
|
|
185
|
-
"@bigbinary/neeto-icons": "1.20.
|
|
186
|
-
"@bigbinary/neeto-image-uploader-frontend": "
|
|
187
|
-
"@bigbinary/neeto-molecules": "4.
|
|
185
|
+
"@bigbinary/neeto-icons": "1.20.80",
|
|
186
|
+
"@bigbinary/neeto-image-uploader-frontend": "3.0.1",
|
|
187
|
+
"@bigbinary/neeto-molecules": "4.1.2",
|
|
188
188
|
"@bigbinary/neeto-time-zones": "0.8.18",
|
|
189
|
-
"@bigbinary/neetoui": "8.3.
|
|
189
|
+
"@bigbinary/neetoui": "8.3.72",
|
|
190
190
|
"@dnd-kit/core": "6.3.1",
|
|
191
191
|
"@dnd-kit/sortable": "10.0.0",
|
|
192
192
|
"@honeybadger-io/js": "6.10.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-CPrVjnMt.js","sources":["../app/javascript/src/components/Roles/utils.js","../app/javascript/src/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 (\"\");\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 { useFormikContext } from \"formik\";\nimport { findById, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Checkbox, Tooltip } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/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}\n disabled={!tooltipMessage || isChecked}\n position=\"left-start\"\n >\n <div\n className=\"ntm-roles-permission__card\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n >\n <Checkbox\n checked={isChecked}\n className=\"grow-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n label={description}\n onChange={() => handleTogglePermission(id)}\n />\n <div className=\"ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-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=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\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 key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card\">\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","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","_toConsumableArray","_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","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Permissions-jUdzUmmp.js","sources":["../app/javascript/src/components/Roles/utils.js","../app/javascript/src/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 (\"\");\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 { useFormikContext } from \"formik\";\nimport { findById, isNotEmpty } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Checkbox, Tooltip } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/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}\n disabled={!tooltipMessage || isChecked}\n position=\"left-start\"\n >\n <div\n className=\"ntm-roles-permission__card\"\n data-testid={`ntm-roles-permission-sub-category-card-${index}`}\n >\n <Checkbox\n checked={isChecked}\n className=\"grow-0\"\n data-testid=\"ntm-roles-permission-checkbox\"\n disabled={isCheckingDisabled}\n label={description}\n onChange={() => handleTogglePermission(id)}\n />\n <div className=\"ntm-roles-permission__sub-blocks neeto-ui-relative neeto-ui-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=\"ntm-roles-pane__body-wrapper\">\n <div>\n <Typography lineHeight=\"normal\" style=\"h4\" weight=\"semibold\">\n {t(\"neetoTeamMembers.common.permission\", SINGULAR)}\n </Typography>\n <Typography lineHeight=\"normal\" style=\"body2\">\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 key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-testid=\"ntm-roles-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h5\"\n weight=\"bold\"\n >\n {category}\n </Typography>\n <div className=\"ntm-roles-permission-category-card\">\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","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","_toConsumableArray","_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","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
|