@bigbinary/neeto-team-members-frontend 5.0.41 → 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 +38 -140
  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 +18 -35
  64. package/dist/cjs/v2/Profile.js.map +1 -1
  65. package/dist/cjs/v2/Roles.js +42 -86
  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 +42 -192
  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-CmsTaBay.js → index-BHZSKqUU.js} +248 -365
  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-DvkCYQ7m.js → index-BjyZ-9G_.js} +244 -356
  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 +31 -132
  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 +13 -30
  147. package/dist/v2/Profile.js.map +1 -1
  148. package/dist/v2/Roles.js +23 -66
  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 +39 -188
  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 +14 -14
  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-CmsTaBay.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-Dus0cbgo.js.map +0 -1
  194. package/dist/index-DvkCYQ7m.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
@@ -1 +1 @@
1
- {"version":3,"file":"Roles.js","sources":["../../../app/javascript/src/components/v2/apis/permissions.js","../../../app/javascript/src/components/v2/hooks/roles/usePermissionsApi.js","../../../app/javascript/src/components/v2/Roles/Header/utils.js","../../../app/javascript/src/components/v2/Roles/AddRoleButton.jsx","../../../app/javascript/src/components/v2/Roles/Header/index.jsx","../../../app/javascript/src/components/v2/Roles/constants.js","../../../app/javascript/src/components/v2/Roles/ManageRoles.jsx","../../../app/javascript/src/components/v2/Roles/Table/constants.js","../../../app/javascript/src/components/v2/Roles/Table/utils.js","../../../app/javascript/src/components/v2/Roles/Table/Row.jsx","../../../app/javascript/src/components/v2/common/utils.js","../../../app/javascript/src/components/v2/Roles/Table/Sidebar/utils.jsx","../../../app/javascript/src/components/v2/Roles/Table/TableHeader.jsx","../../../app/javascript/src/components/v2/Roles/Delete.jsx","../../../app/javascript/src/components/v2/Roles/Table/Columns.jsx","../../../app/javascript/src/components/v2/Roles/Table/Sidebar/ToggleDropdown.jsx","../../../app/javascript/src/components/v2/Roles/Table/Sidebar/index.jsx","../../../app/javascript/src/components/v2/Roles/Table/useRowHeightSync.js","../../../app/javascript/src/components/v2/Roles/Table/index.jsx","../../../app/javascript/src/components/v2/Roles/index.jsx"],"sourcesContent":["// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis\nimport axios from \"axios\";\n\nimport { BASE_URL } from \"v2/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 \"v2/apis/permissions\";\nimport { QUERY_KEYS } from \"v2/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 \"@bigbinary/neeto-atoms\";\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 position=\"bottom\"\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.labels.addNewRole\")}\n </Button>\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\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 <div className=\"flex items-center gap-2\">\n <Tooltip\n position=\"bottom\"\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")\n : null\n }\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n type=\"submit\"\n onClick={handleSubmit}\n >\n {t(\"neetoTeamMembers.buttons.saveChanges\")}\n </Button>\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n type=\"reset\"\n variant=\"ghost\"\n onClick={handleReset}\n >\n {t(\"neetoTeamMembers.buttons.reset\")}\n </Button>\n </div>\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 { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n Input as FormikInput,\n Textarea as FormikTextarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"v2/common/constants\";\nimport { FormikActionBlock, FormikForm } from \"v2/common/formik\";\nimport ScrollToErrorField from \"v2/common/ScrollToErrorField\";\nimport { useCreateRole, useUpdateRole } from \"v2/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 // Sheet 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 <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title data-testid=\"ntm-add-role-title\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Sheet.Title>\n </Sheet.Header>\n <FormikForm\n {...{ formikProps }}\n className=\"flex min-h-0 flex-1 flex-col\"\n ref={formReference}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Sheet.Body>\n <div className=\"mb-6 w-full space-y-6\">\n <div className=\"space-y-4\">\n <FormikInput\n required\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={!isEdit ? inputReference : undefined}\n />\n <FormikTextarea\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 </Sheet.Body>\n <Sheet.Footer>\n <FormikActionBlock\n {...{ isSubmitting }}\n className=\"flex gap-2\"\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 </Sheet.Footer>\n </>\n )}\n </FormikForm>\n </Sheet>\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\nexport const SIDEBAR_CELL_SELECTOR = \".ntm-roles-table-sidebar__list-item-cell\";\n\nexport const COLUMN_ROW_SELECTOR =\n \".ntm-roles-table__rows > div[data-testid], .ntm-roles-table__empty-row\";\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 { Checkbox, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { 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 >\n <Tooltip\n position=\"top\"\n content={\n !(\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n )\n ? renderRolesTooltipContent(role.name)\n : null\n }\n >\n <div className=\"absolute z-10 m-auto size-4\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox z-10\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onCheckedChange={() => 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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Info } from \"lucide-react\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { pluck } from \"ramda\";\n\nimport { getScrollBarWidth } from \"v2/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 depth = 0\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n const isChild = depth > 0;\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item flex min-h-[var(--ntm-roles-table-cell-height)] flex-row items-center gap-1 whitespace-normal break-words\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n variant={isChild ? \"body3\" : \"body2\"}\n weight={isChild ? \"normal\" : \"medium\"}\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={Info}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"ntm-roles-table-sidebar__sub-blocks relative pl-6\">\n {renderDescription(\n children,\n filteredPermissions,\n permissionTooltip,\n depth + 1\n )}\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"v2/common/constants\";\nimport { isOverflown } from \"v2/common/utils\";\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\n className=\"ntm-roles-table__header\"\n data-testid=\"ntm-roles-table-header\"\n >\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=\"flex w-full items-center justify-between overflow-hidden\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"w-full text-center\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineClamp={1}\n variant=\"body3\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownProps={{ autoWidth: true }}\n dropdownButtonProps={{\n className: \"m-0.5 shrink-0\",\n \"data-testid\":\n \"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 \"@bigbinary/neeto-atoms\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useDestroyRole } from \"v2/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>&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\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 { ChevronDown, ChevronUp } from \"lucide-react\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <ChevronUp\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <ChevronDown\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nimport { getChildrenRemovedFromRoot } 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]); // eslint-disable-line react-hooks/exhaustive-deps\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 flex flex-col items-start justify-center gap-1 px-6 py-6\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.permissionSearchEmpty\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\n \"neetoTeamMembers.labels.permissionSearchEmptyDescription\"\n )}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\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 flex cursor-pointer items-center justify-between border-t border-border bg-muted px-6 py-2.5\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n data-testid=\"ntm-permission-category-title\"\n variant=\"h6\"\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-3 px-6\">\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 { useCallback, useEffect } from \"react\";\n\nimport { SIDEBAR_CELL_SELECTOR, COLUMN_ROW_SELECTOR } from \"./constants\";\n\nconst syncRowHeights = () => {\n const sidebarCells = document.querySelectorAll(SIDEBAR_CELL_SELECTOR);\n const columnRows = document.querySelectorAll(COLUMN_ROW_SELECTOR);\n\n const count = Math.min(sidebarCells.length, columnRows.length);\n\n for (let i = 0; i < count; i++) {\n // Reset heights so we can measure natural size\n sidebarCells[i].style.height = \"auto\";\n\n const sidebarChildren = sidebarCells[i].children;\n for (let j = 0; j < sidebarChildren.length; j++) {\n sidebarChildren[j].style.height = \"auto\";\n }\n\n const columnChildren = columnRows[i].children;\n for (let j = 0; j < columnChildren.length; j++) {\n const cells = columnChildren[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n\n cells.forEach(cell => {\n cell.style.height = \"auto\";\n });\n }\n }\n\n // Force reflow before measuring\n\n document.body.offsetHeight;\n\n for (let i = 0; i < count; i++) {\n // For each row group (category header + its permission rows),\n // sync the sidebar cell block with the column row block.\n const sidebarBlock = sidebarCells[i];\n const columnBlock = columnRows[i];\n\n // Sync the category header row (first child of each block)\n const sidebarHeader = sidebarBlock.querySelector(\n \".ntm-roles-table-sidebar__list-item--highlighted\"\n );\n\n const columnHeader = columnBlock.querySelector(\n \".ntm-roles-table__row--highlighted\"\n );\n\n if (sidebarHeader && columnHeader) {\n const columnHeaderCells = columnHeader.querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const sidebarH = sidebarHeader.getBoundingClientRect().height;\n const columnH = columnHeaderCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarHeader.style.height = `${maxH}px`;\n columnHeaderCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n\n // Sync individual permission rows\n const sidebarItems = sidebarBlock.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n );\n\n const columnPermRows = columnBlock.querySelectorAll(\n \".ntm-roles-table__row:not(.ntm-roles-table__row--highlighted)\"\n );\n\n const permCount = Math.min(sidebarItems.length, columnPermRows.length);\n for (let j = 0; j < permCount; j++) {\n const sidebarH = sidebarItems[j].getBoundingClientRect().height;\n const columnCells = columnPermRows[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const columnH = columnCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarItems[j].style.height = `${maxH}px`;\n columnCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n }\n};\n\nconst useRowHeightSync = filteredGroupPermissions => {\n const sync = useCallback(() => {\n requestAnimationFrame(syncRowHeights);\n }, []);\n\n useEffect(() => {\n sync();\n }, [filteredGroupPermissions, sync]);\n\n useEffect(() => {\n const observer = new ResizeObserver(sync);\n const container = document.querySelector(\".ntm-roles-table__container\");\n if (container) observer.observe(container);\n\n window.addEventListener(\"resize\", sync);\n\n return () => {\n observer.disconnect();\n window.removeEventListener(\"resize\", sync);\n };\n }, [sync]);\n};\n\nexport default useRowHeightSync;\n","import { useEffect, useState } from \"react\";\n\nimport { Empty } from \"@bigbinary/neeto-atoms\";\nimport { Search, UserCog } from \"lucide-react\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport useRowHeightSync from \"./useRowHeightSync\";\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 useRowHeightSync(filteredGroupPermissions);\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 flex flex-1 flex-col\">\n {isEmpty(roles) ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={t(\"neetoTeamMembers.labels.roleEmptyDescription\")}\n icon={UserCog}\n primaryButtonProps={{\n \"data-testid\": \"ntm-add-role-button\",\n disabled: !isCreatePermissionGranted,\n label: t(\"neetoTeamMembers.labels.addNewRole\"),\n onClick: () => setIsNewRolePaneOpen(true),\n }}\n title={t(\"neetoTeamMembers.labels.roleEmptyTitle\")}\n />\n </div>\n ) : isEmpty(filteredRoles) ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={t(\n \"neetoTeamMembers.labels.roleSearchEmptyDescription\"\n )}\n icon={Search}\n title={t(\"neetoTeamMembers.labels.roleSearchEmptyTitle\")}\n />\n </div>\n ) : (\n <div className=\"ntm-roles-table__container\">\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 </div>\n )}\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 { Spinner } from \"@bigbinary/neeto-atoms\";\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/v2/Container\";\nimport { filter, includes } from \"ramda\";\n\nimport withReactQuery from \"v2/common/withReactQuery\";\nimport { useFetchPermissions } from \"v2/hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"v2/hooks/roles/useRolesApi\";\n\nimport Header from \"./Header\";\nimport ManageRoles from \"./ManageRoles\";\nimport Table from \"./Table\";\nimport {\n getModifiedPermissions,\n getPermissionGroups,\n sortPermissionsBySequence,\n} from \"./utils\";\n\nimport \"../styles/roles.css\";\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\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 className=\"pb-10\">\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","position","content","children","Button","disabled","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","type","variant","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","style","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","Sheet","size","Title","FormikForm","ref","_ref3","_config$permissionRel","dirty","_Fragment","ScrollToErrorField","formRef","Body","FormikInput","label","maxLength","readOnly","FormikTextarea","Permissions","permissionRelationConfig","permissionRelation","Footer","FormikActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","SIDEBAR_CELL_SELECTOR","COLUMN_ROW_SELECTOR","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","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","identical","Checkbox","checked","onCheckedChange","isOverflown","clientWidth","scrollWidth","getScrollBarWidth","innerElement","createElement","outerElement","appendChild","body","w1","overflow","w2","removeChild","renderDescription","permissionTooltip","depth","tooltipContent","isChild","Fragment","Typography","weight","HelpPopover","icon","Info","getSearchWrapperStyle","scrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","from","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","ScrollSyncPane","group","index","isAdminRole","lineClamp","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","ChevronUp","strokeWidth","ChevronDown","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","color","pluck","syncRowHeights","sidebarCells","columnRows","count","Math","min","i","height","sidebarChildren","j","columnChildren","cells","cell","offsetHeight","_loop","sidebarBlock","columnBlock","sidebarHeader","columnHeader","_columnHeaderCells$","columnHeaderCells","sidebarH","getBoundingClientRect","columnH","maxH","sidebarItems","columnPermRows","permCount","_loop2","_columnCells$","columnCells","useRowHeightSync","sync","requestAnimationFrame","observer","ResizeObserver","container","observe","window","disconnect","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","Empty","UserCog","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/v2/components/Roles/Header/utils.js","../../../app/javascript/src/v2/components/Roles/AddRoleButton.jsx","../../../app/javascript/src/v2/components/Roles/Header/index.jsx","../../../app/javascript/src/v2/components/Roles/constants.js","../../../app/javascript/src/v2/components/Roles/ManageRoles.jsx","../../../app/javascript/src/v2/components/Roles/Table/constants.js","../../../app/javascript/src/v2/components/Roles/Table/utils.js","../../../app/javascript/src/v2/components/Roles/Table/Row.jsx","../../../app/javascript/src/v2/components/Roles/Table/Sidebar/utils.jsx","../../../app/javascript/src/v2/components/Roles/Table/TableHeader.jsx","../../../app/javascript/src/v2/components/Roles/Delete.jsx","../../../app/javascript/src/v2/components/Roles/Table/Columns.jsx","../../../app/javascript/src/v2/components/Roles/Table/Sidebar/ToggleDropdown.jsx","../../../app/javascript/src/v2/components/Roles/Table/Sidebar/index.jsx","../../../app/javascript/src/v2/components/Roles/Table/useRowHeightSync.js","../../../app/javascript/src/v2/components/Roles/Table/index.jsx","../../../app/javascript/src/v2/components/Roles/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/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 \"@bigbinary/neeto-atoms\";\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 position=\"bottom\"\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddRole\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-role-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.labels.addNewRole\")}\n </Button>\n </span>\n </Tooltip>\n );\n};\n\nexport default AddRoleButton;\n","import { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\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 <div className=\"flex items-center gap-2\">\n <Tooltip\n position=\"bottom\"\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditRoles\")\n : null\n }\n >\n <span>\n <Button\n data-testid=\"ntm-role-submission-button\"\n disabled={!isUpdatePermissionGranted}\n type=\"submit\"\n onClick={handleSubmit}\n >\n {t(\"neetoTeamMembers.buttons.saveChanges\")}\n </Button>\n </span>\n </Tooltip>\n <Button\n data-testid=\"ntm-role-reset-button\"\n type=\"reset\"\n variant=\"ghost\"\n onClick={handleReset}\n >\n {t(\"neetoTeamMembers.buttons.reset\")}\n </Button>\n </div>\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 { Sheet } from \"@bigbinary/neeto-atoms\";\nimport {\n Input as FormikInput,\n Textarea as FormikTextarea,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\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\nimport { FormikActionBlock, FormikForm } from \"../Common/formik\";\nimport ScrollToErrorField from \"../Common/ScrollToErrorField\";\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 // Sheet 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 <Sheet {...{ isOpen, onClose }} size=\"large\">\n <Sheet.Header>\n <Sheet.Title data-testid=\"ntm-add-role-title\">\n {isEdit\n ? t(\"neetoTeamMembers.labels.editRole\")\n : t(\"neetoTeamMembers.labels.addNewRole\")}\n </Sheet.Title>\n </Sheet.Header>\n <FormikForm\n {...{ formikProps }}\n className=\"flex min-h-0 flex-1 flex-col\"\n ref={formReference}\n >\n {({ dirty }) => (\n <>\n <ScrollToErrorField formRef={formReference} />\n <Sheet.Body>\n <div className=\"mb-6 w-full space-y-6\">\n <div className=\"space-y-4\">\n <FormikInput\n required\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={!isEdit ? inputReference : undefined}\n />\n <FormikTextarea\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 </Sheet.Body>\n <Sheet.Footer>\n <FormikActionBlock\n {...{ isSubmitting }}\n className=\"flex gap-2\"\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 </Sheet.Footer>\n </>\n )}\n </FormikForm>\n </Sheet>\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\nexport const SIDEBAR_CELL_SELECTOR = \".ntm-roles-table-sidebar__list-item-cell\";\n\nexport const COLUMN_ROW_SELECTOR =\n \".ntm-roles-table__rows > div[data-testid], .ntm-roles-table__empty-row\";\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 { Checkbox, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop, hyphenate } from \"neetocist\";\nimport { __, identical, includes, map, prop } from \"ramda\";\n\nimport { 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 >\n <Tooltip\n position=\"top\"\n content={\n !(\n isUpdatePermissionGranted &&\n !identical(role.name, \"Admin\") &&\n !identical(role.name, \"Owner\")\n )\n ? renderRolesTooltipContent(role.name)\n : null\n }\n >\n <div className=\"absolute z-10 m-auto size-4\">\n <Checkbox\n checked={isCheckboxChecked(role)}\n className=\"ntm-roles-table-cell__checkbox z-10\"\n data-testid=\"ntm-roles-table-permission-checkbox\"\n disabled={\n identical(role.name, \"Admin\") ||\n identical(role.name, \"Owner\") ||\n !isUpdatePermissionGranted\n }\n onCheckedChange={() => 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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Info } from \"lucide-react\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\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 depth = 0\n) =>\n permissions?.map(({ id, name, description, children }) => {\n const tooltipContent = permissionTooltip[name];\n const isChild = depth > 0;\n\n return (\n <Fragment key={id}>\n {filteredPermissions.includes(id) && (\n <div\n className=\"ntm-roles-table-sidebar__list-item flex min-h-[var(--ntm-roles-table-cell-height)] flex-row items-center gap-1 whitespace-normal break-words\"\n data-name={description}\n >\n <Typography\n data-testid=\"ntm-permission-category-description\"\n variant={isChild ? \"body3\" : \"body2\"}\n weight={isChild ? \"normal\" : \"medium\"}\n >\n {description}\n </Typography>\n {tooltipContent && (\n <HelpPopover\n description={tooltipContent}\n icon={Info}\n size=\"default\"\n />\n )}\n </div>\n )}\n <div className=\"ntm-roles-table-sidebar__sub-blocks relative pl-6\">\n {renderDescription(\n children,\n filteredPermissions,\n permissionTooltip,\n depth + 1\n )}\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { identical } from \"ramda\";\n\nimport { ADMIN_ROLES } from \"common/constants\";\nimport { isOverflown } from \"common/utils\";\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\n className=\"ntm-roles-table__header\"\n data-testid=\"ntm-roles-table-header\"\n >\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=\"flex w-full items-center justify-between overflow-hidden\"\n data-testid=\"ntm-roles-table-role-header\"\n >\n <Typography\n className=\"w-full text-center\"\n data-testid=\"ntm-roles-table-header-role-title\"\n lineClamp={1}\n variant=\"body3\"\n weight=\"semibold\"\n >\n {role.name}\n </Typography>\n {!isAdminRole && (\n <MoreDropdown\n dropdownButtonProps={{\n className: \"m-0.5 shrink-0\",\n \"data-testid\":\n \"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 \"@bigbinary/neeto-atoms\";\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>&nbsp;</div>\n </div>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\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 { ChevronDown, ChevronUp } from \"lucide-react\";\n\nconst ToggleDropdown = ({ isVisible }) =>\n isVisible ? (\n <ChevronUp\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\n data-testid=\"ntm-permission-category-hide-button\"\n size={16}\n strokeWidth={2}\n />\n ) : (\n <ChevronDown\n className=\"ntm-roles-table-sidebar__drop-down-button cursor-pointer text-muted-foreground\"\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSyncPane } from \"@bigbinary/react-scroll-sync\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { groupBy, pluck, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ToggleDropdown from \"./ToggleDropdown\";\nimport {\n getSearchWrapperStyle,\n renderDescription,\n getFilteredCategories,\n} from \"./utils\";\n\nimport { getChildrenRemovedFromRoot } 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]); // eslint-disable-line react-hooks/exhaustive-deps\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 flex flex-col items-start justify-center gap-1 px-6 py-6\">\n <Typography\n data-testid=\"ntm-empty-category-row\"\n variant=\"body2\"\n weight=\"medium\"\n >\n {t(\"neetoTeamMembers.labels.permissionSearchEmpty\")}\n </Typography>\n <Typography color=\"muted\" variant=\"body3\">\n {t(\n \"neetoTeamMembers.labels.permissionSearchEmptyDescription\"\n )}\n </Typography>\n </div>\n </div>\n ) : (\n categories.map((category, index) => {\n const groupedPermissions = filteredGroupPermissions.get(category);\n\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 flex cursor-pointer items-center justify-between border-t border-border bg-muted px-6 py-2.5\"\n onClick={() => toggleDropdown(category)}\n >\n <Typography\n data-testid=\"ntm-permission-category-title\"\n variant=\"h6\"\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-3 px-6\">\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 { useCallback, useEffect } from \"react\";\n\nimport { SIDEBAR_CELL_SELECTOR, COLUMN_ROW_SELECTOR } from \"./constants\";\n\nconst syncRowHeights = () => {\n const sidebarCells = document.querySelectorAll(SIDEBAR_CELL_SELECTOR);\n const columnRows = document.querySelectorAll(COLUMN_ROW_SELECTOR);\n\n const count = Math.min(sidebarCells.length, columnRows.length);\n\n for (let i = 0; i < count; i++) {\n // Reset heights so we can measure natural size\n sidebarCells[i].style.height = \"auto\";\n\n const sidebarChildren = sidebarCells[i].children;\n for (let j = 0; j < sidebarChildren.length; j++) {\n sidebarChildren[j].style.height = \"auto\";\n }\n\n const columnChildren = columnRows[i].children;\n for (let j = 0; j < columnChildren.length; j++) {\n const cells = columnChildren[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n\n cells.forEach(cell => {\n cell.style.height = \"auto\";\n });\n }\n }\n\n // Force reflow before measuring\n\n document.body.offsetHeight;\n\n for (let i = 0; i < count; i++) {\n // For each row group (category header + its permission rows),\n // sync the sidebar cell block with the column row block.\n const sidebarBlock = sidebarCells[i];\n const columnBlock = columnRows[i];\n\n // Sync the category header row (first child of each block)\n const sidebarHeader = sidebarBlock.querySelector(\n \".ntm-roles-table-sidebar__list-item--highlighted\"\n );\n\n const columnHeader = columnBlock.querySelector(\n \".ntm-roles-table__row--highlighted\"\n );\n\n if (sidebarHeader && columnHeader) {\n const columnHeaderCells = columnHeader.querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const sidebarH = sidebarHeader.getBoundingClientRect().height;\n const columnH = columnHeaderCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarHeader.style.height = `${maxH}px`;\n columnHeaderCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n\n // Sync individual permission rows\n const sidebarItems = sidebarBlock.querySelectorAll(\n \".ntm-roles-table-sidebar__list-item:not(.ntm-roles-table-sidebar__list-item--highlighted)\"\n );\n\n const columnPermRows = columnBlock.querySelectorAll(\n \".ntm-roles-table__row:not(.ntm-roles-table__row--highlighted)\"\n );\n\n const permCount = Math.min(sidebarItems.length, columnPermRows.length);\n for (let j = 0; j < permCount; j++) {\n const sidebarH = sidebarItems[j].getBoundingClientRect().height;\n const columnCells = columnPermRows[j].querySelectorAll(\n \".ntm-roles-table__cell\"\n );\n const columnH = columnCells[0]?.getBoundingClientRect().height || 0;\n const maxH = Math.max(sidebarH, columnH);\n\n sidebarItems[j].style.height = `${maxH}px`;\n columnCells.forEach(cell => {\n cell.style.height = `${maxH}px`;\n });\n }\n }\n};\n\nconst useRowHeightSync = filteredGroupPermissions => {\n const sync = useCallback(() => {\n requestAnimationFrame(syncRowHeights);\n }, []);\n\n useEffect(() => {\n sync();\n }, [filteredGroupPermissions, sync]);\n\n useEffect(() => {\n const observer = new ResizeObserver(sync);\n const container = document.querySelector(\".ntm-roles-table__container\");\n if (container) observer.observe(container);\n\n window.addEventListener(\"resize\", sync);\n\n return () => {\n observer.disconnect();\n window.removeEventListener(\"resize\", sync);\n };\n }, [sync]);\n};\n\nexport default useRowHeightSync;\n","import { useEffect, useState } from \"react\";\n\nimport { Empty } from \"@bigbinary/neeto-atoms\";\nimport { Search, UserCog } from \"lucide-react\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Columns from \"./Columns\";\nimport Sidebar from \"./Sidebar\";\nimport useRowHeightSync from \"./useRowHeightSync\";\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 useRowHeightSync(filteredGroupPermissions);\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 flex flex-1 flex-col\">\n {isEmpty(roles) ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={t(\"neetoTeamMembers.labels.roleEmptyDescription\")}\n icon={UserCog}\n title={t(\"neetoTeamMembers.labels.roleEmptyTitle\")}\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 ) : isEmpty(filteredRoles) ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n title={t(\"neetoTeamMembers.labels.roleSearchEmptyTitle\")}\n description={t(\n \"neetoTeamMembers.labels.roleSearchEmptyDescription\"\n )}\n />\n </div>\n ) : (\n <div className=\"ntm-roles-table__container\">\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 </div>\n )}\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 { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { ScrollSync } from \"@bigbinary/react-scroll-sync\";\nimport i18next from \"i18next\";\nimport { isNotEmpty } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/v2/constants\";\nimport { useQueryParams, withTitle } from \"neetocommons/v2/react-utils\";\nimport Container from \"neetomolecules/v2/Container\";\nimport { filter, includes } from \"ramda\";\n\nimport { useFetchPermissions } from \"hooks/roles/usePermissionsApi\";\nimport { useBulkUpdateRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/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\nimport withReactQuery from \"../Common/withReactQuery\";\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\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 className=\"pb-10\">\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","position","content","children","Button","disabled","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","type","variant","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","style","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","Sheet","size","Title","FormikForm","ref","_ref3","_config$permissionRel","dirty","_Fragment","ScrollToErrorField","formRef","Body","FormikInput","label","maxLength","readOnly","undefined","FormikTextarea","Permissions","permissionRelationConfig","permissionRelation","Footer","FormikActionBlock","cancelButtonProps","submitButtonProps","DEFAULT_MANAGE_ROLE_VALUES","isDelete","MENU_ITEMS","EDIT","DELETE","SIDEBAR_CELL_SELECTOR","COLUMN_ROW_SELECTOR","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","Row","_ref$allPermissionsOf","allPermissionsOfCategory","_ref$category","_ref$permission","_ref$setManageRole","noop","allPermissionIdsOfCategory","map","prop","isCheckboxChecked","every","__","classnames","identical","Checkbox","checked","onCheckedChange","renderDescription","permissionTooltip","arguments","length","depth","tooltipContent","isChild","Fragment","Typography","weight","HelpPopover","icon","Info","getSearchWrapperStyle","scrollBarWidth","getScrollBarWidth","setProperty","marginBottom","getFilteredCategories","filteredGroupPermissions","from","groupedPermissions","TableHeader","setIsScrollPresent","scrollSyncElement","getOverflowStatus","useCallback","headerElement","isScrollBarPresent","isOverflown","ScrollSyncPane","group","index","isAdminRole","lineClamp","MoreDropdown","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","ChevronUp","strokeWidth","ChevronDown","Sidebar","toggleDropdown","isScrollPresent","_ref$permissionRelati","_ref$permissionToolti","searchWrapperStyle","permissionsNameMap","groupBy","groupedPermissionsWithChildren","childrenRemovedFromRoot","getChildrenRemovedFromRoot","Search","enableUrlSync","searchParamName","color","pluck","syncRowHeights","sidebarCells","columnRows","count","Math","min","i","height","sidebarChildren","j","columnChildren","cells","cell","body","offsetHeight","_loop","sidebarBlock","columnBlock","sidebarHeader","columnHeader","_columnHeaderCells$","columnHeaderCells","sidebarH","getBoundingClientRect","columnH","maxH","sidebarItems","columnPermRows","permCount","_loop2","_columnCells$","columnCells","useRowHeightSync","sync","requestAnimationFrame","observer","ResizeObserver","container","observe","window","disconnect","Table","_config$permissionToo","setModifiedRoles","_useQueryParams","useQueryParams","_useQueryParams$permi","permissionSearchTerm","setFilteredGroupPermissions","_useState3","_useState4","_useState5","_useState6","setSelectedRole","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState9","_useState10","isEditPaneOpen","setIsEditPaneOpen","isEmpty","Empty","UserCog","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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"}
@@ -3,22 +3,23 @@
3
3
  require('@bigbinary/neeto-atoms');
