@bigbinary/neeto-team-members-frontend 4.4.6 → 4.4.8

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 (74) hide show
  1. package/app/javascript/src/translations/en.json +1 -1
  2. package/dist/Groups.js +17 -16
  3. package/dist/Groups.js.map +1 -1
  4. package/dist/ManageMember.js +4 -4
  5. package/dist/MembersDropdown.js +1 -1
  6. package/dist/MembersDropdown.js.map +1 -1
  7. package/dist/Permissions-B2pWJYB4.js.map +1 -1
  8. package/dist/Permissions-r2Kb80Y_.js.map +1 -1
  9. package/dist/Profile.js +2 -1
  10. package/dist/Profile.js.map +1 -1
  11. package/dist/Roles.js +5 -5
  12. package/dist/Roles.js.map +1 -1
  13. package/dist/{RolesRadioGroup-DJ4pOHcX.js → RolesRadioGroup-9nwlURk_.js} +3 -3
  14. package/dist/{RolesRadioGroup-DJ4pOHcX.js.map → RolesRadioGroup-9nwlURk_.js.map} +1 -1
  15. package/dist/{RolesRadioGroup-DFPWhs-4.js → RolesRadioGroup-BWKc69-r.js} +3 -3
  16. package/dist/{RolesRadioGroup-DFPWhs-4.js.map → RolesRadioGroup-BWKc69-r.js.map} +1 -1
  17. package/dist/RolesRadioGroup.js +1 -1
  18. package/dist/TeamMembers.js +21 -19
  19. package/dist/TeamMembers.js.map +1 -1
  20. package/dist/TeamsAndMembersDropdown.js.map +1 -1
  21. package/dist/TeamsDropdown.js +2 -2
  22. package/dist/TeamsDropdown.js.map +1 -1
  23. package/dist/cjs/Groups.js +17 -16
  24. package/dist/cjs/Groups.js.map +1 -1
  25. package/dist/cjs/ManageMember.js +4 -4
  26. package/dist/cjs/MembersDropdown.js +1 -1
  27. package/dist/cjs/MembersDropdown.js.map +1 -1
  28. package/dist/cjs/Profile.js +2 -1
  29. package/dist/cjs/Profile.js.map +1 -1
  30. package/dist/cjs/Roles.js +5 -5
  31. package/dist/cjs/Roles.js.map +1 -1
  32. package/dist/cjs/RolesRadioGroup.js +1 -1
  33. package/dist/cjs/TeamMembers.js +21 -19
  34. package/dist/cjs/TeamMembers.js.map +1 -1
  35. package/dist/cjs/TeamsAndMembersDropdown.js.map +1 -1
  36. package/dist/cjs/TeamsDropdown.js +2 -2
  37. package/dist/cjs/TeamsDropdown.js.map +1 -1
  38. package/dist/cjs/hooks.js +1 -1
  39. package/dist/cjs/index.js +5 -5
  40. package/dist/cjs/utils.js +1 -1
  41. package/dist/cjs/utils.js.map +1 -1
  42. package/dist/constants-DK60kZoX.js.map +1 -1
  43. package/dist/constants-Dq8t7rmL.js.map +1 -1
  44. package/dist/hooks.js +1 -1
  45. package/dist/index-B6-BCFEc.js.map +1 -1
  46. package/dist/{index-BglqNP6y.js → index-BFFBQ3pM.js} +13 -13
  47. package/dist/index-BFFBQ3pM.js.map +1 -0
  48. package/dist/{index-DcjmIrWp.js → index-BcjSZ6rU.js} +6 -6
  49. package/dist/index-BcjSZ6rU.js.map +1 -0
  50. package/dist/{index-DGXXNU_W.js → index-D0KKlpts.js} +6 -6
  51. package/dist/index-D0KKlpts.js.map +1 -0
  52. package/dist/index-D9EElQrM.js.map +1 -1
  53. package/dist/{index-Ha4Z8MdN.js → index-Dzukc6kH.js} +13 -13
  54. package/dist/index-Dzukc6kH.js.map +1 -0
  55. package/dist/index.js +5 -5
  56. package/dist/queryClient-4vAFE3bx.js.map +1 -1
  57. package/dist/queryClient-Dsu-gu4Y.js.map +1 -1
  58. package/dist/useMembersSidenav-C1ZO3xIl.js.map +1 -1
  59. package/dist/useMembersSidenav-uuIPy4H_.js.map +1 -1
  60. package/dist/{useTeamsApi-BTrW3Vtj.js → useTeamsApi-CRP2qaMz.js} +3 -3
  61. package/dist/useTeamsApi-CRP2qaMz.js.map +1 -0
  62. package/dist/{useTeamsApi-CasIc4Xx.js → useTeamsApi-Dhffi1dV.js} +3 -3
  63. package/dist/useTeamsApi-Dhffi1dV.js.map +1 -0
  64. package/dist/utils.js +1 -1
  65. package/dist/utils.js.map +1 -1
  66. package/dist/withReactQuery-C7a_pGxf.js.map +1 -1
  67. package/dist/withReactQuery-CHybbL5V.js.map +1 -1
  68. package/package.json +54 -51
  69. package/dist/index-BglqNP6y.js.map +0 -1
  70. package/dist/index-DGXXNU_W.js.map +0 -1
  71. package/dist/index-DcjmIrWp.js.map +0 -1
  72. package/dist/index-Ha4Z8MdN.js.map +0 -1
  73. package/dist/useTeamsApi-BTrW3Vtj.js.map +0 -1
  74. package/dist/useTeamsApi-CasIc4Xx.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Permissions-B2pWJYB4.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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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.scss\";\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);\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 }) => {\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 className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"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 })\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-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"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","findChildIdsRecursively","_ref2","concat","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","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
