@strapi/admin 5.18.1 → 5.19.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 (77) hide show
  1. package/dist/admin/admin/src/components/LeftMenu.js +52 -29
  2. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  3. package/dist/admin/admin/src/components/LeftMenu.mjs +52 -29
  4. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/MainNav/NavLink.js +4 -42
  6. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  7. package/dist/admin/admin/src/components/MainNav/NavLink.mjs +4 -23
  8. package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
  9. package/dist/admin/admin/src/components/NpsSurvey.js +1 -1
  10. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  11. package/dist/admin/admin/src/components/NpsSurvey.mjs +1 -1
  12. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  13. package/dist/admin/admin/src/components/SubNav.js +17 -11
  14. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  15. package/dist/admin/admin/src/components/SubNav.mjs +18 -12
  16. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  17. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js +30 -0
  18. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +1 -1
  19. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs +30 -0
  20. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +1 -1
  21. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js +32 -10
  22. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js.map +1 -1
  23. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs +32 -10
  24. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js +28 -12
  26. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js.map +1 -1
  27. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs +28 -12
  28. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js +31 -24
  30. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +1 -1
  31. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs +25 -18
  32. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs.map +1 -1
  33. package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
  34. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
  35. package/dist/admin/admin/src/components/UpsellBanner.mjs +2 -2
  36. package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
  37. package/dist/admin/admin/src/features/Tracking.js +34 -1
  38. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  39. package/dist/admin/admin/src/features/Tracking.mjs +34 -1
  40. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  41. package/dist/admin/admin/src/hooks/usePersistentState.js +10 -0
  42. package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
  43. package/dist/admin/admin/src/hooks/usePersistentState.mjs +10 -1
  44. package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
  45. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +2 -2
  46. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
  47. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +3 -3
  48. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
  49. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +1 -1
  50. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
  51. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +2 -2
  52. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
  53. package/dist/admin/admin/src/pages/ProfilePage.js +297 -254
  54. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  55. package/dist/admin/admin/src/pages/ProfilePage.mjs +297 -254
  56. package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
  57. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +12 -1
  58. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  59. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +12 -1
  60. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  61. package/dist/admin/admin/src/pages/UseCasePage.js +1 -1
  62. package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
  63. package/dist/admin/admin/src/pages/UseCasePage.mjs +1 -1
  64. package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
  65. package/dist/admin/admin/src/translations/en.json.js +4 -0
  66. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  67. package/dist/admin/admin/src/translations/en.json.mjs +4 -0
  68. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  69. package/dist/admin/ee/admin/src/constants.js +4 -2
  70. package/dist/admin/ee/admin/src/constants.js.map +1 -1
  71. package/dist/admin/ee/admin/src/constants.mjs +4 -2
  72. package/dist/admin/ee/admin/src/constants.mjs.map +1 -1
  73. package/dist/admin/src/components/SubNav.d.ts +2 -1
  74. package/dist/admin/src/components/UnstableGuidedTour/Context.d.ts +2 -0
  75. package/dist/admin/src/features/Tracking.d.ts +22 -3
  76. package/dist/admin/src/hooks/usePersistentState.d.ts +2 -1
  77. package/package.json +7 -7
@@ -9,6 +9,7 @@ import { Form } from '../components/Form.mjs';
9
9
  import { InputRenderer as MemoizedInputRenderer } from '../components/FormInputs/Renderer.mjs';
10
10
  import { Layouts } from '../components/Layouts/Layout.mjs';
11
11
  import { Page } from '../components/PageHelpers.mjs';
12
+ import { unstableUseGuidedTour } from '../components/UnstableGuidedTour/Context.mjs';
12
13
  import { useTypedSelector, useTypedDispatch } from '../core/store/hooks.mjs';
13
14
  import { useAuth } from '../features/Auth.mjs';
14
15
  import { useNotification } from '../features/Notifications.mjs';
@@ -37,7 +38,25 @@ const PROFILE_VALIDTION_SCHEMA = yup.object().shape({
37
38
  });
