@bigbinary/neeto-team-members-frontend 5.0.42 → 5.0.43

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 (215) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -1
  3. package/dist/ActionBlock-jgw1N-As.js.map +1 -1
  4. package/dist/Groups.js +8 -104
  5. package/dist/Groups.js.map +1 -1
  6. package/dist/{InviteLinkError-C6OLGrD0.js → InviteLinkError-5auG6HEb.js} +37 -2
  7. package/dist/InviteLinkError-5auG6HEb.js.map +1 -0
  8. package/dist/{InviteLinkError-AphtWLhe.js → InviteLinkError-Chs1iVCJ.js} +57 -16
  9. package/dist/InviteLinkError-Chs1iVCJ.js.map +1 -0
  10. package/dist/ManageMember.js +988 -50
  11. package/dist/ManageMember.js.map +1 -1
  12. package/dist/MembersInvite.js +5 -36
  13. package/dist/MembersInvite.js.map +1 -1
  14. package/dist/{Permissions-C5poOq-v.js → Permissions-Bz0SmJzH.js} +6 -6
  15. package/dist/{Permissions-C5poOq-v.js.map → Permissions-Bz0SmJzH.js.map} +1 -1
  16. package/dist/{Permissions-DoGY84sh.js → Permissions-LWRAefeb.js} +6 -6
  17. package/dist/{Permissions-DoGY84sh.js.map → Permissions-LWRAefeb.js.map} +1 -1
  18. package/dist/Profile.js +7 -24
  19. package/dist/Profile.js.map +1 -1
  20. package/dist/ProfileImage-BLnx0E90.js +136 -0
  21. package/dist/ProfileImage-BLnx0E90.js.map +1 -0
  22. package/dist/{ProfileImage-QeSzsfzl.js → ProfileImage-Ddqkbj2f.js} +3 -37
  23. package/dist/ProfileImage-Ddqkbj2f.js.map +1 -0
  24. package/dist/{ProfileImage-Ypf3HreX.js → ProfileImage-EB117DPX.js} +3 -34
  25. package/dist/ProfileImage-EB117DPX.js.map +1 -0
  26. package/dist/ProfileImage-V240yfTY.js +129 -0
  27. package/dist/ProfileImage-V240yfTY.js.map +1 -0
  28. package/dist/Roles.js +7 -48
  29. package/dist/Roles.js.map +1 -1
  30. package/dist/{RolesRadioGroup-D4LlGV4N.js → RolesRadioGroup-BCrxWI9_.js} +11 -10
  31. package/dist/RolesRadioGroup-BCrxWI9_.js.map +1 -0
  32. package/dist/{RolesRadioGroup-cjHORagK.js → RolesRadioGroup-BwiP6Akj.js} +13 -11
  33. package/dist/RolesRadioGroup-BwiP6Akj.js.map +1 -0
  34. package/dist/Select-CshPoN2b.js.map +1 -1
  35. package/dist/Select-DZ56UG-l.js.map +1 -1
  36. package/dist/TeamMembers.js +18 -176
  37. package/dist/TeamMembers.js.map +1 -1
  38. package/dist/cjs/Groups.js +12 -109
  39. package/dist/cjs/Groups.js.map +1 -1
  40. package/dist/cjs/ManageMember.js +1012 -51
  41. package/dist/cjs/ManageMember.js.map +1 -1
  42. package/dist/cjs/MembersInvite.js +9 -42
  43. package/dist/cjs/MembersInvite.js.map +1 -1
  44. package/dist/cjs/Profile.js +8 -25
  45. package/dist/cjs/Profile.js.map +1 -1
  46. package/dist/cjs/Roles.js +28 -70
  47. package/dist/cjs/Roles.js.map +1 -1
  48. package/dist/cjs/TeamMembers.js +30 -189
  49. package/dist/cjs/TeamMembers.js.map +1 -1
  50. package/dist/cjs/index.js +13 -7
  51. package/dist/cjs/index.js.map +1 -1
  52. package/dist/cjs/utils.js +512 -3
  53. package/dist/cjs/utils.js.map +1 -1
  54. package/dist/cjs/v2/Groups.js +37 -134
  55. package/dist/cjs/v2/Groups.js.map +1 -1
  56. package/dist/cjs/v2/ManageMember.js +18 -13
  57. package/dist/cjs/v2/ManageMember.js.map +1 -1
  58. package/dist/cjs/v2/MembersDropdown.js +1 -1
  59. package/dist/cjs/v2/MembersDropdown.js.map +1 -1
  60. package/dist/cjs/v2/MembersInvite.js +20 -59
  61. package/dist/cjs/v2/MembersInvite.js.map +1 -1
  62. package/dist/cjs/v2/Permissions.js +2 -2
  63. package/dist/cjs/v2/Profile.js +17 -33
  64. package/dist/cjs/v2/Profile.js.map +1 -1
  65. package/dist/cjs/v2/Roles.js +42 -83
  66. package/dist/cjs/v2/Roles.js.map +1 -1
  67. package/dist/cjs/v2/RolesRadioGroup.js +7 -6
  68. package/dist/cjs/v2/RolesRadioGroup.js.map +1 -1
  69. package/dist/cjs/v2/TeamMembers.js +41 -191
  70. package/dist/cjs/v2/TeamMembers.js.map +1 -1
  71. package/dist/cjs/v2/TeamsAndMembersDropdown.js +1 -1
  72. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
  73. package/dist/cjs/v2/TeamsDropdown.js +1 -1
  74. package/dist/cjs/v2/TeamsDropdown.js.map +1 -1
  75. package/dist/cjs/v2/constants.js +8 -20
  76. package/dist/cjs/v2/constants.js.map +1 -1
  77. package/dist/cjs/v2/hooks.js +5 -5
  78. package/dist/cjs/v2/index.js +52 -35
  79. package/dist/cjs/v2/index.js.map +1 -1
  80. package/dist/cjs/v2/utils.js +9 -18
  81. package/dist/cjs/v2/utils.js.map +1 -1
  82. package/dist/hooks.js +1 -1
  83. package/dist/index-4wQ9Y7v9.js +61 -0
  84. package/dist/index-4wQ9Y7v9.js.map +1 -0
  85. package/dist/{index-CgcUZO11.js → index-BHZSKqUU.js} +248 -359
  86. package/dist/index-BHZSKqUU.js.map +1 -0
  87. package/dist/index-BISwUwuE.js +55 -0
  88. package/dist/index-BISwUwuE.js.map +1 -0
  89. package/dist/{index-CVZHlIdE.js → index-BMb0DElQ.js} +3 -3
  90. package/dist/index-BMb0DElQ.js.map +1 -0
  91. package/dist/index-BOQKf6as.js +61 -0
  92. package/dist/index-BOQKf6as.js.map +1 -0
  93. package/dist/{index-BVrpRWeD.js → index-BRgcqXVL.js} +3 -3
  94. package/dist/index-BRgcqXVL.js.map +1 -0
  95. package/dist/{index-Dfnw71qd.js → index-BjyZ-9G_.js} +244 -350
  96. package/dist/index-BjyZ-9G_.js.map +1 -0
  97. package/dist/index-CKQDhbTA.js +55 -0
  98. package/dist/index-CKQDhbTA.js.map +1 -0
  99. package/dist/index.js +13 -7
  100. package/dist/index.js.map +1 -1
  101. package/dist/useCountriesApi-CjhrbnjK.js +43 -0
  102. package/dist/useCountriesApi-CjhrbnjK.js.map +1 -0
  103. package/dist/useCountriesApi-DK00167T.js +35 -0
  104. package/dist/useCountriesApi-DK00167T.js.map +1 -0
  105. package/dist/useInviteLinksApi-COVfmZiQ.js +64 -0
  106. package/dist/useInviteLinksApi-COVfmZiQ.js.map +1 -0
  107. package/dist/useInviteLinksApi-gn-AP0Yx.js +55 -0
  108. package/dist/useInviteLinksApi-gn-AP0Yx.js.map +1 -0
  109. package/dist/useProfileApi-BcuLCyms.js +35 -0
  110. package/dist/useProfileApi-BcuLCyms.js.map +1 -0
  111. package/dist/useProfileApi-Dkt6sE5p.js +28 -0
  112. package/dist/useProfileApi-Dkt6sE5p.js.map +1 -0
  113. package/dist/{index-D_GBFQ6T.js → useRolesApi-93OoRU1s.js} +2 -54
  114. package/dist/useRolesApi-93OoRU1s.js.map +1 -0
  115. package/dist/{index-BOmT_MDe.js → useRolesApi-DuL4eCuF.js} +1 -55
  116. package/dist/useRolesApi-DuL4eCuF.js.map +1 -0
  117. package/dist/useTeams-9Lgu4ogZ.js +187 -0
  118. package/dist/useTeams-9Lgu4ogZ.js.map +1 -0
  119. package/dist/useTeams-CJQiyvCI.js +178 -0
  120. package/dist/useTeams-CJQiyvCI.js.map +1 -0
  121. package/dist/{useTeamsApi-DH-TbrNP.js → useTeamsApi-BXvhKbyp.js} +2 -2
  122. package/dist/{useTeamsApi-DH-TbrNP.js.map → useTeamsApi-BXvhKbyp.js.map} +1 -1
  123. package/dist/useUsersApi-BRPy1kqa.js +105 -0
  124. package/dist/useUsersApi-BRPy1kqa.js.map +1 -0
  125. package/dist/useUsersApi-CBZ1Dk5d.js +117 -0
  126. package/dist/useUsersApi-CBZ1Dk5d.js.map +1 -0
  127. package/dist/utils-3WlshQ9e.js +312 -0
  128. package/dist/utils-3WlshQ9e.js.map +1 -0
  129. package/dist/{index-Dus0cbgo.js → utils-CcTwXoRH.js} +52 -1
  130. package/dist/utils-CcTwXoRH.js.map +1 -0
  131. package/dist/utils-CgwJI9pk.js +334 -0
  132. package/dist/utils-CgwJI9pk.js.map +1 -0
  133. package/dist/{index-ureO6U2w.js → utils-CrN1b-Jp.js} +48 -2
  134. package/dist/utils-CrN1b-Jp.js.map +1 -0
  135. package/dist/utils.js +512 -3
  136. package/dist/utils.js.map +1 -1
  137. package/dist/v2/Groups.js +30 -126
  138. package/dist/v2/Groups.js.map +1 -1
  139. package/dist/v2/ManageMember.js +18 -13
  140. package/dist/v2/ManageMember.js.map +1 -1
  141. package/dist/v2/MembersDropdown.js +1 -1
  142. package/dist/v2/MembersDropdown.js.map +1 -1
  143. package/dist/v2/MembersInvite.js +16 -54
  144. package/dist/v2/MembersInvite.js.map +1 -1
  145. package/dist/v2/Permissions.js +2 -2
  146. package/dist/v2/Profile.js +12 -28
  147. package/dist/v2/Profile.js.map +1 -1
  148. package/dist/v2/Roles.js +23 -63
  149. package/dist/v2/Roles.js.map +1 -1
  150. package/dist/v2/RolesRadioGroup.js +7 -6
  151. package/dist/v2/RolesRadioGroup.js.map +1 -1
  152. package/dist/v2/TeamMembers.js +38 -187
  153. package/dist/v2/TeamMembers.js.map +1 -1
  154. package/dist/v2/TeamsAndMembersDropdown.js +1 -1
  155. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
  156. package/dist/v2/TeamsDropdown.js +1 -1
  157. package/dist/v2/TeamsDropdown.js.map +1 -1
  158. package/dist/v2/constants.js +2 -18
  159. package/dist/v2/constants.js.map +1 -1
  160. package/dist/v2/hooks.js +5 -5
  161. package/dist/v2/index.js +48 -31
  162. package/dist/v2/index.js.map +1 -1
  163. package/dist/v2/utils.js +6 -19
  164. package/dist/v2/utils.js.map +1 -1
  165. package/dist/withReactQuery-CSuiy5RK.js +1 -1
  166. package/dist/withReactQuery-CSuiy5RK.js.map +1 -1
  167. package/dist/withReactQuery-DvSkXhEx.js +1 -1
  168. package/dist/withReactQuery-DvSkXhEx.js.map +1 -1
  169. package/package.json +9 -9
  170. package/dist/InviteLinkError-AphtWLhe.js.map +0 -1
  171. package/dist/InviteLinkError-C6OLGrD0.js.map +0 -1
  172. package/dist/ProfileImage-QeSzsfzl.js.map +0 -1
  173. package/dist/ProfileImage-Ypf3HreX.js.map +0 -1
  174. package/dist/RolesRadioGroup-D4LlGV4N.js.map +0 -1
  175. package/dist/RolesRadioGroup-cjHORagK.js.map +0 -1
  176. package/dist/constants-B1L6arSR.js +0 -49
  177. package/dist/constants-B1L6arSR.js.map +0 -1
  178. package/dist/constants-CMNbKvoF.js +0 -61
  179. package/dist/constants-CMNbKvoF.js.map +0 -1
  180. package/dist/index-BOmT_MDe.js.map +0 -1
  181. package/dist/index-BVrpRWeD.js.map +0 -1
  182. package/dist/index-BkEJugj1.js +0 -184
  183. package/dist/index-BkEJugj1.js.map +0 -1
  184. package/dist/index-C6ph58Vg.js +0 -169
  185. package/dist/index-C6ph58Vg.js.map +0 -1
  186. package/dist/index-CVZHlIdE.js.map +0 -1
  187. package/dist/index-CgcUZO11.js.map +0 -1
  188. package/dist/index-DFFRcH_S.js +0 -1328
  189. package/dist/index-DFFRcH_S.js.map +0 -1
  190. package/dist/index-DTONHIze.js +0 -1373
  191. package/dist/index-DTONHIze.js.map +0 -1
  192. package/dist/index-D_GBFQ6T.js.map +0 -1
  193. package/dist/index-Dfnw71qd.js.map +0 -1
  194. package/dist/index-Dus0cbgo.js.map +0 -1
  195. package/dist/index-ureO6U2w.js.map +0 -1
  196. package/dist/pluralize-BoSEafiC.js +0 -514
  197. package/dist/pluralize-BoSEafiC.js.map +0 -1
  198. package/dist/pluralize-CFlSRsRn.js +0 -516
  199. package/dist/pluralize-CFlSRsRn.js.map +0 -1
  200. package/dist/queryClient-B-JFya8X.js +0 -16
  201. package/dist/queryClient-B-JFya8X.js.map +0 -1
  202. package/dist/queryClient-BncpekSV.js +0 -14
  203. package/dist/queryClient-BncpekSV.js.map +0 -1
  204. package/dist/timezone-selector-CKRmWIBV.js +0 -161
  205. package/dist/timezone-selector-CKRmWIBV.js.map +0 -1
  206. package/dist/timezone-selector-DzjWIcWK.js +0 -171
  207. package/dist/timezone-selector-DzjWIcWK.js.map +0 -1
  208. package/dist/useMembersSidenav-CTK2-tT0.js +0 -19
  209. package/dist/useMembersSidenav-CTK2-tT0.js.map +0 -1
  210. package/dist/useMembersSidenav-Dj60wgFC.js +0 -17
  211. package/dist/useMembersSidenav-Dj60wgFC.js.map +0 -1
  212. package/dist/useTeamsApi-CWp4G7JZ.js +0 -179
  213. package/dist/useTeamsApi-CWp4G7JZ.js.map +0 -1
  214. package/dist/useTeamsApi-Ch5sHR2_.js +0 -197
  215. package/dist/useTeamsApi-Ch5sHR2_.js.map +0 -1