1
+ {"version":3,"file":"Permissions-B2pWJYB4.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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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.scss\";\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);\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 }) => {\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 className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"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 })\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-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"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","findChildIdsRecursively","_ref2","concat","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","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Permissions-r2Kb80Y_.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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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.scss\";\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);\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 }) => {\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 className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"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 })\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-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"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","findChildIdsRecursively","_ref2","concat","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","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
1
+ {"version":3,"file":"Permissions-r2Kb80Y_.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 attachChildrenRecursively(\n permissionsNameMap[childName][0],\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 findChildIdsRecursively(\n permissionsNameMap[childName][0],\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.scss\";\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);\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 }) => {\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 className=\"ntm-roles-permission__card\">\n <Checkbox\n checked={isChecked}\n className=\"flex-grow-0\"\n data-cy=\"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 })\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-cy=\"ntm-roles-permission-card\"\n key={category}\n >\n <Typography\n className=\"ntm-roles-permission__heading neeto-ui-mb-2\"\n data-cy=\"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","findChildIdsRecursively","_ref2","concat","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","sortedChildren","isCheckingDisabled","isChecked","permissionsToBeUnchecked","hasUnCheckOnSelect","isNotEmpty","tooltipMessage","join","_jsx","Fragment","Tooltip","content","disabled","position","_jsxs","className","Checkbox","checked","label","onChange","childPermission","Typography","lineHeight","style","weight","SINGULAR","keys"],"mappings":"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"}
package/dist/Profile.js CHANGED
@@ -489,12 +489,13 @@ var ChangeProfile = function ChangeProfile(_ref) {
489
489
  }), /*#__PURE__*/jsx(Callout, {
490
490
  className: "neeto-ui-bg-gray-100 neeto-ui-border-gray-300 mt-8 w-full",
491
491
  children: /*#__PURE__*/jsx(Typography, {
492
- styles: "body1",
492
+ style: "body2",
493
493
  weight: "light",
494
494
  children: /*#__PURE__*/jsx(Trans, {
495
495
  i18nKey: "neetoTeamMembers.profile.common.toUpdateProfile",
496
496
  components: {
497
497
  button: /*#__PURE__*/jsx(Button, {
498
+ className: "neeto-ui-font-size-inherit",
498
499
  "data-cy": "ntm-visit-auth-button",
499
500
  "data-test-id": "ntm-visit-auth-button",
500
501
  href: MY_PROFILE_PATH,
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.js","sources":["../app/javascript/src/apis/profile.js","../app/javascript/src/hooks/profile/useProfileApi.js","../app/javascript/src/components/Profile/constants.js","../app/javascript/src/hooks/profile/useCountriesApi.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx","../app/javascript/src/components/Profile/ChangeProfile.jsx","../app/javascript/src/components/Profile/hooks/useProfileUpdatePane.js","../app/javascript/src/components/Profile/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/common/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/profile/countries`);\n\nconst fetchUserDetails = () => axios.get(`${BASE_URL}/profile/user`);\n\nconst updateUser = ({ id, payload }) =>\n axios.put(`${BASE_URL}/profile/user/${id}`, payload);\n\nconst profileApi = { fetchCountries, fetchUserDetails, updateUser };\n\nexport default profileApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchProfile = options =>\n useQuery({\n queryKey: [QUERY_KEYS.USER_PROFILE],\n queryFn: profileApi.fetchUserDetails,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nconst useUpdateProfileMutation = options =>\n useMutationWithInvalidation(profileApi.updateUser, {\n keysToInvalidate: [[QUERY_KEYS.USER_PROFILE]],\n ...options,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useFetchProfile, useUpdateProfileMutation };\n","import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[a-zA-Z0-9 ,'-áéíóúÁÉÍÓÚ]+$/i,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[a-zA-Z0-9 ,'-áéíóúÁÉÍÓÚ]+$/i,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const MY_PROFILE_PATH = \"/auth/profile/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchCountries = options =>\n useQuery({\n queryKey: [QUERY_KEYS.COUNTRIES_LIST],\n queryFn: profileApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport { useFetchCountries };\n","import { 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 = 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\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useField } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Delete } from \"neetoicons\";\nimport { Avatar, Label, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n IMAGE_DELETE_BUTTON_SIZE,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n\n const [field, _, helpers] = useField(\"avatar\");\n const { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n return setValue({\n imageUrl: URL.createObjectURL(imageFile),\n file: imageFile,\n });\n };\n\n const handleRemoveImage = () => setValue({ imageUrl: \"\", file: \"_destroy\" });\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-8 flex flex-row justify-start\">\n <div className=\"flex-shrink-0\">\n {isPresent(avatarDetails?.imageUrl) && (\n <div className=\"relative z-10\">\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full absolute right-0 top-0 cursor-pointer p-0.5\"\n data-cy=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n <Delete size={IMAGE_DELETE_BUTTON_SIZE} />\n </div>\n </div>\n )}\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"ml-4 flex flex-col\">\n <Label className=\"neeto-ui-text-black mb-1 font-medium\">\n {t(\"neetoTeamMembers.profile.avatar.profilePicture\")}\n </Label>\n <Typography className=\"neeto-ui-text-gray-700 mb-2\" style=\"body3\">\n <Trans\n components={{ code: <code /> }}\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <div\n className=\"neeto-ui-file-upload flex flex-row \"\n data-cy=\"profile-image-upload-container\"\n >\n <label\n className=\"neeto-ui-btn--style-secondary neeto-ui-btn m-0 mr-3 \"\n data-cy=\"profile-image-upload-label\"\n htmlFor=\"uploadProfileImage\"\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </label>\n <input\n hidden\n accept=\"image/*\"\n data-cy=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n","import { useCallback, useEffect } from \"react\";\n\nimport { useProfileImageUpload } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { findBy, noop } from \"neetocist\";\nimport {\n Button,\n Callout,\n Label,\n Pane,\n Radio,\n Spinner,\n Toastr,\n Typography,\n} from \"neetoui\";\nimport { Input, Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n\nimport { MY_PROFILE_PATH, PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\nimport \"./styles.scss\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryId = \"\",\n } = user;\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\n\n const timezoneRef = useCallback(\n ({ node, setFieldValue }) => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ utc }) => setFieldValue(\"timeZone\", utc[0]),\n });\n }\n },\n [timeZone]\n );\n\n const initialFormValues = {\n firstName,\n lastName,\n timeZone,\n dateFormat,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier:\n updatedCountryId !== countryId ? updatedCountryId : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n useEffect(() => {\n const country = findBy({ value: countryId }, countryDropdownOptions);\n if (country) {\n handleCountryChange(country);\n }\n }, [countryId, countryDropdownOptions]);\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n formProps={{ \"data-cy\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, values, errors, touched }) => (\n <>\n <Pane.Body className=\"w-full\">\n <div className=\"w-full space-y-6 pb-6\">\n <ProfileImage />\n <div className=\"grid grid-cols-2 gap-4\">\n <Input\n autoFocus\n required\n data-cy=\"profile-first-name-text-field\"\n data-test-id=\"ntm-profile-first-name\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <Input\n required\n data-cy=\"profile-last-name-text-field\"\n data-test-id=\"ntm-profile-last-name\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n </div>\n <Select\n required\n data-cy=\"ntm-profile-country-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.selectCountry\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <div className=\"space-y-2\">\n <div>\n <Label required className=\"mb-2\">\n {t(\"neetoTeamMembers.profile.inputs.label.selectTimeZone\")}\n </Label>\n <div\n className=\"w-full flex-grow\"\n data-cy=\"ntm-profile-time-zone-select\"\n ref={node => timezoneRef({ node, setFieldValue })}\n />\n </div>\n {touched.timeZone && errors.timeZone && (\n <Typography>{errors.timeZone}</Typography>\n )}\n </div>\n <div>\n <Label required>\n {t(\"neetoTeamMembers.profile.inputs.label.dateFormat\")}\n </Label>\n <Radio className=\"mt-2 space-x-4\">\n {DATE_FORMAT_OPTIONS.map(({ label, value }) => (\n <Radio.Item\n {...{ label, value }}\n checked={values.dateFormat === value}\n data-cy=\"ntm-profile-date-format-radio\"\n key={value}\n name=\"dateFormat\"\n onChange={event =>\n setFieldValue(\"dateFormat\", event.target.value)\n }\n />\n ))}\n </Radio>\n </div>\n </div>\n <hr className=\"neeto-ui-border-gray-200 w-full\" />\n <Callout className=\"neeto-ui-bg-gray-100 neeto-ui-border-gray-300 mt-8 w-full\">\n <Typography styles=\"body1\" weight=\"light\">\n <Trans\n i18nKey=\"neetoTeamMembers.profile.common.toUpdateProfile\"\n components={{\n button: (\n <Button\n data-cy=\"ntm-visit-auth-button\"\n data-test-id=\"ntm-visit-auth-button\"\n href={MY_PROFILE_PATH}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </Typography>\n </Callout>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-test-id\": \"ntm-profile-cancel-button\",\n \"data-cy\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"ntm-profile-submit-button\",\n \"data-test-id\": \"ntm-profile-save-changes-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"components/Profile/ChangeProfile\";\n\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\n\nconst Profile = () => {\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const { t } = useTranslation();\n\n const onClose = () => setIsOpen(false);\n\n return (\n <div className=\"w-full\">\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n </Pane.Header>\n <ChangeProfile {...{ onClose }} />\n </Pane>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["fetchCountries","axios","get","concat","BASE_URL","fetchUserDetails","updateUser","_ref","id","payload","put","profileApi","useFetchProfile","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","USER_PROFILE","queryFn","staleTime","DEFAULT_STALE_TIME","useUpdateProfileMutation","useMutationWithInvalidation","keysToInvalidate","onSuccess","window","location","reload","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","MY_PROFILE_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","IMAGE_DELETE_BUTTON_SIZE","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","useFetchCountries","COUNTRIES_LIST","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","countryDropdownOptions","useMemo","map","handleCountryChange","countryOption","dependentFields","selectedCountry","findById","isFetchingCountriesList","ProfileImage","_useTranslation","useTranslation","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","imageUrl","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","URL","createObjectURL","file","handleRemoveImage","type","size","includes","_jsxs","className","children","isPresent","_jsx","onClick","Delete","Avatar","user","Label","Typography","style","Trans","components","code","i18nKey","values","limit","htmlFor","hidden","accept","onChange","ChangeProfile","onClose","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","_useFetchProfile$data","_useFetchProfile$data2","_useFetchProfile$data3","isFetchingUserDetails","isFetching","_user$firstName","_user$lastName","_user$dateFormat","DATE_FORMAT_OPTIONS","_user$timeZone","timeZone","_user$profileImageUrl","profileImageUrl","_user$countryId","countryId","_useCountries","_useCountries$handleC","noop","_useUpdateProfileMuta","updateProfile","mutate","isUpdatingProfile","isPending","timezoneRef","useCallback","_ref2","node","setFieldValue","isNotNil","NeetoTimezoneSelector","position","initialValue","_ref3","utc","initialFormValues","avatar","handleSubmit","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","countryIdentifier","undefined","t0","stop","_x","apply","arguments","useEffect","findBy","Spinner","Form","formProps","formikProps","initialValues","validationSchema","onSubmit","_ref5","errors","touched","_Fragment","Pane","Body","Input","autoFocus","placeholder","Select","option","ref","Radio","_ref6","_createElement","Item","checked","key","Callout","styles","weight","button","Button","href","Footer","ActionBlock","isSubmitting","cancelButtonProps","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","Header","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"Profile.js","sources":["../app/javascript/src/apis/profile.js","../app/javascript/src/hooks/profile/useProfileApi.js","../app/javascript/src/components/Profile/constants.js","../app/javascript/src/hooks/profile/useCountriesApi.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx","../app/javascript/src/components/Profile/ChangeProfile.jsx","../app/javascript/src/components/Profile/hooks/useProfileUpdatePane.js","../app/javascript/src/components/Profile/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/common/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/profile/countries`);\n\nconst fetchUserDetails = () => axios.get(`${BASE_URL}/profile/user`);\n\nconst updateUser = ({ id, payload }) =>\n axios.put(`${BASE_URL}/profile/user/${id}`, payload);\n\nconst profileApi = { fetchCountries, fetchUserDetails, updateUser };\n\nexport default profileApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchProfile = options =>\n useQuery({\n queryKey: [QUERY_KEYS.USER_PROFILE],\n queryFn: profileApi.fetchUserDetails,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nconst useUpdateProfileMutation = options =>\n useMutationWithInvalidation(profileApi.updateUser, {\n keysToInvalidate: [[QUERY_KEYS.USER_PROFILE]],\n ...options,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useFetchProfile, useUpdateProfileMutation };\n","import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[a-zA-Z0-9 ,'-áéíóúÁÉÍÓÚ]+$/i,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[a-zA-Z0-9 ,'-áéíóúÁÉÍÓÚ]+$/i,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const MY_PROFILE_PATH = \"/auth/profile/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchCountries = options =>\n useQuery({\n queryKey: [QUERY_KEYS.COUNTRIES_LIST],\n queryFn: profileApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport { useFetchCountries };\n","import { 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 = 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\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useField } from \"formik\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Delete } from \"neetoicons\";\nimport { Avatar, Label, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n IMAGE_DELETE_BUTTON_SIZE,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n\n const [field, _, helpers] = useField(\"avatar\");\n const { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n return setValue({\n imageUrl: URL.createObjectURL(imageFile),\n file: imageFile,\n });\n };\n\n const handleRemoveImage = () => setValue({ imageUrl: \"\", file: \"_destroy\" });\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-8 flex flex-row justify-start\">\n <div className=\"flex-shrink-0\">\n {isPresent(avatarDetails?.imageUrl) && (\n <div className=\"relative z-10\">\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full absolute right-0 top-0 cursor-pointer p-0.5\"\n data-cy=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n <Delete size={IMAGE_DELETE_BUTTON_SIZE} />\n </div>\n </div>\n )}\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"ml-4 flex flex-col\">\n <Label className=\"neeto-ui-text-black mb-1 font-medium\">\n {t(\"neetoTeamMembers.profile.avatar.profilePicture\")}\n </Label>\n <Typography className=\"neeto-ui-text-gray-700 mb-2\" style=\"body3\">\n <Trans\n components={{ code: <code /> }}\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <div\n className=\"neeto-ui-file-upload flex flex-row \"\n data-cy=\"profile-image-upload-container\"\n >\n <label\n className=\"neeto-ui-btn--style-secondary neeto-ui-btn m-0 mr-3 \"\n data-cy=\"profile-image-upload-label\"\n htmlFor=\"uploadProfileImage\"\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </label>\n <input\n hidden\n accept=\"image/*\"\n data-cy=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n","import { useCallback, useEffect } from \"react\";\n\nimport { useProfileImageUpload } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { findBy, noop } from \"neetocist\";\nimport {\n Button,\n Callout,\n Label,\n Pane,\n Radio,\n Spinner,\n Toastr,\n Typography,\n} from \"neetoui\";\nimport { Input, Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n\nimport { MY_PROFILE_PATH, PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\nimport \"./styles.scss\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryId = \"\",\n } = user;\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\n\n const timezoneRef = useCallback(\n ({ node, setFieldValue }) => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ utc }) => setFieldValue(\"timeZone\", utc[0]),\n });\n }\n },\n [timeZone]\n );\n\n const initialFormValues = {\n firstName,\n lastName,\n timeZone,\n dateFormat,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier:\n updatedCountryId !== countryId ? updatedCountryId : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n useEffect(() => {\n const country = findBy({ value: countryId }, countryDropdownOptions);\n if (country) {\n handleCountryChange(country);\n }\n }, [countryId, countryDropdownOptions]);\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n formProps={{ \"data-cy\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, values, errors, touched }) => (\n <>\n <Pane.Body className=\"w-full\">\n <div className=\"w-full space-y-6 pb-6\">\n <ProfileImage />\n <div className=\"grid grid-cols-2 gap-4\">\n <Input\n autoFocus\n required\n data-cy=\"profile-first-name-text-field\"\n data-test-id=\"ntm-profile-first-name\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <Input\n required\n data-cy=\"profile-last-name-text-field\"\n data-test-id=\"ntm-profile-last-name\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n </div>\n <Select\n required\n data-cy=\"ntm-profile-country-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.selectCountry\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <div className=\"space-y-2\">\n <div>\n <Label required className=\"mb-2\">\n {t(\"neetoTeamMembers.profile.inputs.label.selectTimeZone\")}\n </Label>\n <div\n className=\"w-full flex-grow\"\n data-cy=\"ntm-profile-time-zone-select\"\n ref={node => timezoneRef({ node, setFieldValue })}\n />\n </div>\n {touched.timeZone && errors.timeZone && (\n <Typography>{errors.timeZone}</Typography>\n )}\n </div>\n <div>\n <Label required>\n {t(\"neetoTeamMembers.profile.inputs.label.dateFormat\")}\n </Label>\n <Radio className=\"mt-2 space-x-4\">\n {DATE_FORMAT_OPTIONS.map(({ label, value }) => (\n <Radio.Item\n {...{ label, value }}\n checked={values.dateFormat === value}\n data-cy=\"ntm-profile-date-format-radio\"\n key={value}\n name=\"dateFormat\"\n onChange={event =>\n setFieldValue(\"dateFormat\", event.target.value)\n }\n />\n ))}\n </Radio>\n </div>\n </div>\n <hr className=\"neeto-ui-border-gray-200 w-full\" />\n <Callout className=\"neeto-ui-bg-gray-100 neeto-ui-border-gray-300 mt-8 w-full\">\n <Typography style=\"body2\" weight=\"light\">\n <Trans\n i18nKey=\"neetoTeamMembers.profile.common.toUpdateProfile\"\n components={{\n button: (\n <Button\n className=\"neeto-ui-font-size-inherit\"\n data-cy=\"ntm-visit-auth-button\"\n data-test-id=\"ntm-visit-auth-button\"\n href={MY_PROFILE_PATH}\n style=\"link\"\n target=\"_blank\"\n />\n ),\n }}\n />\n </Typography>\n </Callout>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-test-id\": \"ntm-profile-cancel-button\",\n \"data-cy\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-cy\": \"ntm-profile-submit-button\",\n \"data-test-id\": \"ntm-profile-save-changes-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"components/Profile/ChangeProfile\";\n\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\n\nconst Profile = () => {\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const { t } = useTranslation();\n\n const onClose = () => setIsOpen(false);\n\n return (\n <div className=\"w-full\">\n <Pane {...{ isOpen, onClose }}>\n <Pane.Header>\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n </Pane.Header>\n <ChangeProfile {...{ onClose }} />\n </Pane>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["fetchCountries","axios","get","concat","BASE_URL","fetchUserDetails","updateUser","_ref","id","payload","put","profileApi","useFetchProfile","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","USER_PROFILE","queryFn","staleTime","DEFAULT_STALE_TIME","useUpdateProfileMutation","useMutationWithInvalidation","keysToInvalidate","onSuccess","window","location","reload","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","MY_PROFILE_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","IMAGE_DELETE_BUTTON_SIZE","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","useFetchCountries","COUNTRIES_LIST","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","countryDropdownOptions","useMemo","map","handleCountryChange","countryOption","dependentFields","selectedCountry","findById","isFetchingCountriesList","ProfileImage","_useTranslation","useTranslation","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","imageUrl","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","URL","createObjectURL","file","handleRemoveImage","type","size","includes","_jsxs","className","children","isPresent","_jsx","onClick","Delete","Avatar","user","Label","Typography","style","Trans","components","code","i18nKey","values","limit","htmlFor","hidden","accept","onChange","ChangeProfile","onClose","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","_useFetchProfile$data","_useFetchProfile$data2","_useFetchProfile$data3","isFetchingUserDetails","isFetching","_user$firstName","_user$lastName","_user$dateFormat","DATE_FORMAT_OPTIONS","_user$timeZone","timeZone","_user$profileImageUrl","profileImageUrl","_user$countryId","countryId","_useCountries","_useCountries$handleC","noop","_useUpdateProfileMuta","updateProfile","mutate","isUpdatingProfile","isPending","timezoneRef","useCallback","_ref2","node","setFieldValue","isNotNil","NeetoTimezoneSelector","position","initialValue","_ref3","utc","initialFormValues","avatar","handleSubmit","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","countryIdentifier","undefined","t0","stop","_x","apply","arguments","useEffect","findBy","Spinner","Form","formProps","formikProps","initialValues","validationSchema","onSubmit","_ref5","errors","touched","_Fragment","Pane","Body","Input","autoFocus","placeholder","Select","option","ref","Radio","_ref6","_createElement","Item","checked","key","Callout","weight","button","Button","href","Footer","ActionBlock","isSubmitting","cancelButtonProps","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","Header","usePaneState"],"mappings":"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"}
package/dist/Roles.js CHANGED
@@ -12,7 +12,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
12
12
  import { useQuery } from '@tanstack/react-query';
13
13
  import axios from 'axios';
14
14
  import { B as BASE_URL, Q as QUERY_KEYS, A as ADMIN_ROLES } from './constants-Dq8t7rmL.js';
15
- import { b as useCreateRole, c as useUpdateRole, S as ScrollToErrorField, d as useDestroyRole, u as useFetchRoles, e as useBulkUpdateRoles } from './index-DcjmIrWp.js';
15
+ import { b as useCreateRole, c as useUpdateRole, S as ScrollToErrorField, d as useDestroyRole, u as useFetchRoles, e as useBulkUpdateRoles } from './index-BcjSZ6rU.js';
16
16
  import Container from '@bigbinary/neeto-molecules/Container';
17
17
  import { n } from './inject-css-DmrvuTKK.js';
18
18
  import NeetoHeader from '@bigbinary/neeto-molecules/Header';
@@ -1510,11 +1510,11 @@ var Header = function Header(_ref) {
1510
1510
  t = _useTranslation.t;
1511
1511
  var isUpdatePermissionGranted = config.permissions.update;
1512
1512
  return /*#__PURE__*/jsx(NeetoHeader, {
1513
- breadcrumbs: renderBreadcrumbs(config === null || config === void 0 ? void 0 : (_config$header = config.header) === null || _config$header === void 0 ? void 0 : _config$header.breadcrumbs),
1513
+ breadcrumbs: renderBreadcrumbs(config === null || config === void 0 || (_config$header = config.header) === null || _config$header === void 0 ? void 0 : _config$header.breadcrumbs),
1514
1514
  className: "ntm-roles-header",
1515
1515
  searchProps: isNotEmpty(roles) ? renderSearchProps() : null,
1516
1516
  title: t("neetoTeamMembers.common.role", PLURAL),
1517
- titleHelpPopoverProps: (_config$header$titleH = config === null || config === void 0 ? void 0 : (_config$header2 = config.header) === null || _config$header2 === void 0 ? void 0 : _config$header2.titleHelpPopoverProps) !== null && _config$header$titleH !== void 0 ? _config$header$titleH : {},
1517
+ titleHelpPopoverProps: (_config$header$titleH = config === null || config === void 0 || (_config$header2 = config.header) === null || _config$header2 === void 0 ? void 0 : _config$header2.titleHelpPopoverProps) !== null && _config$header$titleH !== void 0 ? _config$header$titleH : {},
1518
1518
  actionBlock: isDirty ? /*#__PURE__*/jsxs(Fragment, {
1519
1519
  children: [/*#__PURE__*/jsx(Tooltip, {
1520
1520
  content: t("neetoTeamMembers.tooltips.noPermissionToEditRoles"),
@@ -1753,8 +1753,8 @@ var filterPermissionsBySearch = function filterPermissionsBySearch(searchTerm, p
1753
1753
  newValue.forEach(function (value) {
1754
1754
  var permissions = value.get("permissions");
1755
1755
  var filteredPermissions = permissions.filter(function (permission) {
1756
- var _permission$descripti, _permission$descripti2, _permission$descripti3;
1757
- return permission === null || permission === void 0 ? void 0 : (_permission$descripti = permission.description) === null || _permission$descripti === void 0 ? void 0 : (_permission$descripti2 = _permission$descripti.toLowerCase()) === null || _permission$descripti2 === void 0 ? void 0 : (_permission$descripti3 = _permission$descripti2.trim()) === null || _permission$descripti3 === void 0 ? void 0 : _permission$descripti3.includes(searchTerm.toLowerCase().trim());
1756
+ var _permission$descripti;
1757
+ return permission === null || permission === void 0 || (_permission$descripti = permission.description) === null || _permission$descripti === void 0 || (_permission$descripti = _permission$descripti.toLowerCase()) === null || _permission$descripti === void 0 || (_permission$descripti = _permission$descripti.trim()) === null || _permission$descripti === void 0 ? void 0 : _permission$descripti.includes(searchTerm.toLowerCase().trim());
1758
1758
  });
1759
1759
  value.set("permissions", filteredPermissions);
1760
1760
  });