@bigbinary/neeto-team-members-frontend 5.0.63 → 5.0.64

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ManageMember.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ManageMember.js","sources":["../../app/javascript/src/v2/components/Common/formik/Switch.jsx","../../app/javascript/src/v2/components/TeamMembers/ManageMember/AppList.jsx","../../app/javascript/src/v2/components/TeamMembers/ManageMember/Confirmation.jsx","../../app/javascript/src/v2/components/TeamMembers/ManageMember/InviteLink.jsx","../../app/javascript/src/v2/components/TeamMembers/ManageMember/MultipleEmailInput.jsx","../../app/javascript/src/v2/components/TeamMembers/ManageMember/NameInputs.jsx","../../app/javascript/src/v2/components/TeamMembers/ManageMember/ProfileSettings.jsx","../../app/javascript/src/v2/components/TeamMembers/ManageMember/index.jsx"],"sourcesContent":["import { Label, Switch, cn } from \"@bigbinary/neeto-atoms\";\nimport { useField } from \"formik\";\n\nconst FormikSwitch = ({\n name,\n label,\n className,\n checked: checkedProp,\n disabled,\n onChange: onChangeProp,\n ...rest\n}) => {\n const [field, , helpers] = useField(name);\n const isChecked = checkedProp !== undefined ? checkedProp : field.value;\n\n return (\n <div className={cn(\"flex items-center gap-2\", className)}>\n <Switch\n {...{ disabled }}\n checked={isChecked}\n id={name}\n onCheckedChange={val => {\n helpers.setValue(val);\n onChangeProp?.({ target: { checked: val } });\n }}\n {...rest}\n />\n {label && <Label htmlFor={name}>{label}</Label>}\n </div>\n );\n};\n\nexport default FormikSwitch;\n","import { useEffect, useState } from \"react\";\n\nimport {\n Button,\n Checkbox,\n Label,\n Tooltip,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { pluck, not } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { NEETO_AUTH_MANAGE_PRODUCT_URL } from \"./constants\";\n\nimport { FormikSelect, FormikSwitch } from \"../../Common/formik\";\n\nconst AppList = ({ globalRoles, savedStateRef }) => {\n const { t } = useTranslation();\n const [isAppListEnabled, setIsAppListEnabled] = useState(\n savedStateRef.current.isAppListEnabled\n );\n\n const {\n values: { emails = [], appRoles = [] },\n setFieldValue,\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const isManageProductsLinkEnabled =\n globalProps.user?.isOwner && Object.keys(globalRoles).length >= 3;\n\n useEffect(() => {\n if (savedStateRef.current.isAppListEnabled !== isAppListEnabled) {\n appRoles?.forEach((appRole, index) => {\n if (appRole?.appName === globalProps.appName?.substring(5)) {\n setFieldValue(`appRoles[${index}].isEnabled`, true);\n\n return;\n }\n\n setFieldValue(`appRoles[${index}].isEnabled`, isAppListEnabled);\n });\n }\n savedStateRef.current.isAppListEnabled = isAppListEnabled;\n }, [isAppListEnabled]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const buildRoleOptions = roles =>\n roles.map(role => toLabelAndValue(role.name));\n\n return (\n <div className=\"flex flex-col gap-6\">\n <div className=\"w-full space-y-3\">\n <div className=\"flex items-start gap-2\">\n <Checkbox\n checked={isAppListEnabled}\n data-testid=\"ntm-manage-members-app-list-checkbox\"\n id=\"app-list-toggle\"\n onCheckedChange={() => setIsAppListEnabled(not)}\n />\n <Label className=\"leading-relaxed\" htmlFor=\"app-list-toggle\">\n <Typography className=\"leading-relaxed\" variant=\"body3\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.addMembersToNeetoProducts\"\n values={{ emails: selectedEmail }}\n />\n </Typography>\n </Label>\n </div>\n {isManageProductsLinkEnabled && (\n <Typography variant=\"body3\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.manageProducts\"\n components={{\n button: (\n <Button asChild variant=\"link\">\n <a href={NEETO_AUTH_MANAGE_PRODUCT_URL}>manage</a>\n </Button>\n ),\n }}\n />\n </Typography>\n )}\n </div>\n <div className=\"w-full\">\n {appRoles.map(({ appName, isEnabled }, index) => {\n const isCurrentApp = appName === globalProps.appName?.substring(5);\n const isAppRoleSelectionChecked = isCurrentApp || isEnabled;\n\n return (\n <div\n className=\"flex w-full items-center justify-between py-2\"\n key={appName}\n >\n <Tooltip\n content={\n isCurrentApp\n ? t(\"neetoTeamMembers.tooltips.hostAppIsRequired\")\n : null\n }\n >\n <span>\n <FormikSwitch\n checked={isAppRoleSelectionChecked}\n disabled={isCurrentApp}\n name={`appsRoles[${index}].isEnabled`}\n label={t(\"neetoTeamMembers.labels.neeto_\", {\n product: appName,\n })}\n onChange={({ target }) => {\n setFieldValue(\n `appRoles[${index}].isEnabled`,\n target.checked\n );\n }}\n />\n </span>\n </Tooltip>\n <Tooltip\n content={\n isCurrentApp\n ? t(\"neetoTeamMembers.tooltips.goBackToChangeRole\")\n : null\n }\n >\n <span className=\"w-1/2 max-w-[250px]\">\n <FormikSelect\n isDisabled={isCurrentApp || !isEnabled}\n name={`appRoles[${index}].activeRole`}\n options={buildRoleOptions(globalRoles[appName])}\n />\n </span>\n </Tooltip>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default AppList;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport { Card, CardContent } from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { useFormikContext } from \"formik\";\nimport { Mail } from \"lucide-react\";\nimport { filterBy } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/v2/constants\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { pluck } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { getSingleInvitationTranslationProps } from \"./utils\";\n\nconst Confirmation = () => {\n const { t } = useTranslation();\n const {\n values: { emails, role, appRoles },\n } = useFormikContext();\n\n const selectedEmail = pluck(\"value\", emails);\n const activeAppRoles = filterBy({ isEnabled: true }, appRoles);\n const isMultipleProduct = activeAppRoles.length > 1;\n\n return (\n <>\n <Card className=\"w-full shrink-0 bg-muted/40 ring-0\" size=\"sm\">\n <CardContent className=\"flex items-start gap-3\">\n <div className=\"bg-primary/10 mt-0.5 flex size-9 shrink-0 items-center justify-center rounded-full\">\n <Mail className=\"size-4 text-primary\" />\n </div>\n <Typography\n className=\"min-w-0 flex-1 leading-relaxed\"\n variant=\"body3\"\n >\n {isMultipleProduct ? (\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.multipleProductInvitation\"\n values={{\n count: selectedEmail.length,\n emails: selectedEmail,\n orgName: globalProps.organization?.name,\n }}\n />\n ) : (\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.singleProductInvitation\"\n values={getSingleInvitationTranslationProps({\n activeAppRoles,\n role,\n selectedEmail,\n })}\n />\n )}\n </Typography>\n </CardContent>\n </Card>\n {isMultipleProduct && (\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"overflow-hidden rounded-md border border-border p-0\">\n <table className=\"w-full border-collapse\">\n <thead className=\"bg-muted/40\">\n <tr>\n <th className=\"px-3 py-2 text-start text-xs font-medium uppercase tracking-wide text-muted-foreground\">\n {t(\"neetoTeamMembers.common.productName\")}\n </th>\n <th className=\"px-3 py-2 text-start text-xs font-medium uppercase tracking-wide text-muted-foreground\">\n {t(\"neetoTeamMembers.common.role\", SINGULAR)}\n </th>\n </tr>\n </thead>\n <tbody className=\"divide-y divide-border\">\n {activeAppRoles.map(({ appName, activeRole }) => (\n <tr key={appName}>\n <td className=\"px-3 py-2\">\n <Typography variant=\"body3\">\n {t(\"neetoTeamMembers.labels.neeto_\", {\n product: appName,\n })}\n </Typography>\n </td>\n <td className=\"px-3 py-2\">\n <Typography variant=\"body3\">{activeRole}</Typography>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </CardContent>\n </Card>\n )}\n </>\n );\n};\n\nexport default Confirmation;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport {\n Button,\n DropdownMenu,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { Check, EllipsisVertical } from \"lucide-react\";\nimport { findBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { withT } from \"neetocommons/v2/react-utils\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { isEmpty } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n useFetchInviteLinks,\n useCreateInviteLinks,\n useRegenerateInviteLink,\n} from \"hooks/reactQuery/useInviteLinksApi\";\n\nimport { FEEDBACK_DURATION_MS } from \"./constants\";\nimport { getInviteURL, remainingExpiryDays } from \"./utils\";\n\nconst InviteLink = ({ t, roles }) => {\n const { mutate: createInviteLink, isPending: isCreateLinkPending } =\n useCreateInviteLinks();\n\n const { mutate: regenerateLink } = useRegenerateInviteLink();\n\n const { data: { inviteLinks = [] } = {}, isLoading: isFetchLinkLoading } =\n useFetchInviteLinks();\n\n const { values } = useFormikContext();\n\n const [feedbackMessage, setFeedbackMessage] = useState(\"\");\n const feedbackTimerRef = useRef();\n\n const showFeedback = message => {\n setFeedbackMessage(message);\n clearTimeout(feedbackTimerRef.current);\n feedbackTimerRef.current = setTimeout(\n () => setFeedbackMessage(\"\"),\n FEEDBACK_DURATION_MS\n );\n };\n\n useEffect(() => () => clearTimeout(feedbackTimerRef.current), []);\n\n const isInviteLinkEmpty = !isFetchLinkLoading && isEmpty(inviteLinks);\n\n const handleRegenerate = () => {\n const { id: roleId } = findBy({ name: values.role }, roles);\n if (isEmpty(inviteLinks)) {\n createInviteLink(\n { organizationRoleId: roleId },\n {\n onSuccess: () =>\n showFeedback(\n t(\"neetoTeamMembers.alerts.success.inviteLinkGenerated\")\n ),\n }\n );\n\n return;\n }\n\n regenerateLink(\n {\n inviteLinkId: inviteLinks[0].id,\n payload: { organizationRoleId: roleId },\n },\n {\n onSuccess: () =>\n showFeedback(\n t(\"neetoTeamMembers.alerts.success.inviteLinkRegenerated\")\n ),\n }\n );\n };\n\n if (isFetchLinkLoading || isCreateLinkPending) {\n return (\n <div className=\"flex w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"w-full space-y-2\">\n <div className=\"flex items-center gap-2 pt-1\">\n <div className=\"relative flex min-w-0 grow items-center truncate rounded-md border border-border bg-muted/50 leading-none\">\n {isInviteLinkEmpty ? (\n <div className=\"relative min-w-0 grow truncate p-2 leading-none\" />\n ) : (\n <Button\n asChild\n className=\"relative block h-auto min-w-0 shrink grow truncate p-2 font-normal leading-none no-underline hover:underline\"\n variant=\"link\"\n >\n <a\n href={getInviteURL(inviteLinks?.[0]?.token)}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {getInviteURL(inviteLinks?.[0]?.token)}\n </a>\n </Button>\n )}\n {isInviteLinkEmpty ? (\n <Button className=\"rounded-s-none\" onClick={handleRegenerate}>\n {t(\"neetoTeamMembers.buttons.generateLink\")}\n </Button>\n ) : (\n <CopyToClipboardButton\n className=\"rounded-s-none border-s\"\n value={getInviteURL(inviteLinks?.[0]?.token)}\n variant=\"ghost\"\n />\n )}\n </div>\n {!isInviteLinkEmpty && (\n <DropdownMenu\n customTarget={\n <Button\n aria-label={t(\"neetoTeamMembers.buttons.regenerateLink\")}\n className=\"shrink-0\"\n icon={EllipsisVertical}\n size=\"icon\"\n variant=\"ghost\"\n />\n }\n >\n <DropdownMenu.Menu>\n <DropdownMenu.MenuItem onClick={handleRegenerate}>\n {t(\"neetoTeamMembers.buttons.regenerateLink\")}\n </DropdownMenu.MenuItem>\n </DropdownMenu.Menu>\n </DropdownMenu>\n )}\n </div>\n {feedbackMessage && (\n <div\n aria-live=\"polite\"\n className=\"flex w-fit items-center gap-1.5 rounded-md bg-success-solid px-2 py-1 text-success-solid-foreground animate-in fade-in slide-in-from-top-1 duration-200\"\n >\n <Check className=\"size-3.5 shrink-0\" />\n <Typography color=\"inherit\" variant=\"caption\" weight=\"medium\">\n {feedbackMessage}\n </Typography>\n </div>\n )}\n <div>\n {!isInviteLinkEmpty && (\n <Typography className=\"leading-relaxed\" color=\"muted\" variant=\"body3\">\n <Trans\n components={{ strong: <strong /> }}\n i18nKey=\"neetoTeamMembers.alerts.messages.inviteLink\"\n values={{\n expiryDays: remainingExpiryDays(inviteLinks?.[0]?.expiresAt),\n role: inviteLinks?.[0]?.organizationRole?.name,\n inviteLimit: inviteLinks?.[0]?.inviteLimit,\n appName: globalProps.appName,\n emailDomain: inviteLinks?.[0]?.domain,\n }}\n />\n </Typography>\n )}\n </div>\n </div>\n );\n};\nexport default withT(InviteLink);\n","import { Button, Label, Typography } from \"@bigbinary/neeto-atoms\";\nimport {\n Input as FormikInput,\n MultiEmailInput as FormikMultiEmailInput,\n} from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { PLURAL, SINGULAR } from \"neetocommons/v2/constants\";\nimport { head } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isNeetoAuthApp } from \"src/utils\";\n\nimport {\n COUNTER_PROPS,\n EMAIL_REGEX,\n FILTER_INVALID_EMAILS,\n FORM_PAGES,\n} from \"./constants\";\n\nconst MultipleEmailInput = ({\n emails = [],\n innerRef,\n selectedMember = null,\n setCurrentPage,\n}) => {\n const isInviteLinkFeatureEnabled = !isNeetoAuthApp();\n const { t } = useTranslation();\n const { setFieldValue } = useFormikContext();\n\n const handleInputChange = event => {\n const email = event.target.value;\n const emailList = [\n { label: email, value: email, valid: EMAIL_REGEX.test(email) },\n ];\n setFieldValue(\"emails\", emailList);\n };\n\n return (\n <div className=\"w-full\">\n {selectedMember ? (\n <FormikInput\n data-testid=\"ntm-manage-member-email-input\"\n name=\"emails\"\n type=\"email\"\n value={head(emails)?.value}\n label={\n <span className=\"flex w-full justify-between\">\n <Typography variant=\"body3\">\n {t(\"neetoTeamMembers.common.email\", SINGULAR)}\n </Typography>\n </span>\n }\n onChange={handleInputChange}\n />\n ) : (\n <div>\n <div className=\"flex items-center justify-between pb-2\">\n <Label>\n {t(\"neetoTeamMembers.common.email\", PLURAL)}\n <span className=\"text-destructive\"> *</span>\n </Label>\n {isInviteLinkFeatureEnabled && (\n <Button\n variant=\"link\"\n onClick={() => setCurrentPage(FORM_PAGES.INVITE_LINK)}\n >\n {t(\"neetoTeamMembers.buttons.inviteLink\")}\n </Button>\n )}\n </div>\n <FormikMultiEmailInput\n required\n counter={COUNTER_PROPS}\n data-testid=\"ntm-manage-member-email-input\"\n filterInvalidEmails={FILTER_INVALID_EMAILS}\n helpText={t(\"neetoTeamMembers.helpers.enterMultipleEmails\")}\n label=\"\"\n name=\"emails\"\n placeholder={t(\"neetoTeamMembers.placeholders.email\")}\n ref={innerRef}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default MultipleEmailInput;\n","import { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { withT } from \"neetocommons/v2/react-utils\";\n\nconst NameInputs = withT(({ t, innerRef }) => (\n <div className=\"flex w-full gap-4\">\n <FormikInput\n data-testid=\"ntm-edit-member-first-name-text-field\"\n label={t(\"neetoTeamMembers.labels.firstName\")}\n name=\"firstName\"\n ref={innerRef}\n />\n <FormikInput\n data-testid=\"ntm-edit-member-last-name-text-field\"\n label={t(\"neetoTeamMembers.labels.lastName\")}\n name=\"lastName\"\n />\n </div>\n));\n\nexport default NameInputs;\n","import { useCallback, useEffect, useRef } from \"react\";\n\nimport { Label } from \"@bigbinary/neeto-atoms\";\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/v2/constants\";\nimport { FormikPhoneNumberInput } from \"neetomolecules/v2/PhoneNumber\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\n// eslint-disable-next-line import/extensions\nimport \"v2/stylesheets/timezone-selector.css\";\n\nimport { FormikSelect } from \"../../Common/formik\";\nimport useCountries from \"../../Profile/hooks/useCountries\";\n\nconst ProfileSettings = ({ member, setFieldValue }) => {\n const { t } = useTranslation();\n\n const setFieldValueRef = useRef(setFieldValue);\n\n useEffect(() => {\n setFieldValueRef.current = setFieldValue;\n }, [setFieldValue]);\n\n const {\n countryDropdownOptions,\n isFetchingCountriesList,\n handleCountryChange,\n } = useCountries();\n\n const timezoneContainerRef = useCallback(\n node => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: member.timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: member.timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n });\n }\n },\n [member.timeZone, member.timeFormat]\n );\n\n useEffect(() => {\n const country = findBy(\n { value: member.countryIdentifier },\n countryDropdownOptions\n );\n if (country) handleCountryChange(country);\n }, [member.countryIdentifier, countryDropdownOptions, handleCountryChange]);\n\n return (\n <div className=\"w-full space-y-6\" data-cy=\"ntm-profile-settings\">\n <FormikPhoneNumberInput\n data-cy=\"ntm-edit-member-phonenumber-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.phonenumber\")}\n name=\"phonenumber\"\n />\n <FormikSelect\n data-cy=\"ntm-edit-member-country-select\"\n isLoading={isFetchingCountriesList}\n label={t(\"neetoTeamMembers.profile.inputs.label.country\")}\n name=\"countryId\"\n options={countryDropdownOptions}\n onChange={value => {\n const option = countryDropdownOptions.find(o => o.value === value);\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n }}\n />\n <FormikSelect\n data-cy=\"ntm-edit-member-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n />\n <div className=\"space-y-2\">\n <Label>{t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}</Label>\n <div\n className=\"w-full grow\"\n data-cy=\"ntm-edit-member-timezone-select\"\n ref={timezoneContainerRef}\n />\n </div>\n <FormikSelect\n data-cy=\"ntm-edit-member-time-format-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\")}\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n />\n <FormikSelect\n data-cy=\"ntm-edit-member-date-format-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.preferredDateFormat\")}\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n />\n </div>\n );\n};\n\nexport default ProfileSettings;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport { Alert, Button, Spinner, cn } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { ArrowLeft, Info } from \"lucide-react\";\nimport { globalProps, taxonomies } from \"neetocommons/v2/initializers\";\nimport { showThumbsUpToastr } from \"neetocommons/v2/utils\";\nimport { useProfileImageUpload } from \"neetoimageuploader/v2\";\nimport { reverse, isEmpty, groupBy, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { useFetchGlobalRoles, useFetchRoles } from \"hooks/roles/useRolesApi\";\nimport {\n useFetchMember,\n useFetchMembers,\n useCreateMember,\n useUpdateMember,\n useMembersCreationStatus,\n refetchMembers,\n} from \"hooks/teams/useTeamsApi\";\n\nimport AppList from \"./AppList\";\nimport Confirmation from \"./Confirmation\";\nimport {\n DEFAULT_COMPONENT_CONFIG,\n MEMBERS_FORM_COMPONENT_MAPPER,\n FORM_PAGES,\n} from \"./constants\";\nimport InviteLink from \"./InviteLink\";\nimport MultipleEmailInput from \"./MultipleEmailInput\";\nimport NameInputs from \"./NameInputs\";\nimport ProfileSettings from \"./ProfileSettings\";\nimport RolesRadioGroup from \"./RolesRadioGroup\";\nimport {\n buildValidationSchema,\n renderInitialValues,\n renderPayload,\n} from \"./utils\";\n\nimport { FormikForm, FormikActionBlock } from \"../../Common/formik\";\nimport ScrollToErrorField from \"../../Common/ScrollToErrorField\";\nimport ProfileImage from \"../../Profile/ProfileImage\";\nimport { getFilteredRoles } from \"../utils\";\n\nconst ManageMember = ({\n config,\n onComplete,\n roles = [],\n selectedMember = null,\n componentConfig = {},\n}) => {\n const { t } = useTranslation();\n\n const [isCreationStatusPollingEnabled, setIsCreationStatusPollingEnabled] =\n useState(false);\n\n const isViewPermissionGranted = config.permissions.view;\n const isNotDevelopment = globalProps.railsEnv !== \"development\";\n\n const { data: team } = useFetchMembers({ enabled: isViewPermissionGranted });\n\n const isManageMemberOpen = !!componentConfig.isOpen;\n\n const { data: memberShowData, isLoading: isMemberDetailLoading } =\n useFetchMember(selectedMember?.id, {\n enabled: !!selectedMember && isManageMemberOpen,\n });\n\n const [currentPage, setCurrentPage] = useState(FORM_PAGES.MAIN);\n const formReference = useRef(null);\n const inputReference = useRef(null);\n const appListSavedStateReference = useRef({ isAppListEnabled: true });\n const shouldSkipAppListPage = useRef(false);\n const formikValues = useRef(null);\n\n const manageMemberComponentConfig = {\n ...DEFAULT_COMPONENT_CONFIG,\n initialFocusRef: inputReference,\n ...componentConfig,\n };\n\n const Component =\n MEMBERS_FORM_COMPONENT_MAPPER[manageMemberComponentConfig.type || \"pane\"];\n\n const haveToFetchRoles = isEmpty(roles) && isViewPermissionGranted;\n\n const isEditForm = !!selectedMember;\n const isLastPage = currentPage === FORM_PAGES.CONFIRMATION || isEditForm;\n\n const { data: rolesList = roles, isLoading: isRolesLoading } = useFetchRoles({\n select: response => reverse(response.organizationRoles ?? []),\n enabled: haveToFetchRoles,\n });\n\n const { data: globalRoles = {}, isLoading: isGlobalRolesLoading } =\n useFetchGlobalRoles({\n select: response => groupBy(prop(\"appName\"), response ?? []),\n enabled: isNotDevelopment && !selectedMember && isViewPermissionGranted,\n });\n\n const filteredRoles = getFilteredRoles(rolesList, config);\n\n const initialFormValues = renderInitialValues({\n additionalFieldsInitialValues: config.additionalFields?.initialValues,\n globalRoles,\n memberShowData,\n roles: filteredRoles,\n selectedMember,\n });\n\n const {\n data: { jobId } = {},\n mutate: createMember,\n isPending: isCreatingMember,\n } = useCreateMember({\n onSuccess: () => setIsCreationStatusPollingEnabled(true),\n });\n\n const refetchInterval = query => {\n const { isCompleted } = query.state.data || {};\n\n if (isCompleted) {\n setIsCreationStatusPollingEnabled(false);\n\n return false;\n }\n\n return 2000;\n };\n\n const { data: creationStatus } = useMembersCreationStatus(jobId, {\n refetchInterval,\n enabled: isCreationStatusPollingEnabled && !!jobId,\n });\n\n useEffect(() => {\n const { isCompleted, isSuccessful, users, error } = creationStatus || {};\n\n if (!isCompleted) return;\n handleClose();\n config?.createMember?.onSuccess?.callback({ users });\n\n if (isSuccessful) {\n showThumbsUpToastr();\n } else {\n toast.error(error);\n }\n\n refetchMembers();\n }, [creationStatus]);\n\n const { mutate: updateMember, isPending: isUpdatingMember } = useUpdateMember(\n {\n onSuccess: () => {\n handleClose(true);\n config?.updateMember?.onSuccess?.callback();\n if (selectedMember?.id === globalProps.user?.id) {\n window.location.reload();\n }\n },\n }\n );\n\n const hasRoleChanged = ({ submitted, values }) =>\n submitted && values?.role !== selectedMember?.role;\n\n const handleClose = (submitted = false) => {\n onComplete({\n submitted: hasRoleChanged({ submitted, values: formikValues.current }),\n });\n setCurrentPage(FORM_PAGES.MAIN);\n appListSavedStateReference.current = { isAppListEnabled: true };\n setIsCreationStatusPollingEnabled(false);\n };\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = async image => {\n let result;\n await uploadImage(image, uploadedImageData => {\n result = uploadedImageData;\n });\n\n return result;\n };\n\n const isProcessing =\n isCreatingMember ||\n isUpdatingMember ||\n isUploading ||\n isRolesLoading ||\n isGlobalRolesLoading ||\n isMemberDetailLoading;\n\n const handleAddMember = async values => {\n if (selectedMember) {\n const payload = renderPayload(values, selectedMember, initialFormValues);\n\n if (values.avatar?.file) {\n if (!payload.profile) payload.profile = {};\n\n if (values.avatar.file === \"_destroy\") {\n payload.profile.avatar = {\n fileId: \"_destroy\",\n filePath: \"\",\n url: \"\",\n };\n } else {\n try {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n payload.profile.avatar = { fileId, filePath, url };\n } catch (error) {\n toast.error(error.message);\n\n return;\n }\n }\n }\n\n updateMember({ id: selectedMember.id, payload });\n } else {\n createMember(renderPayload(values));\n }\n };\n\n const handleOnSubmit = async (values, { setSubmitting }) => {\n shouldSkipAppListPage.current = isEmpty(values.appRoles);\n\n if (isLastPage) {\n await handleAddMember(values);\n } else if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current\n ) {\n setCurrentPage(FORM_PAGES.CONFIRMATION);\n setSubmitting(false);\n } else if (currentPage === FORM_PAGES.MAIN) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n setSubmitting(false);\n }\n };\n\n const handleBackButton = () => {\n if (\n currentPage === FORM_PAGES.APP_LIST ||\n shouldSkipAppListPage.current ||\n currentPage === FORM_PAGES.INVITE_LINK\n ) {\n setCurrentPage(FORM_PAGES.MAIN);\n } else if (currentPage === FORM_PAGES.CONFIRMATION) {\n setCurrentPage(FORM_PAGES.APP_LIST);\n }\n };\n\n const getTitle = () => {\n const memberLabel = taxonomies.member.singular;\n\n if (selectedMember) {\n return t(\"neetoTeamMembers.common.edit_\", { what: memberLabel });\n }\n\n return currentPage === FORM_PAGES.INVITE_LINK\n ? t(\"neetoTeamMembers.common.inviteViaLink\")\n : t(\"neetoTeamMembers.common.addNew_\", { what: memberLabel });\n };\n\n const renderRolesRadioGroup = role => (\n <div className=\"w-full pt-2\">\n <RolesRadioGroup\n {...{ config, globalRoles, role }}\n isEdit={!!selectedMember}\n roles={filteredRoles}\n />\n </div>\n );\n\n const renderFormPage = (page, emails, role, setFieldValue) => {\n switch (page) {\n case FORM_PAGES.MAIN:\n return (\n <>\n {selectedMember && <ProfileImage />}\n {selectedMember && <NameInputs innerRef={inputReference} />}\n <MultipleEmailInput\n {...{ emails, selectedMember, setCurrentPage }}\n innerRef={inputReference}\n />\n {selectedMember && (\n <ProfileSettings\n {...{ setFieldValue }}\n member={{\n ...selectedMember,\n countryIdentifier:\n memberShowData?.member?.countryIdentifier ??\n selectedMember.countryIdentifier,\n }}\n />\n )}\n {renderRolesRadioGroup(role)}\n {config.additionalFields?.component}\n </>\n );\n case FORM_PAGES.APP_LIST:\n return (\n <AppList\n {...{ globalRoles }}\n savedStateRef={appListSavedStateReference}\n />\n );\n case FORM_PAGES.CONFIRMATION:\n return <Confirmation />;\n case FORM_PAGES.INVITE_LINK:\n return (\n <>\n <InviteLink roles={filteredRoles} />\n {renderRolesRadioGroup(role)}\n </>\n );\n default:\n return null;\n }\n };\n\n const isSheet = manageMemberComponentConfig.type !== \"modal\";\n\n return (\n <Component\n data-testid=\"ntm-manage-members-pane-wrapper\"\n isOpen={manageMemberComponentConfig.isOpen}\n className={classnames(\n \"ntm-timezone-shadcn-overrides\",\n manageMemberComponentConfig.className\n )}\n onClose={() => handleClose(false)}\n >\n <Component.Header\n {...(isSheet ? manageMemberComponentConfig.headerProps : {})}\n className={cn(\n isSheet &&\n currentPage !== FORM_PAGES.MAIN &&\n \"flex flex-row items-center gap-2\",\n isSheet && manageMemberComponentConfig.headerProps?.className\n )}\n >\n {isSheet && currentPage !== FORM_PAGES.MAIN && (\n <Button\n aria-label={t(\"neetoTeamMembers.buttons.back\")}\n icon={ArrowLeft}\n size=\"icon-sm\"\n variant=\"ghost\"\n onClick={handleBackButton}\n />\n )}\n <div>\n <Component.Title data-testid=\"ntm-manage-members-pane-header\">\n {getTitle()}\n </Component.Title>\n {selectedMember && Component.Description && (\n <Component.Description>\n {t(\"neetoTeamMembers.helpers.editPaneSubtitle\")}\n </Component.Description>\n )}\n </div>\n </Component.Header>\n <FormikForm\n ref={formReference}\n className={classnames({\n \"flex flex-1 flex-col overflow-hidden\": isSheet,\n })}\n formikProps={{\n enableReinitialize: true,\n initialValues: initialFormValues,\n onSubmit: handleOnSubmit,\n validationSchema: buildValidationSchema({\n selectedMember,\n ...team,\n }),\n }}\n >\n {({ values, isValid, dirty, setFieldValue }) => {\n const { emails, role } = values;\n formikValues.current = values;\n\n return (\n <>\n <ScrollToErrorField formRef={formReference} />\n <div\n {...(isSheet ? manageMemberComponentConfig.bodyProps : {})}\n className={cn(\n isSheet\n ? \"w-full flex-1 space-y-6 overflow-y-auto px-6 pb-4\"\n : \"w-full space-y-6 pb-4\",\n isSheet && manageMemberComponentConfig.bodyProps?.className\n )}\n >\n {}\n {/* eslint-disable-next-line @bigbinary/neeto/no-conditional-overlays */}\n {isSheet && isCreationStatusPollingEnabled && (\n <Alert>\n <Info className=\"size-4\" />\n <Alert.Title className=\"flex items-center gap-2\">\n <Spinner />\n {t(\"neetoTeamMembers.helpers.memberCreationStatus\", {\n count: emails.length,\n })}\n </Alert.Title>\n </Alert>\n )}\n {renderFormPage(currentPage, emails, role, setFieldValue)}\n </div>\n {currentPage !== FORM_PAGES.INVITE_LINK && (\n <Component.Footer\n {...(isSheet ? manageMemberComponentConfig.footerProps : {})}\n className={cn(\n \"flex gap-2\",\n isSheet &&\n manageMemberComponentConfig.footerProps?.className\n )}\n >\n <FormikActionBlock\n cancelButtonProps={{\n \"data-testid\": \"ntm-manage-member-cancel-button\",\n onClick: () => handleClose(false),\n }}\n isSubmitting={\n isProcessing || isCreationStatusPollingEnabled\n }\n submitButtonProps={{\n \"data-testid\": isLastPage\n ? \"ntm-manage-member-submit-button\"\n : \"ntm-manage-member-continue-button\",\n label: isLastPage\n ? t(\"neetoTeamMembers.buttons.saveChanges\")\n : t(\"neetoTeamMembers.buttons.continue\"),\n disabled:\n !isValid ||\n isProcessing ||\n !dirty ||\n isCreationStatusPollingEnabled,\n }}\n />\n </Component.Footer>\n )}\n </>\n );\n }}\n </FormikForm>\n </Component>\n );\n};\n\nexport default ManageMember;\n"],"names":["FormikSwitch","_ref","name","label","className","checkedProp","checked","disabled","onChangeProp","onChange","rest","_objectWithoutProperties","_excluded","_useField","useField","_useField2","_slicedToArray","field","helpers","isChecked","undefined","value","_jsxs","cn","children","_jsx","Switch","_objectSpread","id","onCheckedChange","val","setValue","target","Label","htmlFor","AppList","_globalProps$user","globalRoles","savedStateRef","_useTranslation","useTranslation","t","_useState","useState","current","isAppListEnabled","_useState2","setIsAppListEnabled","_useFormikContext","useFormikContext","_useFormikContext$val","values","_useFormikContext$val2","emails","_useFormikContext$val3","appRoles","setFieldValue","selectedEmail","pluck","isManageProductsLinkEnabled","globalProps","user","isOwner","Object","keys","length","useEffect","forEach","appRole","index","_globalProps$appName","appName","substring","concat","buildRoleOptions","roles","map","role","toLabelAndValue","Checkbox","not","Typography","variant","Trans","i18nKey","components","button","Button","asChild","href","NEETO_AUTH_MANAGE_PRODUCT_URL","_ref2","_globalProps$appName2","isEnabled","isCurrentApp","isAppRoleSelectionChecked","Tooltip","content","product","_ref3","FormikSelect","isDisabled","options","Confirmation","_globalProps$organiza","activeAppRoles","filterBy","isMultipleProduct","_Fragment","Card","size","CardContent","Mail","count","orgName","organization","getSingleInvitationTranslationProps","SINGULAR","activeRole","InviteLink","_inviteLinks$","_inviteLinks$2","_inviteLinks$3","_inviteLinks$4","_inviteLinks$5","_inviteLinks$6","_inviteLinks$7","_useCreateInviteLinks","useCreateInviteLinks","createInviteLink","mutate","isCreateLinkPending","isPending","_useRegenerateInviteL","useRegenerateInviteLink","regenerateLink","_useFetchInviteLinks","useFetchInviteLinks","_useFetchInviteLinks$","data","_useFetchInviteLinks$2","_useFetchInviteLinks$3","inviteLinks","isFetchLinkLoading","isLoading","feedbackMessage","setFeedbackMessage","feedbackTimerRef","useRef","showFeedback","message","clearTimeout","setTimeout","FEEDBACK_DURATION_MS","isInviteLinkEmpty","isEmpty","handleRegenerate","_findBy","findBy","roleId","organizationRoleId","onSuccess","inviteLinkId","payload","Spinner","getInviteURL","token","rel","onClick","CopyToClipboardButton","DropdownMenu","customTarget","icon","EllipsisVertical","Menu","MenuItem","Check","color","weight","strong","expiryDays","remainingExpiryDays","expiresAt","organizationRole","inviteLimit","emailDomain","domain","withT","MultipleEmailInput","_head","_ref$emails","innerRef","_ref$selectedMember","selectedMember","setCurrentPage","isInviteLinkFeatureEnabled","isNeetoAuthApp","handleInputChange","event","email","emailList","valid","EMAIL_REGEX","test","FormikInput","type","head","PLURAL","FORM_PAGES","INVITE_LINK","FormikMultiEmailInput","required","counter","COUNTER_PROPS","filterInvalidEmails","FILTER_INVALID_EMAILS","helpText","placeholder","ref","NameInputs","ProfileSettings","member","setFieldValueRef","_useCountries","useCountries","countryDropdownOptions","isFetchingCountriesList","handleCountryChange","timezoneContainerRef","useCallback","node","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","timeFormat","position","initialValue","timeZone","main","country","countryIdentifier","FormikPhoneNumberInput","option","find","o","dependentFields","dateFormat","LANGUAGE_OPTIONS","TIME_FORMAT_OPTIONS","DATE_FORMAT_OPTIONS","ManageMember","_config$additionalFie","_manageMemberComponen","config","onComplete","_ref$roles","_ref$componentConfig","componentConfig","isCreationStatusPollingEnabled","setIsCreationStatusPollingEnabled","isViewPermissionGranted","permissions","view","isNotDevelopment","railsEnv","_useFetchMembers","useFetchMembers","enabled","team","isManageMemberOpen","isOpen","_useFetchMember","useFetchMember","memberShowData","isMemberDetailLoading","_useState3","MAIN","_useState4","currentPage","formReference","inputReference","appListSavedStateReference","shouldSkipAppListPage","formikValues","manageMemberComponentConfig","DEFAULT_COMPONENT_CONFIG","initialFocusRef","Component","MEMBERS_FORM_COMPONENT_MAPPER","haveToFetchRoles","isEditForm","isLastPage","CONFIRMATION","_useFetchRoles","useFetchRoles","select","response","_response$organizatio","reverse","organizationRoles","_useFetchRoles$data","rolesList","isRolesLoading","_useFetchGlobalRoles","useFetchGlobalRoles","groupBy","prop","_useFetchGlobalRoles$","isGlobalRolesLoading","filteredRoles","getFilteredRoles","initialFormValues","renderInitialValues","additionalFieldsInitialValues","additionalFields","initialValues","_useCreateMember","useCreateMember","_useCreateMember$data","_useCreateMember$data2","jobId","createMember","isCreatingMember","refetchInterval","query","state","isCompleted","_useMembersCreationSt","useMembersCreationStatus","creationStatus","_config$createMember","isSuccessful","users","error","handleClose","callback","showThumbsUpToastr","toast","refetchMembers","_useUpdateMember","useUpdateMember","_config$updateMember","updateMember","window","location","reload","isUpdatingMember","hasRoleChanged","_ref4","submitted","arguments","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","uploadImage","isUploading","handleUploadImage","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","result","wrap","_callee$","_context","prev","next","uploadedImageData","abrupt","stop","_x","apply","isProcessing","handleAddMember","_ref6","_callee2","_values$avatar","_yield$handleUploadIm","fileId","filePath","url","_callee2$","_context2","renderPayload","avatar","file","profile","sent","t0","_x2","handleOnSubmit","_ref8","_callee3","_ref7","setSubmitting","_callee3$","_context3","APP_LIST","_x3","_x4","handleBackButton","getTitle","memberLabel","taxonomies","singular","what","renderRolesRadioGroup","RolesRadioGroup","isEdit","renderFormPage","page","_memberShowData$membe","_memberShowData$membe2","_config$additionalFie2","ProfileImage","component","isSheet","classnames","onClose","Header","headerProps","ArrowLeft","Title","Description","FormikForm","formikProps","enableReinitialize","onSubmit","validationSchema","buildValidationSchema","_ref9","_manageMemberComponen2","_manageMemberComponen3","isValid","dirty","ScrollToErrorField","formRef","bodyProps","Alert","Info","Footer","footerProps","FormikActionBlock","cancelButtonProps","isSubmitting","submitButtonProps"],"mappings":"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"}
@@ -21,9 +21,10 @@ import { TABLE_KEYS, EVENTS } from '../constants.js';
21
21
  import { noop, isNotEmpty, hyphenate, findBy } from '@bigbinary/neeto-cist';
