@navservice/usuario 1.50.0 → 1.52.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 (52) hide show
  1. package/build/es/biblioteca/src/componentes/auth/RefreshToken/RefreshToken.d.ts +7 -0
  2. package/build/es/biblioteca/src/componentes/auth/RefreshToken/index.d.ts +1 -0
  3. package/build/es/biblioteca/src/contexto/contexto_usuario.d.ts +1 -0
  4. package/build/es/biblioteca/src/index.d.ts +1 -0
  5. package/build/es/index.js +1383 -716
  6. package/package.json +1 -1
  7. package/build/lib/biblioteca/src/componentes/auth/AuthAtivarDesativarAuthenticator/AuthAtivarDesativarAuthenticator.d.ts +0 -2
  8. package/build/lib/biblioteca/src/componentes/auth/AuthAtivarDesativarAuthenticator/index.d.ts +0 -1
  9. package/build/lib/biblioteca/src/componentes/auth/AuthGoogle/AuthGoogle.d.ts +0 -5
  10. package/build/lib/biblioteca/src/componentes/auth/AuthGoogle/index.d.ts +0 -1
  11. package/build/lib/biblioteca/src/componentes/auth/AuthLogin/AuthLogin.d.ts +0 -1
  12. package/build/lib/biblioteca/src/componentes/auth/AuthLogin/index.d.ts +0 -1
  13. package/build/lib/biblioteca/src/componentes/auth/AuthRegister/AuthRegister.d.ts +0 -1
  14. package/build/lib/biblioteca/src/componentes/auth/AuthRegister/index.d.ts +0 -2
  15. package/build/lib/biblioteca/src/componentes/auth/EnviarCodigoOtpParaEmail/EnviarCodigoOtpParaEmail.d.ts +0 -12
  16. package/build/lib/biblioteca/src/componentes/auth/EnviarCodigoOtpParaEmail/index.d.ts +0 -1
  17. package/build/lib/biblioteca/src/componentes/auth/EsqueciMinhaSenha/EsqueciMinhaSenha.d.ts +0 -5
  18. package/build/lib/biblioteca/src/componentes/auth/EsqueciMinhaSenha/index.d.ts +0 -1
  19. package/build/lib/biblioteca/src/componentes/auth/RecuperarSenhaComCodigoOtp/RecuperarSenhaComCodigoOtp.d.ts +0 -1
  20. package/build/lib/biblioteca/src/componentes/auth/RecuperarSenhaComCodigoOtp/index.d.ts +0 -1
  21. package/build/lib/biblioteca/src/componentes/auth/VerificarAuthenticator/VerificarAuthenticator.d.ts +0 -2
  22. package/build/lib/biblioteca/src/componentes/auth/VerificarAuthenticator/index.d.ts +0 -1
  23. package/build/lib/biblioteca/src/componentes/drawer/DraweFullScreen/DraweFullScreen.d.ts +0 -12
  24. package/build/lib/biblioteca/src/componentes/drawer/DraweFullScreen/index.d.ts +0 -1
  25. package/build/lib/biblioteca/src/componentes/drawer/DrawerPadrao/DrawerPadrao.d.ts +0 -12
  26. package/build/lib/biblioteca/src/componentes/drawer/DrawerPadrao/index.d.ts +0 -1
  27. package/build/lib/biblioteca/src/componentes/geral/FormularioZod/index.d.ts +0 -45
  28. package/build/lib/biblioteca/src/componentes/geral/PaginaEmDesenvolvimento/index.d.ts +0 -5
  29. package/build/lib/biblioteca/src/componentes/geral/TopTabs/index.d.ts +0 -10
  30. package/build/lib/biblioteca/src/componentes/layout/Layout.d.ts +0 -1
  31. package/build/lib/biblioteca/src/componentes/layout/NavBar/DarkMode.d.ts +0 -2
  32. package/build/lib/biblioteca/src/componentes/layout/NavBar/Logo.d.ts +0 -2
  33. package/build/lib/biblioteca/src/componentes/layout/NavBar/Profile.d.ts +0 -5
  34. package/build/lib/biblioteca/src/componentes/layout/NavBar/index.d.ts +0 -3
  35. package/build/lib/biblioteca/src/componentes/layout/index.d.ts +0 -1
  36. package/build/lib/biblioteca/src/componentes/layoutPublic/Header.d.ts +0 -7
  37. package/build/lib/biblioteca/src/componentes/layoutPublic/index.d.ts +0 -1
  38. package/build/lib/biblioteca/src/componentes/layoutPublic/layoutPublic.d.ts +0 -7
  39. package/build/lib/biblioteca/src/config_env/index.d.ts +0 -16
  40. package/build/lib/biblioteca/src/contexto/contexto_codigo_otp.d.ts +0 -19
  41. package/build/lib/biblioteca/src/contexto/contexto_layout.d.ts +0 -74
  42. package/build/lib/biblioteca/src/contexto/contexto_usuario.d.ts +0 -32
  43. package/build/lib/biblioteca/src/index.d.ts +0 -15
  44. package/build/lib/index.js +0 -51339
  45. package/build/lib/shared/configuracoes/_sistema.d.ts +0 -49
  46. package/build/lib/shared/configuracoes/_theme.d.ts +0 -91
  47. package/build/lib/shared/configuracoes/index.d.ts +0 -142
  48. package/build/lib/shared/types/controller/type_codigo_verificacao_otp.d.ts +0 -88
  49. package/build/lib/shared/types/controller/type_controller_authenticator.d.ts +0 -88
  50. package/build/lib/shared/types/controller/type_controller_usuario.d.ts +0 -263
  51. package/build/lib/shared/types/geral/type_response.d.ts +0 -54
  52. package/build/lib/shared/types/index.d.ts +0 -50
