@bigbinary/neeto-team-members-frontend 5.0.19 → 5.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/app/javascript/src/translations/en.json +2 -0
  2. package/app/javascript/src/translations/hu.json +253 -0
  3. package/dist/Groups.js +1 -1
  4. package/dist/ManageMember.js +12 -6
  5. package/dist/ManageMember.js.map +1 -1
  6. package/dist/Profile.js +47 -235
  7. package/dist/Profile.js.map +1 -1
  8. package/dist/ProfileImage-B1HLSck6.js +210 -0
  9. package/dist/ProfileImage-B1HLSck6.js.map +1 -0
  10. package/dist/ProfileImage-NrUFZWFQ.js +236 -0
  11. package/dist/ProfileImage-NrUFZWFQ.js.map +1 -0
  12. package/dist/{RolesRadioGroup-DbaYg-Hy.js → RolesRadioGroup-BCrw7ji3.js} +59 -22
  13. package/dist/RolesRadioGroup-BCrw7ji3.js.map +1 -0
  14. package/dist/{RolesRadioGroup-DMJ2ayZP.js → RolesRadioGroup-DjdqIC_k.js} +59 -22
  15. package/dist/RolesRadioGroup-DjdqIC_k.js.map +1 -0
  16. package/dist/RolesRadioGroup.js +2 -1
  17. package/dist/RolesRadioGroup.js.map +1 -1
  18. package/dist/TeamMembers.js +12 -6
  19. package/dist/TeamMembers.js.map +1 -1
  20. package/dist/cjs/Groups.js +1 -1
  21. package/dist/cjs/ManageMember.js +12 -6
  22. package/dist/cjs/ManageMember.js.map +1 -1
  23. package/dist/cjs/Profile.js +50 -257
  24. package/dist/cjs/Profile.js.map +1 -1
  25. package/dist/cjs/RolesRadioGroup.js +2 -1
  26. package/dist/cjs/RolesRadioGroup.js.map +1 -1
  27. package/dist/cjs/TeamMembers.js +12 -6
  28. package/dist/cjs/TeamMembers.js.map +1 -1
  29. package/dist/cjs/hooks.js +1 -1
  30. package/dist/cjs/index.js +4 -3
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/utils.js +1 -1
  33. package/dist/hooks.js +1 -1
  34. package/dist/{index-Bypsb7E3.js → index-C0KE_pv7.js} +269 -32
  35. package/dist/index-C0KE_pv7.js.map +1 -0
  36. package/dist/{index-wgft0T5n.js → index-Dpeqvj1R.js} +267 -30
  37. package/dist/index-Dpeqvj1R.js.map +1 -0
  38. package/dist/index.js +4 -3
  39. package/dist/index.js.map +1 -1
  40. package/dist/{useTeamsApi-ByaAsGOl.js → useTeamsApi-BDvsXvSN.js} +17 -1
  41. package/dist/useTeamsApi-BDvsXvSN.js.map +1 -0
  42. package/dist/{useTeamsApi-DZBA2Gi6.js → useTeamsApi-o6xkPbuf.js} +17 -2
  43. package/dist/useTeamsApi-o6xkPbuf.js.map +1 -0
  44. package/dist/utils.js +1 -1
  45. package/package.json +17 -18
  46. package/dist/RolesRadioGroup-DMJ2ayZP.js.map +0 -1
  47. package/dist/RolesRadioGroup-DbaYg-Hy.js.map +0 -1
  48. package/dist/index-Bypsb7E3.js.map +0 -1
  49. package/dist/index-wgft0T5n.js.map +0 -1
  50. package/dist/useTeamsApi-ByaAsGOl.js.map +0 -1
  51. package/dist/useTeamsApi-DZBA2Gi6.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Profile.js","sources":["../app/javascript/src/apis/profile.js","../app/javascript/src/hooks/profile/useProfileApi.js","../app/javascript/src/components/Profile/constants.js","../app/javascript/src/hooks/profile/useCountriesApi.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx","../app/javascript/src/components/Profile/ChangeProfile.jsx","../app/javascript/src/components/Profile/hooks/useProfileUpdatePane.js","../app/javascript/src/components/Profile/utils.js","../app/javascript/src/components/Profile/Preview.jsx","../app/javascript/src/components/Profile/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/common/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/profile/countries`);\n\nconst fetchUserDetails = () => axios.get(`${BASE_URL}/profile/user`);\n\nconst updateUser = ({ id, payload }) =>\n axios.put(`${BASE_URL}/profile/user/${id}`, payload);\n\nconst profileApi = { fetchCountries, fetchUserDetails, updateUser };\n\nexport default profileApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchProfile = options =>\n useQuery({\n queryKey: [QUERY_KEYS.USER_PROFILE],\n queryFn: profileApi.fetchUserDetails,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nconst useUpdateProfileMutation = options =>\n useMutationWithInvalidation(profileApi.updateUser, {\n keysToInvalidate: [[QUERY_KEYS.USER_PROFILE]],\n ...options,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useFetchProfile, useUpdateProfileMutation };\n","import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const MY_PROFILE_PATH = \"/auth/profile/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchCountries = options =>\n useQuery({\n queryKey: [QUERY_KEYS.COUNTRIES_LIST],\n queryFn: profileApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport { useFetchCountries };\n","import { useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = countryOption => {\n setSelectedCountryOption(countryOption);\n\n const dependentFields = {};\n const selectedCountry = findById(countryOption.value, countries);\n\n dependentFields.dateFormat = selectedCountry.dateFormat;\n\n return dependentFields;\n };\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useRef } from \"react\";\n\nimport { useField } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Edit } from \"neetoicons\";\nimport { Avatar, Dropdown, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n\n const [field, _, helpers] = useField(\"avatar\");\n const { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n return setValue({\n imageUrl: URL.createObjectURL(imageFile),\n file: imageFile,\n });\n };\n\n const handleChangeImage = () => fileInputRef.current?.click();\n\n const handleRemoveImage = () => setValue({ imageUrl: \"\", file: \"_destroy\" });\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-4 flex flex-col items-center gap-2\">\n <div className=\"relative shrink-0\">\n <div className=\"absolute bottom-0 end-0 z-10\">\n <Dropdown\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n buttonProps={{ className: \"rounded-full\" }}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Edit}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"profile-image-upload-button\"\n onClick={handleChangeImage}\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"flex flex-col items-center\">\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <input\n hidden\n accept=\"image/*\"\n data-testid=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n ref={fileInputRef}\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n","import { useCallback, useEffect } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport classNames from \"classnames\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Label, Pane, Spinner, Toastr, Typography } from \"neetoui\";\nimport { Input, Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryId = \"\",\n timeFormat = TIME_FORMAT_OPTIONS[0].value,\n isOwner = false,\n timezoneChangeEnabled = true,\n language = \"\",\n } = user;\n\n const isTimezoneFieldDisabled = !isOwner && !timezoneChangeEnabled;\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\n\n const timezoneRef = useCallback(\n ({ node, setFieldValue }) => {\n if (isNotNil(node)) {\n new NeetoTimezoneSelector(node, {\n isTimeFormat24H: timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ main }) => setFieldValue(\"timeZone\", main),\n disabled: isTimezoneFieldDisabled,\n });\n }\n },\n [timeZone, timeFormat, isTimezoneFieldDisabled]\n );\n\n const initialFormValues = {\n firstName,\n lastName,\n timeZone,\n dateFormat,\n timeFormat,\n language,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier:\n updatedCountryId !== countryId ? updatedCountryId : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n useEffect(() => {\n const country = findBy({ value: countryId }, countryDropdownOptions);\n if (country) {\n handleCountryChange(country);\n }\n }, [countryId, countryDropdownOptions]);\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n formProps={{ \"data-testid\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, errors, touched }) => (\n <>\n <Pane.Body className=\"w-full\">\n <div className=\"w-full pb-6\">\n <ProfileImage />\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Input\n autoFocus\n required\n data-testid=\"profile-first-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <Input\n required\n data-testid=\"profile-last-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n </div>\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Select\n required\n data-testid=\"ntm-profile-country-select\"\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 <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n onChange={option => {\n setFieldValue(\"language\", option.value);\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n </Label>\n <div\n data-testid=\"ntm-profile-time-zone-select\"\n ref={node => timezoneRef({ node, setFieldValue })}\n className={classNames(\"w-full grow\", {\n \"neeto-ui-bg-gray-100 pointer-events-none\":\n isTimezoneFieldDisabled,\n })}\n />\n </div>\n {touched.timeZone && errors.timeZone && (\n <Typography\n className=\"neeto-ui-text-error-800\"\n lineHeight=\"none\"\n style=\"body3\"\n >\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <Select\n required\n data-testid=\"ntm-time-format-select\"\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\"\n )}\n onChange={option => {\n setFieldValue(\"timeFormat\", option.value);\n }}\n />\n <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-date-format-select\"\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredDateFormat\"\n )}\n onChange={option => {\n setFieldValue(\"dateFormat\", option.value);\n }}\n />\n </div>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-testid\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-profile-submit-button\",\n }}\n />\n </Pane.Footer>\n </>\n )}\n </Form>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { is, isNil, trim } from \"ramda\";\n\nexport const sanitizeValue = (value, defaultValue) =>\n isNil(value) || (is(String, value) && trim(value) === \"\")\n ? defaultValue\n : value;\n","import { memo } from \"react\";\n\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { _findBy, isNotEmpty } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Avatar, Label, Pane, Spinner, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport { useFetchProfile } from \"hooks/profile/useProfileApi\";\n\nimport { sanitizeValue } from \"./utils\";\n\nconst Preview = ({\n preferredDateFormat = {},\n preferredTimeFormat = {},\n preferredTimeZone = {},\n}) => {\n const { t } = useTranslation();\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const sanitizedUser = {\n countryName: sanitizeValue(user.countryName, \"-\"),\n dateFormat: sanitizeValue(user.dateFormat, \"\"),\n email: sanitizeValue(user.email, \"-\"),\n firstName: sanitizeValue(user.firstName, \"-\"),\n lastName: sanitizeValue(user.lastName, \"-\"),\n language: sanitizeValue(user.language, \"-\"),\n profileImageUrl: sanitizeValue(user.profileImageUrl, \"\"),\n timeFormat: sanitizeValue(user.timeFormat, \"\"),\n timeZone: sanitizeValue(user.timeZone, \"Etc/UTC\"),\n };\n\n const {\n countryName,\n dateFormat,\n email,\n firstName,\n lastName,\n language,\n profileImageUrl,\n timeFormat,\n timeZone,\n } = sanitizedUser;\n\n const name = `${firstName} ${lastName}`.trim();\n const subscription = sanitizeValue(\n globalProps.user?.subscriptionPlan,\n t(\"neetoTeamMembers.common.free\")\n );\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\",\n }).format(new Date());\n\n if (isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Pane.Body className=\"w-full\">\n <div className=\"w-full\">\n <div className=\"mb-4 flex flex-col items-center justify-center\">\n <Avatar\n className=\"mb-1\"\n size=\"extraLarge\"\n user={{ name, imageUrl: profileImageUrl }}\n />\n <Typography\n data-testid=\"profile-full-name-field\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-email-field\"\n style=\"body2\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton size=\"small\" style=\"text\" value={email} />\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-200 space-y-4 border-t py-4\">\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.firstName\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-first-name-field\"\n style=\"body2\"\n >\n {firstName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.lastName\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-last-name-field\"\n style=\"body2\"\n >\n {lastName}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-200 space-y-4 border-t py-4\">\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.country\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-country-field\"\n style=\"body2\"\n >\n {countryName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.language\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-preferred-language-field\"\n style=\"body2\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label\n helpIconProps={\n isNotEmpty(preferredTimeZone) && {\n popoverProps: preferredTimeZone,\n }\n }\n >\n {t(\"neetoTeamMembers.labels.timeZone\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-time-zone-field\"\n style=\"body2\"\n >\n {ianaTimezoneToHumanReadable(timeZone)} - {time}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label\n helpIconProps={\n isNotEmpty(preferredTimeFormat) && {\n popoverProps: preferredTimeFormat,\n }\n }\n >\n {t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-preferred-time-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label\n helpIconProps={\n isNotEmpty(preferredDateFormat) && {\n popoverProps: preferredDateFormat,\n }\n }\n >\n {t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-preferred-date-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-200 space-y-4 border-t py-4\">\n <div className=\"flex flex-col gap-1\">\n <Label>\n {t(\"neetoTeamMembers.labels.billingAndSubscriptions\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-700 first-letter:uppercase\"\n data-testid=\"profile-subscription-type\"\n style=\"body2\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.common.subscriptionType\"\n values={{ subscription }}\n />\n </Typography>\n </div>\n </div>\n </div>\n </Pane.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { DEFAULT_POPOVER_VALUES, MY_PROFILE_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\nimport \"./styles.scss\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst Profile = ({ popoverProps = DEFAULT_POPOVER_VALUES }) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const [isEditMode, setIsEditMode] = useState(false);\n\n const onClose = () => {\n setIsOpen(false);\n setIsEditMode(false);\n };\n\n const enableEditMode = () => setIsEditMode(true);\n\n return (\n <div className=\"w-full\">\n <Pane {...{ isOpen, onClose }} className=\"max-w-96\">\n <Pane.Header>\n <div className=\"flex justify-between\">\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n {!isEditMode && (\n <Dropdown\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n buttonProps={{ className: \"rounded-full\" }}\n buttonStyle=\"tertiary\"\n icon={MenuHorizontal}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"edit-basic-info-menu-button\"\n onClick={enableEditMode}\n >\n {t(\"neetoTeamMembers.buttons.editBasicInfo\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"update-email-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\"neetoTeamMembers.buttons.updateEmail\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"manage-billing-subscriptions-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\n \"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"\n )}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n )}\n </div>\n </Pane.Header>\n {isEditMode ? (\n <ChangeProfile {...{ onClose }} />\n ) : (\n <Preview\n preferredDateFormat={popoverProps?.preferredDateFormat}\n preferredTimeFormat={popoverProps?.preferredTimeFormat}\n preferredTimeZone={popoverProps?.timeZone}\n />\n )}\n </Pane>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["fetchCountries","axios","get","concat","BASE_URL","fetchUserDetails","updateUser","_ref","id","payload","put","profileApi","useFetchProfile","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","USER_PROFILE","queryFn","staleTime","DEFAULT_STALE_TIME","useUpdateProfileMutation","useMutationWithInvalidation","keysToInvalidate","onSuccess","window","location","reload","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","MY_PROFILE_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","DEFAULT_POPOVER_VALUES","preferredDateFormat","preferredTimeFormat","timeZone","useFetchCountries","COUNTRIES_LIST","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","countryDropdownOptions","useMemo","map","handleCountryChange","countryOption","dependentFields","selectedCountry","findById","isFetchingCountriesList","Menu","Dropdown","MenuItem","ProfileImage","_useTranslation","useTranslation","fileInputRef","useRef","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","imageUrl","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","URL","createObjectURL","file","handleChangeImage","_fileInputRef$current","current","click","handleRemoveImage","type","size","includes","_jsxs","className","children","_jsx","buttonProps","buttonSize","buttonStyle","icon","Edit","Button","onClick","Avatar","user","Typography","style","Trans","i18nKey","values","limit","hidden","accept","ref","onChange","ChangeProfile","onClose","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","_useFetchProfile$data","_useFetchProfile$data2","_useFetchProfile$data3","isFetchingUserDetails","isFetching","_user$firstName","_user$lastName","_user$dateFormat","DATE_FORMAT_OPTIONS","_user$timeZone","_user$profileImageUrl","profileImageUrl","_user$countryId","countryId","_user$timeFormat","timeFormat","TIME_FORMAT_OPTIONS","_user$isOwner","isOwner","_user$timezoneChangeE","timezoneChangeEnabled","_user$language","language","isTimezoneFieldDisabled","_useCountries","_useCountries$handleC","noop","_useUpdateProfileMuta","updateProfile","mutate","isUpdatingProfile","isPending","timezoneRef","useCallback","_ref2","node","setFieldValue","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","position","initialValue","_ref3","main","disabled","initialFormValues","avatar","handleSubmit","_ref4","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","countryIdentifier","undefined","t0","stop","_x","apply","arguments","useEffect","findBy","Spinner","Form","formProps","formikProps","initialValues","validationSchema","onSubmit","_ref5","errors","touched","_Fragment","Pane","Body","Input","autoFocus","placeholder","Select","option","LANGUAGE_OPTIONS","Label","classNames","lineHeight","Footer","ActionBlock","isSubmitting","cancelButtonProps","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","Preview","_globalProps$user","_findBy2","_findBy3","_findBy4","_ref$preferredDateFor","_ref$preferredTimeFor","_ref$preferredTimeZon","preferredTimeZone","sanitizedUser","countryName","email","subscription","subscriptionPlan","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","weight","CopyToClipboardButton","_findBy","helpIconProps","isNotEmpty","popoverProps","ianaTimezoneToHumanReadable","memo","Profile","_ref$popoverProps","_useProfileUpdatePane","_useProfileUpdatePane2","isEditMode","setIsEditMode","enableEditMode","Header","MenuHorizontal","href","usePaneState"],"mappings":"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"}
1
+ {"version":3,"file":"Profile.js","sources":["../app/javascript/src/hooks/profile/useProfileApi.js","../app/javascript/src/components/Profile/ChangeProfile.jsx","../app/javascript/src/components/Profile/hooks/useProfileUpdatePane.js","../app/javascript/src/components/Profile/utils.js","../app/javascript/src/components/Profile/Preview.jsx","../app/javascript/src/components/Profile/index.jsx"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchProfile = options =>\n useQuery({\n queryKey: [QUERY_KEYS.USER_PROFILE],\n queryFn: profileApi.fetchUserDetails,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nconst useUpdateProfileMutation = options =>\n useMutationWithInvalidation(profileApi.updateUser, {\n keysToInvalidate: [[QUERY_KEYS.USER_PROFILE]],\n ...options,\n onSuccess: () => window.location.reload(),\n });\n\nexport { useFetchProfile, useUpdateProfileMutation };\n","import { useEffect, useRef } from \"react\";\n\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport classNames from \"classnames\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { Label, Pane, Spinner, Toastr, Typography } from \"neetoui\";\nimport { Input, Select, Form, ActionBlock } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"hooks/profile/useProfileApi\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nconst ChangeProfile = ({ onClose }) => {\n const { t } = useTranslation();\n\n const { uploadImage, isUploading } = useProfileImageUpload({\n uploadConfig: {\n folder: \"Auth\",\n customMetadata: { appName: \"neetoAuth\" },\n },\n });\n\n const handleUploadImage = image =>\n new Promise(resolve => {\n uploadImage(image, uploadedImageData => {\n resolve(uploadedImageData);\n });\n });\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const {\n firstName = \"\",\n lastName = \"\",\n dateFormat = DATE_FORMAT_OPTIONS[0].value,\n timeZone = \"\",\n profileImageUrl = \"\",\n countryId = \"\",\n timeFormat = TIME_FORMAT_OPTIONS[0].value,\n isOwner = false,\n timezoneChangeEnabled = true,\n language = \"\",\n } = user;\n\n const isTimezoneFieldDisabled = !isOwner && !timezoneChangeEnabled;\n const setFieldValueRef = useRef(null);\n\n const {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList,\n handleCountryChange = noop,\n } = useCountries();\n\n const { mutate: updateProfile, isPending: isUpdatingProfile } =\n useUpdateProfileMutation();\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: timeFormat === \"24h\",\n className: \"w-full z-10\",\n position: \"bottom\",\n initialValue: timeZone,\n onChange: ({ main }) => setFieldValueRef.current(\"timeZone\", main),\n disabled: isTimezoneFieldDisabled,\n });\n\n return () => {\n node.innerHTML = \"\";\n };\n }, [timeZone, timeFormat, isTimezoneFieldDisabled]);\n\n const initialFormValues = {\n firstName,\n lastName,\n timeZone,\n dateFormat,\n timeFormat,\n language,\n avatar: { imageUrl: profileImageUrl, file: null },\n };\n\n const handleSubmit = async values => {\n try {\n let avatar = {};\n\n if (values.avatar.file === \"_destroy\") {\n avatar = { fileId: \"_destroy\", filePath: \"\", url: \"\" };\n } else if (values.avatar.file) {\n const { fileId, filePath, url } = await handleUploadImage(\n values.avatar.file\n );\n avatar = { fileId, filePath, url };\n }\n\n const { countryId: updatedCountryId, ...rest } = values;\n\n const payload = {\n ...rest,\n avatar,\n countryIdentifier:\n updatedCountryId !== countryId ? updatedCountryId : undefined,\n };\n\n updateProfile({ id: user.id, payload });\n } catch (error) {\n Toastr.error(error.message);\n }\n };\n\n useEffect(() => {\n const country = findBy({ value: countryId }, countryDropdownOptions);\n if (country) {\n handleCountryChange(country);\n }\n }, [countryId, countryDropdownOptions, handleCountryChange]);\n\n if (isUpdatingProfile || isFetchingCountriesList || isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Form\n formProps={{ \"data-testid\": \"ntm-profile-form\" }}\n formikProps={{\n initialValues: initialFormValues,\n validationSchema: PROFILE_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n }}\n >\n {({ setFieldValue, errors, touched }) => {\n setFieldValueRef.current = setFieldValue;\n\n return (\n <>\n <Pane.Body className=\"w-full\">\n <div className=\"w-full pb-6\">\n <ProfileImage />\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Input\n autoFocus\n required\n data-testid=\"profile-first-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.firstName\")}\n name=\"firstName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.firstName\"\n )}\n />\n <Input\n required\n data-testid=\"profile-last-name-text-field\"\n label={t(\"neetoTeamMembers.profile.inputs.label.lastName\")}\n name=\"lastName\"\n type=\"text\"\n placeholder={t(\n \"neetoTeamMembers.profile.inputs.placeholder.lastName\"\n )}\n />\n </div>\n <div className=\"neeto-ui-border-gray-200 mt-4 w-full space-y-4 border-t pt-4\">\n <Select\n required\n data-testid=\"ntm-profile-country-select\"\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 <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-language-select\"\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.language\"\n )}\n onChange={option => {\n setFieldValue(\"language\", option.value);\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n </Label>\n <div\n data-testid=\"ntm-profile-time-zone-select\"\n ref={timezoneContainerRef}\n className={classNames(\"w-full grow\", {\n \"neeto-ui-bg-gray-100 pointer-events-none\":\n isTimezoneFieldDisabled,\n })}\n />\n </div>\n {touched.timeZone && errors.timeZone && (\n <Typography\n className=\"neeto-ui-text-error-800\"\n lineHeight=\"none\"\n style=\"body3\"\n >\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <Select\n required\n data-testid=\"ntm-time-format-select\"\n name=\"timeFormat\"\n options={TIME_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredTimeFormat\"\n )}\n onChange={option => {\n setFieldValue(\"timeFormat\", option.value);\n }}\n />\n <div className=\"space-y-2\">\n <Select\n required\n data-testid=\"ntm-date-format-select\"\n name=\"dateFormat\"\n options={DATE_FORMAT_OPTIONS}\n label={t(\n \"neetoTeamMembers.profile.inputs.label.preferredDateFormat\"\n )}\n onChange={option => {\n setFieldValue(\"dateFormat\", option.value);\n }}\n />\n </div>\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n isSubmitting={isUpdatingProfile || isUploading}\n cancelButtonProps={{\n \"data-testid\": \"ntm-profile-cancel-button\",\n onClick: onClose,\n }}\n submitButtonProps={{\n \"data-testid\": \"ntm-profile-submit-button\",\n }}\n />\n </Pane.Footer>\n </>\n );\n }}\n </Form>\n );\n};\n\nexport default ChangeProfile;\n","/* eslint-disable @bigbinary/neeto/ensure-zustand-stores-are-type-annotated */\nimport withImmutableActions from \"neetocommons/react-utils/withImmutableActions\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useProfileUpdateStore = create(\n withImmutableActions(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n }))\n);\n\nconst useProfileUpdatePaneState = () =>\n useProfileUpdateStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useProfileUpdatePaneState;\n","import { is, isNil, trim } from \"ramda\";\n\nexport const sanitizeValue = (value, defaultValue) =>\n isNil(value) || (is(String, value) && trim(value) === \"\")\n ? defaultValue\n : value;\n","import { memo } from \"react\";\n\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { _findBy, isNotEmpty } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { Avatar, Label, Pane, Spinner, Typography } from \"neetoui\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"common/constants\";\nimport { useFetchProfile } from \"hooks/profile/useProfileApi\";\n\nimport { sanitizeValue } from \"./utils\";\n\nconst Preview = ({\n preferredDateFormat = {},\n preferredTimeFormat = {},\n preferredTimeZone = {},\n}) => {\n const { t } = useTranslation();\n\n const { data: { user = {} } = {}, isFetching: isFetchingUserDetails } =\n useFetchProfile();\n\n const sanitizedUser = {\n countryName: sanitizeValue(user.countryName, \"-\"),\n dateFormat: sanitizeValue(user.dateFormat, \"\"),\n email: sanitizeValue(user.email, \"-\"),\n firstName: sanitizeValue(user.firstName, \"-\"),\n lastName: sanitizeValue(user.lastName, \"-\"),\n language: sanitizeValue(user.language, \"-\"),\n profileImageUrl: sanitizeValue(user.profileImageUrl, \"\"),\n timeFormat: sanitizeValue(user.timeFormat, \"\"),\n timeZone: sanitizeValue(user.timeZone, \"Etc/UTC\"),\n };\n\n const {\n countryName,\n dateFormat,\n email,\n firstName,\n lastName,\n language,\n profileImageUrl,\n timeFormat,\n timeZone,\n } = sanitizedUser;\n\n const name = `${firstName} ${lastName}`.trim();\n const subscription = sanitizeValue(\n globalProps.user?.subscriptionPlan,\n t(\"neetoTeamMembers.common.free\")\n );\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\",\n }).format(new Date());\n\n if (isFetchingUserDetails) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Pane.Body className=\"w-full\">\n <div className=\"w-full\">\n <div className=\"mb-4 flex flex-col items-center justify-center\">\n <Avatar\n className=\"mb-1\"\n size=\"extraLarge\"\n user={{ name, imageUrl: profileImageUrl }}\n />\n <Typography\n data-testid=\"profile-full-name-field\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-email-field\"\n style=\"body2\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton size=\"small\" style=\"text\" value={email} />\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-200 space-y-4 border-t py-4\">\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.firstName\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-first-name-field\"\n style=\"body2\"\n >\n {firstName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.lastName\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-last-name-field\"\n style=\"body2\"\n >\n {lastName}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-200 space-y-4 border-t py-4\">\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.country\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-country-field\"\n style=\"body2\"\n >\n {countryName}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label>{t(\"neetoTeamMembers.labels.language\")}</Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-preferred-language-field\"\n style=\"body2\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label\n helpIconProps={\n isNotEmpty(preferredTimeZone) && {\n popoverProps: preferredTimeZone,\n }\n }\n >\n {t(\"neetoTeamMembers.labels.timeZone\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-time-zone-field\"\n style=\"body2\"\n >\n {ianaTimezoneToHumanReadable(timeZone)} - {time}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label\n helpIconProps={\n isNotEmpty(preferredTimeFormat) && {\n popoverProps: preferredTimeFormat,\n }\n }\n >\n {t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-preferred-time-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n <div className=\"flex flex-col gap-1\">\n <Label\n helpIconProps={\n isNotEmpty(preferredDateFormat) && {\n popoverProps: preferredDateFormat,\n }\n }\n >\n {t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n data-testid=\"profile-preferred-date-format-field\"\n style=\"body2\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label ||\n \"-\"}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-200 space-y-4 border-t py-4\">\n <div className=\"flex flex-col gap-1\">\n <Label>\n {t(\"neetoTeamMembers.labels.billingAndSubscriptions\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-700 first-letter:uppercase\"\n data-testid=\"profile-subscription-type\"\n style=\"body2\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.common.subscriptionType\"\n values={{ subscription }}\n />\n </Typography>\n </div>\n </div>\n </div>\n </Pane.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown, Pane, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { DEFAULT_POPOVER_VALUES, MY_PROFILE_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\nimport \"./styles.scss\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst Profile = ({ popoverProps = DEFAULT_POPOVER_VALUES }) => {\n const { t } = useTranslation();\n\n const [isOpen, setIsOpen] = useProfileUpdatePaneState();\n const [isEditMode, setIsEditMode] = useState(false);\n\n const onClose = () => {\n setIsOpen(false);\n setIsEditMode(false);\n };\n\n const enableEditMode = () => setIsEditMode(true);\n\n return (\n <div className=\"w-full\">\n <Pane {...{ isOpen, onClose }} className=\"max-w-96\">\n <Pane.Header>\n <div className=\"flex justify-between\">\n <Typography style=\"h2\" weight=\"semibold\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n {!isEditMode && (\n <Dropdown\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n buttonProps={{ className: \"rounded-full\" }}\n buttonStyle=\"tertiary\"\n icon={MenuHorizontal}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"edit-basic-info-menu-button\"\n onClick={enableEditMode}\n >\n {t(\"neetoTeamMembers.buttons.editBasicInfo\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"update-email-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\"neetoTeamMembers.buttons.updateEmail\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"manage-billing-subscriptions-menu-button\"\n href={MY_PROFILE_PATH}\n >\n {t(\n \"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"\n )}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n )}\n </div>\n </Pane.Header>\n {isEditMode ? (\n <ChangeProfile {...{ onClose }} />\n ) : (\n <Preview\n preferredDateFormat={popoverProps?.preferredDateFormat}\n preferredTimeFormat={popoverProps?.preferredTimeFormat}\n preferredTimeZone={popoverProps?.timeZone}\n />\n )}\n </Pane>\n </div>\n );\n};\n\nexport default {\n Pane: Profile,\n usePaneState: useProfileUpdatePaneState,\n};\n"],"names":["useFetchProfile","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","USER_PROFILE","queryFn","profileApi","fetchUserDetails","staleTime","DEFAULT_STALE_TIME","useUpdateProfileMutation","useMutationWithInvalidation","updateUser","keysToInvalidate","onSuccess","window","location","reload","ChangeProfile","_ref","onClose","_useTranslation","useTranslation","t","_useProfileImageUploa","useProfileImageUpload","uploadConfig","folder","customMetadata","appName","uploadImage","isUploading","handleUploadImage","image","Promise","resolve","uploadedImageData","_useFetchProfile","_useFetchProfile$data","data","_useFetchProfile$data2","_useFetchProfile$data3","user","isFetchingUserDetails","isFetching","_user$firstName","firstName","_user$lastName","lastName","_user$dateFormat","dateFormat","DATE_FORMAT_OPTIONS","value","_user$timeZone","timeZone","_user$profileImageUrl","profileImageUrl","_user$countryId","countryId","_user$timeFormat","timeFormat","TIME_FORMAT_OPTIONS","_user$isOwner","isOwner","_user$timezoneChangeE","timezoneChangeEnabled","_user$language","language","isTimezoneFieldDisabled","setFieldValueRef","useRef","_useCountries","useCountries","countryDropdownOptions","selectedCountryOption","isFetchingCountriesList","_useCountries$handleC","handleCountryChange","noop","_useUpdateProfileMuta","updateProfile","mutate","isUpdatingProfile","isPending","timezoneContainerRef","useEffect","node","current","undefined","NeetoTimezoneSelector","isTimeFormat24H","className","position","initialValue","onChange","_ref2","main","disabled","innerHTML","initialFormValues","avatar","imageUrl","file","handleSubmit","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","_yield$handleUploadIm","fileId","filePath","url","updatedCountryId","rest","payload","wrap","_callee$","_context","prev","next","sent","_objectWithoutProperties","_excluded","countryIdentifier","id","t0","Toastr","error","message","stop","_x","apply","arguments","country","findBy","_jsx","children","Spinner","Form","formProps","formikProps","initialValues","validationSchema","PROFILE_VALIDATION_SCHEMA","onSubmit","_ref4","setFieldValue","errors","touched","_jsxs","_Fragment","Pane","Body","ProfileImage","Input","autoFocus","required","label","name","type","placeholder","Select","option","dependentFields","LANGUAGE_OPTIONS","Label","ref","classNames","Typography","lineHeight","style","Footer","ActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","trim","Preview","_globalProps$user","_findBy2","_findBy3","_findBy4","_ref$preferredDateFor","preferredDateFormat","_ref$preferredTimeFor","preferredTimeFormat","_ref$preferredTimeZon","preferredTimeZone","sanitizedUser","countryName","email","concat","subscription","globalProps","subscriptionPlan","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","Avatar","size","weight","CopyToClipboardButton","_findBy","helpIconProps","isNotEmpty","popoverProps","ianaTimezoneToHumanReadable","Trans","i18nKey","memo","Menu","Dropdown","MenuItem","Profile","_ref$popoverProps","DEFAULT_POPOVER_VALUES","_useProfileUpdatePane","_useProfileUpdatePane2","_slicedToArray","_useState","useState","_useState2","isEditMode","setIsEditMode","enableEditMode","Header","buttonProps","buttonStyle","icon","MenuHorizontal","Button","href","MY_PROFILE_PATH","usePaneState"],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
+ import { useState, useMemo, useCallback, useRef } from 'react';
3
+ import { findById } from '@bigbinary/neeto-cist';
4
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
+ import { useQuery } from '@tanstack/react-query';
6
+ import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
7
+ import axios from 'axios';
8
+ import { B as BASE_URL, Q as QUERY_KEYS } from './constants-CbaUJ-B2.js';
9
+ import { useField } from 'formik';
10
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
11
+ import Edit from '@bigbinary/neeto-icons/Edit';
12
+ import Avatar from '@bigbinary/neetoui/Avatar';
13
+ import Dropdown from '@bigbinary/neetoui/Dropdown';
14
+ import Toastr from '@bigbinary/neetoui/Toastr';
15
+ import Typography from '@bigbinary/neetoui/Typography';
16
+ import { useTranslation, Trans } from 'react-i18next';
17
+ import { t } from 'i18next';
18
+ import * as yup from 'yup';
19
+ import { jsxs, jsx } from 'react/jsx-runtime';
20
+
21
+ var fetchCountries = function fetchCountries() {
22
+ return axios.get("".concat(BASE_URL, "/profile/countries"));
23
+ };
24
+ var fetchUserDetails = function fetchUserDetails() {
25
+ return axios.get("".concat(BASE_URL, "/profile/user"));
26
+ };
27
+ var updateUser = function updateUser(_ref) {
28
+ var id = _ref.id,
29
+ payload = _ref.payload;
30
+ return axios.put("".concat(BASE_URL, "/profile/user/").concat(id), payload);
31
+ };
32
+ var profileApi = {
33
+ fetchCountries: fetchCountries,
34
+ fetchUserDetails: fetchUserDetails,
35
+ updateUser: updateUser
36
+ };
37
+
38
+ var PROFILE_VALIDATION_SCHEMA = yup.object().shape({
39
+ firstName: yup.string().trim().required(t("neetoTeamMembers.profile.form.isRequired.firstName")).matches(/^(?:[ '-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDD40-\uDD65\uDD6F-\uDD85\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDED0-\uDEE3\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0\uDFF0-\uDFF9]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D\uDD30-\uDD39]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDD70-\uDD79\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD833[\uDCF0-\uDCF9]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDDD0-\uDDED\uDDF0-\uDDFA\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])+$/i, t("neetoTeamMembers.profile.form.invalidName")).matches(/^[^.]+$/i, t("neetoTeamMembers.profile.form.dotsNotAllowed")),
40
+ lastName: yup.string().trim().required(t("neetoTeamMembers.profile.form.isRequired.lastName")).matches(/^(?:[ '-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDD40-\uDD65\uDD6F-\uDD85\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDED0-\uDEE3\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0\uDFF0-\uDFF9]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D\uDD30-\uDD39]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDD70-\uDD79\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD833[\uDCF0-\uDCF9]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDDD0-\uDDED\uDDF0-\uDDFA\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])+$/i, t("neetoTeamMembers.profile.form.invalidName")).matches(/^[^.]+$/i, t("neetoTeamMembers.profile.form.dotsNotAllowed")),
41
+ dateFormat: yup.string().required(t("neetoTeamMembers.profile.form.isRequired.dateFormat"))
42
+ });
43
+ var MY_PROFILE_PATH = "/auth/profile/edit";
44
+ var ALLOWED_PROFILE_IMAGE_MIME_TYPES = ["image/jpeg", "image/png"];
45
+ var STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES = globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;
46
+ var VALIDATION_ERRORS = {
47
+ invalid_type: t("neetoTeamMembers.profile.file.invalidType.image"),
48
+ corrupted_file: t("neetoTeamMembers.profile.file.corrupted"),
49
+ file_limit_exceeded: t("neetoTeamMembers.profile.file.limitExceeded", {
50
+ maxSize: globalProps.endUserUploadedFileSizeLimitInMb
51
+ })
52
+ };
53
+ var DEFAULT_POPOVER_VALUES = {
54
+ preferredDateFormat: {},
55
+ preferredTimeFormat: {},
56
+ timeZone: {}
57
+ };
58
+
59
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
60
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
61
+ var useFetchCountries = function useFetchCountries(options) {
62
+ return useQuery(_objectSpread({
63
+ queryKey: [QUERY_KEYS.COUNTRIES_LIST],
64
+ queryFn: profileApi.fetchCountries,
65
+ staleTime: DEFAULT_STALE_TIME
66
+ }, options));
67
+ };
68
+
69
+ var useCountries = function useCountries() {
70
+ var _useState = useState(null),
71
+ _useState2 = _slicedToArray(_useState, 2),
72
+ selectedCountryOption = _useState2[0],
73
+ setSelectedCountryOption = _useState2[1];
74
+ var _useFetchCountries = useFetchCountries(),
75
+ _useFetchCountries$da = _useFetchCountries.data,
76
+ _useFetchCountries$da2 = _useFetchCountries$da === void 0 ? {} : _useFetchCountries$da,
77
+ _useFetchCountries$da3 = _useFetchCountries$da2.countries,
78
+ countries = _useFetchCountries$da3 === void 0 ? [] : _useFetchCountries$da3,
79
+ isLoading = _useFetchCountries.isLoading;
80
+ var formatCountryOption = function formatCountryOption(country) {
81
+ return {
82
+ label: country === null || country === void 0 ? void 0 : country.name,
83
+ value: country === null || country === void 0 ? void 0 : country.id
84
+ };
85
+ };
86
+ var countryDropdownOptions = useMemo(function () {
87
+ return countries.map(formatCountryOption);
88
+ }, [countries]);
89
+ var handleCountryChange = useCallback(function (countryOption) {
90
+ setSelectedCountryOption(countryOption);
91
+ var dependentFields = {};
92
+ var selectedCountry = findById(countryOption.value, countries);
93
+ dependentFields.dateFormat = selectedCountry.dateFormat;
94
+ return dependentFields;
95
+ }, [countries]);
96
+ return {
97
+ countryDropdownOptions: countryDropdownOptions,
98
+ selectedCountryOption: selectedCountryOption,
99
+ isFetchingCountriesList: isLoading,
100
+ handleCountryChange: handleCountryChange
101
+ };
102
+ };
103
+
104
+ var Menu = Dropdown.Menu,
105
+ MenuItem = Dropdown.MenuItem;
106
+ var ProfileImage = function ProfileImage() {
107
+ var _useTranslation = useTranslation(),
108
+ t = _useTranslation.t;
109
+ var fileInputRef = useRef(null);
110
+ var _useField = useField("avatar"),
111
+ _useField2 = _slicedToArray(_useField, 3),
112
+ field = _useField2[0];
113
+ _useField2[1];
114
+ var helpers = _useField2[2];
115
+ var setValue = helpers.setValue;
116
+ var avatarDetails = {
117
+ imageUrl: field.value.imageUrl
118
+ };
119
+ var onProfileImageChange = function onProfileImageChange(event) {
120
+ var imageFile = event.target.files[0];
121
+ var validationError = validateProfileImage(imageFile);
122
+ if (validationError) {
123
+ Toastr.error(validationError);
124
+ return validationError;
125
+ }
126
+ return setValue({
127
+ imageUrl: URL.createObjectURL(imageFile),
128
+ file: imageFile
129
+ });
130
+ };
131
+ var handleChangeImage = function handleChangeImage() {
132
+ var _fileInputRef$current;
133
+ return (_fileInputRef$current = fileInputRef.current) === null || _fileInputRef$current === void 0 ? void 0 : _fileInputRef$current.click();
134
+ };
135
+ var handleRemoveImage = function handleRemoveImage() {
136
+ return setValue({
137
+ imageUrl: "",
138
+ file: "_destroy"
139
+ });
140
+ };
141
+ var validateProfileImage = function validateProfileImage(imageFile) {
142
+ var type = imageFile.type,
143
+ size = imageFile.size;
144
+ if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {
145
+ return VALIDATION_ERRORS.invalid_type;
146
+ }
147
+ if (size === 0) return VALIDATION_ERRORS.corrupted_file;
148
+ if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {
149
+ return VALIDATION_ERRORS.file_limit_exceeded;
150
+ }
151
+ return null;
152
+ };
153
+ return /*#__PURE__*/jsxs("div", {
154
+ className: "mb-4 flex flex-col items-center gap-2",
155
+ children: [/*#__PURE__*/jsxs("div", {
156
+ className: "relative shrink-0",
157
+ children: [/*#__PURE__*/jsx("div", {
158
+ className: "absolute bottom-0 end-0 z-10",
159
+ children: /*#__PURE__*/jsx(Dropdown
160
+ // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes
161
+ , {
162
+ buttonProps: {
163
+ className: "rounded-full"
164
+ },
165
+ buttonSize: "small",
166
+ buttonStyle: "tertiary",
167
+ icon: Edit,
168
+ children: /*#__PURE__*/jsxs(Menu, {
169
+ children: [/*#__PURE__*/jsx(MenuItem.Button, {
170
+ "data-testid": "profile-image-upload-button",
171
+ onClick: handleChangeImage,
172
+ children: avatarDetails !== null && avatarDetails !== void 0 && avatarDetails.imageUrl ? t("neetoTeamMembers.profile.avatar.changeProfilePicture") : t("neetoTeamMembers.profile.avatar.uploadProfilePicture")
173
+ }), /*#__PURE__*/jsx(MenuItem.Button, {
174
+ "data-testid": "profile-image-remove-button",
175
+ onClick: handleRemoveImage,
176
+ children: t("neetoTeamMembers.buttons.remove")
177
+ })]
178
+ })
179
+ })
180
+ }), /*#__PURE__*/jsx(Avatar, {
181
+ size: "extraLarge",
182
+ user: avatarDetails
183
+ })]
184
+ }), /*#__PURE__*/jsxs("div", {
185
+ className: "flex flex-col items-center",
186
+ children: [/*#__PURE__*/jsx(Typography, {
187
+ className: "neeto-ui-text-gray-600 text-center",
188
+ style: "body3",
189
+ children: /*#__PURE__*/jsx(Trans, {
190
+ i18nKey: "neetoTeamMembers.profile.avatar.profilePictureUploadMessage",
191
+ values: {
192
+ limit: globalProps.endUserUploadedFileSizeLimitInMb
193
+ }
194
+ })
195
+ }), /*#__PURE__*/jsx("input", {
196
+ hidden: true,
197
+ accept: "image/*",
198
+ "data-testid": "profile-image-upload-file-field",
199
+ id: "uploadProfileImage",
200
+ name: "profile_image_path",
201
+ ref: fileInputRef,
202
+ type: "file",
203
+ onChange: onProfileImageChange
204
+ }, avatarDetails === null || avatarDetails === void 0 ? void 0 : avatarDetails.imageUrl)]
205
+ })]
206
+ });
207
+ };
208
+
209
+ export { DEFAULT_POPOVER_VALUES as D, MY_PROFILE_PATH as M, PROFILE_VALIDATION_SCHEMA as P, ProfileImage as a, profileApi as p, useCountries as u };
210
+ //# sourceMappingURL=ProfileImage-B1HLSck6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileImage-B1HLSck6.js","sources":["../app/javascript/src/apis/profile.js","../app/javascript/src/components/Profile/constants.js","../app/javascript/src/hooks/profile/useCountriesApi.js","../app/javascript/src/components/Profile/hooks/useCountries.js","../app/javascript/src/components/Profile/ProfileImage.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/common/constants\";\n\nconst fetchCountries = () => axios.get(`${BASE_URL}/profile/countries`);\n\nconst fetchUserDetails = () => axios.get(`${BASE_URL}/profile/user`);\n\nconst updateUser = ({ id, payload }) =>\n axios.put(`${BASE_URL}/profile/user/${id}`, payload);\n\nconst profileApi = { fetchCountries, fetchUserDetails, updateUser };\n\nexport default profileApi;\n","import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nexport const PROFILE_VALIDATION_SCHEMA = yup.object().shape({\n firstName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.firstName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n lastName: yup\n .string()\n .trim()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.lastName\"))\n .matches(\n /^[\\p{L}\\p{N} ,'-áéíóúÁÉÍÓÚ]+$/iu,\n t(\"neetoTeamMembers.profile.form.invalidName\")\n )\n .matches(/^[^.]+$/i, t(\"neetoTeamMembers.profile.form.dotsNotAllowed\")),\n dateFormat: yup\n .string()\n .required(t(\"neetoTeamMembers.profile.form.isRequired.dateFormat\")),\n});\n\nexport const MY_PROFILE_PATH = \"/auth/profile/edit\";\n\nexport const ALLOWED_PROFILE_IMAGE_MIME_TYPES = [\"image/jpeg\", \"image/png\"];\nexport const IMAGE_DELETE_BUTTON_SIZE = 16;\nexport const STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES =\n globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024;\n\nexport const VALIDATION_ERRORS = {\n invalid_type: t(\"neetoTeamMembers.profile.file.invalidType.image\"),\n corrupted_file: t(\"neetoTeamMembers.profile.file.corrupted\"),\n file_limit_exceeded: t(\"neetoTeamMembers.profile.file.limitExceeded\", {\n maxSize: globalProps.endUserUploadedFileSizeLimitInMb,\n }),\n};\n\nexport const DEFAULT_POPOVER_VALUES = {\n preferredDateFormat: {},\n preferredTimeFormat: {},\n timeZone: {},\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nimport profileApi from \"src/apis/profile\";\nimport { QUERY_KEYS } from \"src/common/constants\";\n\nconst useFetchCountries = options =>\n useQuery({\n queryKey: [QUERY_KEYS.COUNTRIES_LIST],\n queryFn: profileApi.fetchCountries,\n staleTime: DEFAULT_STALE_TIME,\n ...options,\n });\n\nexport { useFetchCountries };\n","import { useCallback, useMemo, useState } from \"react\";\n\nimport { findById } from \"neetocist\";\n\nimport { useFetchCountries } from \"hooks/profile/useCountriesApi\";\n\nconst useCountries = () => {\n const [selectedCountryOption, setSelectedCountryOption] = useState(null);\n\n const { data: { countries = [] } = {}, isLoading } = useFetchCountries();\n\n const formatCountryOption = country => ({\n label: country?.name,\n value: country?.id,\n });\n\n const countryDropdownOptions = useMemo(\n () => countries.map(formatCountryOption),\n [countries]\n );\n\n const handleCountryChange = useCallback(\n countryOption => {\n setSelectedCountryOption(countryOption);\n\n const dependentFields = {};\n const selectedCountry = findById(countryOption.value, countries);\n\n dependentFields.dateFormat = selectedCountry.dateFormat;\n\n return dependentFields;\n },\n [countries]\n );\n\n return {\n countryDropdownOptions,\n selectedCountryOption,\n isFetchingCountriesList: isLoading,\n handleCountryChange,\n };\n};\n\nexport default useCountries;\n","import { useRef } from \"react\";\n\nimport { useField } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Edit } from \"neetoicons\";\nimport { Avatar, Dropdown, Toastr, Typography } from \"neetoui\";\nimport { useTranslation, Trans } from \"react-i18next\";\n\nimport {\n ALLOWED_PROFILE_IMAGE_MIME_TYPES,\n STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES,\n VALIDATION_ERRORS,\n} from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ProfileImage = () => {\n const { t } = useTranslation();\n const fileInputRef = useRef(null);\n\n const [field, _, helpers] = useField(\"avatar\");\n const { setValue } = helpers;\n\n const avatarDetails = { imageUrl: field.value.imageUrl };\n\n const onProfileImageChange = event => {\n const imageFile = event.target.files[0];\n const validationError = validateProfileImage(imageFile);\n\n if (validationError) {\n Toastr.error(validationError);\n\n return validationError;\n }\n\n return setValue({\n imageUrl: URL.createObjectURL(imageFile),\n file: imageFile,\n });\n };\n\n const handleChangeImage = () => fileInputRef.current?.click();\n\n const handleRemoveImage = () => setValue({ imageUrl: \"\", file: \"_destroy\" });\n\n const validateProfileImage = imageFile => {\n const { type, size } = imageFile;\n\n if (!ALLOWED_PROFILE_IMAGE_MIME_TYPES.includes(type)) {\n return VALIDATION_ERRORS.invalid_type;\n }\n\n if (size === 0) return VALIDATION_ERRORS.corrupted_file;\n\n if (size > STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES) {\n return VALIDATION_ERRORS.file_limit_exceeded;\n }\n\n return null;\n };\n\n return (\n <div className=\"mb-4 flex flex-col items-center gap-2\">\n <div className=\"relative shrink-0\">\n <div className=\"absolute bottom-0 end-0 z-10\">\n <Dropdown\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n buttonProps={{ className: \"rounded-full\" }}\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={Edit}\n >\n <Menu>\n <MenuItem.Button\n data-testid=\"profile-image-upload-button\"\n onClick={handleChangeImage}\n >\n {avatarDetails?.imageUrl\n ? t(\"neetoTeamMembers.profile.avatar.changeProfilePicture\")\n : t(\"neetoTeamMembers.profile.avatar.uploadProfilePicture\")}\n </MenuItem.Button>\n <MenuItem.Button\n data-testid=\"profile-image-remove-button\"\n onClick={handleRemoveImage}\n >\n {t(\"neetoTeamMembers.buttons.remove\")}\n </MenuItem.Button>\n </Menu>\n </Dropdown>\n </div>\n <Avatar size=\"extraLarge\" user={avatarDetails} />\n </div>\n <div className=\"flex flex-col items-center\">\n <Typography\n className=\"neeto-ui-text-gray-600 text-center\"\n style=\"body3\"\n >\n <Trans\n i18nKey=\"neetoTeamMembers.profile.avatar.profilePictureUploadMessage\"\n values={{\n limit: globalProps.endUserUploadedFileSizeLimitInMb,\n }}\n />\n </Typography>\n <input\n hidden\n accept=\"image/*\"\n data-testid=\"profile-image-upload-file-field\"\n id=\"uploadProfileImage\"\n key={avatarDetails?.imageUrl}\n name=\"profile_image_path\"\n ref={fileInputRef}\n type=\"file\"\n onChange={onProfileImageChange}\n />\n </div>\n </div>\n );\n};\n\nexport default ProfileImage;\n"],"names":["fetchCountries","axios","get","concat","BASE_URL","fetchUserDetails","updateUser","_ref","id","payload","put","profileApi","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","MY_PROFILE_PATH","ALLOWED_PROFILE_IMAGE_MIME_TYPES","STATIC_PROFILE_IMAGE_MAX_SIZE_IN_BYTES","globalProps","endUserUploadedFileSizeLimitInMb","VALIDATION_ERRORS","invalid_type","corrupted_file","file_limit_exceeded","maxSize","DEFAULT_POPOVER_VALUES","preferredDateFormat","preferredTimeFormat","timeZone","useFetchCountries","options","useQuery","_objectSpread","queryKey","QUERY_KEYS","COUNTRIES_LIST","queryFn","staleTime","DEFAULT_STALE_TIME","useCountries","_useState","useState","_useState2","_slicedToArray","selectedCountryOption","setSelectedCountryOption","_useFetchCountries","_useFetchCountries$da","data","_useFetchCountries$da2","_useFetchCountries$da3","countries","isLoading","formatCountryOption","country","label","name","value","countryDropdownOptions","useMemo","map","handleCountryChange","useCallback","countryOption","dependentFields","selectedCountry","findById","isFetchingCountriesList","Menu","Dropdown","MenuItem","ProfileImage","_useTranslation","useTranslation","fileInputRef","useRef","_useField","useField","_useField2","field","_","helpers","setValue","avatarDetails","imageUrl","onProfileImageChange","event","imageFile","target","files","validationError","validateProfileImage","Toastr","error","URL","createObjectURL","file","handleChangeImage","_fileInputRef$current","current","click","handleRemoveImage","type","size","includes","_jsxs","className","children","_jsx","buttonProps","buttonSize","buttonStyle","icon","Edit","Button","onClick","Avatar","user","Typography","style","Trans","i18nKey","values","limit","hidden","accept","ref","onChange"],"mappings":"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"}