@strapi/admin 5.18.1 → 5.20.0

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 (189) hide show
  1. package/dist/admin/admin/src/components/Filters.js +10 -1
  2. package/dist/admin/admin/src/components/Filters.js.map +1 -1
  3. package/dist/admin/admin/src/components/Filters.mjs +10 -1
  4. package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.js +22 -17
  6. package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -0
  7. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.mjs +21 -16
  8. package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -0
  9. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.js +41 -15
  10. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -0
  11. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.mjs +42 -16
  12. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -0
  13. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.js +33 -17
  14. package/dist/admin/admin/src/components/GuidedTour/Step.js.map +1 -0
  15. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.mjs +34 -18
  16. package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +1 -0
  17. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.js +41 -40
  18. package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -0
  19. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.mjs +36 -35
  20. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -0
  21. package/dist/admin/admin/src/components/LeftMenu.js +52 -29
  22. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  23. package/dist/admin/admin/src/components/LeftMenu.mjs +52 -29
  24. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/MainNav/NavLink.js +4 -42
  26. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  27. package/dist/admin/admin/src/components/MainNav/NavLink.mjs +4 -23
  28. package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/NpsSurvey.js +1 -1
  30. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  31. package/dist/admin/admin/src/components/NpsSurvey.mjs +1 -1
  32. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  33. package/dist/admin/admin/src/components/Providers.js +9 -10
  34. package/dist/admin/admin/src/components/Providers.js.map +1 -1
  35. package/dist/admin/admin/src/components/Providers.mjs +9 -10
  36. package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
  37. package/dist/admin/admin/src/components/SubNav.js +18 -12
  38. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  39. package/dist/admin/admin/src/components/SubNav.mjs +19 -13
  40. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
  42. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
  43. package/dist/admin/admin/src/components/UpsellBanner.mjs +2 -2
  44. package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
  45. package/dist/admin/admin/src/core/apis/Widgets.js +34 -16
  46. package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
  47. package/dist/admin/admin/src/core/apis/Widgets.mjs +34 -16
  48. package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
  49. package/dist/admin/admin/src/features/Tracking.js +34 -1
  50. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  51. package/dist/admin/admin/src/features/Tracking.mjs +34 -1
  52. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  53. package/dist/admin/admin/src/hooks/usePersistentState.js +10 -0
  54. package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
  55. package/dist/admin/admin/src/hooks/usePersistentState.mjs +10 -1
  56. package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
  57. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +1 -18
  58. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  59. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +1 -18
  60. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  61. package/dist/admin/admin/src/pages/Auth/components/Register.js +0 -11
  62. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  63. package/dist/admin/admin/src/pages/Auth/components/Register.mjs +0 -11
  64. package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
  65. package/dist/admin/admin/src/pages/Home/HomePage.js +2 -3
  66. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  67. package/dist/admin/admin/src/pages/Home/HomePage.mjs +2 -3
  68. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  69. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +2 -2
  70. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
  71. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +3 -3
  72. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
  73. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +1 -1
  74. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
  75. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +2 -2
  76. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
  77. package/dist/admin/admin/src/pages/ProfilePage.js +297 -254
  78. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  79. package/dist/admin/admin/src/pages/ProfilePage.mjs +297 -254
  80. package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
  81. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +12 -1
  82. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  83. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +12 -1
  84. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  85. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +6 -6
  86. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
  87. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +6 -6
  88. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
  89. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +1 -7
  90. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
  91. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs +2 -8
  92. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
  93. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +1 -8
  94. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  95. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +1 -8
  96. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
  97. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +0 -2
  98. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
  99. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs +0 -2
  100. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
  101. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
  102. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  103. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
  104. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
  105. package/dist/admin/admin/src/pages/UseCasePage.js +1 -1
  106. package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
  107. package/dist/admin/admin/src/pages/UseCasePage.mjs +1 -1
  108. package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
  109. package/dist/admin/admin/src/translations/en.json.js +11 -3
  110. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  111. package/dist/admin/admin/src/translations/en.json.mjs +11 -3
  112. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  113. package/dist/admin/admin/tests/utils.js +25 -28
  114. package/dist/admin/admin/tests/utils.js.map +1 -1
  115. package/dist/admin/admin/tests/utils.mjs +25 -28
  116. package/dist/admin/admin/tests/utils.mjs.map +1 -1
  117. package/dist/admin/ee/admin/src/constants.js +4 -2
  118. package/dist/admin/ee/admin/src/constants.js.map +1 -1
  119. package/dist/admin/ee/admin/src/constants.mjs +4 -2
  120. package/dist/admin/ee/admin/src/constants.mjs.map +1 -1
  121. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -1
  122. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
  123. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -1
  124. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
  125. package/dist/admin/index.js +2 -4
  126. package/dist/admin/index.js.map +1 -1
  127. package/dist/admin/index.mjs +1 -2
  128. package/dist/admin/index.mjs.map +1 -1
  129. package/dist/admin/src/components/Filters.d.ts +3 -1
  130. package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.d.ts +5 -3
  131. package/dist/admin/src/components/GuidedTour/Overview.d.ts +1 -0
  132. package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.d.ts +1 -1
  133. package/dist/admin/src/components/SubNav.d.ts +2 -1
  134. package/dist/admin/src/core/apis/Widgets.d.ts +8 -5
  135. package/dist/admin/src/features/Tracking.d.ts +22 -3
  136. package/dist/admin/src/hooks/usePersistentState.d.ts +2 -1
  137. package/dist/admin/src/index.d.ts +2 -3
  138. package/dist/admin/src/pages/Settings/components/Tokens/TokenBox.d.ts +1 -1
  139. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
  140. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +9 -8
  141. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
  142. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +9 -8
  143. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
  144. package/dist/server/server/src/domain/user.js +3 -1
  145. package/dist/server/server/src/domain/user.js.map +1 -1
  146. package/dist/server/server/src/domain/user.mjs +3 -1
  147. package/dist/server/server/src/domain/user.mjs.map +1 -1
  148. package/dist/server/src/domain/user.d.ts.map +1 -1
  149. package/package.json +8 -9
  150. package/dist/admin/admin/src/components/GuidedTour/Homepage.js +0 -132
  151. package/dist/admin/admin/src/components/GuidedTour/Homepage.js.map +0 -1
  152. package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs +0 -130
  153. package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs.map +0 -1
  154. package/dist/admin/admin/src/components/GuidedTour/Modal.js +0 -278
  155. package/dist/admin/admin/src/components/GuidedTour/Modal.js.map +0 -1
  156. package/dist/admin/admin/src/components/GuidedTour/Modal.mjs +0 -276
  157. package/dist/admin/admin/src/components/GuidedTour/Modal.mjs.map +0 -1
  158. package/dist/admin/admin/src/components/GuidedTour/Ornaments.js +0 -54
  159. package/dist/admin/admin/src/components/GuidedTour/Ornaments.js.map +0 -1
  160. package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs +0 -51
  161. package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs.map +0 -1
  162. package/dist/admin/admin/src/components/GuidedTour/Provider.js +0 -206
  163. package/dist/admin/admin/src/components/GuidedTour/Provider.js.map +0 -1
  164. package/dist/admin/admin/src/components/GuidedTour/Provider.mjs +0 -184
  165. package/dist/admin/admin/src/components/GuidedTour/Provider.mjs.map +0 -1
  166. package/dist/admin/admin/src/components/GuidedTour/constants.js +0 -167
  167. package/dist/admin/admin/src/components/GuidedTour/constants.js.map +0 -1
  168. package/dist/admin/admin/src/components/GuidedTour/constants.mjs +0 -164
  169. package/dist/admin/admin/src/components/GuidedTour/constants.mjs.map +0 -1
  170. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +0 -1
  171. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +0 -1
  172. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js.map +0 -1
  173. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs.map +0 -1
  174. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js.map +0 -1
  175. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs.map +0 -1
  176. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +0 -1
  177. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs.map +0 -1
  178. package/dist/admin/admin/src/pages/Home/components/GuidedTour.js +0 -19
  179. package/dist/admin/admin/src/pages/Home/components/GuidedTour.js.map +0 -1
  180. package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs +0 -17
  181. package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs.map +0 -1
  182. package/dist/admin/src/components/GuidedTour/Homepage.d.ts +0 -2
  183. package/dist/admin/src/components/GuidedTour/Modal.d.ts +0 -2
  184. package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +0 -13
  185. package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -39
  186. package/dist/admin/src/components/GuidedTour/constants.d.ts +0 -165
  187. package/dist/admin/src/components/UnstableGuidedTour/Overview.d.ts +0 -1
  188. package/dist/admin/src/pages/Home/components/GuidedTour.d.ts +0 -1
  189. /package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilePage.js","sources":["../../../../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, useNotifyAT, Grid, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { Form, FormHelpers } from '../components/Form';\nimport { InputRenderer } from '../components/FormInputs/Renderer';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { useTracking } from '../features/Tracking';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { translatedErrors } from '../utils/translatedErrors';\nimport { getDisplayName } from '../utils/users';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .nullable()\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'Settings.permissions.users.sso.provider.error' }),\n });\n }\n }, [error, formatMessage, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormHelpers<UpdateUsersMeBody>\n ) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n }\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'danger',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email: email ?? '',\n firstname: firstname ?? '',\n lastname: lastname ?? '',\n username: username ?? '',\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage({\n id: 'Settings.profile.form.section.head.title',\n defaultMessage: 'User profile',\n })}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n title={getDisplayName(user)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={10}>\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection />\n {!hasLockedRole && <PasswordSection />}\n <PreferencesSection localeNames={localeNames} />\n </Flex>\n </Layouts.Content>\n </Box>\n </>\n )}\n </Form>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst PasswordSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n {[\n [\n {\n label: formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n }),\n name: 'currentPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n size: 6,\n type: 'password' as const,\n },\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n ].map((row, index) => (\n <Grid.Root key={index} gap={5}>\n {row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n ))}\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps {\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n tag=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid.Root gap={5}>\n {[\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n }),\n name: 'preferedLanguage',\n options: Object.entries(localeNames).map(([value, label]) => ({\n label,\n value,\n })),\n placeholder: formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n }),\n name: 'currentTheme',\n options: [\n {\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n }),\n value: 'system',\n },\n ...themesToDisplay.map((theme) => ({\n label: formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n ),\n value: theme,\n })),\n ],\n placeholder: formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst UserInfoSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 6,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }),\n name: 'username',\n size: 6,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nexport { ProfilePage };\n"],"names":["PROFILE_VALIDTION_SCHEMA","yup","object","shape","COMMON_USER_SCHEMA","currentPassword","string","when","password","confirmPassword","passSchema","required","id","translatedErrors","defaultMessage","nullable","preferedLanguage","ProfilePage","localeNames","useTypedSelector","state","admin_app","language","formatMessage","useIntl","trackUsage","useTracking","toggleNotification","useNotification","notifyStatus","useNotifyAT","currentTheme","theme","dispatch","useTypedDispatch","_unstableFormatValidationErrors","formatValidationErrors","_unstableFormatAPIError","formatApiError","useAPIErrorHandler","user","useAuth","React","useEffect","type","message","updateMe","isLoading","isSubmittingForm","useUpdateMeMutation","data","dataSSO","error","useIsSSOLockedQuery","undefined","skip","window","strapi","isEE","features","isEnabled","handleSubmit","body","setErrors","_confirmPassword","bodyRest","dataToSend","_password","_currentPassword","passwordRequestBodyRest","res","setAppTheme","newMode","isBaseQueryError","name","_jsx","Page","Loading","hasLockedRole","isSSOLocked","email","firstname","lastname","username","initialData","_jsxs","Main","aria-busy","Title","Form","method","onSubmit","initialValues","validationSchema","isSubmitting","modified","_Fragment","Layouts","Header","title","getDisplayName","primaryAction","Button","startIcon","Check","loading","disabled","Box","paddingBottom","Content","Flex","direction","alignItems","gap","UserInfoSection","PasswordSection","PreferencesSection","background","hasRadius","shadow","paddingTop","paddingLeft","paddingRight","Typography","variant","tag","label","size","autoComplete","map","row","index","Grid","Root","field","Item","col","InputRenderer","themesToDisplay","availableThemes","here","color","target","rel","href","hint","options","Object","entries","value","placeholder","upperFirst"],"mappings":"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"}
1
+ {"version":3,"file":"ProfilePage.js","sources":["../../../../../admin/src/pages/ProfilePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, useNotifyAT, Grid, Typography, FlexProps } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport * as yup from 'yup';\n\nimport { Form, FormHelpers } from '../components/Form';\nimport { InputRenderer } from '../components/FormInputs/Renderer';\nimport { useGuidedTour } from '../components/GuidedTour/Context';\nimport { Layouts } from '../components/Layouts/Layout';\nimport { Page } from '../components/PageHelpers';\nimport { useTypedDispatch, useTypedSelector } from '../core/store/hooks';\nimport { useAuth } from '../features/Auth';\nimport { useNotification } from '../features/Notifications';\nimport { useTracking } from '../features/Tracking';\nimport { useAPIErrorHandler } from '../hooks/useAPIErrorHandler';\nimport { AppState, setAppTheme } from '../reducer';\nimport { useIsSSOLockedQuery, useUpdateMeMutation } from '../services/auth';\nimport { isBaseQueryError } from '../utils/baseQuery';\nimport { translatedErrors } from '../utils/translatedErrors';\nimport { getDisplayName } from '../utils/users';\n\nimport { COMMON_USER_SCHEMA } from './Settings/pages/Users/utils/validation';\n\nimport type { UpdateMe } from '../../../shared/contracts/users';\n\nconst PROFILE_VALIDTION_SCHEMA = yup.object().shape({\n ...COMMON_USER_SCHEMA,\n currentPassword: yup\n .string()\n // @ts-expect-error – no idea why this is failing.\n .when(['password', 'confirmPassword'], (password, confirmPassword, passSchema) => {\n return password || confirmPassword\n ? passSchema\n .required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n })\n .nullable()\n : passSchema;\n }),\n preferedLanguage: yup.string().nullable(),\n});\n\n/* -------------------------------------------------------------------------------------------------\n * ProfilePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst Panel = ({ children, ...flexProps }: FlexProps) => {\n return (\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4} {...flexProps}>\n {children}\n </Flex>\n </Box>\n );\n};\n\nconst ProfilePage = () => {\n const localeNames = useTypedSelector((state) => state.admin_app.language.localeNames);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { notifyStatus } = useNotifyAT();\n const currentTheme = useTypedSelector((state) => state.admin_app.theme.currentTheme);\n const dispatch = useTypedDispatch();\n const {\n _unstableFormatValidationErrors: formatValidationErrors,\n _unstableFormatAPIError: formatApiError,\n } = useAPIErrorHandler();\n\n const user = useAuth('ProfilePage', (state) => state.user);\n\n React.useEffect(() => {\n if (user) {\n notifyStatus(\n formatMessage({\n id: 'Settings.profile.form.notify.data.loaded',\n defaultMessage: 'Your profile data has been loaded',\n })\n );\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }, [formatMessage, notifyStatus, toggleNotification, user]);\n\n const [updateMe, { isLoading: isSubmittingForm }] = useUpdateMeMutation();\n\n const {\n isLoading,\n data: dataSSO,\n error,\n } = useIsSSOLockedQuery(undefined, {\n skip: !(window.strapi.isEE && window.strapi.features.isEnabled('sso')),\n });\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'Settings.permissions.users.sso.provider.error' }),\n });\n }\n }, [error, formatMessage, toggleNotification]);\n\n type UpdateUsersMeBody = UpdateMe.Request['body'] & {\n confirmPassword: string;\n currentTheme: AppState['theme']['currentTheme'];\n };\n\n const handleSubmit = async (\n body: UpdateUsersMeBody,\n { setErrors }: FormHelpers<UpdateUsersMeBody>\n ) => {\n const { confirmPassword: _confirmPassword, currentTheme, ...bodyRest } = body;\n let dataToSend = bodyRest;\n\n // The password fields are optional. If the user didn't touch them, don't send any password\n // to the API, because an empty string would throw a validation error\n if (dataToSend.password === '') {\n const {\n password: _password,\n currentPassword: _currentPassword,\n ...passwordRequestBodyRest\n } = dataToSend;\n dataToSend = passwordRequestBodyRest;\n }\n\n const res = await updateMe(dataToSend);\n\n if ('data' in res) {\n dispatch(setAppTheme(currentTheme));\n\n trackUsage('didChangeMode', { newMode: currentTheme });\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n }\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setErrors(formatValidationErrors(res.error));\n } else if (isBaseQueryError(res.error)) {\n toggleNotification({\n type: 'danger',\n message: formatApiError(res.error),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occured' }),\n });\n }\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n const hasLockedRole = dataSSO?.isSSOLocked ?? false;\n const { email, firstname, lastname, username, preferedLanguage } = user ?? {};\n const initialData = {\n email: email ?? '',\n firstname: firstname ?? '',\n lastname: lastname ?? '',\n username: username ?? '',\n preferedLanguage,\n currentTheme,\n confirmPassword: '',\n password: '',\n };\n\n return (\n <Page.Main aria-busy={isSubmittingForm}>\n <Page.Title>\n {formatMessage({\n id: 'Settings.profile.form.section.head.title',\n defaultMessage: 'User profile',\n })}\n </Page.Title>\n <Form\n method=\"PUT\"\n onSubmit={handleSubmit}\n initialValues={initialData}\n validationSchema={PROFILE_VALIDTION_SCHEMA}\n >\n {({ isSubmitting, modified }) => (\n <>\n <Layouts.Header\n title={getDisplayName(user)}\n primaryAction={\n <Button\n startIcon={<Check />}\n loading={isSubmitting}\n type=\"submit\"\n disabled={!modified}\n >\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n />\n <Box paddingBottom={6}>\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <UserInfoSection />\n {!hasLockedRole && <PasswordSection />}\n <PreferencesSection localeNames={localeNames} />\n </Flex>\n </Layouts.Content>\n </Box>\n </>\n )}\n </Form>\n <Box paddingBottom={10}>\n <Layouts.Content>\n <GuidedTourSection />\n </Layouts.Content>\n </Box>\n </Page.Main>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PasswordSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst PasswordSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Panel>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.change-password',\n defaultMessage: 'Change password',\n })}\n </Typography>\n {[\n [\n {\n label: formatMessage({\n id: 'Auth.form.currentPassword.label',\n defaultMessage: 'Current Password',\n }),\n name: 'currentPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n [\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'global.password',\n defaultMessage: 'Password',\n }),\n name: 'password',\n size: 6,\n type: 'password' as const,\n },\n {\n autoComplete: 'new-password',\n label: formatMessage({\n id: 'Auth.form.confirmPassword.label',\n defaultMessage: 'Confirm Password',\n }),\n name: 'confirmPassword',\n size: 6,\n type: 'password' as const,\n },\n ],\n ].map((row, index) => (\n <Grid.Root key={index} gap={5}>\n {row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n ))}\n </Panel>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreferencesSection\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreferencesSectionProps {\n localeNames: Record<string, string>;\n}\n\nconst PreferencesSection = ({ localeNames }: PreferencesSectionProps) => {\n const { formatMessage } = useIntl();\n const themesToDisplay = useTypedSelector((state) => state.admin_app.theme.availableThemes);\n\n return (\n <Panel>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'Settings.profile.form.section.experience.title',\n defaultMessage: 'Experience',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',\n defaultMessage:\n 'Preference changes will apply only to you. More information is available {here}.',\n },\n {\n here: (\n <Box\n tag=\"a\"\n color=\"primary600\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales\"\n >\n {formatMessage({\n id: 'Settings.profile.form.section.experience.here',\n defaultMessage: 'here',\n })}\n </Box>\n ),\n }\n )}\n </Typography>\n </Flex>\n <Grid.Root gap={5}>\n {[\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',\n defaultMessage: 'This will only display your own interface in the chosen language.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.interfaceLanguage',\n defaultMessage: 'Interface language',\n }),\n name: 'preferedLanguage',\n options: Object.entries(localeNames).map(([value, label]) => ({\n label,\n value,\n })),\n placeholder: formatMessage({\n id: 'global.select',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n hint: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.hint',\n defaultMessage: 'Displays your interface in the chosen mode.',\n }),\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.label',\n defaultMessage: 'Interface mode',\n }),\n name: 'currentTheme',\n options: [\n {\n label: formatMessage({\n id: 'Settings.profile.form.section.experience.mode.option-system-label',\n defaultMessage: 'Use system settings',\n }),\n value: 'system',\n },\n ...themesToDisplay.map((theme) => ({\n label: formatMessage(\n {\n id: 'Settings.profile.form.section.experience.mode.option-label',\n defaultMessage: '{name} mode',\n },\n {\n name: formatMessage({\n id: theme,\n defaultMessage: upperFirst(theme),\n }),\n }\n ),\n value: theme,\n })),\n ],\n placeholder: formatMessage({\n id: 'components.Select.placeholder',\n defaultMessage: 'Select',\n }),\n size: 6,\n type: 'enumeration' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Panel>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * UserInfoSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst UserInfoSection = () => {\n const { formatMessage } = useIntl();\n\n return (\n <Panel>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'global.profile',\n defaultMessage: 'Profile',\n })}\n </Typography>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: 'Auth.form.firstname.label',\n defaultMessage: 'First name',\n }),\n name: 'firstname',\n required: true,\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.lastname.label',\n defaultMessage: 'Last name',\n }),\n name: 'lastname',\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.email.label',\n defaultMessage: 'Email',\n }),\n name: 'email',\n required: true,\n size: 6,\n type: 'email' as const,\n },\n {\n label: formatMessage({\n id: 'Auth.form.username.label',\n defaultMessage: 'Username',\n }),\n name: 'username',\n size: 6,\n type: 'string' as const,\n },\n ].map(({ size, ...field }) => (\n <Grid.Item key={field.name} col={size} direction=\"column\" alignItems=\"stretch\">\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Panel>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * GuidedTourSection\n * -----------------------------------------------------------------------------------------------*/\n\nconst GuidedTourSection = () => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const dispatch = useGuidedTour('ProfilePage', (s) => s.dispatch);\n\n const onClickReset = () => {\n dispatch({ type: 'reset_all_tours' });\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'tours.profile.notification.success.reset',\n defaultMessage: 'Guided tour reset',\n }),\n });\n };\n\n return (\n <Panel alignItems=\"start\">\n <Flex direction=\"column\" alignItems=\"start\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'tours.profile.title',\n defaultMessage: 'Guided tour',\n })}\n </Typography>\n <Typography variant=\"pi\">\n {formatMessage({\n id: 'tours.profile.description',\n defaultMessage: 'You can reset the guided tour at any time.',\n })}\n </Typography>\n </Flex>\n <Button variant=\"tertiary\" onClick={onClickReset}>\n {formatMessage({\n id: 'tours.profile.reset',\n defaultMessage: 'Reset guided tour',\n })}\n </Button>\n </Panel>\n );\n};\n\nexport { ProfilePage };\n"],"names":["PROFILE_VALIDTION_SCHEMA","yup","object","shape","COMMON_USER_SCHEMA","currentPassword","string","when","password","confirmPassword","passSchema","required","id","translatedErrors","defaultMessage","nullable","preferedLanguage","Panel","children","flexProps","_jsx","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","Flex","direction","alignItems","gap","ProfilePage","localeNames","useTypedSelector","state","admin_app","language","formatMessage","useIntl","trackUsage","useTracking","toggleNotification","useNotification","notifyStatus","useNotifyAT","currentTheme","theme","dispatch","useTypedDispatch","_unstableFormatValidationErrors","formatValidationErrors","_unstableFormatAPIError","formatApiError","useAPIErrorHandler","user","useAuth","React","useEffect","type","message","updateMe","isLoading","isSubmittingForm","useUpdateMeMutation","data","dataSSO","error","useIsSSOLockedQuery","undefined","skip","window","strapi","isEE","features","isEnabled","handleSubmit","body","setErrors","_confirmPassword","bodyRest","dataToSend","_password","_currentPassword","passwordRequestBodyRest","res","setAppTheme","newMode","isBaseQueryError","name","Page","Loading","hasLockedRole","isSSOLocked","email","firstname","lastname","username","initialData","_jsxs","Main","aria-busy","Title","Form","method","onSubmit","initialValues","validationSchema","isSubmitting","modified","_Fragment","Layouts","Header","title","getDisplayName","primaryAction","Button","startIcon","Check","loading","disabled","Content","UserInfoSection","PasswordSection","PreferencesSection","GuidedTourSection","Typography","variant","tag","label","size","autoComplete","map","row","index","Grid","Root","field","Item","col","InputRenderer","themesToDisplay","availableThemes","here","color","target","rel","href","hint","options","Object","entries","value","placeholder","upperFirst","useGuidedTour","s","onClickReset","onClick"],"mappings":"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"}