@riligar/auth-react 1.29.0 → 1.30.1

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/dist/index.esm.js CHANGED
@@ -3,7 +3,7 @@ import { useMemo, useEffect, createContext, useState, useRef } from 'react';
3
3
  import { useShallow } from 'zustand/react/shallow';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import { Navigate, Outlet, useNavigate } from 'react-router-dom';
6
- import { Modal, Stack, Text, Image, Title, Paper, TextInput, PasswordInput, Anchor, Button, Divider, Group, Center, Loader, Box, Avatar, Collapse, Card, Tooltip, ThemeIcon, Badge } from '@mantine/core';
6
+ import { Modal, Stack, Text, Image, Title, Paper, TextInput, PasswordInput, Anchor, Button, Divider, Group, Center, Loader, Box, Avatar, Collapse, FileButton, Tooltip, ThemeIcon, Badge } from '@mantine/core';
7
7
  import { useForm } from '@mantine/form';
8
8
  import { IconMail, IconLock, IconArrowRight, IconBrandGoogle, IconBrandGithub, IconUser, IconSend, IconCheck, IconX, IconRefresh, IconPhoto, IconTrash, IconPencil, IconShield, IconKey, IconDevices, IconDeviceMobile, IconLogout, IconUserCircle } from '@tabler/icons-react';
9
9
 