38
39
  /* -------------------------------------------------------------------------------------------------
39
40
  * ProfilePage
40
- * -----------------------------------------------------------------------------------------------*/ const ProfilePage = ()=>{
41
+ * -----------------------------------------------------------------------------------------------*/ const Panel = ({ children, ...flexProps })=>{
42
+ return /*#__PURE__*/ jsx(Box, {
43
+ background: "neutral0",
44
+ hasRadius: true,
45
+ shadow: "filterShadow",
46
+ paddingTop: 6,
47
+ paddingBottom: 6,
48
+ paddingLeft: 7,
49
+ paddingRight: 7,
50
+ children: /*#__PURE__*/ jsx(Flex, {
51
+ direction: "column",
52
+ alignItems: "stretch",
53
+ gap: 4,
54
+ ...flexProps,
55
+ children: children
56
+ })
57
+ });
58
+ };
59
+ const ProfilePage = ()=>{
41
60
  const localeNames = useTypedSelector((state)=>state.admin_app.language.localeNames);
42
61
  const { formatMessage } = useIntl();
43
62
  const { trackUsage } = useTracking();
@@ -173,7 +192,7 @@ const PROFILE_VALIDTION_SCHEMA = yup.object().shape({
173
192
  })
174
193
  }),
175
194
  /*#__PURE__*/ jsx(Box, {
176
- paddingBottom: 10,
195
+ paddingBottom: 6,
177
196
  children: /*#__PURE__*/ jsx(Layouts.Content, {
178
197
  children: /*#__PURE__*/ jsxs(Flex, {
179
198
  direction: "column",
@@ -191,6 +210,12 @@ const PROFILE_VALIDTION_SCHEMA = yup.object().shape({
191
210
  })
192
211
  ]
193
212
  })
213
+ }),
214
+ /*#__PURE__*/ jsx(Box, {
215
+ paddingBottom: 10,
216
+ children: /*#__PURE__*/ jsx(Layouts.Content, {
217
+ children: /*#__PURE__*/ jsx(GuidedTourSection, {})
218
+ })
194
219
  })
195
220
  ]
196
221
  });