4
4
  require('formik');
5
5
  require('@bigbinary/neeto-cist');
6
- require('@bigbinary/neeto-commons-frontend/constants');
7
- require('@bigbinary/neeto-commons-frontend/initializers');
6
+ require('@bigbinary/neeto-commons-frontend/v2/constants');
7
+ require('@bigbinary/neeto-commons-frontend/v2/initializers');
8
8
  require('ramda');
9
9
  require('react-i18next');
10
+ var v2_RolesRadioGroup = require('../../RolesRadioGroup-BwiP6Akj.js');
10
11
  require('@babel/runtime/helpers/defineProperty');
11
12
  require('@babel/runtime/helpers/objectWithoutProperties');
12
13
  require('react/jsx-runtime');
13
14
  require('../../Select-CshPoN2b.js');
14
15
  require('@babel/runtime/helpers/slicedToArray');
15
- var v2_RolesRadioGroup = require('../../RolesRadioGroup-cjHORagK.js');
16
- require('react');
17
16
  require('@babel/runtime/helpers/toConsumableArray');
18
17
  require('i18next');
19
- require('@bigbinary/neeto-commons-frontend/utils');
18
+ require('@bigbinary/neeto-commons-frontend/v2/utils');
20
19
  require('yup');
21
- require('../../constants-CMNbKvoF.js');
20
+ require('../../constants-D_H6M1Pm.js');
21
+ require('@bigbinary/neeto-commons-frontend/constants');
22
+ require('react');
22
23
 
23
24
 
24
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"RolesRadioGroup.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"RolesRadioGroup.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}