@skylabs-digital/react-identity-access 1.4.0 → 1.6.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 (47) hide show
  1. package/README.md +203 -42
  2. package/dist/components/FeatureFlag.d.ts +1 -0
  3. package/dist/components/LandingRoute.d.ts +2 -1
  4. package/dist/components/LandingRoute.d.ts.map +1 -1
  5. package/dist/components/LoginForm.d.ts +8 -3
  6. package/dist/components/LoginForm.d.ts.map +1 -1
  7. package/dist/components/MagicLinkForm.d.ts +53 -0
  8. package/dist/components/MagicLinkForm.d.ts.map +1 -0
  9. package/dist/components/MagicLinkVerify.d.ts +45 -0
  10. package/dist/components/MagicLinkVerify.d.ts.map +1 -0
  11. package/dist/components/PasswordRecoveryForm.d.ts +1 -0
  12. package/dist/components/Protected.d.ts +1 -0
  13. package/dist/components/ProtectedRoute.d.ts +1 -0
  14. package/dist/components/SignupForm.d.ts +10 -1
  15. package/dist/components/SignupForm.d.ts.map +1 -1
  16. package/dist/components/SubscriptionGuard.d.ts +1 -0
  17. package/dist/components/TenantRoute.d.ts +2 -1
  18. package/dist/components/TenantRoute.d.ts.map +1 -1
  19. package/dist/index.d.ts +5 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.es.js +1565 -865
  22. package/dist/index.es.js.map +1 -1
  23. package/dist/index.js +6 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/providers/AppProvider.d.ts +1 -0
  26. package/dist/providers/AppProvider.d.ts.map +1 -1
  27. package/dist/providers/AuthProvider.d.ts +6 -3
  28. package/dist/providers/AuthProvider.d.ts.map +1 -1
  29. package/dist/providers/FeatureFlagProvider.d.ts +1 -0
  30. package/dist/providers/SubscriptionProvider.d.ts +1 -0
  31. package/dist/providers/TenantProvider.d.ts +1 -0
  32. package/dist/providers/TenantProvider.d.ts.map +1 -1
  33. package/dist/services/AppApiService.d.ts +1 -0
  34. package/dist/services/AuthApiService.d.ts +8 -3
  35. package/dist/services/AuthApiService.d.ts.map +1 -1
  36. package/dist/services/FeatureFlagApiService.d.ts +1 -0
  37. package/dist/services/HealthApiService.d.ts +1 -0
  38. package/dist/services/PermissionApiService.d.ts +1 -0
  39. package/dist/services/RoleApiService.d.ts +1 -0
  40. package/dist/services/SubscriptionApiService.d.ts +1 -0
  41. package/dist/services/SubscriptionPlanApiService.d.ts +1 -0
  42. package/dist/services/TenantApiService.d.ts +1 -0
  43. package/dist/services/UserApiService.d.ts +1 -0
  44. package/dist/types/api.d.ts +39 -6
  45. package/dist/types/api.d.ts.map +1 -1
  46. package/package.json +26 -25
  47. package/CHANGELOG.md +0 -32
package/README.md CHANGED
@@ -1,10 +1,12 @@
1
1
  # React Identity Access
2
2
 
3
- A powerful, modern authentication and authorization library for React applications. Built with TypeScript, featuring role-based access control, permission management, and seamless integration with React applications.
3
+ A powerful, modern authentication and authorization library for React applications. Built with TypeScript, featuring role-based access control, permission management, Magic Link authentication, and seamless integration with React applications.
4
4
 
5
5
  ## 🚀 Features
6
6
 
7
7
  - **🔐 Secure Authentication** - JWT-based authentication with automatic token refresh
8
+ - **✨ Magic Link Authentication** - Passwordless authentication via email with automatic verification
9
+ - **📧 Flexible Login** - Support for both email and phone number authentication
8
10
  - **👥 Role-Based Access Control** - Granular permission system with role hierarchy
9
11
  - **🛡️ Protected Components** - Easy-to-use components for conditional rendering
10
12
  - **📱 Multi-Tenant Support** - Built-in support for multi-tenant applications
@@ -31,7 +33,11 @@ pnpm add @skylabs-digital/react-identity-access
31
33
  Wrap your application with the required providers:
32
34
 