package/dist/Roles.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Roles.js","sources":["../app/javascript/src/apis/permissions.js","../app/javascript/src/hooks/roles/usePermissionsApi.js","../app/javascript/src/components/Roles/Header/utils.js","../app/javascript/src/components/Roles/AddRoleButton.jsx","../app/javascript/src/components/Roles/Header/index.jsx","../app/javascript/src/components/Roles/constants.js","../app/javascript/src/components/Roles/ManageRoles.jsx","../app/javascript/src/components/Roles/Table/constants.js","../app/javascript/src/components/Roles/Table/utils.js","../app/javascript/src/components/Roles/Table/Row.jsx","../app/javascript/src/common/utils.js","../app/javascript/src/components/Roles/Table/Sidebar/utils.jsx","../app/javascript/src/components/Roles/Table/TableHeader.jsx","../app/javascript/src/components/Roles/Delete.jsx","../app/javascript/src/components/Roles/Table/Columns.jsx","../app/javascript/src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../app/javascript/src/components/Roles/Table/Sidebar/index.jsx","../app/javascript/src/components/Roles/Table/index.jsx","../app/javascript/src/components/Roles/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/common/constants\";\n\nconst fetch = () => axios.get(`${BASE_URL}/permissions`);\n\nconst permissionsApi = { fetch };\n\nexport default permissionsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport permissionsApi from \"apis/permissions\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchPermissions = (options = {}) =>\n useQuery({\n queryKey: [QUERY_KEYS.PERMISSIONS],\n queryFn: permissionsApi.fetch,\n select: response => response?.permissions,\n ...options,\n });\n\nexport { useFetchPermissions };\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\n\nexport const renderSearchProps = () => ({\n \"data-testid\": \"ntm-search-roles-input\",\n placeholder: t(\"neetoTeamMembers.placeholders.searchRole\", PLURAL),\n});\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.labels.addNewRole\")}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs, renderSearchProps } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n roles,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n searchProps={isNotEmpty(roles) ? renderSearchProps() : null}\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")}\n disabled={isUpdatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n label={t(\"neetoTeamMembers.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useRef } from \"react\";\n\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : ADD_ROLE_FORM_INITIAL_VALUES;\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Pane content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={!isEdit ? inputReference : undefined}\n size=\"large\"\n >\n <Pane.Header>\n <Typography data-testid=\"ntm-add-role-title\" style=\"h2\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Typography>\n </Pane.Header>\n <Form {...{ formikProps }} ref={formReference}>\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n unlimitedChars\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n className=\"ntm-roles-pane__footer\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { getRowClientHeight, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n style={{ height: getRowClientHeight(permission) }}\n >\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","export const isOverflown = ({\n clientWidth,\n clientHeight,\n scrollWidth,\n scrollHeight,\n}) => scrollHeight > clientHeight || scrollWidth > clientWidth;\n\nexport const getScrollBarWidth = () => {\n const innerElement = document.createElement(\"p\");\n innerElement.classList.add(\"ntm-scrollbar__inner\");\n\n const outerElement = document.createElement(\"div\");\n outerElement.classList.add(\"ntm-scrollbar__outer\");\n\n outerElement.appendChild(innerElement);\n document.body.appendChild(outerElement);\n\n const w1 = innerElement.offsetWidth;\n outerElement.style.overflow = \"scroll\";\n let w2 = innerElement.offsetWidth;\n if (w1 === w2) w2 = outerElement.clientWidth;\n\n document.body.removeChild(outerElement);\n\n return w1 - w2;\n};\n","import { Fragment } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {}\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={InfoRound}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"neeto-ui-relative neeto-ui-pl-6 ntm-roles-table-sidebar__sub-blocks\">\n {renderDescription(children, filteredPermissions, permissionTooltip)}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { Typography } from \"neetoui\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\" data-testid=\"ntm-roles-table-header\">\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"ntm-roles-table-header-cell__container\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n dropdownButtonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-testid\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div className=\"ntm-roles-table__cell-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { Down, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <Down\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Search from \"neetomolecules/Search\";\nimport { Typography } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getChildrenRemovedFromRoot } from \"components/Roles/utils\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoTeamMembers.labels.permissionsNotFound\")}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted cursor-pointer\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n className=\"ntm-roles-table-sidebar__list-item-title\"\n data-testid=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-[12px] px-[24px]\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useState } from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper\">\n <div className=\"ntm-roles-table__container\">\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n title={t(\"neetoTeamMembers.labels.roleNotFound\", PLURAL)}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </>\n )}\n </div>\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams, withTitle } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { filter, includes } from \"ramda\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = filter(\n ({ name }) =>\n includes(searchTerm.toLowerCase().trim(), name.toLowerCase().trim()),\n isNotEmpty(modifiedRoles) ? modifiedRoles : roles\n );\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n roles,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["fetch","axios","get","concat","BASE_URL","permissionsApi","useFetchPermissions","options","arguments","length","undefined","useQuery","_objectSpread","queryKey","QUERY_KEYS","PERMISSIONS","queryFn","select","response","permissions","renderSearchProps","placeholder","t","PLURAL","renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","isCreatePermissionGranted","create","_jsx","Tooltip","content","disabled","position","children","Button","label","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","roles","isUpdatePermissionGranted","update","NeetoHeader","header","className","searchProps","isNotEmpty","title","titleHelpPopoverProps","actionBlock","_jsxs","_Fragment","type","style","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_selectedRole$permiss","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","id","initialValues","sort","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Pane","initialFocusRef","size","Typography","Form","ref","_ref3","_config$permissionRel","dirty","ScrollToErrorField","formRef","Body","Input","unlimitedChars","maxLength","readOnly","Textarea","Permissions","permissionRelationConfig","permissionRelation","Footer","ActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","filter","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","getRowClientHeight","sidebarItems","from","sidebarItem","_findBy","dataset","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","height","identical","Checkbox","checked","onChange","isOverflown","clientWidth","scrollWidth","getScrollBarWidth","innerElement","createElement","outerElement","appendChild","body","w1","overflow","w2","removeChild","renderDescription","permissionTooltip","tooltipContent","Fragment","lineHeight","HelpPopover","icon","InfoRound","getSearchWrapperStyle","scrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","ScrollSyncPane","group","index","isAdminRole","weight","MoreDropdown","dropdownProps","autoWidth","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","useMemo","_createElement","ToggleDropdown","Up","strokeWidth","Down","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","pluck","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","NoData","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useQueryParams$searc","_useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":"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"}
1
+ {"version":3,"file":"Roles.js","sources":["../app/javascript/src/components/Roles/Header/utils.js","../app/javascript/src/components/Roles/AddRoleButton.jsx","../app/javascript/src/components/Roles/Header/index.jsx","../app/javascript/src/components/Roles/constants.js","../app/javascript/src/components/Roles/ManageRoles.jsx","../app/javascript/src/components/Roles/Table/constants.js","../app/javascript/src/components/Roles/Table/utils.js","../app/javascript/src/components/Roles/Table/Row.jsx","../app/javascript/src/components/Roles/Table/Sidebar/utils.jsx","../app/javascript/src/components/Roles/Table/TableHeader.jsx","../app/javascript/src/components/Roles/Delete.jsx","../app/javascript/src/components/Roles/Table/Columns.jsx","../app/javascript/src/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../app/javascript/src/components/Roles/Table/Sidebar/index.jsx","../app/javascript/src/components/Roles/Table/index.jsx","../app/javascript/src/components/Roles/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\n\nexport const renderSearchProps = () => ({\n \"data-testid\": \"ntm-search-roles-input\",\n placeholder: t(\"neetoTeamMembers.placeholders.searchRole\", PLURAL),\n});\n\nexport const renderBreadcrumbs = breadcrumbs =>\n breadcrumbs ?? [{ text: taxonomies.member.plural, link: \"/members\" }];\n","import { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst AddRoleButton = ({ config, onClick }) => {\n const { t } = useTranslation();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n return (\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")}\n disabled={isCreatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n label={t(\"neetoTeamMembers.labels.addNewRole\")}\n onClick={onClick}\n />\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport { Button, Tooltip } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { renderBreadcrumbs, renderSearchProps } from \"./utils\";\n\nimport AddRoleButton from \"../AddRoleButton\";\n\nconst Header = ({\n config,\n handleReset,\n handleSubmit,\n isDirty = false,\n setIsNewRolePaneOpen,\n roles,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n return (\n <NeetoHeader\n breadcrumbs={renderBreadcrumbs(config?.header?.breadcrumbs)}\n className=\"ntm-roles-header\"\n searchProps={isNotEmpty(roles) ? renderSearchProps() : null}\n title={t(\"neetoTeamMembers.common.role\", PLURAL)}\n titleHelpPopoverProps={config?.header?.titleHelpPopoverProps ?? {}}\n actionBlock={\n isDirty ? (\n <>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")}\n disabled={isUpdatePermissionGranted}\n position=\"bottom\"\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.buttons.saveChanges\")}\n type=\"submit\"\n onClick={handleSubmit}\n />\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n label={t(\"neetoTeamMembers.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n onClick={handleReset}\n />\n </>\n ) : (\n <AddRoleButton\n {...{ config }}\n onClick={() => setIsNewRolePaneOpen(true)}\n />\n )\n }\n />\n );\n};\n\nexport default Header;\n","import { t } from \"i18next\";\nimport { string, object } from \"yup\";\n\nexport const ROLE_NAME_MAX_LENGTH = 40;\n\nexport const ROLE_DESCRIPTION_MAX_LENGTH = 255;\n\nexport const ADD_ROLE_FORM_VALIDATION_SCHEMA = object({\n name: string()\n .trim()\n .max(\n ROLE_NAME_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.nameLimitExceeded\", {\n limit: ROLE_NAME_MAX_LENGTH,\n })\n )\n // @ts-ignore\n .required(t(\"neetoTeamMembers.validations.enterRoleName\")),\n description: string()\n .nullable()\n .trim()\n .max(\n ROLE_DESCRIPTION_MAX_LENGTH,\n // @ts-ignore\n t(\"neetoTeamMembers.validations.descriptionLimitExceeded\", {\n limit: ROLE_DESCRIPTION_MAX_LENGTH,\n })\n ),\n});\n\nexport const ADD_ROLE_FORM_INITIAL_VALUES = {\n name: \"\",\n description: \"\",\n permissionIds: [],\n};\n\nexport const ROLE_FORMIK_PROPS = {\n validationSchema: ADD_ROLE_FORM_VALIDATION_SCHEMA,\n};\n","import { useEffect, useRef } from \"react\";\n\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Pane, Typography } from \"neetoui\";\nimport { ActionBlock, Form, Input, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport { useCreateRole, useUpdateRole } from \"hooks/roles/useRolesApi\";\n\nimport {\n ADD_ROLE_FORM_INITIAL_VALUES,\n ROLE_DESCRIPTION_MAX_LENGTH,\n ROLE_FORMIK_PROPS,\n ROLE_NAME_MAX_LENGTH,\n} from \"./constants\";\nimport Permissions from \"./Permissions\";\n\nconst ManageRoles = ({\n config,\n isOpen = false,\n onClose,\n permissions = [],\n selectedRole = {},\n scrollTo = null,\n}) => {\n const { t } = useTranslation();\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const lastScrollKeyRef = useRef(null);\n const { mutate: createRole, isPending: isCreatingRole } = useCreateRole({\n onSuccess: onClose,\n });\n\n const { mutate: updateRole, isPending: isUpdatingRole } = useUpdateRole({\n onSuccess: onClose,\n });\n const isEdit = isPresent(selectedRole);\n const isSubmitting = isCreatingRole || isUpdatingRole;\n\n const handleSubmit = formValues => {\n const payload = {\n organizationRole: {\n ...formValues,\n name: formValues.name.trim(),\n description: formValues.description.trim(),\n },\n };\n\n isEdit ? updateRole({ payload, id: selectedRole.id }) : createRole(payload);\n };\n\n const initialValues = isEdit\n ? {\n ...selectedRole,\n permissionIds: selectedRole.permissionIds?.sort(),\n description: selectedRole.description || \"\",\n }\n : ADD_ROLE_FORM_INITIAL_VALUES;\n\n const formikProps = {\n ...ROLE_FORMIK_PROPS,\n initialValues,\n onSubmit: handleSubmit,\n };\n\n const isReadOnly = selectedRole.kind === \"system\";\n const isDisabled = ADMIN_ROLES.includes(selectedRole.name) && isReadOnly;\n\n useEffect(() => {\n const activeClassName = \"ntm-roles-permission-category-card--active\";\n const blinkClassName = \"ntm-roles-permission__card--blink\";\n\n const getScrollableParent = node => {\n let current = node?.parentElement;\n while (current) {\n const style = getComputedStyle(current);\n const overflowY = style.overflowY;\n const isScrollable =\n (overflowY === \"auto\" || overflowY === \"scroll\") &&\n current.scrollHeight > current.clientHeight;\n if (isScrollable) return current;\n current = current.parentElement;\n }\n\n return document.scrollingElement || document.documentElement;\n };\n\n if (!isOpen) {\n lastScrollKeyRef.current = null;\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n return () => {};\n }\n\n if (!scrollTo) return () => {};\n\n const key = `${selectedRole?.id ?? \"new\"}:${scrollTo.type}:${\n scrollTo.permissionId ?? scrollTo.category ?? \"\"\n }`;\n if (lastScrollKeyRef.current === key) return () => {};\n lastScrollKeyRef.current = key;\n\n let timeoutId;\n let highlightTimeoutId;\n let blinkTimeoutId;\n let scrollEndTimeoutId;\n let attempts = 0;\n let highlightedCard = null;\n let blinkedPermissionCard = null;\n\n const attemptScroll = () => {\n attempts += 1;\n const elementId =\n scrollTo.type === \"permission\"\n ? `ntm-role-permission-${scrollTo.permissionId}`\n : `ntm-role-permission-category-${hyphenate(scrollTo.category || \"\")}`;\n\n const el = document.getElementById(elementId);\n if (el) {\n el.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n\n const categoryCard =\n scrollTo.type === \"permission\"\n ? el.closest(\".ntm-roles-permission-category-card\")\n : el.querySelector(\".ntm-roles-permission-category-card\");\n\n const scrollContainer = getScrollableParent(el);\n\n const startHighlight = () => {\n if (!categoryCard) return;\n\n document\n .querySelectorAll(`.${activeClassName}`)\n .forEach(node => node.classList.remove(activeClassName));\n\n categoryCard.classList.add(activeClassName);\n highlightedCard = categoryCard;\n\n clearTimeout(highlightTimeoutId);\n highlightTimeoutId = setTimeout(() => {\n categoryCard.classList.remove(activeClassName);\n }, 3000);\n };\n\n if (scrollTo.type === \"permission\") {\n const animationDurationMs = 600;\n const animationIterations = 3;\n const totalDurationMs =\n animationDurationMs * animationIterations + 100;\n\n const startBlink = () => {\n document\n .querySelectorAll(`.${blinkClassName}`)\n .forEach(node => node.classList.remove(blinkClassName));\n\n el.classList.remove(blinkClassName);\n // Restart animation if the class was already present\n void el.offsetWidth;\n el.classList.add(blinkClassName);\n blinkedPermissionCard = el;\n\n clearTimeout(blinkTimeoutId);\n blinkTimeoutId = setTimeout(() => {\n el.classList.remove(blinkClassName);\n }, totalDurationMs);\n };\n\n // Start animation only after scroll settles (or after a max wait).\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n startBlink();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n } else {\n // Highlight should also start only after scroll settles.\n let started = false;\n const maxWaitTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n }, 1200);\n\n const scheduleStart = () => {\n clearTimeout(scrollEndTimeoutId);\n scrollEndTimeoutId = setTimeout(() => {\n if (started) return;\n started = true;\n startHighlight();\n scrollContainer.removeEventListener(\"scroll\", scheduleStart);\n clearTimeout(maxWaitTimeoutId);\n }, 150);\n };\n\n scrollContainer.addEventListener(\"scroll\", scheduleStart, {\n passive: true,\n });\n scheduleStart();\n }\n\n return;\n }\n\n // Pane content can mount after open animation; retry briefly.\n if (attempts < 5) timeoutId = setTimeout(attemptScroll, 100);\n };\n\n timeoutId = setTimeout(attemptScroll, 0);\n\n return () => {\n clearTimeout(timeoutId);\n clearTimeout(highlightTimeoutId);\n clearTimeout(blinkTimeoutId);\n clearTimeout(scrollEndTimeoutId);\n highlightedCard?.classList.remove(activeClassName);\n blinkedPermissionCard?.classList.remove(blinkClassName);\n };\n }, [isOpen, scrollTo, selectedRole?.id]);\n\n return (\n <Pane\n {...{ isOpen, onClose }}\n initialFocusRef={!isEdit ? inputReference : undefined}\n size=\"large\"\n >\n <Pane.Header>\n <Typography data-testid=\"ntm-add-role-title\" style=\"h2\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Typography>\n </Pane.Header>\n <Form {...{ formikProps }} ref={formReference}>\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Pane.Body>\n <div className=\"ntm-roles-pane__body\">\n <div className=\"ntm-roles-pane__body-wrapper\">\n <Input\n required\n unlimitedChars\n data-testid=\"ntm-add-role-name-text-field\"\n label={t(\"neetoTeamMembers.common.name\")}\n maxLength={ROLE_NAME_MAX_LENGTH}\n name=\"name\"\n placeholder={t(\"neetoTeamMembers.placeholders.enterName\")}\n readOnly={isReadOnly}\n ref={inputReference}\n />\n <Textarea\n unlimitedChars\n data-testid=\"ntm-add-role-description-text-field\"\n label={t(\"neetoTeamMembers.common.description\")}\n maxLength={ROLE_DESCRIPTION_MAX_LENGTH}\n name=\"description\"\n readOnly={isDisabled}\n placeholder={t(\n \"neetoTeamMembers.placeholders.enterDescription\"\n )}\n />\n </div>\n <Permissions\n {...{ isDisabled, permissions }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n />\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n {...{ isSubmitting }}\n className=\"ntm-roles-pane__footer\"\n cancelButtonProps={{\n \"data-testid\": \"ntm-add-role-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-add-role-submit-button\",\n disabled: isSubmitting || isDisabled || !dirty,\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n </Pane>\n );\n};\n\nexport default ManageRoles;\n","export const DEFAULT_MANAGE_ROLE_VALUES = {\n isDelete: false,\n isEdit: false,\n selectedRole: {},\n scrollTo: null,\n};\n\nexport const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\n","import { t } from \"i18next\";\nimport { _findBy } from \"neetocist\";\nimport { not } from \"ramda\";\n\nimport { MENU_ITEMS } from \"./constants\";\n\nconst deepClone = object => {\n if (!object || true === object) {\n //this also handles boolean as true and false\n return object;\n }\n const objectType = typeof object;\n if (\"number\" === objectType || \"string\" === objectType) {\n // add your immutables here\n return object;\n }\n\n let result = null;\n if (Array.isArray(object)) {\n result = [];\n } else if (!object.constructor) {\n result = {};\n } else {\n result = new object.constructor();\n }\n\n if (object instanceof Map) {\n for (const key of object.keys()) {\n result.set(key, deepClone(object.get(key)));\n }\n }\n\n Object.keys(object).forEach(key => {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n result[key] = deepClone(object[key]);\n }\n });\n\n return result;\n};\n\nexport const renderRolesTooltipContent = roleName =>\n Object.is(roleName, \"Admin\") || Object.is(roleName, \"Owner\")\n ? t(\"neetoTeamMembers.tooltips.adminMustHaveAccess\", { roleName })\n : t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\");\n\nexport const removeDuplicates = array => [...new Set(array)];\n\nexport const updatePermissionVisibility = (categoryName, permissions) => {\n const category = permissions.get(categoryName);\n const isPermissionVisible = category.get(\"isPermissionVisible\");\n category.set(\"isPermissionVisible\", !isPermissionVisible);\n\n return new Map(permissions.set(categoryName, category));\n};\n\nexport const filterPermissionsBySearch = (searchTerm, permissionGroups) => {\n const newValue = deepClone(permissionGroups);\n newValue.forEach(value => {\n const permissions = value.get(\"permissions\");\n\n const filteredPermissions = permissions.filter(permission =>\n permission?.description\n ?.toLowerCase()\n ?.trim()\n ?.includes(searchTerm.toLowerCase().trim())\n );\n value.set(\"permissions\", filteredPermissions);\n });\n\n return newValue;\n};\n\nexport const getMenuItems = ({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n}) => [\n {\n key: MENU_ITEMS.EDIT,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-edit-role-button\",\n isDisabled: not(isUpdatePermissionGranted),\n size: \"small\",\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\"),\n disabled: isUpdatePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.edit\"),\n onClick: () =>\n setManageRole({ isEdit: true, selectedRole: role, scrollTo: null }),\n },\n {\n key: MENU_ITEMS.DELETE,\n className: \"ntm-dropdown__button\",\n \"data-testid\": \"ntm-roles-table-delete-role-button\",\n isDisabled: not(isDeletePermissionGranted),\n size: \"small\",\n isVisible: not(isSystemRole),\n tooltipProps: {\n content: t(\"neetoTeamMembers.tooltips.noPermissionToRemoveRoles\"),\n disabled: isDeletePermissionGranted,\n position: \"left\",\n },\n label: t(\"neetoTeamMembers.common.delete\"),\n onClick: () =>\n setManageRole({ isDelete: true, selectedRole: role, scrollTo: null }),\n },\n];\n\nexport const getRowClientHeight = permission => {\n const sidebarItems = Array.from(\n document.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n )\n );\n\n const sidebarItem = _findBy(\n { dataset: { name: permission?.description } },\n sidebarItems\n );\n\n return sidebarItem?.clientHeight;\n};\n","import classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { Checkbox, Tooltip } from \"neetoui\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { getRowClientHeight, renderRolesTooltipContent } from \"./utils\";\n\nconst Row = ({\n allPermissionsOfCategory = null,\n category = \"\",\n config,\n permission = null,\n roles,\n setManageRole = noop,\n}) => {\n const isUpdatePermissionGranted = config.permissions.update;\n\n const permissions = allPermissionsOfCategory?.get(\"permissions\") || [];\n const allPermissionIdsOfCategory = map(prop(\"id\"), permissions);\n\n const handleSubmit = role => {\n const scrollTo = permission?.id\n ? { type: \"permission\", permissionId: permission.id }\n : { type: \"category\", category };\n\n setManageRole({ isEdit: true, selectedRole: role, scrollTo });\n };\n\n const isCheckboxChecked = role =>\n !allPermissionsOfCategory\n ? includes(permission?.id, role.permissionIds)\n : allPermissionIdsOfCategory.every(includes(__, role.permissionIds));\n\n return (\n <div\n className={classnames(\"ntm-roles-table__row\", {\n \"ntm-roles-table__row--highlighted\": !!allPermissionsOfCategory,\n })}\n >\n {roles.map(role => (\n <div\n className=\"ntm-roles-table__cell\"\n data-testid={`${hyphenate(role.name)}-role-cell`}\n key={role.id}\n style={{ height: getRowClientHeight(permission) }}\n >\n <Tooltip\n content={renderRolesTooltipContent(role.name)}\n position=\"top\"\n disabled={\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n }\n >\n <div className=\"ntm-roles-table-cell__checkbox-wrapper\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onChange={() => handleSubmit(role)}\n />\n </div>\n </Tooltip>\n </div>\n ))}\n </div>\n );\n};\n\nexport default Row;\n","import { Fragment } from \"react\";\n\nimport { InfoRound } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"common/utils\";\n\nimport { ROLES_TABLE_CELL_HEIGHT_VARIABLE } from \"./constants\";\n\nconst getCurrentTableCellHeight = () =>\n parseInt(\n getComputedStyle(document.documentElement).getPropertyValue(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE\n ),\n 10\n );\n\nexport const renderDescription = (\n permissions,\n filteredPermissions,\n permissionTooltip = {}\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={InfoRound}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"neeto-ui-relative neeto-ui-pl-6 ntm-roles-table-sidebar__sub-blocks\">\n {renderDescription(children, filteredPermissions, permissionTooltip)}\n </div>\n </Fragment>\n );\n });\n\nexport const getSearchWrapperStyle = () => {\n const scrollBarWidth = getScrollBarWidth();\n\n document.documentElement.style.setProperty(\n \"--ntm-roles-table-default-scroll\",\n `${scrollBarWidth}px`\n );\n\n return { marginBottom: `${scrollBarWidth}px` };\n};\n\nexport const assignRolesTableCellHeight = () => {\n const sidebarItems = [\n ...document.getElementsByClassName(\"ntm-roles-table-sidebar__list-item\"),\n ];\n const clientHeights = pluck(\"clientHeight\", sidebarItems);\n const maxClientHeight = Math.max(...clientHeights);\n const currentTableCellHeight = getCurrentTableCellHeight();\n\n if (maxClientHeight > currentTableCellHeight) {\n document.documentElement.style.setProperty(\n ROLES_TABLE_CELL_HEIGHT_VARIABLE,\n `${maxClientHeight}px`\n );\n }\n};\n\nexport const getFilteredCategories = filteredGroupPermissions =>\n Array.from(filteredGroupPermissions?.keys() || []).filter(category => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const permissions = groupedPermissions.get(\"permissions\") || [];\n\n return permissions.length > 0;\n });\n","import { useEffect, useCallback, useRef, memo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { Typography } from \"neetoui\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\n\nimport { getMenuItems } from \"./utils\";\n\nconst TableHeader = ({ config, roles, setManageRole, setIsScrollPresent }) => {\n const isUpdatePermissionGranted = config.permissions.update;\n const isDeletePermissionGranted = config.permissions.delete;\n\n const scrollSyncElement = useRef(null);\n\n const getOverflowStatus = useCallback(() => {\n if (!scrollSyncElement.current) return;\n\n const headerElement = scrollSyncElement.current.node;\n const isScrollBarPresent = isOverflown(headerElement);\n setIsScrollPresent(isScrollBarPresent);\n }, [setIsScrollPresent]);\n\n useEffect(() => {\n addEventListener(\"resize\", getOverflowStatus);\n\n return () => removeEventListener(\"resize\", getOverflowStatus);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(getOverflowStatus, [getOverflowStatus, scrollSyncElement, roles]);\n\n return (\n <ScrollSyncPane group=\"horizontal\" ref={scrollSyncElement}>\n <div className=\"ntm-roles-table__header\" data-testid=\"ntm-roles-table-header\">\n {roles?.map((role, index) => {\n const isSystemRole = identical(\"system\", role.kind);\n const isAdminRole = ADMIN_ROLES.includes(role.name) && isSystemRole;\n\n return (\n <div className=\"ntm-roles-table__cell\" key={`ntm-roles-${index}`}>\n <div\n className=\"ntm-roles-table-header-cell__container\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"ntm-roles-table-header__role-name\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n dropdownButtonProps={{\n className: \"ntm-roles-table-header__dropdown\",\n \"data-testid\": \"ntm-roles-table-header-role-dropdown-button\",\n }}\n menuItems={getMenuItems({\n isDeletePermissionGranted,\n isUpdatePermissionGranted,\n role,\n setManageRole,\n isSystemRole,\n })}\n />\n )}\n </div>\n </div>\n );\n })}\n </div>\n </ScrollSyncPane>\n );\n};\n\nexport default memo(TableHeader);\n","import { Alert } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"hooks/roles/useRolesApi\";\n\nconst Delete = ({ isOpen, onClose, selectedRole, roles }) => {\n const { t } = useTranslation();\n const { mutate: deleteRole, isPending: isDeleting } = useDestroyRole({\n onSuccess: onClose,\n });\n\n const handleDelete = () => {\n const { id } = selectedRole;\n const payload = { newRoleId: roles.find(role => role.id !== id)?.id };\n deleteRole({ id, payload });\n };\n\n return (\n <Alert\n {...{ isOpen, onClose }}\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.delete\")}\n title={t(\"neetoTeamMembers.labels.deleteRole\")}\n message={\n <Trans\n i18nKey=\"neetoTeamMembers.alerts.messages.deletingRole\"\n values={{ name: selectedRole?.name }}\n />\n }\n onSubmit={handleDelete}\n />\n );\n};\n\nexport default Delete;\n","import { useState, useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { hyphenate } from \"neetocist\";\n\nimport { DEFAULT_MANAGE_ROLE_VALUES } from \"./constants\";\nimport Row from \"./Row\";\nimport { getFilteredCategories } from \"./Sidebar/utils\";\nimport TableHeader from \"./TableHeader\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Columns = ({\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n}) => {\n const [manageRole, setManageRole] = useState(DEFAULT_MANAGE_ROLE_VALUES);\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const onClose = () => setManageRole(DEFAULT_MANAGE_ROLE_VALUES);\n\n return (\n <div className=\"ntm-roles-table__columns\">\n <TableHeader\n {...{ config, setIsScrollPresent, setManageRole }}\n roles={filteredRoles}\n />\n <ScrollSyncPane group={[\"horizontal\", \"vertical\"]}>\n <div className=\"ntm-roles-table__rows\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table__empty-row\">\n <div className=\"ntm-roles-table__row\">\n <div className=\"ntm-roles-table__cell\">\n <div className=\"ntm-roles-table__cell-content\">&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n const permissions = groupedPermissions.get(\"permissions\");\n\n return (\n <div\n data-testid={`${hyphenate(category)}-permission-card`}\n key={index}\n >\n <Row\n {...{ category, config, setManageRole }}\n allPermissionsOfCategory={groupedPermissions}\n roles={filteredRoles}\n />\n {isPermissionVisible &&\n permissions.map(permission => (\n <Row\n {...{ config, permission, setManageRole }}\n data-testid={`${hyphenate(permission)}-permission-row`}\n key={permission.id}\n roles={filteredRoles}\n />\n ))}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n <ManageRoles\n {...{ config, onClose, permissions }}\n isOpen={manageRole.isEdit}\n scrollTo={manageRole.scrollTo}\n selectedRole={manageRole.selectedRole}\n />\n <Delete\n {...{ onClose, roles }}\n isOpen={manageRole.isDelete}\n selectedRole={manageRole.selectedRole}\n />\n </div>\n );\n};\n\nexport default Columns;\n","import { Down, Up } from \"neetoicons\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <Up\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <Down\n className=\"ntm-roles-table-sidebar__drop-down-button\"\n data-testid=\"ntm-permission-category-show-button\"\n size={16}\n strokeWidth={2}\n />\n );\n\nexport default ToggleDropdown;\n","import { useMemo } from \"react\";\n\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Search from \"neetomolecules/Search\";\nimport { Typography } from \"neetoui\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getChildrenRemovedFromRoot } from \"components/Roles/utils\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nconst Sidebar = ({\n filteredGroupPermissions,\n toggleDropdown,\n isScrollPresent,\n permissions = [],\n permissionRelationConfig = {},\n permissionTooltip = {},\n}) => {\n const { t } = useTranslation();\n\n const categories = useMemo(\n () => getFilteredCategories(filteredGroupPermissions),\n [filteredGroupPermissions]\n );\n\n const searchWrapperStyle = isScrollPresent ? getSearchWrapperStyle() : {};\n\n const permissionsNameMap = groupBy(prop(\"name\"))(permissions);\n\n const groupedPermissionsWithChildren = useMemo(() => {\n const childrenRemovedFromRoot = getChildrenRemovedFromRoot({\n permissions,\n permissionsNameMap,\n permissionRelationConfig,\n });\n\n return groupBy(prop(\"category\"))(childrenRemovedFromRoot);\n }, [permissions]);\n\n return (\n <div className=\"ntm-roles-table__sidebar\">\n <div\n className=\"ntm-roles-table-sidebar__search\"\n style={searchWrapperStyle}\n >\n <Search\n enableUrlSync\n data-testid=\"ntm-search-permissions-input\"\n searchParamName=\"permission_search_term\"\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchPermission\",\n PLURAL\n )}\n />\n </div>\n <ScrollSyncPane group=\"vertical\">\n <div className=\"ntm-roles-table-sidebar__list\">\n {categories.length === 0 ? (\n <div className=\"ntm-roles-table-sidebar__list-item-cell\">\n <div className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoTeamMembers.labels.permissionsNotFound\")}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n const isPermissionVisible = groupedPermissions.get(\n \"isPermissionVisible\"\n );\n\n return (\n <div\n className=\"ntm-roles-table-sidebar__list-item-cell\"\n key={index}\n >\n <div\n className=\"ntm-roles-table-sidebar__list-item ntm-roles-table-sidebar__list-item--highlighted cursor-pointer\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n className=\"ntm-roles-table-sidebar__list-item-title\"\n data-testid=\"ntm-permission-category-title\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {category}\n </Typography>\n <ToggleDropdown isVisible={isPermissionVisible} />\n </div>\n {isPermissionVisible && (\n <div className=\"ntm-roles-table-sidebar__list-item-spacing-handler ms-[12px] px-[24px]\">\n {renderDescription(\n groupedPermissionsWithChildren[category],\n pluck(\n \"id\",\n filteredGroupPermissions\n .get(category)\n .get(\"permissions\") || []\n ),\n permissionTooltip\n )}\n </div>\n )}\n </div>\n );\n })\n )}\n </div>\n </ScrollSyncPane>\n </div>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useState } from \"react\";\n\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { NoData } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport { filterPermissionsBySearch, updatePermissionVisibility } from \"./utils\";\n\nimport Delete from \"../Delete\";\nimport ManageRoles from \"../ManageRoles\";\n\nconst Table = ({\n config,\n filteredRoles,\n roles,\n permissionGroups,\n permissions,\n setModifiedRoles,\n setIsNewRolePaneOpen,\n}) => {\n const { t } = useTranslation();\n const { permissionSearchTerm = \"\" } = useQueryParams();\n\n const isCreatePermissionGranted = config.permissions.create;\n\n const [filteredGroupPermissions, setFilteredGroupPermissions] =\n useState(permissionGroups);\n const [isScrollPresent, setIsScrollPresent] = useState(false);\n\n const [selectedRole, setSelectedRole] = useState(undefined);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isEditPaneOpen, setIsEditPaneOpen] = useState(false);\n\n const toggleDropdown = category => {\n const permissions = updatePermissionVisibility(\n category,\n filteredGroupPermissions\n );\n setFilteredGroupPermissions(permissions);\n };\n\n useEffect(() => {\n const newValue = filterPermissionsBySearch(\n permissionSearchTerm,\n permissionGroups\n );\n setFilteredGroupPermissions(newValue);\n }, [permissionGroups, permissionSearchTerm]);\n\n return (\n <>\n <div className=\"ntm-roles-table__wrapper\">\n <div className=\"ntm-roles-table__container\">\n {isEmpty(filteredRoles) ? (\n <div className=\"ntm-empty-state\">\n <NoData\n title={t(\"neetoTeamMembers.labels.roleNotFound\", PLURAL)}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n />\n </div>\n ) : (\n <>\n <Sidebar\n {...{\n filteredGroupPermissions,\n isScrollPresent,\n permissions,\n toggleDropdown,\n }}\n permissionRelationConfig={config?.permissionRelation ?? {}}\n permissionTooltip={config?.permissionTooltip ?? {}}\n />\n <Columns\n {...{\n config,\n filteredGroupPermissions,\n filteredRoles,\n permissions,\n roles,\n setIsScrollPresent,\n setModifiedRoles,\n }}\n />\n </>\n )}\n </div>\n </div>\n <ManageRoles\n {...{ config, permissions, selectedRole }}\n isOpen={isEditPaneOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsEditPaneOpen(false);\n }}\n />\n <Delete\n {...{ roles, selectedRole }}\n isOpen={isDeleteAlertOpen}\n onClose={() => {\n setSelectedRole(undefined);\n setIsDeleteAlertOpen(false);\n }}\n />\n </>\n );\n};\n\nexport default Table;\n","import { useEffect, useState } from \"react\";\n\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useQueryParams, withTitle } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport { Spinner } from \"neetoui\";\nimport { filter, includes } from \"ramda\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/pages/roles.css\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nconst Roles = ({ config }) => {\n const isViewPermissionGranted = config.permissions.view;\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [modifiedRoles, setModifiedRoles] = useState([]);\n const [isNewRolePaneOpen, setIsNewRolePaneOpen] = useState(false);\n const {\n data: roles = [],\n isLoading: isRolesLoading,\n status,\n } = useFetchRoles({ enabled: isViewPermissionGranted });\n\n const { searchTerm = \"\" } = useQueryParams();\n\n const { data: permissionData, isLoading: isPermissionsLoading } =\n useFetchPermissions({ enabled: isViewPermissionGranted });\n\n const { mutate: bulkUpdate } = useBulkUpdateRoles({\n enabled: isUpdatePermissionGranted,\n });\n\n const permissions = sortPermissionsBySequence(permissionData);\n const permissionGroups = getPermissionGroups(permissions);\n\n const filteredRoles = filter(\n ({ name }) =>\n includes(searchTerm.toLowerCase().trim(), name.toLowerCase().trim()),\n isNotEmpty(modifiedRoles) ? modifiedRoles : roles\n );\n\n const handleSubmit = () => {\n const updatedRoles = getModifiedPermissions(roles, modifiedRoles);\n bulkUpdate({ organizationRoles: { updatedRoles } });\n };\n\n const handleReset = () => setModifiedRoles(roles);\n\n useEffect(() => {\n if (status !== \"success\") return;\n setModifiedRoles(roles);\n }, [roles, status]);\n if (isRolesLoading || isPermissionsLoading) {\n return (\n <div className=\"flex h-full min-h-screen w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <>\n <ScrollSync>\n <Container isHeaderFixed>\n <Header\n {...{\n config,\n handleReset,\n handleSubmit,\n roles,\n setIsNewRolePaneOpen,\n }}\n />\n <Table\n {...{\n config,\n filteredRoles,\n permissionGroups,\n permissions,\n roles,\n setIsNewRolePaneOpen,\n setModifiedRoles,\n }}\n />\n </Container>\n </ScrollSync>\n <ManageRoles\n {...{ config, permissions }}\n isOpen={isNewRolePaneOpen}\n onClose={() => setIsNewRolePaneOpen(false)}\n />\n </>\n );\n};\n\nexport default withTitle(\n withReactQuery(Roles),\n i18next.t(\"neetoTeamMembers.common.role\", PLURAL)\n);\n"],"names":["renderSearchProps","placeholder","t","PLURAL","renderBreadcrumbs","breadcrumbs","text","taxonomies","member","plural","link","AddRoleButton","_ref","config","onClick","_useTranslation","useTranslation","isCreatePermissionGranted","permissions","create","_jsx","Tooltip","content","disabled","position","children","Button","label","Header","_config$header","_config$header$titleH","_config$header2","handleReset","handleSubmit","_ref$isDirty","isDirty","setIsNewRolePaneOpen","roles","isUpdatePermissionGranted","update","NeetoHeader","header","className","searchProps","isNotEmpty","title","titleHelpPopoverProps","actionBlock","_jsxs","_Fragment","type","style","ROLE_NAME_MAX_LENGTH","ROLE_DESCRIPTION_MAX_LENGTH","ADD_ROLE_FORM_VALIDATION_SCHEMA","object","name","string","trim","max","limit","required","description","nullable","ADD_ROLE_FORM_INITIAL_VALUES","permissionIds","ROLE_FORMIK_PROPS","validationSchema","ManageRoles","_selectedRole$permiss","_ref$isOpen","isOpen","onClose","_ref$permissions","_ref$selectedRole","selectedRole","_ref$scrollTo","scrollTo","formReference","useRef","inputReference","lastScrollKeyRef","_useCreateRole","useCreateRole","onSuccess","createRole","mutate","isCreatingRole","isPending","_useUpdateRole","useUpdateRole","updateRole","isUpdatingRole","isEdit","isPresent","isSubmitting","formValues","payload","organizationRole","_objectSpread","id","initialValues","sort","formikProps","onSubmit","isReadOnly","kind","isDisabled","ADMIN_ROLES","includes","useEffect","_selectedRole$id","_ref2","_scrollTo$permissionI","activeClassName","blinkClassName","getScrollableParent","node","current","parentElement","getComputedStyle","overflowY","isScrollable","scrollHeight","clientHeight","document","scrollingElement","documentElement","querySelectorAll","concat","forEach","classList","remove","key","permissionId","category","timeoutId","highlightTimeoutId","blinkTimeoutId","scrollEndTimeoutId","attempts","highlightedCard","blinkedPermissionCard","attemptScroll","elementId","hyphenate","el","getElementById","scrollIntoView","behavior","block","categoryCard","closest","querySelector","scrollContainer","startHighlight","add","clearTimeout","setTimeout","animationDurationMs","animationIterations","totalDurationMs","startBlink","offsetWidth","started","maxWaitTimeoutId","removeEventListener","scheduleStart","addEventListener","passive","_highlightedCard","_blinkedPermissionCar","Pane","initialFocusRef","undefined","size","Typography","Form","ref","_ref3","_config$permissionRel","dirty","ScrollToErrorField","formRef","Body","Input","unlimitedChars","maxLength","readOnly","Textarea","Permissions","permissionRelationConfig","permissionRelation","Footer","ActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","deepClone","objectType","_typeof","result","Array","isArray","constructor","Map","_iterator","_createForOfIteratorHelper","keys","_step","s","n","done","value","set","get","err","e","f","Object","prototype","hasOwnProperty","call","renderRolesTooltipContent","roleName","is","updatePermissionVisibility","categoryName","isPermissionVisible","filterPermissionsBySearch","searchTerm","permissionGroups","newValue","filteredPermissions","filter","permission","_permission$descripti","toLowerCase","getMenuItems","isDeletePermissionGranted","role","setManageRole","isSystemRole","not","tooltipProps","isVisible","getRowClientHeight","sidebarItems","from","sidebarItem","_findBy","dataset","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","height","identical","Checkbox","checked","onChange","renderDescription","permissionTooltip","arguments","length","tooltipContent","Fragment","lineHeight","HelpPopover","icon","InfoRound","getSearchWrapperStyle","scrollBarWidth","getScrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","ScrollSyncPane","group","index","isAdminRole","weight","MoreDropdown","dropdownProps","autoWidth","dropdownButtonProps","menuItems","memo","Delete","_useDestroyRole","useDestroyRole","deleteRole","isDeleting","handleDelete","_roles$find","newRoleId","find","Alert","cancelButtonLabel","submitButtonLabel","message","Trans","i18nKey","values","Columns","filteredRoles","_useState","useState","_useState2","_slicedToArray","manageRole","categories","useMemo","_createElement","ToggleDropdown","Up","strokeWidth","Down","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","pluck","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","NoData","primaryButtonProps","Roles","isViewPermissionGranted","view","modifiedRoles","isNewRolePaneOpen","_useFetchRoles","useFetchRoles","enabled","_useFetchRoles$data","data","isRolesLoading","isLoading","status","_useQueryParams$searc","_useFetchPermissions","useFetchPermissions","permissionData","isPermissionsLoading","_useBulkUpdateRoles","useBulkUpdateRoles","bulkUpdate","sortPermissionsBySequence","getPermissionGroups","updatedRoles","getModifiedPermissions","organizationRoles","Spinner","ScrollSync","Container","isHeaderFixed","withTitle","withReactQuery","i18next"],"mappings":"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"}
@@ -1,20 +1,20 @@
1
1
  import { Dialog, Sheet, Button, Label } from '@bigbinary/neeto-atoms';
2
2
  import { useFormikContext } from 'formik';
3
3
  import { toLabelAndValue, _findBy, notEquals, slugify } from '@bigbinary/neeto-cist';
4
- import { PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/constants';
5
- import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
4
+ import { PLURAL, SINGULAR } from '@bigbinary/neeto-commons-frontend/v2/constants';
5
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/v2/initializers';
6
6
  import { prop, isNotNil, isNil, keys, pick, move, pluck, includes, equals, identical } from 'ramda';
7
7
  import { Trans, useTranslation } from 'react-i18next';
8
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
9
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
10
- import { jsx, jsxs } from 'react/jsx-runtime';
11
- import { F as FormikRadioGroup } from './Select-DZ56UG-l.js';
12
8
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
9
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
10
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
13
11
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
14
12
  import { t } from 'i18next';
15
- import { dayjs } from '@bigbinary/neeto-commons-frontend/utils';
13
+ import { dayjs } from '@bigbinary/neeto-commons-frontend/v2/utils';
16
14
  import * as yup from 'yup';
17
- import { A as ADMIN_ROLES, c as ADMIN_ROLE_NAME } from './constants-B1L6arSR.js';
15
+ import { A as ADMIN_ROLES, c as ADMIN_ROLE_NAME } from './constants-CXdiW8NZ.js';
16
+ import { jsx, jsxs } from 'react/jsx-runtime';
17
+ import { F as FormikRadioGroup } from './Select-DZ56UG-l.js';
18
18
 
19
19
  var _excluded$1 = ["className", "children"],
20
20
  _excluded2$1 = ["className", "children"];
@@ -47,6 +47,7 @@ Page.Body = PageWrapper;
47
47
  Page.Footer = PageWrapper;
48
48
 
49
49
  var _globalProps$organiza$1;
50
+ var FEEDBACK_DURATION_MS = 2500;
50
51
  var NAME_INPUT_VALIDATION_SCHEMA = {
51
52
  firstName: yup.string().trim(t("neetoTeamMembers.validations.removeSpaces")).strict(true),
52
53
  lastName: yup.string().trim(t("neetoTeamMembers.validations.removeSpaces")).strict(true)
@@ -347,5 +348,5 @@ var RolesRadioGroup = function RolesRadioGroup(_ref) {
347
348
  });
348
349
  };
349
350
 
350
- export { COUNTER_PROPS as C, DEFAULT_COMPONENT_CONFIG as D, EMAIL_REGEX as E, FORM_PAGES as F, MEMBERS_FORM_COMPONENT_MAPPER as M, NEETO_AUTH_MANAGE_PRODUCT_URL as N, RolesRadioGroup as R, getInviteURL as a, FILTER_INVALID_EMAILS as b, buildValidationSchema as c, renderInitialValues as d, renderPayload as e, getSingleInvitationTranslationProps as g, remainingExpiryDays as r };
351
- //# sourceMappingURL=RolesRadioGroup-D4LlGV4N.js.map
351
+ export { COUNTER_PROPS as C, DEFAULT_COMPONENT_CONFIG as D, EMAIL_REGEX as E, FEEDBACK_DURATION_MS as F, MEMBERS_FORM_COMPONENT_MAPPER as M, NEETO_AUTH_MANAGE_PRODUCT_URL as N, RolesRadioGroup as R, getInviteURL as a, FORM_PAGES as b, FILTER_INVALID_EMAILS as c, buildValidationSchema as d, renderInitialValues as e, renderPayload as f, getSingleInvitationTranslationProps as g, remainingExpiryDays as r };
352
+ //# sourceMappingURL=RolesRadioGroup-BCrxWI9_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RolesRadioGroup-BCrxWI9_.js","sources":["../app/javascript/src/v2/components/TeamMembers/ManageMember/Page/index.jsx","../app/javascript/src/v2/components/TeamMembers/ManageMember/constants.js","../app/javascript/src/v2/components/TeamMembers/ManageMember/utils.jsx","../app/javascript/src/v2/components/TeamMembers/ManageMember/RolesRadioGroup.jsx"],"sourcesContent":["const PageWrapper = ({ className, children, ...otherProps }) => (\n <div {...{ className, ...otherProps }}>{children}</div>\n);\n\nconst Page = ({ className, children, ...otherProps }) => (\n <div {...{ className, ...otherProps }}>{children}</div>\n);\n\nPage.Header = PageWrapper;\nPage.Title = PageWrapper;\nPage.Description = PageWrapper;\nPage.Body = PageWrapper;\nPage.Footer = PageWrapper;\n\nexport default Page;\n","import { Dialog, Sheet } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport * as yup from \"yup\";\n\nimport Page from \"./Page\";\n\nexport const FEEDBACK_DURATION_MS = 2500;\n\nexport const NAME_INPUT_VALIDATION_SCHEMA = {\n firstName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n lastName: yup\n .string()\n .trim(t(\"neetoTeamMembers.validations.removeSpaces\"))\n .strict(true),\n};\n\nexport const ROLES_RADIO_GROUP_VALIDATION_SCHEMA = {\n role: yup.string().required(t(\"neetoTeamMembers.validations.roleRequired\")),\n};\n\nexport const APP_ROLES_SCHEMA = {\n appsRoles: yup.array().of(\n yup.object().shape({\n appName: yup.string(),\n isEnabled: yup.boolean(),\n role: yup\n .string()\n .required(t(\"neetoTeamMembers.validations.roleRequired\")),\n })\n ),\n};\n\nexport const FILTER_INVALID_EMAILS = {\n label: t(\"neetoTeamMembers.validations.filterInvalidEmails\"),\n};\n\nexport const COUNTER_PROPS = {\n label: t(\"neetoTeamMembers.common.email\", PLURAL),\n startsFrom: 4,\n};\n\nexport const DEFAULT_COMPONENT_CONFIG = {\n type: \"pane\",\n isOpen: false,\n className: \"\",\n headerProps: {},\n bodyProps: {},\n footerProps: {},\n};\n\nexport const MEMBERS_FORM_COMPONENT_MAPPER = {\n pane: Sheet,\n modal: Dialog,\n page: Page,\n};\n\nexport const FORM_PAGES = {\n MAIN: \"main\",\n APP_LIST: \"appList\",\n CONFIRMATION: \"confirmation\",\n INVITE_LINK: \"inviteLink\",\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const NEETO_AUTH_MANAGE_PRODUCT_URL = `${globalProps.organization?.authAppUrl}/admin/admin-panel/general/products`;\n","import { Button } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport { notEquals, _findBy, toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { dayjs } from \"neetocommons/v2/utils\";\nimport {\n equals,\n includes,\n isNil,\n isNotNil,\n keys,\n move,\n pick,\n pluck,\n prop,\n} from \"ramda\";\nimport { Trans } from \"react-i18next\";\nimport * as yup from \"yup\";\n\nimport { ADMIN_ROLES, ADMIN_ROLE_NAME } from \"common/constants\";\n\nimport {\n NAME_INPUT_VALIDATION_SCHEMA,\n ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n APP_ROLES_SCHEMA,\n} from \"./constants\";\n\nconst getProductName = activeAppRoles =>\n activeAppRoles?.[0]?.appName\n ? t(\"neetoTeamMembers.labels.neeto_\", {\n product: activeAppRoles[0].appName,\n })\n : globalProps.appName;\n\nconst getActiveRole = (activeAppRoles, role) =>\n activeAppRoles?.[0]?.activeRole || role;\n\nconst getDefaultRole = (roles, currentAppRole, appName) => {\n if (appName === globalProps.appName?.substring(5)) {\n return currentAppRole;\n }\n\n const condition = isAdminRole(currentAppRole);\n\n const role = _findBy({ name: condition }, roles);\n\n return role ? role.name : roles[0].name;\n};\n\nconst generateAppsRolesInitialValue = (globalRoles, currentAppRole) => {\n if (!globalRoles) return [];\n\n const appNames = Object.keys(globalRoles);\n const currentApp = globalProps.appName?.substring(5);\n const currentAppNameIndex = appNames.indexOf(currentApp);\n const appNamesSorted = move(currentAppNameIndex, 0, appNames);\n\n return appNamesSorted.map(appName => ({\n appName,\n activeRole: getDefaultRole(globalRoles[appName], currentAppRole, appName),\n isEnabled: true,\n isPrimary: currentApp === appName,\n }));\n};\n\nexport const isAdminRole = role =>\n includes(role, ADMIN_ROLES)\n ? equals(ADMIN_ROLE_NAME)\n : notEquals(ADMIN_ROLE_NAME);\n\nexport const renderInitialValues = ({\n additionalFieldsInitialValues = {},\n globalRoles,\n roles,\n selectedMember,\n}) => {\n if (isNotNil(selectedMember)) {\n const keysToPick = [\n \"firstName\",\n \"lastName\",\n \"role\",\n ...keys(additionalFieldsInitialValues),\n ];\n\n return {\n ...additionalFieldsInitialValues,\n ...pick(keysToPick, selectedMember),\n emails: [{ ...toLabelAndValue(selectedMember.email), valid: true }],\n timeZone: selectedMember.timeZone || \"\",\n dateFormat: selectedMember.dateFormat || \"\",\n timeFormat: selectedMember.timeFormat || \"\",\n countryId: selectedMember.countryIdentifier || \"\",\n language: selectedMember.language || \"\",\n avatar: {\n imageUrl: selectedMember.profileImageUrl || \"\",\n file: null,\n },\n };\n }\n\n return {\n firstName: \"\",\n lastName: \"\",\n emails: [],\n role: roles[1]?.name ?? \"\",\n appRoles: generateAppsRolesInitialValue(globalRoles, roles[1]?.name),\n ...additionalFieldsInitialValues,\n };\n};\n\nexport const renderPayload = (\n { appRoles, emails, firstName, lastName, role, ...otherValues },\n selectedMember = null\n) => {\n if (selectedMember) {\n const {\n timeZone,\n dateFormat,\n timeFormat,\n countryId,\n language,\n avatar,\n ...rest\n } = otherValues;\n\n const payload = {\n active: true,\n firstName: firstName.trim(),\n lastName: lastName.trim(),\n organizationRole: role,\n email: emails[0].value,\n ...rest,\n };\n\n const profileFields = {\n timeZone,\n dateFormat,\n timeFormat,\n countryIdentifier: countryId,\n language,\n };\n\n const profile = Object.fromEntries(\n Object.entries(profileFields).filter(([, v]) => v)\n );\n\n if (Object.keys(profile).length > 0 || avatar?.file) {\n payload.profile = profile;\n }\n\n return payload;\n }\n\n return {\n user: {\n emails: pluck(\"value\", emails),\n organizationRole: role,\n appRoles,\n ...otherValues,\n },\n };\n};\n\nexport const getSingleInvitationTranslationProps = ({\n activeAppRoles,\n role,\n selectedEmail,\n}) => ({\n count: selectedEmail.length,\n emails: selectedEmail,\n product: getProductName(activeAppRoles),\n role: getActiveRole(activeAppRoles, role),\n});\n\nexport const buildValidationSchema = ({\n selectedMember,\n memberLimit,\n activeUsersCount,\n}) =>\n yup.object().shape({\n ...NAME_INPUT_VALIDATION_SCHEMA,\n ...ROLES_RADIO_GROUP_VALIDATION_SCHEMA,\n ...APP_ROLES_SCHEMA,\n emails: yup\n .array()\n .min(1, t(\"neetoTeamMembers.validations.minOneEmail\"))\n .test(\n \"are-all-emails-valid\",\n ({ value }) =>\n t(\"neetoTeamMembers.validations.validEmail\", { count: value.length }),\n emails => emails.every(prop(\"valid\"))\n )\n .test(\n \"is-emails-length-within-available-members-capacity\",\n <Trans\n i18nKey=\"neetoTeamMembers.validations.memberLimitExceeded\"\n values={{ limit: memberLimit }}\n components={{\n emailTo: (\n <Button asChild variant=\"link\">\n <a href=\"mailto:support@neeto.com\">support</a>\n </Button>\n ),\n }}\n />,\n emails =>\n isNotNil(selectedMember) ||\n isNil(memberLimit) ||\n emails.length <= memberLimit - activeUsersCount\n )\n .nullable(),\n });\n\nexport const getInviteURL = inviteToken =>\n `${window.location.origin}/invite-link/${inviteToken}`;\n\nexport const remainingExpiryDays = expiryDate => {\n const today = dayjs().startOf(\"day\");\n const expiry = dayjs(expiryDate).startOf(\"day\");\n\n return expiry.diff(today, \"day\");\n};\n\nexport const neetoAuthManageProductUrl = `${globalProps.organization?.authAppUrl}/settings/general/products`;\n","import { Button, Label } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { _findBy, slugify } from \"neetocist\";\nimport { SINGULAR, PLURAL } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { identical } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isAdminRole } from \"./utils\";\n\nimport { FormikRadioGroup } from \"../../Common/formik\";\n\nconst RolesRadioGroup = ({\n config,\n globalRoles,\n isEdit,\n role = \"\",\n roles = [],\n}) => {\n const { t } = useTranslation();\n\n const { values, setFieldValue } = useFormikContext();\n\n const setDefaultSelection = currentRole => {\n const condition = isAdminRole(currentRole);\n values.appRoles?.forEach(({ appName, activeRole }, index) => {\n if (appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].activeRole`, currentRole);\n\n return;\n }\n\n if (condition(activeRole)) return;\n const matchingRole = _findBy({ name: condition }, globalRoles[appName]);\n if (matchingRole) {\n setFieldValue(`appRoles[${index}].activeRole`, matchingRole.name);\n }\n });\n };\n\n return (\n <div className=\"space-y-2\">\n <div className=\"flex w-full items-center justify-between\">\n <Label>\n {t(\"neetoTeamMembers.common.role\", SINGULAR)}\n <span className=\"text-destructive\"> *</span>\n </Label>\n <Button asChild variant=\"link\">\n <a href={config.pathToRolesPage}>\n {t(\"neetoTeamMembers.labels.manageRole\", PLURAL)}\n </a>\n </Button>\n </div>\n <FormikRadioGroup\n stacked\n className=\"w-full grow-0\"\n data-testid=\"ntm-manage-member-roles-group\"\n name=\"role\"\n onChange={({ target: { value } }) => {\n setFieldValue(\"role\", value);\n if (!isEdit) setDefaultSelection(value);\n }}\n >\n {roles.map(({ id, name }) => (\n <label\n className=\"w-full cursor-pointer py-1 first:pt-0\"\n htmlFor={slugify(name)}\n key={id}\n >\n <FormikRadioGroup.Item\n data-testid=\"ntm-manage-member-roles-button\"\n defaultChecked={identical(name, role)}\n id={slugify(name)}\n label={name}\n value={name}\n />\n </label>\n ))}\n </FormikRadioGroup>\n </div>\n );\n};\n\nexport default RolesRadioGroup;\n"],"names":["PageWrapper","_ref","className","children","otherProps","_objectWithoutProperties","_excluded","_jsx","_objectSpread","Page","_ref2","_excluded2","Header","Title","Description","Body","Footer","FEEDBACK_DURATION_MS","NAME_INPUT_VALIDATION_SCHEMA","firstName","yup","string","trim","t","strict","lastName","ROLES_RADIO_GROUP_VALIDATION_SCHEMA","role","required","APP_ROLES_SCHEMA","appsRoles","array","of","object","shape","appName","isEnabled","FILTER_INVALID_EMAILS","label","COUNTER_PROPS","PLURAL","startsFrom","DEFAULT_COMPONENT_CONFIG","type","isOpen","headerProps","bodyProps","footerProps","MEMBERS_FORM_COMPONENT_MAPPER","pane","Sheet","modal","Dialog","page","FORM_PAGES","MAIN","APP_LIST","CONFIRMATION","INVITE_LINK","EMAIL_REGEX","RegExp","NEETO_AUTH_MANAGE_PRODUCT_URL","concat","_globalProps$organiza","globalProps","organization","authAppUrl","getProductName","activeAppRoles","_activeAppRoles$","product","getActiveRole","_activeAppRoles$2","activeRole","getDefaultRole","roles","currentAppRole","_globalProps$appName","substring","condition","isAdminRole","_findBy","name","generateAppsRolesInitialValue","globalRoles","_globalProps$appName2","appNames","Object","keys","currentApp","currentAppNameIndex","indexOf","appNamesSorted","move","map","isPrimary","includes","ADMIN_ROLES","equals","ADMIN_ROLE_NAME","notEquals","renderInitialValues","_roles$1$name","_roles$","_roles$2","_ref$additionalFields","additionalFieldsInitialValues","selectedMember","isNotNil","keysToPick","_toConsumableArray","pick","emails","toLabelAndValue","email","valid","timeZone","dateFormat","timeFormat","countryId","countryIdentifier","language","avatar","imageUrl","profileImageUrl","file","appRoles","renderPayload","otherValues","arguments","length","undefined","rest","payload","active","organizationRole","value","profileFields","profile","fromEntries","entries","filter","_ref3","_ref4","_slicedToArray","v","user","pluck","getSingleInvitationTranslationProps","_ref5","selectedEmail","count","buildValidationSchema","_ref6","memberLimit","activeUsersCount","min","test","_ref7","every","prop","Trans","i18nKey","values","limit","components","emailTo","Button","asChild","variant","href","isNil","nullable","getInviteURL","inviteToken","window","location","origin","remainingExpiryDays","expiryDate","today","dayjs","startOf","expiry","diff","RolesRadioGroup","config","isEdit","_ref$role","_ref$roles","_useTranslation","useTranslation","_useFormikContext","useFormikContext","setFieldValue","setDefaultSelection","currentRole","_values$appRoles","forEach","index","matchingRole","_jsxs","Label","SINGULAR","pathToRolesPage","FormikRadioGroup","stacked","onChange","target","id","htmlFor","slugify","Item","defaultChecked","identical"],"mappings":"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"}