package/build/es/index.js CHANGED
@@ -5,11 +5,11 @@ import v4 from "zod/v4";
5
5
  import react, { createElement, forwardRef, memo, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
7
  import { QRCodeSVG } from "qrcode.react";
8
+ import { AnimatePresence, motion } from "framer-motion";
8
9
  import { createPortal } from "react-dom";
9
10
  import { Outlet, useLocation, useNavigate, useSearchParams } from "react-router-dom";
10
11
  import { GoogleLogin, GoogleOAuthProvider } from "@react-oauth/google";
11
12
  import { $ZodError, parse, parseAsync } from "zod/v4/core";
12
- import { motion } from "framer-motion";
13
13
  var __webpack_require__ = {};
14
14
  (()=>{
15
15
  __webpack_require__.d = (exports, definition)=>{
@@ -3390,6 +3390,21 @@ const contexto_usuario_contexto_usuario = class contexto_usuario {
3390
3390
  contexto_usuario.contexto.state.set_loading(false);
3391
3391
  }
3392
3392
  }
3393
+ static async refresh_token(props) {
3394
+ try {
3395
+ const response = await src_utils.api.servidor_pricipal.post({
3396
+ baseURLKey: "PUBLIC_BASE_URL_SERVICE_USUARIO",
3397
+ url: shared_types.Controller.Usuario.RefreshToken.route,
3398
+ data: props,
3399
+ setToken: false
3400
+ });
3401
+ if (response?.data?.status == 200) contexto_usuario.contexto.state.set_user(response?.data?.results || null);
3402
+ if (response?.data?.status !== 200) return contexto_usuario.contexto.state.set_signout();
3403
+ return response;
3404
+ } catch (error) {
3405
+ return contexto_usuario.contexto.state.set_signout();
3406
+ }
3407
+ }
3393
3408
  };
3394
3409
  static contexto = class {
3395
3410
  static jsx = class {
@@ -3713,54 +3728,129 @@ const Shield = createLucideIcon("shield", __iconNode);
3713
3728
  *
3714
3729
  * This source code is licensed under the ISC license.
3715
3730
  * See the LICENSE file in the root directory of this source tree.
3716
- */ const circle_check_iconNode = [
3731
+ */ const qr_code_iconNode = [
3717
3732
  [
3718
- "circle",
3733
+ "rect",
3719
3734
  {
3720
- cx: "12",
3721
- cy: "12",
3722
- r: "10",
3723
- key: "1mglay"
3735
+ width: "5",
3736
+ height: "5",
3737
+ x: "3",
3738
+ y: "3",
3739
+ rx: "1",
3740
+ key: "1tu5fj"
3741
+ }
3742
+ ],
3743
+ [
3744
+ "rect",
3745
+ {
3746
+ width: "5",
3747
+ height: "5",
3748
+ x: "16",
3749
+ y: "3",
3750
+ rx: "1",
3751
+ key: "1v8r4q"
3752
+ }
3753
+ ],
3754
+ [
3755
+ "rect",
3756
+ {
3757
+ width: "5",
3758
+ height: "5",
3759
+ x: "3",
3760
+ y: "16",
3761
+ rx: "1",
3762
+ key: "1x03jg"
3724
3763
  }
3725
3764
  ],
3726
3765
  [
3727
3766
  "path",
3728
3767
  {
3729
- d: "m9 12 2 2 4-4",
3730
- key: "dzmm74"
3768
+ d: "M21 16h-3a2 2 0 0 0-2 2v3",
3769
+ key: "177gqh"
3770
+ }
3771
+ ],
3772
+ [
3773
+ "path",
3774
+ {
3775
+ d: "M21 21v.01",
3776
+ key: "ents32"
3777
+ }
3778
+ ],
3779
+ [
3780
+ "path",
3781
+ {
3782
+ d: "M12 7v3a2 2 0 0 1-2 2H7",
3783
+ key: "8crl2c"
3784
+ }
3785
+ ],
3786
+ [
3787
+ "path",
3788
+ {
3789
+ d: "M3 12h.01",
3790
+ key: "nlz23k"
3791
+ }
3792
+ ],
3793
+ [
3794
+ "path",
3795
+ {
3796
+ d: "M12 3h.01",
3797
+ key: "n36tog"
3798
+ }
3799
+ ],
3800
+ [
3801
+ "path",
3802
+ {
3803
+ d: "M12 16v.01",
3804
+ key: "133mhm"
3805
+ }
3806
+ ],
3807
+ [
3808
+ "path",
3809
+ {
3810
+ d: "M16 12h1",
3811
+ key: "1slzba"
3812
+ }
3813
+ ],
3814
+ [
3815
+ "path",
3816
+ {
3817
+ d: "M21 12v.01",
3818
+ key: "1lwtk9"
3819
+ }
3820
+ ],
3821
+ [
3822
+ "path",
3823
+ {
3824
+ d: "M12 21v-1",
3825
+ key: "1880an"
3731
3826
  }
3732
3827
  ]
3733
3828
  ];
3734
- const CircleCheck = createLucideIcon("circle-check", circle_check_iconNode);
3829
+ const QrCode = createLucideIcon("qr-code", qr_code_iconNode);
3735
3830
  /**
3736
3831
  * @license lucide-react v0.544.0 - ISC
3737
3832
  *
3738
3833
  * This source code is licensed under the ISC license.
3739
3834
  * See the LICENSE file in the root directory of this source tree.
3740
- */ const shield_off_iconNode = [
3741
- [
3742
- "path",
3743
- {
3744
- d: "m2 2 20 20",
3745
- key: "1ooewy"
3746
- }
3747
- ],
3835
+ */ const circle_check_iconNode = [
3748
3836
  [
3749
- "path",
3837
+ "circle",
3750
3838
  {
3751
- d: "M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",
3752
- key: "1jlk70"
3839
+ cx: "12",
3840
+ cy: "12",
3841
+ r: "10",
3842
+ key: "1mglay"
3753
3843
  }
3754
3844
  ],
3755
3845
  [
3756
3846
  "path",
3757
3847
  {
3758
- d: "M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",
3759
- key: "18rp1v"
3848
+ d: "m9 12 2 2 4-4",
3849
+ key: "dzmm74"
3760
3850
  }
3761
3851
  ]
3762
3852
  ];
3763
- const ShieldOff = createLucideIcon("shield-off", shield_off_iconNode);
3853
+ const CircleCheck = createLucideIcon("circle-check", circle_check_iconNode);
3764
3854
  /**
3765
3855
  * @license lucide-react v0.544.0 - ISC
3766
3856
  *
@@ -3788,6 +3878,52 @@ const ShieldOff = createLucideIcon("shield-off", shield_off_iconNode);
3788
3878
  ]
3789
3879
  ];
3790
3880
  const Copy = createLucideIcon("copy", copy_iconNode);
3881
+ /**
3882
+ * @license lucide-react v0.544.0 - ISC
3883
+ *
3884
+ * This source code is licensed under the ISC license.
3885
+ * See the LICENSE file in the root directory of this source tree.
3886
+ */ const key_iconNode = [
3887
+ [
3888
+ "path",
3889
+ {
3890
+ d: "m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",
3891
+ key: "g0fldk"
3892
+ }
3893
+ ],
3894
+ [
3895
+ "path",
3896
+ {
3897
+ d: "m21 2-9.6 9.6",
3898
+ key: "1j0ho8"
3899
+ }
3900
+ ],
3901
+ [
3902
+ "circle",
3903
+ {
3904
+ cx: "7.5",
3905
+ cy: "15.5",
3906
+ r: "5.5",
3907
+ key: "yqb3hr"
3908
+ }
3909
+ ]
3910
+ ];
3911
+ const Key = createLucideIcon("key", key_iconNode);
3912
+ /**
3913
+ * @license lucide-react v0.544.0 - ISC
3914
+ *
3915
+ * This source code is licensed under the ISC license.
3916
+ * See the LICENSE file in the root directory of this source tree.
3917
+ */ const loader_circle_iconNode = [
3918
+ [
3919
+ "path",
3920
+ {
3921
+ d: "M21 12a9 9 0 1 1-6.219-8.56",
3922
+ key: "13zald"
3923
+ }
3924
+ ]
3925
+ ];
3926
+ const LoaderCircle = createLucideIcon("loader-circle", loader_circle_iconNode);
3791
3927
  /**
3792
3928
  * @license lucide-react v0.544.0 - ISC
3793
3929
  *
@@ -3987,10 +4123,99 @@ const PessimisticReveal = /*#__PURE__*/ memo(({ open, children, delay = 500 })=>
3987
4123
  ]
3988
4124
  });
3989
4125
  });
4126
+ /**
4127
+ * @license lucide-react v0.544.0 - ISC
4128
+ *
4129
+ * This source code is licensed under the ISC license.
4130
+ * See the LICENSE file in the root directory of this source tree.
4131
+ */ const mail_check_iconNode = [
4132
+ [
4133
+ "path",
4134
+ {
4135
+ d: "M22 13V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h8",
4136
+ key: "12jkf8"
4137
+ }
4138
+ ],
4139
+ [
4140
+ "path",
4141
+ {
4142
+ d: "m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",
4143
+ key: "1ocrg3"
4144
+ }
4145
+ ],
4146
+ [
4147
+ "path",
4148
+ {
4149
+ d: "m16 19 2 2 4-4",
4150
+ key: "1b14m6"
4151
+ }
4152
+ ]
4153
+ ];
4154
+ const MailCheck = createLucideIcon("mail-check", mail_check_iconNode);
4155
+ /**
4156
+ * @license lucide-react v0.544.0 - ISC
4157
+ *
4158
+ * This source code is licensed under the ISC license.
4159
+ * See the LICENSE file in the root directory of this source tree.
4160
+ */ const send_iconNode = [
4161
+ [
4162
+ "path",
4163
+ {
4164
+ d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
4165
+ key: "1ffxy3"
4166
+ }
4167
+ ],
4168
+ [
4169
+ "path",
4170
+ {
4171
+ d: "m21.854 2.147-10.94 10.939",
4172
+ key: "12cjpa"
4173
+ }
4174
+ ]
4175
+ ];
4176
+ const Send = createLucideIcon("send", send_iconNode);
4177
+ /**
4178
+ * @license lucide-react v0.544.0 - ISC
4179
+ *
4180
+ * This source code is licensed under the ISC license.
4181
+ * See the LICENSE file in the root directory of this source tree.
4182
+ */ const circle_alert_iconNode = [
4183
+ [
4184
+ "circle",
4185
+ {
4186
+ cx: "12",
4187
+ cy: "12",
4188
+ r: "10",
4189
+ key: "1mglay"
4190
+ }
4191
+ ],
4192
+ [
4193
+ "line",
4194
+ {
4195
+ x1: "12",
4196
+ x2: "12",
4197
+ y1: "8",
4198
+ y2: "12",
4199
+ key: "1pkeuh"
4200
+ }
4201
+ ],
4202
+ [
4203
+ "line",
4204
+ {
4205
+ x1: "12",
4206
+ x2: "12.01",
4207
+ y1: "16",
4208
+ y2: "16",
4209
+ key: "4dfq90"
4210
+ }
4211
+ ]
4212
+ ];
4213
+ const CircleAlert = createLucideIcon("circle-alert", circle_alert_iconNode);
3990
4214
  const TEMPO_COOLDOWN = 60;
3991
4215
  const CHAVE_LS = "otp-email-cooldown-ate";
3992
4216
  const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(function({ email, erroExterno, onConfirmarCodigo, title = "Enviar código pelo e-mail", color = "primary" }, ref) {
3993
4217
  const [erroEnvio, setErroEnvio] = useState(null);
4218
+ const [sucessoEnvio, setSucessoEnvio] = useState(false);
3994
4219
  const [erroOtpInterno, setErroOtpInterno] = useState(null);
3995
4220
  const erroOtp = erroExterno ?? erroOtpInterno;
3996
4221
  const [segundosRestantes, setSegundosRestantes] = useState(0);
@@ -4006,6 +4231,7 @@ const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(f
4006
4231
  ]);
4007
4232
  const otpRefs = useRef([]);
4008
4233
  const emailValido = /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
4234
+ const [enviando, setEnviando] = useState(false);
4009
4235
  useImperativeHandle(ref, ()=>({
4010
4236
  reset () {
4011
4237
  if (intervaloRef.current) {
@@ -4014,6 +4240,7 @@ const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(f
4014
4240
  }
4015
4241
  sessionStorage.removeItem(CHAVE_LS);
4016
4242
  setErroEnvio(null);
4243
+ setSucessoEnvio(false);
4017
4244
  setErroOtpInterno(null);
4018
4245
  setSegundosRestantes(0);
4019
4246
  setMostrarOtp(false);
@@ -4057,24 +4284,25 @@ const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(f
4057
4284
  async function enviarCodigo() {
4058
4285
  if (!emailValido || segundosRestantes > 0) return;
4059
4286
  try {
4287
+ setEnviando(true);
4060
4288
  setErroEnvio(null);
4061
- setErroOtpInterno(null);
4062
- const dadosBody = {
4289
+ setSucessoEnvio(false);
4290
+ await src_utils.api.servidor_pricipal.post({
4291
+ baseURLKey: "PUBLIC_BASE_URL_SERVICE_USUARIO",
4292
+ url: shared_types.Controller.CodigoOtp.EnviarCodigoOtp.route,
4063
4293
  data: {
4064
- codigo_verificacao_otp: {
4065
- tipo_codigo: "email",
4066
- email
4294
+ data: {
4295
+ codigo_verificacao_otp: {
4296
+ tipo_codigo: "email",
4297
+ email
4298
+ }
4067
4299
  }
4068
4300
  }
4069
- };
4301
+ });
4070
4302
  const ate = new Date(Date.now() + 1000 * TEMPO_COOLDOWN);
4071
4303
  sessionStorage.setItem(CHAVE_LS, ate.toISOString());
4072
4304
  iniciarContagem(TEMPO_COOLDOWN);
4073
- await src_utils.api.servidor_pricipal.post({
4074
- baseURLKey: "PUBLIC_BASE_URL_SERVICE_USUARIO",
4075
- url: shared_types.Controller.CodigoOtp.EnviarCodigoOtp.route,
4076
- data: dadosBody
4077
- });
4305
+ setSucessoEnvio(true);
4078
4306
  setMostrarOtp(true);
4079
4307
  setOtp([
4080
4308
  "",
@@ -4084,9 +4312,14 @@ const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(f
4084
4312
  "",
4085
4313
  ""
4086
4314
  ]);
4087
- setTimeout(()=>otpRefs.current[0]?.focus(), 0);
4315
+ setTimeout(()=>{
4316
+ otpRefs.current[0]?.focus();
4317
+ setTimeout(()=>setSucessoEnvio(false), 60000);
4318
+ }, 0);
4088
4319
  } catch {
4089
4320
  setErroEnvio("Não foi possível enviar o código. Tente novamente.");
4321
+ } finally{
4322
+ setEnviando(false);
4090
4323
  }
4091
4324
  }
4092
4325
  function handleOtpChange(i, val) {
@@ -4095,7 +4328,7 @@ const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(f
4095
4328
  const novo = [
4096
4329
  ...otp
4097
4330
  ];
4098
- novo[i] = only;
4331
+ novo[i] = only.slice(-1);
4099
4332
  setOtp(novo);
4100
4333
  if (only && i < 5) otpRefs.current[i + 1]?.focus();
4101
4334
  }
@@ -4104,16 +4337,9 @@ const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(f
4104
4337
  if ("ArrowLeft" === e.key && i > 0) otpRefs.current[i - 1]?.focus();
4105
4338
  if ("ArrowRight" === e.key && i < 5) otpRefs.current[i + 1]?.focus();
4106
4339
  }
4107
- function confirmarCodigo() {
4108
- const codigo = otp.join("");
4109
- if (6 !== codigo.length) return void setErroOtpInterno("Digite os 6 dígitos do código.");
4110
- onConfirmarCodigo?.(codigo);
4111
- }
4112
- const otpCompleto = 6 === otp.join("").length;
4113
4340
  function handleOtpPaste(i, e) {
4114
4341
  e.preventDefault();
4115
- const texto = e.clipboardData.getData("text");
4116
- const numeros = texto.replace(/\D/g, "").slice(0, 6);
4342
+ const numeros = e.clipboardData.getData("text").replace(/\D/g, "").slice(0, 6);
4117
4343
  if (!numeros) return;
4118
4344
  const novo = [
4119
4345
  ...otp
@@ -4123,65 +4349,192 @@ const EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail = /*#__PURE__*/ forwardRef(f
4123
4349
  const proximoIndex = Math.min(i + numeros.length, 5);
4124
4350
  setTimeout(()=>otpRefs.current[proximoIndex]?.focus(), 0);
4125
4351
  }
4352
+ function confirmarCodigo() {
4353
+ const codigo = otp.join("");
4354
+ if (6 !== codigo.length) return void setErroOtpInterno("Digite os 6 dígitos.");
4355
+ onConfirmarCodigo?.(codigo);
4356
+ }
4357
+ const otpCompleto = 6 === otp.join("").length;
4126
4358
  return /*#__PURE__*/ jsxs("div", {
4359
+ className: "w-full space-y-5",
4127
4360
  children: [
4128
- /*#__PURE__*/ jsx("button", {
4361
+ /*#__PURE__*/ jsx(AnimatePresence, {
4362
+ children: sucessoEnvio && /*#__PURE__*/ jsxs(motion.div, {
4363
+ initial: {
4364
+ opacity: 0,
4365
+ height: 0,
4366
+ y: -10
4367
+ },
4368
+ animate: {
4369
+ opacity: 1,
4370
+ height: "auto",
4371
+ y: 0
4372
+ },
4373
+ exit: {
4374
+ opacity: 0,
4375
+ height: 0
4376
+ },
4377
+ className: "flex items-center gap-3 p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/20 overflow-hidden",
4378
+ children: [
4379
+ /*#__PURE__*/ jsx(MailCheck, {
4380
+ className: "w-5 h-5 text-emerald-500 flex-shrink-0"
4381
+ }),
4382
+ /*#__PURE__*/ jsxs("p", {
4383
+ className: "text-[11px] font-medium text-emerald-600 dark:text-emerald-400 leading-tight",
4384
+ children: [
4385
+ "C\xf3digo enviado para ",
4386
+ /*#__PURE__*/ jsx("span", {
4387
+ className: "font-bold",
4388
+ children: email
4389
+ }),
4390
+ ". Verifique sua caixa de entrada."
4391
+ ]
4392
+ })
4393
+ ]
4394
+ })
4395
+ }),
4396
+ /*#__PURE__*/ jsxs(motion.button, {
4397
+ whileHover: {
4398
+ scale: !emailValido || segundosRestantes > 0 || enviando ? 1 : 1.01
4399
+ },
4400
+ whileTap: {
4401
+ scale: !emailValido || segundosRestantes > 0 || enviando ? 1 : 0.99
4402
+ },
4129
4403
  type: "button",
4130
4404
  onClick: enviarCodigo,
4131
- disabled: !emailValido || segundosRestantes > 0,
4132
- className: [
4133
- "w-full rounded-lg py-2 text-sm font-medium transition-all",
4134
- `border border-${color}-500 dark:border-${color}-600`,
4135
- `bg-transparent text-${color}-600 dark:text-${color}-400`,
4136
- `hover:bg-${color}-50 dark:hover:bg-${color}-900/30 hover:border-${color}-400 dark:hover:border-${color}-500`,
4137
- "disabled:opacity-50 disabled:cursor-not-allowed"
4138
- ].join(" "),
4139
- children: segundosRestantes > 0 ? `Reenviar em ${segundosRestantes}s` : title
4140
- }),
4141
- erroEnvio && /*#__PURE__*/ jsx("p", {
4142
- className: "text-xs text-error-600 dark:text-error-400 mt-2",
4143
- children: erroEnvio
4144
- }),
4145
- mostrarOtp && /*#__PURE__*/ jsxs("div", {
4146
- className: "mt-8",
4405
+ disabled: !emailValido || segundosRestantes > 0 || enviando,
4406
+ className: `
4407
+ relative w-full rounded-xl py-3 text-sm font-bold
4408
+ flex items-center justify-center gap-2
4409
+ transition-all duration-300 group
4410
+ ${segundosRestantes > 0 ? "bg-transparent border border-slate-200 dark:border-white/10 text-slate-400 cursor-not-allowed" : "bg-transparent border border-blue-500/30 text-blue-500 hover:border-blue-500 dark:text-blue-400 shadow-sm hover:shadow-blue-500/10"}
4411
+ disabled:opacity-50
4412
+ `,
4147
4413
  children: [
4148
- /*#__PURE__*/ jsx("label", {
4149
- className: "text-sm font-medium text-basic-700 dark:text-basic-300 mb-2 block",
4150
- children: "Digite o c\xf3digo de verifica\xe7\xe3o enviado para o e-mail"
4151
- }),
4152
4414
  /*#__PURE__*/ jsx("div", {
4153
- className: "flex justify-between gap-2",
4154
- children: otp.map((v, i)=>/*#__PURE__*/ jsx("input", {
4155
- value: v,
4156
- ref: (el)=>{
4157
- otpRefs.current[i] = el;
4158
- },
4159
- maxLength: 1,
4160
- inputMode: "numeric",
4161
- pattern: "[0-9]*",
4162
- onChange: (e)=>handleOtpChange(i, e.target.value),
4163
- onKeyDown: (e)=>handleOtpKeyDown(i, e),
4164
- onPaste: (e)=>handleOtpPaste(i, e),
4165
- className: `w-10 h-12 text-center text-lg font-semibold rounded-lg border outline-none transition-all
4166
- bg-white dark:bg-basic-800
4167
- text-basic-900 dark:text-basic-100
4168
- ${erroOtp ? "border-error-500 focus:ring-2 ring-error-300 dark:ring-error-600" : "border-default-300 dark:border-default-600 focus:border-primary-500 focus:ring-2 ring-primary-300 dark:ring-primary-600"}`
4169
- }, i))
4415
+ className: "absolute inset-0 bg-gradient-to-r from-blue-600/0 to-cyan-600/0 group-hover:from-blue-600/5 group-hover:to-cyan-600/5 transition-all duration-500"
4170
4416
  }),
4171
- erroOtp && /*#__PURE__*/ jsx("p", {
4172
- className: "text-xs text-error-600 dark:text-error-400 mt-1",
4173
- children: erroOtp
4174
- }),
4175
- /*#__PURE__*/ jsx("button", {
4176
- type: "button",
4177
- onClick: confirmarCodigo,
4178
- disabled: !otpCompleto,
4179
- className: `w-full mt-4 ${otpCompleto ? "cursor-pointer" : "cursor-not-allowed"} bg-primary-600 hover:bg-primary-700 disabled:bg-primary-400
4180
- dark:bg-primary-500 dark:hover:bg-primary-600 dark:disabled:bg-primary-700
4181
- text-white font-medium rounded-lg py-2 transition-all`,
4182
- children: "Confirmar c\xf3digo"
4417
+ enviando ? /*#__PURE__*/ jsxs("div", {
4418
+ className: "flex items-center gap-2",
4419
+ children: [
4420
+ /*#__PURE__*/ jsx(LoaderCircle, {
4421
+ className: "h-4 w-4 animate-spin text-blue-500"
4422
+ }),
4423
+ /*#__PURE__*/ jsx("span", {
4424
+ className: "text-slate-600 dark:text-slate-300",
4425
+ children: "Enviando..."
4426
+ })
4427
+ ]
4428
+ }) : segundosRestantes > 0 ? /*#__PURE__*/ jsxs("span", {
4429
+ className: "text-[10px] uppercase tracking-[0.15em] font-black opacity-70",
4430
+ children: [
4431
+ "Dispon\xedvel em ",
4432
+ segundosRestantes,
4433
+ "s"
4434
+ ]
4435
+ }) : /*#__PURE__*/ jsxs("div", {
4436
+ className: "relative flex items-center gap-2",
4437
+ children: [
4438
+ /*#__PURE__*/ jsx(Send, {
4439
+ className: "h-4 w-4 text-blue-500 group-hover:text-cyan-500 transition-colors"
4440
+ }),
4441
+ /*#__PURE__*/ jsx("span", {
4442
+ className: "bg-gradient-to-r from-blue-600 to-cyan-600 bg-clip-text text-transparent",
4443
+ children: title
4444
+ })
4445
+ ]
4183
4446
  })
4184
4447
  ]
4448
+ }),
4449
+ /*#__PURE__*/ jsx(AnimatePresence, {
4450
+ children: erroEnvio && /*#__PURE__*/ jsxs(motion.div, {
4451
+ initial: {
4452
+ opacity: 0
4453
+ },
4454
+ animate: {
4455
+ opacity: 1
4456
+ },
4457
+ className: "flex items-center justify-center gap-2 text-red-500",
4458
+ children: [
4459
+ /*#__PURE__*/ jsx(CircleAlert, {
4460
+ className: "w-3.5 h-3.5"
4461
+ }),
4462
+ /*#__PURE__*/ jsx("span", {
4463
+ className: "text-[11px] font-bold",
4464
+ children: erroEnvio
4465
+ })
4466
+ ]
4467
+ })
4468
+ }),
4469
+ /*#__PURE__*/ jsx(AnimatePresence, {
4470
+ children: mostrarOtp && /*#__PURE__*/ jsxs(motion.div, {
4471
+ initial: {
4472
+ opacity: 0,
4473
+ height: 0
4474
+ },
4475
+ animate: {
4476
+ opacity: 1,
4477
+ height: "auto"
4478
+ },
4479
+ className: "mt-6 space-y-5 overflow-hidden",
4480
+ children: [
4481
+ /*#__PURE__*/ jsxs("div", {
4482
+ className: "flex items-center gap-4",
4483
+ children: [
4484
+ /*#__PURE__*/ jsx("div", {
4485
+ className: "flex-grow border-t border-slate-200 dark:border-white/10"
4486
+ }),
4487
+ /*#__PURE__*/ jsx("span", {
4488
+ className: "text-[10px] font-black tracking-[0.2em] text-slate-400 uppercase",
4489
+ children: "Validar C\xf3digo"
4490
+ }),
4491
+ /*#__PURE__*/ jsx("div", {
4492
+ className: "flex-grow border-t border-slate-200 dark:border-white/10"
4493
+ })
4494
+ ]
4495
+ }),
4496
+ /*#__PURE__*/ jsx("div", {
4497
+ className: "flex justify-between gap-2",
4498
+ children: otp.map((v, i)=>/*#__PURE__*/ jsx("input", {
4499
+ value: v,
4500
+ ref: (el)=>{
4501
+ otpRefs.current[i] = el;
4502
+ },
4503
+ maxLength: 1,
4504
+ inputMode: "numeric",
4505
+ onChange: (e)=>handleOtpChange(i, e.target.value),
4506
+ onKeyDown: (e)=>handleOtpKeyDown(i, e),
4507
+ onPaste: (e)=>handleOtpPaste(i, e),
4508
+ className: `w-full h-14 text-center text-xl font-black rounded-xl border bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-white outline-none transition-all
4509
+ ${erroOtp ? "border-red-500 ring-2 ring-red-500/10" : "border-slate-200 dark:border-white/10 focus:border-slate-400 dark:focus:border-slate-500"}`
4510
+ }, i))
4511
+ }),
4512
+ erroOtp && /*#__PURE__*/ jsx("p", {
4513
+ className: "text-[11px] text-red-500 text-center font-bold tracking-tight",
4514
+ children: erroOtp
4515
+ }),
4516
+ /*#__PURE__*/ jsxs(motion.button, {
4517
+ whileHover: {
4518
+ scale: otpCompleto ? 1.01 : 1
4519
+ },
4520
+ whileTap: {
4521
+ scale: otpCompleto ? 0.99 : 1
4522
+ },
4523
+ type: "button",
4524
+ onClick: confirmarCodigo,
4525
+ disabled: !otpCompleto,
4526
+ className: " relative w-full rounded-xl bg-gradient-to-r from-blue-600 to-cyan-600 text-white py-3.5 text-sm font-bold flex items-center justify-center gap-2 transition-all shadow-lg shadow-blue-500/25 hover:shadow-blue-500/40 disabled:opacity-50 disabled:cursor-not-allowed disabled:grayscale-[0.5] overflow-hidden ",
4527
+ children: [
4528
+ /*#__PURE__*/ jsx(CircleCheck, {
4529
+ className: "w-4 h-4"
4530
+ }),
4531
+ /*#__PURE__*/ jsx("span", {
4532
+ children: "Confirmar C\xf3digo"
4533
+ })
4534
+ ]
4535
+ })
4536
+ ]
4537
+ })
4185
4538
  })
4186
4539
  ]
4187
4540
  });
@@ -4239,13 +4592,14 @@ const AuthAtivarDesativarAuthenticator = ()=>{
4239
4592
  if ("SUCCESS" == results.data.code) {
4240
4593
  otpEmailRef?.current?.reset();
4241
4594
  await buscar_authenticator();
4242
- } else throw new Error("Erro ao desativar");
4243
- } catch (error) {
4595
+ } else throw new Error();
4596
+ } catch {
4244
4597
  setErro("Falha ao desativar o authenticator!");
4598
+ } finally{
4599
+ setCarregando(false);
4245
4600
  }
4246
4601
  }
4247
4602
  async function handleConfirmarCodigoParaAtivarAuthenticator(codigo) {
4248
- if (!codigo || codigo.length < 6) return void setErro("A codigo deve ter pelo menos 6 caracteres");
4249
4603
  setCarregando(true);
4250
4604
  setErro("");
4251
4605
  try {
@@ -4267,15 +4621,15 @@ const AuthAtivarDesativarAuthenticator = ()=>{
4267
4621
  secret: output.data.authenticator.secret_key,
4268
4622
  otpAuthUrl: output.data.authenticator.otp_auth_url || ""
4269
4623
  });
4270
- else setErro("Não foi possível gerar o código do authenticator");
4271
- } catch (e) {
4624
+ else setErro("Não foi possível gerar o código");
4625
+ } catch {
4272
4626
  setErro("Erro ao verificar código!");
4273
4627
  } finally{
4274
4628
  setCarregando(false);
4275
4629
  }
4276
4630
  }
4277
4631
  async function handleAtivar() {
4278
- if (!codigoOtp) return void setErro("Digite o código OTP do app autenticador");
4632
+ if (!codigoOtp) return setErro("Digite o código OTP");
4279
4633
  setCarregando(true);
4280
4634
  setErro("");
4281
4635
  try {
@@ -4295,171 +4649,223 @@ const AuthAtivarDesativarAuthenticator = ()=>{
4295
4649
  if (resp?.status === 200) {
4296
4650
  otpEmailRef?.current?.reset();
4297
4651
  setAtivado(true);
4298
- } else setErro("Falha ao ativar o authenticator");
4652
+ await buscar_authenticator();
4653
+ } else setErro("Código inválido");
4299
4654
  } catch (e) {
4300
- setErro("Erro ao ativar: " + e.message);
4655
+ setErro("Erro ao ativar");
4301
4656
  } finally{
4302
- await buscar_authenticator();
4303
4657
  setCarregando(false);
4304
4658
  }
4305
4659
  }
4306
4660
  return /*#__PURE__*/ jsx("div", {
4307
- className: "w-full max-w-md mx-auto px-6 py-8 text-theme-text",
4308
- children: /*#__PURE__*/ jsxs("div", {
4309
- className: "space-y-8",
4310
- children: [
4311
- !authenticatorData?.secret && /*#__PURE__*/ jsxs("div", {
4312
- className: "text-center space-y-3",
4313
- children: [
4314
- /*#__PURE__*/ jsx("div", {
4315
- className: "mx-auto w-12 h-12 rounded-full bg-primary-950/40 flex items-center justify-center border border-theme-border",
4316
- children: /*#__PURE__*/ jsx(Shield, {
4317
- className: "w-6 h-6 text-primary-400"
4318
- })
4319
- }),
4320
- /*#__PURE__*/ jsx("h1", {
4321
- className: "text-lg font-semibold",
4322
- children: "Autentica\xe7\xe3o em Dois Fatores"
4323
- }),
4324
- /*#__PURE__*/ jsx("p", {
4325
- className: "text-sm text-basic-600",
4326
- children: "Proteja sua conta com uma camada extra de seguran\xe7a."
4327
- })
4328
- ]
4329
- }) || /*#__PURE__*/ jsx(Fragment, {}),
4330
- authenticator && !authenticatorData?.secret && /*#__PURE__*/ jsxs("div", {
4331
- className: "rounded-xl border border-theme-border bg-theme-card p-5 space-y-4",
4661
+ className: "w-full h-full bg-white dark:bg-slate-900/50",
4662
+ children: /*#__PURE__*/ jsx("div", {
4663
+ className: "w-full max-w-md mx-auto px-6 py-8 space-y-8 bg-white dark:bg-slate-900/50",
4664
+ children: /*#__PURE__*/ jsx(AnimatePresence, {
4665
+ mode: "wait",
4666
+ children: authenticatorData?.secret || ativado ? authenticatorData && !ativado ? /*#__PURE__*/ jsxs(motion.div, {
4667
+ initial: {
4668
+ opacity: 0,
4669
+ scale: 0.95
4670
+ },
4671
+ animate: {
4672
+ opacity: 1,
4673
+ scale: 1
4674
+ },
4675
+ className: "space-y-6",
4332
4676
  children: [
4333
4677
  /*#__PURE__*/ jsxs("div", {
4334
- className: "flex items-center justify-between text-sm",
4678
+ className: "text-center space-y-4",
4335
4679
  children: [
4336
- /*#__PURE__*/ jsx("span", {
4337
- className: "text-basic-600",
4338
- children: "Status"
4339
- }),
4340
- authenticator.data.autheticator.ativo ? /*#__PURE__*/ jsxs("span", {
4341
- className: "inline-flex items-center gap-1 text-success-500 font-medium",
4680
+ /*#__PURE__*/ jsxs("h3", {
4681
+ className: "text-lg font-black text-slate-900 dark:text-white flex items-center justify-center gap-2",
4342
4682
  children: [
4343
- /*#__PURE__*/ jsx(CircleCheck, {
4344
- className: "w-4 h-4"
4683
+ /*#__PURE__*/ jsx(QrCode, {
4684
+ className: "w-5 h-5 text-blue-500"
4345
4685
  }),
4346
- "Ativo"
4686
+ " Vincular Dispositivo"
4347
4687
  ]
4348
- }) : /*#__PURE__*/ jsxs("span", {
4349
- className: "inline-flex items-center gap-1 text-error-500 font-medium",
4688
+ }),
4689
+ /*#__PURE__*/ jsx("div", {
4690
+ className: "mx-auto p-4 bg-white rounded-3xl border-4 border-slate-100 dark:border-white/5 shadow-2xl inline-block",
4691
+ children: /*#__PURE__*/ jsx(QRCodeSVG, {
4692
+ value: authenticatorData?.otpAuthUrl,
4693
+ size: 180,
4694
+ level: "H",
4695
+ includeMargin: false
4696
+ })
4697
+ }),
4698
+ /*#__PURE__*/ jsxs("div", {
4699
+ className: "space-y-3",
4350
4700
  children: [
4351
- /*#__PURE__*/ jsx(ShieldOff, {
4352
- className: "w-4 h-4"
4701
+ /*#__PURE__*/ jsx("p", {
4702
+ className: "text-xs text-slate-500 dark:text-slate-400 px-4",
4703
+ children: "Escaneie o c\xf3digo acima ou insira a chave secreta manualmente no seu app."
4353
4704
  }),
4354
- "Inativo"
4705
+ /*#__PURE__*/ jsxs("div", {
4706
+ className: "flex items-center gap-2 max-w-[280px] mx-auto bg-slate-100 dark:bg-slate-950 p-1.5 rounded-xl border border-slate-200 dark:border-white/5",
4707
+ children: [
4708
+ /*#__PURE__*/ jsx("div", {
4709
+ className: "flex-1 px-3 py-1.5 font-mono text-[11px] truncate text-slate-600 dark:text-slate-300",
4710
+ children: authenticatorData?.secret
4711
+ }),
4712
+ /*#__PURE__*/ jsx("button", {
4713
+ onClick: handleCopiar,
4714
+ className: "p-2 rounded-lg bg-white dark:bg-slate-900 shadow-sm border border-slate-200 dark:border-white/10 hover:text-blue-500 transition-colors",
4715
+ children: copiado ? /*#__PURE__*/ jsx(CircleCheck, {
4716
+ className: "w-4 h-4 text-emerald-500"
4717
+ }) : /*#__PURE__*/ jsx(Copy, {
4718
+ className: "w-4 h-4"
4719
+ })
4720
+ })
4721
+ ]
4722
+ })
4355
4723
  ]
4356
4724
  })
4357
4725
  ]
4358
4726
  }),
4359
- authenticator.data.autheticator.ativo && /*#__PURE__*/ jsxs("p", {
4360
- className: "text-xs text-basic-600",
4727
+ /*#__PURE__*/ jsxs("div", {
4728
+ className: "space-y-4",
4361
4729
  children: [
4362
- "Criado em ",
4363
- src_utils.data.SET_SECONDS_TO_DD_MM_YYYY_HH_MM(authenticator.data.autheticator.data_criacao)
4730
+ /*#__PURE__*/ jsxs("div", {
4731
+ className: "relative group",
4732
+ children: [
4733
+ /*#__PURE__*/ jsx(Key, {
4734
+ className: "absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
4735
+ }),
4736
+ /*#__PURE__*/ jsx("input", {
4737
+ type: "text",
4738
+ value: codigoOtp,
4739
+ onChange: (e)=>setCodigoOtp(e.target.value),
4740
+ placeholder: "Digite o c\xf3digo de 6 d\xedgitos",
4741
+ className: "w-full pl-10 pr-4 py-3 bg-slate-50 dark:bg-slate-950 border border-slate-200 dark:border-white/10 rounded-xl text-sm outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 transition-all font-bold tracking-[0.2em] text-center"
4742
+ })
4743
+ ]
4744
+ }),
4745
+ /*#__PURE__*/ jsx("button", {
4746
+ onClick: handleAtivar,
4747
+ disabled: carregando || codigoOtp.length < 6,
4748
+ className: "w-full py-3.5 rounded-xl bg-gradient-to-r from-blue-600 to-cyan-600 text-white font-black text-sm shadow-lg shadow-blue-500/20 hover:shadow-blue-500/40 disabled:opacity-50 transition-all flex items-center justify-center gap-2",
4749
+ children: carregando ? /*#__PURE__*/ jsx(LoaderCircle, {
4750
+ className: "w-4 h-4 animate-spin"
4751
+ }) : "Ativar Agora"
4752
+ })
4364
4753
  ]
4365
- }) || /*#__PURE__*/ jsx(Fragment, {})
4754
+ })
4366
4755
  ]
4367
- }) || /*#__PURE__*/ jsx(Fragment, {}),
4368
- /*#__PURE__*/ jsx(Fragment, {
4369
- children: !authenticatorData?.secret && /*#__PURE__*/ jsx(Fragment, {
4370
- children: !authenticator?.data?.autheticator?.ativo && /*#__PURE__*/ jsx(EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail, {
4371
- ref: otpEmailRef,
4372
- erroExterno: erro,
4373
- title: "Enviar c\xf3digo para ativar authenticator",
4374
- email: usuario_auth?.data?.usuario?.email,
4375
- onConfirmarCodigo: handleConfirmarCodigoParaAtivarAuthenticator
4376
- }) || /*#__PURE__*/ jsx(EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail, {
4377
- ref: otpEmailRef,
4378
- erroExterno: erro,
4379
- color: "error",
4380
- title: "Enviar c\xf3digo para desativar authenticator",
4381
- email: usuario_auth?.data?.usuario?.email,
4382
- onConfirmarCodigo: desativarAuthenticator
4756
+ }, "step-2") : /*#__PURE__*/ jsxs(motion.div, {
4757
+ initial: {
4758
+ opacity: 0,
4759
+ scale: 0.9
4760
+ },
4761
+ animate: {
4762
+ opacity: 1,
4763
+ scale: 1
4764
+ },
4765
+ className: "py-10 text-center space-y-4",
4766
+ children: [
4767
+ /*#__PURE__*/ jsx("div", {
4768
+ className: "mx-auto w-20 h-20 rounded-full bg-emerald-500/10 flex items-center justify-center border border-emerald-500/20",
4769
+ children: /*#__PURE__*/ jsx(CircleCheck, {
4770
+ className: "w-10 h-10 text-emerald-500"
4771
+ })
4772
+ }),
4773
+ /*#__PURE__*/ jsxs("div", {
4774
+ className: "space-y-1",
4775
+ children: [
4776
+ /*#__PURE__*/ jsx("h3", {
4777
+ className: "text-xl font-black text-slate-900 dark:text-white",
4778
+ children: "Tudo pronto!"
4779
+ }),
4780
+ /*#__PURE__*/ jsx("p", {
4781
+ className: "text-sm text-slate-500 dark:text-slate-400 font-medium px-8",
4782
+ children: "Sua conta agora est\xe1 protegida com autentica\xe7\xe3o em duas etapas."
4783
+ })
4784
+ ]
4383
4785
  })
4384
- }) || /*#__PURE__*/ jsx(Fragment, {})
4385
- }),
4386
- authenticatorData && !ativado && /*#__PURE__*/ jsxs("div", {
4786
+ ]
4787
+ }, "success") : /*#__PURE__*/ jsxs(motion.div, {
4788
+ initial: {
4789
+ opacity: 0,
4790
+ y: 10
4791
+ },
4792
+ animate: {
4793
+ opacity: 1,
4794
+ y: 0
4795
+ },
4387
4796
  className: "space-y-6",
4388
4797
  children: [
4389
4798
  /*#__PURE__*/ jsxs("div", {
4390
- className: "text-center space-y-3",
4799
+ className: "text-center space-y-4",
4391
4800
  children: [
4392
4801
  /*#__PURE__*/ jsx("div", {
4393
- className: "mx-auto w-12 h-12 rounded-full bg-primary-950/40 flex items-center justify-center border border-theme-border",
4802
+ className: "mx-auto w-12 h-12 rounded-xl bg-slate-100 dark:bg-white/[0.03] flex items-center justify-center border border-slate-200 dark:border-white/10",
4394
4803
  children: /*#__PURE__*/ jsx(Shield, {
4395
- className: "w-6 h-6 text-primary-400"
4396
- })
4397
- }),
4398
- /*#__PURE__*/ jsx("h1", {
4399
- className: "text-lg font-semibold",
4400
- children: "Escaneie o QR Code no app autenticador"
4401
- }),
4402
- /*#__PURE__*/ jsx("div", {
4403
- className: "flex justify-center rounded-xl border border-theme-border bg-theme-bg p-4",
4404
- children: /*#__PURE__*/ jsx(QRCodeSVG, {
4405
- value: authenticatorData?.otpAuthUrl,
4406
- size: 180
4804
+ className: "w-6 h-6 text-slate-400 dark:text-slate-500"
4407
4805
  })
4408
4806
  }),
4409
- /*#__PURE__*/ jsx("p", {
4410
- className: "text-xs text-basic-600",
4411
- children: "Ou utilize o c\xf3digo manual"
4412
- }),
4413
4807
  /*#__PURE__*/ jsxs("div", {
4414
- className: "flex items-center justify-center gap-2",
4808
+ className: "space-y-1",
4415
4809
  children: [
4416
- /*#__PURE__*/ jsx("div", {
4417
- className: "rounded-lg px-3 py-2 font-mono text-xs max-w-[220px] overflow-x-auto border border-theme-border",
4418
- children: authenticatorData?.secret
4810
+ /*#__PURE__*/ jsx("h2", {
4811
+ className: "text-lg font-bold tracking-tight text-slate-800 dark:text-slate-200",
4812
+ children: "Autentica\xe7\xe3o de Seguran\xe7a"
4419
4813
  }),
4420
- /*#__PURE__*/ jsx("button", {
4421
- onClick: handleCopiar,
4422
- className: "rounded-lg bg-default-500 hover:bg-default-400 p-2 transition border border-theme-border",
4423
- children: /*#__PURE__*/ jsx(Copy, {
4424
- className: "w-4 h-4 text-basic-300"
4425
- })
4814
+ /*#__PURE__*/ jsx("p", {
4815
+ className: "text-xs text-slate-500 dark:text-slate-500 leading-relaxed max-w-[240px] mx-auto",
4816
+ children: "Proteja seu acesso utilizando um segundo fator de verifica\xe7\xe3o."
4426
4817
  })
4427
4818
  ]
4428
- }),
4429
- copiado && /*#__PURE__*/ jsx("span", {
4430
- className: "text-xs text-primary-400",
4431
- children: "C\xf3digo copiado com sucesso"
4432
4819
  })
4433
4820
  ]
4434
4821
  }),
4435
- /*#__PURE__*/ jsx("input", {
4436
- type: "text",
4437
- value: codigoOtp,
4438
- onChange: (e)=>setCodigoOtp(e.target.value),
4439
- placeholder: "C\xf3digo do app autenticador",
4440
- className: "w-full rounded-lg border border-theme-border bg-theme-bg px-4 py-2.5 text-sm focus:ring-2 focus:ring-primary-600 outline-none"
4441
- }),
4442
- /*#__PURE__*/ jsx("button", {
4443
- onClick: handleAtivar,
4444
- disabled: carregando,
4445
- className: "w-full rounded-lg bg-primary-600 hover:bg-primary-500 text-white text-sm font-medium py-2.5 transition disabled:opacity-60",
4446
- children: carregando ? "Ativando..." : "Ativar autenticação"
4447
- })
4448
- ]
4449
- }),
4450
- ativado && /*#__PURE__*/ jsxs("div", {
4451
- className: "text-center space-y-2",
4452
- children: [
4453
- /*#__PURE__*/ jsx(CircleCheck, {
4454
- className: "w-10 h-10 text-primary-400 mx-auto"
4822
+ authenticator && /*#__PURE__*/ jsxs("div", {
4823
+ className: "rounded-2xl border border-slate-200 dark:border-white/10 bg-slate-50 dark:bg-slate-950/50 p-4 space-y-3",
4824
+ children: [
4825
+ /*#__PURE__*/ jsxs("div", {
4826
+ className: "flex items-center justify-between",
4827
+ children: [
4828
+ /*#__PURE__*/ jsx("span", {
4829
+ className: "text-xs font-bold uppercase tracking-wider text-slate-400",
4830
+ children: "Status Atual"
4831
+ }),
4832
+ authenticator.data.autheticator.ativo ? /*#__PURE__*/ jsxs("span", {
4833
+ className: "px-2.5 py-1 rounded-full text-[10px] font-black bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 flex items-center gap-1.5 uppercase",
4834
+ children: [
4835
+ /*#__PURE__*/ jsx("div", {
4836
+ className: "w-1.5 h-1.5 rounded-full bg-emerald-500 animate-pulse"
4837
+ }),
4838
+ " Ativo"
4839
+ ]
4840
+ }) : /*#__PURE__*/ jsx("span", {
4841
+ className: "px-2.5 py-1 rounded-full text-[10px] font-black bg-slate-500/10 text-slate-400 border border-slate-500/20 uppercase",
4842
+ children: "Inativo"
4843
+ })
4844
+ ]
4845
+ }),
4846
+ authenticator.data.autheticator.ativo && /*#__PURE__*/ jsxs("p", {
4847
+ className: "text-[10px] text-slate-500 font-medium",
4848
+ children: [
4849
+ "Ativado em: ",
4850
+ src_utils.data.SET_SECONDS_TO_DD_MM_YYYY_HH_MM(authenticator.data.autheticator.data_criacao)
4851
+ ]
4852
+ })
4853
+ ]
4455
4854
  }),
4456
- /*#__PURE__*/ jsx("p", {
4457
- className: "text-sm font-medium ",
4458
- children: "Autentica\xe7\xe3o ativada com sucesso"
4855
+ /*#__PURE__*/ jsx("div", {
4856
+ className: "pt-2",
4857
+ children: /*#__PURE__*/ jsx(EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail, {
4858
+ ref: otpEmailRef,
4859
+ erroExterno: erro,
4860
+ title: authenticator?.data?.autheticator?.ativo ? "Desativar Proteção" : "Enviar código para o e-mail",
4861
+ email: usuario_auth?.data?.usuario?.email,
4862
+ color: authenticator?.data?.autheticator?.ativo ? "error" : "primary",
4863
+ onConfirmarCodigo: authenticator?.data?.autheticator?.ativo ? desativarAuthenticator : handleConfirmarCodigoParaAtivarAuthenticator
4864
+ })
4459
4865
  })
4460
4866
  ]
4461
- })
4462
- ]
4867
+ }, "step-1")
4868
+ })
4463
4869
  })
4464
4870
  });
4465
4871
  };
@@ -4527,6 +4933,31 @@ function AuthAtivarDesativarAuthenticatorButton() {
4527
4933
  ]
4528
4934
  ];
4529
4935
  const Lock = createLucideIcon("lock", lock_iconNode);
4936
+ /**
4937
+ * @license lucide-react v0.544.0 - ISC
4938
+ *
4939
+ * This source code is licensed under the ISC license.
4940
+ * See the LICENSE file in the root directory of this source tree.
4941
+ */ const key_round_iconNode = [
4942
+ [
4943
+ "path",
4944
+ {
4945
+ d: "M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",
4946
+ key: "1s6t7t"
4947
+ }
4948
+ ],
4949
+ [
4950
+ "circle",
4951
+ {
4952
+ cx: "16.5",
4953
+ cy: "7.5",
4954
+ r: ".5",
4955
+ fill: "currentColor",
4956
+ key: "w0ekpg"
4957
+ }
4958
+ ]
4959
+ ];
4960
+ const KeyRound = createLucideIcon("key-round", key_round_iconNode);
4530
4961
  const contexto_codigo_otp_store = external_zustand_create()(immer((set)=>({
4531
4962
  states: {
4532
4963
  recuperar_senha_pelo_app_com_codigo_otp: {
@@ -4574,12 +5005,10 @@ const RecuperarSenhaComCodigoOtp = ()=>{
4574
5005
  const usuario_auth = contexto_contexto_usuario.contexto.jsx.get_user();
4575
5006
  const otpEmailRef = useRef(null);
4576
5007
  const [etapa, setEtapa] = useState(1);
4577
- const [codigoOtp, setCodigoOtp] = useState("");
4578
5008
  const [novaSenha, setNovaSenha] = useState("");
4579
5009
  const [confirmacaoSenha, setConfirmacaoSenha] = useState("");
4580
5010
  const [erro, setErro] = useState("");
4581
5011
  const [sucesso, setSucesso] = useState(false);
4582
- contexto_contexto_codigo_otp.get_jsx.recuperar_senha_pelo_app_com_codigo_otp.loading;
4583
5012
  function avancarParaOtp() {
4584
5013
  if (!novaSenha || novaSenha.length < 8) return void setErro("A senha deve ter no mínimo 8 caracteres");
4585
5014
  if (novaSenha !== confirmacaoSenha) return void setErro("As senhas não coincidem");
@@ -4588,7 +5017,6 @@ const RecuperarSenhaComCodigoOtp = ()=>{
4588
5017
  }
4589
5018
  async function confirmarCodigo(codigo) {
4590
5019
  if (!codigo || 6 !== codigo.length) return void setErro("Código OTP inválido");
4591
- setCodigoOtp(codigo);
4592
5020
  setErro("");
4593
5021
  const data = {
4594
5022
  data: {
@@ -4604,87 +5032,157 @@ const RecuperarSenhaComCodigoOtp = ()=>{
4604
5032
  setSucesso(true);
4605
5033
  } else setErro("Falha ao redefinir a senha");
4606
5034
  }
4607
- if (sucesso) return /*#__PURE__*/ jsxs("div", {
4608
- className: "w-full max-w-md mx-auto px-6 py-10 text-center space-y-3 text-theme-text",
5035
+ if (sucesso) return /*#__PURE__*/ jsxs(motion.div, {
5036
+ initial: {
5037
+ opacity: 0,
5038
+ scale: 0.95
5039
+ },
5040
+ animate: {
5041
+ opacity: 1,
5042
+ scale: 1
5043
+ },
5044
+ className: "w-full max-w-md mx-auto px-6 py-12 text-center flex flex-col items-center gap-4",
4609
5045
  children: [
4610
- /*#__PURE__*/ jsx(CircleCheck, {
4611
- className: "w-10 h-10 text-primary-400 mx-auto"
4612
- }),
4613
- /*#__PURE__*/ jsx("p", {
4614
- className: "text-sm font-medium",
4615
- children: "Senha alterada com sucesso"
5046
+ /*#__PURE__*/ jsx("div", {
5047
+ className: "w-16 h-16 rounded-full bg-green-500/10 flex items-center justify-center border border-green-500/20",
5048
+ children: /*#__PURE__*/ jsx(CircleCheck, {
5049
+ className: "w-8 h-8 text-green-500"
5050
+ })
4616
5051
  }),
4617
- /*#__PURE__*/ jsx("p", {
4618
- className: "text-xs text-basic-600",
4619
- children: "Voc\xea j\xe1 pode acessar sua conta com a nova senha"
4620
- })
4621
- ]
4622
- });
4623
- return /*#__PURE__*/ jsxs("div", {
4624
- className: "w-full max-w-md mx-auto px-6 py-8 text-theme-text space-y-8",
4625
- children: [
4626
5052
  /*#__PURE__*/ jsxs("div", {
4627
- className: "text-center space-y-3",
5053
+ className: "space-y-1",
4628
5054
  children: [
4629
- /*#__PURE__*/ jsx("div", {
4630
- className: "mx-auto w-12 h-12 rounded-full bg-primary-950/40 flex items-center justify-center border border-theme-border",
4631
- children: /*#__PURE__*/ jsx(Lock, {
4632
- className: "w-6 h-6 text-primary-400"
4633
- })
4634
- }),
4635
- /*#__PURE__*/ jsx("h1", {
4636
- className: "text-lg font-semibold",
4637
- children: 1 === etapa ? "Definir nova senha" : "Confirmar código"
5055
+ /*#__PURE__*/ jsx("h3", {
5056
+ className: "text-xl font-black text-slate-900 dark:text-white",
5057
+ children: "Senha alterada!"
4638
5058
  }),
4639
5059
  /*#__PURE__*/ jsx("p", {
4640
- className: "text-sm text-basic-600",
4641
- children: 1 === etapa ? "Digite sua nova senha para continuar" : "Enviamos um código para confirmar a alteração"
4642
- })
4643
- ]
4644
- }),
4645
- 1 === etapa && /*#__PURE__*/ jsxs(Fragment, {
4646
- children: [
4647
- /*#__PURE__*/ jsxs("div", {
4648
- className: "space-y-3",
4649
- children: [
4650
- /*#__PURE__*/ jsx("input", {
4651
- type: "password",
4652
- placeholder: "Nova senha",
4653
- value: novaSenha,
4654
- onChange: (e)=>setNovaSenha(e.target.value),
4655
- className: "w-full rounded-lg border border-theme-border bg-theme-bg px-4 py-2.5 text-sm focus:ring-2 focus:ring-primary-600 outline-none"
4656
- }),
4657
- /*#__PURE__*/ jsx("input", {
4658
- type: "password",
4659
- placeholder: "Confirmar nova senha",
4660
- value: confirmacaoSenha,
4661
- onChange: (e)=>setConfirmacaoSenha(e.target.value),
4662
- className: "w-full rounded-lg border border-theme-border bg-theme-bg px-4 py-2.5 text-sm focus:ring-2 focus:ring-primary-600 outline-none"
4663
- })
4664
- ]
4665
- }),
4666
- erro && /*#__PURE__*/ jsx("p", {
4667
- className: "text-xs text-error-500",
4668
- children: erro
4669
- }),
4670
- /*#__PURE__*/ jsx("button", {
4671
- onClick: avancarParaOtp,
4672
- className: "w-full rounded-lg bg-primary-600 hover:bg-primary-500 text-white text-sm font-medium py-2.5 transition",
4673
- children: "Alterar senha"
5060
+ className: "text-sm text-slate-500 dark:text-slate-400 font-medium",
5061
+ children: "Voc\xea j\xe1 pode acessar sua conta com a nova senha."
4674
5062
  })
4675
5063
  ]
4676
- }),
4677
- 2 === etapa && /*#__PURE__*/ jsx(Fragment, {
4678
- children: /*#__PURE__*/ jsx(EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail, {
4679
- ref: otpEmailRef,
4680
- email: usuario_auth?.data?.usuario?.email,
4681
- erroExterno: erro,
4682
- title: "Enviar c\xf3digo de confirma\xe7\xe3o",
4683
- onConfirmarCodigo: confirmarCodigo
4684
- })
4685
5064
  })
4686
5065
  ]
4687
5066
  });
5067
+ return /*#__PURE__*/ jsx("div", {
5068
+ className: "w-full h-full bg-white dark:bg-slate-900/50",
5069
+ children: /*#__PURE__*/ jsxs("div", {
5070
+ className: "w-full max-w-md mx-auto px-6 py-8 space-y-8",
5071
+ children: [
5072
+ /*#__PURE__*/ jsxs("div", {
5073
+ className: "text-center space-y-4",
5074
+ children: [
5075
+ /*#__PURE__*/ jsx("div", {
5076
+ className: "mx-auto w-12 h-12 rounded-xl bg-slate-100 dark:bg-white/[0.03] flex items-center justify-center border border-slate-200 dark:border-white/10",
5077
+ children: /*#__PURE__*/ jsx(Lock, {
5078
+ className: "w-5 h-5 text-slate-400 dark:text-slate-500"
5079
+ })
5080
+ }),
5081
+ /*#__PURE__*/ jsxs("div", {
5082
+ className: "space-y-1",
5083
+ children: [
5084
+ /*#__PURE__*/ jsx("h2", {
5085
+ className: "text-lg font-bold tracking-tight text-slate-800 dark:text-slate-200",
5086
+ children: 1 === etapa ? "Definir nova senha" : "Confirmar código"
5087
+ }),
5088
+ /*#__PURE__*/ jsx("p", {
5089
+ className: "text-xs text-slate-500 dark:text-slate-500 leading-relaxed max-w-[220px] mx-auto font-medium",
5090
+ children: 1 === etapa ? "Escolha uma senha forte para garantir a segurança da sua conta." : "Insira o código enviado para validar a sua identidade."
5091
+ })
5092
+ ]
5093
+ })
5094
+ ]
5095
+ }),
5096
+ 1 === etapa && /*#__PURE__*/ jsxs(motion.div, {
5097
+ initial: {
5098
+ opacity: 0,
5099
+ x: -10
5100
+ },
5101
+ animate: {
5102
+ opacity: 1,
5103
+ x: 0
5104
+ },
5105
+ className: "space-y-5",
5106
+ children: [
5107
+ /*#__PURE__*/ jsxs("div", {
5108
+ className: "space-y-3",
5109
+ children: [
5110
+ /*#__PURE__*/ jsxs("div", {
5111
+ className: "relative group",
5112
+ children: [
5113
+ /*#__PURE__*/ jsx(KeyRound, {
5114
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
5115
+ }),
5116
+ /*#__PURE__*/ jsx("input", {
5117
+ type: "password",
5118
+ placeholder: "Nova senha",
5119
+ value: novaSenha,
5120
+ onChange: (e)=>setNovaSenha(e.target.value),
5121
+ className: "w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-slate-200 bg-slate-50 text-slate-900 placeholder:text-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 dark:border-white/10 dark:bg-slate-950 dark:text-slate-100 transition-all"
5122
+ })
5123
+ ]
5124
+ }),
5125
+ /*#__PURE__*/ jsxs("div", {
5126
+ className: "relative group",
5127
+ children: [
5128
+ /*#__PURE__*/ jsx(Lock, {
5129
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
5130
+ }),
5131
+ /*#__PURE__*/ jsx("input", {
5132
+ type: "password",
5133
+ placeholder: "Confirmar nova senha",
5134
+ value: confirmacaoSenha,
5135
+ onChange: (e)=>setConfirmacaoSenha(e.target.value),
5136
+ className: "w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-slate-200 bg-slate-50 text-slate-900 placeholder:text-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 dark:border-white/10 dark:bg-slate-950 dark:text-slate-100 transition-all"
5137
+ })
5138
+ ]
5139
+ })
5140
+ ]
5141
+ }),
5142
+ erro && /*#__PURE__*/ jsx("p", {
5143
+ className: "text-xs text-red-500 font-semibold",
5144
+ children: erro
5145
+ }),
5146
+ /*#__PURE__*/ jsxs(motion.button, {
5147
+ whileHover: {
5148
+ scale: 1.01
5149
+ },
5150
+ whileTap: {
5151
+ scale: 0.99
5152
+ },
5153
+ onClick: avancarParaOtp,
5154
+ className: "w-full inline-flex items-center justify-center gap-2 rounded-xl bg-gradient-to-r from-blue-600 to-cyan-600 py-3.5 text-sm font-bold text-white shadow-lg shadow-blue-500/25 transition-all hover:shadow-blue-500/40",
5155
+ children: [
5156
+ /*#__PURE__*/ jsx("span", {
5157
+ children: "Pr\xf3ximo passo"
5158
+ }),
5159
+ /*#__PURE__*/ jsx(ChevronRight, {
5160
+ className: "h-4 w-4"
5161
+ })
5162
+ ]
5163
+ })
5164
+ ]
5165
+ }),
5166
+ 2 === etapa && /*#__PURE__*/ jsx(motion.div, {
5167
+ initial: {
5168
+ opacity: 0,
5169
+ x: 10
5170
+ },
5171
+ animate: {
5172
+ opacity: 1,
5173
+ x: 0
5174
+ },
5175
+ children: /*#__PURE__*/ jsx(EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail, {
5176
+ ref: otpEmailRef,
5177
+ email: usuario_auth?.data?.usuario?.email,
5178
+ erroExterno: erro,
5179
+ title: "Confirmar altera\xe7\xe3o",
5180
+ onConfirmarCodigo: confirmarCodigo
5181
+ })
5182
+ })
5183
+ ]
5184
+ })
5185
+ });
4688
5186
  };
4689
5187
  function RecuperarSenhaComCodigoOtpButton() {
4690
5188
  const drawerRef = useRef(null);
@@ -4720,8 +5218,95 @@ function RecuperarSenhaComCodigoOtpButton() {
4720
5218
  ]
4721
5219
  });
4722
5220
  }
5221
+ /**
5222
+ * @license lucide-react v0.544.0 - ISC
5223
+ *
5224
+ * This source code is licensed under the ISC license.
5225
+ * See the LICENSE file in the root directory of this source tree.
5226
+ */ const sparkles_iconNode = [
5227
+ [
5228
+ "path",
5229
+ {
5230
+ d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
5231
+ key: "1s2grr"
5232
+ }
5233
+ ],
5234
+ [
5235
+ "path",
5236
+ {
5237
+ d: "M20 2v4",
5238
+ key: "1rf3ol"
5239
+ }
5240
+ ],
5241
+ [
5242
+ "path",
5243
+ {
5244
+ d: "M22 4h-4",
5245
+ key: "gwowj6"
5246
+ }
5247
+ ],
5248
+ [
5249
+ "circle",
5250
+ {
5251
+ cx: "4",
5252
+ cy: "20",
5253
+ r: "2",
5254
+ key: "6kqj1y"
5255
+ }
5256
+ ]
5257
+ ];
5258
+ const Sparkles = createLucideIcon("sparkles", sparkles_iconNode);
5259
+ /**
5260
+ * @license lucide-react v0.544.0 - ISC
5261
+ *
5262
+ * This source code is licensed under the ISC license.
5263
+ * See the LICENSE file in the root directory of this source tree.
5264
+ */ const mail_iconNode = [
5265
+ [
5266
+ "path",
5267
+ {
5268
+ d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",
5269
+ key: "132q7q"
5270
+ }
5271
+ ],
5272
+ [
5273
+ "rect",
5274
+ {
5275
+ x: "2",
5276
+ y: "4",
5277
+ width: "20",
5278
+ height: "16",
5279
+ rx: "2",
5280
+ key: "izxlao"
5281
+ }
5282
+ ]
5283
+ ];
5284
+ const Mail = createLucideIcon("mail", mail_iconNode);
5285
+ /**
5286
+ * @license lucide-react v0.544.0 - ISC
5287
+ *
5288
+ * This source code is licensed under the ISC license.
5289
+ * See the LICENSE file in the root directory of this source tree.
5290
+ */ const arrow_left_iconNode = [
5291
+ [
5292
+ "path",
5293
+ {
5294
+ d: "m12 19-7-7 7-7",
5295
+ key: "1l729n"
5296
+ }
5297
+ ],
5298
+ [
5299
+ "path",
5300
+ {
5301
+ d: "M19 12H5",
5302
+ key: "x3x0zl"
5303
+ }
5304
+ ]
5305
+ ];
5306
+ const ArrowLeft = createLucideIcon("arrow-left", arrow_left_iconNode);
4723
5307
  function EsqueciMinhaSenha({ email: emailProp }) {
4724
5308
  const location = useLocation();
5309
+ const navigate = useNavigate();
4725
5310
  const [search] = useSearchParams();
4726
5311
  const emailDaNavegacao = location.state?.email;
4727
5312
  const emailDaQuery = search.get("email") ?? void 0;
@@ -4770,67 +5355,137 @@ function EsqueciMinhaSenha({ email: emailProp }) {
4770
5355
  setErroOtp("Erro ao verificar código otp!");
4771
5356
  }
4772
5357
  }
4773
- return /*#__PURE__*/ jsx("div", {
4774
- className: "flex min-h-screen p-4 items-center justify-center bg-basic-50 dark:bg-basic-950",
4775
- children: /*#__PURE__*/ jsx("div", {
4776
- className: "w-full max-w-md",
4777
- children: /*#__PURE__*/ jsxs("div", {
4778
- className: "bg-white dark:bg-basic-900 border border-default-200 dark:border-default-700 rounded-xl p-6 shadow-sm",
5358
+ return /*#__PURE__*/ jsxs("div", {
5359
+ className: "flex min-h-dvh items-center justify-center p-4 relative overflow-hidden bg-slate-50 text-slate-900 dark:bg-[#020617] dark:text-slate-100",
5360
+ children: [
5361
+ /*#__PURE__*/ jsx("div", {
5362
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_top_right,_var(--tw-gradient-stops))] from-blue-600/10 via-transparent to-transparent"
5363
+ }),
5364
+ /*#__PURE__*/ jsx("div", {
5365
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_bottom_left,_var(--tw-gradient-stops))] from-cyan-600/10 via-transparent to-transparent"
5366
+ }),
5367
+ /*#__PURE__*/ jsxs(motion.div, {
5368
+ initial: {
5369
+ opacity: 0,
5370
+ y: 20
5371
+ },
5372
+ animate: {
5373
+ opacity: 1,
5374
+ y: 0
5375
+ },
5376
+ transition: {
5377
+ duration: 0.5
5378
+ },
5379
+ className: "w-full max-w-md flex flex-col gap-6 relative z-10",
4779
5380
  children: [
5381
+ /*#__PURE__*/ jsx("div", {
5382
+ className: "flex justify-center",
5383
+ children: /*#__PURE__*/ jsxs("div", {
5384
+ className: "inline-flex items-center gap-2 rounded-full px-4 py-2 backdrop-blur-md border border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400",
5385
+ children: [
5386
+ /*#__PURE__*/ jsx(motion.div, {
5387
+ animate: {
5388
+ rotate: 360
5389
+ },
5390
+ transition: {
5391
+ duration: 3,
5392
+ repeat: 1 / 0,
5393
+ ease: "linear"
5394
+ },
5395
+ children: /*#__PURE__*/ jsx(Sparkles, {
5396
+ className: "h-4 w-4"
5397
+ })
5398
+ }),
5399
+ /*#__PURE__*/ jsx("span", {
5400
+ className: "text-sm font-bold tracking-wide",
5401
+ children: "AuthFlow"
5402
+ })
5403
+ ]
5404
+ })
5405
+ }),
4780
5406
  /*#__PURE__*/ jsxs("div", {
4781
- className: "text-center mb-6",
5407
+ className: "text-center",
4782
5408
  children: [
4783
- /*#__PURE__*/ jsx("h1", {
4784
- className: "text-2xl font-semibold text-basic-900 dark:text-basic-100",
4785
- children: "Esqueci minha senha"
4786
- }),
4787
- /*#__PURE__*/ jsx("p", {
4788
- className: "text-sm text-basic-600 dark:text-basic-400",
4789
- children: "Digite o e-mail da conta para entrar sem senha!"
5409
+ /*#__PURE__*/ jsx("h2", {
5410
+ className: "text-3xl font-black tracking-tight bg-gradient-to-r from-blue-400 via-blue-500 to-cyan-400 bg-clip-text text-transparent",
5411
+ children: "Recuperar Acesso"
4790
5412
  }),
4791
5413
  /*#__PURE__*/ jsx("p", {
4792
- className: "text-xs text-default-500 dark:text-default-400",
4793
- children: "Enviaremos um c\xf3digo de confirma\xe7\xe3o."
5414
+ className: "text-sm mt-2 text-slate-500 dark:text-slate-400 font-medium px-6",
5415
+ children: "Digite seu e-mail para receber um c\xf3digo de entrada sem senha."
4794
5416
  })
4795
5417
  ]
4796
5418
  }),
4797
- /*#__PURE__*/ jsx("label", {
4798
- className: "text-sm font-medium text-basic-700 dark:text-basic-300 mb-1 block",
4799
- children: "E-mail"
4800
- }),
4801
- /*#__PURE__*/ jsx("input", {
4802
- ref: inputRef,
4803
- type: "email",
4804
- placeholder: "seu@email.com",
4805
- value: emailBloqueado ? emailDosParametros : emailInput,
4806
- onChange: (e)=>{
4807
- if (emailBloqueado) return;
4808
- setEmailInput(e.target.value);
4809
- if (erroEmail && emailValido(e.target.value)) setErroEmail(null);
4810
- },
4811
- onBlur: ()=>!emailBloqueado && validarEmailAtual(),
4812
- autoComplete: "email",
4813
- className: `w-full px-4 py-2 rounded-lg border text-sm outline-none transition-all
4814
- bg-white dark:bg-basic-800
4815
- text-basic-900 dark:text-basic-100
4816
- placeholder:text-basic-400 dark:placeholder:text-basic-500
4817
- ${erroEmail ? "border-error-500 focus:ring-2 ring-error-300 dark:ring-error-600" : "border-default-300 dark:border-default-600 focus:border-primary-500 focus:ring-2 ring-primary-300 dark:ring-primary-600"}`
4818
- }),
4819
- erroEmail && /*#__PURE__*/ jsx("p", {
4820
- className: "text-xs text-error-600 dark:text-error-400 mt-1",
4821
- children: erroEmail
5419
+ /*#__PURE__*/ jsxs("div", {
5420
+ className: " relative rounded-2xl p-7 flex flex-col gap-6 transition-all duration-300 bg-white border border-slate-200 shadow-[0_20px_50px_rgba(0,0,0,0.04)] dark:bg-slate-900/90 dark:backdrop-blur-2xl dark:border-white/[0.1] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.05),_0_30px_60px_rgba(0,0,0,0.4)] ",
5421
+ children: [
5422
+ /*#__PURE__*/ jsxs("div", {
5423
+ className: "flex flex-col gap-1.5",
5424
+ children: [
5425
+ /*#__PURE__*/ jsx("label", {
5426
+ htmlFor: "email",
5427
+ className: "text-sm font-bold text-slate-700 dark:text-slate-200",
5428
+ children: "E-mail de Cadastro"
5429
+ }),
5430
+ /*#__PURE__*/ jsxs("div", {
5431
+ className: "relative group",
5432
+ children: [
5433
+ /*#__PURE__*/ jsx(Mail, {
5434
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
5435
+ }),
5436
+ /*#__PURE__*/ jsx("input", {
5437
+ ref: inputRef,
5438
+ id: "email",
5439
+ type: "email",
5440
+ placeholder: "seu@email.com",
5441
+ value: emailBloqueado ? emailDosParametros : emailInput,
5442
+ disabled: emailBloqueado,
5443
+ onChange: (e)=>{
5444
+ if (emailBloqueado) return;
5445
+ setEmailInput(e.target.value);
5446
+ if (erroEmail && emailValido(e.target.value)) setErroEmail(null);
5447
+ },
5448
+ onBlur: ()=>!emailBloqueado && validarEmailAtual(),
5449
+ autoComplete: "email",
5450
+ className: `w-full rounded-xl pl-10 pr-4 py-3 text-sm border bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-100 placeholder:text-slate-400 transition-all outline-none
5451
+ ${erroEmail ? "border-red-500 ring-2 ring-red-500/10 focus:border-red-500" : "border-slate-200 dark:border-white/10 focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500"} ${emailBloqueado ? "opacity-70 cursor-not-allowed border-blue-500/30 bg-blue-500/5" : ""}`
5452
+ })
5453
+ ]
5454
+ }),
5455
+ erroEmail && /*#__PURE__*/ jsx("p", {
5456
+ className: "text-xs text-red-500 font-semibold",
5457
+ children: erroEmail
5458
+ })
5459
+ ]
5460
+ }),
5461
+ /*#__PURE__*/ jsx("div", {
5462
+ className: "mt-2",
5463
+ children: /*#__PURE__*/ jsx(EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail, {
5464
+ email: emailEfetivo,
5465
+ onConfirmarCodigo: confirmarCodigo,
5466
+ erroExterno: erroOtp,
5467
+ title: "Enviar C\xf3digo de Acesso"
5468
+ })
5469
+ }),
5470
+ /*#__PURE__*/ jsxs("button", {
5471
+ onClick: ()=>navigate(-1),
5472
+ className: "flex items-center justify-center gap-2 text-sm font-bold text-slate-500 hover:text-blue-600 dark:text-slate-400 dark:hover:text-blue-400 transition-colors mt-2",
5473
+ children: [
5474
+ /*#__PURE__*/ jsx(ArrowLeft, {
5475
+ className: "h-4 w-4"
5476
+ }),
5477
+ "Voltar para o Login"
5478
+ ]
5479
+ })
5480
+ ]
4822
5481
  }),
4823
- /*#__PURE__*/ jsx("div", {
4824
- className: "mt-5",
4825
- children: /*#__PURE__*/ jsx(EnviarCodigoOtpParaEmail_EnviarCodigoOtpEmail, {
4826
- email: emailEfetivo,
4827
- onConfirmarCodigo: confirmarCodigo,
4828
- erroExterno: erroOtp
4829
- })
5482
+ /*#__PURE__*/ jsx("p", {
5483
+ className: "text-center text-xs text-slate-400 dark:text-slate-500 px-8",
5484
+ children: "Se voc\xea n\xe3o receber o e-mail em alguns minutos, verifique sua caixa de spam."
4830
5485
  })
4831
5486
  ]
4832
5487
  })
4833
- })
5488
+ ]
4834
5489
  });
4835
5490
  }
4836
5491
  function AuthGoogle({ mode }) {
@@ -6442,118 +7097,39 @@ function zod_a(o, a, u) {
6442
7097
  }(r)) return {
6443
7098
  values: {},
6444
7099
  errors: resolvers_s(zod_s(r.errors, !c.shouldUseNativeValidation && "all" === c.criteriaMode), c)
6445
- };
6446
- throw r;
6447
- }));
6448
- } catch (r) {
6449
- return Promise.reject(r);
6450
- }
6451
- };
6452
- if (function(r) {
6453
- return "_zod" in r && "object" == typeof r._zod;
6454
- }(o)) return function(s, c, f) {
6455
- try {
6456
- return Promise.resolve(zod_t(function() {
6457
- return Promise.resolve(("sync" === u.mode ? parse : parseAsync)(o, s, a)).then(function(e) {
6458
- return f.shouldUseNativeValidation && resolvers_o({}, f), {
6459
- errors: {},
6460
- values: u.raw ? Object.assign({}, s) : e
6461
- };
6462
- });
6463
- }, function(r) {
6464
- if (function(r) {
6465
- return r instanceof $ZodError;
6466
- }(r)) return {
6467
- values: {},
6468
- errors: resolvers_s(zod_i(r.issues, !f.shouldUseNativeValidation && "all" === f.criteriaMode), f)
6469
- };
6470
- throw r;
6471
- }));
6472
- } catch (r) {
6473
- return Promise.reject(r);
6474
- }
6475
- };
6476
- throw new Error("Invalid input: not a Zod schema");
6477
- }
6478
- /**
6479
- * @license lucide-react v0.544.0 - ISC
6480
- *
6481
- * This source code is licensed under the ISC license.
6482
- * See the LICENSE file in the root directory of this source tree.
6483
- */ const sparkles_iconNode = [
6484
- [
6485
- "path",
6486
- {
6487
- d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
6488
- key: "1s2grr"
6489
- }
6490
- ],
6491
- [
6492
- "path",
6493
- {
6494
- d: "M20 2v4",
6495
- key: "1rf3ol"
6496
- }
6497
- ],
6498
- [
6499
- "path",
6500
- {
6501
- d: "M22 4h-4",
6502
- key: "gwowj6"
6503
- }
6504
- ],
6505
- [
6506
- "circle",
6507
- {
6508
- cx: "4",
6509
- cy: "20",
6510
- r: "2",
6511
- key: "6kqj1y"
6512
- }
6513
- ]
6514
- ];
6515
- const Sparkles = createLucideIcon("sparkles", sparkles_iconNode);
6516
- /**
6517
- * @license lucide-react v0.544.0 - ISC
6518
- *
6519
- * This source code is licensed under the ISC license.
6520
- * See the LICENSE file in the root directory of this source tree.
6521
- */ const mail_iconNode = [
6522
- [
6523
- "path",
6524
- {
6525
- d: "m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",
6526
- key: "132q7q"
6527
- }
6528
- ],
6529
- [
6530
- "rect",
6531
- {
6532
- x: "2",
6533
- y: "4",
6534
- width: "20",
6535
- height: "16",
6536
- rx: "2",
6537
- key: "izxlao"
7100
+ };
7101
+ throw r;
7102
+ }));
7103
+ } catch (r) {
7104
+ return Promise.reject(r);
6538
7105
  }
6539
- ]
6540
- ];
6541
- const Mail = createLucideIcon("mail", mail_iconNode);
6542
- /**
6543
- * @license lucide-react v0.544.0 - ISC
6544
- *
6545
- * This source code is licensed under the ISC license.
6546
- * See the LICENSE file in the root directory of this source tree.
6547
- */ const loader_circle_iconNode = [
6548
- [
6549
- "path",
6550
- {
6551
- d: "M21 12a9 9 0 1 1-6.219-8.56",
6552
- key: "13zald"
7106
+ };
7107
+ if (function(r) {
7108
+ return "_zod" in r && "object" == typeof r._zod;
7109
+ }(o)) return function(s, c, f) {
7110
+ try {
7111
+ return Promise.resolve(zod_t(function() {
7112
+ return Promise.resolve(("sync" === u.mode ? parse : parseAsync)(o, s, a)).then(function(e) {
7113
+ return f.shouldUseNativeValidation && resolvers_o({}, f), {
7114
+ errors: {},
7115
+ values: u.raw ? Object.assign({}, s) : e
7116
+ };
7117
+ });
7118
+ }, function(r) {
7119
+ if (function(r) {
7120
+ return r instanceof $ZodError;
7121
+ }(r)) return {
7122
+ values: {},
7123
+ errors: resolvers_s(zod_i(r.issues, !f.shouldUseNativeValidation && "all" === f.criteriaMode), f)
7124
+ };
7125
+ throw r;
7126
+ }));
7127
+ } catch (r) {
7128
+ return Promise.reject(r);
6553
7129
  }
6554
- ]
6555
- ];
6556
- const LoaderCircle = createLucideIcon("loader-circle", loader_circle_iconNode);
7130
+ };
7131
+ throw new Error("Invalid input: not a Zod schema");
7132
+ }
6557
7133
  const LoginSchema = shared_types.Controller.Usuario.Login.InputSchema.shape.data.shape.usuario;
6558
7134
  function AuthLogin() {
6559
7135
  const navigate = useNavigate();
@@ -6587,13 +7163,13 @@ function AuthLogin() {
6587
7163
  });
6588
7164
  }
6589
7165
  return /*#__PURE__*/ jsxs("div", {
6590
- className: " flex min-h-dvh items-center justify-center p-4 relative overflow-hidden bg-white text-gray-900 dark:bg-gradient-to-br dark:from-gray-950 dark:via-gray-900 dark:to-black dark:text-gray-100 ",
7166
+ className: "flex min-h-dvh items-center justify-center p-4 relative overflow-hidden bg-slate-50 text-slate-900 dark:bg-[#020617] dark:text-slate-100",
6591
7167
  children: [
6592
7168
  /*#__PURE__*/ jsx("div", {
6593
- className: "hidden dark:block absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-purple-900/20 via-transparent to-transparent"
7169
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_top_right,_var(--tw-gradient-stops))] from-blue-600/10 via-transparent to-transparent"
6594
7170
  }),
6595
7171
  /*#__PURE__*/ jsx("div", {
6596
- className: "hidden dark:block absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_var(--tw-gradient-stops))] from-blue-900/20 via-transparent to-transparent"
7172
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_bottom_left,_var(--tw-gradient-stops))] from-cyan-600/10 via-transparent to-transparent"
6597
7173
  }),
6598
7174
  /*#__PURE__*/ jsxs(motion.div, {
6599
7175
  initial: {
@@ -6612,7 +7188,7 @@ function AuthLogin() {
6612
7188
  /*#__PURE__*/ jsx("div", {
6613
7189
  className: "flex justify-center",
6614
7190
  children: /*#__PURE__*/ jsxs("div", {
6615
- className: " inline-flex items-center gap-2 rounded-full px-4 py-2 backdrop-blur-sm border border-purple-500/30 bg-purple-500/10 text-purple-500 dark:text-purple-300 ",
7191
+ className: "inline-flex items-center gap-2 rounded-full px-4 py-2 backdrop-blur-md border border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400",
6616
7192
  children: [
6617
7193
  /*#__PURE__*/ jsx(motion.div, {
6618
7194
  animate: {
@@ -6628,7 +7204,7 @@ function AuthLogin() {
6628
7204
  })
6629
7205
  }),
6630
7206
  /*#__PURE__*/ jsx("span", {
6631
- className: "text-sm font-medium",
7207
+ className: "text-sm font-bold tracking-wide",
6632
7208
  children: "AuthFlow"
6633
7209
  })
6634
7210
  ]
@@ -6638,18 +7214,18 @@ function AuthLogin() {
6638
7214
  className: "text-center",
6639
7215
  children: [
6640
7216
  /*#__PURE__*/ jsx("h2", {
6641
- className: " text-[1.75rem] font-bold bg-gradient-to-r from-gray-900 via-gray-700 to-gray-500 dark:from-white dark:via-gray-200 dark:to-gray-400 bg-clip-text text-transparent ",
7217
+ className: "text-3xl font-black tracking-tight bg-gradient-to-r from-blue-400 via-blue-500 to-cyan-400 bg-clip-text text-transparent",
6642
7218
  children: "Acesse sua conta"
6643
7219
  }),
6644
7220
  /*#__PURE__*/ jsx("p", {
6645
- className: "text-sm mt-2 text-gray-500 dark:text-gray-400",
7221
+ className: "text-sm mt-2 text-slate-500 dark:text-slate-400 font-medium",
6646
7222
  children: "Bem-vindo de volta! Insira seus dados abaixo."
6647
7223
  })
6648
7224
  ]
6649
7225
  }),
6650
7226
  /*#__PURE__*/ jsxs(motion.form, {
6651
7227
  onSubmit: handleSubmit(onSubmit),
6652
- className: " rounded-2xl p-6 shadow-lg flex flex-col gap-6 bg-white border border-gray-200 dark:bg-gray-900/60 dark:border-gray-800 dark:backdrop-blur-xl ",
7228
+ className: " relative rounded-2xl p-7 flex flex-col gap-6 transition-all duration-300 bg-white border border-slate-200 shadow-[0_20px_50px_rgba(0,0,0,0.04)] dark:bg-slate-900/90 dark:backdrop-blur-2xl dark:border-white/[0.1] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.05),_0_30px_60px_rgba(0,0,0,0.4)] ",
6653
7229
  children: [
6654
7230
  /*#__PURE__*/ jsxs("div", {
6655
7231
  className: "flex flex-col gap-5",
@@ -6659,26 +7235,26 @@ function AuthLogin() {
6659
7235
  children: [
6660
7236
  /*#__PURE__*/ jsx("label", {
6661
7237
  htmlFor: "email",
6662
- className: "text-sm font-medium text-gray-700 dark:text-gray-200",
7238
+ className: "text-sm font-bold text-slate-700 dark:text-slate-200",
6663
7239
  children: "E-mail"
6664
7240
  }),
6665
7241
  /*#__PURE__*/ jsxs("div", {
6666
7242
  className: "relative group",
6667
7243
  children: [
6668
7244
  /*#__PURE__*/ jsx(Mail, {
6669
- className: " absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400 group-focus-within:text-purple-500 transition-colors "
7245
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
6670
7246
  }),
6671
7247
  /*#__PURE__*/ jsx("input", {
6672
7248
  id: "email",
6673
7249
  type: "email",
6674
7250
  placeholder: "Digite seu e-mail",
6675
7251
  ...register("email"),
6676
- className: " w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-gray-300 bg-white text-gray-900 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500/40 focus:border-purple-500 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-100 transition-all "
7252
+ className: "w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-slate-200 bg-slate-50 text-slate-900 placeholder:text-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 dark:border-white/10 dark:bg-slate-950 dark:text-slate-100 transition-all"
6677
7253
  })
6678
7254
  ]
6679
7255
  }),
6680
7256
  errors.email && /*#__PURE__*/ jsx("p", {
6681
- className: "text-xs text-red-500",
7257
+ className: "text-xs text-red-500 font-semibold",
6682
7258
  children: errors.email.message
6683
7259
  })
6684
7260
  ]
@@ -6688,26 +7264,26 @@ function AuthLogin() {
6688
7264
  children: [
6689
7265
  /*#__PURE__*/ jsx("label", {
6690
7266
  htmlFor: "senha",
6691
- className: "text-sm font-medium text-gray-700 dark:text-gray-200",
7267
+ className: "text-sm font-bold text-slate-700 dark:text-slate-200",
6692
7268
  children: "Senha"
6693
7269
  }),
6694
7270
  /*#__PURE__*/ jsxs("div", {
6695
7271
  className: "relative group",
6696
7272
  children: [
6697
7273
  /*#__PURE__*/ jsx(Lock, {
6698
- className: " absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400 group-focus-within:text-purple-500 transition-colors "
7274
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
6699
7275
  }),
6700
7276
  /*#__PURE__*/ jsx("input", {
6701
7277
  id: "senha",
6702
7278
  type: "password",
6703
7279
  placeholder: "Digite sua senha",
6704
7280
  ...register("senha"),
6705
- className: " w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-gray-300 bg-white text-gray-900 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500/40 focus:border-purple-500 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-100 transition-all "
7281
+ className: "w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-slate-200 bg-slate-50 text-slate-900 placeholder:text-slate-400 focus:outline-none focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500 dark:border-white/10 dark:bg-slate-950 dark:text-slate-100 transition-all"
6706
7282
  })
6707
7283
  ]
6708
7284
  }),
6709
7285
  errors.senha && /*#__PURE__*/ jsx("p", {
6710
- className: "text-xs text-red-500",
7286
+ className: "text-xs text-red-500 font-semibold",
6711
7287
  children: errors.senha.message
6712
7288
  })
6713
7289
  ]
@@ -6717,38 +7293,38 @@ function AuthLogin() {
6717
7293
  /*#__PURE__*/ jsx("button", {
6718
7294
  type: "button",
6719
7295
  onClick: esqueciMinhaSenha,
6720
- className: "text-sm text-purple-500 hover:text-purple-600 transition-all w-fit font-medium",
7296
+ className: "text-sm text-blue-600 hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300 transition-all w-fit font-bold",
6721
7297
  children: "Esqueci minha senha"
6722
7298
  }),
6723
7299
  /*#__PURE__*/ jsxs(motion.button, {
6724
7300
  whileHover: {
6725
- scale: loading_auth ? 1 : 1.04
7301
+ scale: loading_auth ? 1 : 1.02
6726
7302
  },
6727
7303
  whileTap: {
6728
- scale: loading_auth ? 1 : 0.96
7304
+ scale: loading_auth ? 1 : 0.98
6729
7305
  },
6730
7306
  type: "submit",
6731
7307
  disabled: loading_auth,
6732
- className: " w-full rounded-xl bg-gradient-to-r from-purple-600 to-blue-600 text-white py-3.5 text-sm font-semibold flex items-center justify-center gap-2 transition-all shadow-lg shadow-purple-500/30 hover:shadow-xl hover:shadow-purple-500/40 disabled:opacity-60 disabled:cursor-not-allowed ",
7308
+ className: " relative w-full rounded-xl bg-gradient-to-r from-blue-600 to-cyan-600 text-white py-3.5 text-sm font-bold flex items-center justify-center gap-2 transition-all shadow-lg shadow-blue-500/25 hover:shadow-blue-500/40 disabled:opacity-70 disabled:cursor-not-allowed overflow-hidden ",
6733
7309
  children: [
6734
7310
  loading_auth && /*#__PURE__*/ jsx(LoaderCircle, {
6735
7311
  className: "w-4 h-4 animate-spin"
6736
7312
  }),
6737
- loading_auth ? "Entrando..." : "Entrar"
7313
+ loading_auth ? "Processando..." : "Entrar"
6738
7314
  ]
6739
7315
  }),
6740
7316
  /*#__PURE__*/ jsxs("div", {
6741
- className: "flex items-center gap-3",
7317
+ className: "flex items-center gap-4",
6742
7318
  children: [
6743
7319
  /*#__PURE__*/ jsx("div", {
6744
- className: "flex-grow border-t border-gray-300 dark:border-gray-800"
7320
+ className: "flex-grow border-t border-slate-200 dark:border-white/10"
6745
7321
  }),
6746
7322
  /*#__PURE__*/ jsx("span", {
6747
- className: "text-xs font-medium text-gray-500",
6748
- children: "OU"
7323
+ className: "text-[10px] font-black tracking-widest text-slate-400 uppercase",
7324
+ children: "Ou continue com"
6749
7325
  }),
6750
7326
  /*#__PURE__*/ jsx("div", {
6751
- className: "flex-grow border-t border-gray-300 dark:border-gray-800"
7327
+ className: "flex-grow border-t border-slate-200 dark:border-white/10"
6752
7328
  })
6753
7329
  ]
6754
7330
  }),
@@ -6761,14 +7337,14 @@ function AuthLogin() {
6761
7337
  ]
6762
7338
  }),
6763
7339
  /*#__PURE__*/ jsxs("p", {
6764
- className: "text-center text-sm text-gray-500 dark:text-gray-400",
7340
+ className: "text-center text-sm text-slate-500 dark:text-slate-400",
6765
7341
  children: [
6766
- "N\xe3o tem uma conta?",
7342
+ "Ainda n\xe3o tem conta?",
6767
7343
  " ",
6768
7344
  /*#__PURE__*/ jsx("button", {
6769
7345
  onClick: ()=>navigate("/auth/register"),
6770
- className: "text-purple-500 hover:text-purple-600 font-semibold transition-all hover:underline",
6771
- children: "Cadastre-se"
7346
+ className: "text-blue-500 dark:text-cyan-500 hover:underline font-black transition-all",
7347
+ children: "Crie uma agora"
6772
7348
  })
6773
7349
  ]
6774
7350
  })
@@ -6801,6 +7377,28 @@ function AuthLogin() {
6801
7377
  ]
6802
7378
  ];
6803
7379
  const User = createLucideIcon("user", user_iconNode);
7380
+ /**
7381
+ * @license lucide-react v0.544.0 - ISC
7382
+ *
7383
+ * This source code is licensed under the ISC license.
7384
+ * See the LICENSE file in the root directory of this source tree.
7385
+ */ const arrow_right_iconNode = [
7386
+ [
7387
+ "path",
7388
+ {
7389
+ d: "M5 12h14",
7390
+ key: "1ays0h"
7391
+ }
7392
+ ],
7393
+ [
7394
+ "path",
7395
+ {
7396
+ d: "m12 5 7 7-7 7",
7397
+ key: "xquz4c"
7398
+ }
7399
+ ]
7400
+ ];
7401
+ const ArrowRight = createLucideIcon("arrow-right", arrow_right_iconNode);
6804
7402
  const RegisterSchema = shared_types.Controller.Usuario.Register.InputSchema.shape.data.shape.usuario;
6805
7403
  function AuthRegister() {
6806
7404
  const navigate = useNavigate();
@@ -6824,13 +7422,13 @@ function AuthRegister() {
6824
7422
  if (200 === res.status) navigate("/app");
6825
7423
  }
6826
7424
  return /*#__PURE__*/ jsxs("div", {
6827
- className: " flex min-h-dvh items-center justify-center p-4 relative overflow-hidden bg-white text-gray-900 dark:bg-gradient-to-br dark:from-gray-950 dark:via-gray-900 dark:to-black dark:text-gray-100 ",
7425
+ className: "flex min-h-dvh items-center justify-center p-4 relative overflow-hidden bg-slate-50 text-slate-900 dark:bg-[#020617] dark:text-slate-100",
6828
7426
  children: [
6829
7427
  /*#__PURE__*/ jsx("div", {
6830
- className: "hidden dark:block absolute inset-0 bg-[radial-gradient(ellipse_at_top_right,_var(--tw-gradient-stops))] from-purple-900/20 via-transparent to-transparent"
7428
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_top_right,_var(--tw-gradient-stops))] from-blue-600/10 via-transparent to-transparent"
6831
7429
  }),
6832
7430
  /*#__PURE__*/ jsx("div", {
6833
- className: "hidden dark:block absolute inset-0 bg-[radial-gradient(ellipse_at_bottom_left,_var(--tw-gradient-stops))] from-blue-900/20 via-transparent to-transparent"
7431
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_bottom_left,_var(--tw-gradient-stops))] from-cyan-600/10 via-transparent to-transparent"
6834
7432
  }),
6835
7433
  /*#__PURE__*/ jsxs(motion.div, {
6836
7434
  initial: {
@@ -6849,7 +7447,7 @@ function AuthRegister() {
6849
7447
  /*#__PURE__*/ jsx("div", {
6850
7448
  className: "flex justify-center",
6851
7449
  children: /*#__PURE__*/ jsxs("div", {
6852
- className: " inline-flex items-center gap-2 rounded-full px-4 py-2 backdrop-blur-sm border border-purple-500/30 bg-purple-500/10 text-purple-500 dark:text-purple-300 ",
7450
+ className: "inline-flex items-center gap-2 rounded-full px-4 py-2 backdrop-blur-md border border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400",
6853
7451
  children: [
6854
7452
  /*#__PURE__*/ jsx(motion.div, {
6855
7453
  animate: {
@@ -6865,7 +7463,7 @@ function AuthRegister() {
6865
7463
  })
6866
7464
  }),
6867
7465
  /*#__PURE__*/ jsx("span", {
6868
- className: "text-sm font-medium",
7466
+ className: "text-sm font-black tracking-wide",
6869
7467
  children: "AuthFlow"
6870
7468
  })
6871
7469
  ]
@@ -6875,47 +7473,48 @@ function AuthRegister() {
6875
7473
  className: "text-center",
6876
7474
  children: [
6877
7475
  /*#__PURE__*/ jsx("h2", {
6878
- className: " text-[1.75rem] font-bold bg-gradient-to-r from-gray-900 via-gray-700 to-gray-500 dark:from-white dark:via-gray-200 dark:to-gray-400 bg-clip-text text-transparent ",
6879
- children: "Crie sua conta"
7476
+ className: "text-3xl font-black tracking-tight bg-gradient-to-r from-blue-400 via-blue-500 to-cyan-400 bg-clip-text text-transparent",
7477
+ children: "Criar nova conta"
6880
7478
  }),
6881
7479
  /*#__PURE__*/ jsx("p", {
6882
- className: "text-sm mt-2 text-gray-500 dark:text-gray-400",
6883
- children: "\xc9 r\xe1pido e f\xe1cil. Preencha os campos abaixo."
7480
+ className: "text-sm mt-2 text-slate-500 dark:text-slate-400 font-medium",
7481
+ children: "Junte-se a n\xf3s e comece sua jornada hoje."
6884
7482
  })
6885
7483
  ]
6886
7484
  }),
6887
7485
  /*#__PURE__*/ jsxs(motion.form, {
6888
7486
  onSubmit: handleSubmit(onSubmit),
6889
- className: " rounded-2xl p-6 shadow-lg flex flex-col gap-6 bg-white border border-gray-200 dark:bg-gray-900/60 dark:border-gray-800 dark:backdrop-blur-xl ",
7487
+ className: " relative rounded-2xl p-7 flex flex-col gap-5 transition-all duration-300 bg-white border border-slate-200 shadow-[0_20px_50px_rgba(0,0,0,0.04)] dark:bg-slate-900/90 dark:backdrop-blur-2xl dark:border-white/[0.1] dark:shadow-[0_0_0_1px_rgba(255,255,255,0.05),_0_30px_60px_rgba(0,0,0,0.4)] ",
6890
7488
  children: [
6891
7489
  /*#__PURE__*/ jsxs("div", {
6892
- className: "flex flex-col gap-5",
7490
+ className: "flex flex-col gap-4",
6893
7491
  children: [
6894
7492
  /*#__PURE__*/ jsxs("div", {
6895
7493
  className: "flex flex-col gap-1.5",
6896
7494
  children: [
6897
7495
  /*#__PURE__*/ jsx("label", {
6898
7496
  htmlFor: "nome",
6899
- className: "text-sm font-medium text-gray-700 dark:text-gray-200",
6900
- children: "Nome"
7497
+ className: "text-sm font-bold text-slate-700 dark:text-slate-200",
7498
+ children: "Nome Completo"
6901
7499
  }),
6902
7500
  /*#__PURE__*/ jsxs("div", {
6903
7501
  className: "relative group",
6904
7502
  children: [
6905
7503
  /*#__PURE__*/ jsx(User, {
6906
- className: " absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400 group-focus-within:text-purple-500 transition-colors "
7504
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
6907
7505
  }),
6908
7506
  /*#__PURE__*/ jsx("input", {
6909
7507
  id: "nome",
6910
7508
  type: "text",
6911
- placeholder: "Digite seu nome",
7509
+ placeholder: "Como quer ser chamado?",
6912
7510
  ...register("nome"),
6913
- className: " w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-gray-300 bg-white text-gray-900 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500/40 focus:border-purple-500 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-100 transition-all "
7511
+ className: `w-full rounded-xl pl-10 pr-4 py-3 text-sm border bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-100 placeholder:text-slate-400 transition-all outline-none
7512
+ ${errors.nome ? "border-red-500 ring-2 ring-red-500/10" : "border-slate-200 dark:border-white/10 focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500"}`
6914
7513
  })
6915
7514
  ]
6916
7515
  }),
6917
7516
  errors.nome && /*#__PURE__*/ jsx("p", {
6918
- className: "text-xs text-red-500",
7517
+ className: "text-[10px] text-red-500 font-bold uppercase tracking-wider",
6919
7518
  children: errors.nome.message
6920
7519
  })
6921
7520
  ]
@@ -6925,26 +7524,27 @@ function AuthRegister() {
6925
7524
  children: [
6926
7525
  /*#__PURE__*/ jsx("label", {
6927
7526
  htmlFor: "email",
6928
- className: "text-sm font-medium text-gray-700 dark:text-gray-200",
7527
+ className: "text-sm font-bold text-slate-700 dark:text-slate-200",
6929
7528
  children: "E-mail"
6930
7529
  }),
6931
7530
  /*#__PURE__*/ jsxs("div", {
6932
7531
  className: "relative group",
6933
7532
  children: [
6934
7533
  /*#__PURE__*/ jsx(Mail, {
6935
- className: " absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400 group-focus-within:text-purple-500 transition-colors "
7534
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
6936
7535
  }),
6937
7536
  /*#__PURE__*/ jsx("input", {
6938
7537
  id: "email",
6939
7538
  type: "email",
6940
- placeholder: "Digite seu e-mail",
7539
+ placeholder: "seu@email.com",
6941
7540
  ...register("email"),
6942
- className: " w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-gray-300 bg-white text-gray-900 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500/40 focus:border-purple-500 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-100 transition-all "
7541
+ className: `w-full rounded-xl pl-10 pr-4 py-3 text-sm border bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-100 placeholder:text-slate-400 transition-all outline-none
7542
+ ${errors.email ? "border-red-500 ring-2 ring-red-500/10" : "border-slate-200 dark:border-white/10 focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500"}`
6943
7543
  })
6944
7544
  ]
6945
7545
  }),
6946
7546
  errors.email && /*#__PURE__*/ jsx("p", {
6947
- className: "text-xs text-red-500",
7547
+ className: "text-[10px] text-red-500 font-bold uppercase tracking-wider",
6948
7548
  children: errors.email.message
6949
7549
  })
6950
7550
  ]
@@ -6954,26 +7554,27 @@ function AuthRegister() {
6954
7554
  children: [
6955
7555
  /*#__PURE__*/ jsx("label", {
6956
7556
  htmlFor: "senha",
6957
- className: "text-sm font-medium text-gray-700 dark:text-gray-200",
7557
+ className: "text-sm font-bold text-slate-700 dark:text-slate-200",
6958
7558
  children: "Senha"
6959
7559
  }),
6960
7560
  /*#__PURE__*/ jsxs("div", {
6961
7561
  className: "relative group",
6962
7562
  children: [
6963
7563
  /*#__PURE__*/ jsx(Lock, {
6964
- className: " absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400 group-focus-within:text-purple-500 transition-colors "
7564
+ className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-slate-400 group-focus-within:text-blue-500 transition-colors"
6965
7565
  }),
6966
7566
  /*#__PURE__*/ jsx("input", {
6967
7567
  id: "senha",
6968
7568
  type: "password",
6969
- placeholder: "Digite sua senha",
7569
+ placeholder: "••••••••",
6970
7570
  ...register("senha"),
6971
- className: " w-full rounded-xl pl-10 pr-4 py-3 text-sm border border-gray-300 bg-white text-gray-900 placeholder:text-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500/40 focus:border-purple-500 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-100 transition-all "
7571
+ className: `w-full rounded-xl pl-10 pr-4 py-3 text-sm border bg-slate-50 dark:bg-slate-950 text-slate-900 dark:text-slate-100 placeholder:text-slate-400 transition-all outline-none
7572
+ ${errors.senha ? "border-red-500 ring-2 ring-red-500/10" : "border-slate-200 dark:border-white/10 focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500"}`
6972
7573
  })
6973
7574
  ]
6974
7575
  }),
6975
7576
  errors.senha && /*#__PURE__*/ jsx("p", {
6976
- className: "text-xs text-red-500",
7577
+ className: "text-[10px] text-red-500 font-bold uppercase tracking-wider",
6977
7578
  children: errors.senha.message
6978
7579
  })
6979
7580
  ]
@@ -6982,33 +7583,37 @@ function AuthRegister() {
6982
7583
  }),
6983
7584
  /*#__PURE__*/ jsxs(motion.button, {
6984
7585
  whileHover: {
6985
- scale: loading_auth ? 1 : 1.04
7586
+ scale: loading_auth ? 1 : 1.05
6986
7587
  },
6987
7588
  whileTap: {
6988
- scale: loading_auth ? 1 : 0.96
7589
+ scale: loading_auth ? 1 : 0.95
6989
7590
  },
6990
7591
  type: "submit",
6991
7592
  disabled: loading_auth,
6992
- className: " w-full rounded-xl bg-gradient-to-r from-purple-600 to-blue-600 text-white py-3.5 text-sm font-semibold flex items-center justify-center gap-2 transition-all shadow-lg shadow-purple-500/30 hover:shadow-xl hover:shadow-purple-500/40 disabled:opacity-60 disabled:cursor-not-allowed ",
7593
+ className: " w-full mt-2 inline-flex items-center justify-center gap-2 rounded-xl bg-gradient-to-r from-blue-600 to-cyan-600 py-3.5 text-sm font-black tracking-wide text-white shadow-lg shadow-blue-500/30 transition-all hover:shadow-xl hover:shadow-blue-500/50 disabled:opacity-50 disabled:cursor-not-allowed ",
6993
7594
  children: [
6994
- loading_auth && /*#__PURE__*/ jsx(LoaderCircle, {
6995
- className: "w-4 h-4 animate-spin"
7595
+ loading_auth ? /*#__PURE__*/ jsx(LoaderCircle, {
7596
+ className: "h-4 w-4 animate-spin"
7597
+ }) : /*#__PURE__*/ jsx(ArrowRight, {
7598
+ className: "h-5 w-5 group-hover:translate-x-1 transition-transform"
6996
7599
  }),
6997
- loading_auth ? "Cadastrando..." : "Cadastrar"
7600
+ /*#__PURE__*/ jsx("span", {
7601
+ children: loading_auth ? "Criando conta..." : "Finalizar cadastro"
7602
+ })
6998
7603
  ]
6999
7604
  }),
7000
7605
  /*#__PURE__*/ jsxs("div", {
7001
- className: "flex items-center gap-3",
7606
+ className: "flex items-center gap-3 py-2",
7002
7607
  children: [
7003
7608
  /*#__PURE__*/ jsx("div", {
7004
- className: "flex-grow border-t border-gray-300 dark:border-gray-800"
7609
+ className: "flex-grow border-t border-slate-200 dark:border-white/10"
7005
7610
  }),
7006
7611
  /*#__PURE__*/ jsx("span", {
7007
- className: "text-xs font-medium text-gray-500",
7008
- children: "OU"
7612
+ className: "text-[10px] font-black tracking-widest text-slate-400 uppercase",
7613
+ children: "Ou continue com"
7009
7614
  }),
7010
7615
  /*#__PURE__*/ jsx("div", {
7011
- className: "flex-grow border-t border-gray-300 dark:border-gray-800"
7616
+ className: "flex-grow border-t border-slate-200 dark:border-white/10"
7012
7617
  })
7013
7618
  ]
7014
7619
  }),
@@ -7021,14 +7626,14 @@ function AuthRegister() {
7021
7626
  ]
7022
7627
  }),
7023
7628
  /*#__PURE__*/ jsxs("p", {
7024
- className: "text-center text-sm text-gray-500 dark:text-gray-400",
7629
+ className: "text-center text-sm font-medium text-slate-500 dark:text-slate-400",
7025
7630
  children: [
7026
- "J\xe1 tem uma conta?",
7631
+ "J\xe1 possui acesso?",
7027
7632
  " ",
7028
7633
  /*#__PURE__*/ jsx("button", {
7029
7634
  onClick: ()=>navigate("/auth/login"),
7030
- className: "text-purple-500 hover:text-purple-600 font-semibold transition-all hover:underline",
7031
- children: "Fa\xe7a login"
7635
+ className: "text-blue-500 dark:text-cyan-500 font-black hover:underline underline-offset-4 transition-all",
7636
+ children: "Fazer login"
7032
7637
  })
7033
7638
  ]
7034
7639
  })
@@ -7037,6 +7642,55 @@ function AuthRegister() {
7037
7642
  ]
7038
7643
  });
7039
7644
  }
7645
+ /**
7646
+ * @license lucide-react v0.544.0 - ISC
7647
+ *
7648
+ * This source code is licensed under the ISC license.
7649
+ * See the LICENSE file in the root directory of this source tree.
7650
+ */ const shield_check_iconNode = [
7651
+ [
7652
+ "path",
7653
+ {
7654
+ d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
7655
+ key: "oel41y"
7656
+ }
7657
+ ],
7658
+ [
7659
+ "path",
7660
+ {
7661
+ d: "m9 12 2 2 4-4",
7662
+ key: "dzmm74"
7663
+ }
7664
+ ]
7665
+ ];
7666
+ const ShieldCheck = createLucideIcon("shield-check", shield_check_iconNode);
7667
+ /**
7668
+ * @license lucide-react v0.544.0 - ISC
7669
+ *
7670
+ * This source code is licensed under the ISC license.
7671
+ * See the LICENSE file in the root directory of this source tree.
7672
+ */ const smartphone_iconNode = [
7673
+ [
7674
+ "rect",
7675
+ {
7676
+ width: "14",
7677
+ height: "20",
7678
+ x: "5",
7679
+ y: "2",
7680
+ rx: "2",
7681
+ ry: "2",
7682
+ key: "1yt0o3"
7683
+ }
7684
+ ],
7685
+ [
7686
+ "path",
7687
+ {
7688
+ d: "M12 18h.01",
7689
+ key: "mhygvu"
7690
+ }
7691
+ ]
7692
+ ];
7693
+ const Smartphone = createLucideIcon("smartphone", smartphone_iconNode);
7040
7694
  const VerificarAuthenticator = ()=>{
7041
7695
  const navigate = useNavigate();
7042
7696
  const usuario_login = useLocation()?.state;
@@ -7085,34 +7739,9 @@ const VerificarAuthenticator = ()=>{
7085
7739
  setIsLoading(true);
7086
7740
  const fullCode = code.join("");
7087
7741
  usuario_login.data.usuario.codigo_temporario = fullCode;
7088
- if ("auth_google_credential" in usuario_login.data.usuario) {
7089
- const resp = await contexto_contexto_usuario.api.login_register_google({
7090
- data: {
7091
- usuario: {
7092
- app: usuario_login.data.usuario.app,
7093
- auth_google_credential: usuario_login.data.usuario.auth_google_credential,
7094
- usuario_tipo: usuario_login.data.usuario.usuario_tipo,
7095
- codigo_temporario: usuario_login.data.usuario.codigo_temporario
7096
- }
7097
- }
7098
- });
7099
- if (200 === resp.status) return navigate("/app");
7100
- if (400 === resp.status) return setError(true);
7101
- } else {
7102
- const resp = await contexto_contexto_usuario.api.login({
7103
- data: {
7104
- usuario: {
7105
- app: usuario_login.data.usuario.app,
7106
- email: usuario_login.data.usuario.email,
7107
- senha: usuario_login.data.usuario.senha,
7108
- usuario_tipo: usuario_login.data.usuario.usuario_tipo,
7109
- codigo_temporario: usuario_login.data.usuario.codigo_temporario
7110
- }
7111
- }
7112
- });
7113
- if (200 === resp.status) return navigate("/app");
7114
- if (400 === resp.status) return setError(true);
7115
- }
7742
+ const resp = "auth_google_credential" in usuario_login.data.usuario ? await contexto_contexto_usuario.api.login_register_google(usuario_login) : await contexto_contexto_usuario.api.login(usuario_login);
7743
+ if (200 === resp.status || 201 === resp.status) return navigate("/app");
7744
+ setError(true);
7116
7745
  } catch {
7117
7746
  setError(true);
7118
7747
  } finally{
@@ -7120,170 +7749,208 @@ const VerificarAuthenticator = ()=>{
7120
7749
  }
7121
7750
  };
7122
7751
  const isCodeComplete = code.every((d)=>"" !== d);
7123
- return /*#__PURE__*/ jsx("div", {
7124
- className: "min-h-screen bg-basic-50 flex items-center justify-center p-6",
7125
- children: /*#__PURE__*/ jsxs("div", {
7126
- className: "bg-white rounded-xl shadow-lg max-w-md w-full p-8 space-y-6",
7127
- children: [
7128
- /*#__PURE__*/ jsx("h3", {
7129
- className: "text-lg font-semibold text-basic-900 text-center",
7130
- children: "Digite o c\xf3digo do app autenticador"
7131
- }),
7132
- /*#__PURE__*/ jsx("div", {
7133
- className: "flex justify-center mb-4 h-44 overflow-hidden",
7134
- children: /*#__PURE__*/ jsx("div", {
7135
- className: "translate-y-[-15%]",
7136
- children: /*#__PURE__*/ jsx("div", {
7137
- className: "w-44 h-80 bg-black rounded-[2rem] p-2 shadow-xl",
7138
- children: /*#__PURE__*/ jsxs("div", {
7139
- className: "w-full h-full bg-white rounded-[1.7rem] relative overflow-hidden text-[10px] leading-tight",
7140
- children: [
7141
- /*#__PURE__*/ jsx("div", {
7142
- className: "absolute top-0 left-1/2 -translate-x-1/2 w-24 h-5 bg-black rounded-b-xl"
7143
- }),
7144
- /*#__PURE__*/ jsxs("div", {
7145
- className: "absolute top-1 left-0 right-0 px-4 flex justify-between text-[8px]",
7752
+ return /*#__PURE__*/ jsxs("div", {
7753
+ className: "flex min-h-dvh items-center justify-center p-4 relative overflow-hidden bg-slate-50 text-slate-900 dark:bg-[#020617] dark:text-slate-100",
7754
+ children: [
7755
+ /*#__PURE__*/ jsx("div", {
7756
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_top_right,_var(--tw-gradient-stops))] from-blue-600/10 via-transparent to-transparent"
7757
+ }),
7758
+ /*#__PURE__*/ jsx("div", {
7759
+ className: "hidden dark:block absolute inset-0 bg-[radial-gradient(circle_at_bottom_left,_var(--tw-gradient-stops))] from-cyan-600/10 via-transparent to-transparent"
7760
+ }),
7761
+ /*#__PURE__*/ jsxs(motion.div, {
7762
+ initial: {
7763
+ opacity: 0,
7764
+ y: 20
7765
+ },
7766
+ animate: {
7767
+ opacity: 1,
7768
+ y: 0
7769
+ },
7770
+ className: "w-full max-w-md flex flex-col gap-6 relative z-10",
7771
+ children: [
7772
+ /*#__PURE__*/ jsxs("div", {
7773
+ className: "text-center space-y-2",
7774
+ children: [
7775
+ /*#__PURE__*/ jsx("h2", {
7776
+ className: "text-3xl font-black tracking-tight bg-gradient-to-r from-blue-400 via-blue-500 to-cyan-400 bg-clip-text text-transparent",
7777
+ children: "Seguran\xe7a em duas etapas"
7778
+ }),
7779
+ /*#__PURE__*/ jsx("p", {
7780
+ className: "text-sm text-slate-500 dark:text-slate-400 font-medium",
7781
+ children: "Abra seu app autenticador para visualizar o c\xf3digo."
7782
+ })
7783
+ ]
7784
+ }),
7785
+ /*#__PURE__*/ jsxs("div", {
7786
+ className: "relative rounded-2xl p-7 flex flex-col gap-6 bg-white border border-slate-200 dark:bg-slate-900/90 dark:backdrop-blur-2xl dark:border-white/[0.1] shadow-xl",
7787
+ children: [
7788
+ /*#__PURE__*/ jsx("div", {
7789
+ className: "flex justify-center h-32 overflow-hidden opacity-90",
7790
+ children: /*#__PURE__*/ jsx("div", {
7791
+ className: "w-32 h-64 bg-slate-900 dark:bg-slate-800 rounded-[2rem] p-1.5 shadow-2xl border border-white/10",
7792
+ children: /*#__PURE__*/ jsxs("div", {
7793
+ className: "w-full h-full bg-slate-50 dark:bg-slate-950 rounded-[1.7rem] relative overflow-hidden p-3",
7146
7794
  children: [
7147
- /*#__PURE__*/ jsx("span", {
7148
- children: "9:41"
7795
+ /*#__PURE__*/ jsx("div", {
7796
+ className: "absolute top-0 left-1/2 -translate-x-1/2 w-12 h-4 bg-slate-900 rounded-b-lg"
7149
7797
  }),
7150
7798
  /*#__PURE__*/ jsxs("div", {
7151
- className: "flex gap-[2px]",
7799
+ className: "mt-4 space-y-2",
7152
7800
  children: [
7153
7801
  /*#__PURE__*/ jsx("div", {
7154
- className: "w-2 h-1 border border-basic-900 rounded-sm"
7802
+ className: "h-1.5 w-8 bg-blue-500/20 rounded-full"
7155
7803
  }),
7156
7804
  /*#__PURE__*/ jsx("div", {
7157
- className: "w-2 h-1 border border-basic-900 rounded-sm"
7805
+ className: "h-4 w-full bg-blue-500/10 rounded-md flex items-center px-2",
7806
+ children: /*#__PURE__*/ jsx("div", {
7807
+ className: "h-1.5 w-10 bg-blue-500 rounded-full animate-pulse"
7808
+ })
7158
7809
  }),
7159
7810
  /*#__PURE__*/ jsx("div", {
7160
- className: "w-2 h-1 bg-basic-900 rounded-sm"
7811
+ className: "h-4 w-full bg-slate-200 dark:bg-slate-800 rounded-md"
7161
7812
  })
7162
7813
  ]
7163
7814
  })
7164
7815
  ]
7816
+ })
7817
+ })
7818
+ }),
7819
+ /*#__PURE__*/ jsx("div", {
7820
+ className: "flex justify-between gap-2",
7821
+ children: code.map((digit, i)=>/*#__PURE__*/ jsx("input", {
7822
+ ref: (el)=>{
7823
+ inputRefs.current[i] = el;
7824
+ },
7825
+ type: "text",
7826
+ inputMode: "numeric",
7827
+ maxLength: 1,
7828
+ value: digit,
7829
+ onChange: (e)=>handleChange(i, e.target.value),
7830
+ onKeyDown: (e)=>handleKeyDown(i, e),
7831
+ onPaste: 0 === i ? handlePaste : void 0,
7832
+ className: `
7833
+ w-12 h-14 text-center text-xl font-black rounded-xl border transition-all outline-none
7834
+ ${error ? "border-red-500 bg-red-500/5 text-red-500 ring-red-500/20" : "border-slate-200 bg-slate-50 dark:border-white/10 dark:bg-slate-950 focus:ring-2 focus:ring-blue-500/20 focus:border-blue-500"}
7835
+ `
7836
+ }, i))
7837
+ }),
7838
+ error && /*#__PURE__*/ jsx("p", {
7839
+ className: "text-center text-xs text-red-500 font-bold",
7840
+ children: "C\xf3digo inv\xe1lido ou expirado. Tente novamente."
7841
+ }),
7842
+ /*#__PURE__*/ jsxs("div", {
7843
+ className: "flex gap-3 p-3 rounded-xl bg-blue-500/5 border border-blue-500/10 text-[11px] text-slate-500 dark:text-slate-400 leading-relaxed",
7844
+ children: [
7845
+ /*#__PURE__*/ jsx(ShieldCheck, {
7846
+ className: "h-4 w-4 text-blue-500 shrink-0"
7165
7847
  }),
7166
- /*#__PURE__*/ jsxs("div", {
7167
- className: "pt-8 px-3",
7848
+ /*#__PURE__*/ jsxs("p", {
7168
7849
  children: [
7169
- /*#__PURE__*/ jsx("h4", {
7170
- className: "text-center text-primary-600 font-semibold text-[10px] mb-1",
7171
- children: "Autenticador"
7172
- }),
7173
- /*#__PURE__*/ jsxs("div", {
7174
- className: "bg-primary-50 border border-primary-200 rounded-md p-2 mb-1",
7175
- children: [
7176
- /*#__PURE__*/ jsxs("div", {
7177
- className: "flex justify-between",
7178
- children: [
7179
- /*#__PURE__*/ jsxs("div", {
7180
- children: [
7181
- /*#__PURE__*/ jsx("p", {
7182
- className: "text-[10px]",
7183
- children: "Nav Software"
7184
- }),
7185
- /*#__PURE__*/ jsx("p", {
7186
- className: "font-mono text-[12px] font-semibold",
7187
- children: "123 456"
7188
- })
7189
- ]
7190
- }),
7191
- /*#__PURE__*/ jsxs("div", {
7192
- className: "text-right",
7193
- children: [
7194
- /*#__PURE__*/ jsx("p", {
7195
- className: "text-[9px]",
7196
- children: "expira em"
7197
- }),
7198
- /*#__PURE__*/ jsx("p", {
7199
- className: "text-[10px] font-semibold",
7200
- children: "0:28"
7201
- })
7202
- ]
7203
- })
7204
- ]
7205
- }),
7206
- /*#__PURE__*/ jsx("div", {
7207
- className: "w-full h-1 bg-default-200 rounded-full mt-1",
7208
- children: /*#__PURE__*/ jsx("div", {
7209
- className: "w-[70%] h-1 bg-primary-600 rounded-full"
7210
- })
7211
- })
7212
- ]
7213
- }),
7214
- /*#__PURE__*/ jsxs("div", {
7215
- className: "opacity-50 mb-1",
7216
- children: [
7217
- /*#__PURE__*/ jsx("p", {
7218
- className: "text-[10px]",
7219
- children: "Nav Software (email@email.com)"
7220
- }),
7221
- /*#__PURE__*/ jsx("p", {
7222
- className: "font-mono text-[11px]",
7223
- children: "000 000"
7224
- })
7225
- ]
7850
+ "Mantenha sua conta segura. ",
7851
+ /*#__PURE__*/ jsx("span", {
7852
+ className: "text-blue-500 font-bold",
7853
+ children: "N\xe3o compartilhe"
7226
7854
  }),
7227
- /*#__PURE__*/ jsxs("div", {
7228
- className: "opacity-30",
7229
- children: [
7230
- /*#__PURE__*/ jsx("p", {
7231
- className: "text-default-600 text-[9px]",
7232
- children: "C\xf3digo"
7233
- }),
7234
- /*#__PURE__*/ jsx("p", {
7235
- className: "font-mono text-default-400 text-[10px]",
7236
- children: "000 000"
7237
- })
7238
- ]
7239
- })
7855
+ " este c\xf3digo com ningu\xe9m, inclusive suporte da Nav Software."
7240
7856
  ]
7241
7857
  })
7242
7858
  ]
7859
+ }),
7860
+ /*#__PURE__*/ jsxs(motion.button, {
7861
+ whileHover: {
7862
+ scale: !isCodeComplete || isLoading ? 1 : 1.05
7863
+ },
7864
+ whileTap: {
7865
+ scale: !isCodeComplete || isLoading ? 1 : 0.95
7866
+ },
7867
+ onClick: handleConfirm,
7868
+ disabled: !isCodeComplete || isLoading,
7869
+ className: " w-full inline-flex items-center justify-center gap-2 rounded-xl bg-gradient-to-r from-blue-600 to-cyan-600 py-3.5 text-sm font-black tracking-wide text-white shadow-lg shadow-blue-500/30 transition-all hover:shadow-xl hover:shadow-blue-500/50 disabled:opacity-50 disabled:cursor-not-allowed ",
7870
+ children: [
7871
+ isLoading ? /*#__PURE__*/ jsx(LoaderCircle, {
7872
+ className: "h-4 w-4 animate-spin"
7873
+ }) : /*#__PURE__*/ jsx(Smartphone, {
7874
+ className: "h-4 w-4"
7875
+ }),
7876
+ /*#__PURE__*/ jsx("span", {
7877
+ children: isLoading ? "Verificando..." : "Confirmar código"
7878
+ })
7879
+ ]
7243
7880
  })
7244
- })
7881
+ ]
7882
+ }),
7883
+ /*#__PURE__*/ jsx("button", {
7884
+ onClick: ()=>navigate("/auth/login"),
7885
+ className: "text-center text-sm font-bold text-slate-500 hover:text-blue-500 transition-colors",
7886
+ children: "Voltar para o login"
7245
7887
  })
7246
- }),
7247
- /*#__PURE__*/ jsx("p", {
7248
- className: "text-sm text-basic-600 text-center",
7249
- children: "Insira o c\xf3digo de 6 d\xedgitos mostrado no aplicativo Authenticator."
7250
- }),
7251
- /*#__PURE__*/ jsx("div", {
7252
- className: "flex justify-center gap-3",
7253
- children: code.map((digit, i)=>/*#__PURE__*/ jsx("input", {
7254
- ref: (el)=>{
7255
- inputRefs.current[i] = el;
7256
- },
7257
- type: "text",
7258
- inputMode: "numeric",
7259
- maxLength: 1,
7260
- value: digit,
7261
- onChange: (e)=>handleChange(i, e.target.value),
7262
- onKeyDown: (e)=>handleKeyDown(i, e),
7263
- onPaste: 0 === i ? handlePaste : void 0,
7264
- className: `w-12 h-14 text-center text-xl font-semibold rounded-lg border outline-none transition-all ${error ? "border-error-600 focus:ring-2 ring-error-300" : "border-default-300 focus:border-primary-600 focus:ring-2 ring-primary-300"}`
7265
- }, i))
7266
- }),
7267
- /*#__PURE__*/ jsxs("div", {
7268
- className: "bg-basic-50 border border-default-200 rounded-lg p-3 text-xs text-basic-700",
7269
- children: [
7270
- "A Nav Software nunca solicita c\xf3digos por telefone, WhatsApp ou aplicativos de mensagem.",
7271
- /*#__PURE__*/ jsx("span", {
7272
- className: "font-semibold",
7273
- children: " N\xe3o compartilhe seu c\xf3digo com ningu\xe9m."
7274
- })
7275
- ]
7276
- }),
7277
- /*#__PURE__*/ jsx("button", {
7278
- onClick: handleConfirm,
7279
- disabled: !isCodeComplete || isLoading,
7280
- className: "w-full bg-primary-600 hover:bg-primary-700 disabled:bg-primary-400 text-white font-medium rounded-lg py-2 transition-all",
7281
- children: isLoading ? "Confirmando..." : "Confirmar código"
7282
- })
7283
- ]
7284
- })
7888
+ ]
7889
+ })
7890
+ ]
7285
7891
  });
7286
7892
  };
7893
+ const REFRESH_INTERVAL = 3300000;
7894
+ const REFRESH_STORAGE_KEY = "last_refresh_token_at";
7895
+ const REFRESH_LOCK_KEY = "refresh_token_lock";
7896
+ const LOCK_DURATION = 10000;
7897
+ function RefreshToken_RefreshToken(props) {
7898
+ const isRefreshingRef = useRef(false);
7899
+ const intervalRef = useRef(null);
7900
+ function getSafeTimestamp(key) {
7901
+ const value1 = src_utils.session_sorage.get_item_session_storage(key);
7902
+ return value1 && !isNaN(Number(value1)) ? Number(value1) : 0;
7903
+ }
7904
+ function setSafeTimestamp(key, value1) {
7905
+ src_utils.session_sorage.set_session_storage_sem_incremento({
7906
+ chave: key,
7907
+ novoItem: value1.toString()
7908
+ });
7909
+ }
7910
+ function checkAuthentication() {
7911
+ const usuario = src_utils.session_sorage.usuario_auth;
7912
+ if (!usuario?.data?.usuario?._id || !usuario?.data?.usuario?.refresh_token) {
7913
+ contexto_contexto_usuario.contexto.state.set_signout();
7914
+ return false;
7915
+ }
7916
+ return true;
7917
+ }
7918
+ async function handleRefreshToken() {
7919
+ if (!checkAuthentication() || isRefreshingRef.current) return;
7920
+ try {
7921
+ const usuario = src_utils.session_sorage.usuario_auth?.data?.usuario;
7922
+ const now = Date.now();
7923
+ const lastRefresh = getSafeTimestamp(REFRESH_STORAGE_KEY);
7924
+ const lock = getSafeTimestamp(REFRESH_LOCK_KEY);
7925
+ if (lastRefresh && now - lastRefresh < REFRESH_INTERVAL) return;
7926
+ if (lock && now - lock < LOCK_DURATION) return;
7927
+ setSafeTimestamp(REFRESH_LOCK_KEY, now);
7928
+ isRefreshingRef.current = true;
7929
+ const response = await contexto_contexto_usuario.api.refresh_token({
7930
+ data: {
7931
+ usuario: {
7932
+ app: props.app,
7933
+ usuario_tipo: props.usuario_tipo,
7934
+ refresh_token: usuario.refresh_token
7935
+ }
7936
+ }
7937
+ });
7938
+ if (response?.data?.status === 200) setSafeTimestamp(REFRESH_STORAGE_KEY, now);
7939
+ } finally{
7940
+ isRefreshingRef.current = false;
7941
+ setSafeTimestamp(REFRESH_LOCK_KEY, 0);
7942
+ }
7943
+ }
7944
+ useEffect(()=>{
7945
+ if (!checkAuthentication()) return;
7946
+ handleRefreshToken();
7947
+ intervalRef.current = setInterval(handleRefreshToken, REFRESH_INTERVAL);
7948
+ return ()=>{
7949
+ if (intervalRef.current) clearInterval(intervalRef.current);
7950
+ };
7951
+ }, []);
7952
+ return /*#__PURE__*/ jsx(Fragment, {});
7953
+ }
7287
7954
  /**
7288
7955
  * @license lucide-react v0.544.0 - ISC
7289
7956
  *
@@ -7905,24 +8572,27 @@ function Header(props) {
7905
8572
  className: "fixed top-0 left-0 w-full h-16 z-50",
7906
8573
  children: [
7907
8574
  /*#__PURE__*/ jsx("div", {
7908
- className: "absolute inset-0 bg-gradient-to-r from-purple-900/30 via-gray-900/80 to-blue-900/30 backdrop-blur-xl border-b border-white/5"
8575
+ className: "absolute inset-0 bg-gradient-to-r from-blue-900/30 via-slate-950/80 to-cyan-900/30 backdrop-blur-xl border-b border-white/5"
7909
8576
  }),
7910
8577
  /*#__PURE__*/ jsxs("div", {
7911
8578
  className: "relative max-w-6xl mx-auto h-full px-4 sm:px-6 flex items-center justify-between",
7912
8579
  children: [
7913
8580
  /*#__PURE__*/ jsxs("div", {
7914
- className: "flex items-center gap-3 cursor-pointer",
8581
+ className: "flex items-center gap-3",
7915
8582
  children: [
7916
8583
  /*#__PURE__*/ jsx(motion.div, {
7917
8584
  whileHover: {
7918
8585
  rotate: 8,
7919
8586
  scale: 1.05
7920
8587
  },
7921
- className: "w-10 h-10 rounded-xl bg-gradient-to-br from-purple-600 to-blue-600 flex items-center justify-center shadow-lg shadow-purple-500/30",
7922
- children: /*#__PURE__*/ jsx(props.icon, {})
8588
+ className: "w-10 h-10 rounded-xl bg-gradient-to-br from-blue-600 to-cyan-600 flex items-center justify-center shadow-lg shadow-blue-500/30 text-white",
8589
+ children: /*#__PURE__*/ jsx(props.icon, {
8590
+ size: 20,
8591
+ strokeWidth: 2.5
8592
+ })
7923
8593
  }),
7924
8594
  /*#__PURE__*/ jsx("h5", {
7925
- className: "text-lg font-semibold tracking-tight bg-gradient-to-r from-white to-gray-300 bg-clip-text text-transparent",
8595
+ className: "text-lg font-semibold tracking-tight bg-gradient-to-r from-white to-slate-300 bg-clip-text text-transparent",
7926
8596
  children: props?.title
7927
8597
  })
7928
8598
  ]
@@ -7930,27 +8600,24 @@ function Header(props) {
7930
8600
  /*#__PURE__*/ jsxs("div", {
7931
8601
  className: "flex items-center gap-3",
7932
8602
  children: [
7933
- /*#__PURE__*/ jsx(motion.button, {
7934
- whileHover: {
7935
- y: -1
7936
- },
7937
- whileTap: {
7938
- scale: 0.95
7939
- },
8603
+ /*#__PURE__*/ jsx("button", {
7940
8604
  onClick: ()=>navigate("/auth/login"),
7941
- className: " px-4 py-2 rounded-lg text-sm transition-all border border-white/10 bg-white/5 text-gray-200 hover:bg-white/10 hover:text-white backdrop-blur-md ",
8605
+ className: "px-4 py-2 rounded-lg text-sm font-medium text-slate-200 hover:text-white hover:bg-white/10 transition-colors border border-white/10 backdrop-blur-md",
7942
8606
  children: "Login"
7943
8607
  }),
7944
8608
  /*#__PURE__*/ jsx(motion.button, {
7945
8609
  whileHover: {
7946
- scale: 1.05
8610
+ scale: 1.02
7947
8611
  },
7948
8612
  whileTap: {
7949
- scale: 0.95
8613
+ scale: 0.98
7950
8614
  },
7951
8615
  onClick: ()=>navigate("/auth/register"),
7952
- className: " px-4 py-2 rounded-lg text-sm font-medium bg-gradient-to-r from-purple-600 to-blue-600 text-white shadow-lg shadow-purple-500/30 transition-all ",
7953
- children: "Registrar"
8616
+ className: " relative group px-5 py-2 rounded-lg text-sm font-medium text-white bg-gradient-to-r from-blue-600 to-cyan-600 transition-all duration-300 /* A Sombra em gradiente usando before */ before:absolute before:inset-0 before:rounded-lg before:bg-gradient-to-r before:from-blue-600 before:to-cyan-600 before:blur-md before:opacity-0 before:transition-opacity before:duration-500 hover:before:opacity-100 before:-z-10 ",
8617
+ children: /*#__PURE__*/ jsx("span", {
8618
+ className: "relative z-10",
8619
+ children: "Registrar"
8620
+ })
7954
8621
  })
7955
8622
  ]
7956
8623
  })
@@ -7979,4 +8646,4 @@ function LayoutPublic(props) {
7979
8646
  }
7980
8647
  var __webpack_exports__TypeDrawerFullScreenRef = DraweFullScreen_namespaceObject.TypeDrawerFullScreenRef;
7981
8648
  var __webpack_exports__TypeDrawerPadraoRef = DrawerPadrao_namespaceObject.TypeDrawerPadraoRef;
7982
- export { AuthAtivarDesativarAuthenticatorButton, AuthGoogle, AuthLogin, AuthRegister, DrawerFullScreen, DrawerPadrao, EsqueciMinhaSenha, Layout, LayoutPublic, RecuperarSenhaComCodigoOtpButton, shared_types as TypesUsuario, VerificarAuthenticator, src_config_env as config_env_usuario, contexto_contexto_layout as contexto_layout, contexto_contexto_usuario as contexto_usuario, __webpack_exports__TypeDrawerFullScreenRef as TypeDrawerFullScreenRef, __webpack_exports__TypeDrawerPadraoRef as TypeDrawerPadraoRef };
8649
+ export { AuthAtivarDesativarAuthenticatorButton, AuthGoogle, AuthLogin, AuthRegister, DrawerFullScreen, DrawerPadrao, EsqueciMinhaSenha, Layout, LayoutPublic, RecuperarSenhaComCodigoOtpButton, RefreshToken_RefreshToken as RefreshToken, shared_types as TypesUsuario, VerificarAuthenticator, src_config_env as config_env_usuario, contexto_contexto_layout as contexto_layout, contexto_contexto_usuario as contexto_usuario, __webpack_exports__TypeDrawerFullScreenRef as TypeDrawerFullScreenRef, __webpack_exports__TypeDrawerPadraoRef as TypeDrawerPadraoRef };