@donotdev/auth 0.0.4 → 0.0.6

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 (44) hide show
  1. package/dist/FirebaseAuth.d.ts +0 -2
  2. package/dist/FirebaseAuth.d.ts.map +1 -1
  3. package/dist/FirebaseAuth.js +1 -1
  4. package/dist/components/AccountLinking.js +1 -1
  5. package/dist/components/AuthFallback.d.ts +1 -9
  6. package/dist/components/AuthFallback.d.ts.map +1 -1
  7. package/dist/components/AuthFallback.js +1 -1
  8. package/dist/components/AuthPartnerButton.d.ts +1 -1
  9. package/dist/components/AuthPartnerButton.d.ts.map +1 -1
  10. package/dist/components/AuthPartnerButton.js +2 -2
  11. package/dist/components/DeleteAccountDialogs.js +1 -1
  12. package/dist/components/EmailLinkForm.js +1 -1
  13. package/dist/components/EmailPasswordForm.d.ts +16 -1
  14. package/dist/components/EmailPasswordForm.d.ts.map +1 -1
  15. package/dist/components/EmailPasswordForm.js +1 -1
  16. package/dist/components/FeatureGuard.d.ts.map +1 -1
  17. package/dist/components/FeatureGuard.js +1 -1
  18. package/dist/components/FeaturePlaceholder.d.ts +1 -9
  19. package/dist/components/FeaturePlaceholder.d.ts.map +1 -1
  20. package/dist/components/FeaturePlaceholder.js +1 -1
  21. package/dist/components/GoogleOneTap.d.ts +1 -33
  22. package/dist/components/GoogleOneTap.d.ts.map +1 -1
  23. package/dist/components/GoogleOneTap.js +1 -1
  24. package/dist/components/LoginModal.js +1 -1
  25. package/dist/components/MultipleAuthProviders.d.ts +2 -2
  26. package/dist/components/MultipleAuthProviders.d.ts.map +1 -1
  27. package/dist/components/MultipleAuthProviders.js +1 -1
  28. package/dist/components/PasswordStrengthIndicator.d.ts +22 -0
  29. package/dist/components/PasswordStrengthIndicator.d.ts.map +1 -0
  30. package/dist/components/PasswordStrengthIndicator.js +1 -0
  31. package/dist/components/RateLimitAlert.d.ts +1 -9
  32. package/dist/components/RateLimitAlert.d.ts.map +1 -1
  33. package/dist/components/RateLimitAlert.js +1 -1
  34. package/dist/components/index.d.ts +1 -0
  35. package/dist/components/index.d.ts.map +1 -1
  36. package/dist/components/index.js +1 -1
  37. package/dist/constants.d.ts +2 -3
  38. package/dist/constants.d.ts.map +1 -1
  39. package/dist/hooks/useGoogleOneTap.d.ts.map +1 -1
  40. package/dist/hooks/useGoogleOneTap.js +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/dist/useAuth.d.ts.map +1 -1
  43. package/dist/useAuth.js +1 -1
  44. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../src/useAuth.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAMV,OAAO,EAER,MAAM,gBAAgB,CAAC;AAoJxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA4TnE"}