@@ -1288,8 +1288,10 @@ function SignIn({
1288
1288
  }), showMagicLink && /*#__PURE__*/jsxs(Fragment, {
1289
1289
  children: [/*#__PURE__*/jsx(Divider, {
1290
1290
  label: labels.orContinueWith || 'Ou continue com'
1291
- }), /*#__PURE__*/jsx(Button, {
1292
- variant: "light",
1291
+ }), /*#__PURE__*/jsx(Button
1292
+ // color="dark"
1293
+ , {
1294
+ variant: "outline",
1293
1295
  fullWidth: true,
1294
1296
  loading: loadingMagicLink,
1295
1297
  leftSection: /*#__PURE__*/jsx(IconMail, {
@@ -1303,7 +1305,7 @@ function SignIn({
1303
1305
  children: [/*#__PURE__*/jsx(Divider, {}), /*#__PURE__*/jsxs(Group, {
1304
1306
  grow: true,
1305
1307
  children: [/*#__PURE__*/jsx(Button, {
1306
- variant: "light",
1308
+ variant: "outline",
1307
1309
  leftSection: /*#__PURE__*/jsx(IconBrandGoogle, {
1308
1310
  size: 16
1309
1311
  }),
@@ -1311,7 +1313,7 @@ function SignIn({
1311
1313
  disabled: isLoading,
1312
1314
  children: "Google"
1313
1315
  }), /*#__PURE__*/jsx(Button, {
1314
- variant: "light",
1316
+ variant: "outline",
1315
1317
  leftSection: /*#__PURE__*/jsx(IconBrandGithub, {
1316
1318
  size: 16
1317
1319
  }),
@@ -1324,7 +1326,8 @@ function SignIn({
1324
1326
  children: /*#__PURE__*/jsxs(Text, {
1325
1327
  size: "sm",
1326
1328
  c: "dimmed",
1327
- children: [labels.noAccount || 'Não tem uma conta?', " ", /*#__PURE__*/jsx(Anchor, {
1329
+ children: [labels.noAccount || 'Não tem uma conta?', ' ', /*#__PURE__*/jsx(Anchor, {
1330
+ underline: false,
1328
1331
  href: signUpUrl,
1329
1332
  children: labels.createAccount || 'Criar conta'
1330
1333
  })]
@@ -2381,14 +2384,17 @@ function UserProfile({
2381
2384
  mb: "lg",
2382
2385
  children: [/*#__PURE__*/jsx(ThemeIcon, {
2383
2386
  size: 36,
2384
- variant: "light",
2387
+ variant: "subtle",
2388
+ color: "gray",
2385
2389
  children: /*#__PURE__*/jsx(Icon, {
2386
- size: 18
2390
+ size: 28,
2391
+ stroke: 1.5
2387
2392
  })
2388
- }), /*#__PURE__*/jsxs(Box, {
2393
+ }), /*#__PURE__*/jsxs(Stack, {
2394
+ gap: 0,
2389
2395
  children: [/*#__PURE__*/jsx(Text, {
2390
2396
  fw: 600,
2391
- size: "md",
2397
+ size: "sm",
2392
2398
  children: sectionTitle
2393
2399
  }), description && /*#__PURE__*/jsx(Text, {
2394
2400
  size: "xs",
@@ -2406,12 +2412,12 @@ function UserProfile({
2406
2412
  actionLabel,
2407
2413
  onClick,
2408
2414
  expanded
2409
- }) => /*#__PURE__*/jsx(Card, {
2410
- p: "xs",
2411
- withBorder: false,
2415
+ }) => /*#__PURE__*/jsx(Box, {
2416
+ py: "xs",
2412
2417
  children: /*#__PURE__*/jsxs(Group, {
2413
2418
  justify: "space-between",
2414
2419
  wrap: "nowrap",
2420
+ align: "center",
2415
2421
  children: [/*#__PURE__*/jsxs(Group, {
2416
2422
  gap: "xl",
2417
2423
  wrap: "nowrap",
@@ -2420,9 +2426,6 @@ function UserProfile({
2420
2426
  size: "sm",
2421
2427
  c: "dimmed",
2422
2428
  w: 100,
2423
- style: {
2424
- flexShrink: 0
2425
- },
2426
2429
  children: label
2427
2430
  }), /*#__PURE__*/jsx(Box, {
2428
2431
  flex: 1,
@@ -2432,10 +2435,11 @@ function UserProfile({
2432
2435
  label: actionLabel || action,
2433
2436
  position: "left",
2434
2437
  children: /*#__PURE__*/jsx(Anchor, {
2435
- size: "sm",
2436
- fw: 500,
2438
+ size: "xs",
2439
+ fw: 300,
2437
2440
  onClick: onClick,
2438
- c: expanded ? 'red' : 'blue',
2441
+ c: "gray",
2442
+ underline: "none",
2439
2443
  children: expanded ? labels.cancel || 'Cancel' : action
2440
2444
  })
2441
2445
  })]
@@ -2465,56 +2469,51 @@ function UserProfile({
2465
2469
  src: user?.image,
2466
2470
  name: user?.name || user?.email,
2467
2471
  size: 48,
2468
- radius: "xl",
2469
- color: "initials"
2472
+ radius: "xl"
2473
+ // color="initials"
2470
2474
  })
2471
2475
  })
2472
2476
  }), /*#__PURE__*/jsx(Collapse, {
2473
2477
  in: editingSection === 'avatar',
2474
- children: /*#__PURE__*/jsx(Card, {
2475
- p: "md",
2478
+ children: /*#__PURE__*/jsx(Paper, {
2479
+ p: "sm",
2476
2480
  withBorder: true,
2481
+ radius: "sm",
2477
2482
  children: /*#__PURE__*/jsxs(Stack, {
2478
2483
  gap: "md",
2479
2484
  align: "center",
2480
- children: [/*#__PURE__*/jsx("input", {
2481
- type: "file",
2482
- id: "avatar-upload",
2485
+ children: [/*#__PURE__*/jsx(FileButton, {
2486
+ onChange: handleAvatarFileChange,
2483
2487
  accept: "image/*",
2484
- style: {
2485
- display: 'none'
2486
- },
2487
- onChange: e => handleAvatarFileChange(e.target.files?.[0])
2488
- }), /*#__PURE__*/jsx(Tooltip, {
2489
- label: labels.clickToChange || 'Clique para alterar',
2490
- position: "bottom",
2491
- children: /*#__PURE__*/jsxs(Box, {
2492
- onClick: () => document.getElementById('avatar-upload')?.click(),
2493
- style: {
2494
- position: 'relative',
2495
- cursor: 'pointer',
2496
- borderRadius: '50%'
2497
- },
2498
- children: [/*#__PURE__*/jsx(Avatar, {
2499
- src: avatarPreview || user?.image,
2500
- name: user?.name || user?.email,
2501
- size: 100,
2502
- radius: 100,
2503
- color: "initials"
2504
- }), /*#__PURE__*/jsx(ThemeIcon, {
2505
- size: 32,
2506
- radius: "xl",
2507
- color: "blue",
2488
+ children: props => /*#__PURE__*/jsx(Tooltip, {
2489
+ label: labels.clickToChange || 'Clique para alterar',
2490
+ position: "bottom",
2491
+ children: /*#__PURE__*/jsxs(Box, {
2492
+ ...props,
2493
+ pos: "relative",
2508
2494
  style: {
2509
- position: 'absolute',
2495
+ cursor: 'pointer'
2496
+ },
2497
+ children: [/*#__PURE__*/jsx(Avatar, {
2498
+ src: avatarPreview || user?.image,
2499
+ name: user?.name || user?.email,
2500
+ size: 80,
2501
+ radius: 80,
2502
+ color: "gray"
2503
+ }), /*#__PURE__*/jsx(ThemeIcon, {
2504
+ size: 26,
2505
+ radius: "xl",
2506
+ color: "gray",
2507
+ pos: "absolute",
2510
2508
  bottom: 0,
2511
2509
  right: 0,
2512
- border: '2px solid var(--mantine-color-body)'
2513
- },
2514
- children: /*#__PURE__*/jsx(IconPhoto, {
2515
- size: 16
2516
- })
2517
- })]
2510
+ bd: "2px solid body",
2511
+ children: /*#__PURE__*/jsx(IconPhoto, {
2512
+ size: 14,
2513
+ stroke: 1.5
2514
+ })
2515
+ })]
2516
+ })
2518
2517
  })
2519
2518
  }), /*#__PURE__*/jsx(Text, {
2520
2519
  size: "xs",
@@ -2523,20 +2522,18 @@ function UserProfile({
2523
2522
  children: labels.avatarHint || `Máximo ${Math.round(maxAvatarSize / 1024)}KB • JPG, PNG, GIF, WebP`
2524
2523
  }), /*#__PURE__*/jsxs(Group, {
2525
2524
  justify: "center",
2526
- gap: "sm",
2527
- children: [user?.image && /*#__PURE__*/jsx(Tooltip, {
2528
- label: labels.removePhoto || 'Remover foto',
2529
- children: /*#__PURE__*/jsx(Button, {
2530
- variant: "light",
2531
- color: "red",
2532
- size: "xs",
2533
- onClick: handleRemoveAvatar,
2534
- loading: loadingUpdateProfile,
2535
- leftSection: /*#__PURE__*/jsx(IconTrash, {
2536
- size: 14
2537
- }),
2538
- children: labels.remove || 'Remover'
2539
- })
2525
+ gap: "xs",
2526
+ children: [user?.image && /*#__PURE__*/jsx(Button, {
2527
+ variant: "subtle",
2528
+ color: "gray",
2529
+ size: "xs",
2530
+ onClick: handleRemoveAvatar,
2531
+ loading: loadingUpdateProfile,
2532
+ leftSection: /*#__PURE__*/jsx(IconTrash, {
2533
+ size: 14,
2534
+ stroke: 1.5
2535
+ }),
2536
+ children: labels.remove || 'Remover'
2540
2537
  }), /*#__PURE__*/jsx(Button, {
2541
2538
  variant: "default",
2542
2539
  size: "xs",
@@ -2546,7 +2543,8 @@ function UserProfile({
2546
2543
  size: "xs",
2547
2544
  loading: loadingUpdateProfile,
2548
2545
  leftSection: /*#__PURE__*/jsx(IconCheck, {
2549
- size: 14
2546
+ size: 14,
2547
+ stroke: 1.5
2550
2548
  }),
2551
2549
  onClick: handleChangeAvatar,
2552
2550
  disabled: !avatarPreview || avatarPreview === user?.image,
@@ -2566,7 +2564,8 @@ function UserProfile({
2566
2564
  children: /*#__PURE__*/jsxs(Group, {
2567
2565
  gap: "xs",
2568
2566
  children: [/*#__PURE__*/jsx(IconPencil, {
2569
- size: 16,
2567
+ size: 18,
2568
+ stroke: 1.5,
2570
2569
  color: "var(--mantine-color-dimmed)"
2571
2570
  }), /*#__PURE__*/jsx(Text, {
2572
2571
  size: "sm",
@@ -2575,10 +2574,10 @@ function UserProfile({
2575
2574
  })
2576
2575
  }), /*#__PURE__*/jsx(Collapse, {
2577
2576
  in: editingSection === 'name',
2578
- children: /*#__PURE__*/jsx(Card, {
2579
- p: "md"
2580
- // withBorder
2581
- ,
2577
+ children: /*#__PURE__*/jsx(Paper, {
2578
+ p: "sm",
2579
+ withBorder: true,
2580
+ radius: "sm",
2582
2581
  children: /*#__PURE__*/jsx("form", {
2583
2582
  onSubmit: nameForm.onSubmit(handleChangeName),
2584
2583
  children: /*#__PURE__*/jsxs(Stack, {
@@ -2587,26 +2586,25 @@ function UserProfile({
2587
2586
  label: labels.name || 'Nome',
2588
2587
  placeholder: labels.namePlaceholder || 'Digite seu nome',
2589
2588
  leftSection: /*#__PURE__*/jsx(IconUser, {
2590
- size: 16
2589
+ size: 16,
2590
+ stroke: 1.5
2591
2591
  }),
2592
2592
  ...nameForm.getInputProps('name')
2593
2593
  }), /*#__PURE__*/jsxs(Group, {
2594
2594
  justify: "flex-end",
2595
- gap: "sm",
2595
+ gap: "xs",
2596
2596
  children: [/*#__PURE__*/jsx(Button, {
2597
2597
  variant: "default",
2598
2598
  size: "xs",
2599
2599
  onClick: () => handleToggleSection('name'),
2600
- leftSection: /*#__PURE__*/jsx(IconX, {
2601
- size: 14
2602
- }),
2603
2600
  children: labels.cancel || 'Cancelar'
2604
2601
  }), /*#__PURE__*/jsx(Button, {
2605
2602
  type: "submit",
2606
2603
  size: "xs",
2607
2604
  loading: loadingUpdateProfile,
2608
2605
  leftSection: /*#__PURE__*/jsx(IconCheck, {
2609
- size: 14
2606
+ size: 14,
2607
+ stroke: 1.5
2610
2608
  }),
2611
2609
  children: labels.save || 'Salvar'
2612
2610
  })]
@@ -2625,7 +2623,8 @@ function UserProfile({
2625
2623
  children: /*#__PURE__*/jsxs(Group, {
2626
2624
  gap: "xs",
2627
2625
  children: [/*#__PURE__*/jsx(IconMail, {
2628
- size: 16,
2626
+ size: 18,
2627
+ stroke: 1.5,
2629
2628
  color: "var(--mantine-color-dimmed)"
2630
2629
  }), /*#__PURE__*/jsx(Text, {
2631
2630
  size: "sm",
@@ -2634,9 +2633,10 @@ function UserProfile({
2634
2633
  })
2635
2634
  }), /*#__PURE__*/jsx(Collapse, {
2636
2635
  in: editingSection === 'email',
2637
- children: /*#__PURE__*/jsx(Card, {
2638
- p: "md",
2636
+ children: /*#__PURE__*/jsx(Paper, {
2637
+ p: "sm",
2639
2638
  withBorder: true,
2639
+ radius: "sm",
2640
2640
  children: /*#__PURE__*/jsx("form", {
2641
2641
  onSubmit: emailForm.onSubmit(handleChangeEmail),
2642
2642
  children: /*#__PURE__*/jsxs(Stack, {
@@ -2645,26 +2645,25 @@ function UserProfile({
2645
2645
  label: labels.newEmail || 'Novo Email',
2646
2646
  placeholder: labels.newEmailPlaceholder || 'Digite o novo email',
2647
2647
  leftSection: /*#__PURE__*/jsx(IconMail, {
2648
- size: 16
2648
+ size: 16,
2649
+ stroke: 1.5
2649
2650
  }),
2650
2651
  ...emailForm.getInputProps('newEmail')
2651
2652
  }), /*#__PURE__*/jsxs(Group, {
2652
2653
  justify: "flex-end",
2653
- gap: "sm",
2654
+ gap: "xs",
2654
2655
  children: [/*#__PURE__*/jsx(Button, {
2655
2656
  variant: "default",
2656
2657
  size: "xs",
2657
2658
  onClick: () => handleToggleSection('email'),
2658
- leftSection: /*#__PURE__*/jsx(IconX, {
2659
- size: 14
2660
- }),
2661
2659
  children: labels.cancel || 'Cancelar'
2662
2660
  }), /*#__PURE__*/jsx(Button, {
2663
2661
  type: "submit",
2664
2662
  size: "xs",
2665
2663
  loading: loadingChangeEmail,
2666
2664
  leftSection: /*#__PURE__*/jsx(IconCheck, {
2667
- size: 14
2665
+ size: 14,
2666
+ stroke: 1.5
2668
2667
  }),
2669
2668
  children: labels.save || 'Salvar'
2670
2669
  })]
@@ -2693,7 +2692,8 @@ function UserProfile({
2693
2692
  children: /*#__PURE__*/jsxs(Group, {
2694
2693
  gap: "xs",
2695
2694
  children: [/*#__PURE__*/jsx(IconKey, {
2696
- size: 16,
2695
+ size: 18,
2696
+ stroke: 1.5,
2697
2697
  color: "var(--mantine-color-dimmed)"
2698
2698
  }), /*#__PURE__*/jsx(Text, {
2699
2699
  size: "sm",
@@ -2703,9 +2703,10 @@ function UserProfile({
2703
2703
  })
2704
2704
  }), /*#__PURE__*/jsx(Collapse, {
2705
2705
  in: editingSection === 'password',
2706
- children: /*#__PURE__*/jsx(Card, {
2707
- p: "md",
2706
+ children: /*#__PURE__*/jsx(Paper, {
2707
+ p: "sm",
2708
2708
  withBorder: true,
2709
+ radius: "sm",
2709
2710
  children: /*#__PURE__*/jsx("form", {
2710
2711
  onSubmit: passwordForm.onSubmit(handleChangePassword),
2711
2712
  children: /*#__PURE__*/jsxs(Stack, {
@@ -2730,16 +2731,14 @@ function UserProfile({
2730
2731
  variant: "default",
2731
2732
  size: "xs",
2732
2733
  onClick: () => handleToggleSection('password'),
2733
- leftSection: /*#__PURE__*/jsx(IconX, {
2734
- size: 14
2735
- }),
2736
2734
  children: labels.cancel || 'Cancelar'
2737
2735
  }), /*#__PURE__*/jsx(Button, {
2738
2736
  type: "submit",
2739
2737
  size: "xs",
2740
2738
  loading: loadingChangePassword,
2741
2739
  leftSection: /*#__PURE__*/jsx(IconCheck, {
2742
- size: 14
2740
+ size: 14,
2741
+ stroke: 1.5
2743
2742
  }),
2744
2743
  children: labels.save || 'Salvar'
2745
2744
  })]
@@ -2758,7 +2757,8 @@ function UserProfile({
2758
2757
  children: /*#__PURE__*/jsxs(Group, {
2759
2758
  gap: "xs",
2760
2759
  children: [/*#__PURE__*/jsx(IconDevices, {
2761
- size: 16,
2760
+ size: 18,
2761
+ stroke: 1.5,
2762
2762
  color: "var(--mantine-color-dimmed)"
2763
2763
  }), /*#__PURE__*/jsx(Text, {
2764
2764
  size: "sm",
@@ -2768,62 +2768,62 @@ function UserProfile({
2768
2768
  })
2769
2769
  }), /*#__PURE__*/jsx(Collapse, {
2770
2770
  in: editingSection === 'sessions',
2771
- children: /*#__PURE__*/jsx(Card, {
2772
- p: "md",
2771
+ children: /*#__PURE__*/jsx(Paper, {
2772
+ p: "sm",
2773
2773
  withBorder: true,
2774
+ radius: "sm",
2774
2775
  children: /*#__PURE__*/jsx(Stack, {
2775
- gap: "md",
2776
+ gap: "xs",
2776
2777
  children: loadingListSessions ? /*#__PURE__*/jsx(Text, {
2777
- size: "sm",
2778
+ size: "xs",
2778
2779
  c: "dimmed",
2779
2780
  ta: "center",
2781
+ py: "md",
2780
2782
  children: labels.loadingSessions || 'Carregando sessões...'
2781
2783
  }) : sessions.length === 0 ? /*#__PURE__*/jsx(Text, {
2782
- size: "sm",
2784
+ size: "xs",
2783
2785
  c: "dimmed",
2784
2786
  ta: "center",
2787
+ py: "md",
2785
2788
  children: labels.noSessionsFound || 'Nenhuma sessão encontrada'
2786
2789
  }) : /*#__PURE__*/jsxs(Fragment, {
2787
2790
  children: [sessions.map(sessionItem => {
2788
2791
  const isCurrentSession = sessionItem.id === currentSession?.id;
2789
2792
  const deviceInfo = parseUserAgent(sessionItem.userAgent);
2790
2793
  const createdDate = new Date(sessionItem.createdAt);
2791
- return /*#__PURE__*/jsx(Card, {
2792
- p: "sm",
2793
- style: {
2794
- borderColor: isCurrentSession ? 'var(--mantine-color-blue-5)' : undefined,
2795
- backgroundColor: isCurrentSession ? 'var(--mantine-color-blue-light)' : undefined
2796
- },
2794
+ return /*#__PURE__*/jsx(Paper, {
2795
+ p: "xs",
2796
+ withBorder: isCurrentSession,
2797
+ bd: isCurrentSession ? '1px solid gray' : undefined,
2798
+ radius: "sm",
2797
2799
  children: /*#__PURE__*/jsxs(Group, {
2798
2800
  justify: "space-between",
2799
2801
  wrap: "nowrap",
2802
+ align: "center",
2800
2803
  children: [/*#__PURE__*/jsxs(Group, {
2801
2804
  gap: "sm",
2802
2805
  wrap: "nowrap",
2803
- style: {
2804
- flex: 1
2805
- },
2806
+ flex: 1,
2806
2807
  children: [/*#__PURE__*/jsx(ThemeIcon, {
2807
- size: 36,
2808
- variant: "light",
2809
- color: isCurrentSession ? 'blue' : 'gray',
2808
+ size: 32,
2809
+ variant: "subtle",
2810
+ color: "gray",
2810
2811
  children: /*#__PURE__*/jsx(IconDeviceMobile, {
2811
- size: 18
2812
+ size: 18,
2813
+ stroke: 1.5
2812
2814
  })
2813
2815
  }), /*#__PURE__*/jsxs(Box, {
2814
- style: {
2815
- flex: 1
2816
- },
2816
+ flex: 1,
2817
2817
  children: [/*#__PURE__*/jsxs(Group, {
2818
2818
  gap: "xs",
2819
2819
  children: [/*#__PURE__*/jsx(Text, {
2820
- size: "sm",
2821
- fw: 500,
2820
+ size: "xs",
2821
+ fw: 600,
2822
2822
  children: deviceInfo.browser
2823
2823
  }), isCurrentSession && /*#__PURE__*/jsx(Badge, {
2824
2824
  size: "xs",
2825
- variant: "filled",
2826
- color: "blue",
2825
+ variant: "light",
2826
+ color: "gray",
2827
2827
  children: labels.thisDevice || 'Este dispositivo'
2828
2828
  })]
2829
2829
  }), /*#__PURE__*/jsxs(Text, {
@@ -2842,13 +2842,14 @@ function UserProfile({
2842
2842
  }), /*#__PURE__*/jsx(Tooltip, {
2843
2843
  label: isCurrentSession ? labels.signOutAndEnd || 'Encerrar e sair' : labels.endSession || 'Encerrar sessão',
2844
2844
  children: /*#__PURE__*/jsx(Button, {
2845
- variant: "light",
2846
- color: "red",
2845
+ variant: "subtle",
2846
+ color: "gray",
2847
2847
  size: "xs",
2848
2848
  onClick: () => handleRevokeSession(sessionItem.id),
2849
2849
  loading: loadingRevokeSession === sessionItem.id,
2850
2850
  leftSection: /*#__PURE__*/jsx(IconLogout, {
2851
- size: 14
2851
+ size: 14,
2852
+ stroke: 1.5
2852
2853
  }),
2853
2854
  children: labels.end || 'Encerrar'
2854
2855
  })
@@ -2857,14 +2858,16 @@ function UserProfile({
2857
2858
  }, sessionItem.id);
2858
2859
  }), sessions.length > 1 && /*#__PURE__*/jsx(Group, {
2859
2860
  justify: "flex-end",
2861
+ mt: "xs",
2860
2862
  children: /*#__PURE__*/jsx(Button, {
2861
- variant: "light",
2862
- color: "red",
2863
+ variant: "subtle",
2864
+ color: "gray",
2863
2865
  size: "xs",
2864
2866
  onClick: handleRevokeOtherSessions,
2865
2867
  loading: loadingRevokeSession === 'all',
2866
2868
  leftSection: /*#__PURE__*/jsx(IconLogout, {
2867
- size: 14
2869
+ size: 14,
2870
+ stroke: 1.5
2868
2871
  }),
2869
2872
  children: labels.endOtherSessions || 'Encerrar todas as outras sessões'
2870
2873
  })
@@ -2883,27 +2886,31 @@ function UserProfile({
2883
2886
  return /*#__PURE__*/jsxs(Modal, {
2884
2887
  opened: opened,
2885
2888
  onClose: onClose,
2886
- size: width + 50,
2889
+ size: width,
2887
2890
  withCloseButton: true,
2888
2891
  radius: "md",
2889
2892
  overlayProps: {
2890
- backgroundOpacity: 0.55,
2891
- blur: 3
2893
+ backgroundOpacity: 0.5,
2894
+ blur: 4
2892
2895
  },
2893
2896
  title: /*#__PURE__*/jsxs(Group, {
2894
- gap: "md",
2897
+ gap: "sm",
2895
2898
  children: [/*#__PURE__*/jsx(ThemeIcon, {
2896
- size: 44,
2897
- variant: "light",
2899
+ size: 32,
2900
+ variant: "subtle",
2901
+ color: "gray",
2898
2902
  children: /*#__PURE__*/jsx(IconUserCircle, {
2899
- size: 24
2903
+ size: 24,
2904
+ stroke: 1.5
2900
2905
  })
2901
- }), /*#__PURE__*/jsxs(Box, {
2906
+ }), /*#__PURE__*/jsxs(Stack, {
2907
+ gap: 0,
2902
2908
  children: [/*#__PURE__*/jsx(Title, {
2903
- order: 4,
2909
+ order: 5,
2910
+ fw: 600,
2904
2911
  children: title
2905
2912
  }), /*#__PURE__*/jsx(Text, {
2906
- size: "sm",
2913
+ size: "xs",
2907
2914
  c: "dimmed",
2908
2915
  children: subtitle
2909
2916
  })]
@@ -2928,24 +2935,28 @@ function UserProfile({
2928
2935
  children: /*#__PURE__*/jsxs(Stack, {
2929
2936
  gap: "sm",
2930
2937
  children: [/*#__PURE__*/jsxs(Group, {
2931
- gap: "md",
2938
+ gap: "sm",
2932
2939
  children: [logo ? /*#__PURE__*/jsx(Image, {
2933
2940
  src: logo,
2934
2941
  alt: "Auth",
2935
2942
  h: logoHeight,
2936
2943
  fit: "contain"
2937
2944
  }) : /*#__PURE__*/jsx(ThemeIcon, {
2938
- size: 44,
2939
- variant: "light",
2945
+ size: 32,
2946
+ variant: "subtle",
2947
+ color: "gray",
2940
2948
  children: /*#__PURE__*/jsx(IconUserCircle, {
2941
- size: 24
2949
+ size: 24,
2950
+ stroke: 1.5
2942
2951
  })
2943
- }), /*#__PURE__*/jsxs(Box, {
2952
+ }), /*#__PURE__*/jsxs(Stack, {
2953
+ gap: 0,
2944
2954
  children: [/*#__PURE__*/jsx(Title, {
2945
- order: 4,
2955
+ order: 5,
2956
+ fw: 600,
2946
2957
  children: title
2947
2958
  }), /*#__PURE__*/jsx(Text, {
2948
- size: "sm",
2959
+ size: "xs",
2949
2960
  c: "dimmed",
2950
2961
  children: subtitle
2951
2962
  })]