@@ -199,277 +224,295 @@ const PROFILE_VALIDTION_SCHEMA = yup.object().shape({
199
224
  * PasswordSection
200
225
  * -----------------------------------------------------------------------------------------------*/ const PasswordSection = ()=>{
201
226
  const { formatMessage } = useIntl();
202
- return /*#__PURE__*/ jsx(Box, {
203
- background: "neutral0",
204
- hasRadius: true,
205
- shadow: "filterShadow",
206
- paddingTop: 6,
207
- paddingBottom: 6,
208
- paddingLeft: 7,
209
- paddingRight: 7,
210
- children: /*#__PURE__*/ jsxs(Flex, {
211
- direction: "column",
212
- alignItems: "stretch",
213
- gap: 4,
214
- children: [
215
- /*#__PURE__*/ jsx(Typography, {
216
- variant: "delta",
217
- tag: "h2",
218
- children: formatMessage({
219
- id: 'global.change-password',
220
- defaultMessage: 'Change password'
221
- })
222
- }),
227
+ return /*#__PURE__*/ jsxs(Panel, {
228
+ children: [
229
+ /*#__PURE__*/ jsx(Typography, {
230
+ variant: "delta",
231
+ tag: "h2",
232
+ children: formatMessage({
233
+ id: 'global.change-password',
234
+ defaultMessage: 'Change password'
235
+ })
236
+ }),
237
+ [
223
238
  [
224
- [
225
- {
226
- label: formatMessage({
227
- id: 'Auth.form.currentPassword.label',
228
- defaultMessage: 'Current Password'
229
- }),
230
- name: 'currentPassword',
231
- size: 6,
232
- type: 'password'
233
- }
234
- ],
235
- [
236
- {
237
- autoComplete: 'new-password',
238
- label: formatMessage({
239
- id: 'global.password',
240
- defaultMessage: 'Password'
241
- }),
242
- name: 'password',
243
- size: 6,
244
- type: 'password'
245
- },
246
- {
247
- autoComplete: 'new-password',
248
- label: formatMessage({
249
- id: 'Auth.form.confirmPassword.label',
250
- defaultMessage: 'Confirm Password'
251
- }),
252
- name: 'confirmPassword',
253
- size: 6,
254
- type: 'password'
255
- }
256
- ]
257
- ].map((row, index)=>/*#__PURE__*/ jsx(Grid.Root, {
258
- gap: 5,
259
- children: row.map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
260
- col: size,
261
- direction: "column",
262
- alignItems: "stretch",
263
- children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
264
- ...field
265
- })
266
- }, field.name))
267
- }, index))
268
- ]
269
- })
239
+ {
240
+ label: formatMessage({
241
+ id: 'Auth.form.currentPassword.label',
242
+ defaultMessage: 'Current Password'
243
+ }),
244
+ name: 'currentPassword',
245
+ size: 6,
246
+ type: 'password'
247
+ }
248
+ ],
249
+ [
250
+ {
251
+ autoComplete: 'new-password',
252
+ label: formatMessage({
253
+ id: 'global.password',
254
+ defaultMessage: 'Password'
255
+ }),
256
+ name: 'password',
257
+ size: 6,
258
+ type: 'password'
259
+ },
260
+ {
261
+ autoComplete: 'new-password',
262
+ label: formatMessage({
263
+ id: 'Auth.form.confirmPassword.label',
264
+ defaultMessage: 'Confirm Password'
265
+ }),
266
+ name: 'confirmPassword',
267
+ size: 6,
268
+ type: 'password'
269
+ }
270
+ ]
271
+ ].map((row, index)=>/*#__PURE__*/ jsx(Grid.Root, {
272
+ gap: 5,
273
+ children: row.map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
274
+ col: size,
275
+ direction: "column",
276
+ alignItems: "stretch",
277
+ children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
278
+ ...field
279
+ })
280
+ }, field.name))
281
+ }, index))
282
+ ]
270
283
  });
271
284
  };
