@bigbinary/neeto-team-members-frontend 5.0.37 → 5.0.38
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 +19 -1
- package/dist/.ready +1 -1
- package/dist/{Permissions-DzZb1CP-.js → Permissions-C5poOq-v.js} +8 -4
- package/dist/Permissions-C5poOq-v.js.map +1 -0
- package/dist/{Permissions-rFYQmsMn.js → Permissions-DoGY84sh.js} +8 -4
- package/dist/Permissions-DoGY84sh.js.map +1 -0
- package/dist/{RolesRadioGroup-n1NclSyf.js → RolesRadioGroup-D4LlGV4N.js} +8 -6
- package/dist/RolesRadioGroup-D4LlGV4N.js.map +1 -0
- package/dist/{RolesRadioGroup-bXyHmk_Q.js → RolesRadioGroup-cjHORagK.js} +8 -6
- package/dist/RolesRadioGroup-cjHORagK.js.map +1 -0
- package/dist/cjs/v2/Groups.js +42 -22
- package/dist/cjs/v2/Groups.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/MembersDropdown.js +3 -3
- package/dist/cjs/v2/MembersDropdown.js.map +1 -1
- package/dist/cjs/v2/MembersInvite.js +6 -5
- package/dist/cjs/v2/MembersInvite.js.map +1 -1
- package/dist/cjs/v2/Permissions.js +1 -1
- package/dist/cjs/v2/Profile.js +4 -4
- package/dist/cjs/v2/Profile.js.map +1 -1
- package/dist/cjs/v2/Roles.js +64 -45
- package/dist/cjs/v2/Roles.js.map +1 -1
- package/dist/cjs/v2/RolesRadioGroup.js +1 -1
- package/dist/cjs/v2/TeamMembers.js +29 -17
- package/dist/cjs/v2/TeamMembers.js.map +1 -1
- package/dist/cjs/v2/TeamsAndMembersDropdown.js +1 -0
- package/dist/cjs/v2/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/cjs/v2/TeamsDropdown.js +3 -3
- package/dist/cjs/v2/TeamsDropdown.js.map +1 -1
- package/dist/cjs/v2/index.js +5 -5
- package/dist/{index-BaW7CGuF.js → index-BVrpRWeD.js} +5 -3
- package/dist/index-BVrpRWeD.js.map +1 -0
- package/dist/{index-C8Aaixo-.js → index-CVZHlIdE.js} +5 -3
- package/dist/index-CVZHlIdE.js.map +1 -0
- package/dist/{index-CWbZ7v35.js → index-CWqUrFAb.js} +92 -106
- package/dist/index-CWqUrFAb.js.map +1 -0
- package/dist/{index-C49Ms0Ph.js → index-ClM2W32S.js} +93 -106
- package/dist/index-ClM2W32S.js.map +1 -0
- package/dist/v2/Groups.js +43 -23
- package/dist/v2/Groups.js.map +1 -1
- package/dist/v2/ManageMember.js +3 -2
- package/dist/v2/ManageMember.js.map +1 -1
- package/dist/v2/MembersDropdown.js +3 -3
- package/dist/v2/MembersDropdown.js.map +1 -1
- package/dist/v2/MembersInvite.js +6 -5
- package/dist/v2/MembersInvite.js.map +1 -1
- package/dist/v2/Permissions.js +1 -1
- package/dist/v2/Profile.js +4 -4
- package/dist/v2/Profile.js.map +1 -1
- package/dist/v2/Roles.js +64 -45
- package/dist/v2/Roles.js.map +1 -1
- package/dist/v2/RolesRadioGroup.js +1 -1
- package/dist/v2/TeamMembers.js +30 -18
- package/dist/v2/TeamMembers.js.map +1 -1
- package/dist/v2/TeamsAndMembersDropdown.js +1 -0
- package/dist/v2/TeamsAndMembersDropdown.js.map +1 -1
- package/dist/v2/TeamsDropdown.js +3 -3
- package/dist/v2/TeamsDropdown.js.map +1 -1
- package/dist/v2/index.js +5 -5
- package/package.json +5 -5
- package/dist/Permissions-DzZb1CP-.js.map +0 -1
- package/dist/Permissions-rFYQmsMn.js.map +0 -1
- package/dist/RolesRadioGroup-bXyHmk_Q.js.map +0 -1
- package/dist/RolesRadioGroup-n1NclSyf.js.map +0 -1
- package/dist/index-BaW7CGuF.js.map +0 -1
- package/dist/index-C49Ms0Ph.js.map +0 -1
- package/dist/index-C8Aaixo-.js.map +0 -1
- package/dist/index-CWbZ7v35.js.map +0 -1
package/dist/cjs/v2/Profile.js
CHANGED
|
@@ -281,7 +281,7 @@ var ChangeProfile = function ChangeProfile(_ref) {
|
|
|
281
281
|
setFieldValueRef.current = setFieldValue;
|
|
282
282
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
283
283
|
children: [/*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Body, {
|
|
284
|
-
className: "flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto
|
|
284
|
+
className: "flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4",
|
|
285
285
|
children: [/*#__PURE__*/jsxRuntime.jsx(Card.Card, {
|
|
286
286
|
className: "w-full shrink-0 ring-0",
|
|
287
287
|
size: "sm",
|
|
@@ -342,7 +342,7 @@ var ChangeProfile = function ChangeProfile(_ref) {
|
|
|
342
342
|
"pointer-events-none bg-muted": isTimezoneFieldDisabled
|
|
343
343
|
})
|
|
344
344
|
}), touched.timeZone && errors.timeZone && /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
345
|
-
|
|
345
|
+
color: "destructive",
|
|
346
346
|
variant: "caption",
|
|
347
347
|
children: errors.timeZone
|
|
348
348
|
})]
|
|
@@ -480,7 +480,7 @@ var Preview = function Preview() {
|
|
|
480
480
|
});
|
|
481
481
|
}
|
|
482
482
|
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Sheet.Body, {
|
|
483
|
-
className: "flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto
|
|
483
|
+
className: "flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4",
|
|
484
484
|
children: [/*#__PURE__*/jsxRuntime.jsx(Card.Card, {
|
|
485
485
|
className: "w-full shrink-0 ring-0",
|
|
486
486
|
size: "sm",
|
|
@@ -497,7 +497,7 @@ var Preview = function Preview() {
|
|
|
497
497
|
className: "flex flex-col",
|
|
498
498
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
499
499
|
"data-testid": "profile-full-name-field",
|
|
500
|
-
variant: "
|
|
500
|
+
variant: "h6",
|
|
501
501
|
children: name
|
|
502
502
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
503
503
|
className: "flex items-center gap-1",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Profile.js","sources":["../../../app/javascript/src/components/v2/hooks/profile/useProfileApi.js","../../../app/javascript/src/components/v2/Profile/constants.js","../../../app/javascript/src/components/v2/Profile/ChangeProfile.jsx","../../../app/javascript/src/components/v2/Profile/hooks/useProfileUpdatePane.js","../../../app/javascript/src/components/v2/Profile/utils.js","../../../app/javascript/src/components/v2/Profile/Preview.jsx","../../../app/javascript/src/components/v2/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 \"v2/apis/profile\";\nimport { QUERY_KEYS } from \"v2/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 { useCallback, useEffect, useRef } from \"react\";\n\nimport { Label, Sheet, Spinner, Typography, cn } from \"@bigbinary/neeto-atoms\";\nimport { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { Card, CardContent } from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"v2/common/constants\";\nimport { FormikForm, FormikSelect, FormikActionBlock } from \"v2/common/formik\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"v2/hooks/profile/useProfileApi\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nimport \"../styles/timezone-selector.css\";\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 timezoneRef = useCallback(\n node => {\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 }) => setFieldValueRef.current(\"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 toast.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 <FormikForm\n className=\"flex flex-col h-full flex-1 overflow-y-auto\"\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 <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto p-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <ProfileImage />\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"space-y-6\">\n <FormikInput\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 <FormikInput\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 <FormikSelect\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={value => {\n const option = findBy({ value }, countryDropdownOptions);\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n }}\n />\n <FormikSelect\n required\n data-testid=\"ntm-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n />\n <div className=\"space-y-2\">\n <Label>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n <span className=\"text-destructive\"> *</span>\n </Label>\n <div\n data-testid=\"ntm-profile-time-zone-select\"\n ref={timezoneRef}\n className={cn(\"w-full grow\", {\n \"pointer-events-none bg-muted\": isTimezoneFieldDisabled,\n })}\n />\n {touched.timeZone && errors.timeZone && (\n <Typography\n className=\"text-destructive\"\n variant=\"caption\"\n >\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <FormikSelect\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 />\n <FormikSelect\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 />\n </CardContent>\n </Card>\n </Sheet.Body>\n <Sheet.Footer className=\"border-t border-border\">\n <FormikActionBlock\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 </Sheet.Footer>\n </>\n );\n }}\n </FormikForm>\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 {\n Avatar,\n Button,\n Sheet,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n Card,\n CardAction,\n CardContent,\n} from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { Crown } from \"lucide-react\";\nimport { _findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"v2/common/constants\";\nimport { useFetchProfile } from \"v2/hooks/profile/useProfileApi\";\n\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport { sanitizeValue } from \"./utils\";\n\nconst Field = ({ label, children, testId }) => (\n <div className=\"flex flex-col gap-1 py-3 first:pt-0 last:pb-0\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {label}\n </Typography>\n <Typography data-testid={testId} variant=\"body2\">\n {children}\n </Typography>\n </div>\n);\n\nconst Preview = () => {\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 isHour12 = (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\";\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: isHour12,\n }).format(new Date());\n\n const timeZoneAbbreviation = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"short\",\n })\n .formatToParts(new Date())\n .find(part => part.type === \"timeZoneName\")?.value;\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 <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto p-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <div className=\"flex items-center gap-3\">\n <Avatar\n className=\"size-12\"\n user={{ name, imageUrl: profileImageUrl }}\n />\n <div className=\"flex flex-col\">\n <Typography data-testid=\"profile-full-name-field\" variant=\"h4\">\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n color=\"muted\"\n data-testid=\"profile-email-field\"\n variant=\"body3\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton\n size=\"icon-xs\"\n value={email}\n variant=\"ghost\"\n />\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"divide-y divide-border\">\n <Field\n label={t(\"neetoTeamMembers.labels.firstName\")}\n testId=\"profile-first-name-field\"\n >\n {firstName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.lastName\")}\n testId=\"profile-last-name-field\"\n >\n {lastName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.country\")}\n testId=\"profile-country-field\"\n >\n {countryName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.language\")}\n testId=\"profile-preferred-language-field\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.timeZone\")}\n testId=\"profile-time-zone-field\"\n >\n {ianaTimezoneToHumanReadable(timeZone)}\n {timeZoneAbbreviation ? ` (${timeZoneAbbreviation})` : \"\"} {time}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n testId=\"profile-preferred-time-format-field\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n testId=\"profile-preferred-date-format-field\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"grid grid-cols-[1fr_auto] items-center gap-2\">\n <div className=\"flex flex-col gap-1\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {t(\"neetoTeamMembers.labels.currentPlan\")}\n </Typography>\n <Typography data-testid=\"profile-subscription-type\" variant=\"body2\">\n {t(\"neetoTeamMembers.common.subscriptionType\", { subscription })}\n </Typography>\n </div>\n <CardAction>\n <Button asChild data-testid=\"profile-upgrade-button\" size=\"sm\">\n <a href={MY_PROFILE_PATH}>\n <Crown className=\"size-4\" />\n {t(\"neetoTeamMembers.buttons.upgrade\")}\n </a>\n </Button>\n </CardAction>\n </CardContent>\n </Card>\n </Sheet.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\n\nconst Profile = () => {\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 const menuItems = [\n {\n key: \"edit-basic-info\",\n \"data-testid\": \"edit-basic-info-menu-button\",\n label: t(\"neetoTeamMembers.buttons.editBasicInfo\"),\n onClick: enableEditMode,\n },\n {\n key: \"update-email\",\n \"data-testid\": \"update-email-menu-button\",\n label: t(\"neetoTeamMembers.buttons.updateEmail\"),\n onClick: () => window.open(MY_PROFILE_PATH, \"_self\"),\n },\n {\n key: \"manage-billing-subscriptions\",\n \"data-testid\": \"manage-billing-subscriptions-menu-button\",\n label: t(\"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"),\n onClick: () => window.open(MY_PROFILE_PATH, \"_self\"),\n },\n ];\n\n return (\n <div className=\"w-full\">\n <Sheet\n {...{ isOpen, onClose }}\n className=\"ntm-timezone-shadcn-overrides max-w-96 gap-0 bg-sidebar\"\n >\n <Sheet.Header>\n <Sheet.Title asChild>\n <Typography variant=\"h3\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n </Sheet.Title>\n {!isEditMode && (\n <MoreDropdown\n {...{ menuItems }}\n isVertical\n dropdownProps={{ position: \"bottom-end\", strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": \"profile-more-dropdown-button\",\n size: \"icon-sm\",\n className: \"absolute top-3 end-12\",\n }}\n />\n )}\n </Sheet.Header>\n {isEditMode ? <ChangeProfile {...{ onClose }} /> : <Preview />}\n </Sheet>\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","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","MY_PROFILE_PATH","globalProps","endUserUploadedFileSizeLimitInMb","invalid_type","corrupted_file","file_limit_exceeded","maxSize","ChangeProfile","_ref","onClose","_useTranslation","useTranslation","_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","_user$lastName","_user$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","timezoneRef","useCallback","node","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","className","position","initialValue","onChange","_ref2","main","current","disabled","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","undefined","id","t0","toast","error","message","stop","_x","apply","arguments","useEffect","country","findBy","_jsx","children","Spinner","FormikForm","formProps","formikProps","initialValues","validationSchema","onSubmit","_ref4","setFieldValue","errors","touched","_jsxs","_Fragment","Sheet","Body","Card","size","CardContent","ProfileImage","FormikInput","autoFocus","label","name","type","placeholder","FormikSelect","option","dependentFields","LANGUAGE_OPTIONS","Label","ref","cn","Typography","variant","Footer","FormikActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","Field","testId","color","weight","Preview","_globalProps$user","_Intl$DateTimeFormat$","_findBy2","_findBy3","_findBy4","sanitizedUser","countryName","email","concat","subscription","subscriptionPlan","isHour12","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","timeZoneAbbreviation","timeZoneName","formatToParts","find","part","Avatar","CopyToClipboardButton","_findBy","ianaTimezoneToHumanReadable","CardAction","Button","asChild","href","Crown","memo","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","_slicedToArray","_useState","useState","_useState2","isEditMode","setIsEditMode","enableEditMode","menuItems","key","open","Header","Title","MoreDropdown","isVertical","dropdownProps","strategy","dropdownButtonProps","Pane","usePaneState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Profile.js","sources":["../../../app/javascript/src/components/v2/hooks/profile/useProfileApi.js","../../../app/javascript/src/components/v2/Profile/constants.js","../../../app/javascript/src/components/v2/Profile/ChangeProfile.jsx","../../../app/javascript/src/components/v2/Profile/hooks/useProfileUpdatePane.js","../../../app/javascript/src/components/v2/Profile/utils.js","../../../app/javascript/src/components/v2/Profile/Preview.jsx","../../../app/javascript/src/components/v2/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 \"v2/apis/profile\";\nimport { QUERY_KEYS } from \"v2/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 { useCallback, useEffect, useRef } from \"react\";\n\nimport { Label, Sheet, Spinner, Typography, cn } from \"@bigbinary/neeto-atoms\";\nimport { Input as FormikInput } from \"@bigbinary/neeto-atoms/formik\";\nimport { Card, CardContent } from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { NeetoTimezoneSelector } from \"@bigbinary/neeto-time-zones\";\nimport { findBy, noop } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { useProfileImageUpload } from \"neetoimageuploader\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"sonner\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"v2/common/constants\";\nimport { FormikForm, FormikSelect, FormikActionBlock } from \"v2/common/formik\";\nimport {\n useUpdateProfileMutation,\n useFetchProfile,\n} from \"v2/hooks/profile/useProfileApi\";\n\nimport { PROFILE_VALIDATION_SCHEMA } from \"./constants\";\nimport useCountries from \"./hooks/useCountries\";\nimport ProfileImage from \"./ProfileImage\";\n\nimport \"../styles/timezone-selector.css\";\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 timezoneRef = useCallback(\n node => {\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 }) => setFieldValueRef.current(\"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 toast.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 <FormikForm\n className=\"flex flex-col h-full flex-1 overflow-y-auto\"\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 <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <ProfileImage />\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"space-y-6\">\n <FormikInput\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 <FormikInput\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 <FormikSelect\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={value => {\n const option = findBy({ value }, countryDropdownOptions);\n const dependentFields = handleCountryChange(option);\n setFieldValue(\"dateFormat\", dependentFields?.dateFormat);\n }}\n />\n <FormikSelect\n required\n data-testid=\"ntm-language-select\"\n label={t(\"neetoTeamMembers.profile.inputs.label.language\")}\n name=\"language\"\n options={LANGUAGE_OPTIONS}\n />\n <div className=\"space-y-2\">\n <Label>\n {t(\"neetoTeamMembers.profile.inputs.label.timeZone\")}\n <span className=\"text-destructive\"> *</span>\n </Label>\n <div\n data-testid=\"ntm-profile-time-zone-select\"\n ref={timezoneRef}\n className={cn(\"w-full grow\", {\n \"pointer-events-none bg-muted\": isTimezoneFieldDisabled,\n })}\n />\n {touched.timeZone && errors.timeZone && (\n <Typography color=\"destructive\" variant=\"caption\">\n {errors.timeZone}\n </Typography>\n )}\n </div>\n <FormikSelect\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 />\n <FormikSelect\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 />\n </CardContent>\n </Card>\n </Sheet.Body>\n <Sheet.Footer className=\"border-t border-border\">\n <FormikActionBlock\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 </Sheet.Footer>\n </>\n );\n }}\n </FormikForm>\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 {\n Avatar,\n Button,\n Sheet,\n Spinner,\n Typography,\n} from \"@bigbinary/neeto-atoms\";\nimport {\n Card,\n CardAction,\n CardContent,\n} from \"@bigbinary/neeto-atoms/primitives/Card\";\nimport { ianaTimezoneToHumanReadable } from \"@bigbinary/neeto-time-zones\";\nimport { Crown } from \"lucide-react\";\nimport { _findBy } from \"neetocist\";\nimport { LANGUAGE_OPTIONS } from \"neetocommons/constants\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport CopyToClipboardButton from \"neetomolecules/v2/CopyToClipboardButton\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DATE_FORMAT_OPTIONS, TIME_FORMAT_OPTIONS } from \"v2/common/constants\";\nimport { useFetchProfile } from \"v2/hooks/profile/useProfileApi\";\n\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport { sanitizeValue } from \"./utils\";\n\nconst Field = ({ label, children, testId }) => (\n <div className=\"flex flex-col gap-1 py-3 first:pt-0 last:pb-0\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {label}\n </Typography>\n <Typography data-testid={testId} variant=\"body2\">\n {children}\n </Typography>\n </div>\n);\n\nconst Preview = () => {\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 isHour12 = (timeFormat || TIME_FORMAT_OPTIONS[0].value) === \"12h\";\n\n const time = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n hour: \"2-digit\",\n minute: \"2-digit\",\n hour12: isHour12,\n }).format(new Date());\n\n const timeZoneAbbreviation = new Intl.DateTimeFormat(\"en-US\", {\n timeZone,\n timeZoneName: \"short\",\n })\n .formatToParts(new Date())\n .find(part => part.type === \"timeZoneName\")?.value;\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 <Sheet.Body className=\"flex min-h-0 w-full flex-1 flex-col gap-2 overflow-y-auto px-6 pb-4\">\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent>\n <div className=\"flex items-center gap-3\">\n <Avatar\n className=\"size-12\"\n user={{ name, imageUrl: profileImageUrl }}\n />\n <div className=\"flex flex-col\">\n <Typography data-testid=\"profile-full-name-field\" variant=\"h6\">\n {name}\n </Typography>\n <div className=\"flex items-center gap-1\">\n <Typography\n color=\"muted\"\n data-testid=\"profile-email-field\"\n variant=\"body3\"\n >\n {email}\n </Typography>\n <CopyToClipboardButton\n size=\"icon-xs\"\n value={email}\n variant=\"ghost\"\n />\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"divide-y divide-border\">\n <Field\n label={t(\"neetoTeamMembers.labels.firstName\")}\n testId=\"profile-first-name-field\"\n >\n {firstName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.lastName\")}\n testId=\"profile-last-name-field\"\n >\n {lastName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.country\")}\n testId=\"profile-country-field\"\n >\n {countryName}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.language\")}\n testId=\"profile-preferred-language-field\"\n >\n {_findBy({ value: language }, LANGUAGE_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.timeZone\")}\n testId=\"profile-time-zone-field\"\n >\n {ianaTimezoneToHumanReadable(timeZone)}\n {timeZoneAbbreviation ? ` (${timeZoneAbbreviation})` : \"\"} {time}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredTimeFormat\")}\n testId=\"profile-preferred-time-format-field\"\n >\n {_findBy({ value: timeFormat }, TIME_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n <Field\n label={t(\"neetoTeamMembers.labels.preferredDateFormat\")}\n testId=\"profile-preferred-date-format-field\"\n >\n {_findBy({ value: dateFormat }, DATE_FORMAT_OPTIONS)?.label || \"-\"}\n </Field>\n </CardContent>\n </Card>\n <Card className=\"w-full shrink-0 ring-0\" size=\"sm\">\n <CardContent className=\"grid grid-cols-[1fr_auto] items-center gap-2\">\n <div className=\"flex flex-col gap-1\">\n <Typography color=\"muted\" variant=\"caption\" weight=\"medium\">\n {t(\"neetoTeamMembers.labels.currentPlan\")}\n </Typography>\n <Typography data-testid=\"profile-subscription-type\" variant=\"body2\">\n {t(\"neetoTeamMembers.common.subscriptionType\", { subscription })}\n </Typography>\n </div>\n <CardAction>\n <Button asChild data-testid=\"profile-upgrade-button\" size=\"sm\">\n <a href={MY_PROFILE_PATH}>\n <Crown className=\"size-4\" />\n {t(\"neetoTeamMembers.buttons.upgrade\")}\n </a>\n </Button>\n </CardAction>\n </CardContent>\n </Card>\n </Sheet.Body>\n );\n};\n\nexport default memo(Preview);\n","import { useState } from \"react\";\n\nimport { Sheet, Typography } from \"@bigbinary/neeto-atoms\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ChangeProfile from \"./ChangeProfile\";\nimport { MY_PROFILE_PATH } from \"./constants\";\nimport useProfileUpdatePaneState from \"./hooks/useProfileUpdatePane\";\nimport Preview from \"./Preview\";\n\nconst Profile = () => {\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 const menuItems = [\n {\n key: \"edit-basic-info\",\n \"data-testid\": \"edit-basic-info-menu-button\",\n label: t(\"neetoTeamMembers.buttons.editBasicInfo\"),\n onClick: enableEditMode,\n },\n {\n key: \"update-email\",\n \"data-testid\": \"update-email-menu-button\",\n label: t(\"neetoTeamMembers.buttons.updateEmail\"),\n onClick: () => window.open(MY_PROFILE_PATH, \"_self\"),\n },\n {\n key: \"manage-billing-subscriptions\",\n \"data-testid\": \"manage-billing-subscriptions-menu-button\",\n label: t(\"neetoTeamMembers.buttons.manageBillingAndSubscriptions\"),\n onClick: () => window.open(MY_PROFILE_PATH, \"_self\"),\n },\n ];\n\n return (\n <div className=\"w-full\">\n <Sheet\n {...{ isOpen, onClose }}\n className=\"ntm-timezone-shadcn-overrides max-w-96 gap-0 bg-sidebar\"\n >\n <Sheet.Header>\n <Sheet.Title asChild>\n <Typography variant=\"h3\">\n {t(\"neetoTeamMembers.profile.common.myProfile\")}\n </Typography>\n </Sheet.Title>\n {!isEditMode && (\n <MoreDropdown\n {...{ menuItems }}\n isVertical\n dropdownProps={{ position: \"bottom-end\", strategy: \"fixed\" }}\n dropdownButtonProps={{\n \"data-testid\": \"profile-more-dropdown-button\",\n size: \"icon-sm\",\n className: \"absolute top-3 end-12\",\n }}\n />\n )}\n </Sheet.Header>\n {isEditMode ? <ChangeProfile {...{ onClose }} /> : <Preview />}\n </Sheet>\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","PROFILE_VALIDATION_SCHEMA","yup","object","shape","firstName","string","trim","required","t","matches","lastName","dateFormat","MY_PROFILE_PATH","globalProps","endUserUploadedFileSizeLimitInMb","invalid_type","corrupted_file","file_limit_exceeded","maxSize","ChangeProfile","_ref","onClose","_useTranslation","useTranslation","_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","_user$lastName","_user$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","timezoneRef","useCallback","node","isNotNil","NeetoTimezoneSelector","isTimeFormat24H","className","position","initialValue","onChange","_ref2","main","current","disabled","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","undefined","id","t0","toast","error","message","stop","_x","apply","arguments","useEffect","country","findBy","_jsx","children","Spinner","FormikForm","formProps","formikProps","initialValues","validationSchema","onSubmit","_ref4","setFieldValue","errors","touched","_jsxs","_Fragment","Sheet","Body","Card","size","CardContent","ProfileImage","FormikInput","autoFocus","label","name","type","placeholder","FormikSelect","option","dependentFields","LANGUAGE_OPTIONS","Label","ref","cn","Typography","color","variant","Footer","FormikActionBlock","isSubmitting","cancelButtonProps","onClick","submitButtonProps","useProfileUpdateStore","create","withImmutableActions","set","isOpen","setIsOpen","arg","state","useProfileUpdatePaneState","shallow","sanitizeValue","defaultValue","isNil","is","String","Field","testId","weight","Preview","_globalProps$user","_Intl$DateTimeFormat$","_findBy2","_findBy3","_findBy4","sanitizedUser","countryName","email","concat","subscription","subscriptionPlan","isHour12","time","Intl","DateTimeFormat","hour","minute","hour12","format","Date","timeZoneAbbreviation","timeZoneName","formatToParts","find","part","Avatar","CopyToClipboardButton","_findBy","ianaTimezoneToHumanReadable","CardAction","Button","asChild","href","Crown","memo","Profile","_useProfileUpdatePane","_useProfileUpdatePane2","_slicedToArray","_useState","useState","_useState2","isEditMode","setIsEditMode","enableEditMode","menuItems","key","open","Header","Title","MoreDropdown","isVertical","dropdownProps","strategy","dropdownButtonProps","Pane","usePaneState"],"mappings":"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"}
|
package/dist/cjs/v2/Roles.js
CHANGED
|
@@ -26,11 +26,11 @@ var Select = require('../../Select-CshPoN2b.js');
|
|
|
26
26
|
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
27
27
|
require('formik');
|
|
28
28
|
var yup = require('yup');
|
|
29
|
-
var v2_Permissions = require('../../Permissions-
|
|
29
|
+
var v2_Permissions = require('../../Permissions-DoGY84sh.js');
|
|
30
|
+
var lucideReact = require('lucide-react');
|
|
30
31
|
var classnames = require('classnames');
|
|
31
32
|
require('@babel/runtime/helpers/toConsumableArray');
|
|
32
33
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
33
|
-
var lucideReact = require('lucide-react');
|
|
34
34
|
var HelpPopover = require('@bigbinary/neeto-molecules/v2/HelpPopover');
|
|
35
35
|
var MoreDropdown = require('@bigbinary/neeto-molecules/v2/MoreDropdown');
|
|
36
36
|
var Search = require('@bigbinary/neeto-molecules/v2/Search');
|
|
@@ -652,19 +652,22 @@ var getScrollBarWidth = function getScrollBarWidth() {
|
|
|
652
652
|
|
|
653
653
|
var _renderDescription = function renderDescription(permissions, filteredPermissions) {
|
|
654
654
|
var permissionTooltip = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
655
|
+
var depth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
655
656
|
return permissions === null || permissions === void 0 ? void 0 : permissions.map(function (_ref) {
|
|
656
657
|
var id = _ref.id,
|
|
657
658
|
name = _ref.name,
|
|
658
659
|
description = _ref.description,
|
|
659
660
|
children = _ref.children;
|
|
660
661
|
var tooltipContent = permissionTooltip[name];
|
|
662
|
+
var isChild = depth > 0;
|
|
661
663
|
return /*#__PURE__*/jsxRuntime.jsxs(React.Fragment, {
|
|
662
664
|
children: [filteredPermissions.includes(id) && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
663
665
|
className: "ntm-roles-table-sidebar__list-item flex min-h-[var(--ntm-roles-table-cell-height)] flex-row items-center gap-1 whitespace-normal break-words",
|
|
664
666
|
"data-name": description,
|
|
665
667
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
666
|
-
className: "text-[0.9375rem] font-medium leading-normal",
|
|
667
668
|
"data-testid": "ntm-permission-category-description",
|
|
669
|
+
variant: isChild ? "body3" : "body2",
|
|
670
|
+
weight: isChild ? "normal" : "medium",
|
|
668
671
|
children: description
|
|
669
672
|
}), tooltipContent && /*#__PURE__*/jsxRuntime.jsx(HelpPopover__default.default, {
|
|
670
673
|
description: tooltipContent,
|
|
@@ -673,7 +676,7 @@ var _renderDescription = function renderDescription(permissions, filteredPermiss
|
|
|
673
676
|
})]
|
|
674
677
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
675
678
|
className: "ntm-roles-table-sidebar__sub-blocks relative pl-6",
|
|
676
|
-
children: _renderDescription(children, filteredPermissions, permissionTooltip)
|
|
679
|
+
children: _renderDescription(children, filteredPermissions, permissionTooltip, depth + 1)
|
|
677
680
|
})]
|
|
678
681
|
}, id);
|
|
679
682
|
});
|
|
@@ -730,8 +733,11 @@ var TableHeader = function TableHeader(_ref) {
|
|
|
730
733
|
className: "flex w-full items-center justify-between overflow-hidden",
|
|
731
734
|
"data-testid": "ntm-roles-table-role-header",
|
|
732
735
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
733
|
-
className: "w-full
|
|
736
|
+
className: "w-full text-center",
|
|
734
737
|
"data-testid": "ntm-roles-table-header-role-title",
|
|
738
|
+
lineClamp: 1,
|
|
739
|
+
variant: "body3",
|
|
740
|
+
weight: "semibold",
|
|
735
741
|
children: role.name
|
|
736
742
|
}), !isAdminRole && /*#__PURE__*/jsxRuntime.jsx(MoreDropdown__default.default, {
|
|
737
743
|
dropdownProps: {
|
|
@@ -937,13 +943,18 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
937
943
|
className: "ntm-roles-table-sidebar__list",
|
|
938
944
|
children: categories.length === 0 ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
939
945
|
className: "ntm-roles-table-sidebar__list-item-cell",
|
|
940
|
-
children: /*#__PURE__*/jsxRuntime.
|
|
941
|
-
className: "ntm-roles-table-sidebar__list-item
|
|
942
|
-
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
943
|
-
className: "text-sm font-semibold leading-normal",
|
|
946
|
+
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
947
|
+
className: "ntm-roles-table-sidebar__list-item flex flex-col items-start justify-center gap-1 px-6 py-6",
|
|
948
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
944
949
|
"data-testid": "ntm-empty-category-row",
|
|
945
|
-
|
|
946
|
-
|
|
950
|
+
variant: "body2",
|
|
951
|
+
weight: "medium",
|
|
952
|
+
children: t("neetoTeamMembers.labels.permissionSearchEmpty")
|
|
953
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
954
|
+
color: "muted",
|
|
955
|
+
variant: "body3",
|
|
956
|
+
children: t("neetoTeamMembers.labels.permissionSearchEmptyDescription")
|
|
957
|
+
})]
|
|
947
958
|
})
|
|
948
959
|
}) : categories.map(function (category, index) {
|
|
949
960
|
var groupedPermissions = filteredGroupPermissions.get(category);
|
|
@@ -956,8 +967,8 @@ var Sidebar = function Sidebar(_ref) {
|
|
|
956
967
|
return toggleDropdown(category);
|
|
957
968
|
},
|
|
958
969
|
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Typography, {
|
|
959
|
-
className: "text-sm font-semibold leading-normal",
|
|
960
970
|
"data-testid": "ntm-permission-category-title",
|
|
971
|
+
variant: "h6",
|
|
961
972
|
children: category
|
|
962
973
|
}), /*#__PURE__*/jsxRuntime.jsx(ToggleDropdown, {
|
|
963
974
|
isVisible: isPermissionVisible
|
|
@@ -1105,40 +1116,47 @@ var Table = function Table(_ref) {
|
|
|
1105
1116
|
}, [permissionGroups, permissionSearchTerm]);
|
|
1106
1117
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1107
1118
|
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1108
|
-
className: "ntm-roles-table__wrapper",
|
|
1109
|
-
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1110
|
-
className: "
|
|
1111
|
-
children:
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
permissionRelationConfig: (_config$permissionRel = config === null || config === void 0 ? void 0 : config.permissionRelation) !== null && _config$permissionRel !== void 0 ? _config$permissionRel : {},
|
|
1131
|
-
permissionTooltip: (_config$permissionToo = config === null || config === void 0 ? void 0 : config.permissionTooltip) !== null && _config$permissionToo !== void 0 ? _config$permissionToo : {}
|
|
1132
|
-
}), /*#__PURE__*/jsxRuntime.jsx(Columns, {
|
|
1133
|
-
config: config,
|
|
1134
|
-
filteredGroupPermissions: filteredGroupPermissions,
|
|
1135
|
-
filteredRoles: filteredRoles,
|
|
1136
|
-
permissions: permissions,
|
|
1137
|
-
roles: roles,
|
|
1138
|
-
setIsScrollPresent: setIsScrollPresent,
|
|
1139
|
-
setModifiedRoles: setModifiedRoles
|
|
1140
|
-
})]
|
|
1119
|
+
className: "ntm-roles-table__wrapper flex flex-1 flex-col",
|
|
1120
|
+
children: ramda.isEmpty(roles) ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1121
|
+
className: "flex w-full flex-1 items-center justify-center",
|
|
1122
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Empty, {
|
|
1123
|
+
description: t("neetoTeamMembers.labels.roleEmptyDescription"),
|
|
1124
|
+
icon: lucideReact.UserCog,
|
|
1125
|
+
primaryButtonProps: {
|
|
1126
|
+
"data-testid": "ntm-add-role-button",
|
|
1127
|
+
disabled: !isCreatePermissionGranted,
|
|
1128
|
+
label: t("neetoTeamMembers.labels.addNewRole"),
|
|
1129
|
+
onClick: function onClick() {
|
|
1130
|
+
return setIsNewRolePaneOpen(true);
|
|
1131
|
+
}
|
|
1132
|
+
},
|
|
1133
|
+
title: t("neetoTeamMembers.labels.roleEmptyTitle")
|
|
1134
|
+
})
|
|
1135
|
+
}) : ramda.isEmpty(filteredRoles) ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1136
|
+
className: "flex w-full flex-1 items-center justify-center",
|
|
1137
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Empty, {
|
|
1138
|
+
description: t("neetoTeamMembers.labels.roleSearchEmptyDescription"),
|
|
1139
|
+
icon: lucideReact.Search,
|
|
1140
|
+
title: t("neetoTeamMembers.labels.roleSearchEmptyTitle")
|
|
1141
1141
|
})
|
|
1142
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
1143
|
+
className: "ntm-roles-table__container",
|
|
1144
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Sidebar, {
|
|
1145
|
+
filteredGroupPermissions: filteredGroupPermissions,
|
|
1146
|
+
isScrollPresent: isScrollPresent,
|
|
1147
|
+
permissions: permissions,
|
|
1148
|
+
toggleDropdown: toggleDropdown,
|
|
1149
|
+
permissionRelationConfig: (_config$permissionRel = config === null || config === void 0 ? void 0 : config.permissionRelation) !== null && _config$permissionRel !== void 0 ? _config$permissionRel : {},
|
|
1150
|
+
permissionTooltip: (_config$permissionToo = config === null || config === void 0 ? void 0 : config.permissionTooltip) !== null && _config$permissionToo !== void 0 ? _config$permissionToo : {}
|
|
1151
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Columns, {
|
|
1152
|
+
config: config,
|
|
1153
|
+
filteredGroupPermissions: filteredGroupPermissions,
|
|
1154
|
+
filteredRoles: filteredRoles,
|
|
1155
|
+
permissions: permissions,
|
|
1156
|
+
roles: roles,
|
|
1157
|
+
setIsScrollPresent: setIsScrollPresent,
|
|
1158
|
+
setModifiedRoles: setModifiedRoles
|
|
1159
|
+
})]
|
|
1142
1160
|
})
|
|
1143
1161
|
}), /*#__PURE__*/jsxRuntime.jsx(ManageRoles, {
|
|
1144
1162
|
config: config,
|
|
@@ -1226,6 +1244,7 @@ var Roles = function Roles(_ref) {
|
|
|
1226
1244
|
children: [/*#__PURE__*/jsxRuntime.jsx(index$2.distExports.ScrollSync, {
|
|
1227
1245
|
children: /*#__PURE__*/jsxRuntime.jsxs(Container__default.default, {
|
|
1228
1246
|
isHeaderFixed: true,
|
|
1247
|
+
className: "pb-10",
|
|
1229
1248
|
children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
|
|
1230
1249
|
config: config,
|
|
1231
1250
|
handleReset: handleReset,
|