33
35
  ```tsx
34
- import { AppProvider, AuthProvider } from '@skylabs-digital/react-identity-access';
36
+ import {
37
+ AppProvider,
38
+ TenantProvider,
39
+ AuthProvider
40
+ } from '@skylabs-digital/react-identity-access';
35
41
 
36
42
  function App() {
37
43
  return (
@@ -39,19 +45,24 @@ function App() {
39
45
  config={{
40
46
  baseUrl: 'https://your-api.com',
41
47
  appId: 'your-app-id',
42
- tenantMode: 'subdomain', // or 'path' or 'header'
43
- selectorParam: 'tenant',
44
48
  }}
45
49
  >
46
- <AuthProvider>
47
- {/* Your app components */}
48
- </AuthProvider>
50
+ <TenantProvider
51
+ config={{
52
+ tenantMode: 'selector', // 'subdomain', 'selector', or 'fixed'
53
+ selectorParam: 'tenant',
54
+ }}
55
+ >
56
+ <AuthProvider>
57
+ {/* Your app components */}
58
+ </AuthProvider>
59
+ </TenantProvider>
49
60
  </AppProvider>
50
61
  );
51
62
  }
52
63
  ```
53
64
 
54
- ### 2. Use Authentication
65
+ ### 2. Traditional Authentication
55
66
 
56
67
  ```tsx
57
68
  import { useAuth } from '@skylabs-digital/react-identity-access';
@@ -62,7 +73,9 @@ function LoginComponent() {
62
73
 
63
74
  const handleLogin = async () => {
64
75
  try {
65
- await login('user@example.com', 'password', 'tenant-id');
76
+ // Supports both email and phone number
77
+ await login('user@example.com', 'password'); // Email
78
+ // await login('+1234567890', 'password'); // Phone
66
79
  } catch (error) {
67
80
  console.error('Login failed:', error);
68
81
  }
@@ -83,7 +96,59 @@ function LoginComponent() {
83
96
  }
84
97
  ```
85
98
 
86
- ### 3. Protect Components
99
+ ### 3. Magic Link Authentication
100
+
101
+ ```tsx
102
+ import {
103
+ MagicLinkForm,
104
+ MagicLinkVerify,
105
+ useAuth
106
+ } from '@skylabs-digital/react-identity-access';
107
+ import { useNavigate } from 'react-router-dom';
108
+
109
+ // Send Magic Link
110
+ function MagicLinkLogin() {
111
+ const navigate = useNavigate();
112
+
113
+ const handleSuccess = (response) => {
114
+ console.log('Magic link sent successfully!');
115
+ };
116
+
117
+ return (
118
+ <MagicLinkForm
119
+ frontendUrl="https://yourapp.com"
120
+ onSuccess={handleSuccess}
121
+ onLoginClick={() => navigate('/login')}
122
+ onSignupClick={() => navigate('/signup')}
123
+ />
124
+ );
125
+ }
126
+
127
+ // Verify Magic Link (at /magic-link/verify route)
128
+ function MagicLinkVerifyPage() {
129
+ const navigate = useNavigate();
130
+
131
+ const handleSuccess = (data) => {
132
+ console.log('Magic link verified!', data);
133
+ navigate('/dashboard');
134
+ };
135
+
136
+ const handleError = (error) => {
137
+ console.error('Verification failed:', error);
138
+ };
139
+
140
+ return (
141
+ <MagicLinkVerify
142
+ onSuccess={handleSuccess}
143
+ onError={handleError}
144
+ onBackToLogin={() => navigate('/login')}
145
+ autoRedirectDelay={3000}
146
+ />
147
+ );
148
+ }
149
+ ```
150
+
151
+ ### 4. Protect Components
87
152
 
88
153
  ```tsx
89
154
  import { Protected } from '@skylabs-digital/react-identity-access';
@@ -100,11 +165,88 @@ function AdminPanel() {
100
165
  }
101
166
  ```
102
167
 