272
285
  const PreferencesSection = ({ localeNames })=>{
273
286
  const { formatMessage } = useIntl();
274
287
  const themesToDisplay = useTypedSelector((state)=>state.admin_app.theme.availableThemes);
275
- return /*#__PURE__*/ jsx(Box, {
276
- background: "neutral0",
277
- hasRadius: true,
278
- shadow: "filterShadow",
279
- paddingTop: 6,
280
- paddingBottom: 6,
281
- paddingLeft: 7,
282
- paddingRight: 7,
283
- children: /*#__PURE__*/ jsxs(Flex, {
284
- direction: "column",
285
- alignItems: "stretch",
286
- gap: 4,
287
- children: [
288
- /*#__PURE__*/ jsxs(Flex, {
289
- direction: "column",
290
- alignItems: "stretch",
291
- gap: 1,
292
- children: [
293
- /*#__PURE__*/ jsx(Typography, {
294
- variant: "delta",
295
- tag: "h2",
296
- children: formatMessage({
297
- id: 'Settings.profile.form.section.experience.title',
298
- defaultMessage: 'Experience'
299
- })
300
- }),
301
- /*#__PURE__*/ jsx(Typography, {
302
- children: formatMessage({
303
- id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',
304
- defaultMessage: 'Preference changes will apply only to you. More information is available {here}.'
305
- }, {
306
- here: /*#__PURE__*/ jsx(Box, {
307
- tag: "a",
308
- color: "primary600",
309
- target: "_blank",
310
- rel: "noopener noreferrer",
311
- href: "https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales",
312
- children: formatMessage({
313
- id: 'Settings.profile.form.section.experience.here',
314
- defaultMessage: 'here'
315
- })
288
+ return /*#__PURE__*/ jsxs(Panel, {
289
+ children: [
290
+ /*#__PURE__*/ jsxs(Flex, {
291
+ direction: "column",
292
+ alignItems: "stretch",
293
+ gap: 1,
294
+ children: [
295
+ /*#__PURE__*/ jsx(Typography, {
296
+ variant: "delta",
297
+ tag: "h2",
298
+ children: formatMessage({
299
+ id: 'Settings.profile.form.section.experience.title',
300
+ defaultMessage: 'Experience'
301
+ })
302
+ }),
303
+ /*#__PURE__*/ jsx(Typography, {
304
+ children: formatMessage({
305
+ id: 'Settings.profile.form.section.experience.interfaceLanguageHelp',
306
+ defaultMessage: 'Preference changes will apply only to you. More information is available {here}.'
307
+ }, {
308
+ here: /*#__PURE__*/ jsx(Box, {
309
+ tag: "a",
310
+ color: "primary600",
311
+ target: "_blank",
312
+ rel: "noopener noreferrer",
313
+ href: "https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales",
314
+ children: formatMessage({
315
+ id: 'Settings.profile.form.section.experience.here',
316
+ defaultMessage: 'here'
316
317
  })
317
318
  })
318
319
  })
319
- ]
320
- }),
321
- /*#__PURE__*/ jsx(Grid.Root, {
322
- gap: 5,
323
- children: [
324
- {
325
- hint: formatMessage({
326
- id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',
327
- defaultMessage: 'This will only display your own interface in the chosen language.'
328
- }),
329
- label: formatMessage({
330
- id: 'Settings.profile.form.section.experience.interfaceLanguage',
331
- defaultMessage: 'Interface language'
332
- }),
333
- name: 'preferedLanguage',
334
- options: Object.entries(localeNames).map(([value, label])=>({
335
- label,
336
- value
337
- })),
338
- placeholder: formatMessage({
339
- id: 'global.select',
340
- defaultMessage: 'Select'
341
- }),
342
- size: 6,
343
- type: 'enumeration'
344
- },
345
- {
346
- hint: formatMessage({
347
- id: 'Settings.profile.form.section.experience.mode.hint',
348
- defaultMessage: 'Displays your interface in the chosen mode.'
349
- }),
350
- label: formatMessage({
351
- id: 'Settings.profile.form.section.experience.mode.label',
352
- defaultMessage: 'Interface mode'
353
- }),
354
- name: 'currentTheme',
355
- options: [
356
- {
320
+ })
321
+ ]
322
+ }),
323
+ /*#__PURE__*/ jsx(Grid.Root, {
324
+ gap: 5,
325
+ children: [
326
+ {
327
+ hint: formatMessage({
328
+ id: 'Settings.profile.form.section.experience.interfaceLanguage.hint',
329
+ defaultMessage: 'This will only display your own interface in the chosen language.'
330
+ }),
331
+ label: formatMessage({
332
+ id: 'Settings.profile.form.section.experience.interfaceLanguage',
333
+ defaultMessage: 'Interface language'
334
+ }),
335
+ name: 'preferedLanguage',
336
+ options: Object.entries(localeNames).map(([value, label])=>({
337
+ label,
338
+ value
339
+ })),
340
+ placeholder: formatMessage({
341
+ id: 'global.select',
342
+ defaultMessage: 'Select'
343
+ }),
344
+ size: 6,
345
+ type: 'enumeration'
346
+ },
347
+ {
348
+ hint: formatMessage({
349
+ id: 'Settings.profile.form.section.experience.mode.hint',
350
+ defaultMessage: 'Displays your interface in the chosen mode.'
351
+ }),
352
+ label: formatMessage({
353
+ id: 'Settings.profile.form.section.experience.mode.label',
354
+ defaultMessage: 'Interface mode'
355
+ }),
356
+ name: 'currentTheme',
357
+ options: [
358
+ {
359
+ label: formatMessage({
360
+ id: 'Settings.profile.form.section.experience.mode.option-system-label',
361
+ defaultMessage: 'Use system settings'
362
+ }),
363
+ value: 'system'
364
+ },
365
+ ...themesToDisplay.map((theme)=>({
357
366
  label: formatMessage({
358
- id: 'Settings.profile.form.section.experience.mode.option-system-label',
359
- defaultMessage: 'Use system settings'
367
+ id: 'Settings.profile.form.section.experience.mode.option-label',
368
+ defaultMessage: '{name} mode'
369
+ }, {
370
+ name: formatMessage({
371
+ id: theme,
372
+ defaultMessage: upperFirst(theme)
373
+ })
360
374
  }),
361
- value: 'system'
362
- },
363
- ...themesToDisplay.map((theme)=>({
364
- label: formatMessage({
365
- id: 'Settings.profile.form.section.experience.mode.option-label',
366
- defaultMessage: '{name} mode'
367
- }, {
368
- name: formatMessage({
369
- id: theme,
370
- defaultMessage: upperFirst(theme)
371
- })
372
- }),
373
- value: theme
374
- }))
375
- ],
376
- placeholder: formatMessage({
377
- id: 'components.Select.placeholder',
378
- defaultMessage: 'Select'
379
- }),
380
- size: 6,
381
- type: 'enumeration'
382
- }
383
- ].map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
384
- col: size,
385
- direction: "column",
386
- alignItems: "stretch",
387
- children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
388
- ...field
389
- })
390
- }, field.name))
391
- })
392
- ]
393
- })
375
+ value: theme
376
+ }))
377
+ ],
378
+ placeholder: formatMessage({
379
+ id: 'components.Select.placeholder',
380
+ defaultMessage: 'Select'
381
+ }),
382
+ size: 6,
383
+ type: 'enumeration'
384
+ }
385
+ ].map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
386
+ col: size,
387
+ direction: "column",
388
+ alignItems: "stretch",
389
+ children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
390
+ ...field
391
+ })
392
+ }, field.name))
393
+ })
394
+ ]
394
395
  });
