@proveanything/smartlinks-auth-ui 0.1.2 → 0.1.4

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/types.d.ts CHANGED
@@ -44,6 +44,7 @@ export interface AuthUIConfig {
44
44
  gracePeriodHours?: number;
45
45
  requireVerification?: boolean;
46
46
  };
47
+ signupAdditionalFields?: ClaimField[];
47
48
  }
48
49
  export interface AuthUser {
49
50
  uid: string;
@@ -100,6 +101,8 @@ export interface SmartlinksAuthUIProps {
100
101
  customization?: Partial<AuthUIConfig>;
101
102
  /** Skip fetching config from API (use only props/defaults) */
102
103
  skipConfigFetch?: boolean;
104
+ /** Minimal mode - removes all framing, backgrounds, and borders for embedding */
105
+ minimal?: boolean;
103
106
  }
104
107
  export type FirebaseAuthUIProps = SmartlinksAuthUIProps;
105
108
  export interface AuthFormData {
@@ -117,17 +120,29 @@ export interface URLAuthParams {
117
120
  mode?: 'verifyEmail' | 'resetPassword' | 'recoverEmail' | 'magicLink';
118
121
  oobCode?: string;
119
122
  }
123
+ export type AuthStateChangeCallback = (event: {
124
+ type: 'LOGIN' | 'LOGOUT' | 'TOKEN_REFRESH' | 'CROSS_TAB_SYNC' | 'ACCOUNT_REFRESH';
125
+ user: AuthUser | null;
126
+ token: string | null;
127
+ accountData: Record<string, any> | null;
128
+ accountInfo?: Record<string, any> | null;
129
+ }) => void;
120
130
  export interface AuthContextValue {
121
131
  user: AuthUser | null;
122
132
  token: string | null;
123
133
  accountData: Record<string, any> | null;
134
+ accountInfo: Record<string, any> | null;
124
135
  isAuthenticated: boolean;
125
136
  isLoading: boolean;
126
137
  smartlinks: any | null;
127
- login: (token: string, user: AuthUser, accountData?: Record<string, any>) => void;
138
+ login: (token: string, user: AuthUser, accountData?: Record<string, any>) => Promise<void>;
128
139
  logout: () => Promise<void>;
129
- getToken: () => string | null;
140
+ getToken: () => Promise<string | null>;
130
141
  refreshToken: () => Promise<string>;
142
+ getAccount: (forceRefresh?: boolean) => Promise<Record<string, any>>;
143
+ refreshAccount: () => Promise<Record<string, any>>;
144
+ clearAccountCache: () => Promise<void>;
145
+ onAuthStateChange: (callback: AuthStateChangeCallback) => () => void;
131
146
  }
132
147
  export interface UserProfile {
133
148
  uid: string;
@@ -171,5 +186,54 @@ export interface AccountManagementProps {
171
186
  showPhoneSection?: boolean;
172
187
  showDeleteAccount?: boolean;
173
188
  };
189
+ /** Minimal mode - removes all framing, backgrounds, and borders for embedding */
190
+ minimal?: boolean;
191
+ }
192
+ export interface ClaimField {
193
+ name: string;
194
+ label: string;
195
+ type: 'text' | 'email' | 'phone' | 'select' | 'textarea';
196
+ required?: boolean;
197
+ options?: string[];
198
+ placeholder?: string;
199
+ }
200
+ export interface ClaimResult {
201
+ proofId: string;
202
+ user: AuthUser;
203
+ claimData: Record<string, any>;
204
+ attestationId?: string;
205
+ }
206
+ export interface SmartlinksClaimUIProps {
207
+ /** Your Smartlinks API endpoint URL */
208
+ apiEndpoint: string;
209
+ /** Client ID to identify your system/tenant - REQUIRED */
210
+ clientId: string;
211
+ /** Client name for branded emails */
212
+ clientName?: string;
213
+ /** Collection ID for the proof being claimed */
214
+ collectionId: string;
215
+ /** Product ID for the proof being claimed */
216
+ productId: string;
217
+ /** Proof ID to claim */
218
+ proofId: string;
219
+ /** Callback when claim succeeds */
220
+ onClaimSuccess: (claimData: ClaimResult) => void;
221
+ /** Callback when claim fails */
222
+ onClaimError?: (error: Error) => void;
223
+ /** Additional custom fields to collect during claim */
224
+ additionalFields?: ClaimField[];
225
+ /** UI theme */
226
+ theme?: 'light' | 'dark';
227
+ /** Additional CSS class name */
228
+ className?: string;
229
+ /** Minimal mode - removes all framing, backgrounds, and borders for embedding */
230
+ minimal?: boolean;
231
+ /** Customization options */
232
+ customization?: {
233
+ claimTitle?: string;
234
+ claimDescription?: string;
235
+ successMessage?: string;
236
+ authConfig?: Partial<AuthUIConfig>;
237
+ };
174
238
  }
175
239
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Persistent Storage Layer for Smartlinks Auth
3
+ *
4
+ * Implements a tiered persistence strategy similar to Firebase Auth:
5
+ * 1. Primary: IndexedDB (async, large capacity, cross-tab)
6
+ * 2. Fallback: localStorage (sync, universal support)
7
+ *
8
+ * Provides unified async API for all storage operations with automatic
9
+ * fallback handling and cross-tab synchronization.
10
+ */
11
+ export type StorageBackend = 'indexeddb' | 'localstorage' | 'none';
12
+ interface StorageEvent {
13
+ type: 'set' | 'remove' | 'clear';
14
+ key?: string;
15
+ value?: any;
16
+ timestamp: number;
17
+ }
18
+ /**
19
+ * Unified persistent storage interface
20
+ */
21
+ export interface PersistentStorage {
22
+ setItem(key: string, value: any): Promise<void>;
23
+ getItem<T>(key: string): Promise<T | null>;
24
+ removeItem(key: string): Promise<void>;
25
+ clear(): Promise<void>;
26
+ isAvailable(): Promise<boolean>;
27
+ getBackend(): StorageBackend;
28
+ }
29
+ export declare function getStorage(): Promise<PersistentStorage>;
30
+ /**
31
+ * Reset storage (for testing)
32
+ */
33
+ export declare function resetStorage(): void;
34
+ /**
35
+ * Listen for storage changes from other tabs
36
+ */
37
+ export declare function onStorageChange(callback: (event: StorageEvent) => void): () => void;
38
+ export {};
39
+ //# sourceMappingURL=persistentStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistentStorage.d.ts","sourceRoot":"","sources":["../../src/utils/persistentStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,CAAC;AAEnE,UAAU,YAAY;IACpB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,UAAU,IAAI,cAAc,CAAC;CAC9B;AAoZD,wBAAsB,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAW7D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAInC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAenF"}
@@ -1,14 +1,27 @@
1
1
  import type { AuthToken, AuthUser } from '../types';
2
+ /**
3
+ * Token Storage Layer
4
+ *
5
+ * Manages authentication tokens, user data, and account data using
6
+ * the persistent storage layer (IndexedDB + localStorage fallback).
7
+ * All methods are async to support IndexedDB operations.
8
+ */
2
9
  export declare const tokenStorage: {
3
- saveToken(token: string, expiresAt?: number): void;
4
- getToken(): AuthToken | null;
5
- clearToken(): void;
6
- saveUser(user: AuthUser): void;
7
- getUser(): AuthUser | null;
8
- clearUser(): void;
9
- clearAll(): void;
10
- saveAccountData(data: Record<string, any>): void;
11
- getAccountData(): Record<string, any> | null;
12
- clearAccountData(): void;
10
+ saveToken(token: string, expiresAt?: number): Promise<void>;
11
+ getToken(): Promise<AuthToken | null>;
12
+ clearToken(): Promise<void>;
13
+ saveUser(user: AuthUser): Promise<void>;
14
+ getUser(): Promise<AuthUser | null>;
15
+ clearUser(): Promise<void>;
16
+ clearAll(): Promise<void>;
17
+ saveAccountData(data: Record<string, any>): Promise<void>;
18
+ getAccountData(): Promise<Record<string, any> | null>;
19
+ clearAccountData(): Promise<void>;
20
+ saveAccountInfo(accountInfo: Record<string, any>, ttl?: number): Promise<void>;
21
+ getAccountInfo(): Promise<{
22
+ data: Record<string, any>;
23
+ isStale: boolean;
24
+ } | null>;
25
+ clearAccountInfo(): Promise<void>;
13
26
  };
14
27
  //# sourceMappingURL=tokenStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenStorage.d.ts","sourceRoot":"","sources":["../../src/utils/tokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMpD,eAAO,MAAM,YAAY;qBACN,MAAM,cAAc,MAAM,GAAG,IAAI;gBAQtC,SAAS,GAAG,IAAI;kBAmBd,IAAI;mBAIH,QAAQ,GAAG,IAAI;eAInB,QAAQ,GAAG,IAAI;iBAWb,IAAI;gBAIL,IAAI;0BAMM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;sBAI9B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;wBAWxB,IAAI;CAGzB,CAAC"}
1
+ {"version":3,"file":"tokenStorage.d.ts","sourceRoot":"","sources":["../../src/utils/tokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AASpD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;qBACA,MAAM,cAAc,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;gBAS/C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;kBAevB,OAAO,CAAC,IAAI,CAAC;mBAKZ,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;eAK5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAKtB,OAAO,CAAC,IAAI,CAAC;gBAKd,OAAO,CAAC,IAAI,CAAC;0BAOH,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;sBAKvC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;wBAKjC,OAAO,CAAC,IAAI,CAAC;iCAMxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAC3B,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;sBAUQ,OAAO,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC;KAClB,GAAG,IAAI,CAAC;wBAkBiB,OAAO,CAAC,IAAI,CAAC;CAIxC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proveanything/smartlinks-auth-ui",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Lightweight React authentication UI components with bearer token support and Smartlinks SDK integration",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -28,7 +28,8 @@
28
28
  "react-dom": "^18.0.0"
29
29
  },
30
30
  "dependencies": {
31
- "@proveanything/smartlinks": "^1.0.0"
31
+ "@proveanything/smartlinks": "^1.0.0",
32
+ "react-phone-number-input": "^3.4.14"
32
33
  },
33
34
  "publishConfig": {
34
35
  "access": "public"