@skylabs-digital/react-identity-access 2.12.0 → 2.13.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/dist/components/LandingRoute.d.ts +13 -0
- package/dist/components/LandingRoute.d.ts.map +1 -1
- package/dist/components/ProtectedRoute.d.ts +20 -0
- package/dist/components/ProtectedRoute.d.ts.map +1 -1
- package/dist/components/TenantRoute.d.ts +13 -0
- package/dist/components/TenantRoute.d.ts.map +1 -1
- package/dist/components/ZoneRoute.d.ts +28 -0
- package/dist/components/ZoneRoute.d.ts.map +1 -0
- package/dist/hooks/useZoneNavigation.d.ts +17 -0
- package/dist/hooks/useZoneNavigation.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +1642 -1420
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types/zoneRouting.d.ts +122 -0
- package/dist/types/zoneRouting.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { UserType } from './api';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Access mode for zone requirements
|
|
6
|
+
* - 'required': Must match condition (redirect if not)
|
|
7
|
+
* - 'forbidden': Must NOT match condition (redirect if matches)
|
|
8
|
+
* - 'optional': Can be either (no redirect)
|
|
9
|
+
*/
|
|
10
|
+
export type AccessMode = 'required' | 'forbidden' | 'optional';
|
|
11
|
+
/**
|
|
12
|
+
* Reason types for access denial
|
|
13
|
+
*/
|
|
14
|
+
export type AccessDeniedType = 'no_tenant' | 'has_tenant' | 'not_authenticated' | 'already_authenticated' | 'wrong_user_type' | 'missing_permissions';
|
|
15
|
+
/**
|
|
16
|
+
* Detailed reason object passed to callbacks when access is denied
|
|
17
|
+
*/
|
|
18
|
+
export interface AccessDeniedReason {
|
|
19
|
+
type: AccessDeniedType;
|
|
20
|
+
required?: {
|
|
21
|
+
tenant?: AccessMode;
|
|
22
|
+
auth?: AccessMode;
|
|
23
|
+
userType?: UserType | UserType[];
|
|
24
|
+
permissions?: string[];
|
|
25
|
+
};
|
|
26
|
+
current?: {
|
|
27
|
+
hasTenant: boolean;
|
|
28
|
+
isAuthenticated: boolean;
|
|
29
|
+
userType?: UserType;
|
|
30
|
+
permissions?: string[];
|
|
31
|
+
};
|
|
32
|
+
redirectTo: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Zone root paths for automatic redirects
|
|
36
|
+
*/
|
|
37
|
+
export interface ZoneRoots {
|
|
38
|
+
publicGuest?: string;
|
|
39
|
+
publicUser?: string;
|
|
40
|
+
publicAdmin?: string;
|
|
41
|
+
tenantGuest?: string;
|
|
42
|
+
tenantUser?: string;
|
|
43
|
+
tenantAdmin?: string;
|
|
44
|
+
default?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Default zone roots
|
|
48
|
+
*/
|
|
49
|
+
export declare const DEFAULT_ZONE_ROOTS: Required<ZoneRoots>;
|
|
50
|
+
/**
|
|
51
|
+
* Preset zone configuration
|
|
52
|
+
*/
|
|
53
|
+
export interface ZonePresetConfig {
|
|
54
|
+
tenant?: AccessMode;
|
|
55
|
+
auth?: AccessMode;
|
|
56
|
+
userType?: UserType | UserType[];
|
|
57
|
+
requiredPermissions?: string[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Built-in zone presets
|
|
61
|
+
*/
|
|
62
|
+
export interface ZonePresets {
|
|
63
|
+
landing: ZonePresetConfig;
|
|
64
|
+
publicOnly: ZonePresetConfig;
|
|
65
|
+
login: ZonePresetConfig;
|
|
66
|
+
guest: ZonePresetConfig;
|
|
67
|
+
authenticated: ZonePresetConfig;
|
|
68
|
+
tenant: ZonePresetConfig;
|
|
69
|
+
tenantOpen: ZonePresetConfig;
|
|
70
|
+
tenantAuth: ZonePresetConfig;
|
|
71
|
+
user: ZonePresetConfig;
|
|
72
|
+
admin: ZonePresetConfig;
|
|
73
|
+
open: ZonePresetConfig;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Default preset configurations
|
|
77
|
+
*/
|
|
78
|
+
export declare const DEFAULT_ZONE_PRESETS: ZonePresets;
|
|
79
|
+
/**
|
|
80
|
+
* Return URL storage options
|
|
81
|
+
*/
|
|
82
|
+
export type ReturnToStorage = 'url' | 'session' | 'local';
|
|
83
|
+
/**
|
|
84
|
+
* Routing configuration for AuthProvider
|
|
85
|
+
*/
|
|
86
|
+
export interface RoutingConfig {
|
|
87
|
+
zoneRoots?: ZoneRoots;
|
|
88
|
+
presets?: Partial<ZonePresets>;
|
|
89
|
+
loadingFallback?: ReactNode;
|
|
90
|
+
accessDeniedFallback?: ReactNode;
|
|
91
|
+
onAccessDenied?: (reason: AccessDeniedReason) => void;
|
|
92
|
+
returnToParam?: string;
|
|
93
|
+
returnToStorage?: ReturnToStorage;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Props for ZoneRoute component
|
|
97
|
+
*/
|
|
98
|
+
export interface ZoneRouteProps {
|
|
99
|
+
children: ReactNode;
|
|
100
|
+
preset?: keyof ZonePresets | string;
|
|
101
|
+
tenant?: AccessMode;
|
|
102
|
+
auth?: AccessMode;
|
|
103
|
+
userType?: UserType | UserType[];
|
|
104
|
+
requiredPermissions?: string[];
|
|
105
|
+
requireAllPermissions?: boolean;
|
|
106
|
+
returnTo?: boolean | string;
|
|
107
|
+
onAccessDenied?: (reason: AccessDeniedReason) => void;
|
|
108
|
+
redirectTo?: string;
|
|
109
|
+
loadingFallback?: ReactNode;
|
|
110
|
+
accessDeniedFallback?: ReactNode;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Zone navigation hook return type
|
|
114
|
+
*/
|
|
115
|
+
export interface UseZoneNavigationReturn {
|
|
116
|
+
returnToUrl: string | null;
|
|
117
|
+
clearReturnTo: () => void;
|
|
118
|
+
setReturnTo: (url: string) => void;
|
|
119
|
+
navigateToZone: (zone: keyof ZoneRoots) => void;
|
|
120
|
+
getSmartRedirect: () => string;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=zoneRouting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoneRouting.d.ts","sourceRoot":"","sources":["../../src/types/zoneRouting.ts"],"names":[],"mappings":"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"}
|