@bigbinary/neeto-team-members-frontend 5.0.28 → 5.0.30

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 (194) hide show
  1. package/app/javascript/src/translations/ar.json +6 -4
  2. package/app/javascript/src/translations/bg.json +6 -4
  3. package/app/javascript/src/translations/ca.json +8 -6
  4. package/app/javascript/src/translations/cs.json +4 -2
  5. package/app/javascript/src/translations/da.json +4 -2
  6. package/app/javascript/src/translations/de.json +4 -2
  7. package/app/javascript/src/translations/en.json +8 -6
  8. package/app/javascript/src/translations/es-MX.json +8 -6
  9. package/app/javascript/src/translations/es.json +8 -6
  10. package/app/javascript/src/translations/et.json +6 -4
  11. package/app/javascript/src/translations/fi.json +4 -2
  12. package/app/javascript/src/translations/fil.json +9 -7
  13. package/app/javascript/src/translations/fr.json +5 -3
  14. package/app/javascript/src/translations/he.json +5 -3
  15. package/app/javascript/src/translations/hi.json +7 -5
  16. package/app/javascript/src/translations/hr.json +4 -2
  17. package/app/javascript/src/translations/hu.json +4 -2
  18. package/app/javascript/src/translations/id.json +10 -8
  19. package/app/javascript/src/translations/it.json +8 -6
  20. package/app/javascript/src/translations/ja.json +6 -4
  21. package/app/javascript/src/translations/ko.json +4 -2
  22. package/app/javascript/src/translations/nl.json +7 -5
  23. package/app/javascript/src/translations/pl.json +5 -3
  24. package/app/javascript/src/translations/pt-BR.json +10 -8
  25. package/app/javascript/src/translations/pt.json +10 -8
  26. package/app/javascript/src/translations/ro.json +9 -7
  27. package/app/javascript/src/translations/ru.json +5 -3
  28. package/app/javascript/src/translations/sk.json +6 -4
  29. package/app/javascript/src/translations/sl.json +7 -5
  30. package/app/javascript/src/translations/sv.json +4 -2
  31. package/app/javascript/src/translations/th.json +5 -3
  32. package/app/javascript/src/translations/tr.json +10 -8
  33. package/app/javascript/src/translations/uk.json +7 -5
  34. package/app/javascript/src/translations/vi.json +7 -5
  35. package/app/javascript/src/translations/zh-CN.json +6 -4
  36. package/app/javascript/src/translations/zh-TW.json +5 -3
  37. package/dist/.ready +1 -1
  38. package/dist/ActionBlock-C9Iy0jGZ.js +53 -0
  39. package/dist/ActionBlock-C9Iy0jGZ.js.map +1 -0
  40. package/dist/ActionBlock-jgw1N-As.js +46 -0
  41. package/dist/ActionBlock-jgw1N-As.js.map +1 -0
  42. package/dist/Groups.js +1 -0
  43. package/dist/Groups.js.map +1 -1
  44. package/dist/InviteLinkError-AphtWLhe.js +63 -0
  45. package/dist/InviteLinkError-AphtWLhe.js.map +1 -0
  46. package/dist/InviteLinkError-C6OLGrD0.js +41 -0
  47. package/dist/InviteLinkError-C6OLGrD0.js.map +1 -0
  48. package/dist/ManageMember.js +3 -2
  49. package/dist/ManageMember.js.map +1 -1
  50. package/dist/MembersInvite.js +1 -38
  51. package/dist/MembersInvite.js.map +1 -1
  52. package/dist/Permissions-Bd6kLoPt.js +233 -0
  53. package/dist/Permissions-Bd6kLoPt.js.map +1 -0
  54. package/dist/Permissions-Bn862irP.js +244 -0
  55. package/dist/Permissions-Bn862irP.js.map +1 -0
  56. package/dist/Profile.js +125 -106
  57. package/dist/Profile.js.map +1 -1
  58. package/dist/{ProfileImage-Cpprgo-V.js → ProfileImage-QeSzsfzl.js} +1 -7
  59. package/dist/{ProfileImage-B_gfcE6b.js.map → ProfileImage-QeSzsfzl.js.map} +1 -1
  60. package/dist/{ProfileImage-B_gfcE6b.js → ProfileImage-Ypf3HreX.js} +2 -7
  61. package/dist/{ProfileImage-Cpprgo-V.js.map → ProfileImage-Ypf3HreX.js.map} +1 -1
  62. package/dist/Roles.js +3 -1398
  63. package/dist/Roles.js.map +1 -1
  64. package/dist/RolesRadioGroup-fBmS68cW.js +393 -0
  65. package/dist/RolesRadioGroup-fBmS68cW.js.map +1 -0
  66. package/dist/RolesRadioGroup-tSNC-Wtu.js +352 -0
  67. package/dist/RolesRadioGroup-tSNC-Wtu.js.map +1 -0
  68. package/dist/Select-CshPoN2b.js +119 -0
  69. package/dist/Select-CshPoN2b.js.map +1 -0
  70. package/dist/Select-DZ56UG-l.js +109 -0
  71. package/dist/Select-DZ56UG-l.js.map +1 -0
  72. package/dist/TeamMembers.js +3 -2
  73. package/dist/TeamMembers.js.map +1 -1
  74. package/dist/cjs/Groups.js +1 -0
  75. package/dist/cjs/Groups.js.map +1 -1
  76. package/dist/cjs/ManageMember.js +3 -2
  77. package/dist/cjs/ManageMember.js.map +1 -1
  78. package/dist/cjs/MembersInvite.js +2 -39
  79. package/dist/cjs/MembersInvite.js.map +1 -1
  80. package/dist/cjs/Profile.js +125 -104
  81. package/dist/cjs/Profile.js.map +1 -1
  82. package/dist/cjs/Roles.js +6 -1402
  83. package/dist/cjs/Roles.js.map +1 -1
  84. package/dist/cjs/TeamMembers.js +3 -2
  85. package/dist/cjs/TeamMembers.js.map +1 -1
  86. package/dist/cjs/index.js +6 -2
  87. package/dist/cjs/index.js.map +1 -1
  88. package/dist/cjs/utils.js +3 -512
  89. package/dist/cjs/utils.js.map +1 -1
  90. package/dist/cjs/v2/Groups.js +781 -0
  91. package/dist/cjs/v2/Groups.js.map +1 -0
  92. package/dist/cjs/v2/ManageMember.js +49 -0
  93. package/dist/cjs/v2/ManageMember.js.map +1 -0
  94. package/dist/cjs/v2/MembersDropdown.js +200 -0
  95. package/dist/cjs/v2/MembersDropdown.js.map +1 -0
  96. package/dist/cjs/v2/MembersInvite.js +270 -0
  97. package/dist/cjs/v2/MembersInvite.js.map +1 -0
  98. package/dist/cjs/v2/Permissions.js +19 -0
  99. package/dist/cjs/v2/Permissions.js.map +1 -0
  100. package/dist/cjs/v2/Profile.js +686 -0
  101. package/dist/cjs/v2/Profile.js.map +1 -0
  102. package/dist/cjs/v2/Roles.js +1258 -0
  103. package/dist/cjs/v2/Roles.js.map +1 -0
  104. package/dist/cjs/v2/RolesRadioGroup.js +26 -0
  105. package/dist/cjs/v2/RolesRadioGroup.js.map +1 -0
  106. package/dist/cjs/v2/TeamMembers.js +949 -0
  107. package/dist/cjs/v2/TeamMembers.js.map +1 -0
  108. package/dist/cjs/v2/TeamsAndMembersDropdown.js +438 -0
  109. package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -0
  110. package/dist/cjs/v2/TeamsDropdown.js +112 -0
  111. package/dist/cjs/v2/TeamsDropdown.js.map +1 -0
  112. package/dist/cjs/v2/constants.js +28 -0
  113. package/dist/cjs/v2/constants.js.map +1 -0
  114. package/dist/cjs/v2/hooks.js +33 -0
  115. package/dist/cjs/v2/hooks.js.map +1 -0
  116. package/dist/cjs/v2/utils.js +34 -0
  117. package/dist/cjs/v2/utils.js.map +1 -0
  118. package/dist/constants-B1L6arSR.js +49 -0
  119. package/dist/constants-B1L6arSR.js.map +1 -0
  120. package/dist/constants-CMNbKvoF.js +61 -0
  121. package/dist/constants-CMNbKvoF.js.map +1 -0
  122. package/dist/index-BkEJugj1.js +184 -0
  123. package/dist/index-BkEJugj1.js.map +1 -0
  124. package/dist/index-C6ph58Vg.js +169 -0
  125. package/dist/index-C6ph58Vg.js.map +1 -0
  126. package/dist/{index-C26Vdbk5.js → index-DFFRcH_S.js} +2 -2
  127. package/dist/{index-C26Vdbk5.js.map → index-DFFRcH_S.js.map} +1 -1
  128. package/dist/{index-CeAVMlhg.js → index-DTONHIze.js} +2 -2
  129. package/dist/{index-CeAVMlhg.js.map → index-DTONHIze.js.map} +1 -1
  130. package/dist/index-DeYRFiJy.js +119 -0
  131. package/dist/index-DeYRFiJy.js.map +1 -0
  132. package/dist/index-DgxgaCRt.js +1317 -0
  133. package/dist/index-DgxgaCRt.js.map +1 -0
  134. package/dist/index-DqqXniGT.js +126 -0
  135. package/dist/index-DqqXniGT.js.map +1 -0
  136. package/dist/index-Dus0cbgo.js +1407 -0
  137. package/dist/index-Dus0cbgo.js.map +1 -0
  138. package/dist/index-aJIUa1Bd.js +1342 -0
  139. package/dist/index-aJIUa1Bd.js.map +1 -0
  140. package/dist/index-ureO6U2w.js +1401 -0
  141. package/dist/index-ureO6U2w.js.map +1 -0
  142. package/dist/index.js +6 -2
  143. package/dist/index.js.map +1 -1
  144. package/dist/pluralize-BoSEafiC.js +514 -0
  145. package/dist/pluralize-BoSEafiC.js.map +1 -0
  146. package/dist/pluralize-CFlSRsRn.js +516 -0
  147. package/dist/pluralize-CFlSRsRn.js.map +1 -0
  148. package/dist/queryClient-B-JFya8X.js +16 -0
  149. package/dist/queryClient-B-JFya8X.js.map +1 -0
  150. package/dist/queryClient-BncpekSV.js +14 -0
  151. package/dist/queryClient-BncpekSV.js.map +1 -0
  152. package/dist/useCountries-CQdvJz0R.js +249 -0
  153. package/dist/useCountries-CQdvJz0R.js.map +1 -0
  154. package/dist/useCountries-DePOPtue.js +235 -0
  155. package/dist/useCountries-DePOPtue.js.map +1 -0
  156. package/dist/useTeamsApi-CWp4G7JZ.js +179 -0
  157. package/dist/useTeamsApi-CWp4G7JZ.js.map +1 -0
  158. package/dist/useTeamsApi-Ch5sHR2_.js +197 -0
  159. package/dist/useTeamsApi-Ch5sHR2_.js.map +1 -0
  160. package/dist/utils.js +2 -511
  161. package/dist/utils.js.map +1 -1
  162. package/dist/v2/Groups.js +749 -0
  163. package/dist/v2/Groups.js.map +1 -0
  164. package/dist/v2/ManageMember.js +43 -0
  165. package/dist/v2/ManageMember.js.map +1 -0
  166. package/dist/v2/MembersDropdown.js +193 -0
  167. package/dist/v2/MembersDropdown.js.map +1 -0
  168. package/dist/v2/MembersInvite.js +242 -0
  169. package/dist/v2/MembersInvite.js.map +1 -0
  170. package/dist/v2/Permissions.js +13 -0
  171. package/dist/v2/Permissions.js.map +1 -0
  172. package/dist/v2/Profile.js +656 -0
  173. package/dist/v2/Profile.js.map +1 -0
  174. package/dist/v2/Roles.js +1242 -0
  175. package/dist/v2/Roles.js.map +1 -0
  176. package/dist/v2/RolesRadioGroup.js +20 -0
  177. package/dist/v2/RolesRadioGroup.js.map +1 -0
  178. package/dist/v2/TeamMembers.js +937 -0
  179. package/dist/v2/TeamMembers.js.map +1 -0
  180. package/dist/v2/TeamsAndMembersDropdown.js +430 -0
  181. package/dist/v2/TeamsAndMembersDropdown.js.map +1 -0
  182. package/dist/v2/TeamsDropdown.js +106 -0
  183. package/dist/v2/TeamsDropdown.js.map +1 -0
  184. package/dist/v2/constants.js +21 -0
  185. package/dist/v2/constants.js.map +1 -0
  186. package/dist/v2/hooks.js +29 -0
  187. package/dist/v2/hooks.js.map +1 -0
  188. package/dist/v2/utils.js +30 -0
  189. package/dist/v2/utils.js.map +1 -0
  190. package/dist/withReactQuery-CSuiy5RK.js +20 -0
  191. package/dist/withReactQuery-CSuiy5RK.js.map +1 -0
  192. package/dist/withReactQuery-DvSkXhEx.js +26 -0
  193. package/dist/withReactQuery-DvSkXhEx.js.map +1 -0
  194. package/package.json +31 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TeamMembers.js","sources":["../../app/javascript/src/components/v2/hooks/useFilters.js","../../app/javascript/src/components/v2/hooks/useTeams.js","../../app/javascript/src/components/v2/TeamMembers/ActionBlock/constants.js","../../app/javascript/src/components/v2/TeamMembers/ActionBlock/Header.jsx","../../app/javascript/src/components/v2/TeamMembers/ActionBlock/utils.js","../../app/javascript/src/components/v2/TeamMembers/ActionBlock/RolesDropdown.jsx","../../app/javascript/src/components/v2/TeamMembers/ActionBlock/SubHeader.jsx","../../app/javascript/src/components/v2/TeamMembers/ExportPane/constants.js","../../app/javascript/src/components/v2/TeamMembers/ExportPane/index.jsx","../../app/javascript/src/components/v2/TeamMembers/Header.jsx","../../app/javascript/src/components/v2/TeamMembers/index.jsx"],"sourcesContent":["import { useMemo, useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport {\n useDebounce,\n useFuncDebounce,\n useQueryParams,\n} from \"neetocommons/react-utils\";\nimport { buildFiltersFromURL } from \"neetofilters\";\nimport { isNil, mergeLeft } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchFilterOptions } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_FILTER_VALUES } from \"../TeamMembers/constants\";\nimport {\n buildFilterColumns,\n defaultNeetoFiltersColumns,\n} from \"../TeamMembers/utils\";\n\nconst useFilters = ({ config }) => {\n const { t } = useTranslation();\n const { searchTerm = \"\" } = useQueryParams();\n const searchKeywordProps = {\n node: \"first_name,last_name,email\",\n value: searchTerm,\n key: \"search_term\",\n };\n\n const [emailSearchTerm, setEmailSearchTerm] = useState(\"\");\n const defaultNeetoFilters = buildFiltersFromURL([\n ...(config?.filterColumns ?? defaultNeetoFiltersColumns()),\n searchKeywordProps,\n ]);\n\n const [filters, setFilters] = useState({\n ...DEFAULT_FILTER_VALUES,\n ...config?.defaultFilterValues,\n neetoFilters: defaultNeetoFilters,\n });\n\n const resetPage = useFuncDebounce(() =>\n setFilters(mergeLeft({ page: DEFAULT_PAGE_INDEX }))\n );\n const debouncedEmailSearchTerm = useDebounce(emailSearchTerm, 750);\n\n const shouldFetchFilterOptions = isNil(config?.filterColumns);\n const { data: filterOptions = {}, isLoading: isFilterOptionsLoading } =\n useFetchFilterOptions({\n params: { emailSearchTerm: debouncedEmailSearchTerm },\n options: { enabled: shouldFetchFilterOptions },\n });\n\n const filterColumns = shouldFetchFilterOptions\n ? buildFilterColumns({\n options: filterOptions,\n emailConfig: {\n setSearchTerm: setEmailSearchTerm,\n isLoading: isFilterOptionsLoading,\n },\n })\n : config?.filterColumns;\n\n const searchProps = useMemo(\n () => ({\n \"data-testid\": \"ntm-search-members-input\",\n placeholder: t(\"neetoTeamMembers.common.search_\", {\n what: taxonomies.member.plural,\n }),\n onChange: resetPage,\n }),\n []\n );\n\n return {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n };\n};\n\nexport default useFilters;\n","import { useState } from \"react\";\n\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { assoc, mergeLeft, pluck } from \"ramda\";\nimport { useHistory } from \"react-router-dom\";\n\nimport {\n DEFAULT_IS_OPEN_VALUES,\n DEFAULT_SELECTED_ROWS,\n} from \"../TeamMembers/constants\";\nimport { handlePageChange } from \"../TeamMembers/utils\";\n\nconst useTeams = ({ config, filters, setFilters, updateMember }) => {\n const history = useHistory();\n const [selectedMember, setSelectedMember] = useState(null);\n const [isOpen, setIsOpen] = useState(DEFAULT_IS_OPEN_VALUES);\n const [selectedRows, setSelectedRows] = useState(DEFAULT_SELECTED_ROWS);\n\n const handleRemoveMember = () => {\n if (!selectedMember) return;\n\n const { id } = selectedMember;\n const payload = { active: false };\n updateMember({ id, payload });\n };\n\n const handleUpdateStatus = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"alert\", true));\n };\n\n const handleUpdateRole = user => {\n setSelectedMember(user);\n setIsOpen(assoc(\"manageMember\", true));\n };\n\n const handleAlertClose = () => {\n setIsOpen(assoc(\"alert\", false));\n setSelectedMember(null);\n };\n\n const handlePaneClose = () => {\n setIsOpen(assoc(\"manageMember\", false));\n setSelectedMember(null);\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleMemberFilterChange = () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n };\n\n const handleTableChange = (_, __, sorter) => {\n setFilters(mergeLeft({ sortBy: sorter.field, orderBy: sorter.order }));\n };\n\n const handleRowSelect = (keys, rowData) => {\n const rows = {\n active: pluck(\"active\", rowData),\n displayNames: pluck(\"displayName\", rowData),\n emails: pluck(\"email\", rowData),\n keys,\n };\n setSelectedRows({ ...rows });\n config?.table?.onRowSelect?.({ rows, resetSelectedRows, rowData });\n };\n\n return {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleTableChange,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n };\n};\n\nexport default useTeams;\n","import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/constants\";\n\nexport const FIXED_COLUMNS = [\"name\", \"actions\"];\n\nexport const MANAGE_ROLES_BUTTON_LABEL = t(\n \"neetoTeamMembers.labels.manageRole\",\n PLURAL\n);\n","import { memo } from \"react\";\n\nimport { Button, Tooltip } from \"@bigbinary/neeto-atoms\";\nimport { noop } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { MANAGE_ROLES_BUTTON_LABEL } from \"./constants\";\n\nconst Header = ({\n isCreatePermissionGranted,\n otherActionBlock,\n onClick = noop,\n rolesButtonProps,\n}) => {\n const { t } = useTranslation();\n\n const isRolesButtonVisible = !!rolesButtonProps;\n const isOtherActionBlockVisible = !!otherActionBlock;\n\n return (\n <>\n {isOtherActionBlockVisible && otherActionBlock()}\n {isRolesButtonVisible ? (\n <Button\n data-testid=\"ntm-manage-roles-button\"\n variant=\"outline\"\n {...rolesButtonProps}\n >\n {MANAGE_ROLES_BUTTON_LABEL}\n </Button>\n ) : null}\n <Tooltip\n content={\n !isCreatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToAddMember\")\n : null\n }\n >\n <span>\n <Button\n {...{ onClick }}\n data-testid=\"ntm-add-member-button\"\n disabled={!isCreatePermissionGranted}\n >\n {t(\"neetoTeamMembers.common.addNew_\", {\n what: taxonomies.member.singular,\n })}\n </Button>\n </span>\n </Tooltip>\n </>\n );\n};\n\nexport default memo(Header);\n","import { filter, includes, toLower, trim } from \"ramda\";\n\nexport const filterBySearchTerm = (searchTerm, roles) =>\n filter(\n ({ name }) => includes(trim(toLower(searchTerm)), trim(toLower(name))),\n roles\n );\n\nexport const getDeactivatedButtonVisible = (selectedRows, config) =>\n selectedRows.active.some(active => active === true) &&\n !config?.hiddenBulkActions?.includes(\"remove\");\n","import { useState } from \"react\";\n\nimport {\n DropdownMenu,\n Input,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport { isNotEmpty, hyphenate } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { filterBySearchTerm } from \"./utils\";\n\nconst RolesDropdown = ({\n disabled = false,\n hasUpdatePermission,\n isSearchable = false,\n roles = [],\n selectedMembersCount = 0,\n setAlertType,\n setBulkUpdateRole,\n}) => {\n const { t } = useTranslation();\n const [searchTerm, setSearchTerm] = useState(\"\");\n\n const filteredRoles = filterBySearchTerm(searchTerm, roles);\n const isUpdatingAllowed = hasUpdatePermission && !disabled;\n\n const handleSearch = ({ target: { value } }) => setSearchTerm(value);\n\n const handleSelectRole = role => {\n setBulkUpdateRole(role);\n setAlertType(\"role\");\n };\n\n return (\n <Tooltip\n content={\n !isUpdatingAllowed\n ? t(\"neetoTeamMembers.tooltips.activateUserToEdit\", {\n count: selectedMembersCount,\n })\n : null\n }\n >\n <span>\n <DropdownMenu.SubMenu\n contentProps={{ align: \"end\" }}\n label={t(\"neetoTeamMembers.buttons.changeRole\")}\n triggerProps={{ disabled: !isUpdatingAllowed }}\n >\n {isSearchable && (\n <div className=\"px-3 py-2\" onClick={e => e.stopPropagation()}>\n <div className=\"relative\">\n <Search className=\"absolute left-2 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n className=\"ps-8\"\n data-testid=\"ntm-members-roles-search-input\"\n type=\"search\"\n value={searchTerm}\n placeholder={t(\n \"neetoTeamMembers.placeholders.searchRole\",\n PLURAL\n )}\n onChange={handleSearch}\n />\n </div>\n </div>\n )}\n {isNotEmpty(filteredRoles) ? (\n filteredRoles.map(({ id, name }) => (\n <DropdownMenu.MenuItem key={id}>\n <DropdownMenu.MenuItem.Button\n data-testid={`change-role-${hyphenate(name)}-button`}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem.Button>\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography className=\"text-muted-foreground text-sm\">\n {t(\"neetoTeamMembers.helpers.noRolesFound\")}\n </Typography>\n </div>\n )}\n </DropdownMenu.SubMenu>\n </span>\n </Tooltip>\n );\n};\n\nexport default RolesDropdown;\n","import { useState } from \"react\";\n\nimport {\n Alert,\n DropdownMenu,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { findBy, isNotEmpty } from \"neetocist\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\nimport { TABLE_KEYS } from \"../../constants\";\nimport { DEFAULT_SELECTED_ROWS } from \"../constants\";\n\nconst Left = ({\n config,\n filteredCount,\n resetToFirstPage,\n roles,\n selectedRows,\n setSelectedRows,\n selectedRowsCount,\n bulkParams,\n}) => {\n const { t } = useTranslation();\n\n const isUpdatePermissionGranted = config.permissions.update;\n\n const [alertType, setAlertType] = useState(\"\");\n const [bulkUpdateRole, setBulkUpdateRole] = useState(\"\");\n const hasSelectedRows = isNotEmpty(selectedRows?.keys);\n\n const selectedMembersCountValues = {\n count:\n (selectedRowsCount || selectedRows?.keys?.length || filteredCount) ?? 0,\n metaName:\n hasSelectedRows && selectedRows?.keys.length > 1\n ? taxonomies.member.plural\n : taxonomies.member.singular,\n totalCount: filteredCount ?? 0,\n };\n\n const hasDeactivateMembers = selectedRows?.active?.some(active => !active);\n\n const { mutate: bulkUpdateMember } = useBulkUpdateMembers({\n onSuccess: () => {\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n resetToFirstPage();\n config?.bulkUpdateMembers?.onSuccess?.callback();\n },\n });\n\n const handleDeactivateMembers = () => {\n bulkUpdateMember({\n users: { active: false, emails: selectedRows?.emails },\n filterParams: bulkParams,\n });\n };\n\n const resetSelectedRows = () => setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n const handleRoleChange = role => {\n bulkUpdateMember({\n users: {\n active: true,\n emails: selectedRows?.emails,\n organization_role: role,\n },\n filterParams: bulkParams,\n });\n };\n\n const alertTypes = [\n {\n message: \"neetoTeamMembers.alerts.messages.removeMember\",\n onSubmit: handleDeactivateMembers,\n title: t(\"neetoTeamMembers.common.remove_\", {\n what: selectedMembersCountValues?.metaName,\n }),\n type: \"remove\",\n },\n {\n message: \"neetoTeamMembers.alerts.messages.changeRole\",\n onSubmit: handleRoleChange,\n title: t(\"neetoTeamMembers.common.changeRole\"),\n type: \"role\",\n },\n ];\n\n const selectedAlert = findBy({ type: alertType }, alertTypes);\n\n const handleAlertClose = () => {\n selectedAlert.onSubmit(bulkUpdateRole);\n setAlertType(\"\");\n };\n\n const getButtonLabel = type => {\n if (type === \"role\") {\n return t(\"neetoTeamMembers.buttons.changeRole\");\n }\n\n return t(\"neetoTeamMembers.buttons.remove\");\n };\n\n return (\n <div className=\"flex items-center gap-4\">\n <Typography data-testid=\"ntm-filtered-members-count\">\n <Trans\n components={{ span: <span className=\"text-muted-foreground\" /> }}\n values={selectedMembersCountValues}\n i18nKey={\n hasSelectedRows\n ? \"neetoTeamMembers.helpers.selectedMembersCount\"\n : \"neetoTeamMembers.helpers.metaNameWithCount\"\n }\n />\n </Typography>\n {hasSelectedRows && (\n <Tooltip\n content={\n !isUpdatePermissionGranted\n ? t(\"neetoTeamMembers.tooltips.noPermissionToEditMembers\")\n : null\n }\n >\n <span>\n <DropdownMenu\n buttonStyle=\"tertiary\"\n disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n \"data-testid\": \"ntm-members-take-action-dropdown-button\",\n }}\n >\n {!config?.hiddenBulkActions?.includes(\"role\") && (\n <RolesDropdown\n {...{ roles, setAlertType, setBulkUpdateRole }}\n disabled={hasDeactivateMembers}\n hasUpdatePermission={isUpdatePermissionGranted}\n selectedMembersCount={selectedMembersCountValues?.count}\n />\n )}\n {config?.otherBulkActions?.(resetSelectedRows, selectedRows)}\n {getDeactivatedButtonVisible(selectedRows, config) && (\n <DropdownMenu.MenuItem>\n <DropdownMenu.MenuItem.Button\n data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\n </DropdownMenu.MenuItem.Button>\n </DropdownMenu.MenuItem>\n )}\n </DropdownMenu>\n </span>\n </Tooltip>\n )}\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={!!selectedAlert}\n submitButtonLabel={getButtonLabel(selectedAlert?.type)}\n title={selectedAlert?.title}\n message={\n <Trans\n i18nKey={selectedAlert?.message}\n values={{\n ...selectedMembersCountValues,\n person: selectedRows.displayNames[0],\n role: bulkUpdateRole,\n }}\n />\n }\n onClose={() => setAlertType(\"\")}\n onSubmit={handleAlertClose}\n />\n </div>\n );\n};\n\nconst Right = withT(\n ({\n t,\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }) => (\n <SubHeaderMolecule.RightBlock\n columnsButtonProps={{\n columnData: columns,\n fixedColumns: FIXED_COLUMNS,\n tableKey: TABLE_KEYS.TEAM_MEMBERS_TABLE,\n noColumnMessage: t(\"neetoTeamMembers.columns.noColumnsFound\"),\n searchProps: { placeholder: t(\"neetoTeamMembers.columns.search\") },\n }}\n downloadButtonProps={{\n isVisible: true,\n tooltipProps: { content: t(\"neetoTeamMembers.buttons.export\") },\n onClick: () => setIsDownloadPaneOpen(true),\n }}\n filterProps={{\n columns: filterColumns,\n isOpen: isFiltersPaneOpen,\n setIsOpen: setIsFiltersPaneOpen,\n onChange: handleNeetoFilterChange,\n keyword: searchKeywordProps,\n }}\n />\n )\n);\n\nconst SubHeader = { Left, Right };\n\nexport default SubHeader;\n","import { t } from \"i18next\";\n\nconst EXPORT_TYPES = { PDF: \"pdf\", CSV: \"csv\", EXCEL: \"xlsx\" };\n\nexport const DEFAULT_EXPORT_OPTIONS = {\n exportType: EXPORT_TYPES.EXCEL,\n};\n\nexport const EXPORT_OPTIONS = [\n {\n type: EXPORT_TYPES.EXCEL,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.xlsx\"),\n }),\n dataTestid: \"download-as-excel-radio-item\",\n },\n {\n type: EXPORT_TYPES.CSV,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.csv\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.csv\"),\n }),\n dataTestid: \"download-as-csv-radio-item\",\n },\n {\n type: EXPORT_TYPES.PDF,\n individualExportLabel: t(\"neetoTeamMembers.labels.exports.pdf\"),\n bulkExportLabel: t(\"neetoTeamMembers.labels.exportAs\", {\n format: t(\"neetoTeamMembers.labels.exports.pdf\"),\n }),\n dataTestid: \"download-as-pdf-radio-item\",\n },\n];\n","import { useState } from \"react\";\n\nimport { Button, RadioGroup, Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"v2/hooks/teams/useTeamsApi\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } from \"./constants\";\n\nimport { EVENTS } from \"../../constants\";\n\nconst ExportPane = ({\n isOpen,\n onClose,\n appliedFilters,\n hasBulkSelectedAllRows,\n selectedMemberIds,\n selectedRowsCount,\n}) => {\n const [exportOptions, setExportOptions] = useState(DEFAULT_EXPORT_OPTIONS);\n\n const { t } = useTranslation();\n\n const setExportOption = options => setExportOptions(mergeLeft(options));\n\n const { exportType } = exportOptions;\n\n const getParams = () => ({\n ...exportOptions,\n filters: appliedFilters || undefined,\n considerAllMembers: hasBulkSelectedAllRows,\n memberIds: hasBulkSelectedAllRows ? undefined : selectedMemberIds,\n });\n\n const { mutate: exportMembers } = useExportMembers({\n onSuccess: () => {\n onClose();\n setExportOptions(DEFAULT_EXPORT_OPTIONS);\n\n toast.success(\n <Trans\n i18nKey=\"toastr.success.exportMembers\"\n values={{ email: globalProps.user?.email }}\n />\n );\n\n captureAnalyticsEvent(EVENTS.TEAM_MEMBERS_DOWNLOADED, {\n ...exportOptions,\n });\n },\n onError: error => toast.error(error.message),\n });\n\n const description =\n isNotEmpty(selectedMemberIds) || hasBulkSelectedAllRows\n ? t(\"neetoTeamMembers.exportPane.description.selectedMembers\", {\n count: selectedRowsCount,\n })\n : t(\"neetoTeamMembers.exportPane.description.allMembers\");\n\n return (\n <Sheet {...{ isOpen, onClose }}>\n <Sheet.Header>\n <Sheet.Title data-testid=\"export-member-heading\">\n {t(\"neetoTeamMembers.exportPane.title\")}\n </Sheet.Title>\n </Sheet.Header>\n <Sheet.Body>\n <div className=\"space-y-4\">\n <Typography className=\"text-sm\">{description}</Typography>\n <RadioGroup\n value={exportType}\n onValueChange={type => setExportOption({ exportType: type })}\n >\n {EXPORT_OPTIONS.map(({ type, bulkExportLabel, dataTestid }) => (\n <RadioGroup.Item\n data-testid={dataTestid}\n id={type}\n key={type}\n label={bulkExportLabel}\n value={type}\n />\n ))}\n </RadioGroup>\n </div>\n </Sheet.Body>\n <Sheet.Footer className=\"gap-x-2\">\n <Button\n data-testid=\"export-submit-button\"\n onClick={() => exportMembers({ export: getParams() })}\n >\n {t(\"neetoTeamMembers.buttons.export\")}\n </Button>\n <Button\n data-testid=\"export-cancel-button\"\n variant=\"ghost\"\n onClick={onClose}\n >\n {t(\"neetoTeamMembers.buttons.cancel\")}\n </Button>\n </Sheet.Footer>\n </Sheet>\n );\n};\n\nexport default ExportPane;\n","import { memo } from \"react\";\n\nimport { taxonomies } from \"neetocommons/initializers\";\nimport NeetoHeader from \"neetomolecules/v2/Header\";\nimport { assoc } from \"ramda\";\n\nimport { Header as HeaderActionBlock } from \"./ActionBlock\";\n\nconst Header = ({ config, setIsOpen, searchProps }) => (\n <NeetoHeader\n {...{ searchProps }}\n title={taxonomies.member.plural}\n actionBlock={\n <HeaderActionBlock\n isCreatePermissionGranted={config.permissions.create}\n otherActionBlock={config.header?.otherActionBlock}\n rolesButtonProps={config.rolesButtonProps}\n onClick={() => setIsOpen(assoc(\"manageMember\", true))}\n />\n }\n {...config?.header?.otherProps}\n />\n);\n\nexport default memo(Header);\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport {\n Alert,\n Button,\n Empty,\n Spinner,\n DataTable,\n} from \"@bigbinary/neeto-atoms\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { taxonomies } from \"neetocommons/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Bar as FiltersBar } from \"neetofilters\";\nimport { useTableConfigurations } from \"neetomolecules/v2/Columns\";\nimport Container from \"neetomolecules/v2/Container\";\nimport SubHeader from \"neetomolecules/v2/SubHeader\";\nimport { assoc, mergeLeft, reverse } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\n\nimport withReactQuery from \"v2/common/withReactQuery\";\nimport { useFetchRoles } from \"v2/hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"v2/hooks/teams/useTeamsApi\";\nimport useFilters from \"v2/hooks/useFilters\";\nimport useTeams from \"v2/hooks/useTeams\";\n\nimport { SubHeader as SubHeaderActionBlock } from \"./ActionBlock\";\nimport { DEFAULT_RADIX, DEFAULT_SELECTED_ROWS } from \"./constants\";\nimport ExportPane from \"./ExportPane\";\nimport Header from \"./Header\";\nimport ManageMember from \"./ManageMember\";\nimport {\n generateNoDataContent,\n getColumnData,\n getFilteredRoles,\n handlePageChange,\n renderUpdateAlert,\n} from \"./utils\";\n\nimport { TABLE_KEYS } from \"../constants\";\n\nconst TeamMembers = ({ config }) => {\n const { t } = useTranslation();\n const history = useHistory();\n const { isSize } = useBreakpoints();\n const queryParams = useQueryParams();\n\n const isViewPermissionGranted = config.permissions.view;\n const isCreatePermissionGranted = config.permissions.create;\n\n const [isFiltersPaneOpen, setIsFiltersPaneOpen] = useState(false);\n const [isDownloadPaneOpen, setIsDownloadPaneOpen] = useState(false);\n const [hasBulkSelectedAllRows, setHasBulkSelectedAllRows] = useState(false);\n\n useEffect(() => {\n handleMemberFilterChange();\n }, []);\n\n const {\n filters,\n setFilters,\n filterColumns,\n searchProps,\n searchKeywordProps,\n } = useFilters({ config });\n\n const {\n data: team,\n isLoading: isMembersLoading,\n isFetching: isMembersFetching,\n } = useFetchMembers({ ...filters }, { enabled: isViewPermissionGranted });\n\n const bulkParams = {\n neetoFilters: filters[\"neetoFilters\"],\n considerAllTeamMembers: hasBulkSelectedAllRows,\n };\n\n const { data: roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response?.organizationRoles ?? []),\n enabled: isViewPermissionGranted,\n });\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleAlertClose();\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n );\n config?.updateMember?.onSuccess?.callback();\n },\n }\n );\n\n const filteredRoles = getFilteredRoles(roles, config);\n\n const {\n handleAlertClose,\n handleMemberFilterChange,\n handlePaneClose,\n handleRowSelect,\n handleRemoveMember,\n handleUpdateRole,\n handleUpdateStatus,\n isOpen,\n selectedMember,\n selectedRows,\n setIsOpen,\n setSelectedRows,\n } = useTeams({ config, filters, setFilters, updateMember });\n\n const selectedRowsCount = hasBulkSelectedAllRows\n ? team?.membersCount\n : selectedRows.keys.length;\n\n config?.fetchApiResponse?.({ team });\n\n const hasMembers = team?.activeUsersCount > 0;\n\n const updateMemberAlertProps = { member: selectedMember, config };\n\n config?.table?.onDropdownClick?.({ handleUpdateRole, handleUpdateStatus });\n\n const columns = useMemo(\n () =>\n getColumnData({\n config,\n handleUpdateRole,\n handleUpdateStatus,\n isSize,\n }),\n [config.table?.dropdownProps] // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const { isTableConfigurationLoading, customizedColumns, hideColumn } =\n useTableConfigurations(TABLE_KEYS.TEAM_MEMBERS_TABLE, columns);\n\n const handleNeetoFilterChange = filters => {\n setFilters(mergeLeft({ neetoFilters: filters, page: DEFAULT_PAGE_INDEX }));\n setSelectedRows(DEFAULT_SELECTED_ROWS);\n\n history.push(\n buildUrl(\n window.location.pathname,\n mergeLeft({ page: DEFAULT_PAGE_INDEX }, queryParams)\n )\n );\n };\n\n const { noDataTitle, noDataButtonProps } = generateNoDataContent({\n buttonProps: {\n onClick: () => setIsOpen(assoc(\"manageMember\", true)),\n disabled: !isCreatePermissionGranted,\n },\n });\n\n if (isRolesLoading || isMembersLoading) {\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 <Container>\n <Header\n {...{ config, setIsOpen }}\n searchProps={hasMembers ? searchProps : null}\n />\n <SubHeader\n className=\"mb-4\"\n leftActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Left\n {...{\n bulkParams,\n config,\n selectedRows,\n selectedRowsCount,\n setSelectedRows,\n }}\n filteredCount={team?.membersCount}\n roles={filteredRoles}\n resetToFirstPage={() =>\n handlePageChange(setFilters, history)(\n DEFAULT_PAGE_INDEX,\n filters.pageSize ?? DEFAULT_PAGE_SIZE\n )\n }\n />\n )\n }\n rightActionBlock={\n hasMembers && (\n <SubHeaderActionBlock.Right\n {...{\n columns,\n filterColumns,\n handleNeetoFilterChange,\n isFiltersPaneOpen,\n searchKeywordProps,\n setIsDownloadPaneOpen,\n setIsFiltersPaneOpen,\n }}\n />\n )\n }\n />\n <FiltersBar\n className=\"mb-4\"\n columns={filterColumns}\n keyword={searchKeywordProps}\n setIsPaneOpen={setIsFiltersPaneOpen}\n onChange={handleNeetoFilterChange}\n />\n <ExportPane\n {...{ hasBulkSelectedAllRows, selectedRowsCount }}\n appliedFilters={filters}\n isOpen={isDownloadPaneOpen}\n selectedMemberIds={selectedRows.keys}\n onClose={() => setIsDownloadPaneOpen(false)}\n />\n {team?.membersCount !== 0 ? (\n <DataTable\n fixedHeight\n allowRowClick={false}\n columns={customizedColumns}\n currentPage={parseInt(filters.page, DEFAULT_RADIX)}\n data={team?.members || []}\n data-testid=\"ntm-members-table\"\n loading={isMembersFetching || isTableConfigurationLoading}\n pageSize={filters.pageSize ?? DEFAULT_PAGE_SIZE}\n selectedRowKeys={selectedRows.keys}\n totalCount={team?.membersCount}\n bulkSelectAllRowsProps={{\n selectAllRowMessage: t(\n \"neetoTeamMembers.helpers.selectedMembers\",\n { count: selectedRowsCount }\n ),\n selectAllRowButtonLabel: t(\"neetoTeamMembers.helpers.selectAll\", {\n count: team?.membersCount,\n }),\n setBulkSelectedAllRows: setHasBulkSelectedAllRows,\n }}\n onColumnHide={({ key }) => hideColumn(key)}\n onPageChange={handlePageChange(setFilters, history)}\n onRowSelect={handleRowSelect}\n />\n ) : (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Empty title={noDataTitle}>\n <Button\n data-testid={noDataButtonProps[\"data-testid\"]}\n disabled={noDataButtonProps.disabled}\n onClick={noDataButtonProps.onClick}\n >\n {noDataButtonProps.label}\n </Button>\n </Empty>\n </div>\n )}\n </Container>\n <ManageMember\n {...{ config, selectedMember }}\n componentConfig={{ isOpen: isOpen.manageMember }}\n roles={filteredRoles}\n onComplete={handlePaneClose}\n />\n <Alert\n cancelButtonLabel={t(\"neetoTeamMembers.buttons.cancel\")}\n isOpen={isOpen.alert}\n isSubmitting={isUpdatingMember}\n message={renderUpdateAlert(\"message\", updateMemberAlertProps)}\n submitButtonLabel={t(\"neetoTeamMembers.buttons.remove\")}\n title={renderUpdateAlert(\"title\", updateMemberAlertProps)}\n onClose={handleAlertClose}\n onSubmit={handleRemoveMember}\n />\n </>\n );\n};\n\nexport default withTitle(withReactQuery(TeamMembers), taxonomies.member.plural);\n"],"names":["useFilters","_ref","_config$filterColumns","config","_useTranslation","useTranslation","t","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","searchKeywordProps","node","value","key","_useState","useState","_useState2","_slicedToArray","emailSearchTerm","setEmailSearchTerm","defaultNeetoFilters","buildFiltersFromURL","concat","_toConsumableArray","filterColumns","defaultNeetoFiltersColumns","_useState3","_objectSpread","DEFAULT_FILTER_VALUES","defaultFilterValues","neetoFilters","_useState4","filters","setFilters","resetPage","useFuncDebounce","mergeLeft","page","DEFAULT_PAGE_INDEX","debouncedEmailSearchTerm","useDebounce","shouldFetchFilterOptions","isNil","_useFetchFilterOption","useFetchFilterOptions","params","options","enabled","_useFetchFilterOption2","data","filterOptions","isFilterOptionsLoading","isLoading","buildFilterColumns","emailConfig","setSearchTerm","searchProps","useMemo","placeholder","what","taxonomies","member","plural","onChange","useTeams","updateMember","history","useHistory","selectedMember","setSelectedMember","DEFAULT_IS_OPEN_VALUES","isOpen","setIsOpen","_useState5","DEFAULT_SELECTED_ROWS","_useState6","selectedRows","setSelectedRows","handleRemoveMember","id","payload","active","handleUpdateStatus","user","assoc","handleUpdateRole","handleAlertClose","handlePaneClose","resetSelectedRows","handleMemberFilterChange","_filters$pageSize","handlePageChange","pageSize","DEFAULT_PAGE_SIZE","handleTableChange","_","__","sorter","sortBy","field","orderBy","order","handleRowSelect","keys","rowData","_config$table","_config$table$onRowSe","rows","pluck","displayNames","emails","table","onRowSelect","call","FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","PLURAL","Header","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","variant","Tooltip","content","disabled","singular","memo","filterBySearchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","_config$hiddenBulkAct","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","isNotEmpty","map","_ref3","MenuItem","hyphenate","Typography","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","bulkUpdateRole","hasSelectedRows","selectedMembersCountValues","length","metaName","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","filterParams","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","getButtonLabel","Trans","components","span","values","i18nKey","buttonStyle","buttonProps","otherBulkActions","isDisabled","Alert","cancelButtonLabel","submitButtonLabel","person","onClose","Right","withT","columns","handleNeetoFilterChange","isFiltersPaneOpen","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","downloadButtonProps","isVisible","tooltipProps","filterProps","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","getParams","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","Title","Body","RadioGroup","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","otherProps","TeamMembers","_config$fetchApiRespo","_config$table$onDropd","_config$table2","_filters$pageSize3","_useBreakpoints","useBreakpoints","isSize","queryParams","isViewPermissionGranted","view","isDownloadPaneOpen","setHasBulkSelectedAllRows","useEffect","_useFilters","_useFetchMembers","useFetchMembers","team","isMembersLoading","isMembersFetching","isFetching","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_config$updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","onDropdownClick","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","DataTable","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","onPageChange","Empty","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
@@ -0,0 +1,430 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import { useState, useEffect, useMemo, memo } from 'react';
3
+ import { Typography, Input, Button as Button$1, Tooltip, DropdownMenu } from '@bigbinary/neeto-atoms';
4
+ import { filter, prop } from 'ramda';
5
+ import { isNotEmpty, noop } from '@bigbinary/neeto-cist';
6
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
7
+ import { useTranslation } from 'react-i18next';
8
+ import classnames from 'classnames';
9
+ import { withT } from '@bigbinary/neeto-commons-frontend/react-utils';
10
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
11
+ import { XCircle, ChevronDown } from 'lucide-react';
12
+
13
+ var TABS = {
14
+ TEAMS_TAB: "teams",
15
+ MEMBERS_TAB: "members"
16
+ };
17
+
18
+ var SelectMember = withT(function (_ref) {
19
+ var t = _ref.t,
20
+ members = _ref.members,
21
+ setMember = _ref.setMember,
22
+ selectedMember = _ref.selectedMember,
23
+ loadingMember = _ref.loadingMember;
24
+ return /*#__PURE__*/jsx(Fragment, {
25
+ children: isNotEmpty(members) ? members === null || members === void 0 ? void 0 : members.map(function (member) {
26
+ return /*#__PURE__*/jsx("li", {
27
+ "data-testid": "agent-options",
28
+ className: classnames({
29
+ active: selectedMember && selectedMember.value === member.value,
30
+ loading: loadingMember && loadingMember === member.value
31
+ }),
32
+ onClick: function onClick(event) {
33
+ event.preventDefault();
34
+ if (!loadingMember) {
35
+ setMember(member);
36
+ }
37
+ },
38
+ children: /*#__PURE__*/jsx("span", {
39
+ className: "truncate",
40
+ children: member.label
41
+ })
42
+ }, member.value);
43
+ }) : /*#__PURE__*/jsx("li", {
44
+ className: "flex justify-center",
45
+ children: /*#__PURE__*/jsx(Typography, {
46
+ className: "px-3",
47
+ children: t("neetoTeamMembers.helpers.noRecords")
48
+ })
49
+ })
50
+ });
51
+ });
52
+
53
+ var SelectTeam = function SelectTeam(_ref) {
54
+ var teams = _ref.teams,
55
+ setTeam = _ref.setTeam,
56
+ selectedTeam = _ref.selectedTeam,
57
+ loadingTeam = _ref.loadingTeam;
58
+ return /*#__PURE__*/jsx(Fragment, {
59
+ children: teams === null || teams === void 0 ? void 0 : teams.map(function (group) {
60
+ return /*#__PURE__*/jsx("li", {
61
+ "data-testid": "group-options",
62
+ className: classnames({
63
+ active: selectedTeam && selectedTeam.value === group.value,
64
+ loading: loadingTeam && loadingTeam === group.value
65
+ }),
66
+ onClick: function onClick(event) {
67
+ event.preventDefault();
68
+ if (!loadingTeam) {
69
+ setTeam(group);
70
+ }
71
+ },
72
+ children: group.label
73
+ }, group.value);
74
+ })
75
+ });
76
+ };
77
+
78
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
79
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
80
+ var TabBody = function TabBody(_ref) {
81
+ var selectedTab = _ref.selectedTab,
82
+ teams = _ref.teams,
83
+ teamTitle = _ref.teamTitle,
84
+ members = _ref.members,
85
+ setMember = _ref.setMember,
86
+ setTeam = _ref.setTeam,
87
+ selectedMember = _ref.selectedMember,
88
+ selectedTeam = _ref.selectedTeam,
89
+ loading = _ref.loading,
90
+ memberTitle = _ref.memberTitle,
91
+ showTeams = _ref.showTeams;
92
+ var _useState = useState(""),
93
+ _useState2 = _slicedToArray(_useState, 2),
94
+ memberString = _useState2[0],
95
+ setMemberString = _useState2[1];
96
+ var _useState3 = useState(""),
97
+ _useState4 = _slicedToArray(_useState3, 2),
98
+ teamString = _useState4[0],
99
+ setTeamString = _useState4[1];
100
+ var _useTranslation = useTranslation(),
101
+ t = _useTranslation.t;
102
+ useEffect(function () {
103
+ setMemberString("");
104
+ }, [selectedMember]);
105
+ useEffect(function () {
106
+ setTeamString("");
107
+ }, [selectedTeam]);
108
+ var filteredMembers = useMemo(function () {
109
+ return members === null || members === void 0 ? void 0 : members.filter(function (member) {
110
+ var _member$label;
111
+ return ((_member$label = member.label) === null || _member$label === void 0 ? void 0 : _member$label.toLowerCase().indexOf(memberString.toLowerCase())) > -1;
112
+ });
113
+ }, [members, memberString]);
114
+ var filteredTeams = useMemo(function () {
115
+ return teams === null || teams === void 0 ? void 0 : teams.filter(function (team) {
116
+ var _team$label;
117
+ return ((_team$label = team.label) === null || _team$label === void 0 ? void 0 : _team$label.toLowerCase().indexOf(teamString.toLowerCase())) > -1;
118
+ });
119
+ }, [teams, teamString]);
120
+ var teamInputProps = {
121
+ value: teamString,
122
+ placeholder: t("neetoTeamMembers.placeholders.searchEntity", {
123
+ entity: teamTitle
124
+ }),
125
+ onChange: function onChange(event) {
126
+ return setTeamString(event.target.value.trimStart());
127
+ }
128
+ };
129
+ var memberInputProps = {
130
+ value: memberString,
131
+ placeholder: t("neetoTeamMembers.placeholders.searchEntity", {
132
+ entity: memberTitle
133
+ }),
134
+ onChange: function onChange(event) {
135
+ return setMemberString(event.target.value.trimStart());
136
+ }
137
+ };
138
+ var isTeamTab = useMemo(function () {
139
+ return selectedTab === TABS.TEAMS_TAB && showTeams;
140
+ }, [selectedTab]);
141
+ var inputProps = isTeamTab ? teamInputProps : memberInputProps;
142
+ return /*#__PURE__*/jsxs(Fragment, {
143
+ children: [/*#__PURE__*/jsx("div", {
144
+ className: "px-4 py-2",
145
+ children: /*#__PURE__*/jsx(Input, _objectSpread({}, inputProps))
146
+ }), /*#__PURE__*/jsx("div", {
147
+ className: "max-h-56 w-72 overflow-y-auto",
148
+ children: isTeamTab ? /*#__PURE__*/jsx(SelectTeam, {
149
+ selectedTeam: selectedTeam,
150
+ setTeam: setTeam,
151
+ loadingTeam: loading.team,
152
+ teams: filteredTeams
153
+ }) : /*#__PURE__*/jsx(SelectMember, {
154
+ selectedMember: selectedMember,
155
+ setMember: setMember,
156
+ loadingMember: loading.member,
157
+ members: filteredMembers
158
+ })
159
+ })]
160
+ });
161
+ };
162
+
163
+ var Tab = withT(function (_ref) {
164
+ var t = _ref.t,
165
+ title = _ref.title,
166
+ value = _ref.value,
167
+ onClick = _ref.onClick,
168
+ active = _ref.active,
169
+ removeValue = _ref.removeValue,
170
+ loading = _ref.loading;
171
+ return /*#__PURE__*/jsx("div", {
172
+ className: "w-1/2 cursor-pointer",
173
+ children: /*#__PURE__*/jsxs("div", {
174
+ onClick: onClick,
175
+ className: classnames(["text-muted-foreground border-b-2 px-4 py-4"], {
176
+ "text-foreground border-primary bg-background": active
177
+ }),
178
+ children: [/*#__PURE__*/jsx("div", {
179
+ className: "mb-1.5 text-xs font-semibold uppercase tracking-wide text-foreground",
180
+ "data-testid": "select-group-or-agent",
181
+ children: title
182
+ }), /*#__PURE__*/jsxs("div", {
183
+ className: "flex flex-row items-center justify-start text-sm font-normal text-muted-foreground",
184
+ "data-testid": "ticket-table-assignee-or-group",
185
+ children: [loading && /*#__PURE__*/jsx("span", {
186
+ className: "bp3-skeleton flex justify-center",
187
+ children: t("neetoTeamMembers.common.loading")
188
+ }), !loading && (value ? /*#__PURE__*/jsxs(Fragment, {
189
+ children: [/*#__PURE__*/jsx(Button$1, {
190
+ className: "shrink-0 text-destructive",
191
+ size: "icon-xs",
192
+ variant: "ghost",
193
+ onClick: removeValue,
194
+ children: /*#__PURE__*/jsx(XCircle, {
195
+ size: 16
196
+ })
197
+ }), /*#__PURE__*/jsx("span", {
198
+ className: "ms-1 truncate font-medium text-foreground",
199
+ children: value
200
+ })]
201
+ }) : /*#__PURE__*/jsx("span", {
202
+ className: "py-1.5 text-muted-foreground",
203
+ children: "--"
204
+ }))]
205
+ })]
206
+ })
207
+ });
208
+ });
209
+ var TabHeader = function TabHeader(_ref2) {
210
+ var selectedTab = _ref2.selectedTab,
211
+ setSelectedTab = _ref2.setSelectedTab,
212
+ selectedMember = _ref2.selectedMember,
213
+ selectedTeam = _ref2.selectedTeam,
214
+ onClearMember = _ref2.onClearMember,
215
+ onClearTeam = _ref2.onClearTeam,
216
+ loading = _ref2.loading,
217
+ showTeams = _ref2.showTeams,
218
+ teamTitle = _ref2.teamTitle,
219
+ memberTitle = _ref2.memberTitle;
220
+ var teamTab = selectedTab === TABS.TEAMS_TAB;
221
+ var memberTab = selectedTab === TABS.MEMBERS_TAB;
222
+ return /*#__PURE__*/jsxs("div", {
223
+ className: "-mt-2 flex w-72 flex-row items-center justify-start bg-muted",
224
+ children: [showTeams && /*#__PURE__*/jsx(Tab, {
225
+ active: teamTab,
226
+ loading: !!loading.team,
227
+ removeValue: onClearTeam,
228
+ title: teamTitle,
229
+ value: selectedTeam !== null && selectedTeam !== void 0 && selectedTeam.value ? selectedTeam.label : null,
230
+ onClick: function onClick() {
231
+ return setSelectedTab(TABS.TEAMS_TAB);
232
+ }
233
+ }), /*#__PURE__*/jsx(Tab, {
234
+ active: memberTab,
235
+ loading: !!loading.member,
236
+ removeValue: onClearMember,
237
+ title: memberTitle,
238
+ value: selectedMember !== null && selectedMember !== void 0 && selectedMember.value ? selectedMember.label : null,
239
+ onClick: function onClick() {
240
+ return setSelectedTab(TABS.MEMBERS_TAB);
241
+ }
242
+ })]
243
+ });
244
+ };
245
+
246
+ var DropDownContent = function DropDownContent(_ref) {
247
+ var selectedMember = _ref.selectedMember,
248
+ selectedTeam = _ref.selectedTeam,
249
+ setSelectedTeam = _ref.setSelectedTeam,
250
+ setSelectedMember = _ref.setSelectedMember,
251
+ members = _ref.members,
252
+ teams = _ref.teams,
253
+ filterMembersBy = _ref.filterMembersBy,
254
+ loading = _ref.loading,
255
+ teamTitle = _ref.teamTitle,
256
+ memberTitle = _ref.memberTitle;
257
+ var _useState = useState(TABS.TEAMS_TAB),
258
+ _useState2 = _slicedToArray(_useState, 2),
259
+ selectedTab = _useState2[0],
260
+ setSelectedTab = _useState2[1];
261
+ var showTeams = useMemo(function () {
262
+ return isNotEmpty(teams);
263
+ }, [teams]);
264
+ var handleSelectTeam = function handleSelectTeam(team) {
265
+ setSelectedTeam(team);
266
+ setSelectedTab(TABS.MEMBERS_TAB);
267
+ };
268
+ var handleSelectMember = function handleSelectMember(member) {
269
+ setSelectedMember(member);
270
+ };
271
+ var filterMembers = function filterMembers(members) {
272
+ if (filterMembersBy === null) {
273
+ return members;
274
+ }
275
+ return filter(prop(filterMembersBy), members);
276
+ };
277
+ return /*#__PURE__*/jsxs(Fragment, {
278
+ children: [/*#__PURE__*/jsx(TabHeader, {
279
+ loading: loading,
280
+ memberTitle: memberTitle,
281
+ selectedMember: selectedMember,
282
+ selectedTab: selectedTab,
283
+ selectedTeam: selectedTeam,
284
+ setSelectedTab: setSelectedTab,
285
+ showTeams: showTeams,
286
+ teamTitle: teamTitle,
287
+ onClearMember: function onClearMember() {
288
+ return setSelectedMember({
289
+ id: null
290
+ });
291
+ },
292
+ onClearTeam: function onClearTeam() {
293
+ return setSelectedTeam({
294
+ id: null
295
+ });
296
+ }
297
+ }), /*#__PURE__*/jsx(TabBody, {
298
+ loading: loading,
299
+ memberTitle: memberTitle,
300
+ selectedMember: selectedMember,
301
+ selectedTab: selectedTab,
302
+ selectedTeam: selectedTeam,
303
+ showTeams: showTeams,
304
+ teamTitle: teamTitle,
305
+ teams: teams,
306
+ setMember: handleSelectMember,
307
+ setTeam: handleSelectTeam,
308
+ members: selectedTeam !== null && selectedTeam !== void 0 && selectedTeam.members ? filterMembers(selectedTeam.members) : members
309
+ })]
310
+ });
311
+ };
312
+
313
+ var Button = function Button(_ref) {
314
+ var label = _ref.label,
315
+ _ref$disabled = _ref.disabled,
316
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
317
+ _ref$handleClick = _ref.handleClick,
318
+ handleClick = _ref$handleClick === void 0 ? noop : _ref$handleClick;
319
+ return /*#__PURE__*/jsx("button", {
320
+ className: "w-full text-start",
321
+ onClick: handleClick,
322
+ children: /*#__PURE__*/jsxs("a", {
323
+ className: classnames([{
324
+ "cursor-not-allowed opacity-50": disabled
325
+ }, "neeto-ui-btn neeto-ui-btn--style-text neeto-ui-btn--width-full neeto-ui-btn--size-medium justify-start"]),
326
+ children: [/*#__PURE__*/jsx("span", {
327
+ className: "neeto-ui-btn__label overflow-hidden text-ellipsis whitespace-nowrap",
328
+ style: {
329
+ width: label !== "--" ? "calc(100% - 24px)" : "15%"
330
+ },
331
+ children: label
332
+ }), /*#__PURE__*/jsx(ChevronDown, {
333
+ className: "neeto-ui-btn__icon",
334
+ size: 16
335
+ })]
336
+ })
337
+ });
338
+ };
339
+
340
+ var Target$1 = function Target(_ref) {
341
+ var isOpen = _ref.isOpen,
342
+ setIsOpen = _ref.setIsOpen,
343
+ selectedTeam = _ref.selectedTeam,
344
+ selectedMember = _ref.selectedMember,
345
+ canManageTicket = _ref.canManageTicket,
346
+ module = _ref.module;
347
+ var isChatModule = module === "chats";
348
+ var clippedString = function clippedString(string) {
349
+ var cap = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
350
+ return string && cap && string.length > cap ? "".concat(string.substring(0, cap), "...") : string;
351
+ };
352
+ var renderContent = function renderContent() {
353
+ var charLimit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
354
+ if (selectedTeam !== null && selectedTeam !== void 0 && selectedTeam.label && selectedMember !== null && selectedMember !== void 0 && selectedMember.label) {
355
+ return "".concat(clippedString(selectedTeam.label, charLimit), "/").concat(clippedString(selectedMember.label, charLimit));
356
+ }
357
+ if (selectedTeam !== null && selectedTeam !== void 0 && selectedTeam.label) {
358
+ return "".concat(clippedString(selectedTeam.label, charLimit), "/--");
359
+ }
360
+ return (selectedMember === null || selectedMember === void 0 ? void 0 : selectedMember.label) || "--";
361
+ };
362
+ return /*#__PURE__*/jsx(Tooltip, {
363
+ content: renderContent(),
364
+ children: /*#__PURE__*/jsx("span", {
365
+ children: canManageTicket || isChatModule ? /*#__PURE__*/jsx(Button, {
366
+ handleClick: function handleClick() {
367
+ return setIsOpen(!isOpen);
368
+ },
369
+ label: renderContent(isChatModule ? 20 : 8)
370
+ }) : /*#__PURE__*/jsx(Button, {
371
+ disabled: true,
372
+ label: renderContent(isChatModule ? 20 : 8)
373
+ })
374
+ })
375
+ });
376
+ };
377
+ var Target = /*#__PURE__*/memo(Target$1);
378
+
379
+ var TeamsAndMembersDropdown = function TeamsAndMembersDropdown(_ref) {
380
+ var config = _ref.config;
381
+ var _useState = useState(false),
382
+ _useState2 = _slicedToArray(_useState, 2),
383
+ isOpen = _useState2[0],
384
+ setIsOpen = _useState2[1];
385
+ useEffect(function () {
386
+ if (config !== null && config !== void 0 && config.loading.member) return;
387
+ setIsOpen(false);
388
+ }, [config === null || config === void 0 ? void 0 : config.loading.member]);
389
+ return /*#__PURE__*/jsx("div", {
390
+ className: "inline",
391
+ children: /*#__PURE__*/jsx("div", {
392
+ className: "max-w-40",
393
+ children: /*#__PURE__*/jsx(DropdownMenu, {
394
+ isOpen: isOpen,
395
+ closeOnSelect: false,
396
+ dropdownProps: {
397
+ className: "w-72 p-0"
398
+ },
399
+ customTarget: /*#__PURE__*/jsx("div", {
400
+ children: /*#__PURE__*/jsx(Target, {
401
+ isOpen: isOpen,
402
+ setIsOpen: setIsOpen,
403
+ canManageTicket: config === null || config === void 0 ? void 0 : config.canManageTicket,
404
+ module: config === null || config === void 0 ? void 0 : config.module,
405
+ selectedMember: config === null || config === void 0 ? void 0 : config.selectedMember,
406
+ selectedTeam: config === null || config === void 0 ? void 0 : config.selectedTeam
407
+ })
408
+ }),
409
+ onClose: function onClose() {
410
+ return setIsOpen(false);
411
+ },
412
+ children: /*#__PURE__*/jsx(DropDownContent, {
413
+ filterMembersBy: config === null || config === void 0 ? void 0 : config.filterMembersBy,
414
+ loading: config === null || config === void 0 ? void 0 : config.loading,
415
+ memberTitle: config === null || config === void 0 ? void 0 : config.memberTitle,
416
+ selectedMember: config === null || config === void 0 ? void 0 : config.selectedMember,
417
+ selectedTeam: config === null || config === void 0 ? void 0 : config.selectedTeam,
418
+ setSelectedMember: config === null || config === void 0 ? void 0 : config.setSelectedMember,
419
+ setSelectedTeam: config === null || config === void 0 ? void 0 : config.setSelectedTeam,
420
+ teamTitle: config === null || config === void 0 ? void 0 : config.teamTitle,
421
+ teams: config === null || config === void 0 ? void 0 : config.teams,
422
+ members: config !== null && config !== void 0 && config.filterMembersBy ? filter(prop(config === null || config === void 0 ? void 0 : config.filterMembersBy), config === null || config === void 0 ? void 0 : config.members) : config === null || config === void 0 ? void 0 : config.members
423
+ })
424
+ })
425
+ })
426
+ });
427
+ };
428
+
429
+ export { TeamsAndMembersDropdown as default };
430
+ //# sourceMappingURL=TeamsAndMembersDropdown.js.map