@bigbinary/neeto-team-members-frontend 5.0.49 → 5.0.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/javascript/src/translations/en.json +2 -0
- package/dist/.ready +1 -1
- package/dist/ManageMember.js +8 -3
- package/dist/ManageMember.js.map +1 -1
- package/dist/Profile.js +24 -1
- package/dist/Profile.js.map +1 -1
- package/dist/{ProfileImage-D0i5-rrS.js → ProfileImage-DN5IzFz7.js} +3 -1
- package/dist/ProfileImage-DN5IzFz7.js.map +1 -0
- package/dist/{ProfileImage-CMHNIokr.js → ProfileImage-OoIOAGCe.js} +3 -1
- package/dist/ProfileImage-OoIOAGCe.js.map +1 -0
- package/dist/{RolesRadioGroup-DeHRgUxt.js → RolesRadioGroup-BsARnjvF.js} +6 -3
- package/dist/RolesRadioGroup-BsARnjvF.js.map +1 -0
- package/dist/{RolesRadioGroup-HBzIh4QM.js → RolesRadioGroup-BusIs5tc.js} +6 -3
- package/dist/RolesRadioGroup-BusIs5tc.js.map +1 -0
- package/dist/{RolesRadioGroup-BAcRgBq8.js → RolesRadioGroup-CkqMARV8.js} +6 -3
- package/dist/RolesRadioGroup-CkqMARV8.js.map +1 -0
- package/dist/{RolesRadioGroup-BF_3Aaa-.js → RolesRadioGroup-DsIpgIDf.js} +6 -3
- package/dist/RolesRadioGroup-DsIpgIDf.js.map +1 -0
- package/dist/RolesRadioGroup.js +1 -1
- package/dist/TeamMembers.js +3 -2
- package/dist/TeamMembers.js.map +1 -1
- package/dist/cjs/ManageMember.js +8 -3
- package/dist/cjs/ManageMember.js.map +1 -1
- package/dist/cjs/Profile.js +24 -1
- package/dist/cjs/Profile.js.map +1 -1
- package/dist/cjs/RolesRadioGroup.js +1 -1
- package/dist/cjs/TeamMembers.js +3 -2
- package/dist/cjs/TeamMembers.js.map +1 -1
- package/dist/cjs/index.js +3 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/v2/ManageMember.js +3 -2
- package/dist/cjs/v2/ManageMember.js.map +1 -1
- package/dist/cjs/v2/Profile.js +15 -0
- package/dist/cjs/v2/Profile.js.map +1 -1
- package/dist/cjs/v2/RolesRadioGroup.js +1 -1
- package/dist/cjs/v2/TeamMembers.js +3 -2
- package/dist/cjs/v2/TeamMembers.js.map +1 -1
- package/dist/cjs/v2/index.js +3 -2
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/{index-BVP8rWFt.js → index-CVADXnpl.js} +8 -3
- package/dist/index-CVADXnpl.js.map +1 -0
- package/dist/{index-ngX40yXy.js → index-D0px8LnB.js} +8 -3
- package/dist/index-D0px8LnB.js.map +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/v2/ManageMember.js +3 -2
- package/dist/v2/ManageMember.js.map +1 -1
- package/dist/v2/Profile.js +15 -0
- package/dist/v2/Profile.js.map +1 -1
- package/dist/v2/RolesRadioGroup.js +1 -1
- package/dist/v2/TeamMembers.js +3 -2
- package/dist/v2/TeamMembers.js.map +1 -1
- package/dist/v2/index.js +3 -2
- package/dist/v2/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/ProfileImage-CMHNIokr.js.map +0 -1
- package/dist/ProfileImage-D0i5-rrS.js.map +0 -1
- package/dist/RolesRadioGroup-BAcRgBq8.js.map +0 -1
- package/dist/RolesRadioGroup-BF_3Aaa-.js.map +0 -1
- package/dist/RolesRadioGroup-DeHRgUxt.js.map +0 -1
- package/dist/RolesRadioGroup-HBzIh4QM.js.map +0 -1
- package/dist/index-BVP8rWFt.js.map +0 -1
- package/dist/index-ngX40yXy.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManageMember.js","sources":["../../app/javascript/src/components/TeamMembers/ManageMember/AppList.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/Confirmation.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/InviteLink.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/MultipleEmailInput.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/NameInputs.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/ProfileSettings.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/index.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Checkbox, Tooltip, Button, Typography } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { pluck, not } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { NEETO_AUTH_MANAGE_PRODUCT_URL } from \"./constants\";\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=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full space-y-3\">\n <Checkbox\n checked={isAppListEnabled}\n className=\"ntm-manage-members__checkbox-align-start\"\n data-testid=\"ntm-manage-members-app-list-checkbox\"\n label={\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.addMembersToNeetoProducts\"\n values={{ emails: selectedEmail }}\n />\n </Typography>\n }\n onChange={() => setIsAppListEnabled(not)}\n />\n {isManageProductsLinkEnabled && (\n <Typography style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.manageProducts\"\n components={{\n button: (\n <Button href={NEETO_AUTH_MANAGE_PRODUCT_URL} style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n </div>\n <div className=\"neeto-ui-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 className=\"ntm-manage-members__app-roles\" key={appName}>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.hostAppIsRequired\")}\n disabled={!isCurrentApp}\n position=\"left\"\n >\n <span>\n <Switch\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={t(\"neetoTeamMembers.tooltips.goBackToChangeRole\")}\n disabled={!isCurrentApp}\n position=\"top\"\n >\n <span className=\"ntm-manage-members-app-roles__select-wrapper\">\n <Select\n dataTestid=\"ntm-manage-members-app-roles\"\n isDisabled={isCurrentApp || !isEnabled}\n name={`appRoles[${index}].activeRole`}\n options={buildRoleOptions(globalRoles[appName])}\n size=\"small\"\n strategy=\"fixed\"\n onChange={({ value }) => {\n setFieldValue(`appRoles[${index}].activeRole`, value);\n }}\n />\n </span>\n </Tooltip>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default AppList;\n","import { useFormikContext } from \"formik\";\nimport { filterBy } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\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\n return activeAppRoles.length > 1 ? (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.multipleProductInvitation\"\n values={{\n count: selectedEmail.length,\n emails: selectedEmail,\n orgName: globalProps.organization?.name,\n }}\n />\n </Typography>\n </div>\n <table className=\"neeto-ui-w-full ntm-product-roles-table\">\n <thead>\n <tr>\n <th>{t(\"neetoTeamMembers.common.productName\")}</th>\n <th>{t(\"neetoTeamMembers.common.role\", SINGULAR)}</th>\n </tr>\n </thead>\n <tbody>\n {activeAppRoles.map(({ appName, activeRole }) => (\n <tr key={appName}>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {t(\"neetoTeamMembers.labels.neeto_\", { product: appName })}\n </Typography>\n </td>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {activeRole}\n </Typography>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n ) : (\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.singleProductInvitation\"\n values={getSingleInvitationTranslationProps({\n activeAppRoles,\n role,\n selectedEmail,\n })}\n />\n </Typography>\n );\n};\n\nexport default Confirmation;\n","import { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Dropdown, Spinner, Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n useFetchInviteLinks,\n useCreateInviteLinks,\n useRegenerateInviteLink,\n} from \"hooks/reactQuery/useInviteLinksApi\";\n\nimport { getInviteURL, remainingExpiryDays } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\nconst { Button: MenuItemButton } = MenuItem;\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 isInviteLinkEmpty = !isFetchLinkLoading && isEmpty(inviteLinks);\n\n const handleRegenerate = () => {\n const { id: roleId } = findBy({ name: values.role }, roles);\n if (isEmpty(inviteLinks)) {\n createInviteLink({ organizationRoleId: roleId });\n\n return;\n }\n\n regenerateLink({\n inviteLinkId: inviteLinks[0].id,\n payload: { organizationRoleId: roleId },\n });\n };\n\n if (isFetchLinkLoading || isCreateLinkPending) {\n return (\n <div className=\"neeto-ui-w-full flex justify-center items-center\">\n <Spinner size=\"large\" />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-ui-w-full space-y-2\">\n <div className=\"flex items-center gap-2 pt-1\">\n <div className=\"neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 grow items-center truncate border leading-none\">\n <div className=\"relative min-w-0 grow truncate p-2 leading-none\">\n {!isInviteLinkEmpty && getInviteURL(inviteLinks?.[0]?.token)}\n </div>\n {isInviteLinkEmpty ? (\n <Button\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.generateLink\")}\n onClick={handleRegenerate}\n />\n ) : (\n <CopyToClipboardButton\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.copyLink\")}\n value={getInviteURL(inviteLinks?.[0]?.token)}\n />\n )}\n </div>\n {!isInviteLinkEmpty && (\n <Dropdown\n buttonProps={{ className: \"shrink-0\" }}\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n >\n <Menu>\n <MenuItem>\n <MenuItemButton onClick={handleRegenerate}>\n {t(\"neetoTeamMembers.buttons.regenerateLink\")}\n </MenuItemButton>\n </MenuItem>\n </Menu>\n </Dropdown>\n )}\n </div>\n <div>\n {!isInviteLinkEmpty && (\n <Typography\n className=\"leading-relaxed neeto-ui-text-gray-500\"\n style=\"body3\"\n >\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 { useFormikContext } from \"formik\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { MultiEmailInput, Input } from \"neetoui/formik\";\nimport { head } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isNeetoAuthApp } from \"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=\"neeto-ui-w-full\">\n {selectedMember ? (\n <Input\n data-testid=\"ntm-manage-member-email-input\"\n name=\"emails\"\n size=\"medium\"\n type=\"email\"\n value={head(emails)?.value}\n label={\n <span className=\"neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between\">\n <Typography component=\"span\" style=\"body2\">\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 required>{t(\"neetoTeamMembers.common.email\", PLURAL)}</Label>\n {isInviteLinkFeatureEnabled && (\n <Button\n label={t(\"neetoTeamMembers.buttons.inviteLink\")}\n style=\"link\"\n onClick={() => setCurrentPage(FORM_PAGES.INVITE_LINK)}\n />\n )}\n </div>\n <MultiEmailInput\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 { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nconst NameInputs = withT(({ t, innerRef }) => (\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4 pt-4 border-t mt-0 neeto-ui-border-gray-200\">\n <Input\n data-testid=\"ntm-edit-member-first-name-text-field\"\n label={t(\"neetoTeamMembers.labels.firstName\")}\n name=\"firstName\"\n ref={innerRef}\n />\n <Input\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 { useEffect, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport classNames from \"classnames\";\nimport { findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport useCountries from \"components/Profile/hooks/useCountries\";\n\nconst ProfileSettings = ({\n member,\n setFieldValue,\n isTimezoneFieldDisabled,\n}) => {\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 selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange,\n } = useCountries();\n\n const timezoneContainerRef = useRef(null);\n\n useEffect(() => {\n const node = timezoneContainerRef.current;\n if (!node) return undefined;\n\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 disabled: isTimezoneFieldDisabled,\n });\n\n return () => {\n node.innerHTML = \"\";\n };\n }, [member.timeZone, member.timeFormat, isTimezoneFieldDisabled]);\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-4\" data-cy=\"ntm-profile-settings\">\n <Select\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 value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <Select\n data-cy=\"ntm-edit-member-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n onChange={option => setFieldValue(\"language\", option.value)}\n />\n <div className=\"space-y-2\">\n <Label>{t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}</Label>\n <div\n data-cy=\"ntm-edit-member-timezone-select\"\n ref={timezoneContainerRef}\n className={classNames(\"w-full grow\", {\n \"neeto-ui-bg-gray-100 pointer-events-none\": isTimezoneFieldDisabled,\n })}\n />\n </div>\n <Select\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 onChange={option => setFieldValue(\"timeFormat\", option.value)}\n />\n <Select\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 onChange={option => setFieldValue(\"dateFormat\", option.value)}\n />\n </div>\n );\n};\n\nexport default ProfileSettings;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { globalProps, taxonomies } from \"neetocommons/initializers\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Info, LeftArrow } from \"neetoicons\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Button, Typography, Toastr, Callout, Spinner } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { reverse, isEmpty, groupBy, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport ProfileImage from \"components/Profile/ProfileImage\";\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// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/manage-members.css\";\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 { 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 { data: memberShowData, isLoading: isMemberDetailLoading } =\n useFetchMember(selectedMember?.id, { enabled: !!selectedMember });\n\n const isTimezoneFieldDisabled =\n selectedMember &&\n memberShowData &&\n !selectedMember.isOwner &&\n !memberShowData.timezoneChangeEnabled;\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 {\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,\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 Toastr.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 let didUpload = false;\n await uploadImage(image, uploadedImageData => {\n didUpload = true;\n result = uploadedImageData;\n });\n\n if (!didUpload) {\n throw new Error(t(\"neetoTeamMembers.common.imageUploadFailed\"));\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);\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 Toastr.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=\"pt-4 border-t neeto-ui-border-gray-200 w-full\">\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 {...{ isTimezoneFieldDisabled, 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 return (\n <Component\n className={manageMemberComponentConfig.className}\n data-testid=\"ntm-manage-members-pane-wrapper\"\n initialFocusRef={manageMemberComponentConfig.initialFocusRef}\n isOpen={manageMemberComponentConfig.isOpen}\n onClose={() => handleClose(false)}\n >\n <Component.Header\n {...manageMemberComponentConfig.headerProps}\n className={classnames([\n { \"ntm-manage-members__header\": currentPage !== FORM_PAGES.MAIN },\n manageMemberComponentConfig.headerProps?.className,\n ])}\n >\n {currentPage !== FORM_PAGES.MAIN && (\n <Button\n aria-label=\"Back\"\n icon={LeftArrow}\n size=\"medium\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoTeamMembers.buttons.back\"),\n position: \"bottom\",\n }}\n onClick={handleBackButton}\n />\n )}\n <Typography\n className=\"ntm-members-form__header\"\n data-testid=\"ntm-manage-members-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {getTitle()}\n </Typography>\n {selectedMember && (\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.editPaneSubtitle\")}\n </Typography>\n )}\n </Component.Header>\n <Form\n ref={formReference}\n formikProps={{\n enableReinitialize: true,\n initialValues: renderInitialValues({\n additionalFieldsInitialValues:\n config.additionalFields?.initialValues,\n globalRoles,\n memberShowData,\n roles: filteredRoles,\n selectedMember,\n }),\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 <Component.Body\n {...manageMemberComponentConfig.bodyProps}\n className={classnames([\n \"ntm-members-form__body\",\n manageMemberComponentConfig.bodyProps?.className,\n ])}\n >\n {isCreationStatusPollingEnabled && (\n <Callout className=\"w-full\" icon={Info} style=\"info\">\n <Spinner size=\"small\" />\n {t(\"neetoTeamMembers.helpers.memberCreationStatus\", {\n count: emails.length,\n })}\n </Callout>\n )}\n {renderFormPage(currentPage, emails, role, setFieldValue)}\n </Component.Body>\n {currentPage !== FORM_PAGES.INVITE_LINK && (\n <Component.Footer\n {...manageMemberComponentConfig.footerProps}\n className={classnames([\n \"ntm-members-form__footer\",\n manageMemberComponentConfig.footerProps?.className,\n ])}\n >\n <ActionBlock\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 </Form>\n </Component>\n );\n};\n\nexport default ManageMember;\n"],"names":["AppList","_ref","_globalProps$user","globalRoles","savedStateRef","_useTranslation","useTranslation","t","_useState","useState","current","isAppListEnabled","_useState2","_slicedToArray","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","name","_jsxs","className","children","_jsx","Checkbox","checked","label","Typography","component","lineHeight","style","Trans","i18nKey","onChange","not","components","button","Button","href","NEETO_AUTH_MANAGE_PRODUCT_URL","_ref2","_globalProps$appName2","isEnabled","isCurrentApp","isAppRoleSelectionChecked","Tooltip","content","disabled","position","Switch","product","_ref3","target","Select","dataTestid","isDisabled","options","size","strategy","_ref4","value","Confirmation","_globalProps$organiza","activeAppRoles","filterBy","count","orgName","organization","SINGULAR","activeRole","getSingleInvitationTranslationProps","Menu","Dropdown","MenuItem","MenuItemButton","InviteLink","_inviteLinks$","_inviteLinks$2","_inviteLinks$3","_inviteLinks$4","_inviteLinks$5","_inviteLinks$6","_useCreateInviteLinks","useCreateInviteLinks","createInviteLink","mutate","isCreateLinkPending","isPending","_useRegenerateInviteL","useRegenerateInviteLink","regenerateLink","_useFetchInviteLinks","useFetchInviteLinks","_useFetchInviteLinks$","data","_useFetchInviteLinks$2","_useFetchInviteLinks$3","inviteLinks","isFetchLinkLoading","isLoading","isInviteLinkEmpty","isEmpty","handleRegenerate","_findBy","findBy","roleId","id","organizationRoleId","inviteLinkId","payload","Spinner","getInviteURL","token","onClick","CopyToClipboardButton","buttonProps","buttonStyle","icon","MenuHorizontal","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","Input","type","head","Label","required","PLURAL","FORM_PAGES","INVITE_LINK","MultiEmailInput","counter","COUNTER_PROPS","filterInvalidEmails","FILTER_INVALID_EMAILS","helpText","placeholder","ref","NameInputs","ProfileSettings","member","isTimezoneFieldDisabled","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","handleCountryChange","timezoneContainerRef","node","undefined","NeetoTimezoneSelector","isTimeFormat24H","timeFormat","initialValue","timeZone","main","innerHTML","country","countryIdentifier","option","dependentFields","dateFormat","LANGUAGE_OPTIONS","classNames","TIME_FORMAT_OPTIONS","DATE_FORMAT_OPTIONS","ManageMember","_manageMemberComponen","_config$additionalFie2","config","onComplete","_ref$roles","_ref$componentConfig","componentConfig","isCreationStatusPollingEnabled","setIsCreationStatusPollingEnabled","isViewPermissionGranted","permissions","view","isNotDevelopment","railsEnv","_useFetchMembers","useFetchMembers","enabled","team","_useFetchMember","useFetchMember","memberShowData","isMemberDetailLoading","timezoneChangeEnabled","_useState3","MAIN","_useState4","currentPage","formReference","inputReference","appListSavedStateReference","shouldSkipAppListPage","formikValues","manageMemberComponentConfig","_objectSpread","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","_useCreateMember","useCreateMember","onSuccess","_useCreateMember$data","_useCreateMember$data2","jobId","createMember","isCreatingMember","refetchInterval","query","state","isCompleted","_useMembersCreationSt","useMembersCreationStatus","creationStatus","_config$createMember","isSuccessful","users","error","handleClose","callback","showThumbsUpToastr","Toastr","refetchMembers","_useUpdateMember","useUpdateMember","_config$updateMember","updateMember","window","location","reload","isUpdatingMember","hasRoleChanged","submitted","arguments","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","uploadImage","isUploading","handleUploadImage","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","result","didUpload","wrap","_callee$","_context","prev","next","uploadedImageData","Error","abrupt","stop","_x","apply","isProcessing","handleAddMember","_ref6","_callee2","_values$avatar","_yield$handleUploadIm","fileId","filePath","url","_callee2$","_context2","renderPayload","avatar","file","profile","sent","t0","message","_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$additionalFie","_Fragment","ProfileImage","additionalFields","isOpen","onClose","Header","headerProps","classnames","LeftArrow","tooltipProps","weight","Form","formikProps","enableReinitialize","initialValues","renderInitialValues","additionalFieldsInitialValues","onSubmit","validationSchema","buildValidationSchema","_ref9","_manageMemberComponen2","_manageMemberComponen3","isValid","dirty","ScrollToErrorField","formRef","Body","bodyProps","Callout","Info","Footer","footerProps","ActionBlock","cancelButtonProps","isSubmitting","submitButtonProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManageMember.js","sources":["../../app/javascript/src/components/TeamMembers/ManageMember/AppList.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/Confirmation.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/InviteLink.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/MultipleEmailInput.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/NameInputs.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/ProfileSettings.jsx","../../app/javascript/src/components/TeamMembers/ManageMember/index.jsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { toLabelAndValue } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Checkbox, Tooltip, Button, Typography } from \"neetoui\";\nimport { Select, Switch } from \"neetoui/formik\";\nimport { pluck, not } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { NEETO_AUTH_MANAGE_PRODUCT_URL } from \"./constants\";\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=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full space-y-3\">\n <Checkbox\n checked={isAppListEnabled}\n className=\"ntm-manage-members__checkbox-align-start\"\n data-testid=\"ntm-manage-members-app-list-checkbox\"\n label={\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.addMembersToNeetoProducts\"\n values={{ emails: selectedEmail }}\n />\n </Typography>\n }\n onChange={() => setIsAppListEnabled(not)}\n />\n {isManageProductsLinkEnabled && (\n <Typography style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.manageProducts\"\n components={{\n button: (\n <Button href={NEETO_AUTH_MANAGE_PRODUCT_URL} style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n </div>\n <div className=\"neeto-ui-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 className=\"ntm-manage-members__app-roles\" key={appName}>\n <Tooltip\n content={t(\"neetoTeamMembers.tooltips.hostAppIsRequired\")}\n disabled={!isCurrentApp}\n position=\"left\"\n >\n <span>\n <Switch\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={t(\"neetoTeamMembers.tooltips.goBackToChangeRole\")}\n disabled={!isCurrentApp}\n position=\"top\"\n >\n <span className=\"ntm-manage-members-app-roles__select-wrapper\">\n <Select\n dataTestid=\"ntm-manage-members-app-roles\"\n isDisabled={isCurrentApp || !isEnabled}\n name={`appRoles[${index}].activeRole`}\n options={buildRoleOptions(globalRoles[appName])}\n size=\"small\"\n strategy=\"fixed\"\n onChange={({ value }) => {\n setFieldValue(`appRoles[${index}].activeRole`, value);\n }}\n />\n </span>\n </Tooltip>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default AppList;\n","import { useFormikContext } from \"formik\";\nimport { filterBy } from \"neetocist\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Typography } from \"neetoui\";\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\n return activeAppRoles.length > 1 ? (\n <div className=\"neeto-ui-flex neeto-ui-flex-col neeto-ui-gap-6\">\n <div className=\"neeto-ui-w-full\">\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.multipleProductInvitation\"\n values={{\n count: selectedEmail.length,\n emails: selectedEmail,\n orgName: globalProps.organization?.name,\n }}\n />\n </Typography>\n </div>\n <table className=\"neeto-ui-w-full ntm-product-roles-table\">\n <thead>\n <tr>\n <th>{t(\"neetoTeamMembers.common.productName\")}</th>\n <th>{t(\"neetoTeamMembers.common.role\", SINGULAR)}</th>\n </tr>\n </thead>\n <tbody>\n {activeAppRoles.map(({ appName, activeRole }) => (\n <tr key={appName}>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {t(\"neetoTeamMembers.labels.neeto_\", { product: appName })}\n </Typography>\n </td>\n <td>\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n {activeRole}\n </Typography>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n ) : (\n <Typography component=\"span\" lineHeight=\"relaxed\" style=\"body2\">\n <Trans\n i18nKey=\"neetoTeamMembers.helpers.singleProductInvitation\"\n values={getSingleInvitationTranslationProps({\n activeAppRoles,\n role,\n selectedEmail,\n })}\n />\n </Typography>\n );\n};\n\nexport default Confirmation;\n","import { useFormikContext } from \"formik\";\nimport { findBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Dropdown, Spinner, Button, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport {\n useFetchInviteLinks,\n useCreateInviteLinks,\n useRegenerateInviteLink,\n} from \"hooks/reactQuery/useInviteLinksApi\";\n\nimport { getInviteURL, remainingExpiryDays } from \"./utils\";\n\nconst { Menu, MenuItem } = Dropdown;\nconst { Button: MenuItemButton } = MenuItem;\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 isInviteLinkEmpty = !isFetchLinkLoading && isEmpty(inviteLinks);\n\n const handleRegenerate = () => {\n const { id: roleId } = findBy({ name: values.role }, roles);\n if (isEmpty(inviteLinks)) {\n createInviteLink({ organizationRoleId: roleId });\n\n return;\n }\n\n regenerateLink({\n inviteLinkId: inviteLinks[0].id,\n payload: { organizationRoleId: roleId },\n });\n };\n\n if (isFetchLinkLoading || isCreateLinkPending) {\n return (\n <div className=\"neeto-ui-w-full flex justify-center items-center\">\n <Spinner size=\"large\" />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-ui-w-full space-y-2\">\n <div className=\"flex items-center gap-2 pt-1\">\n <div className=\"neeto-ui-rounded-md neeto-ui-border-gray-300 neeto-ui-bg-gray-50 relative flex min-w-0 grow items-center truncate border leading-none\">\n <div className=\"relative min-w-0 grow truncate p-2 leading-none\">\n {!isInviteLinkEmpty && getInviteURL(inviteLinks?.[0]?.token)}\n </div>\n {isInviteLinkEmpty ? (\n <Button\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.generateLink\")}\n onClick={handleRegenerate}\n />\n ) : (\n <CopyToClipboardButton\n className=\"rounded-ss-none rounded-es-none\"\n label={t(\"neetoTeamMembers.buttons.copyLink\")}\n value={getInviteURL(inviteLinks?.[0]?.token)}\n />\n )}\n </div>\n {!isInviteLinkEmpty && (\n <Dropdown\n buttonProps={{ className: \"shrink-0\" }}\n buttonStyle=\"text\"\n icon={MenuHorizontal}\n >\n <Menu>\n <MenuItem>\n <MenuItemButton onClick={handleRegenerate}>\n {t(\"neetoTeamMembers.buttons.regenerateLink\")}\n </MenuItemButton>\n </MenuItem>\n </Menu>\n </Dropdown>\n )}\n </div>\n <div>\n {!isInviteLinkEmpty && (\n <Typography\n className=\"leading-relaxed neeto-ui-text-gray-500\"\n style=\"body3\"\n >\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 { useFormikContext } from \"formik\";\nimport { PLURAL, SINGULAR } from \"neetocommons/constants\";\nimport { Typography, Label, Button } from \"neetoui\";\nimport { MultiEmailInput, Input } from \"neetoui/formik\";\nimport { head } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isNeetoAuthApp } from \"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=\"neeto-ui-w-full\">\n {selectedMember ? (\n <Input\n data-testid=\"ntm-manage-member-email-input\"\n name=\"emails\"\n size=\"medium\"\n type=\"email\"\n value={head(emails)?.value}\n label={\n <span className=\"neeto-ui-w-full neeto-ui-flex neeto-ui-justify-between\">\n <Typography component=\"span\" style=\"body2\">\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 required>{t(\"neetoTeamMembers.common.email\", PLURAL)}</Label>\n {isInviteLinkFeatureEnabled && (\n <Button\n label={t(\"neetoTeamMembers.buttons.inviteLink\")}\n style=\"link\"\n onClick={() => setCurrentPage(FORM_PAGES.INVITE_LINK)}\n />\n )}\n </div>\n <MultiEmailInput\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 { withT } from \"neetocommons/react-utils\";\nimport { Input } from \"neetoui/formik\";\n\nconst NameInputs = withT(({ t, innerRef }) => (\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-gap-4 pt-4 border-t mt-0 neeto-ui-border-gray-200\">\n <Input\n data-testid=\"ntm-edit-member-first-name-text-field\"\n label={t(\"neetoTeamMembers.labels.firstName\")}\n name=\"firstName\"\n ref={innerRef}\n />\n <Input\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 { useEffect, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport classNames from \"classnames\";\nimport { findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { FormikPhoneNumberInput } from \"neetomolecules/PhoneNumber\";\nimport { Label } from \"neetoui\";\nimport { Select } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport useCountries from \"components/Profile/hooks/useCountries\";\n\nconst ProfileSettings = ({\n member,\n setFieldValue,\n isTimezoneFieldDisabled,\n}) => {\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 selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange,\n } = useCountries();\n\n const timezoneContainerRef = useRef(null);\n\n useEffect(() => {\n const node = timezoneContainerRef.current;\n if (!node) return undefined;\n\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 disabled: isTimezoneFieldDisabled,\n });\n\n return () => {\n node.innerHTML = \"\";\n };\n }, [member.timeZone, member.timeFormat, isTimezoneFieldDisabled]);\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-4\" 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 <Select\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 value={selectedCountryOption}\n onChange={option => {\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n setFieldValue(\"countryId\", option?.value);\n }}\n />\n <Select\n data-cy=\"ntm-edit-member-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n onChange={option => setFieldValue(\"language\", option.value)}\n />\n <div className=\"space-y-2\">\n <Label>{t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}</Label>\n <div\n data-cy=\"ntm-edit-member-timezone-select\"\n ref={timezoneContainerRef}\n className={classNames(\"w-full grow\", {\n \"neeto-ui-bg-gray-100 pointer-events-none\": isTimezoneFieldDisabled,\n })}\n />\n </div>\n <Select\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 onChange={option => setFieldValue(\"timeFormat\", option.value)}\n />\n <Select\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 onChange={option => setFieldValue(\"dateFormat\", option.value)}\n />\n </div>\n );\n};\n\nexport default ProfileSettings;\n","import { useRef, useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport { globalProps, taxonomies } from \"neetocommons/initializers\";\nimport { showThumbsUpToastr } from \"neetocommons/utils\";\nimport { Info, LeftArrow } from \"neetoicons\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Button, Typography, Toastr, Callout, Spinner } from \"neetoui\";\nimport { ActionBlock, Form } from \"neetoui/formik\";\nimport { reverse, isEmpty, groupBy, prop } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ScrollToErrorField from \"components/Common/ScrollToErrorField\";\nimport ProfileImage from \"components/Profile/ProfileImage\";\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// eslint-disable-next-line import/extensions\nimport \"src/stylesheets/components/manage-members.css\";\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 { 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 { data: memberShowData, isLoading: isMemberDetailLoading } =\n useFetchMember(selectedMember?.id, { enabled: !!selectedMember });\n\n const isTimezoneFieldDisabled =\n selectedMember &&\n memberShowData &&\n !selectedMember.isOwner &&\n !memberShowData.timezoneChangeEnabled;\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 {\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,\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 Toastr.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 let didUpload = false;\n await uploadImage(image, uploadedImageData => {\n didUpload = true;\n result = uploadedImageData;\n });\n\n if (!didUpload) {\n throw new Error(t(\"neetoTeamMembers.common.imageUploadFailed\"));\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);\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 Toastr.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=\"pt-4 border-t neeto-ui-border-gray-200 w-full\">\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 {...{ isTimezoneFieldDisabled, 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 return (\n <Component\n className={manageMemberComponentConfig.className}\n data-testid=\"ntm-manage-members-pane-wrapper\"\n initialFocusRef={manageMemberComponentConfig.initialFocusRef}\n isOpen={manageMemberComponentConfig.isOpen}\n onClose={() => handleClose(false)}\n >\n <Component.Header\n {...manageMemberComponentConfig.headerProps}\n className={classnames([\n { \"ntm-manage-members__header\": currentPage !== FORM_PAGES.MAIN },\n manageMemberComponentConfig.headerProps?.className,\n ])}\n >\n {currentPage !== FORM_PAGES.MAIN && (\n <Button\n aria-label=\"Back\"\n icon={LeftArrow}\n size=\"medium\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoTeamMembers.buttons.back\"),\n position: \"bottom\",\n }}\n onClick={handleBackButton}\n />\n )}\n <Typography\n className=\"ntm-members-form__header\"\n data-testid=\"ntm-manage-members-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {getTitle()}\n </Typography>\n {selectedMember && (\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n {t(\"neetoTeamMembers.helpers.editPaneSubtitle\")}\n </Typography>\n )}\n </Component.Header>\n <Form\n ref={formReference}\n formikProps={{\n enableReinitialize: true,\n initialValues: renderInitialValues({\n additionalFieldsInitialValues:\n config.additionalFields?.initialValues,\n globalRoles,\n memberShowData,\n roles: filteredRoles,\n selectedMember,\n }),\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 <Component.Body\n {...manageMemberComponentConfig.bodyProps}\n className={classnames([\n \"ntm-members-form__body\",\n manageMemberComponentConfig.bodyProps?.className,\n ])}\n >\n {isCreationStatusPollingEnabled && (\n <Callout className=\"w-full\" icon={Info} style=\"info\">\n <Spinner size=\"small\" />\n {t(\"neetoTeamMembers.helpers.memberCreationStatus\", {\n count: emails.length,\n })}\n </Callout>\n )}\n {renderFormPage(currentPage, emails, role, setFieldValue)}\n </Component.Body>\n {currentPage !== FORM_PAGES.INVITE_LINK && (\n <Component.Footer\n {...manageMemberComponentConfig.footerProps}\n className={classnames([\n \"ntm-members-form__footer\",\n manageMemberComponentConfig.footerProps?.className,\n ])}\n >\n <ActionBlock\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 </Form>\n </Component>\n );\n};\n\nexport default ManageMember;\n"],"names":["AppList","_ref","_globalProps$user","globalRoles","savedStateRef","_useTranslation","useTranslation","t","_useState","useState","current","isAppListEnabled","_useState2","_slicedToArray","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","name","_jsxs","className","children","_jsx","Checkbox","checked","label","Typography","component","lineHeight","style","Trans","i18nKey","onChange","not","components","button","Button","href","NEETO_AUTH_MANAGE_PRODUCT_URL","_ref2","_globalProps$appName2","isEnabled","isCurrentApp","isAppRoleSelectionChecked","Tooltip","content","disabled","position","Switch","product","_ref3","target","Select","dataTestid","isDisabled","options","size","strategy","_ref4","value","Confirmation","_globalProps$organiza","activeAppRoles","filterBy","count","orgName","organization","SINGULAR","activeRole","getSingleInvitationTranslationProps","Menu","Dropdown","MenuItem","MenuItemButton","InviteLink","_inviteLinks$","_inviteLinks$2","_inviteLinks$3","_inviteLinks$4","_inviteLinks$5","_inviteLinks$6","_useCreateInviteLinks","useCreateInviteLinks","createInviteLink","mutate","isCreateLinkPending","isPending","_useRegenerateInviteL","useRegenerateInviteLink","regenerateLink","_useFetchInviteLinks","useFetchInviteLinks","_useFetchInviteLinks$","data","_useFetchInviteLinks$2","_useFetchInviteLinks$3","inviteLinks","isFetchLinkLoading","isLoading","isInviteLinkEmpty","isEmpty","handleRegenerate","_findBy","findBy","roleId","id","organizationRoleId","inviteLinkId","payload","Spinner","getInviteURL","token","onClick","CopyToClipboardButton","buttonProps","buttonStyle","icon","MenuHorizontal","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","Input","type","head","Label","required","PLURAL","FORM_PAGES","INVITE_LINK","MultiEmailInput","counter","COUNTER_PROPS","filterInvalidEmails","FILTER_INVALID_EMAILS","helpText","placeholder","ref","NameInputs","ProfileSettings","member","isTimezoneFieldDisabled","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","handleCountryChange","timezoneContainerRef","node","undefined","NeetoTimezoneSelector","isTimeFormat24H","timeFormat","initialValue","timeZone","main","innerHTML","country","countryIdentifier","FormikPhoneNumberInput","option","dependentFields","dateFormat","LANGUAGE_OPTIONS","classNames","TIME_FORMAT_OPTIONS","DATE_FORMAT_OPTIONS","ManageMember","_manageMemberComponen","_config$additionalFie2","config","onComplete","_ref$roles","_ref$componentConfig","componentConfig","isCreationStatusPollingEnabled","setIsCreationStatusPollingEnabled","isViewPermissionGranted","permissions","view","isNotDevelopment","railsEnv","_useFetchMembers","useFetchMembers","enabled","team","_useFetchMember","useFetchMember","memberShowData","isMemberDetailLoading","timezoneChangeEnabled","_useState3","MAIN","_useState4","currentPage","formReference","inputReference","appListSavedStateReference","shouldSkipAppListPage","formikValues","manageMemberComponentConfig","_objectSpread","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","_useCreateMember","useCreateMember","onSuccess","_useCreateMember$data","_useCreateMember$data2","jobId","createMember","isCreatingMember","refetchInterval","query","state","isCompleted","_useMembersCreationSt","useMembersCreationStatus","creationStatus","_config$createMember","isSuccessful","users","error","handleClose","callback","showThumbsUpToastr","Toastr","refetchMembers","_useUpdateMember","useUpdateMember","_config$updateMember","updateMember","window","location","reload","isUpdatingMember","hasRoleChanged","submitted","arguments","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","uploadImage","isUploading","handleUploadImage","_ref5","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","result","didUpload","wrap","_callee$","_context","prev","next","uploadedImageData","Error","abrupt","stop","_x","apply","isProcessing","handleAddMember","_ref6","_callee2","_values$avatar","_yield$handleUploadIm","fileId","filePath","url","_callee2$","_context2","renderPayload","avatar","file","profile","sent","t0","message","_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$additionalFie","_Fragment","ProfileImage","additionalFields","isOpen","onClose","Header","headerProps","classnames","LeftArrow","tooltipProps","weight","Form","formikProps","enableReinitialize","initialValues","renderInitialValues","additionalFieldsInitialValues","onSubmit","validationSchema","buildValidationSchema","_ref9","_manageMemberComponen2","_manageMemberComponen3","isValid","dirty","ScrollToErrorField","formRef","Body","bodyProps","Callout","Info","Footer","footerProps","ActionBlock","cancelButtonProps","isSubmitting","submitButtonProps"],"mappings":"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"}
|
package/dist/cjs/Profile.js
CHANGED
|
@@ -16,6 +16,7 @@ var classnames = require('classnames');
|
|
|
16
16
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
17
17
|
var constants$1 = require('@bigbinary/neeto-commons-frontend/constants');
|
|
18
18
|
var hooks = require('@bigbinary/neeto-image-uploader-frontend/hooks');
|
|
19
|
+
var PhoneNumber = require('@bigbinary/neeto-molecules/PhoneNumber');
|
|
19
20
|
var Label = require('@bigbinary/neetoui/Label');
|
|
20
21
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
21
22
|
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
@@ -26,7 +27,7 @@ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
|
|
|
26
27
|
var ramda = require('ramda');
|
|
27
28
|
var constants = require('../constants-D_H6M1Pm.js');
|
|
28
29
|
var useProfileApi = require('../useProfileApi-BcuLCyms.js');
|
|
29
|
-
var ProfileImage = require('../ProfileImage-
|
|
30
|
+
var ProfileImage = require('../ProfileImage-DN5IzFz7.js');
|
|
30
31
|
var jsxRuntime = require('react/jsx-runtime');
|
|
31
32
|
var withImmutableActions = require('@bigbinary/neeto-commons-frontend/react-utils/withImmutableActions');
|
|
32
33
|
var zustand = require('zustand');
|
|
@@ -105,6 +106,8 @@ var ChangeProfile = function ChangeProfile(_ref) {
|
|
|
105
106
|
firstName = _user$firstName === void 0 ? "" : _user$firstName,
|
|
106
107
|
_user$lastName = user.lastName,
|
|
107
108
|
lastName = _user$lastName === void 0 ? "" : _user$lastName,
|
|
109
|
+
_user$phonenumber = user.phonenumber,
|
|
110
|
+
phonenumber = _user$phonenumber === void 0 ? "" : _user$phonenumber,
|
|
108
111
|
_user$dateFormat = user.dateFormat,
|
|
109
112
|
dateFormat = _user$dateFormat === void 0 ? constants.DATE_FORMAT_OPTIONS[0].value : _user$dateFormat,
|
|
110
113
|
_user$timeZone = user.timeZone,
|
|
@@ -150,6 +153,7 @@ var ChangeProfile = function ChangeProfile(_ref) {
|
|
|
150
153
|
var initialFormValues = {
|
|
151
154
|
firstName: firstName,
|
|
152
155
|
lastName: lastName,
|
|
156
|
+
phonenumber: phonenumber,
|
|
153
157
|
timeZone: timeZone,
|
|
154
158
|
dateFormat: dateFormat,
|
|
155
159
|
timeFormat: timeFormat,
|
|
@@ -271,6 +275,10 @@ var ChangeProfile = function ChangeProfile(_ref) {
|
|
|
271
275
|
name: "lastName",
|
|
272
276
|
type: "text",
|
|
273
277
|
placeholder: t("neetoTeamMembers.profile.inputs.placeholder.lastName")
|
|
278
|
+
}), /*#__PURE__*/jsxRuntime.jsx(PhoneNumber.FormikPhoneNumberInput, {
|
|
279
|
+
"data-testid": "profile-phonenumber-text-field",
|
|
280
|
+
name: "phonenumber",
|
|
281
|
+
label: t("neetoTeamMembers.profile.inputs.label.phonenumber")
|
|
274
282
|
})]
|
|
275
283
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
276
284
|
className: "neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4",
|
|
@@ -407,6 +415,7 @@ var Preview = function Preview() {
|
|
|
407
415
|
firstName: sanitizeValue(user.firstName, "-"),
|
|
408
416
|
lastName: sanitizeValue(user.lastName, "-"),
|
|
409
417
|
language: sanitizeValue(user.language, "-"),
|
|
418
|
+
phonenumber: sanitizeValue(user.phonenumber, "-"),
|
|
410
419
|
profileImageUrl: sanitizeValue(user.profileImageUrl, ""),
|
|
411
420
|
timeFormat: sanitizeValue(user.timeFormat, ""),
|
|
412
421
|
timeZone: sanitizeValue(user.timeZone, "Etc/UTC")
|
|
@@ -417,6 +426,7 @@ var Preview = function Preview() {
|
|
|
417
426
|
firstName = sanitizedUser.firstName,
|
|
418
427
|
lastName = sanitizedUser.lastName,
|
|
419
428
|
language = sanitizedUser.language,
|
|
429
|
+
phonenumber = sanitizedUser.phonenumber,
|
|
420
430
|
profileImageUrl = sanitizedUser.profileImageUrl,
|
|
421
431
|
timeFormat = sanitizedUser.timeFormat,
|
|
422
432
|
timeZone = sanitizedUser.timeZone;
|
|
@@ -505,6 +515,19 @@ var Preview = function Preview() {
|
|
|
505
515
|
style: "body2",
|
|
506
516
|
children: lastName
|
|
507
517
|
})]
|
|
518
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
519
|
+
className: "flex flex-col gap-1 py-3",
|
|
520
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
|
|
521
|
+
className: "neeto-ui-text-gray-500",
|
|
522
|
+
style: "body3",
|
|
523
|
+
weight: "medium",
|
|
524
|
+
children: t("neetoTeamMembers.profile.inputs.label.phonenumber")
|
|
525
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
|
|
526
|
+
className: "neeto-ui-text-black profile-preview-value",
|
|
527
|
+
"data-testid": "profile-phonenumber-field",
|
|
528
|
+
style: "body2",
|
|
529
|
+
children: phonenumber
|
|
530
|
+
})]
|
|
508
531
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
509
532
|
className: "flex flex-col gap-1 py-3",
|
|
510
533
|
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default.default, {
|