1
+ {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../src/useAuth.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAIV,OAAO,EAER,MAAM,gBAAgB,CAAC;AA6JxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA4TnE"}
package/dist/useAuth.js CHANGED
@@ -1 +1 @@
1
- "use client";import{useEffect as H,useCallback as i}from"react";import{DEGRADED_AUTH_API as R,FEATURE_STATUS as f,FRAMEWORK_FEATURES as Y,handleError as j,isClient as n,useFeatureConsent as q,USER_ROLES as x,SUBSCRIPTION_TIERS as B}from"@donotdev/core";import{useAuthStore as o}from"./AuthStore";import{getAuthMethod as P}from"./constants";let t=null,g=!1,A=!1;function Z(){const s=r=>{const a=o.getState();if(a.user?.role==="admin")return!0;const l=a.userProfile?.permissions;return l?l.includes(r):!1};return{navigate:r=>{const a=o.getState();return r===!1?!0:r===!0?!!a.user:!(r.required&&!a.user||r.role&&a.user?.role!==r.role||r.tier&&a.userSubscription?.tier!==r.tier||r.validate&&a.userSubscription&&a.user?.role&&!r.validate(a.user.role,a.userSubscription.tier))},view:r=>s(`${r}:view`),edit:r=>s(`${r}:edit`),delete:r=>s(`${r}:delete`),create:r=>s(`${r}:create`),has:r=>s(r),perform:(r,a)=>{const l=o.getState();if(l.user?.role==="admin")return!0;if(!s(r))return!1;if(a){const h=l.userProfile?.capabilities;if(h?.[r]){const m=h[r];for(const[d,E]of Object.entries(a))if(typeof m[d]=="number"&&typeof E=="number"&&E>m[d])return!1}}return!0}}}const J=Z(),W=new Set(["user","loading","error","status","userProfile","userSubscription","emailVerification","partnerError","getPartnerState","setPartnerState"]);function et(s){const r=q(Y.AUTH);H(()=>{if(!n())return;if(!r){o.getState().setStatus(f.DEGRADED);return}const{status:e}=o.getState();if(e===f.READY||g)return;g=!0,(async()=>{try{const{getFirebaseAuth:c}=await import("./FirebaseAuth");t=c(),t.setStore(o.getState()),o.getState().setAuthService(t),await t.initialize(),t.onAuthStateChanged(()=>{}),A=!1}catch(c){o.getState().setStatus(f.DEGRADED),A||(j(c,{userMessage:"Authentication initialization failed",context:{operation:"useAuth.initialize"},severity:"warning",showNotification:!1}),A=!0)}finally{g=!1}})()},[r]);const a=i(async(e,u)=>!n()||!t?null:t.signInWithEmail(e,u),[]),l=i(async(e,u)=>!n()||!t?null:t.createUserWithEmail(e,u),[]),h=i(async(e,u)=>{if(!n()||!t)return null;const c=P(u);return t.signInWithPartner(e,c)},[]),m=i(async(e,u)=>{if(!n()||!t)return null;const c=P(u);return t.linkWithPartner(e,c)},[]),d=i(async e=>!n()||!t?null:t.signInWithGoogleCredential(e),[]),E=i(async()=>{if(!(!n()||!t))return t.signOut()},[]),b=i(async e=>{if(!(!n()||!t))return t.sendPasswordResetEmail(e)},[]),T=i(async e=>{if(!(!n()||!t))return t.updatePassword(e)},[]),w=i(async()=>{if(!(!n()||!t))return t.sendEmailVerification()},[]),y=i(async(e,u)=>{if(!(!n()||!t))return t.sendSignInLinkToEmail(e,u)},[]),D=i(async(e,u)=>!n()||!t?null:t.signInWithEmailLink(e,u),[]),U=i(e=>!n()||!t?!1:t.isSignInWithEmailLink(e),[]),v=i(async()=>!n()||!t?null:t.getCurrentUser(),[]),C=i(async()=>!n()||!t?{status:"pending"}:t.getEmailVerificationStatus(),[]),V=i(async()=>!n()||!t?!1:t.isEmailVerificationEnabled(),[]),F=i(async e=>!n()||!t?!1:t.hasRole(e),[]),G=i(async e=>!n()||!t?!1:t.hasTier(e),[]),L=i(async e=>!n()||!t?!1:t.hasFeature(e),[]),O=i(()=>n()?o.getState().getCustomClaims():{},[]),_=i(e=>n()?o.getState().getCustomClaim(e):null,[]),z=i(async e=>{if(!(!n()||!t))return t.reauthenticateWithPassword(e)},[]),M=i(async(e,u)=>{if(!(!n()||!t))return t.reauthenticateWithProvider(e,u)},[]),N=i(async e=>{if(!(!n()||!t))return t.deleteAccount(e)},[]),p={signInWithEmail:a,createUserWithEmail:l,signInWithPartner:h,linkWithPartner:m,signInWithGoogleCredential:d,signOut:E,sendPasswordResetEmail:b,updatePassword:T,sendEmailVerification:w,getEmailVerificationStatus:C,isEmailVerificationEnabled:V,sendSignInLinkToEmail:y,signInWithEmailLink:D,isSignInWithEmailLink:U,getCurrentUser:v,reauthenticateWithPassword:z,reauthenticateWithProvider:M,deleteAccount:N,hasRole:F,hasTier:G,hasFeature:L,getCustomClaims:O,getCustomClaim:_},I=new Set(["isAuthenticated","userRole","userTier","can"]),$=o(e=>W.has(s)?e[s]:null),K=o(e=>I.has(s)?s==="isAuthenticated"?!!e.user:s==="userRole"?e.user?.role||x.GUEST:s==="userTier"?e.userSubscription?.tier||B.FREE:s==="can"?J:null:null),S=o(e=>e.status);return s==="status"?S:!r||S===f.INITIALIZING||S===f.DEGRADED||S===f.ERROR?R[s]:s==="isAvailable"?!0:W.has(s)?$:s in p?p[s]:I.has(s)?K:R[s]}export{et as useAuth};
1
+ "use client";import{useEffect as j,useCallback as i}from"react";import{DEGRADED_AUTH_API as W,FEATURE_STATUS as f,FRAMEWORK_FEATURES as q,handleError as x,isClient as n,useFeatureConsent as B,USER_ROLES as g,SUBSCRIPTION_TIERS as Z,hasRoleAccess as A,hasTierAccess as J}from"@donotdev/core";import{useAuthStore as o}from"./AuthStore";import{getAuthMethod as T}from"./constants";let t=null,I=!1,p=!1;function Q(){const s=r=>{const a=o.getState();if(A(a.user?.role,g.ADMIN))return!0;const l=a.userProfile?.permissions;return l?l.includes(r):!1};return{navigate:r=>{const a=o.getState();return r===!1?!0:r===!0?!!a.user:!(r.required&&!a.user||r.role&&!A(a.user?.role,r.role)||r.tier&&!J(a.userSubscription?.tier,r.tier)||r.validate&&a.userSubscription&&a.user?.role&&!r.validate(a.user.role,a.userSubscription.tier))},view:r=>s(`${r}:view`),edit:r=>s(`${r}:edit`),delete:r=>s(`${r}:delete`),create:r=>s(`${r}:create`),has:r=>s(r),perform:(r,a)=>{const l=o.getState();if(A(l.user?.role,g.ADMIN))return!0;if(!s(r))return!1;if(a){const h=l.userProfile?.capabilities;if(h?.[r]){const E=h[r];for(const[m,d]of Object.entries(a))if(typeof E[m]=="number"&&typeof d=="number"&&d>E[m])return!1}}return!0}}}const X=Q(),b=new Set(["user","loading","error","status","userProfile","userSubscription","emailVerification","partnerError","getPartnerState","setPartnerState"]);function nt(s){const r=B(q.AUTH);j(()=>{if(!n())return;if(!r){o.getState().setStatus(f.DEGRADED);return}const{status:e}=o.getState();if(e===f.READY||I)return;I=!0,(async()=>{try{const{getFirebaseAuth:c}=await import("./FirebaseAuth");t=c(),t.setStore(o.getState()),o.getState().setAuthService(t),await t.initialize(),t.onAuthStateChanged(()=>{}),p=!1}catch(c){o.getState().setStatus(f.DEGRADED),p||(x(c,{userMessage:"Authentication initialization failed",context:{operation:"useAuth.initialize"},severity:"warning",showNotification:!1}),p=!0)}finally{I=!1}})()},[r]);const a=i(async(e,u)=>!n()||!t?null:t.signInWithEmail(e,u),[]),l=i(async(e,u)=>!n()||!t?null:t.createUserWithEmail(e,u),[]),h=i(async(e,u)=>{if(!n()||!t)return null;const c=T(u);return t.signInWithPartner(e,c)},[]),E=i(async(e,u)=>{if(!n()||!t)return null;const c=T(u);return t.linkWithPartner(e,c)},[]),m=i(async e=>!n()||!t?null:t.signInWithGoogleCredential(e),[]),d=i(async()=>{if(!(!n()||!t))return t.signOut()},[]),D=i(async e=>{if(!(!n()||!t))return t.sendPasswordResetEmail(e)},[]),w=i(async e=>{if(!(!n()||!t))return t.updatePassword(e)},[]),y=i(async()=>{if(!(!n()||!t))return t.sendEmailVerification()},[]),U=i(async(e,u)=>{if(!(!n()||!t))return t.sendSignInLinkToEmail(e,u)},[]),v=i(async(e,u)=>!n()||!t?null:t.signInWithEmailLink(e,u),[]),C=i(e=>!n()||!t?!1:t.isSignInWithEmailLink(e),[]),V=i(async()=>!n()||!t?null:t.getCurrentUser(),[]),F=i(async()=>!n()||!t?{status:"pending"}:t.getEmailVerificationStatus(),[]),G=i(async()=>!n()||!t?!1:t.isEmailVerificationEnabled(),[]),L=i(async e=>!n()||!t?!1:t.hasRole(e),[]),O=i(async e=>!n()||!t?!1:t.hasTier(e),[]),M=i(async e=>!n()||!t?!1:t.hasFeature(e),[]),N=i(()=>n()?o.getState().getCustomClaims():{},[]),_=i(e=>n()?o.getState().getCustomClaim(e):null,[]),z=i(async e=>{if(!(!n()||!t))return t.reauthenticateWithPassword(e)},[]),$=i(async(e,u)=>{if(!(!n()||!t))return t.reauthenticateWithProvider(e,u)},[]),K=i(async e=>{if(!(!n()||!t))return t.deleteAccount(e)},[]),R={signInWithEmail:a,createUserWithEmail:l,signInWithPartner:h,linkWithPartner:E,signInWithGoogleCredential:m,signOut:d,sendPasswordResetEmail:D,updatePassword:w,sendEmailVerification:y,getEmailVerificationStatus:F,isEmailVerificationEnabled:G,sendSignInLinkToEmail:U,signInWithEmailLink:v,isSignInWithEmailLink:C,getCurrentUser:V,reauthenticateWithPassword:z,reauthenticateWithProvider:$,deleteAccount:K,hasRole:L,hasTier:O,hasFeature:M,getCustomClaims:N,getCustomClaim:_},P=new Set(["isAuthenticated","userRole","userTier","can"]),H=o(e=>b.has(s)?e[s]:null),Y=o(e=>P.has(s)?s==="isAuthenticated"?!!e.user:s==="userRole"?e.user?.role||g.GUEST:s==="userTier"?e.userSubscription?.tier||Z.FREE:s==="can"?X:null:null),S=o(e=>e.status);return s==="status"?S:!r||S===f.INITIALIZING||S===f.DEGRADED||S===f.ERROR?W[s]:s==="isAvailable"?!0:b.has(s)?H:s in R?R[s]:P.has(s)?Y:W[s]}export{nt as useAuth};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@donotdev/auth",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -42,13 +42,13 @@
42
42
  "type-check": "tsc --noEmit"
43
43
  },
44
44
  "peerDependencies": {
45
- "@donotdev/components": "0.0.4",
46
- "@donotdev/core": "0.0.4",
47
- "@donotdev/crud": "0.0.4",
48
- "@donotdev/firebase": "0.0.4",
49
- "firebase": "^12.5.0",
50
- "react": "^19.2.3",
51
- "react-dom": "^19.2.3"
45
+ "@donotdev/components": "^0.0.15",
46
+ "@donotdev/core": "^0.0.19",
47
+ "@donotdev/crud": "^0.0.10",
48
+ "@donotdev/firebase": "^0.0.8",
49
+ "firebase": "^12.8.0",
50
+ "react": "^19.2.4",
51
+ "react-dom": "^19.2.4"
52
52
  },
53
53
  "publishConfig": {
54
54
  "registry": "https://registry.npmjs.org",