@beyondcorp/beyond-ui 1.0.31 → 1.0.33
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/components/Auth/index.js +6 -0
- package/dist/components/Auth/index.js.map +1 -0
- package/dist/contexts/index.js +2 -0
- package/dist/contexts/index.js.map +1 -0
- package/dist/services/authService.js +10 -10
- package/dist/services/authService.js.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { LoginForm } from './LoginForm.js';
|
|
2
|
+
export { SignupForm } from './SignupForm.js';
|
|
3
|
+
export { ProtectedRoute, useRequireRole, withRoleProtection } from './ProtectedRoute.js';
|
|
4
|
+
export { PasswordResetForm } from './PasswordResetForm.js';
|
|
5
|
+
export { AuthShowcase } from './AuthShowcase.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Cookies from 'js-cookie';
|
|
2
2
|
|
|
3
3
|
// Mock API service - replace with actual API calls
|
|
4
4
|
class AuthService {
|
|
@@ -47,8 +47,8 @@ class AuthService {
|
|
|
47
47
|
secure: process.env.NODE_ENV === 'production',
|
|
48
48
|
sameSite: 'strict',
|
|
49
49
|
};
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
Cookies.set(this.TOKEN_KEY, token, cookieOptions);
|
|
51
|
+
Cookies.set(this.REFRESH_TOKEN_KEY, refreshToken, cookieOptions);
|
|
52
52
|
localStorage.setItem(this.USER_KEY, JSON.stringify(user));
|
|
53
53
|
return { user, token, refreshToken };
|
|
54
54
|
}
|
|
@@ -79,8 +79,8 @@ class AuthService {
|
|
|
79
79
|
secure: process.env.NODE_ENV === 'production',
|
|
80
80
|
sameSite: 'strict',
|
|
81
81
|
};
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
Cookies.set(this.TOKEN_KEY, token, cookieOptions);
|
|
83
|
+
Cookies.set(this.REFRESH_TOKEN_KEY, refreshToken, cookieOptions);
|
|
84
84
|
localStorage.setItem(this.USER_KEY, JSON.stringify(user));
|
|
85
85
|
return { user, token, refreshToken };
|
|
86
86
|
}
|
|
@@ -88,8 +88,8 @@ class AuthService {
|
|
|
88
88
|
* Logout user and clear tokens
|
|
89
89
|
*/
|
|
90
90
|
logout() {
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
Cookies.remove(this.TOKEN_KEY);
|
|
92
|
+
Cookies.remove(this.REFRESH_TOKEN_KEY);
|
|
93
93
|
localStorage.removeItem(this.USER_KEY);
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
@@ -108,20 +108,20 @@ class AuthService {
|
|
|
108
108
|
* Get current token
|
|
109
109
|
*/
|
|
110
110
|
getToken() {
|
|
111
|
-
return
|
|
111
|
+
return Cookies.get(this.TOKEN_KEY) || null;
|
|
112
112
|
}
|
|
113
113
|
/**
|
|
114
114
|
* Refresh authentication token
|
|
115
115
|
*/
|
|
116
116
|
async refreshToken() {
|
|
117
|
-
const refreshToken =
|
|
117
|
+
const refreshToken = Cookies.get(this.REFRESH_TOKEN_KEY);
|
|
118
118
|
if (!refreshToken) {
|
|
119
119
|
throw new Error('No refresh token available');
|
|
120
120
|
}
|
|
121
121
|
// Simulate API call
|
|
122
122
|
await new Promise(resolve => setTimeout(resolve, 500));
|
|
123
123
|
const newToken = 'mock_jwt_token_refreshed_' + Date.now();
|
|
124
|
-
|
|
124
|
+
Cookies.set(this.TOKEN_KEY, newToken, {
|
|
125
125
|
expires: 1, // 1 day
|
|
126
126
|
secure: process.env.NODE_ENV === 'production',
|
|
127
127
|
sameSite: 'strict',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authService.js","sources":["../../src/services/authService.ts"],"sourcesContent":["import Cookies from 'js-cookie';\nimport type { LoginCredentials, SignupData, AuthResponse, User } from '../types/auth';\n\n// Mock API service - replace with actual API calls\nclass AuthService {\n private readonly TOKEN_KEY = 'auth_token';\n private readonly REFRESH_TOKEN_KEY = 'refresh_token';\n private readonly USER_KEY = 'auth_user';\n\n /**\n * Simulate API login\n */\n async login(credentials: LoginCredentials): Promise<AuthResponse> {\n // Simulate API delay\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n // Mock validation - replace with actual API call\n if (credentials.email === 'admin@example.com' && credentials.password === 'Password123!') {\n const user: User = {\n id: '1',\n email: credentials.email,\n name: 'John Doe',\n role: 'admin',\n avatar: 'https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64',\n createdAt: new Date().toISOString(),\n lastLogin: new Date().toISOString(),\n };\n\n const token = 'mock_jwt_token_' + Date.now();\n const refreshToken = 'mock_refresh_token_' + Date.now();\n\n // Store tokens\n const cookieOptions = {\n expires: credentials.rememberMe ? 30 : undefined, // 30 days if remember me\n secure: process.env.NODE_ENV === 'production',\n sameSite: 'strict' as const,\n };\n\n Cookies.set(this.TOKEN_KEY, token, cookieOptions);\n Cookies.set(this.REFRESH_TOKEN_KEY, refreshToken, cookieOptions);\n localStorage.setItem(this.USER_KEY, JSON.stringify(user));\n\n return { user, token, refreshToken };\n }\n\n throw new Error('Invalid email or password');\n }\n\n /**\n * Simulate API signup\n */\n async signup(data: SignupData): Promise<AuthResponse> {\n // Simulate API delay\n await new Promise(resolve => setTimeout(resolve, 1500));\n\n // Mock email validation - replace with actual API call\n if (data.email === 'existing@example.com') {\n throw new Error('An account with this email already exists');\n }\n\n const user: User = {\n id: Date.now().toString(),\n email: data.email,\n name: data.name,\n role: 'user',\n createdAt: new Date().toISOString(),\n };\n\n const token = 'mock_jwt_token_' + Date.now();\n const refreshToken = 'mock_refresh_token_' + Date.now();\n\n // Store tokens\n const cookieOptions = {\n expires: 7, // 7 days for new users\n secure: process.env.NODE_ENV === 'production',\n sameSite: 'strict' as const,\n };\n\n Cookies.set(this.TOKEN_KEY, token, cookieOptions);\n Cookies.set(this.REFRESH_TOKEN_KEY, refreshToken, cookieOptions);\n localStorage.setItem(this.USER_KEY, JSON.stringify(user));\n\n return { user, token, refreshToken };\n }\n\n /**\n * Logout user and clear tokens\n */\n logout(): void {\n Cookies.remove(this.TOKEN_KEY);\n Cookies.remove(this.REFRESH_TOKEN_KEY);\n localStorage.removeItem(this.USER_KEY);\n }\n\n /**\n * Get current user from storage\n */\n getCurrentUser(): User | null {\n try {\n const userStr = localStorage.getItem(this.USER_KEY);\n return userStr ? JSON.parse(userStr) : null;\n } catch {\n return null;\n }\n }\n\n /**\n * Get current token\n */\n getToken(): string | null {\n return Cookies.get(this.TOKEN_KEY) || null;\n }\n\n /**\n * Refresh authentication token\n */\n async refreshToken(): Promise<string> {\n const refreshToken = Cookies.get(this.REFRESH_TOKEN_KEY);\n \n if (!refreshToken) {\n throw new Error('No refresh token available');\n }\n\n // Simulate API call\n await new Promise(resolve => setTimeout(resolve, 500));\n\n const newToken = 'mock_jwt_token_refreshed_' + Date.now();\n \n Cookies.set(this.TOKEN_KEY, newToken, {\n expires: 1, // 1 day\n secure: process.env.NODE_ENV === 'production',\n sameSite: 'strict',\n });\n\n return newToken;\n }\n\n /**\n * Check if user is authenticated\n */\n isAuthenticated(): boolean {\n const token = this.getToken();\n const user = this.getCurrentUser();\n return !!(token && user);\n }\n}\n\nexport const authService = new AuthService();"],"names":[
|
|
1
|
+
{"version":3,"file":"authService.js","sources":["../../src/services/authService.ts"],"sourcesContent":["import Cookies from 'js-cookie';\nimport type { LoginCredentials, SignupData, AuthResponse, User } from '../types/auth';\n\n// Mock API service - replace with actual API calls\nclass AuthService {\n private readonly TOKEN_KEY = 'auth_token';\n private readonly REFRESH_TOKEN_KEY = 'refresh_token';\n private readonly USER_KEY = 'auth_user';\n\n /**\n * Simulate API login\n */\n async login(credentials: LoginCredentials): Promise<AuthResponse> {\n // Simulate API delay\n await new Promise(resolve => setTimeout(resolve, 1000));\n\n // Mock validation - replace with actual API call\n if (credentials.email === 'admin@example.com' && credentials.password === 'Password123!') {\n const user: User = {\n id: '1',\n email: credentials.email,\n name: 'John Doe',\n role: 'admin',\n avatar: 'https://images.pexels.com/photos/774909/pexels-photo-774909.jpeg?auto=compress&cs=tinysrgb&w=64',\n createdAt: new Date().toISOString(),\n lastLogin: new Date().toISOString(),\n };\n\n const token = 'mock_jwt_token_' + Date.now();\n const refreshToken = 'mock_refresh_token_' + Date.now();\n\n // Store tokens\n const cookieOptions = {\n expires: credentials.rememberMe ? 30 : undefined, // 30 days if remember me\n secure: process.env.NODE_ENV === 'production',\n sameSite: 'strict' as const,\n };\n\n Cookies.set(this.TOKEN_KEY, token, cookieOptions);\n Cookies.set(this.REFRESH_TOKEN_KEY, refreshToken, cookieOptions);\n localStorage.setItem(this.USER_KEY, JSON.stringify(user));\n\n return { user, token, refreshToken };\n }\n\n throw new Error('Invalid email or password');\n }\n\n /**\n * Simulate API signup\n */\n async signup(data: SignupData): Promise<AuthResponse> {\n // Simulate API delay\n await new Promise(resolve => setTimeout(resolve, 1500));\n\n // Mock email validation - replace with actual API call\n if (data.email === 'existing@example.com') {\n throw new Error('An account with this email already exists');\n }\n\n const user: User = {\n id: Date.now().toString(),\n email: data.email,\n name: data.name,\n role: 'user',\n createdAt: new Date().toISOString(),\n };\n\n const token = 'mock_jwt_token_' + Date.now();\n const refreshToken = 'mock_refresh_token_' + Date.now();\n\n // Store tokens\n const cookieOptions = {\n expires: 7, // 7 days for new users\n secure: process.env.NODE_ENV === 'production',\n sameSite: 'strict' as const,\n };\n\n Cookies.set(this.TOKEN_KEY, token, cookieOptions);\n Cookies.set(this.REFRESH_TOKEN_KEY, refreshToken, cookieOptions);\n localStorage.setItem(this.USER_KEY, JSON.stringify(user));\n\n return { user, token, refreshToken };\n }\n\n /**\n * Logout user and clear tokens\n */\n logout(): void {\n Cookies.remove(this.TOKEN_KEY);\n Cookies.remove(this.REFRESH_TOKEN_KEY);\n localStorage.removeItem(this.USER_KEY);\n }\n\n /**\n * Get current user from storage\n */\n getCurrentUser(): User | null {\n try {\n const userStr = localStorage.getItem(this.USER_KEY);\n return userStr ? JSON.parse(userStr) : null;\n } catch {\n return null;\n }\n }\n\n /**\n * Get current token\n */\n getToken(): string | null {\n return Cookies.get(this.TOKEN_KEY) || null;\n }\n\n /**\n * Refresh authentication token\n */\n async refreshToken(): Promise<string> {\n const refreshToken = Cookies.get(this.REFRESH_TOKEN_KEY);\n \n if (!refreshToken) {\n throw new Error('No refresh token available');\n }\n\n // Simulate API call\n await new Promise(resolve => setTimeout(resolve, 500));\n\n const newToken = 'mock_jwt_token_refreshed_' + Date.now();\n \n Cookies.set(this.TOKEN_KEY, newToken, {\n expires: 1, // 1 day\n secure: process.env.NODE_ENV === 'production',\n sameSite: 'strict',\n });\n\n return newToken;\n }\n\n /**\n * Check if user is authenticated\n */\n isAuthenticated(): boolean {\n const token = this.getToken();\n const user = this.getCurrentUser();\n return !!(token && user);\n }\n}\n\nexport const authService = new AuthService();"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|