168
+ ## 🧩 Pre-built Components
169
+
170
+ The library includes ready-to-use form components with full customization support:
171
+
172
+ ### Authentication Forms
173
+
174
+ ```tsx
175
+ import {
176
+ LoginForm,
177
+ SignupForm,
178
+ MagicLinkForm,
179
+ MagicLinkVerify,
180
+ PasswordRecoveryForm
181
+ } from '@skylabs-digital/react-identity-access';
182
+
183
+ // Login Form (supports email/phone + password)
184
+ <LoginForm
185
+ onSuccess={(user) => console.log('Logged in:', user)}
186
+ onForgotPasswordClick={() => navigate('/forgot-password')}
187
+ onSignupClick={() => navigate('/signup')}
188
+ onMagicLinkClick={() => navigate('/magic-link')}
189
+ showMagicLinkOption={true}
190
+ />
191
+
192
+ // Signup Form
193
+ <SignupForm
194
+ onSuccess={(user) => console.log('Signed up:', user)}
195
+ onLoginClick={() => navigate('/login')}
196
+ onMagicLinkClick={() => navigate('/magic-link')}
197
+ showMagicLinkOption={true}
198
+ />
199
+
200
+ // Magic Link Form
201
+ <MagicLinkForm
202
+ frontendUrl="https://yourapp.com"
203
+ onSuccess={() => console.log('Magic link sent!')}
204
+ onLoginClick={() => navigate('/login')}
205
+ onSignupClick={() => navigate('/signup')}
206
+ />
207
+
208
+ // Magic Link Verification
209
+ <MagicLinkVerify
210
+ onSuccess={(data) => navigate('/dashboard')}
211
+ onError={(error) => console.error(error)}
212
+ onBackToLogin={() => navigate('/login')}
213
+ />
214
+
215
+ // Password Recovery
216
+ <PasswordRecoveryForm
217
+ onSuccess={() => console.log('Recovery email sent!')}
218
+ onBackToLogin={() => navigate('/login')}
219
+ />
220
+ ```
221
+
222
+ ### Customization
223
+
224
+ All components support full customization of copy, styles, and icons:
225
+
226
+ ```tsx
227
+ <LoginForm
228
+ copy={{
229
+ title: 'Welcome Back',
230
+ submitButton: 'Sign In',
231
+ usernameLabel: 'Email or Phone',
232
+ }}
233
+ styles={{
234
+ container: { backgroundColor: '#f8f9fa' },
235
+ button: { backgroundColor: '#007bff' },
236
+ }}
237
+ icons={{
238
+ showPassword: <CustomEyeIcon />,
239
+ hidePassword: <CustomEyeOffIcon />,
240
+ }}
241
+ />
242
+ ```
243
+
103
244
  ## 🏗️ Architecture
104
245
 
105
246
  ### Core Providers
106
247
 
107
248
  - **AppProvider** - Application configuration and context
249
+ - **TenantProvider** - Multi-tenant configuration and management
108
250
  - **AuthProvider** - Authentication and session management
109
251
  - **FeatureFlagProvider** - Feature flag management
110
252
  - **SubscriptionProvider** - Billing and subscription handling
@@ -133,27 +275,31 @@ Examples:
133
275
 
134
276
  ## 🎮 Demo Application
135
277
 
136
- A complete demo application is included in the `template/` directory. To run it:
278
+ A complete demo application is included in the `example/` directory. To run it:
137
279
 
138
280
  ```bash
139
- cd template
140
- pnpm install
141
- pnpm start
281
+ cd example
282
+ yarn install
283
+ yarn start
142
284
  ```
143
285
 
144
286
  The demo showcases:
145
- - User authentication flow
146
- - Role-based dashboard
147
- - Permission testing
148
- - Protected routes
149
- - Feature flag usage
287
+ - **Traditional Authentication** - Email/phone + password login
288
+ - **Magic Link Authentication** - Passwordless login with automatic verification
289
+ - **User Registration** - Signup with email/phone support
290
+ - **Password Recovery** - Reset password functionality
291
+ - **Role-based Dashboard** - Different views based on user roles
292
+ - **Permission Testing** - Interactive permission system testing
293
+ - **Protected Routes** - Route-level access control
294
+ - **Feature Flag Usage** - Dynamic feature toggling
295
+ - **Multi-tenant Support** - Tenant switching and management
150
296
 
151
297
  ## 🛠️ Development
152
298
 
153
299
  ### Prerequisites
154
300
 
155
- - Node.js 16+
156
- - pnpm (recommended) or npm/yarn
301
+ - Node.js 18+
302
+ - yarn (recommended) or npm
157
303
 
158
304
  ### Setup
159
305
 
@@ -163,16 +309,19 @@ git clone https://github.com/skylabs-digital/react-identity-access.git
163
309
  cd react-identity-access