22
22
  import { t } from 'i18next';
23
23
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
24
- import { D as DEFAULT_SELECTED_ROWS, h as handlePageChange, g as getFilteredRoles, a as getColumnData, b as generateNoDataContent, c as DEFAULT_RADIX, M as ManageMember, r as renderUpdateAlert } from '../index-Bk0TH8c8.js';
24
+ import { c as DEFAULT_SELECTED_ROWS, h as handlePageChange, g as getFilteredRoles, e as getColumnData, f as generateNoDataContent, i as DEFAULT_RADIX, r as renderUpdateAlert } from '../utils-DEOuQRcK.js';
25
25
  import { toast } from 'sonner';
26
26
  import NeetoHeader from '@bigbinary/neeto-molecules/v2/Header';
27
+ import ManageMember from './ManageMember.js';
27
28
  import { w as withReactQuery } from '../withReactQuery-CSuiy5RK.js';
28
29
  import '@babel/runtime/helpers/objectWithoutProperties';
29
30
  import '@tanstack/react-query';
@@ -42,6 +43,8 @@ import '@bigbinary/neeto-molecules/MoreDropdown';
42
43
  import '@bigbinary/neetoui/Avatar';
43
44
  import '@bigbinary/neetoui/Dropdown';
44
45
  import '@bigbinary/neetoui/Typography';
