@riligar/auth-react 1.10.0 → 1.12.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.
package/dist/index.js CHANGED
@@ -895,8 +895,8 @@ const useSession = () => useAuthStore(shallow.useShallow(s => ({
895
895
  // Loading States Hook
896
896
  const useAuthLoading = () => useAuthStore(s => s.loadingStates);
897
897
 
898
- // Profile Management Hook
899
- const useProfile = () => useAuthStore(shallow.useShallow(s => ({
898
+ // Profile Management Hook (novo nome estilo Clerk)
899
+ const useUser = () => useAuthStore(shallow.useShallow(s => ({
900
900
  user: s.user,
901
901
  updateProfile: s.updateProfile,
902
902
  changePassword: s.changePassword,
@@ -907,6 +907,9 @@ const useProfile = () => useAuthStore(shallow.useShallow(s => ({
907
907
  error: s.error
908
908
  })));
909
909
 
910
+ // Alias deprecado para backwards compatibility
911
+ const useProfile = useUser;
912
+
910
913
  // Application Logo Hook
911
914
  const useApplicationLogo = () => {
912
915
  const applicationInfo = useAuthStore(s => s.applicationInfo);
@@ -914,11 +917,11 @@ const useApplicationLogo = () => {
914
917
  return applicationInfo?.image || null;
915
918
  };
916
919
 
917
- function ProtectedRoute({
920
+ function Protect({
918
921
  fallback = /*#__PURE__*/jsxRuntime.jsx("p", {
919
922
  children: "\u231B Carregando..."
920
923
  }),
921
- redirectTo = "/login"
924
+ redirectTo = '/login'
922
925
  }) {
923
926
  const {
924
927
  user,
@@ -939,8 +942,68 @@ function AuthCard({
939
942
  logo,
940
943
  logoHeight = 28,
941
944
  width = 350,
945
+ // Variant props
946
+ variant = 'card',
947
+ opened,
948
+ onClose,
949
+ modalProps = {},
942
950
  ...props
943
951
  }) {
952
+ // Conteúdo interno compartilhado entre Card e Modal
953
+ const content = /*#__PURE__*/jsxRuntime.jsxs(core.Stack, {
954
+ gap: "sm",
955
+ children: [(logo || title || subtitle) && /*#__PURE__*/jsxRuntime.jsxs(core.Stack, {
956
+ gap: "xs",
957
+ children: [logo && /*#__PURE__*/jsxRuntime.jsx(core.Image, {
958
+ src: logo,
959
+ alt: "Auth",
960
+ h: logoHeight,
961
+ fit: "contain"
962
+ }), title && /*#__PURE__*/jsxRuntime.jsx(core.Title, {
963
+ order: 3,
964
+ children: title
965
+ }), subtitle && /*#__PURE__*/jsxRuntime.jsx(core.Text, {
966
+ size: "sm",
967
+ c: "dimmed",
968
+ children: subtitle
969
+ })]
970
+ }), children]
971
+ });
972
+
973
+ // Renderizar como Modal
974
+ if (variant === 'modal') {
975
+ return /*#__PURE__*/jsxRuntime.jsx(core.Modal, {
976
+ opened: opened,
977
+ onClose: onClose,
978
+ size: width + 50,
979
+ withCloseButton: true,
980
+ radius: "md",
981
+ overlayProps: {
982
+ backgroundOpacity: 0.55,
983
+ blur: 3
984
+ },
985
+ title: logo ? /*#__PURE__*/jsxRuntime.jsx(core.Image, {
986
+ src: logo,
987
+ alt: "Auth",
988
+ h: logoHeight,
989
+ fit: "contain"
990
+ }) : title ? /*#__PURE__*/jsxRuntime.jsx(core.Title, {
991
+ order: 4,
992
+ children: title
993
+ }) : null,
994
+ ...modalProps,
995
+ children: /*#__PURE__*/jsxRuntime.jsxs(core.Stack, {
996
+ gap: "sm",
997
+ children: [subtitle && /*#__PURE__*/jsxRuntime.jsx(core.Text, {
998
+ size: "sm",
999
+ c: "dimmed",
1000
+ children: subtitle
1001
+ }), children]
1002
+ })
1003
+ });
1004
+ }
1005
+
1006
+ // Renderizar como Card (default)
944
1007
  return /*#__PURE__*/jsxRuntime.jsx(core.Paper, {
945
1008
  withBorder: true,
946
1009
  shadow: "md",
@@ -948,36 +1011,23 @@ function AuthCard({
948
1011
  w: width,
949
1012
  radius: "md",
950
1013
  ...props,
951
- children: /*#__PURE__*/jsxRuntime.jsxs(core.Stack, {
952
- gap: "sm",
953
- children: [(logo || title || subtitle) && /*#__PURE__*/jsxRuntime.jsxs(core.Stack, {
954
- gap: "xs",
955
- children: [logo && /*#__PURE__*/jsxRuntime.jsx(core.Image, {
956
- src: logo,
957
- alt: "Auth",
958
- h: logoHeight,
959
- fit: "contain"
960
- }), title && /*#__PURE__*/jsxRuntime.jsx(core.Title, {
961
- order: 3,
962
- children: title
963
- }), subtitle && /*#__PURE__*/jsxRuntime.jsx(core.Text, {
964
- size: "sm",
965
- c: "dimmed",
966
- children: subtitle
967
- })]
968
- }), children]
969
- })
1014
+ children: content
970
1015
  });
971
1016
  }
972
1017
 
973
1018
  var img = "data:image/webp;base64,iVBORw0KGgoAAAANSUhEUgAAAjwAAADICAYAAADskzu8AAAQAElEQVR4nOzdCXxcZ3ku8PecM6PF1uZ9kfc4TmKyOMRZHNtYjm1tTlISMC2BQFhCQptAKGEp9Jbc20Jvoe29BUprmqZAAzfgEEJSW4vtxCzGEBKy4uyJsRPvliVZtpbRzLnPK49TR5FG0mjON2d5/r/f8RnPpjNHoznPfN933i8mI3TR+kfjB5wppXGraFLKdVZZIu8Qsc4ScWfh5rFYCoUofxLiuh14T76G9+SzYjsPW5J4OFkUPzipo7zjsZushBARQVVVVRFcZVnWma7rVuCq41j2pVKp+5ubmw9Knvh1u4LOGu4dL1rvxg/L4fNwAKnDL+FqHFQuwKMZbigIehB+Hrcse2PSsTbtHtP8hLznPUkhoshaunRpaXl5+SdxcXz/2xAykggX32lqavq9GObX7QoDezh3mnFn2/wjTuu3Lce5D2HnS9jtlzDsUIAUINtfmnLlr+xe98dz2lbfNeuu1nlCRJFVWlr6XhkgVCgc5xws71uyZEmxGObX7QqDWMZb73DtWTNa3mVL7zewpyeLqy1CrhAFkSWuvt9nI+Zfb7vJ2rn/fuTWV/eMv1fusFJCRFFiaXdRpjvYtl1UVlamX4xMtqYY2S50melnYUlxcXEJnq+gs7Ozu6en50QsFuvctm1bl4TUoIGn8rvtE+KJo5/B/temtSLmHAqNvuBuTUbz8HdmVx5dXLi+/asv3FR2WIjIuLq6ujKsPiAjhL/fToSDDlxsx7I/mUy+3tzcfEiG8a184cKFcW0tGep+A92ntrb2g7i+dLDH9Pb23rd58+a9koXRbFcm1dXVYx3HOQ8Xz8AyG4+feOo27EcpKirqWxRen44Xeh5B6JkTJ048F6YANGDgmfMvR+dIT+/f4bCwTkYwzocoUCyrGG/u2xNOch7e87fv+vi4XUJERqFlIV5YWDjiLmYctN/0f7ROSH19fTsO4M90d3fveOihh14f7LE7d+7smTVr1j4c1KdJBl1dXbsH+LmzsIwb7DEFBQVFkqXRbNdAampqxuO5rsDFxdjmguE8BvfXk4/ergtagBIIpFtLSkq2btiwIfDjHt8yhmfB+vaJVlz+HjvnWmHYofDT9/gfScz9O23VFCIKsjIcuy5HgLoNB/vlme6YSqUezHQ7Woya0brRKoblarsQVC5DePkL3R/DDTv94XHa4lTb0dHxeYTJBRJwbw48d7h2t937WVfca92T4x2IQq/vvY7WzHii9zP6NyBEFGja5QPX4CD9rsHug+6v5xAefoKA0dvvpm50S93b1NTUKHmQi+1C2NFT2t8z0q6vweB5JqDl7GPYn4slwN4UaubObHm3m5Jb9OUJUbToe/6Ts2a0PIa24g1CRGGwFAfp3k2bNv10oBsRHn6xdu3aZ9CtNhGtIS6WtoaGhhbclNfum9FsF1q2/ggBZYXkGJ7TRgh7L8JUDNvyawmgNwKPnqbrukk9G4unu1FUFaF55xsz7mx7/LWPlr8kRBQGK2pra59rbGx8fqAbN27ceBSro+Iz2WxXdXX15WjZynnYOR1anwLbCn4y8PzoR47dlvqS2NYkIYoyy5occ1NfvGi9+zFWZSbyB3SnvNLvKm2R1fE65TJUeZWTrsHyv0+/QmvZlJSUzBjsAbFYrBUtGYfEsGy3C2FnMsLOtTIMWsAQyxEsh7EPtXKz1tXTAc5zZJDZEvQx8P3Nmzc/MdTz62nv2JbyeDxeiseV61ltWMbg8R24XscftXd2drZu27atQ4ZpGPtlN/ZL96n/6/7Az5yG11SCdTta+Z7ue6PMOlG9SCx3BV4Ru7Io2k7WmlrZV1Vc5HdCRHmFA2YKB7JvDnKzjS4cPQOpDge28sGeA7dNRtfWVBz09p+6Tg+eOCB/XAb3Myw/FcOy3S68xndqt1OGx/WFFqweQth4eJDTzW3sp/m439V4rumnXa/jh+5C2HlxsOdOnxGmY3wW6plsA91Hz6Q7ZcyYMTrWSAPXgxpGZAhD7ZdEIvH3WO3F9i/C9i/H8849dRuC1uNYPR3TKSNakq31KZFKph0ihT9026m7aP2jTz9202K28hD5V6qpqekRHGz34CB3m55VNOgdU6m3YbVfQghddmchbJyd6T7YPyew3ImuvV0Z7pZC+HgB639AGLkS+3OlPg6BYT3Czp6BHqCtOcXFxWv0Yqb9P5B0PaAPYft34fJ9CLavSZawnTGEnQ/h4nn9Sxbg/321mexDJW0lCNBrLZ6VRZTm6qmYV+skuUJEvofQsw8HvBeGuNs0CSl8Xl061H0QWu4eIuyczkX4eBAhcWNPT883mpub9wx2R4SdMRqMRhp2TpfuSrsN3VDnSpbQevRhrM4b6DY33XtlO12JydhdFwoR/TfXvSBuFXFMG1FApMeiDAoHvawLAvqcjdeWsXUHweURPd1dRggBaSscyHQfBCMt9viIjJJ2xzmOc72OvZEsIDSVDXkfV+IrpW9yRSJ6gyWFKddZJUQUCO4QY1BxMA18peCBrF69WruzMoa5rq4ur2sKNWPplVHSViL8nq4Uj9iSSq4UInoLfHq+Q4goEHCwrMx0O1o5jkgIoStneqbb8br3eV0xeqBWHvzcNiy/xPU/QrfYv+Gy1jfbjv9nHBeJ3+O5VVVVE8UDMTz9OUJEA7DOEiLyvdra2vOHmmUcWiScxma6EfvFSNBLJBKb4/H4YgSa3yDcPDrYuJ+lS5c2l5WV3ZZpPrLCwkLNJb+QLOlZWXj+V7G0YOnF//sqTiPwuDM4ZRbRQNxZQkR+ZC9btqy8tLR0PC5fhiXjOFQ9HRtdJb+XEBpqbJKeZSUjVFdX9z8HmxFez/RCi87O/tdv2bKl7aqrrvpfDz74YMaft3379mMIqD/F898w2H3QRZex1WowCFp6qv23m5qadg10ewzxr0SIaCBjhYjySgez1tfX/6OMAg7ST6YrF4cO9k/XELcbG6M7VNg55dixY6+Wlw9aNkl/X+WSBbzWBxDGdg12u56KnvWpZEQhVyhEFGg6CSeWZgmv9iFuzyo8ZEOrIaPVbSFa02bKyTIAeuaUfnEcM1RRxH5G3BCDkHR0qDm+WHuHiIhCSas040D7nebm5oMSUghzx9AFlOkusxcuXFiwc+fOHvGOhW6qFdjXq3UKCRmlbGr64DFDTgMS2EnAiIiIMkHg+eFA403CJJlM7sp0u7aszJw5c8jChKNgI+x8EKHr6lyEnWzpvGBD3YeBh4iIQgUHvwPd3d3fbGxs/K2E3NatW3US0IxTZiCMVGl3k3igpqZmBZ7/fMkzhK0hpwFilxYREYWGdmNpZWEEgVckInRQNg74Uwe7XU8BLy8v/3h1dfV6dO8dl9yxEHaWy+DbpfNwbcLFPfj5ezds2PBG8Ue0Cn0VjzWaQRh4iIjItxBeXBywt/S7ehKuWzTQ/bULB8uVq1evfnnLli27JQK0wB9WKzJVXMZtM7D61Nq1a3+wcePGnIRBPFcFQk3FYLfjti0IWL8Sn2DgISIi39KZrhug/9VoIZiAg/jMgR6D661YLHbdunXrvnZ6q4IJaNG4tK6ubkRFSxFYEk1NTVskS9pqg66lzbh4Vab7Yb+MRwi5Bdv3IrbzSVx+Y6Av9lcc23Em7nPuYDV4+kskEhV43KC343naBroeLU0XmW7dUQw8REQUNNrqczcO2LcPdkYPDqiTOzo6NADcLwbh514sI5SupZN14FEITD9DkNGwMneo+2pVagSVt1SmdhxHRgKhqT1T4EGAuvyqq656/vT6PDojOn7OtZIHHLRMRESBg0YfbZ3YlOk+CETLcYAdMgCERAoB5C4xOIXG1q1bj2IfHxvsdgSbM3p7e79YX19/PVrkrkEg+ywC0ocRuDwZQD0UBh4iIgokhJ6foxVh12C3a9cWDrrvx4E2EkVE0wOS78Q+GaoYYa70DRDPdId0uLlQBzdnGlhtAgMPEREFFRoY3Lux7h7sDulJKt8pEbFp06b9CCFfw355UXIIz9eJ59WpG54//fr29vaHcFs2E5S+kOE2VzzAwENERIHV1NTUgm6TBzPdB6Hn0rVr154jEaEtPQgm/4qAsiHLMPKGdNDZhq6oLzc2Nm7DVW8aBL5jx45O7N9/16kdhvuc6Hrbit9ZpoKQnsxozsBDRESBpqc+46D8Uqb74Pb3VlVVFUl0uAgoOxB8voIw8p94/U9h3TGsB7puEssrCCb3dHZ2fgnP80CmiUG1VQn3+1utuZMp+GAbDiYSie8hpG6UPLDm3NniSdMRURjs+uh4T75pEBHlQ319/VQEkwlyclLPsafX7kFY6XEc59Xjx4/v3rZtW69kCT9jNlpwJuK5yvGc+hnajlagFoQvrf+Tt8zBwEOUAQMPEVE4sA4PERERhR4DDxEREYUeAw8RERGFHgMPERERhR4DDxEREYUeA88QbEskbmsVpPCcrNOV5Il5REQULQw8Q5hb7shtFxZJgROOwJNyXfnUtuMIPUJERBQZDDwZaMS5aLIja+cVhKh9R+TuKd2yfW/WNaWIiIgCh1NLZGAh5SyvjIcq7KjVs+JCREQUJQw8GWjQOX9i+BrBNMQVx1hAmIiIooOBJ4OZJbZUloZvF00otmVuGX/1REQUHTzqZXAFun5CMlb5TYrRaLVoModvERFRdDDwZFA3p0DCSM84e/tkB2shIiKKBAaeQZQXWnJBSFtBtNFqfoUjE4r46yciomjgEW8Q505w+goOhtXMUlsmFXPgMhERRQMHcgxiWWW4T90ej9adtyHUPX04Kay7TEQUHHV1dTNc1/2BeMyyrOsaGhpek5Bg4BlAEfbKxVPCv2tWzozLD1/oEZeJh4goMBBExmC1XDyW/jmhwS6tAUwf68jE4vDvmgsmxUJ5FhoREVF/DDwDmFduy7ii8CeByWNOdmsRERGFHQNPPzo7+lnjHCmJR6PpQ+cJIyIiCjsGnn7GIuicj64eOyJdPfVzwllckYiI6HQctNzP2JglCyqikwOnlTgyp9yRl1uTQjRc1dXVY23b3m9ZVol4zHXdmxsbG9cLEdEosIWnn4nFllSWRmdcizbuXDKF43hoZBzHudFE2FH4OX8uRESjxMDTz4oZ8VAXHBxIzZyCyL1mGhULrS6fEHMW1NbW1gsR0SjwMNfPskrve/m+t7NbvvlEl/zkpR7xgxkldt8ZW0TDgfBxDVpd5opZnxIiolHgGJ7TFKFn58JJ3u6Szl5XvvybE5J0ReaW23LN/PyfJTWh2O6bW+v1jpQQDYPx8IGAtbqurm5hQ0PDTiEawpo1axah23WCeMi27T2bNm16QSgwGHhOc/HUmBTGvD1laeeRpPSkc8WeYylJ4HK+u5PKCiw5Z7wjv3g9ISlWXaYMEDouxGqZ5AG60T6D1YeEaAixWOyrWK0RD+H9+E2sbhUKDPZjnGblDO/nz3r0QO8bl7uTIi8czf/ZUXoK/gWTHBkT4/nplFk6dOQFWnneu2rVKk+/tRNReDHwpMWw0/M3pAAAEABJREFUJ66Y5X3g2bEv8ab/P3ogIX5w7oSYlBYw8NDgEDamYLVO8qewoKDgk0JElAUGnrTZpXbfDOJe0vE7Ojv56Z485I/6N9NLbJk2lm8HGhzCxqfQypLvbvBb0K1WKEREI8QjXNq5E2NS4HE5ml3tqTfG75yiXVx+mK1cu7VqZnvfwkXBlA4ZH5P8G4flA0JENEIMPKBTK1w8JSZxj+eTeKU1Kb39GnT2HU9Ja7c/zo4y0aVHweS67kfkZNjwg9uFiGiEGHigvNCSeRWO5/NnPXW4Fy08b27O0f/+od0fgWdeuSNTWY+H3kr/MvwUMhbU1NTUChHRCPDoBlp0T4vveamr1+3r0hrotO9X2vwxjkcD3xp2a1E/CBf1eSg0mJFt2yxESEQjwsADlX2Vhr1t3mnpcmXvAIX9dPzOM0f8M3Fn7Zy48FwtOh3Che/mskIX2xotRChERMMU+cCj43cWTYpJoePtYf5IV0oOd761eUeveak1KQmfVPw7e3xMJrFbi9LSoeIK8Rm0OOl8XpxUlIiGLfJHNq2/c9k078+01bCjoWcg2vpztMsfgacYu+KCiZw9nU5CqPis+BQyz/tZiJCIhivygUdbds6s8PYAr403z7Yk+6aRGEh7j9sXevygAPtj8ZQYDiZCEadhAqHiT8S/CuPx+C1CRDQMkQ88iyY5fWdpeUknCn3iUO+gt2vg0dPT/UB79s6ZgH3CqsuRl65q7Osifwhkf1ZVVcU5AYloSJEPPDVzvJ+tPIkmHh2nM5gOBJ4DJ/wzU/mcMkemsupypKULDQah9WRScXExCxES0ZAi/c1IT8NeYWDC0OMJV147NnigSaZr8fhh5nQ1ZYzVd5r+cy3+OXuMzEqlUtfbtu2XQoND+RyWu4SIfKmmpmY8WmPLkslkha4dx+nB5VYsR7du3XpADIl04JlZavedku61xw8NPn7nlJfbktKD5ON1tefh0HE8l06LycN7En1hjKIHYSdvs6JnYUF1dfWa5ubmzUJEebN06dJSWIlQswj/PT+9nHnq9ljsvyMHQk/fgtZkPTmiBY/5A9a7cNPL+MLV7MXfc6QDzyVTzLz8HXuHnhF9D1qAetCgMtYndf8umRqTGMJXkokncmpra2uwWiABkq4V5KvAg/14AB/ik8VDOEDc0NjY+F3xEL6dT8P+3Ssew2u5AK/lqcFuR6i9HAfI7eIfOpHtqLp929vby7Zv335MAkxPbojH4+/ExXV4v9dIFvC48VhpK9CF+n/8nm/HvtWWn58g/PygqanpF5IDkQ48Kw3NHfXr/b1D3keLEp6cdsIfg4XPGef0ha9u9mpFURCrGOO4XDMfH4wvCRF5bvXq1ecg6HwRQfWPEVS8yBJTsNyMsH0zws9uXL4HXWD/gZaf5yRLkR2ZOr7IkrPGeV9vRgckD2csjJ6pNVAl5nyJo1urzsCAbvIXDQ1YVUvAaCFCfDD6tmYQUVjgM+LtCCAPIuzsxH/f51HY6W8Wls+i5edZtJz+WFsdJQuRDTx6JlKpgVOvX2hNynCLKGc6dT0fOK9W9Gho0PAgwfQBFiIk8saSJUuKEXT+Lz4jHsF/r5Q8wcfTtdiG57Ett8oIu0QiG3jOHu9ImYHA89QIQswTh/zVf7RkWsxIKCR/0DMpsHq/BJcWIvy4EFFOIVysqKio0K4krc3lh1L8pVi+jtaeh9auXTvss0kjGXgK8etaiMDj9fxZ6rf7hx94nm/xVwuPnq110WROMxEV+NakYaFYPIK+/p9gdb94CN/+PsFChBR2iUTCyNkk+nMQdr6Ai9vkZLeSr+DvvSqVSj1RX19/3nDuH8nAo60W2sLjtQ68J19sHf64nF3tKenq9ddZUVfM5DieKEiHhE+KhxB4vo0Pp/XirUlFRUVBbqUiGhJaMo00vTuO83Wsviz+NgufLb9Ea8/5Q90xkoGnrMCWueXev3QdhNwxgiCuZ0S92Oqvbq3FU9mtFQXFxcXXYTVJPIIPpD1NaXpZPIRvfZxFnSgH8LdUK8FQhmUzWnpmZ7pTJAPPgnG2jCvy/qXvPpbqq7I8En6rbqxns80q5TQTEXC7eAgfnNqyo38Mbvqyl87Dt71VQkSRoTWv8GXqIbRWTxzsPpE8kmk3jddtFvrJ/mpbUk6MsIvqdwf9NY5HJxE9d6Ljk+pA5IWampqVWA2rDzwb+BDq7ezsfCPk6GW9TrwVxFpCRDQ689Clfc9gN0Yy8Cye4v34nW4EHZ0uoneEpXWeOjT809hNKIpZcv7EmJEB3pQftm17HQ4e2LZt2+FT/0lffkC8VZ+uKUREEYKWnlVo4b1hoNsiF3gqx6KLpsz7wKNdWa+2jbyQ4JEuV9q6/VOAUJ07wZGyQgaeMEqHgrXirW8P87qcSRci/LQQURT9w0BdW5ELPO+YUSAmGiuOo8H+9SwqJ3cnXdl73F+BZ265IxUMPKGEXHCbePg5oAOUGxsbm/tfr9d5PXgZPlBXV1cmRBQpOjcXura+3v/6yAWe2jlmqgcf7UrJwRMjDy46gegf2v0VePQsrYunsLRJ2GgYwAfDh8Rb/yInh7T156Zv89IYLKOa3JGIggmfbX+Mz7gzTr8uUoFHKysvmmTmwK1VkxNZ5BadQPRln52arlbN4jQTYZNKpW6Wk6HAEzowuaur698Gu11vMzB4+TYWIiSKJM03n+5/RWRoscFCQx99j+7P7nNcBzlrAcIen2WexWjhsdmrFSY2fEI8hG9YPz19sHJ/epveR7w1qbCw8L1CRFF0Q3rKnD6RCjzaLRMzdNR+5kj2X1wPdo68fo/XtFtrMbu1QqO2tvY9WFWKh5LJ5Ppc3Ge0EOw+I0QURcX4+7/u1H8iE3h0/qxFk2NGBiy3drvy2rHsx+EcOO5Ke4+/Ao+6ah6nmQgRT09F1wHJzc3Nm4e6n97HwODl83TyQyGiyMHnyxszu0fmK/vkMbbMKDGT7353oFdGMyXWka6UtPVoYPJXHl09Ky5/85uTU2BQcKF1Zwm6ki4Rb31rhPf9W/GW9uX/TCjI2nHw+sVw7oj3txbSrBAPYVv2YvWyjEIqlfJXpdkQwnth5cKFCwt27tzZE5nAU4mwo6HHhEf2j+49rC1ErV3+a+GpKLLkjHJHdvps+gsaGXwAeFqfJj1Y+c7h3l/vW1RU9NfYLs8+j/RbntYcampqekkokNAa+AxW7xjOfdGip6UQ1oiH8H69r6Gh4VYhvyuYPXt2PQLP/ZHo0tJhO/MM1ZLRmLJjX0JGQysta6jwW+SJWZZcNo3jeIKsurp6JlbXiIdwILg/02Dl/tKDl+8XD1kncboJIm88gy8V92DRltqPYb0Wy/W4/Bms/xNLm+RXvf4TiaNX3D5ZR8bEeGWtkvxK2+jr6Ow8jMDj6ge1+IaDeHwJAs/dz3X77iwyGp70NBKeftFBM/2IByLrY7Bt7xYPIfDcgG/+f4Fv5e1CRKP1Opbv42/3e2g5/f1Qd0ZX+tVY/SX+Di8WwxC4LtV1JFp4ChzpmwDTBJ1OIpGDybBeaPVfC49mr9mljkwZE7l6laGA1p2xWN0oHsIHy0v48NsiI6SP0ceKt8bgZ/ypENFofQVfHGZg+dxwwo5qbGx8AMsl+Bt8F/7bKWb1FSCMxJFrfJElc8vMBJ5n0RWVzEFS0Wkp/DSJ6ClTxlgys5SBJ4gcx7kR365KxEN4/mGP3cnlY0fwM7TyMt/ARFnQrim06FyJoPNFyRJCz314jiW4OOxu79HC3/3Y+vr6qZH4w185I97XHeM1DShPHeqVZA5mhuhIuLKn3X/9RuWFtiyocFiEMHgsfFh5WmhQByt3dnb+u2RJH2ug8nIlurVYiJBohPRvE0GlBi06G2WU8BxPJpNJr6e1eRP8vDOjEXhmmpkWQYsF7j6WyllX1GMH/XfGogadZZVxKXSYeIIE/efX4FvOXPHWfSMZrNxf+rH3ifc+J0Q0Ivj8uKO5ufk3kiN4rv9CiPqumDMt9IFHCw5eOtXM2Gytn3O4M3f9UL/d788SDToeqsBMDyHljokzlL4to5eL5xjKeTU1NcuFiIbrZ+jG+orkmG3bn0foMTV4oyz0gUcnCy2MmWmN2H/c7Qs9ufLU4V7fDVxWOmh5fjkTT1CgC+dCfDtbJh7SAcfom98qo6TPYWDwsn7Q/rkQ0XCcQHeznkGZ88PRpk2b9mP1SzEAf/MloQ88S6ebad3Rd8Le46mcTgnxUqv/5tQ65eozOHt6UCBAmJhLKpctMyZaea5O1yQiogzw+dE0mq7qYWgWM8LdwhOzzY3f0VnOn29J9q1zRc/2Gs2cXF5aNYvzagXBqlWrpmC1TjyUrqz8b5Ij+lwGBi/bnFSUaGj4W7xXPITW50fEALyOcJ9frNNJTCw28xK19s7vj+T+M/rlNn9W+NN9ewa7tXyvoKDgU15O2aDw/D/GN8BWyRF9Ln1O8Rh+xkfQ3VcmRDSo7u7uB8RD6C4zEngk7C0854x3pCRuZvxOInmy6GCuPXnIv3PLLa/kNBN+hoN5IVYfE49lU1k5H885AC1EeJMQ0WAexBeQDvGQfsHB3+ER8V5BaAOPnj79tgmOFBsKPDpY+cCJ3AeeZ48kfVmAUNXMjrMej4/hQ+QjWI0TD6UrKz8sOabPaWLwMlp5PiksREg0IPwNPiZmHBUDQvuHri07Z42LialyMTpDetKDYHKo05WWLn+O45mNLq3K8I97Dyp9598uHkNg8KwlxsvnPk1lbW3te4SI3gJ/gyZaXvTn5KxLPJPQ9kmMK7LkjApzB+NHPKqZo2dptXS5MrFYfOdkqHRkj08HVkdZdXX1WgOFBvUb4FwEhr8WD+C5x1tmZs/VU9TvESJ6E/wNmpr+wUgLT2gDz4QiW6aPNRd4njjoXeDZdzwlC8b5b4DwGAQerXP08J6EJ61blD3HcUwUGtRvZoGfjFNnb0ZAvLy5uflXQm9h27an3aLkX6lUykgLDxwXA0LbH7F4SkyKDBUc1LE7f/ColUPn1NKJRP3ISY+TKi3gQB4/qaurW4jVFULDhoP6pyWAENY8rw+Bg94UoUjCFydjE3yaENoWnqoZ5l6a5qq/vnyMeOW8iY5o8W3Lh7nijApHxqM1rbXbn6fPRxGaoT9r+fHN4mPYX+/UQoRo5dkjAYLftaez3yuEwclCkdTb2+vpGVqmhTLw6DxP50ww99ImFNty3dmFEkVTx1oyo8SSV9qEfGDVqlUTcPD+E6GRsvFtVlt5bpMAMRF4gIEnouLxeKi+OYWyS2vRJEcqCvkN14S4bckVrLrsGwUFBXqadTTT9yjpafxo5RkrAYJwWyoew35h4KFQCGXgWcMDsFGXTWUBQj9IFxq8RSgrCA8laOW5WXLHRNXQGeIx7JeLhCgEQhd4dCDt6tmc2NKkM8fZfTOoU36lUqnrxeNCgxGgZ7fl6s18QjyGMHKBeGjJkiVaEGOVEIVA6I5SWghvZinneDLJtiypnbLgkowAAA/iSURBVMOQmW+cDDMnKmtqat4tuWHiVNuzFy5c6FmTdkVFxbVYscmcQiF0gef8STHh6B3zrprHz8R8qq2trcFqgdCoodUkVwOXTQQee/bs2Z61wLiue60QhUToAs+KSs7vlA+LJsdkQhF3fB4ZKTQYBQg8S+rq6i6UUcLzGCmmBu8TD6xevbocqxohColQBR49M2v+OI4lyQeNOhdM4uDlfEAXzHysqoVyBi0bfyGjhOfwfAxP+uf8UXqsTU7F4/FvIbQF6qw1w/iBFzChSgfTS2yZWMzAkw9a527lzDi7E/PAtm0tNMhdn0PYne/SQoQyCniOvWKAnl1WUVHxeckhvPYrsbpOAgoh8Jh47wyhQAlVOphX7rBbJU90r+s0E+Wsf2SUFhoUj7o0Ig450h5VNyEOus+JIfhZX0BIOVdyQLuyHMe5SwLM0CzfHDMXMKEJPHG8knPGO1Ic4wE3X/TU9BmlbGEzCd0OH8fKu3lNou3G0RQixEHXWODBz4ohpDTW19efJ6NQV1d3RiwW246LkyTAEABNBJ7Z6dpXFBChOTrpRKEXTuLp6Pk0odiSs8Y57NYypKqqKoYD3SeEPKFdRWjl+Zhkqbu7+/diVmUqldpRW1ub1dQiNTU170JQeBKv+20SfC1iAPbXTUKBEZrAoy07C8Yx8ORToWPJokmxvrnMyHvFxcU6xiLQ38QD4FbJ8nPyoYceeh0rE2NJ3qCDjLH8P4SezWidunyo++tgZwSdD+H+v0K4uzcsg5QNdWmpr2D/TRMKhNCMMj+zwu6bxJPyS+cx0/DZnXSFPHe7kKdw4JyLbotrGxoa7pXs/BrLGjEM270aXVyrse3aCvEIrnoU6524/lUsOth2Hv5/NtbLw3gmFlq6jiDAidfSAfPupUuXvnP79u3DDrf4vbx7FO8pylJoEsKa2Sx85wdnVHDgsgn4VrkSq1GN16Bhy7oQIUJFg+QZDsiXYPlTBIBvYr0RV30dy224XBvW084ReHaKOVeUlZU9jVayi4e4n6XdjVieweUNWC8RMio0LTzLprMkgh9o687yyrj8ob1byDujPYOIRmSpFiLEN/LHZYSSyeR/xWKxfxQyavPmzS/id/aaGJhcNW02wuMjCDEbsX4GQfdZLIfxdzpPtwGX5+L6Rbh85mmP0bMrdwgZE4qUMG2sJXPLOXDEL9bMisvdzzLweCVdaHCteK+7s7Nz6rZt21rFh6qqqiqKi4v346KJM2U+h2XEg4H1wIuD4Es42M0XMu3nYriWEH7P+ne5VstinV4aa6AyWbjufevWrfvkhg0bkkJGhKJLa8k0TifhJ0umxaSQ+dMz6bmeTPzt/tCvYUelt+2HYgC+ob9r1apVUyQL+H39QCgftom/VbS1tdUJGROKFp5Vs8zP1P3YgV5JGR6XO6vM7qt143dxx5Kl0+Py0J6EUG6hmb4Mqw+JATjI/6v4nG4jAsUHxGNa5yYej+sg8RHPSN/T0/N1PPYL+hxCJj0kPuc4zvux+i8hIwL/B6gDZE3P4dTW7cotDx+XXsOJ57qzC+VTb8/5lDmeqJnDwOOFVCp1s23bJgoN7mxsbPT9+ALdRoRAHaC6ULx3c3V19R3Nzc0jmhR069atR7CN2hLFitgGNTQ0vIz9fgAXs2qZM0HnQUPXbBFaK7uEPBf4wDMPrR4lcbP9Wa+0JeXgiZTxFp6mXYnABJ5laOEZg3fXiV6h3NHpDkwVGvR9685pdFu/Lh5LFyL8SDY/K5lM/h98m2fgMW89lr8Sn8J7qqi4uPg9uPg9Ic8FfgzP+WjdKTIc23YeSUo+qswcQMg61JmSIBiDEDq/ggN5cqm2tlY/GCvFezpY+T8kINLbamqUvI6fGvE3LLQKPYbV/UJG4b3xNbSiGKm6PArvFzIi0IFHB8aeN9GRAsdcC4+LpPO7g719a9N6kmhdag1I4EEIvWgKhyzkmJFT0XGAuAdN7B0SELqtus1igBYiRPB8p2QB3ZF/iu0MzH4Ng/R74+/E367IdkA8jUygA8+4QrtvhnSTHVrHEq7sas9P6EigD+33R4LRR6QDly/oa33j6XO5oEXKtICcGICfE6TurD6Gtzmr4NnU1LQP2/k/hIzq7u7WLsgD4l9OPB43evp8VAU68EwstqSyxOxLOIRupaPd+Qo8Ik8dTkoyAI08GnPml9syoYiBJxdwoPy0mLGzoaHh1xIw6W02Ul0Xv4vlWohQsoDt/CesNgsZkx4Q/DfiY3hPMfAYEOjAo8UGTc+fte94Slq78zdP1N6OlLR0B6Nba2aZI1PHcn6z0aqurp6J1TViALpdviXB9S9iCLpJRnx6+qmHtre366zkzwkZg6Cp7+t7xb8WpwuKkocCezTSwpVa4M7g8J2+cTt7jqXkWE/+As9+tDAd6QzGxJylBVbfGCu28YxOehoJz/9WcRA+jub/70pAdXZ2fkdfg5ixLttxF+lJJuuwrW0SENjWfQb3rRdSJSUlf4LX0CQ+hVaeDwp5KrCBRzf87ZPNDortSbny3NGk9OaxgaWly0XgCUYLjwadFTPiYjHxZA2tOzq5441iAD5wfxSkwcr96bbraxADtIhgQUHBn0uWGhsbdyHILsfF18X/dmO5HEuQA4/oFA67d+++WvxbkJBlCzwW2MBTUWj+tOfupMjzLfmd9uR4wpUXWs3XAMrWBRNjEmevVtYcx7lR67+IAejOCtxg5f4Mv4Yb04E0K5s2bXoa26szbD8rPoUWkVexWqoBTUJg586dPWgJXIvX9W3xGT0DsK6u7jIhzwT2ULRyZlwcw1vfnXRl97H8t648frBXkgEJPOOKLOMtcSFi4YPZVKHBnU1NTY9IwKVfg5HByzAOgXRU03zomVtYXYbf8y/EZ7BNd3d1db29oaHhNQkRHcSMAHcTwuaVfqvRg+25XsgzgQ08tXMKxLRWdCdpheV8e64FgScoTTxw5Tzzv6swqKmpuVa/9YkB+KD9ZwkJk68FP0u7tUbVaYtA0V5aWroSz/VnWA5K/u1GGFiDUHC9nyePHS2EzY2JRGIh9vnD4hN6tta6detYsdUjgQw8WnBw2XTzrQa/2pvwRcvKq+0p6QpKEw/UzeFs9tlIz4ruOR2Mim/yoSltr6/F1ABbDaQIplfLKOn4EgSMb2Hbz8C2/20+BginWzv+srW19WyEgS0SAVu3bj2A/X5FMpms1gHNWPL5wfooguYN+l4Q8kQgA8854x0pzENBu9/s90fRPx00vWNvcCapGldky1nj+KVlJLTOCw6my8QA/JwfBnmwcn/pwcs/FENyGUx123EA/gKCz1Qc/G4RM91zWpTv8/iZs9Ha9OUdO3Z0SsQ0Nzdvxn6vxe/yXGQe02cq/gy/6zrs+4sRNH8q5JlADq64fFpc8uGZw/4J3r/a1yt1c4PTVbS8MibPtvCLy3BpnRfL0Olt+FmBH6zcn74m7L8PiwH4OVUIqAtxwMpZOEkHUO2a++fa2tpleD21tm2vwv9zMqhVp7jAdt+Hi/diux8U6pP+Hd5QVVV1S0FBQZXjOKvx/1XYX2+zcvgHied7Cqt7ent7v79ly5bdQkZYc+5sCU7fCGjdnbvrSuQyw6FHx+4suafNN2dHzSmz5eF15RIUv96XkA80dvRViw6SXR8dz8448g0ciEsKCwuXIfxchIPm+bjqAhyHzxrGQ1/G8gSWx9Ga8BhaEhqFhq26unoyws8avYj9fjbWk7HfJ2BdOoyHv4jleTzuWTzmuUQisQMhx7dn5oVZ4Fp4po21ZfIY8z1xTx7q9dWp4Dqfl05xofOJBcEU/M6m43f3Bx+c5UYUVOmWn8b08oaamprxaC2oQKuEfgsqQ6jpxAG6FQfZo2i1OCQ0Kujy0sHk308vb7JmzZrp2NcTEWbG6X5PJpPHsG5HMD2mA9KFfCNwgUenk8jHQf4Rn4zfOd2zR5Jy+fRgBJ7xRbbMH+cw8BB5AC02OuDYV6dYR8XmzZv3YrVXyPcCNWhZz/Q5s8Lum7LAJB23/9sD/gs8fgxhg9Hf2cLxjtGpQIiIiE4JVOApwtHy3IkxiRne6iNdKdl33H9DnbbvTQSm4rKG1YumxGRsnImHiIjMC1TgKcHBcuEE86c3a3Xlbh/WvTnc6WIJThfRmejSKilg4CEiIvMCFXjKCy2ZVWp+k587kpSuXv8Fno6E2zd7e1DowOX55azHQ0RE5gUq8CyZHpNiwwUHtctIZ0jv8WEJmeMJkVfaglPbRsfv1M7JTw0lIiKKtkAFnhUzzJ9Upq0or3ekxI9DZbTV6QWEsd4Anfh0OUKrxV4tIiIyLDCnpVt9iyVPHDJ7ZtLhE65vW1E0hD2D7rbfHkgYb/nKlp7xVlFgydHuQNW7JCKigAtMpWU9nE8Za75Bqhd9Wq04OPu1FUUnUi0vtAM1OWdLZ0p6AtIqxUrLREThEJgWHk1l+4+zaF1/3cmT014QERHR4AI5eSgRERHRSDDwEBERUegx8BAREVHoMfAQERFR6DHwEBERUegx8BAREVHoMfAQERFR6DHwEBERUegx8BAREVHoMfAQERFR6DHwEBERUegx8BAREVHoMfAQERFR6DHwEBERUegx8BAREVHoMfAQERFR6DHwEBERUegx8BAREVHoMfAQERFR6NlYuoWIBpIQIiIKBQ08x4WI3sp1O4SIiEIBgcfaLUQ0AOs1ISKiUEDgcZ8XIhqA+6wQEVEo2K7Iz4WI3sp2HhYiIgoF27aSW8XlwGWifnosSTDwEBGFhJ1wuw6JZT0pRHQa9/FkUfygEBFRKNhTkgeOua77gIjFU3CJwBWr17LsjZM6ynmWFhFRSNiP3bQ4IalkAz7m9woRiSXyetKxNj12E78EEBGFhdbhkYky8Wl8zD+MT3pXiKJM/wZc92e7xzQ/IUREFBrWqQsz7mybH5PeX+KqKUIUVZZ7MGU5S3Z/uOIVISKi0LBPXXjto+UvpURuxcUuIYoi1+3EN4BbGXaIiMLHPv0/u18b/2Os/kmEXVsUOa4r1jdf3TP+XiEiotB5U+CRO6xUIh77GuLOBkusXiGKAH2vY7mvMBX7qv4NCBERhY7d/4rXP1h2RHqtz+HiT4UtPRR+LtznJuT2F24qOyxERBRK1mA3LFjfPrHb7v2sJe4tYlnFQhQ+Ol7tn7RVsy/oExFRaFkZb73DtefObHk3mnm+gbtO0opsQhR0J089P6iD9PvGrbEbi4go9IYVYGbd1TrPTqa+hJaeFQg/lThexIQocLSQoBbYtB7uFfvLemaiEBFRJAy/xeZHP3Jmnahe5CTdetdNrcVDL8S1BULkdzo5rmU92TeFSirZoIU2WUWZiChaRtxFddF6N36opK3E6UpMdiW+EgeQlXiac3BUmYGDSgnuEhei/OnGchzvyd14Tz6PFsmf21Zyq06Sq/PG9U2lQkREkfP/AQAA//88SKkNAAAABklEQVQDAA6qYV8FYNJoAAAAAElFTkSuQmCC";
974
1019
 
975
- function SignInForm({
1020
+ function SignIn({
976
1021
  // Configuração
977
1022
  logo,
978
1023
  // Removido default, será calculado abaixo
979
1024
  title = 'Entrar',
980
1025
  subtitle = 'Acesse sua conta para continuar',
1026
+ // Variant
1027
+ variant = 'card',
1028
+ opened,
1029
+ onClose,
1030
+ modalProps = {},
981
1031
  // Features
982
1032
  showMagicLink = true,
983
1033
  showForgotPassword = true,
@@ -1052,6 +1102,10 @@ function SignInForm({
1052
1102
  logo: finalLogo,
1053
1103
  title: title,
1054
1104
  subtitle: subtitle,
1105
+ variant: variant,
1106
+ opened: opened,
1107
+ onClose: onClose,
1108
+ modalProps: modalProps,
1055
1109
  ...cardProps,
1056
1110
  children: [/*#__PURE__*/jsxRuntime.jsx("form", {
1057
1111
  onSubmit: form$1.onSubmit(handleSubmit),
@@ -1140,11 +1194,16 @@ function SignInForm({
1140
1194
  });
1141
1195
  }
1142
1196
 
1143
- function SignUpForm({
1197
+ function SignUp({
1144
1198
  // Configuração
1145
1199
  logo,
1146
1200
  title = 'Criar Conta',
1147
1201
  subtitle = 'Preencha os dados para se cadastrar',
1202
+ // Variant
1203
+ variant = 'card',
1204
+ opened,
1205
+ onClose,
1206
+ modalProps = {},
1148
1207
  // Features
1149
1208
  requireName = true,
1150
1209
  showSignInLink = true,
@@ -1191,6 +1250,10 @@ function SignUpForm({
1191
1250
  logo: finalLogo,
1192
1251
  title: title,
1193
1252
  subtitle: subtitle,
1253
+ variant: variant,
1254
+ opened: opened,
1255
+ onClose: onClose,
1256
+ modalProps: modalProps,
1194
1257
  ...cardProps,
1195
1258
  children: [/*#__PURE__*/jsxRuntime.jsx("form", {
1196
1259
  onSubmit: form$1.onSubmit(handleSubmit),
@@ -1274,11 +1337,16 @@ function SignUpForm({
1274
1337
  });
1275
1338
  }
1276
1339
 
1277
- function MagicLinkForm({
1340
+ function MagicLink({
1278
1341
  // Configuração
1279
1342
  logo,
1280
1343
  title = 'Login sem Senha',
1281
1344
  subtitle = 'Receba um link de acesso no seu email',
1345
+ // Variant
1346
+ variant = 'card',
1347
+ opened,
1348
+ onClose,
1349
+ modalProps = {},
1282
1350
  // Features
1283
1351
  showSignInLink = true,
1284
1352
  // Links
@@ -1316,6 +1384,10 @@ function MagicLinkForm({
1316
1384
  logo: finalLogo,
1317
1385
  title: title,
1318
1386
  subtitle: subtitle,
1387
+ variant: variant,
1388
+ opened: opened,
1389
+ onClose: onClose,
1390
+ modalProps: modalProps,
1319
1391
  ...cardProps,
1320
1392
  children: [/*#__PURE__*/jsxRuntime.jsx("form", {
1321
1393
  onSubmit: form$1.onSubmit(handleSubmit),
@@ -1352,7 +1424,7 @@ function MagicLinkForm({
1352
1424
  });
1353
1425
  }
1354
1426
 
1355
- function MagicLinkVerify({
1427
+ function MagicLinkCallback({
1356
1428
  // Configuração
1357
1429
  logo,
1358
1430
  // Token pode ser passado diretamente ou extraído da URL
@@ -1462,11 +1534,16 @@ function MagicLinkVerify({
1462
1534
  });
1463
1535
  }
1464
1536
 
1465
- function ForgotPasswordForm({
1537
+ function ForgotPassword({
1466
1538
  // Configuração
1467
1539
  logo,
1468
1540
  title = 'Recuperar Senha',
1469
1541
  subtitle = 'Enviaremos um link para redefinir sua senha',
1542
+ // Variant
1543
+ variant = 'card',
1544
+ opened,
1545
+ onClose,
1546
+ modalProps = {},
1470
1547
  // Features
1471
1548
  showSignInLink = true,
1472
1549
  // Links
@@ -1504,6 +1581,10 @@ function ForgotPasswordForm({
1504
1581
  logo: finalLogo,
1505
1582
  title: title,
1506
1583
  subtitle: subtitle,
1584
+ variant: variant,
1585
+ opened: opened,
1586
+ onClose: onClose,
1587
+ modalProps: modalProps,
1507
1588
  ...cardProps,
1508
1589
  children: [/*#__PURE__*/jsxRuntime.jsx("form", {
1509
1590
  onSubmit: form$1.onSubmit(handleSubmit),
@@ -1540,7 +1621,7 @@ function ForgotPasswordForm({
1540
1621
  });
1541
1622
  }
1542
1623
 
1543
- function ResetPasswordForm({
1624
+ function ResetPassword({
1544
1625
  // Configuração
1545
1626
  logo,
1546
1627
  title = 'Nova Senha',
@@ -1679,7 +1760,7 @@ function ResetPasswordForm({
1679
1760
  });
1680
1761
  }
1681
1762
 
1682
- function VerifyEmailCard({
1763
+ function VerifyEmail({
1683
1764
  // Configuração
1684
1765
  logo,
1685
1766
  // Token pode ser passado diretamente ou extraído da URL
@@ -1843,8 +1924,9 @@ function VerifyEmailCard({
1843
1924
  });
1844
1925
  }
1845
1926
 
1846
- function AccountModal({
1847
- // Controle do modal
1927
+ function UserProfile({
1928
+ // Variant
1929
+ variant = 'modal',
1848
1930
  opened,
1849
1931
  onClose,
1850
1932
  // Callbacks
@@ -1861,11 +1943,14 @@ function AccountModal({
1861
1943
  labels = {},
1862
1944
  title = 'Account',
1863
1945
  subtitle = 'Manage your account info.',
1946
+ logo,
1947
+ logoHeight = 28,
1948
+ width = 500,
1864
1949
  // Avatar config
1865
1950
  maxAvatarSize = 500 * 1024,
1866
1951
  // 500KB
1867
1952
 
1868
- ...modalProps
1953
+ ...containerProps
1869
1954
  }) {
1870
1955
  // Local state - which section is expanded
1871
1956
  const [editingSection, setEditingSection] = react.useState(null); // 'password' | 'email' | 'name' | 'avatar' | null
@@ -2179,39 +2264,10 @@ function AccountModal({
2179
2264
  })]
2180
2265
  })
2181
2266
  });
2182
- return /*#__PURE__*/jsxRuntime.jsxs(core.Modal, {
2183
- opened: opened,
2184
- onClose: onClose,
2185
- size: 550,
2186
- withCloseButton: true,
2187
- radius: "lg",
2188
- overlayProps: {
2189
- backgroundOpacity: 0.55,
2190
- blur: 3
2191
- },
2192
- title: /*#__PURE__*/jsxRuntime.jsxs(core.Group, {
2193
- gap: "md",
2194
- children: [/*#__PURE__*/jsxRuntime.jsx(core.ThemeIcon, {
2195
- size: 44,
2196
- variant: "light",
2197
- children: /*#__PURE__*/jsxRuntime.jsx(iconsReact.IconUserCircle, {
2198
- size: 24
2199
- })
2200
- }), /*#__PURE__*/jsxRuntime.jsxs(core.Box, {
2201
- children: [/*#__PURE__*/jsxRuntime.jsx(core.Title, {
2202
- order: 4,
2203
- children: title
2204
- }), /*#__PURE__*/jsxRuntime.jsx(core.Text, {
2205
- size: "sm",
2206
- c: "dimmed",
2207
- children: subtitle
2208
- })]
2209
- })]
2210
- }),
2211
- ...modalProps,
2212
- children: [/*#__PURE__*/jsxRuntime.jsx(core.Divider, {
2213
- mb: "md"
2214
- }), (showAvatar || showName || showEmail) && /*#__PURE__*/jsxRuntime.jsxs(core.Box, {
2267
+
2268
+ // Conteúdo interno compartilhado
2269
+ const profileContent = /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
2270
+ children: [(showAvatar || showName || showEmail) && /*#__PURE__*/jsxRuntime.jsxs(core.Box, {
2215
2271
  mb: "xl",
2216
2272
  children: [/*#__PURE__*/jsxRuntime.jsx(SectionHeader, {
2217
2273
  icon: iconsReact.IconUser,
@@ -2516,19 +2572,212 @@ function AccountModal({
2516
2572
  })]
2517
2573
  })]
2518
2574
  });
2575
+
2576
+ // Renderizar como Modal
2577
+ if (variant === 'modal') {
2578
+ return /*#__PURE__*/jsxRuntime.jsxs(core.Modal, {
2579
+ opened: opened,
2580
+ onClose: onClose,
2581
+ size: width + 50,
2582
+ withCloseButton: true,
2583
+ radius: "md",
2584
+ overlayProps: {
2585
+ backgroundOpacity: 0.55,
2586
+ blur: 3
2587
+ },
2588
+ title: /*#__PURE__*/jsxRuntime.jsxs(core.Group, {
2589
+ gap: "md",
2590
+ children: [/*#__PURE__*/jsxRuntime.jsx(core.ThemeIcon, {
2591
+ size: 44,
2592
+ variant: "light",
2593
+ children: /*#__PURE__*/jsxRuntime.jsx(iconsReact.IconUserCircle, {
2594
+ size: 24
2595
+ })
2596
+ }), /*#__PURE__*/jsxRuntime.jsxs(core.Box, {
2597
+ children: [/*#__PURE__*/jsxRuntime.jsx(core.Title, {
2598
+ order: 4,
2599
+ children: title
2600
+ }), /*#__PURE__*/jsxRuntime.jsx(core.Text, {
2601
+ size: "sm",
2602
+ c: "dimmed",
2603
+ children: subtitle
2604
+ })]
2605
+ })]
2606
+ }),
2607
+ ...containerProps,
2608
+ children: [/*#__PURE__*/jsxRuntime.jsx(core.Divider, {
2609
+ mb: "md"
2610
+ }), profileContent]
2611
+ });
2612
+ }
2613
+
2614
+ // Renderizar como Card
2615
+ return /*#__PURE__*/jsxRuntime.jsx(core.Paper, {
2616
+ withBorder: true
2617
+ // shadow="md"
2618
+ ,
2619
+ p: "md",
2620
+ w: width,
2621
+ radius: "md",
2622
+ ...containerProps,
2623
+ children: /*#__PURE__*/jsxRuntime.jsxs(core.Stack, {
2624
+ gap: "sm",
2625
+ children: [/*#__PURE__*/jsxRuntime.jsxs(core.Group, {
2626
+ gap: "md",
2627
+ children: [logo ? /*#__PURE__*/jsxRuntime.jsx(core.Image, {
2628
+ src: logo,
2629
+ alt: "Auth",
2630
+ h: logoHeight,
2631
+ fit: "contain"
2632
+ }) : /*#__PURE__*/jsxRuntime.jsx(core.ThemeIcon, {
2633
+ size: 44,
2634
+ variant: "light",
2635
+ children: /*#__PURE__*/jsxRuntime.jsx(iconsReact.IconUserCircle, {
2636
+ size: 24
2637
+ })
2638
+ }), /*#__PURE__*/jsxRuntime.jsxs(core.Box, {
2639
+ children: [/*#__PURE__*/jsxRuntime.jsx(core.Title, {
2640
+ order: 4,
2641
+ children: title
2642
+ }), /*#__PURE__*/jsxRuntime.jsx(core.Text, {
2643
+ size: "sm",
2644
+ c: "dimmed",
2645
+ children: subtitle
2646
+ })]
2647
+ })]
2648
+ }), /*#__PURE__*/jsxRuntime.jsx(core.Divider, {}), profileContent]
2649
+ })
2650
+ });
2651
+ }
2652
+
2653
+ /**
2654
+ * Renderiza children apenas quando o usuário está autenticado
2655
+ * Equivalente ao <SignedIn> do Clerk
2656
+ */
2657
+ function SignedIn({
2658
+ children
2659
+ }) {
2660
+ const {
2661
+ user,
2662
+ loading
2663
+ } = useAuth();
2664
+ if (loading || !user) return null;
2665
+ return children;
2666
+ }
2667
+
2668
+ /**
2669
+ * Renderiza children apenas quando o usuário NÃO está autenticado
2670
+ * Equivalente ao <SignedOut> do Clerk
2671
+ */
2672
+ function SignedOut({
2673
+ children
2674
+ }) {
2675
+ const {
2676
+ user,
2677
+ loading
2678
+ } = useAuth();
2679
+ if (loading || user) return null;
2680
+ return children;
2681
+ }
2682
+
2683
+ /**
2684
+ * Renderiza children enquanto a autenticação está carregando
2685
+ * Equivalente ao <ClerkLoading> do Clerk
2686
+ */
2687
+ function AuthLoading({
2688
+ children
2689
+ }) {
2690
+ const {
2691
+ loading
2692
+ } = useAuth();
2693
+ if (!loading) return null;
2694
+ return children;
2695
+ }
2696
+
2697
+ /**
2698
+ * Renderiza children quando a autenticação terminou de carregar
2699
+ * Equivalente ao <ClerkLoaded> do Clerk
2700
+ */
2701
+ function AuthLoaded({
2702
+ children
2703
+ }) {
2704
+ const {
2705
+ loading
2706
+ } = useAuth();
2707
+ if (loading) return null;
2708
+ return children;
2709
+ }
2710
+
2711
+ function SignInButton({
2712
+ children,
2713
+ redirectTo = '/login',
2714
+ ...props
2715
+ }) {
2716
+ const navigate = reactRouterDom.useNavigate();
2717
+ return /*#__PURE__*/jsxRuntime.jsx("button", {
2718
+ onClick: () => navigate(redirectTo),
2719
+ ...props,
2720
+ children: children || 'Sign In'
2721
+ });
2722
+ }
2723
+
2724
+ function SignUpButton({
2725
+ children,
2726
+ redirectTo = '/register',
2727
+ ...props
2728
+ }) {
2729
+ const navigate = reactRouterDom.useNavigate();
2730
+ return /*#__PURE__*/jsxRuntime.jsx("button", {
2731
+ onClick: () => navigate(redirectTo),
2732
+ ...props,
2733
+ children: children || 'Sign Up'
2734
+ });
2735
+ }
2736
+
2737
+ function SignOutButton({
2738
+ children,
2739
+ onSignOut,
2740
+ ...props
2741
+ }) {
2742
+ const signOut = useSignOut();
2743
+ const handleClick = async () => {
2744
+ await signOut();
2745
+ onSignOut?.();
2746
+ };
2747
+ return /*#__PURE__*/jsxRuntime.jsx("button", {
2748
+ onClick: handleClick,
2749
+ ...props,
2750
+ children: children || 'Sign Out'
2751
+ });
2519
2752
  }
2520
2753
 
2521
- exports.AccountModal = AccountModal;
2754
+ exports.AccountModal = UserProfile;
2522
2755
  exports.AuthCard = AuthCard;
2756
+ exports.AuthLoaded = AuthLoaded;
2757
+ exports.AuthLoading = AuthLoading;
2523
2758
  exports.AuthProvider = AuthProvider;
2524
- exports.ForgotPasswordForm = ForgotPasswordForm;
2525
- exports.MagicLinkForm = MagicLinkForm;
2526
- exports.MagicLinkVerify = MagicLinkVerify;
2527
- exports.ProtectedRoute = ProtectedRoute;
2528
- exports.ResetPasswordForm = ResetPasswordForm;
2529
- exports.SignInForm = SignInForm;
2530
- exports.SignUpForm = SignUpForm;
2531
- exports.VerifyEmailCard = VerifyEmailCard;
2759
+ exports.ForgotPassword = ForgotPassword;
2760
+ exports.ForgotPasswordForm = ForgotPassword;
2761
+ exports.MagicLink = MagicLink;
2762
+ exports.MagicLinkCallback = MagicLinkCallback;
2763
+ exports.MagicLinkForm = MagicLink;
2764
+ exports.MagicLinkVerify = MagicLinkCallback;
2765
+ exports.Protect = Protect;
2766
+ exports.ProtectedRoute = Protect;
2767
+ exports.ResetPassword = ResetPassword;
2768
+ exports.ResetPasswordForm = ResetPassword;
2769
+ exports.SignIn = SignIn;
2770
+ exports.SignInButton = SignInButton;
2771
+ exports.SignInForm = SignIn;
2772
+ exports.SignOutButton = SignOutButton;
2773
+ exports.SignUp = SignUp;
2774
+ exports.SignUpButton = SignUpButton;
2775
+ exports.SignUpForm = SignUp;
2776
+ exports.SignedIn = SignedIn;
2777
+ exports.SignedOut = SignedOut;
2778
+ exports.UserProfile = UserProfile;
2779
+ exports.VerifyEmail = VerifyEmail;
2780
+ exports.VerifyEmailCard = VerifyEmail;
2532
2781
  exports.changeEmail = changeEmail;
2533
2782
  exports.changePassword = changePassword;
2534
2783
  exports.configure = configure;
@@ -2547,6 +2796,7 @@ exports.signOut = signOut;
2547
2796
  exports.signUp = signUp;
2548
2797
  exports.socialRedirect = socialRedirect;
2549
2798
  exports.updateProfile = updateProfile;
2799
+ exports.useApplicationLogo = useApplicationLogo;
2550
2800
  exports.useAuth = useAuth;
2551
2801
  exports.useAuthLoading = useAuthLoading;
2552
2802
  exports.useAuthStore = useAuthStore;
@@ -2554,11 +2804,12 @@ exports.useCheckToken = useCheckToken;
2554
2804
  exports.useEmailVerification = useEmailVerification;
2555
2805
  exports.useMagicLink = useMagicLink;
2556
2806
  exports.usePasswordReset = usePasswordReset;
2557
- exports.useProfile = useProfile;
2807
+ exports.useProfile = useUser;
2558
2808
  exports.useSession = useSession;
2559
2809
  exports.useSignIn = useSignIn;
2560
2810
  exports.useSignOut = useSignOut;
2561
2811
  exports.useSignUp = useSignUp;
2812
+ exports.useUser = useUser;
2562
2813
  exports.verifyEmail = verifyEmail;
2563
2814
  exports.verifyMagicLink = verifyMagicLink;
2564
2815
  //# sourceMappingURL=index.js.map