395
396
  };
396
397
  /* -------------------------------------------------------------------------------------------------
397
398
  * UserInfoSection
398
399
  * -----------------------------------------------------------------------------------------------*/ const UserInfoSection = ()=>{
399
400
  const { formatMessage } = useIntl();
400
- return /*#__PURE__*/ jsx(Box, {
401
- background: "neutral0",
402
- hasRadius: true,
403
- shadow: "filterShadow",
404
- paddingTop: 6,
405
- paddingBottom: 6,
406
- paddingLeft: 7,
407
- paddingRight: 7,
408
- children: /*#__PURE__*/ jsxs(Flex, {
409
- direction: "column",
410
- alignItems: "stretch",
411
- gap: 4,
412
- children: [
413
- /*#__PURE__*/ jsx(Typography, {
414
- variant: "delta",
415
- tag: "h2",
416
- children: formatMessage({
417
- id: 'global.profile',
418
- defaultMessage: 'Profile'
401
+ return /*#__PURE__*/ jsxs(Panel, {
402
+ children: [
403
+ /*#__PURE__*/ jsx(Typography, {
404
+ variant: "delta",
405
+ tag: "h2",
406
+ children: formatMessage({
407
+ id: 'global.profile',
408
+ defaultMessage: 'Profile'
409
+ })
410
+ }),
411
+ /*#__PURE__*/ jsx(Grid.Root, {
412
+ gap: 5,
413
+ children: [
414
+ {
415
+ label: formatMessage({
416
+ id: 'Auth.form.firstname.label',
417
+ defaultMessage: 'First name'
418
+ }),
419
+ name: 'firstname',
420
+ required: true,
421
+ size: 6,
422
+ type: 'string'
423
+ },
424
+ {
425
+ label: formatMessage({
426
+ id: 'Auth.form.lastname.label',
427
+ defaultMessage: 'Last name'
428
+ }),
429
+ name: 'lastname',
430
+ size: 6,
431
+ type: 'string'
432
+ },
433
+ {
434
+ label: formatMessage({
435
+ id: 'Auth.form.email.label',
436
+ defaultMessage: 'Email'
437
+ }),
438
+ name: 'email',
439
+ required: true,
440
+ size: 6,
441
+ type: 'email'
442
+ },
443
+ {
444
+ label: formatMessage({
445
+ id: 'Auth.form.username.label',
446
+ defaultMessage: 'Username'
447
+ }),
448
+ name: 'username',
449
+ size: 6,
450
+ type: 'string'
451
+ }
452
+ ].map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
453
+ col: size,
454
+ direction: "column",
455
+ alignItems: "stretch",
456
+ children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
457
+ ...field
458
+ })
459
+ }, field.name))
460
+ })
461
+ ]
462
+ });
463
+ };
464
+ /* -------------------------------------------------------------------------------------------------
465
+ * GuidedTourSection
466
+ * -----------------------------------------------------------------------------------------------*/ const GuidedTourSection = ()=>{
467
+ const { formatMessage } = useIntl();
468
+ const { toggleNotification } = useNotification();
469
+ const dispatch = unstableUseGuidedTour('ProfilePage', (s)=>s.dispatch);
470
+ const onClickReset = ()=>{
471
+ dispatch({
472
+ type: 'reset_all_tours'
473
+ });
474
+ toggleNotification({
475
+ type: 'success',
476
+ message: formatMessage({
477
+ id: 'tours.profile.notification.success.reset',
478
+ defaultMessage: 'Guided tour reset'
479
+ })
480
+ });
481
+ };
482
+ return /*#__PURE__*/ jsxs(Panel, {
483
+ alignItems: "start",
484
+ children: [
485
+ /*#__PURE__*/ jsxs(Flex, {
486
+ direction: "column",
487
+ alignItems: "start",
488
+ gap: 1,
489
+ children: [
490
+ /*#__PURE__*/ jsx(Typography, {
491
+ variant: "delta",
492
+ tag: "h2",
493
+ children: formatMessage({
494
+ id: 'tours.profile.title',
495
+ defaultMessage: 'Guided tour'
496
+ })
497
+ }),
498
+ /*#__PURE__*/ jsx(Typography, {
499
+ variant: "pi",
500
+ children: formatMessage({
501
+ id: 'tours.profile.description',
502
+ defaultMessage: 'You can reset the guided tour at any time.'
503
+ })
419
504
  })
420
- }),
421
- /*#__PURE__*/ jsx(Grid.Root, {
422
- gap: 5,
423
- children: [
424
- {
425
- label: formatMessage({
426
- id: 'Auth.form.firstname.label',
427
- defaultMessage: 'First name'
428
- }),
429
- name: 'firstname',
430
- required: true,
431
- size: 6,
432
- type: 'string'
433
- },
434
- {
435
- label: formatMessage({
436
- id: 'Auth.form.lastname.label',
437
- defaultMessage: 'Last name'
438
- }),
439
- name: 'lastname',
440
- size: 6,
441
- type: 'string'
442
- },
443
- {
444
- label: formatMessage({
445
- id: 'Auth.form.email.label',
446
- defaultMessage: 'Email'
447
- }),
448
- name: 'email',
449
- required: true,
450
- size: 6,
451
- type: 'email'
452
- },
453
- {
454
- label: formatMessage({
455
- id: 'Auth.form.username.label',
456
- defaultMessage: 'Username'
457
- }),
458
- name: 'username',
459
- size: 6,
460
- type: 'string'
461
- }
462
- ].map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
463
- col: size,
464
- direction: "column",
465
- alignItems: "stretch",
466
- children: /*#__PURE__*/ jsx(MemoizedInputRenderer, {
467
- ...field
468
- })
469
- }, field.name))
505
+ ]
506
+ }),
507
+ /*#__PURE__*/ jsx(Button, {
508
+ variant: "tertiary",
509
+ onClick: onClickReset,
510
+ children: formatMessage({
511
+ id: 'tours.profile.reset',
512
+ defaultMessage: 'Reset guided tour'
470
513
  })
471
- ]
472
- })
514
+ })
515
+ ]
473
516
  });
474
517
  };
475
518