46
+ import '@bigbinary/neeto-atoms/primitives';
47
+ import '@bigbinary/neeto-molecules/v2/MoreDropdown';
45
48
  import '@babel/runtime/helpers/asyncToGenerator';
46
49
  import '@babel/runtime/regenerator';
47
50
  import 'classnames';
@@ -63,8 +66,6 @@ import '../inject-css-C2dztUxs.js';
63
66
  import '../useCountriesApi-DK00167T.js';
64
67
  import '../ActionBlock-jgw1N-As.js';
65
68
  import '../index-CKQDhbTA.js';
66
- import '@bigbinary/neeto-atoms/primitives';
67
- import '@bigbinary/neeto-molecules/v2/MoreDropdown';
68
69
 
69
70
  var FIXED_COLUMNS = ["name", "actions"];
70
71
  var MANAGE_ROLES_BUTTON_LABEL = t("neetoTeamMembers.labels.manageRole", PLURAL);
@@ -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, Typography } 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 }}>\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 variant=\"body3\">{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/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 useFilters from \"hooks/useFilters\";\nimport useTeams from \"hooks/useTeams\";\nimport { TABLE_KEYS } from \"src/constants\";\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 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","Title","Body","RadioGroup","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","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, Typography } 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 }}>\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 variant=\"body3\">{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/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 useFilters from \"hooks/useFilters\";\nimport useTeams from \"hooks/useTeams\";\nimport { TABLE_KEYS } from \"src/constants\";\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 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","Title","Body","RadioGroup","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","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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"}