@bigbinary/neeto-team-members-frontend 5.0.79 → 5.0.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/.ready CHANGED
@@ -1 +1 @@
1
- Built at 2026-08-10T09:53:26.213Z
1
+ Built at 2026-08-28T06:51:17.102Z
@@ -24,7 +24,6 @@ var neetoCist = require('@bigbinary/neeto-cist');
24
24
  var i18next = require('i18next');
25
25
  var jsxRuntime = require('react/jsx-runtime');
26
26
  var constants$2 = require('../../constants-il7hAfM-.js');
27
- var sonner = require('sonner');
28
27
  var NeetoHeader = require('@bigbinary/neeto-molecules/v2/Header');
29
28
  var v2_ManageMember = require('../../index-CmXUF133.js');
30
29
  var withReactQuery = require('../../withReactQuery-DvSkXhEx.js');
@@ -43,6 +42,7 @@ require('@babel/runtime/helpers/asyncToGenerator');
43
42
  require('@babel/runtime/regenerator');
44
43
  require('classnames');
45
44
  require('@bigbinary/neeto-image-uploader-frontend/v2/hooks');
45
+ require('sonner');
46
46
  require('formik');
47
47
  require('../../RolesRadioGroup-CjmVbqPn.js');
48
48
  require('yup');
@@ -458,7 +458,7 @@ var ExportPane = function ExportPane(_ref) {
458
458
  var _globalProps$user;
459
459
  onClose();
460
460
  setExportOptions(DEFAULT_EXPORT_OPTIONS);
461
- sonner.toast.success(/*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
461
+ neetoAtoms.Toastr.success(/*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
462
462
  i18nKey: "toastr.success.exportMembers",
463
463
  values: {
464
464
  email: (_globalProps$user = initializers.globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.email
@@ -467,7 +467,7 @@ var ExportPane = function ExportPane(_ref) {
467
467
  utils.captureAnalyticsEvent(constants$1.EVENTS.TEAM_MEMBERS_DOWNLOADED, _objectSpread$2({}, exportOptions));
468
468
  },
469
469
  onError: function onError(error) {
470
- return sonner.toast.error(error.message);
470
+ return neetoAtoms.Toastr.error(error.message);
471
471
  }
472
472
  }),
473
473
  exportMembers = _useExportMembers.mutate;
@@ -1 +1 @@
1
- {"version":3,"file":"TeamMembers.js","sources":["../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/constants.js","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/Header.jsx","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/utils.js","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/SubHeader.jsx","../../../app/javascript/src/v2/components/TeamMembers/ExportPane/constants.js","../../../app/javascript/src/v2/components/TeamMembers/ExportPane/index.jsx","../../../app/javascript/src/v2/components/TeamMembers/Header.jsx","../../../app/javascript/src/v2/components/TeamMembers/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/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/v2/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/v2/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\n data-testid={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography color=\"muted\" variant=\"body3\">\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/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\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\" variant=\"h6\">\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 disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n variant: \"outline\",\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 data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\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 } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/v2/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useExportMembers } from \"hooks/teams/useTeamsApi\";\nimport { EVENTS } from \"src/constants\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } 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 }} size=\"large\">\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 <RadioGroup\n label={description}\n orientation=\"vertical\"\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 </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/v2/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 { Alert, Empty, Spinner, DataTable } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\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 { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\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 withReactQuery from \"../Common/withReactQuery\";\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 handleTableChange,\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, noDataDescription, noDataIcon, noDataButtonProps } =\n 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 className=\"pb-10\">\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 {!hasMembers ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={noDataDescription}\n icon={noDataIcon}\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n ) : team?.membersCount === 0 ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n description={t(\n \"neetoTeamMembers.common.memberSearchEmptyDescription\"\n )}\n title={t(\"neetoTeamMembers.common.memberSearchEmptyTitle\", {\n what: taxonomies.member.plural,\n })}\n />\n </div>\n ) : (\n <DataTable\n enableRowSelection\n enableSorting\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={columnId => hideColumn(columnId)}\n onPageChange={handlePageChange(setFilters, history)}\n onRowSelect={handleRowSelect}\n onSort={handleTableChange}\n />\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":["FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","t","PLURAL","Header","_ref","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","_useTranslation","useTranslation","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","_objectSpread","variant","Tooltip","content","disabled","what","taxonomies","member","singular","memo","filterBySearchTerm","searchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","selectedRows","config","_config$hiddenBulkAct","active","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","_useState","useState","_useState2","_slicedToArray","setSearchTerm","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","value","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","placeholder","onChange","isNotEmpty","map","_ref3","id","MenuItem","concat","hyphenate","Typography","color","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","setSelectedRows","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","_useState3","_useState4","bulkUpdateRole","hasSelectedRows","keys","selectedMembersCountValues","length","metaName","plural","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","DEFAULT_SELECTED_ROWS","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","emails","filterParams","resetSelectedRows","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","handleAlertClose","getButtonLabel","Trans","components","span","values","i18nKey","buttonProps","otherBulkActions","call","isDisabled","Alert","cancelButtonLabel","isOpen","submitButtonLabel","person","displayNames","onClose","Right","withT","columns","filterColumns","handleNeetoFilterChange","isFiltersPaneOpen","searchKeywordProps","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","searchProps","downloadButtonProps","isVisible","tooltipProps","filterProps","setIsOpen","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","options","mergeLeft","getParams","filters","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","toast","success","email","globalProps","user","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","size","Title","Body","RadioGroup","orientation","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","assoc","otherProps","TeamMembers","_config$fetchApiRespo","_config$table","_config$table$onDropd","_config$table2","_filters$pageSize3","history","useHistory","_useBreakpoints","useBreakpoints","isSize","queryParams","useQueryParams","isViewPermissionGranted","view","isDownloadPaneOpen","_useState5","_useState6","setHasBulkSelectedAllRows","useEffect","handleMemberFilterChange","_useFilters","useFilters","setFilters","_useFetchMembers","useFetchMembers","enabled","team","data","isMembersLoading","isLoading","isMembersFetching","isFetching","neetoFilters","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_filters$pageSize","_config$updateMember","handlePageChange","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","useTeams","handlePaneClose","handleRowSelect","handleTableChange","handleRemoveMember","handleUpdateRole","handleUpdateStatus","selectedMember","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","table","onDropdownClick","useMemo","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","page","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataDescription","noDataIcon","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","Empty","icon","primaryButtonProps","DataTable","enableRowSelection","enableSorting","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","columnId","onPageChange","onRowSelect","onSort","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
1
+ {"version":3,"file":"TeamMembers.js","sources":["../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/constants.js","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/Header.jsx","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/utils.js","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/RolesDropdown.jsx","../../../app/javascript/src/v2/components/TeamMembers/ActionBlock/SubHeader.jsx","../../../app/javascript/src/v2/components/TeamMembers/ExportPane/constants.js","../../../app/javascript/src/v2/components/TeamMembers/ExportPane/index.jsx","../../../app/javascript/src/v2/components/TeamMembers/Header.jsx","../../../app/javascript/src/v2/components/TeamMembers/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { PLURAL } from \"neetocommons/v2/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/v2/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/v2/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\n data-testid={`change-role-${hyphenate(name)}-button`}\n key={id}\n onClick={() => handleSelectRole(name)}\n >\n {name}\n </DropdownMenu.MenuItem>\n ))\n ) : (\n <div className=\"flex justify-center p-1\">\n <Typography color=\"muted\" variant=\"body3\">\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/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport SubHeaderMolecule from \"neetomolecules/v2/SubHeader\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useBulkUpdateMembers } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\n\nimport { FIXED_COLUMNS } from \"./constants\";\nimport RolesDropdown from \"./RolesDropdown\";\nimport { getDeactivatedButtonVisible } from \"./utils\";\n\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\" variant=\"h6\">\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 disabled={!isUpdatePermissionGranted}\n label={t(\"neetoTeamMembers.common.takeAction\")}\n buttonProps={{\n variant: \"outline\",\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 data-testid=\"ntm-deactivate-members-button\"\n isDisabled={!isUpdatePermissionGranted}\n onClick={() => setAlertType(\"remove\")}\n >\n {t(\"neetoTeamMembers.common.remove\")}\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, Toastr } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { captureAnalyticsEvent } from \"neetocommons/v2/utils\";\nimport { mergeLeft } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { useExportMembers } from \"hooks/teams/useTeamsApi\";\nimport { EVENTS } from \"src/constants\";\n\nimport { DEFAULT_EXPORT_OPTIONS, EXPORT_OPTIONS } 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 Toastr.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 => Toastr.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 }} size=\"large\">\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 <RadioGroup\n label={description}\n orientation=\"vertical\"\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 </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/v2/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 { Alert, Empty, Spinner, DataTable } from \"@bigbinary/neeto-atoms\";\nimport { Search } from \"lucide-react\";\nimport {\n DEFAULT_PAGE_INDEX,\n DEFAULT_PAGE_SIZE,\n} from \"neetocommons/v2/constants\";\nimport { taxonomies } from \"neetocommons/v2/initializers\";\nimport {\n withTitle,\n useBreakpoints,\n useQueryParams,\n} from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { Bar as FiltersBar } from \"neetofilters/v2\";\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 { useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport { useFetchMembers, useUpdateMember } from \"hooks/teams/useTeamsApi\";\nimport { TABLE_KEYS } from \"src/constants\";\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 withReactQuery from \"../Common/withReactQuery\";\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 handleTableChange,\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, noDataDescription, noDataIcon, noDataButtonProps } =\n 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 className=\"pb-10\">\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 {!hasMembers ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n description={noDataDescription}\n icon={noDataIcon}\n primaryButtonProps={noDataButtonProps}\n title={noDataTitle}\n />\n </div>\n ) : team?.membersCount === 0 ? (\n <div className=\"flex w-full flex-1 items-center justify-center\">\n <Empty\n icon={Search}\n description={t(\n \"neetoTeamMembers.common.memberSearchEmptyDescription\"\n )}\n title={t(\"neetoTeamMembers.common.memberSearchEmptyTitle\", {\n what: taxonomies.member.plural,\n })}\n />\n </div>\n ) : (\n <DataTable\n enableRowSelection\n enableSorting\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={columnId => hideColumn(columnId)}\n onPageChange={handlePageChange(setFilters, history)}\n onRowSelect={handleRowSelect}\n onSort={handleTableChange}\n />\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":["FIXED_COLUMNS","MANAGE_ROLES_BUTTON_LABEL","t","PLURAL","Header","_ref","isCreatePermissionGranted","otherActionBlock","_ref$onClick","onClick","noop","rolesButtonProps","_useTranslation","useTranslation","isRolesButtonVisible","isOtherActionBlockVisible","_jsxs","_Fragment","children","_jsx","Button","_objectSpread","variant","Tooltip","content","disabled","what","taxonomies","member","singular","memo","filterBySearchTerm","searchTerm","roles","filter","name","includes","trim","toLower","getDeactivatedButtonVisible","selectedRows","config","_config$hiddenBulkAct","active","some","hiddenBulkActions","RolesDropdown","_ref$disabled","hasUpdatePermission","_ref$isSearchable","isSearchable","_ref$roles","_ref$selectedMembersC","selectedMembersCount","setAlertType","setBulkUpdateRole","_useState","useState","_useState2","_slicedToArray","setSearchTerm","filteredRoles","isUpdatingAllowed","handleSearch","_ref2","value","target","handleSelectRole","role","count","DropdownMenu","SubMenu","contentProps","align","label","triggerProps","className","e","stopPropagation","Search","Input","type","placeholder","onChange","isNotEmpty","map","_ref3","id","MenuItem","concat","hyphenate","Typography","color","Left","_selectedRows$keys","_selectedRows$active","_config$otherBulkActi","filteredCount","resetToFirstPage","setSelectedRows","selectedRowsCount","bulkParams","isUpdatePermissionGranted","permissions","update","alertType","_useState3","_useState4","bulkUpdateRole","hasSelectedRows","keys","selectedMembersCountValues","length","metaName","plural","totalCount","hasDeactivateMembers","_useBulkUpdateMembers","useBulkUpdateMembers","onSuccess","_config$bulkUpdateMem","DEFAULT_SELECTED_ROWS","bulkUpdateMembers","callback","bulkUpdateMember","mutate","handleDeactivateMembers","users","emails","filterParams","resetSelectedRows","handleRoleChange","organization_role","alertTypes","message","onSubmit","title","selectedAlert","findBy","handleAlertClose","getButtonLabel","Trans","components","span","values","i18nKey","buttonProps","otherBulkActions","call","isDisabled","Alert","cancelButtonLabel","isOpen","submitButtonLabel","person","displayNames","onClose","Right","withT","columns","filterColumns","handleNeetoFilterChange","isFiltersPaneOpen","searchKeywordProps","setIsDownloadPaneOpen","setIsFiltersPaneOpen","SubHeaderMolecule","RightBlock","columnsButtonProps","columnData","fixedColumns","tableKey","TABLE_KEYS","TEAM_MEMBERS_TABLE","noColumnMessage","searchProps","downloadButtonProps","isVisible","tooltipProps","filterProps","setIsOpen","keyword","SubHeader","EXPORT_TYPES","PDF","CSV","EXCEL","DEFAULT_EXPORT_OPTIONS","exportType","EXPORT_OPTIONS","individualExportLabel","bulkExportLabel","format","dataTestid","ExportPane","appliedFilters","hasBulkSelectedAllRows","selectedMemberIds","exportOptions","setExportOptions","setExportOption","options","mergeLeft","getParams","filters","undefined","considerAllMembers","memberIds","_useExportMembers","useExportMembers","_globalProps$user","Toastr","success","email","globalProps","user","captureAnalyticsEvent","EVENTS","TEAM_MEMBERS_DOWNLOADED","onError","error","exportMembers","description","Sheet","size","Title","Body","RadioGroup","orientation","onValueChange","Item","Footer","_config$header","_config$header2","NeetoHeader","actionBlock","HeaderActionBlock","create","header","assoc","otherProps","TeamMembers","_config$fetchApiRespo","_config$table","_config$table$onDropd","_config$table2","_filters$pageSize3","history","useHistory","_useBreakpoints","useBreakpoints","isSize","queryParams","useQueryParams","isViewPermissionGranted","view","isDownloadPaneOpen","_useState5","_useState6","setHasBulkSelectedAllRows","useEffect","handleMemberFilterChange","_useFilters","useFilters","setFilters","_useFetchMembers","useFetchMembers","enabled","team","data","isMembersLoading","isLoading","isMembersFetching","isFetching","neetoFilters","considerAllTeamMembers","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","isRolesLoading","_useUpdateMember","useUpdateMember","_filters$pageSize","_config$updateMember","handlePageChange","DEFAULT_PAGE_INDEX","pageSize","DEFAULT_PAGE_SIZE","updateMember","isUpdatingMember","isPending","getFilteredRoles","_useTeams","useTeams","handlePaneClose","handleRowSelect","handleTableChange","handleRemoveMember","handleUpdateRole","handleUpdateStatus","selectedMember","membersCount","fetchApiResponse","hasMembers","activeUsersCount","updateMemberAlertProps","table","onDropdownClick","useMemo","getColumnData","dropdownProps","_useTableConfiguratio","useTableConfigurations","isTableConfigurationLoading","customizedColumns","hideColumn","page","push","buildUrl","window","location","pathname","_generateNoDataConten","generateNoDataContent","noDataTitle","noDataDescription","noDataIcon","noDataButtonProps","Spinner","Container","leftActionBlock","SubHeaderActionBlock","_filters$pageSize2","rightActionBlock","FiltersBar","setIsPaneOpen","Empty","icon","primaryButtonProps","DataTable","enableRowSelection","enableSorting","fixedHeight","allowRowClick","currentPage","parseInt","DEFAULT_RADIX","members","loading","selectedRowKeys","bulkSelectAllRowsProps","selectAllRowMessage","selectAllRowButtonLabel","setBulkSelectedAllRows","onColumnHide","columnId","onPageChange","onRowSelect","onSort","ManageMember","componentConfig","manageMember","onComplete","alert","isSubmitting","renderUpdateAlert","withTitle","withReactQuery"],"mappings":"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"}
@@ -28,66 +28,83 @@ var SelectMember = reactUtils.withT(function (_ref) {
28
28
  members = _ref.members,
29
29
  setMember = _ref.setMember,
30
30
  selectedMember = _ref.selectedMember,
31
- loadingMember = _ref.loadingMember;
31
+ loadingMember = _ref.loadingMember,
32
+ activeValue = _ref.activeValue,
33
+ getOptionId = _ref.getOptionId;
32
34
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
33
35
  children: neetoCist.isNotEmpty(members) ? members === null || members === void 0 ? void 0 : members.map(function (member) {
36
+ var isSelected = selectedMember && selectedMember.value === member.value;
34
37
  return /*#__PURE__*/jsxRuntime.jsx("li", {
38
+ "aria-selected": !!isSelected,
35
39
  "data-testid": "agent-options",
36
- className: classnames__default.default({
37
- active: selectedMember && selectedMember.value === member.value,
38
- loading: loadingMember && loadingMember === member.value
40
+ id: getOptionId === null || getOptionId === void 0 ? void 0 : getOptionId(member.value),
41
+ role: "option",
42
+ className: classnames__default.default("cursor-pointer rounded-md px-2 py-1.5 text-sm text-foreground transition-colors hover:bg-muted", {
43
+ "active bg-muted font-medium": isSelected,
44
+ "bg-muted": activeValue === member.value,
45
+ "loading pointer-events-none opacity-60": loadingMember && loadingMember === member.value
39
46
  }),
40
- onClick: function onClick(event) {
41
- event.preventDefault();
47
+ onClick: function onClick() {
42
48
  if (!loadingMember) {
43
49
  setMember(member);
44
50
  }
45
51
  },
46
52
  children: /*#__PURE__*/jsxRuntime.jsx("span", {
47
- className: "truncate",
53
+ className: "block truncate",
48
54
  children: member.label
49
55
  })
50
56
  }, member.value);
51
57
  }) : /*#__PURE__*/jsxRuntime.jsx("li", {
52
- className: "flex justify-center",
53
- children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
54
- className: "px-3",
55
- color: "muted",
56
- variant: "body3",
57
- children: t("neetoTeamMembers.helpers.noRecords")
58
- })
58
+ className: "px-2 py-1.5 text-sm text-muted-foreground",
59
+ role: "presentation",
60
+ children: t("neetoTeamMembers.helpers.noRecords")
59
61
  })
60
62
  });