164
310
 
165
311
  # Install dependencies
166
- pnpm install
312
+ yarn install
167
313
 
168
314
  # Build the library
169
- pnpm build
315
+ yarn build
170
316
 
171
317
  # Run tests
172
- pnpm test
318
+ yarn test
319
+
320
+ # Run CI pipeline
321
+ yarn ci
173
322
 
174
- # Start development
175
- pnpm dev
323
+ # Start example app
324
+ cd example && yarn start
176
325
  ```
177
326
 
178
327
  ### Project Structure
@@ -180,12 +329,12 @@ pnpm dev
180
329
  ```
181
330
  react-identity-access/
182
331
  ├── src/ # Library source code
183
- │ ├── components/ # React components
184
- │ ├── providers/ # Context providers
185
- │ ├── services/ # API services
332
+ │ ├── components/ # React components (forms, guards, etc.)
333
+ │ ├── providers/ # Context providers (Auth, Tenant, etc.)
334
+ │ ├── services/ # API services and HTTP client
186
335
  │ ├── types/ # TypeScript definitions
187
336
  │ └── index.ts # Main export
188
- ├── template/ # Demo application
337
+ ├── example/ # Demo application
189
338
  ├── docs/ # Documentation
190
339
  ├── dist/ # Built library
191
340
  └── package.json
@@ -201,17 +350,24 @@ REACT_APP_ID=your-app-id
201
350
  REACT_APP_TENANT_MODE=subdomain
202
351
  ```
203
352
 
204
- ### AppProvider Config
353
+ ### Provider Configuration
205
354
 
206
355
  ```tsx
356
+ // AppProvider Config
207
357
  interface AppConfig {
208
358
  baseUrl: string; // API base URL
209
359
  appId: string; // Application identifier
210
- tenantMode: 'subdomain' | 'path' | 'header';
211
- selectorParam: string; // Tenant selector parameter
212
360
  apiTimeout?: number; // Request timeout (default: 30000)
213
361
  retryAttempts?: number; // Retry attempts (default: 3)
214
362
  }
363
+
364
+ // TenantProvider Config
365
+ interface TenantConfig {
366
+ tenantMode: 'subdomain' | 'selector' | 'fixed';
367
+ selectorParam?: string; // For 'selector' mode
368
+ fixedTenantSlug?: string; // For 'fixed' mode
369
+ initialTenant?: string; // Initial tenant value
370
+ }
215
371
  ```
216
372
 
217
373
  ## 🧪 Testing
@@ -220,13 +376,13 @@ The library includes comprehensive tests:
220
376
 
221
377
  ```bash
222
378
  # Run all tests
223
- pnpm test
379
+ yarn test
224
380
 
225
381
  # Run tests in watch mode
226
- pnpm test:watch
382
+ yarn test:watch
227
383
 
228
384
  # Run tests with coverage
