@skylabs-digital/react-identity-access 1.0.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/README.md +280 -0
- package/dist/components/FeatureFlag.d.ts +9 -0
- package/dist/components/FeatureFlag.d.ts.map +1 -0
- package/dist/components/LoginForm.d.ts +50 -0
- package/dist/components/LoginForm.d.ts.map +1 -0
- package/dist/components/PasswordRecoveryForm.d.ts +54 -0
- package/dist/components/PasswordRecoveryForm.d.ts.map +1 -0
- package/dist/components/Protected.d.ts +11 -0
- package/dist/components/Protected.d.ts.map +1 -0
- package/dist/components/ProtectedRoute.d.ts +12 -0
- package/dist/components/ProtectedRoute.d.ts.map +1 -0
- package/dist/components/SignupForm.d.ts +54 -0
- package/dist/components/SignupForm.d.ts.map +1 -0
- package/dist/components/SubscriptionGuard.d.ts +9 -0
- package/dist/components/SubscriptionGuard.d.ts.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +2609 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/AppProvider.d.ts +41 -0
- package/dist/providers/AppProvider.d.ts.map +1 -0
- package/dist/providers/AuthProvider.d.ts +48 -0
- package/dist/providers/AuthProvider.d.ts.map +1 -0
- package/dist/providers/FeatureFlagProvider.d.ts +22 -0
- package/dist/providers/FeatureFlagProvider.d.ts.map +1 -0
- package/dist/providers/SubscriptionProvider.d.ts +24 -0
- package/dist/providers/SubscriptionProvider.d.ts.map +1 -0
- package/dist/providers/TenantProvider.d.ts +32 -0
- package/dist/providers/TenantProvider.d.ts.map +1 -0
- package/dist/services/AppApiService.d.ts +20 -0
- package/dist/services/AppApiService.d.ts.map +1 -0
- package/dist/services/AuthApiService.d.ts +29 -0
- package/dist/services/AuthApiService.d.ts.map +1 -0
- package/dist/services/FeatureFlagApiService.d.ts +19 -0
- package/dist/services/FeatureFlagApiService.d.ts.map +1 -0
- package/dist/services/HealthApiService.d.ts +9 -0
- package/dist/services/HealthApiService.d.ts.map +1 -0
- package/dist/services/HttpService.d.ts +21 -0
- package/dist/services/HttpService.d.ts.map +1 -0
- package/dist/services/PermissionApiService.d.ts +21 -0
- package/dist/services/PermissionApiService.d.ts.map +1 -0
- package/dist/services/RoleApiService.d.ts +23 -0
- package/dist/services/RoleApiService.d.ts.map +1 -0
- package/dist/services/SessionManager.d.ts +45 -0
- package/dist/services/SessionManager.d.ts.map +1 -0
- package/dist/services/SubscriptionApiService.d.ts +15 -0
- package/dist/services/SubscriptionApiService.d.ts.map +1 -0
- package/dist/services/SubscriptionPlanApiService.d.ts +19 -0
- package/dist/services/SubscriptionPlanApiService.d.ts.map +1 -0
- package/dist/services/TenantApiService.d.ts +21 -0
- package/dist/services/TenantApiService.d.ts.map +1 -0
- package/dist/services/UserApiService.d.ts +17 -0
- package/dist/services/UserApiService.d.ts.map +1 -0
- package/dist/types/api.d.ts +281 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/utils/mappers.d.ts +29 -0
- package/dist/utils/mappers.d.ts.map +1 -0
- package/package.json +135 -0
package/README.md
ADDED
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
# React Identity Access
|
|
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.
|
|
4
|
+
|
|
5
|
+
## 🚀 Features
|
|
6
|
+
|
|
7
|
+
- **🔐 Secure Authentication** - JWT-based authentication with automatic token refresh
|
|
8
|
+
- **👥 Role-Based Access Control** - Granular permission system with role hierarchy
|
|
9
|
+
- **🛡️ Protected Components** - Easy-to-use components for conditional rendering
|
|
10
|
+
- **📱 Multi-Tenant Support** - Built-in support for multi-tenant applications
|
|
11
|
+
- **🎯 TypeScript First** - Full TypeScript support with comprehensive type definitions
|
|
12
|
+
- **⚡ Modern React** - Built with React hooks and context for optimal performance
|
|
13
|
+
- **🔄 Session Management** - Automatic session handling and token refresh
|
|
14
|
+
- **🎨 Feature Flags** - Built-in feature flag management
|
|
15
|
+
- **💳 Subscription Management** - Integrated billing and subscription handling
|
|
16
|
+
|
|
17
|
+
## 📦 Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install react-identity-access
|
|
21
|
+
# or
|
|
22
|
+
yarn add react-identity-access
|
|
23
|
+
# or
|
|
24
|
+
pnpm add react-identity-access
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## 🏃♂️ Quick Start
|
|
28
|
+
|
|
29
|
+
### 1. Setup Providers
|
|
30
|
+
|
|
31
|
+
Wrap your application with the required providers:
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
import { AppProvider, AuthProvider } from 'react-identity-access';
|
|
35
|
+
|
|
36
|
+
function App() {
|
|
37
|
+
return (
|
|
38
|
+
<AppProvider
|
|
39
|
+
config={{
|
|
40
|
+
baseUrl: 'https://your-api.com',
|
|
41
|
+
appId: 'your-app-id',
|
|
42
|
+
tenantMode: 'subdomain', // or 'path' or 'header'
|
|
43
|
+
selectorParam: 'tenant',
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
<AuthProvider>
|
|
47
|
+
{/* Your app components */}
|
|
48
|
+
</AuthProvider>
|
|
49
|
+
</AppProvider>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### 2. Use Authentication
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
import { useAuth } from 'react-identity-access';
|
|
58
|
+
|
|
59
|
+
function LoginComponent() {
|
|
60
|
+
const { login, logout, sessionManager } = useAuth();
|
|
61
|
+
const user = sessionManager.getUser();
|
|
62
|
+
|
|
63
|
+
const handleLogin = async () => {
|
|
64
|
+
try {
|
|
65
|
+
await login('user@example.com', 'password', 'tenant-id');
|
|
66
|
+
} catch (error) {
|
|
67
|
+
console.error('Login failed:', error);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
return (
|
|
72
|
+
<div>
|
|
73
|
+
{user ? (
|
|
74
|
+
<div>
|
|
75
|
+
<p>Welcome, {user.name}!</p>
|
|
76
|
+
<button onClick={logout}>Logout</button>
|
|
77
|
+
</div>
|
|
78
|
+
) : (
|
|
79
|
+
<button onClick={handleLogin}>Login</button>
|
|
80
|
+
)}
|
|
81
|
+
</div>
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 3. Protect Components
|
|
87
|
+
|
|
88
|
+
```tsx
|
|
89
|
+
import { Protected } from 'react-identity-access';
|
|
90
|
+
|
|
91
|
+
function AdminPanel() {
|
|
92
|
+
return (
|
|
93
|
+
<Protected
|
|
94
|
+
requiredPermissions={['admin:read', 'users:manage']}
|
|
95
|
+
fallback={<div>Access denied</div>}
|
|
96
|
+
>
|
|
97
|
+
<div>Admin content here</div>
|
|
98
|
+
</Protected>
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 🏗️ Architecture
|
|
104
|
+
|
|
105
|
+
### Core Providers
|
|
106
|
+
|
|
107
|
+
- **AppProvider** - Application configuration and context
|
|
108
|
+
- **AuthProvider** - Authentication and session management
|
|
109
|
+
- **FeatureFlagProvider** - Feature flag management
|
|
110
|
+
- **SubscriptionProvider** - Billing and subscription handling
|
|
111
|
+
|
|
112
|
+
### Permission System
|
|
113
|
+
|
|
114
|
+
The library uses a resource-action permission format:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
resource:action
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Examples:
|
|
121
|
+
- `users:read` - Read user data
|
|
122
|
+
- `products:write` - Create/update products
|
|
123
|
+
- `admin:*` - All admin permissions
|
|
124
|
+
- `reports:read` - View reports
|
|
125
|
+
|
|
126
|
+
## 📚 Documentation
|
|
127
|
+
|
|
128
|
+
- [📖 Implementation Guide](./docs/implementation.md)
|
|
129
|
+
- [🔧 Advanced Usage](./docs/advanced-usage.md)
|
|
130
|
+
- [🤝 Contributing](./docs/contributing.md)
|
|
131
|
+
- [📋 API Reference](./docs/api-reference.md)
|
|
132
|
+
- [🎯 Examples](./docs/examples.md)
|
|
133
|
+
|
|
134
|
+
## 🎮 Demo Application
|
|
135
|
+
|
|
136
|
+
A complete demo application is included in the `template/` directory. To run it:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
cd template
|
|
140
|
+
pnpm install
|
|
141
|
+
pnpm start
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
The demo showcases:
|
|
145
|
+
- User authentication flow
|
|
146
|
+
- Role-based dashboard
|
|
147
|
+
- Permission testing
|
|
148
|
+
- Protected routes
|
|
149
|
+
- Feature flag usage
|
|
150
|
+
|
|
151
|
+
## 🛠️ Development
|
|
152
|
+
|
|
153
|
+
### Prerequisites
|
|
154
|
+
|
|
155
|
+
- Node.js 16+
|
|
156
|
+
- pnpm (recommended) or npm/yarn
|
|
157
|
+
|
|
158
|
+
### Setup
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Clone the repository
|
|
162
|
+
git clone <repository-url>
|
|
163
|
+
cd react-identity-access
|
|
164
|
+
|
|
165
|
+
# Install dependencies
|
|
166
|
+
pnpm install
|
|
167
|
+
|
|
168
|
+
# Build the library
|
|
169
|
+
pnpm build
|
|
170
|
+
|
|
171
|
+
# Run tests
|
|
172
|
+
pnpm test
|
|
173
|
+
|
|
174
|
+
# Start development
|
|
175
|
+
pnpm dev
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Project Structure
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
react-identity-access/
|
|
182
|
+
├── src/ # Library source code
|
|
183
|
+
│ ├── components/ # React components
|
|
184
|
+
│ ├── providers/ # Context providers
|
|
185
|
+
│ ├── services/ # API services
|
|
186
|
+
│ ├── types/ # TypeScript definitions
|
|
187
|
+
│ └── index.ts # Main export
|
|
188
|
+
├── template/ # Demo application
|
|
189
|
+
├── docs/ # Documentation
|
|
190
|
+
├── dist/ # Built library
|
|
191
|
+
└── package.json
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## 🔧 Configuration
|
|
195
|
+
|
|
196
|
+
### Environment Variables
|
|
197
|
+
|
|
198
|
+
```env
|
|
199
|
+
REACT_APP_BASE_URL=https://your-api.com
|
|
200
|
+
REACT_APP_ID=your-app-id
|
|
201
|
+
REACT_APP_TENANT_MODE=subdomain
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### AppProvider Config
|
|
205
|
+
|
|
206
|
+
```tsx
|
|
207
|
+
interface AppConfig {
|
|
208
|
+
baseUrl: string; // API base URL
|
|
209
|
+
appId: string; // Application identifier
|
|
210
|
+
tenantMode: 'subdomain' | 'path' | 'header';
|
|
211
|
+
selectorParam: string; // Tenant selector parameter
|
|
212
|
+
apiTimeout?: number; // Request timeout (default: 30000)
|
|
213
|
+
retryAttempts?: number; // Retry attempts (default: 3)
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## 🧪 Testing
|
|
218
|
+
|
|
219
|
+
The library includes comprehensive tests:
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Run all tests
|
|
223
|
+
pnpm test
|
|
224
|
+
|
|
225
|
+
# Run tests in watch mode
|
|
226
|
+
pnpm test:watch
|
|
227
|
+
|
|
228
|
+
# Run tests with coverage
|
|
229
|
+
pnpm test:coverage
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## 📈 Performance
|
|
233
|
+
|
|
234
|
+
- **Tree-shakable** - Only import what you need
|
|
235
|
+
- **Lazy loading** - Components load on demand
|
|
236
|
+
- **Optimized re-renders** - Minimal React re-renders
|
|
237
|
+
- **Caching** - Intelligent caching of API responses
|
|
238
|
+
|
|
239
|
+
## 🔒 Security
|
|
240
|
+
|
|
241
|
+
- **JWT tokens** with automatic refresh
|
|
242
|
+
- **Secure storage** of sensitive data
|
|
243
|
+
- **CSRF protection** built-in
|
|
244
|
+
- **Permission validation** on both client and server
|
|
245
|
+
- **Audit logging** for security events
|
|
246
|
+
|
|
247
|
+
## 🌐 Browser Support
|
|
248
|
+
|
|
249
|
+
- Chrome 90+
|
|
250
|
+
- Firefox 88+
|
|
251
|
+
- Safari 14+
|
|
252
|
+
- Edge 90+
|
|
253
|
+
|
|
254
|
+
## 📄 License
|
|
255
|
+
|
|
256
|
+
MIT License - see [LICENSE](./LICENSE) file for details.
|
|
257
|
+
|
|
258
|
+
## 🤝 Contributing
|
|
259
|
+
|
|
260
|
+
We welcome contributions! Please see our [Contributing Guide](./docs/contributing.md) for details.
|
|
261
|
+
|
|
262
|
+
## 📞 Support
|
|
263
|
+
|
|
264
|
+
- 📧 Email: support@skylabs.com
|
|
265
|
+
- 💬 Discord: [Join our community](https://discord.gg/skylabs)
|
|
266
|
+
- 🐛 Issues: [GitHub Issues](https://github.com/skylabs/react-identity-access/issues)
|
|
267
|
+
- 📖 Docs: [Documentation](./docs/)
|
|
268
|
+
|
|
269
|
+
## 🎯 Roadmap
|
|
270
|
+
|
|
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
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
Made with ❤️ by [Skylabs Digital](https://skylabs.digital)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface FeatureFlagProps {
|
|
3
|
+
name: string;
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
fallback?: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function FeatureFlag({ name, children, fallback }: FeatureFlagProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=FeatureFlag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureFlag.d.ts","sourceRoot":"","sources":["../../src/components/FeatureFlag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA0BD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CA6BzE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface LoginFormCopy {
|
|
3
|
+
title?: string;
|
|
4
|
+
emailLabel?: string;
|
|
5
|
+
emailPlaceholder?: string;
|
|
6
|
+
passwordLabel?: string;
|
|
7
|
+
passwordPlaceholder?: string;
|
|
8
|
+
submitButton?: string;
|
|
9
|
+
forgotPasswordLink?: string;
|
|
10
|
+
signupLink?: string;
|
|
11
|
+
signupText?: string;
|
|
12
|
+
errorMessage?: string;
|
|
13
|
+
loadingText?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface LoginFormStyles {
|
|
16
|
+
container?: React.CSSProperties;
|
|
17
|
+
title?: React.CSSProperties;
|
|
18
|
+
form?: React.CSSProperties;
|
|
19
|
+
fieldGroup?: React.CSSProperties;
|
|
20
|
+
label?: React.CSSProperties;
|
|
21
|
+
input?: React.CSSProperties;
|
|
22
|
+
inputError?: React.CSSProperties;
|
|
23
|
+
inputContainer?: React.CSSProperties;
|
|
24
|
+
passwordToggle?: React.CSSProperties;
|
|
25
|
+
button?: React.CSSProperties;
|
|
26
|
+
buttonDisabled?: React.CSSProperties;
|
|
27
|
+
buttonLoading?: React.CSSProperties;
|
|
28
|
+
errorText?: React.CSSProperties;
|
|
29
|
+
linkContainer?: React.CSSProperties;
|
|
30
|
+
link?: React.CSSProperties;
|
|
31
|
+
divider?: React.CSSProperties;
|
|
32
|
+
}
|
|
33
|
+
export interface LoginFormIcons {
|
|
34
|
+
showPassword?: React.ReactNode;
|
|
35
|
+
hidePassword?: React.ReactNode;
|
|
36
|
+
}
|
|
37
|
+
export interface LoginFormProps {
|
|
38
|
+
copy?: LoginFormCopy;
|
|
39
|
+
styles?: LoginFormStyles;
|
|
40
|
+
icons?: LoginFormIcons;
|
|
41
|
+
onSuccess?: (data: any) => void;
|
|
42
|
+
onError?: (error: string) => void;
|
|
43
|
+
onForgotPassword?: () => void;
|
|
44
|
+
onSignupClick?: () => void;
|
|
45
|
+
showForgotPassword?: boolean;
|
|
46
|
+
showSignupLink?: boolean;
|
|
47
|
+
className?: string;
|
|
48
|
+
}
|
|
49
|
+
export declare function LoginForm({ copy, styles, icons, onSuccess, onError, onForgotPassword, onSignupClick, showForgotPassword, showSignupLink, className, }: LoginFormProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
//# sourceMappingURL=LoginForm.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface PasswordRecoveryFormCopy {
|
|
3
|
+
title?: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
emailLabel?: string;
|
|
6
|
+
emailPlaceholder?: string;
|
|
7
|
+
submitButton?: string;
|
|
8
|
+
backToLoginLink?: string;
|
|
9
|
+
successMessage?: string;
|
|
10
|
+
errorMessage?: string;
|
|
11
|
+
loadingText?: string;
|
|
12
|
+
resetTitle?: string;
|
|
13
|
+
resetSubtitle?: string;
|
|
14
|
+
tokenLabel?: string;
|
|
15
|
+
tokenPlaceholder?: string;
|
|
16
|
+
newPasswordLabel?: string;
|
|
17
|
+
newPasswordPlaceholder?: string;
|
|
18
|
+
confirmPasswordLabel?: string;
|
|
19
|
+
confirmPasswordPlaceholder?: string;
|
|
20
|
+
resetSubmitButton?: string;
|
|
21
|
+
resetLoadingText?: string;
|
|
22
|
+
resetSuccessMessage?: string;
|
|
23
|
+
passwordMismatchError?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface PasswordRecoveryFormStyles {
|
|
26
|
+
container?: React.CSSProperties;
|
|
27
|
+
title?: React.CSSProperties;
|
|
28
|
+
subtitle?: React.CSSProperties;
|
|
29
|
+
form?: React.CSSProperties;
|
|
30
|
+
fieldGroup?: React.CSSProperties;
|
|
31
|
+
label?: React.CSSProperties;
|
|
32
|
+
input?: React.CSSProperties;
|
|
33
|
+
inputError?: React.CSSProperties;
|
|
34
|
+
button?: React.CSSProperties;
|
|
35
|
+
buttonDisabled?: React.CSSProperties;
|
|
36
|
+
buttonLoading?: React.CSSProperties;
|
|
37
|
+
errorText?: React.CSSProperties;
|
|
38
|
+
successText?: React.CSSProperties;
|
|
39
|
+
linkContainer?: React.CSSProperties;
|
|
40
|
+
link?: React.CSSProperties;
|
|
41
|
+
}
|
|
42
|
+
export interface PasswordRecoveryFormProps {
|
|
43
|
+
copy?: PasswordRecoveryFormCopy;
|
|
44
|
+
styles?: PasswordRecoveryFormStyles;
|
|
45
|
+
mode?: 'request' | 'reset';
|
|
46
|
+
token?: string;
|
|
47
|
+
onSuccess?: (data?: any) => void;
|
|
48
|
+
onError?: (error: string) => void;
|
|
49
|
+
onBackToLogin?: () => void;
|
|
50
|
+
onModeChange?: (mode: 'request' | 'reset') => void;
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare function PasswordRecoveryForm({ copy, styles, mode, token: initialToken, onSuccess, onError, onBackToLogin, onModeChange, className, }: PasswordRecoveryFormProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
//# sourceMappingURL=PasswordRecoveryForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PasswordRecoveryForm.d.ts","sourceRoot":"","sources":["../../src/components/PasswordRecoveryForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,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;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuHD,wBAAgB,oBAAoB,CAAC,EACnC,IAAS,EACT,MAAW,EACX,IAAgB,EAChB,KAAK,EAAE,YAAiB,EACxB,SAAS,EACT,OAAO,EACP,aAAa,EACb,YAAY,EACZ,SAAS,GACV,EAAE,yBAAyB,2CA4P3B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { UserType, Permission } from '../types/api';
|
|
3
|
+
export interface ProtectedProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
fallback?: ReactNode;
|
|
6
|
+
minUserType?: UserType;
|
|
7
|
+
requiredPermissions?: (string | Permission)[];
|
|
8
|
+
requireAllPermissions?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function Protected({ children, fallback, minUserType, requiredPermissions, requireAllPermissions, }: ProtectedProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
//# sourceMappingURL=Protected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Protected.d.ts","sourceRoot":"","sources":["../../src/components/Protected.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAC9C,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAmGD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,qBAA6B,GAC9B,EAAE,cAAc,2CAuChB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { UserType, Permission } from '../types/api';
|
|
3
|
+
export interface ProtectedRouteProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
redirectTo?: string;
|
|
6
|
+
minUserType?: UserType;
|
|
7
|
+
requiredPermissions?: (string | Permission)[];
|
|
8
|
+
requireAllPermissions?: boolean;
|
|
9
|
+
fallback?: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export declare function ProtectedRoute({ children, redirectTo, minUserType, requiredPermissions, requireAllPermissions, fallback, }: ProtectedRouteProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=ProtectedRoute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProtectedRoute.d.ts","sourceRoot":"","sources":["../../src/components/ProtectedRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,mBAAmB,CAAC,EAAE,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC;IAC9C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAsGD,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,UAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,qBAA6B,EAC7B,QAAQ,GACT,EAAE,mBAAmB,2CAiDrB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface SignupFormCopy {
|
|
3
|
+
title?: string;
|
|
4
|
+
nameLabel?: string;
|
|
5
|
+
namePlaceholder?: string;
|
|
6
|
+
emailLabel?: string;
|
|
7
|
+
emailPlaceholder?: string;
|
|
8
|
+
passwordLabel?: string;
|
|
9
|
+
passwordPlaceholder?: string;
|
|
10
|
+
confirmPasswordLabel?: string;
|
|
11
|
+
confirmPasswordPlaceholder?: string;
|
|
12
|
+
tenantNameLabel?: string;
|
|
13
|
+
tenantNamePlaceholder?: string;
|
|
14
|
+
submitButton?: string;
|
|
15
|
+
loginLink?: string;
|
|
16
|
+
loginText?: string;
|
|
17
|
+
errorMessage?: string;
|
|
18
|
+
loadingText?: string;
|
|
19
|
+
passwordMismatchError?: string;
|
|
20
|
+
isAdminLabel?: string;
|
|
21
|
+
isAdminDescription?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface SignupFormStyles {
|
|
24
|
+
container?: React.CSSProperties;
|
|
25
|
+
title?: React.CSSProperties;
|
|
26
|
+
form?: React.CSSProperties;
|
|
27
|
+
fieldGroup?: React.CSSProperties;
|
|
28
|
+
label?: React.CSSProperties;
|
|
29
|
+
input?: React.CSSProperties;
|
|
30
|
+
inputError?: React.CSSProperties;
|
|
31
|
+
checkbox?: React.CSSProperties;
|
|
32
|
+
checkboxContainer?: React.CSSProperties;
|
|
33
|
+
checkboxLabel?: React.CSSProperties;
|
|
34
|
+
button?: React.CSSProperties;
|
|
35
|
+
buttonDisabled?: React.CSSProperties;
|
|
36
|
+
buttonLoading?: React.CSSProperties;
|
|
37
|
+
errorText?: React.CSSProperties;
|
|
38
|
+
linkContainer?: React.CSSProperties;
|
|
39
|
+
link?: React.CSSProperties;
|
|
40
|
+
divider?: React.CSSProperties;
|
|
41
|
+
}
|
|
42
|
+
export type SignupType = 'user' | 'tenant';
|
|
43
|
+
export interface SignupFormProps {
|
|
44
|
+
copy?: SignupFormCopy;
|
|
45
|
+
styles?: SignupFormStyles;
|
|
46
|
+
signupType?: SignupType;
|
|
47
|
+
onSuccess?: (data: any) => void;
|
|
48
|
+
onError?: (error: string) => void;
|
|
49
|
+
onLoginClick?: () => void;
|
|
50
|
+
showLoginLink?: boolean;
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
export declare function SignupForm({ copy, styles, signupType, onSuccess, onError, onLoginClick, showLoginLink, className, }: SignupFormProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
//# sourceMappingURL=SignupForm.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface SubscriptionGuardProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
fallback?: ReactNode;
|
|
5
|
+
allowedPlans?: string[];
|
|
6
|
+
requiredFeature?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function SubscriptionGuard({ children, fallback, allowedPlans, requiredFeature, }: SubscriptionGuardProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=SubscriptionGuard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubscriptionGuard.d.ts","sourceRoot":"","sources":["../../src/components/SubscriptionGuard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAqBD,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,QAA8B,EAC9B,YAAY,EACZ,eAAe,GAChB,EAAE,sBAAsB,2CAwCxB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export { AppProvider, useApp, useApi, useTenant } from './providers/AppProvider';
|
|
2
|
+
export type { AppConfig } from './providers/AppProvider';
|
|
3
|
+
export { AuthProvider, useAuth } from './providers/AuthProvider';
|
|
4
|
+
export type { AuthConfig, AuthContextValue } from './providers/AuthProvider';
|
|
5
|
+
export { FeatureFlagProvider, useFeatureFlags } from './providers/FeatureFlagProvider';
|
|
6
|
+
export type { FeatureFlagConfig, FeatureFlagContextValue } from './providers/FeatureFlagProvider';
|
|
7
|
+
export type { FeatureFlag as FeatureFlagType } from './types/api';
|
|
8
|
+
export { SubscriptionProvider, useSubscription } from './providers/SubscriptionProvider';
|
|
9
|
+
export type { SubscriptionConfig, SubscriptionContextValue, } from './providers/SubscriptionProvider';
|
|
10
|
+
export { TenantProvider, useTenantSettings, useSettings } from './providers/TenantProvider';
|
|
11
|
+
export { Protected } from './components/Protected';
|
|
12
|
+
export { ProtectedRoute } from './components/ProtectedRoute';
|
|
13
|
+
export { SubscriptionGuard } from './components/SubscriptionGuard';
|
|
14
|
+
export { FeatureFlag } from './components/FeatureFlag';
|
|
15
|
+
export { LoginForm } from './components/LoginForm';
|
|
16
|
+
export { SignupForm } from './components/SignupForm';
|
|
17
|
+
export { PasswordRecoveryForm } from './components/PasswordRecoveryForm';
|
|
18
|
+
export type { ProtectedProps } from './components/Protected';
|
|
19
|
+
export type { ProtectedRouteProps } from './components/ProtectedRoute';
|
|
20
|
+
export type { SubscriptionGuardProps } from './components/SubscriptionGuard';
|
|
21
|
+
export type { LoginFormProps, LoginFormCopy, LoginFormStyles } from './components/LoginForm';
|
|
22
|
+
export type { SignupFormProps, SignupFormCopy, SignupFormStyles } from './components/SignupForm';
|
|
23
|
+
export type { PasswordRecoveryFormProps, PasswordRecoveryFormCopy, PasswordRecoveryFormStyles, } from './components/PasswordRecoveryForm';
|
|
24
|
+
export { UserType } from './types/api';
|
|
25
|
+
export type { User, PlanFeature, TenantSubscriptionFeatures } from './types/api';
|
|
26
|
+
export { HttpService } from './services/HttpService';
|
|
27
|
+
export type { RequestOptions } from './services/HttpService';
|
|
28
|
+
export { SessionManager } from './services/SessionManager';
|
|
29
|
+
export type { TokenData, SessionConfig } from './services/SessionManager';
|
|
30
|
+
export { AuthApiService } from './services/AuthApiService';
|
|
31
|
+
export { UserApiService } from './services/UserApiService';
|
|
32
|
+
export { RoleApiService } from './services/RoleApiService';
|
|
33
|
+
export { PermissionApiService } from './services/PermissionApiService';
|
|
34
|
+
export { AppApiService } from './services/AppApiService';
|
|
35
|
+
export { TenantApiService } from './services/TenantApiService';
|
|
36
|
+
export { SubscriptionApiService } from './services/SubscriptionApiService';
|
|
37
|
+
export { SubscriptionPlanApiService } from './services/SubscriptionPlanApiService';
|
|
38
|
+
export { FeatureFlagApiService } from './services/FeatureFlagApiService';
|
|
39
|
+
export { HealthApiService } from './services/HealthApiService';
|
|
40
|
+
export * from './types/api';
|
|
41
|
+
export type { JSONSchema } from './types/api';
|
|
42
|
+
export { ApiMappers } from './utils/mappers';
|
|
43
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|