61
63
  });
62
64
 
63
- var SelectTeam = function SelectTeam(_ref) {
64
- var teams = _ref.teams,
65
+ var SelectTeam = reactUtils.withT(function (_ref) {
66
+ var t = _ref.t,
67
+ teams = _ref.teams,
65
68
  setTeam = _ref.setTeam,
66
69
  selectedTeam = _ref.selectedTeam,
67
- loadingTeam = _ref.loadingTeam;
70
+ loadingTeam = _ref.loadingTeam,
71
+ activeValue = _ref.activeValue,
72
+ getOptionId = _ref.getOptionId;
68
73
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
69
- children: teams === null || teams === void 0 ? void 0 : teams.map(function (group) {
74
+ children: neetoCist.isNotEmpty(teams) ? teams === null || teams === void 0 ? void 0 : teams.map(function (group) {
75
+ var isSelected = selectedTeam && selectedTeam.value === group.value;
70
76
  return /*#__PURE__*/jsxRuntime.jsx("li", {
77
+ "aria-selected": !!isSelected,
71
78
  "data-testid": "group-options",
72
- className: classnames__default.default({
73
- active: selectedTeam && selectedTeam.value === group.value,
74
- loading: loadingTeam && loadingTeam === group.value
79
+ id: getOptionId === null || getOptionId === void 0 ? void 0 : getOptionId(group.value),
80
+ role: "option",
81
+ className: classnames__default.default("cursor-pointer rounded-md px-2 py-1.5 text-sm text-foreground transition-colors hover:bg-muted", {
82
+ "active bg-muted font-medium": isSelected,
83
+ "bg-muted": activeValue === group.value,
84
+ "loading pointer-events-none opacity-60": loadingTeam && loadingTeam === group.value
75
85
  }),
76
- onClick: function onClick(event) {
77
- event.preventDefault();
86
+ onClick: function onClick() {
78
87
  if (!loadingTeam) {
79
88
  setTeam(group);
80
89
  }
81
90
  },
82
- children: group.label
91
+ children: /*#__PURE__*/jsxRuntime.jsx("span", {
92
+ className: "block truncate",
93
+ children: group.label
94
+ })
83
95
  }, group.value);
96
+ }) : /*#__PURE__*/jsxRuntime.jsx("li", {
97
+ className: "px-2 py-1.5 text-sm text-muted-foreground",
98
+ role: "presentation",
99
+ children: t("neetoTeamMembers.helpers.noRecords")
84
100
  })
85
101
  });
86
- };
102
+ });
87
103
 
88
104
  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; }
89
105
  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__default.default(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; }
90
106
  var TabBody = function TabBody(_ref) {
107
+ var _options$length;
91
108
  var selectedTab = _ref.selectedTab,
92
109
  teams = _ref.teams,
93
110
  teamTitle = _ref.teamTitle,
@@ -107,8 +124,16 @@ var TabBody = function TabBody(_ref) {
107
124
  _useState4 = _slicedToArray__default.default(_useState3, 2),
108
125
  teamString = _useState4[0],
109
126
  setTeamString = _useState4[1];
127
+ var _useState5 = React.useState(0),
128
+ _useState6 = _slicedToArray__default.default(_useState5, 2),
129
+ activeIndex = _useState6[0],
130
+ setActiveIndex = _useState6[1];
110
131
  var _useTranslation = reactI18next.useTranslation(),
111
132
  t = _useTranslation.t;
133
+ var listboxId = React.useId();
134
+ var getOptionId = function getOptionId(value) {
135
+ return "".concat(listboxId, "-option-").concat(value);
136
+ };
112
137
  React.useEffect(function () {
113
138
  setMemberString("");
114
139
  }, [selectedMember]);
@@ -127,6 +152,52 @@ var TabBody = function TabBody(_ref) {
127
152
  return ((_team$label = team.label) === null || _team$label === void 0 ? void 0 : _team$label.toLowerCase().indexOf(teamString.toLowerCase())) > -1;
128
153
  });
129
154
  }, [teams, teamString]);
155
+ var isTeamTab = React.useMemo(function () {
156
+ return selectedTab === TABS.TEAMS_TAB && showTeams;
157
+ }, [selectedTab, showTeams]);
158
+ var options = isTeamTab ? filteredTeams : filteredMembers;
159
+ var optionsCount = (_options$length = options === null || options === void 0 ? void 0 : options.length) !== null && _options$length !== void 0 ? _options$length : 0;
160
+
161
+ // Reset the keyboard "active" option whenever the visible list changes.
162
+ React.useEffect(function () {
163
+ setActiveIndex(0);
164
+ }, [isTeamTab, memberString, teamString]);
165
+ var activeIndexClamped = optionsCount > 0 ? Math.min(activeIndex, optionsCount - 1) : 0;
166
+ var activeOption = options === null || options === void 0 ? void 0 : options[activeIndexClamped];
167
+ var activeOptionId = activeOption ? getOptionId(activeOption.value) : undefined;
168
+
169
+ // Keep the active option scrolled into view during keyboard navigation.
170
+ React.useEffect(function () {
171
+ var _document$getElementB;
172
+ if (!activeOptionId) return;
173
+ (_document$getElementB = document.getElementById(activeOptionId)) === null || _document$getElementB === void 0 || _document$getElementB.scrollIntoView({
174
+ block: "nearest"
175
+ });
176
+ }, [activeOptionId]);
177
+ var selectOption = function selectOption(option) {
178
+ if (!option) return;
179
+ if (isTeamTab) {
180
+ if (!loading.team) setTeam(option);
181
+ } else if (!loading.member) {
182
+ setMember(option);
183
+ }
184
+ };
185
+ var handleKeyDown = function handleKeyDown(event) {
186
+ switch (event.key) {
187
+ case "ArrowDown":
188
+ event.preventDefault();
189
+ setActiveIndex(Math.min(activeIndexClamped + 1, Math.max(optionsCount - 1, 0)));
190
+ break;
191
+ case "ArrowUp":
192
+ event.preventDefault();
193
+ setActiveIndex(Math.max(activeIndexClamped - 1, 0));
194
+ break;
195
+ case "Enter":
196
+ event.preventDefault();
197
+ selectOption(activeOption);
198
+ break;
199
+ }
200
+ };
130
201
  var teamInputProps = {
131
202
  value: teamString,
132
203
  placeholder: t("neetoTeamMembers.placeholders.searchEntity", {
@@ -145,24 +216,36 @@ var TabBody = function TabBody(_ref) {
145
216
  return setMemberString(event.target.value.trimStart());
146
217
  }
147
218
  };
148
- var isTeamTab = React.useMemo(function () {
149
- return selectedTab === TABS.TEAMS_TAB && showTeams;
150
- }, [selectedTab]);
151
219
  var inputProps = isTeamTab ? teamInputProps : memberInputProps;
152
220
  return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
153
221
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
154
- className: "px-4 py-2",
155
- children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Input, _objectSpread({}, inputProps))
222
+ className: "px-2 py-2",
223
+ children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Input, _objectSpread(_objectSpread({}, inputProps), {}, {
224
+ "aria-expanded": true,
225
+ autoFocus: true,
226
+ "aria-activedescendant": activeOptionId,
227
+ "aria-autocomplete": "list",
228
+ "aria-controls": listboxId,
229
+ role: "combobox",
230
+ onKeyDown: handleKeyDown
231
+ }))
156
232
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
157
- className: "max-h-56 w-72 overflow-y-auto",
233
+ "aria-label": isTeamTab ? teamTitle : memberTitle,
234
+ className: "max-h-56 w-72 space-y-0.5 overflow-y-auto px-2 pb-2",
235
+ id: listboxId,
236
+ role: "listbox",
158
237
  children: isTeamTab ? /*#__PURE__*/jsxRuntime.jsx(SelectTeam, {
238
+ getOptionId: getOptionId,
159
239
  selectedTeam: selectedTeam,
160
240
  setTeam: setTeam,
241
+ activeValue: activeOption === null || activeOption === void 0 ? void 0 : activeOption.value,
161
242
  loadingTeam: loading.team,
162
243
  teams: filteredTeams
163
244
  }) : /*#__PURE__*/jsxRuntime.jsx(SelectMember, {
245
+ getOptionId: getOptionId,
164
246
  selectedMember: selectedMember,
165
247
  setMember: setMember,
248
+ activeValue: activeOption === null || activeOption === void 0 ? void 0 : activeOption.value,
166
249
  loadingMember: loading.member,
167
250
  members: filteredMembers
168
251
  })
@@ -182,21 +265,24 @@ var Tab = reactUtils.withT(function (_ref) {
182
265
  className: "w-1/2 cursor-pointer",
183
266
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
184
267
  onClick: onClick,
185
- className: classnames__default.default(["text-muted-foreground border-b-2 px-4 py-4"], {
268
+ className: classnames__default.default(["text-muted-foreground border-b-2 px-4 pt-6 pb-3"], {
186
269
  "text-foreground border-primary bg-background": active
187
270
  }),
188
271
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
189
- className: "mb-1.5 text-xs font-semibold uppercase tracking-wide text-foreground",
272
+ className: "mb-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground",
190
273
  "data-testid": "select-group-or-agent",
191
274
  children: title
192
275
  }), /*#__PURE__*/jsxRuntime.jsxs("div", {
193
- className: "flex flex-row items-center justify-start text-sm font-normal text-muted-foreground",
276
+ className: "flex min-h-6 flex-row items-center justify-between text-sm font-normal text-muted-foreground",
194
277
  "data-testid": "ticket-table-assignee-or-group",
195
278
  children: [loading && /*#__PURE__*/jsxRuntime.jsx("span", {
196
279
  className: "bp3-skeleton flex justify-center",
197
280
  children: t("neetoTeamMembers.common.loading")
198
281
  }), !loading && (value ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
199
- children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
282
+ children: [/*#__PURE__*/jsxRuntime.jsx("span", {
283
+ className: "truncate font-medium text-foreground",
284
+ children: value
285
+ }), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
200
286
  className: "shrink-0 text-destructive",
201
287
  size: "icon-xs",
202
288
  variant: "ghost",
@@ -204,12 +290,9 @@ var Tab = reactUtils.withT(function (_ref) {
204
290
  children: /*#__PURE__*/jsxRuntime.jsx(lucideReact.XCircle, {
205
291
  size: 16
206
292
  })
207
- }), /*#__PURE__*/jsxRuntime.jsx("span", {
208
- className: "ms-1 truncate font-medium text-foreground",
209
- children: value
210
293
  })]
211
294
  }) : /*#__PURE__*/jsxRuntime.jsx("span", {
212
- className: "py-1.5 text-muted-foreground",
295
+ className: "text-muted-foreground",
213
296
  children: "--"
214
297
  }))]
215
298
  })]