229
- pnpm test:coverage
385
+ yarn test:coverage
230
386
  ```
231
387
 
232
388
  ## 📈 Performance
@@ -268,12 +424,17 @@ We welcome contributions! Please see our [Contributing Guide](./docs/contributin
268
424
 
269
425
  ## 🎯 Roadmap
270
426
 
271
- - [ ] OAuth 2.0 / OpenID Connect support
272
- - [ ] Multi-factor authentication
273
- - [ ] Advanced audit logging
274
- - [ ] GraphQL integration
275
- - [ ] React Native support
276
- - [ ] SSR/Next.js optimization
427
+ - [x] **Magic Link Authentication** - Passwordless authentication via email ✅
428
+ - [x] **Email/Phone Login Support** - Flexible authentication methods ✅
429
+ - [x] **Pre-built Form Components** - Ready-to-use authentication forms ✅
430
+ - [x] **Multi-tenant Architecture** - Separate App and Tenant providers ✅
431
+ - [ ] **OAuth 2.0 / OpenID Connect** - Social login integration
432
+ - [ ] **Multi-factor Authentication** - SMS/TOTP support
433
+ - [ ] **Advanced Audit Logging** - Comprehensive security tracking
434
+ - [ ] **GraphQL Integration** - GraphQL API support
435
+ - [ ] **React Native Support** - Mobile app integration
436
+ - [ ] **SSR/Next.js Optimization** - Server-side rendering support
437
+ - [ ] **Biometric Authentication** - WebAuthn/FIDO2 support
277
438
 
278
439
  ---
279
440
 
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+
2
3
  interface FeatureFlagProps {
3
4
  name: string;
4
5
  children: ReactNode;
@@ -1,8 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
+
2
3
  export interface LandingRouteProps {
3
4
  children: ReactNode;
4
5
  redirectTo?: string;
5
6
  fallback?: ReactNode;
6
7
  }
7
- export declare function LandingRoute({ children, redirectTo, fallback, }: LandingRouteProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function LandingRoute({ children, redirectTo, fallback }: LandingRouteProps): import("react/jsx-runtime").JSX.Element | null;
8
9
  //# sourceMappingURL=LandingRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LandingRoute.d.ts","sourceRoot":"","sources":["../../src/components/LandingRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkCD,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,UAAyB,EACzB,QAAQ,GACT,EAAE,iBAAiB,kDA8BnB"}
1
+ {"version":3,"file":"LandingRoute.d.ts","sourceRoot":"","sources":["../../src/components/LandingRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkCD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAyB,EAAE,QAAQ,EAAE,EAAE,iBAAiB,kDA8BhG"}
@@ -1,14 +1,17 @@
1
1
  import { default as React } from 'react';
2
+
2
3
  export interface LoginFormCopy {
3
4
  title?: string;
4
- emailLabel?: string;
5
- emailPlaceholder?: string;
5
+ usernameLabel?: string;
6
+ usernamePlaceholder?: string;
6
7
  passwordLabel?: string;
7
8
  passwordPlaceholder?: string;
8
9
  submitButton?: string;
9
10
  forgotPasswordLink?: string;
10
11
  signupLink?: string;
11
12
  signupText?: string;
13
+ magicLinkText?: string;
14
+ magicLinkLink?: string;
12
15
  errorMessage?: string;
13
16
  loadingText?: string;
14
17
  }
@@ -42,9 +45,11 @@ export interface LoginFormProps {
42
45
  onError?: (error: string) => void;
43
46
  onForgotPassword?: () => void;
44
47
  onSignupClick?: () => void;
48
+ onMagicLinkClick?: () => void;
45
49
  showForgotPassword?: boolean;
46
50
  showSignupLink?: boolean;
51
+ showMagicLinkOption?: boolean;
47
52
  className?: string;
48
53
  }
49
- export declare function LoginForm({ copy, styles, icons, onSuccess, onError, onForgotPassword, onSignupClick, showForgotPassword, showSignupLink, className, }: LoginFormProps): import("react/jsx-runtime").JSX.Element;
54
+ export declare function LoginForm({ copy, styles, icons, onSuccess, onError, onForgotPassword, onSignupClick, onMagicLinkClick, showForgotPassword, showSignupLink, showMagicLinkOption, className, }: LoginFormProps): import("react/jsx-runtime").JSX.Element;
50
55
  //# sourceMappingURL=LoginForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../src/components/LoginForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoKD,wBAAgB,SAAS,CAAC,EACxB,IAAS,EACT,MAAW,EACX,KAAU,EACV,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,kBAAyB,EACzB,cAAqB,EACrB,SAAS,GACV,EAAE,cAAc,2CAkJhB"}
1
+ {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../src/components/LoginForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsKD,wBAAgB,SAAS,CAAC,EACxB,IAAS,EACT,MAAW,EACX,KAAU,EACV,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,kBAAyB,EACzB,cAAqB,EACrB,mBAA0B,EAC1B,SAAS,GACV,EAAE,cAAc,2CAgKhB"}
@@ -0,0 +1,53 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface MagicLinkFormCopy {
4
+ title?: string;
5
+ emailLabel?: string;
6
+ emailPlaceholder?: string;
7
+ nameLabel?: string;
8
+ namePlaceholder?: string;
9
+ lastNameLabel?: string;
10
+ lastNamePlaceholder?: string;
11
+ submitButton?: string;
12
+ loginLink?: string;
13
+ signupLink?: string;
14
+ loginText?: string;
15
+ signupText?: string;
16
+ successMessage?: string;
17
+ errorMessage?: string;
18
+ loadingText?: string;
19
+ verifyingText?: string;
20
+ description?: string;
21
+ }
22
+ export interface MagicLinkFormStyles {
23
+ container?: React.CSSProperties;
24
+ title?: React.CSSProperties;
25
+ description?: React.CSSProperties;
26
+ form?: React.CSSProperties;
27
+ fieldGroup?: React.CSSProperties;
28
+ label?: React.CSSProperties;
29
+ input?: React.CSSProperties;
30
+ inputError?: React.CSSProperties;
31
+ button?: React.CSSProperties;
32
+ buttonDisabled?: React.CSSProperties;
33
+ buttonLoading?: React.CSSProperties;
34
+ errorText?: React.CSSProperties;
35
+ successText?: React.CSSProperties;
36
+ linkContainer?: React.CSSProperties;
37
+ link?: React.CSSProperties;
38
+ divider?: React.CSSProperties;
39
+ }
40
+ export interface MagicLinkFormProps {
41
+ copy?: MagicLinkFormCopy;
42
+ styles?: MagicLinkFormStyles;
43
+ onSuccess?: (data: any) => void;
44
+ onError?: (error: string) => void;
45
+ onLoginClick?: () => void;
46
+ onSignupClick?: () => void;
47
+ showTraditionalLinks?: boolean;
48
+ className?: string;
49
+ verifyToken?: string;
50
+ frontendUrl?: string;
51
+ }
52
+ export declare function MagicLinkForm({ copy, styles, onSuccess, onError, onLoginClick, onSignupClick, showTraditionalLinks, className, verifyToken, frontendUrl, }: MagicLinkFormProps): import("react/jsx-runtime").JSX.Element;
53
+ //# sourceMappingURL=MagicLinkForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MagicLinkForm.d.ts","sourceRoot":"","sources":["../../src/components/MagicLinkForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA+HD,wBAAgB,aAAa,CAAC,EAC5B,IAAS,EACT,MAAW,EACX,SAAS,EACT,OAAO,EACP,YAAY,EACZ,aAAa,EACb,oBAA2B,EAC3B,SAAS,EACT,WAAW,EACX,WAAW,GACZ,EAAE,kBAAkB,2CAuPpB"}
@@ -0,0 +1,45 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface MagicLinkVerifyCopy {
4
+ title?: string;
5
+ verifyingMessage?: string;
6
+ successMessage?: string;
7
+ errorMessage?: string;
8
+ redirectingMessage?: string;
9
+ retryButton?: string;
10
+ backToLoginButton?: string;
11
+ }
12
+ export interface MagicLinkVerifyStyles {
13
+ container?: React.CSSProperties;
14
+ card?: React.CSSProperties;
15
+ title?: React.CSSProperties;
16
+ message?: React.CSSProperties;
17
+ successMessage?: React.CSSProperties;
18
+ errorMessage?: React.CSSProperties;
19
+ spinner?: React.CSSProperties;
20
+ buttonContainer?: React.CSSProperties;
21
+ retryButton?: React.CSSProperties;
22
+ backButton?: React.CSSProperties;
23
+ }
24
+ export interface MagicLinkVerifyIcons {
25
+ loading?: React.ReactNode;
26
+ success?: React.ReactNode;
27
+ error?: React.ReactNode;
28
+ }
29
+ export interface MagicLinkVerifyProps {
30
+ copy?: MagicLinkVerifyCopy;
31
+ styles?: MagicLinkVerifyStyles;
32
+ icons?: MagicLinkVerifyIcons;
33
+ onSuccess?: (data: any) => void;
34
+ onError?: (error: string) => void;
35
+ onRetry?: () => void;
36
+ onBackToLogin?: () => void;
37
+ className?: string;
38
+ token?: string;
39
+ email?: string;
40
+ appId?: string;
41
+ tenantId?: string;
42
+ autoRedirectDelay?: number;
43
+ }
44
+ export declare function MagicLinkVerify({ copy, styles, icons, onSuccess, onError, onRetry, onBackToLogin, className, token: propToken, email: propEmail, appId: propAppId, tenantId: propTenantId, autoRedirectDelay, }: MagicLinkVerifyProps): import("react/jsx-runtime").JSX.Element;
45
+ //# sourceMappingURL=MagicLinkVerify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MagicLinkVerify.d.ts","sourceRoot":"","sources":["../../src/components/MagicLinkVerify.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAClC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAqJD,wBAAgB,eAAe,CAAC,EAC9B,IAAS,EACT,MAAW,EACX,KAAU,EACV,SAAS,EACT,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,iBAAwB,GACzB,EAAE,oBAAoB,2CAuJtB"}
@@ -1,4 +1,5 @@
1
1
  import { default as React } from 'react';
2
+
2
3
  export interface PasswordRecoveryFormCopy {
3
4
  title?: string;
4
5
  subtitle?: string;
@@ -1,5 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { UserType, Permission } from '../types/api';
3
+
3
4
  export interface ProtectedProps {
4
5
  children: ReactNode;
5
6
  fallback?: ReactNode;
@@ -1,5 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { UserType, Permission } from '../types/api';
3
+
3
4
  export interface ProtectedRouteProps {
4
5
  children: ReactNode;
5
6
  redirectTo?: string;
@@ -1,10 +1,15 @@
1
1
  import { default as React } from 'react';
2
+
2
3
  export interface SignupFormCopy {
3
4
  title?: string;
4
5
  nameLabel?: string;
5
6
  namePlaceholder?: string;
7
+ lastNameLabel?: string;
8
+ lastNamePlaceholder?: string;
6
9
  emailLabel?: string;
7
10
  emailPlaceholder?: string;
11
+ phoneNumberLabel?: string;
12
+ phoneNumberPlaceholder?: string;
8
13
  passwordLabel?: string;
9
14
  passwordPlaceholder?: string;
10
15
  confirmPasswordLabel?: string;
@@ -14,6 +19,8 @@ export interface SignupFormCopy {
14
19
  submitButton?: string;
15
20
  loginLink?: string;
16
21
  loginText?: string;
22
+ magicLinkText?: string;
23
+ magicLinkLink?: string;
17
24
  errorMessage?: string;
18
25
  loadingText?: string;
19
26
  passwordMismatchError?: string;
@@ -47,8 +54,10 @@ export interface SignupFormProps {
47
54
  onSuccess?: (data: any) => void;
48
55
  onError?: (error: string) => void;
49
56
  onLoginClick?: () => void;
57
+ onMagicLinkClick?: () => void;
50
58
  showLoginLink?: boolean;
59
+ showMagicLinkOption?: boolean;
51
60
  className?: string;
52
61
  }
53
- export declare function SignupForm({ copy, styles, signupType, onSuccess, onError, onLoginClick, showLoginLink, className, }: SignupFormProps): import("react/jsx-runtime").JSX.Element;
62
+ export declare function SignupForm({ copy, styles, signupType, onSuccess, onError, onLoginClick, onMagicLinkClick, showLoginLink, showMagicLinkOption, className, }: SignupFormProps): import("react/jsx-runtime").JSX.Element;
54
63
  //# sourceMappingURL=SignupForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignupForm.d.ts","sourceRoot":"","sources":["../../src/components/SignupForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACxC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC/B;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4HD,wBAAgB,UAAU,CAAC,EACzB,IAAS,EACT,MAAW,EACX,UAAmB,EACnB,SAAS,EACT,OAAO,EACP,YAAY,EACZ,aAAoB,EACpB,SAAS,GACV,EAAE,eAAe,2CA4NjB"}
1
+ {"version":3,"file":"SignupForm.d.ts","sourceRoot":"","sources":["../../src/components/SignupForm.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+
2
3
  export interface SubscriptionGuardProps {
3
4
  children: ReactNode;
4
5
  fallback?: ReactNode;
@@ -1,8 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
+
2
3
  export interface TenantRouteProps {
3
4
  children: ReactNode;
4
5
  redirectTo?: string;
5
6
  fallback?: ReactNode;
6
7
  }
7
- export declare function TenantRoute({ children, redirectTo, fallback, }: TenantRouteProps): import("react/jsx-runtime").JSX.Element | null;
8
+ export declare function TenantRoute({ children, redirectTo, fallback }: TenantRouteProps): import("react/jsx-runtime").JSX.Element | null;
8
9
  //# sourceMappingURL=TenantRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TenantRoute.d.ts","sourceRoot":"","sources":["../../src/components/TenantRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkCD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,UAAgB,EAChB,QAAQ,GACT,EAAE,gBAAgB,kDA8BlB"}
1
+ {"version":3,"file":"TenantRoute.d.ts","sourceRoot":"","sources":["../../src/components/TenantRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkCD,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAgB,EAAE,QAAQ,EAAE,EAAE,gBAAgB,kDA8BrF"}