@k3-universe/react-kit 0.0.29 → 0.0.31
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1023 -25
- package/dist/kit/builder/auth/components/Can.d.ts +13 -0
- package/dist/kit/builder/auth/components/Can.d.ts.map +1 -0
- package/dist/kit/builder/auth/components/RequireAuth.d.ts +45 -0
- package/dist/kit/builder/auth/components/RequireAuth.d.ts.map +1 -0
- package/dist/kit/builder/auth/components/ShowWhenAuthenticated.d.ts +8 -0
- package/dist/kit/builder/auth/components/ShowWhenAuthenticated.d.ts.map +1 -0
- package/dist/kit/builder/auth/components/ShowWhenError.d.ts +8 -0
- package/dist/kit/builder/auth/components/ShowWhenError.d.ts.map +1 -0
- package/dist/kit/builder/auth/components/ShowWhenLoading.d.ts +8 -0
- package/dist/kit/builder/auth/components/ShowWhenLoading.d.ts.map +1 -0
- package/dist/kit/builder/auth/components/ShowWhenUnauthenticated.d.ts +8 -0
- package/dist/kit/builder/auth/components/ShowWhenUnauthenticated.d.ts.map +1 -0
- package/dist/kit/builder/auth/components/withPermission.d.ts +7 -0
- package/dist/kit/builder/auth/components/withPermission.d.ts.map +1 -0
- package/dist/kit/builder/auth/hooks/action-hooks.d.ts +18 -0
- package/dist/kit/builder/auth/hooks/action-hooks.d.ts.map +1 -0
- package/dist/kit/builder/auth/hooks/core-hooks.d.ts +56 -0
- package/dist/kit/builder/auth/hooks/core-hooks.d.ts.map +1 -0
- package/dist/kit/builder/auth/hooks/index.d.ts +5 -0
- package/dist/kit/builder/auth/hooks/index.d.ts.map +1 -0
- package/dist/kit/builder/auth/hooks/permission-hooks.d.ts +18 -0
- package/dist/kit/builder/auth/hooks/permission-hooks.d.ts.map +1 -0
- package/dist/kit/builder/auth/hooks/token-hooks.d.ts +13 -0
- package/dist/kit/builder/auth/hooks/token-hooks.d.ts.map +1 -0
- package/dist/kit/builder/auth/index.d.ts +14 -8
- package/dist/kit/builder/auth/index.d.ts.map +1 -1
- package/dist/kit/builder/auth/{AuthProvider.d.ts → providers/AuthProvider.d.ts} +1 -1
- package/dist/kit/builder/auth/providers/AuthProvider.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/adapter-config.d.ts +31 -0
- package/dist/kit/builder/auth/types/adapter-config.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/adapter.d.ts +80 -0
- package/dist/kit/builder/auth/types/adapter.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/core.d.ts +16 -0
- package/dist/kit/builder/auth/types/core.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/index.d.ts +10 -0
- package/dist/kit/builder/auth/types/index.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/middleware.d.ts +11 -0
- package/dist/kit/builder/auth/types/middleware.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/permissions.d.ts +17 -0
- package/dist/kit/builder/auth/types/permissions.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/state.d.ts +13 -0
- package/dist/kit/builder/auth/types/state.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/storage.d.ts +20 -0
- package/dist/kit/builder/auth/types/storage.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/token-manager.d.ts +7 -0
- package/dist/kit/builder/auth/types/token-manager.d.ts.map +1 -0
- package/dist/kit/builder/auth/types/utils.d.ts +7 -0
- package/dist/kit/builder/auth/types/utils.d.ts.map +1 -0
- package/dist/kit/builder/auth/{adapter.d.ts → utils/auth-adapter.d.ts} +2 -2
- package/dist/kit/builder/auth/utils/auth-adapter.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/client-adapters/apollo-link.d.ts +4 -0
- package/dist/kit/builder/auth/utils/client-adapters/apollo-link.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/client-adapters/axios.d.ts +6 -0
- package/dist/kit/builder/auth/utils/client-adapters/axios.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/client-adapters/fetch.d.ts +6 -0
- package/dist/kit/builder/auth/utils/client-adapters/fetch.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/client-adapters/graphql.d.ts +9 -0
- package/dist/kit/builder/auth/utils/client-adapters/graphql.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/client-adapters/index.d.ts +7 -0
- package/dist/kit/builder/auth/utils/client-adapters/index.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/client-adapters/rest.d.ts +9 -0
- package/dist/kit/builder/auth/utils/client-adapters/rest.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/client-adapters/urql-exchange.d.ts +14 -0
- package/dist/kit/builder/auth/utils/client-adapters/urql-exchange.d.ts.map +1 -0
- package/dist/kit/builder/auth/{permission-checker.d.ts → utils/permission-checker.d.ts} +1 -1
- package/dist/kit/builder/auth/utils/permission-checker.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/storage/browser.d.ts +11 -0
- package/dist/kit/builder/auth/utils/storage/browser.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/storage/cookie.d.ts +3 -0
- package/dist/kit/builder/auth/utils/storage/cookie.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/storage/encryption.d.ts +7 -0
- package/dist/kit/builder/auth/utils/storage/encryption.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/storage/env.d.ts +2 -0
- package/dist/kit/builder/auth/utils/storage/env.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/storage/factory.d.ts +6 -0
- package/dist/kit/builder/auth/utils/storage/factory.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/storage/index.d.ts +7 -0
- package/dist/kit/builder/auth/utils/storage/index.d.ts.map +1 -0
- package/dist/kit/builder/auth/utils/storage/memory.d.ts +3 -0
- package/dist/kit/builder/auth/utils/storage/memory.d.ts.map +1 -0
- package/dist/kit/builder/auth/{token-manager.d.ts → utils/token-manager.d.ts} +1 -1
- package/dist/kit/builder/auth/utils/token-manager.d.ts.map +1 -0
- package/dist/kit/components/login/Login.d.ts +2 -1
- package/dist/kit/components/login/Login.d.ts.map +1 -1
- package/dist/kit/layouts/admin/components/AdminLayout.d.ts +2 -1
- package/dist/kit/layouts/admin/components/AdminLayout.d.ts.map +1 -1
- package/dist/kit/themes/clean-slate.css +28 -4
- package/dist/kit/themes/default.css +28 -4
- package/dist/kit/themes/minimal-modern.css +28 -4
- package/dist/kit/themes/spotify.css +28 -4
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/kit/builder/auth/components/Can.tsx +27 -0
- package/src/kit/builder/auth/components/RequireAuth.tsx +78 -0
- package/src/kit/builder/auth/components/ShowWhenAuthenticated.tsx +10 -0
- package/src/kit/builder/auth/components/ShowWhenError.tsx +10 -0
- package/src/kit/builder/auth/components/ShowWhenLoading.tsx +10 -0
- package/src/kit/builder/auth/components/ShowWhenUnauthenticated.tsx +10 -0
- package/src/kit/builder/auth/components/withPermission.tsx +23 -0
- package/src/kit/builder/auth/hooks/action-hooks.ts +34 -0
- package/src/kit/builder/auth/hooks/core-hooks.ts +65 -0
- package/src/kit/builder/auth/hooks/index.ts +4 -0
- package/src/kit/builder/auth/hooks/permission-hooks.ts +43 -0
- package/src/kit/builder/auth/hooks/token-hooks.ts +25 -0
- package/src/kit/builder/auth/index.ts +16 -18
- package/src/kit/builder/auth/{AuthProvider.tsx → providers/AuthProvider.tsx} +1 -1
- package/src/kit/builder/auth/types/adapter-config.ts +44 -0
- package/src/kit/builder/auth/types/adapter.ts +132 -0
- package/src/kit/builder/auth/types/core.ts +27 -0
- package/src/kit/builder/auth/types/index.ts +9 -0
- package/src/kit/builder/auth/types/middleware.ts +20 -0
- package/src/kit/builder/auth/types/permissions.ts +23 -0
- package/src/kit/builder/auth/types/state.ts +16 -0
- package/src/kit/builder/auth/types/storage.ts +21 -0
- package/src/kit/builder/auth/types/token-manager.ts +9 -0
- package/src/kit/builder/auth/types/utils.ts +55 -0
- package/src/kit/builder/auth/{adapter.ts → utils/auth-adapter.ts} +3 -2
- package/src/kit/builder/auth/utils/client-adapters/apollo-link.ts +30 -0
- package/src/kit/builder/auth/utils/client-adapters/axios.ts +61 -0
- package/src/kit/builder/auth/utils/client-adapters/fetch.ts +48 -0
- package/src/kit/builder/auth/utils/client-adapters/graphql.ts +60 -0
- package/src/kit/builder/auth/utils/client-adapters/index.ts +6 -0
- package/src/kit/builder/auth/utils/client-adapters/rest.ts +60 -0
- package/src/kit/builder/auth/utils/client-adapters/urql-exchange.ts +76 -0
- package/src/kit/builder/auth/{permission-checker.ts → utils/permission-checker.ts} +1 -1
- package/src/kit/builder/auth/utils/storage/browser.ts +99 -0
- package/src/kit/builder/auth/utils/storage/cookie.ts +116 -0
- package/src/kit/builder/auth/utils/storage/encryption.ts +80 -0
- package/src/kit/builder/auth/utils/storage/env.ts +2 -0
- package/src/kit/builder/auth/utils/storage/factory.ts +37 -0
- package/src/kit/builder/auth/utils/storage/index.ts +6 -0
- package/src/kit/builder/auth/utils/storage/memory.ts +15 -0
- package/src/kit/builder/auth/{token-manager.ts → utils/token-manager.ts} +1 -1
- package/src/kit/components/login/Login.tsx +36 -21
- package/src/kit/layouts/admin/components/AdminLayout.tsx +24 -17
- package/dist/kit/builder/auth/AuthProvider.d.ts.map +0 -1
- package/dist/kit/builder/auth/adapter.d.ts.map +0 -1
- package/dist/kit/builder/auth/client-adapters.d.ts +0 -149
- package/dist/kit/builder/auth/client-adapters.d.ts.map +0 -1
- package/dist/kit/builder/auth/components.d.ts +0 -119
- package/dist/kit/builder/auth/components.d.ts.map +0 -1
- package/dist/kit/builder/auth/hooks.d.ts +0 -158
- package/dist/kit/builder/auth/hooks.d.ts.map +0 -1
- package/dist/kit/builder/auth/permission-checker.d.ts.map +0 -1
- package/dist/kit/builder/auth/storage.d.ts +0 -17
- package/dist/kit/builder/auth/storage.d.ts.map +0 -1
- package/dist/kit/builder/auth/token-manager.d.ts.map +0 -1
- package/dist/kit/builder/auth/types.d.ts +0 -183
- package/dist/kit/builder/auth/types.d.ts.map +0 -1
- package/src/kit/builder/auth/client-adapters.ts +0 -398
- package/src/kit/builder/auth/components.tsx +0 -221
- package/src/kit/builder/auth/hooks.ts +0 -237
- package/src/kit/builder/auth/storage.ts +0 -366
- package/src/kit/builder/auth/types.ts +0 -393
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { AuthSession, PermissionPolicy, PermissionRule, WithPermissionOptions } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Hook to access the entire auth context
|
|
4
|
-
*/
|
|
5
|
-
export declare function useAuth(): {
|
|
6
|
-
state: import('./types').AuthAdapterState<AuthSession<unknown, string, string>, unknown, string, string>;
|
|
7
|
-
status: import('./types').AuthStatus;
|
|
8
|
-
session: AuthSession<unknown, string, string> | null;
|
|
9
|
-
user: unknown;
|
|
10
|
-
roles: string[];
|
|
11
|
-
permissions: string[];
|
|
12
|
-
error?: unknown;
|
|
13
|
-
login?: ((credentials: unknown) => Promise<import('./types').AuthAdapterState<AuthSession<unknown, string, string>, unknown, string, string>>) | undefined;
|
|
14
|
-
logout: () => Promise<void>;
|
|
15
|
-
refresh: () => Promise<import('./types').AuthAdapterState<AuthSession<unknown, string, string>, unknown, string, string>>;
|
|
16
|
-
setSession: (session: AuthSession<unknown, string, string> | null) => Promise<import('./types').AuthAdapterState<AuthSession<unknown, string, string>, unknown, string, string>>;
|
|
17
|
-
hasRole: (target: string | string[], options?: {
|
|
18
|
-
requireAll?: boolean;
|
|
19
|
-
}) => boolean;
|
|
20
|
-
hasPermission: (target: string | string[] | PermissionPolicy<string>, options?: {
|
|
21
|
-
requireAll?: boolean;
|
|
22
|
-
}) => boolean;
|
|
23
|
-
can: (rule: PermissionRule<string, string>) => boolean;
|
|
24
|
-
getToken: () => string | null;
|
|
25
|
-
isTokenExpired: () => boolean;
|
|
26
|
-
getTimeUntilExpiry: () => number;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Hook to get the current auth status
|
|
30
|
-
*/
|
|
31
|
-
export declare function useAuthStatus(): import('./types').AuthStatus;
|
|
32
|
-
/**
|
|
33
|
-
* Hook to check if user is authenticated
|
|
34
|
-
*/
|
|
35
|
-
export declare function useIsAuthenticated(): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* Hook to get the current session
|
|
38
|
-
*/
|
|
39
|
-
export declare function useAuthSession<TSession extends AuthSession>(): TSession | null;
|
|
40
|
-
/**
|
|
41
|
-
* Hook to get the current user
|
|
42
|
-
*/
|
|
43
|
-
export declare function useAuthUser<TUser>(): TUser | null;
|
|
44
|
-
/**
|
|
45
|
-
* Hook to get user roles
|
|
46
|
-
*/
|
|
47
|
-
export declare function useAuthRoles<TRole extends string = string>(): TRole[];
|
|
48
|
-
/**
|
|
49
|
-
* Hook to get user permissions
|
|
50
|
-
*/
|
|
51
|
-
export declare function useAuthPermissions<TPermission extends string = string>(): TPermission[];
|
|
52
|
-
/**
|
|
53
|
-
* Hook to get authentication error
|
|
54
|
-
*/
|
|
55
|
-
export declare function useAuthError(): unknown;
|
|
56
|
-
/**
|
|
57
|
-
* Hook to check if user has specific permission(s)
|
|
58
|
-
* Supports permission policies with AND/OR operators
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* ```tsx
|
|
62
|
-
* // Check single permission
|
|
63
|
-
* const canEdit = usePermission('post:edit');
|
|
64
|
-
*
|
|
65
|
-
* // Check multiple permissions (all required by default)
|
|
66
|
-
* const canManage = usePermission(['post:edit', 'post:delete']);
|
|
67
|
-
*
|
|
68
|
-
* // Check multiple permissions (any one required)
|
|
69
|
-
* const canModify = usePermission(['post:edit', 'post:delete'], { requireAll: false });
|
|
70
|
-
*
|
|
71
|
-
* // Check with policy
|
|
72
|
-
* const canAccess = usePermission({
|
|
73
|
-
* operator: 'OR',
|
|
74
|
-
* permissions: ['admin:access', 'moderator:access']
|
|
75
|
-
* });
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
export declare function usePermission<TPermission extends string = string>(permission: TPermission | TPermission[] | PermissionPolicy<TPermission>, options?: {
|
|
79
|
-
requireAll?: boolean;
|
|
80
|
-
}): boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Hook to check if user has specific role(s)
|
|
83
|
-
*
|
|
84
|
-
* @example
|
|
85
|
-
* ```tsx
|
|
86
|
-
* // Check single role
|
|
87
|
-
* const isAdmin = useRole('admin');
|
|
88
|
-
*
|
|
89
|
-
* // Check multiple roles (all required by default)
|
|
90
|
-
* const isSuperAdmin = useRole(['admin', 'super']);
|
|
91
|
-
*
|
|
92
|
-
* // Check multiple roles (any one required)
|
|
93
|
-
* const isStaff = useRole(['admin', 'moderator'], { requireAll: false });
|
|
94
|
-
* ```
|
|
95
|
-
*/
|
|
96
|
-
export declare function useRole<TRole extends string = string>(roles: TRole | TRole[], options?: {
|
|
97
|
-
requireAll?: boolean;
|
|
98
|
-
}): boolean;
|
|
99
|
-
/**
|
|
100
|
-
* Hook to check complex permission rules
|
|
101
|
-
* Combines role and permission checks with flexible logic
|
|
102
|
-
*
|
|
103
|
-
* @example
|
|
104
|
-
* ```tsx
|
|
105
|
-
* // Check if user has admin role AND edit permission
|
|
106
|
-
* const canAdminEdit = useCan({
|
|
107
|
-
* roles: 'admin',
|
|
108
|
-
* permissions: 'post:edit',
|
|
109
|
-
* requireAll: true
|
|
110
|
-
* });
|
|
111
|
-
*
|
|
112
|
-
* // Check if user has admin role OR edit permission
|
|
113
|
-
* const canAccess = useCan({
|
|
114
|
-
* roles: 'admin',
|
|
115
|
-
* permissions: 'post:edit',
|
|
116
|
-
* requireAll: false
|
|
117
|
-
* });
|
|
118
|
-
*
|
|
119
|
-
* // Complex policy
|
|
120
|
-
* const canManage = useCan({
|
|
121
|
-
* roles: ['admin', 'moderator'],
|
|
122
|
-
* permissions: {
|
|
123
|
-
* operator: 'OR',
|
|
124
|
-
* permissions: ['post:edit', 'post:delete']
|
|
125
|
-
* }
|
|
126
|
-
* });
|
|
127
|
-
* ```
|
|
128
|
-
*/
|
|
129
|
-
export declare function useCan<TRole extends string = string, TPermission extends string = string>(rule: WithPermissionOptions<TRole, TPermission> | PermissionRule<TRole, TPermission>): boolean;
|
|
130
|
-
/**
|
|
131
|
-
* Hook to get the current auth token
|
|
132
|
-
*/
|
|
133
|
-
export declare function useAuthToken(): string | null;
|
|
134
|
-
/**
|
|
135
|
-
* Hook to check if token is expired
|
|
136
|
-
*/
|
|
137
|
-
export declare function useIsTokenExpired(): boolean;
|
|
138
|
-
/**
|
|
139
|
-
* Hook to get time until token expiry in milliseconds
|
|
140
|
-
*/
|
|
141
|
-
export declare function useTimeUntilExpiry(): number;
|
|
142
|
-
/**
|
|
143
|
-
* Hook to get the login function
|
|
144
|
-
*/
|
|
145
|
-
export declare function useLogin<TCredentials = unknown>(): ((credentials: TCredentials) => Promise<unknown>) | undefined;
|
|
146
|
-
/**
|
|
147
|
-
* Hook to get the logout function
|
|
148
|
-
*/
|
|
149
|
-
export declare function useLogout(): () => Promise<void>;
|
|
150
|
-
/**
|
|
151
|
-
* Hook to get the refresh function
|
|
152
|
-
*/
|
|
153
|
-
export declare function useRefresh(): () => Promise<import('./types').AuthAdapterState<AuthSession<unknown, string, string>, unknown, string, string>>;
|
|
154
|
-
/**
|
|
155
|
-
* Hook to get the setSession function
|
|
156
|
-
*/
|
|
157
|
-
export declare function useSetSession<TSession extends AuthSession>(): (session: TSession | null) => Promise<unknown>;
|
|
158
|
-
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/auth/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAOjB;;GAEG;AACH,wBAAgB,OAAO;;;;;;;;;;;;;kBA8NulF,CAAC;;;kBAAmJ,CAAC;;;;;;EA5NlwF;AAED;;GAEG;AACH,wBAAgB,aAAa,iCAG5B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,YAGjC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,SAAS,WAAW,KAEvC,QAAQ,GAAG,IAAI,CAClC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,KAEhB,KAAK,GAAG,IAAI,CAC5B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,KAExC,KAAK,EAAE,CACxB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,KAE9C,WAAW,EAAE,CACpC;AAED;;GAEG;AACH,wBAAgB,YAAY,YAG3B;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,EAC/D,UAAU,EAAE,WAAW,GAAG,WAAW,EAAE,GAAG,gBAAgB,CAAC,WAAW,CAAC,EACvE,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,WAInC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACnD,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,WAInC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,MAAM,CACpB,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,WAAW,SAAS,MAAM,GAAG,MAAM,EAEnC,IAAI,EACA,qBAAqB,CAAC,KAAK,EAAE,WAAW,CAAC,GACzC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,WAIvC;AAMD;;GAEG;AACH,wBAAgB,YAAY,kBAG3B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,YAGhC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,WAGjC;AAMD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,YAAY,GAAG,OAAO,KAE7B,CAAC,CAAC,WAAW,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAC9E;AAED;;GAEG;AACH,wBAAgB,SAAS,wBAGxB;AAED;;GAEG;AACH,wBAAgB,UAAU,qHAGzB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,SAAS,WAAW,KAEnC,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,CACpE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permission-checker.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/auth/permission-checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,WAAW,EAAE,CAAC,EAAE,EAChB,SAAS,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GACjC,CAAC,EAAE,CAsBL;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAC1C,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,GAC3B,CAAC,EAAE,CAsBL;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAC/C,eAAe,EAAE,CAAC,EAAE,EACpB,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,EACrC,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACjC,OAAO,CAsBT;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EACzC,SAAS,EAAE,CAAC,EAAE,EACd,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EACf,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACjC,OAAO,CAST;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,WAAW,SAAS,MAAM,GAAG,MAAM,EAEnC,SAAS,EAAE,KAAK,EAAE,EAClB,eAAe,EAAE,WAAW,EAAE,EAC9B,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,GACvC,OAAO,CAkBT"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { AuthStorage, StorageOptions } from './types';
|
|
2
|
-
export declare const createMemoryStorage: <T>() => AuthStorage<T>;
|
|
3
|
-
export declare const createCookieStorage: <T>(options: StorageOptions) => AuthStorage<T>;
|
|
4
|
-
export type BrowserStorageOptions<T> = {
|
|
5
|
-
key: string;
|
|
6
|
-
serialize?: (value: T | null) => Promise<string | null> | string | null;
|
|
7
|
-
deserialize?: (value: string | null) => Promise<T | null> | T | null;
|
|
8
|
-
storage?: Storage;
|
|
9
|
-
encrypt?: boolean;
|
|
10
|
-
encryptionKey?: string;
|
|
11
|
-
};
|
|
12
|
-
export declare const createBrowserStorage: <T>(options: BrowserStorageOptions<T>) => AuthStorage<T>;
|
|
13
|
-
/**
|
|
14
|
-
* Creates appropriate storage based on options
|
|
15
|
-
*/
|
|
16
|
-
export declare function createStorage<T>(options?: StorageOptions): AuthStorage<T>;
|
|
17
|
-
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/auth/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAS3D,eAAO,MAAM,mBAAmB,GAAI,CAAC,OAAK,WAAW,CAAC,CAAC,CAYtD,CAAC;AAmGF,eAAO,MAAM,mBAAmB,GAAI,CAAC,EACnC,SAAS,cAAc,KACtB,WAAW,CAAC,CAAC,CA4Gf,CAAC;AAMF,MAAM,MAAM,qBAAqB,CAAC,CAAC,IAAI;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;IACxE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,CAAC,EACpC,SAAS,qBAAqB,CAAC,CAAC,CAAC,KAChC,WAAW,CAAC,CAAC,CAkFf,CAAC;AAMF;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,WAAW,CAAC,CAAC,CAAC,CA2B7E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-manager.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/auth/token-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,YAAY,CA8Cf"}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
export type AuthStatus = 'idle' | 'loading' | 'authenticated' | 'unauthenticated' | 'error';
|
|
3
|
-
export type TokenType = 'bearer' | 'jwt' | 'custom';
|
|
4
|
-
export type RefreshStrategy = 'auto' | 'manual' | 'sliding';
|
|
5
|
-
export type AuthSession<TUser = unknown, TRole = string, TPermission = string> = {
|
|
6
|
-
user?: TUser | null;
|
|
7
|
-
accessToken?: string | null;
|
|
8
|
-
refreshToken?: string | null;
|
|
9
|
-
tokenType?: TokenType;
|
|
10
|
-
roles?: TRole[] | null;
|
|
11
|
-
permissions?: TPermission[] | null;
|
|
12
|
-
expiresAt?: number | null;
|
|
13
|
-
refreshExpiresAt?: number | null;
|
|
14
|
-
issuedAt?: number | null;
|
|
15
|
-
meta?: Record<string, unknown> | null;
|
|
16
|
-
};
|
|
17
|
-
export type PermissionOperator = 'AND' | 'OR';
|
|
18
|
-
export type PermissionPolicy<TPermission extends string = string> = {
|
|
19
|
-
operator?: PermissionOperator;
|
|
20
|
-
permissions: TPermission[];
|
|
21
|
-
};
|
|
22
|
-
export type PermissionRule<TRole extends string = string, TPermission extends string = string> = {
|
|
23
|
-
roles?: TRole | TRole[];
|
|
24
|
-
permissions?: TPermission | TPermission[] | PermissionPolicy<TPermission>;
|
|
25
|
-
requireAll?: boolean;
|
|
26
|
-
};
|
|
27
|
-
export type PermissionHierarchy<TPermission extends string = string> = {
|
|
28
|
-
[key in TPermission]?: TPermission[];
|
|
29
|
-
};
|
|
30
|
-
export type RoleHierarchy<TRole extends string = string> = {
|
|
31
|
-
[key in TRole]?: TRole[];
|
|
32
|
-
};
|
|
33
|
-
export type AuthAdapterState<TSession, TUser, TRole, TPermission> = {
|
|
34
|
-
status: AuthStatus;
|
|
35
|
-
session: TSession | null;
|
|
36
|
-
user: TUser | null;
|
|
37
|
-
roles: TRole[];
|
|
38
|
-
permissions: TPermission[];
|
|
39
|
-
error?: unknown;
|
|
40
|
-
lastRefresh?: number;
|
|
41
|
-
tokenExpiresIn?: number;
|
|
42
|
-
};
|
|
43
|
-
export type AuthAdapterSubscriber<TSession, TUser, TRole, TPermission> = (state: AuthAdapterState<TSession, TUser, TRole, TPermission>) => void;
|
|
44
|
-
export type AuthStorage<TSession> = {
|
|
45
|
-
get: () => Promise<TSession | null> | TSession | null;
|
|
46
|
-
set: (value: TSession | null) => Promise<void> | void;
|
|
47
|
-
clear: () => Promise<void> | void;
|
|
48
|
-
};
|
|
49
|
-
export type StorageType = 'local' | 'session' | 'cookie' | 'memory';
|
|
50
|
-
export type StorageOptions = {
|
|
51
|
-
key?: string;
|
|
52
|
-
encrypt?: boolean;
|
|
53
|
-
encryptionKey?: string;
|
|
54
|
-
storage?: StorageType;
|
|
55
|
-
cookieOptions?: {
|
|
56
|
-
domain?: string;
|
|
57
|
-
path?: string;
|
|
58
|
-
secure?: boolean;
|
|
59
|
-
sameSite?: 'strict' | 'lax' | 'none';
|
|
60
|
-
maxAge?: number;
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
export type AuthMiddleware<TSession = unknown, TUser = unknown, TRole extends string = string, TPermission extends string = string> = {
|
|
64
|
-
onBeforeLogin?: (credentials: unknown) => Promise<void> | void;
|
|
65
|
-
onAfterLogin?: (state: AuthAdapterState<TSession, TUser, TRole, TPermission>) => Promise<void> | void;
|
|
66
|
-
onBeforeLogout?: () => Promise<void> | void;
|
|
67
|
-
onAfterLogout?: () => Promise<void> | void;
|
|
68
|
-
onRefresh?: (state: AuthAdapterState<TSession, TUser, TRole, TPermission>) => Promise<void> | void;
|
|
69
|
-
onError?: (error: unknown) => Promise<void> | void;
|
|
70
|
-
onSessionExpired?: () => Promise<void> | void;
|
|
71
|
-
};
|
|
72
|
-
export type TokenManager = {
|
|
73
|
-
isExpired: (expiresAt?: number | null) => boolean;
|
|
74
|
-
shouldRefresh: (expiresAt?: number | null, threshold?: number) => boolean;
|
|
75
|
-
getTimeUntilExpiry: (expiresAt?: number | null) => number;
|
|
76
|
-
scheduleRefresh?: (callback: () => void, expiresAt?: number | null) => () => void;
|
|
77
|
-
};
|
|
78
|
-
export type AuthAdapterConfig<TUser = unknown, TRole extends string = string, TPermission extends string = string, TSession extends AuthSession<TUser, TRole, TPermission> = AuthSession<TUser, TRole, TPermission>, TCredentials = unknown> = {
|
|
79
|
-
storage?: AuthStorage<TSession>;
|
|
80
|
-
loadSession?: () => Promise<TSession | null>;
|
|
81
|
-
login?: (credentials: TCredentials) => Promise<TSession>;
|
|
82
|
-
logout?: (session: TSession | null) => Promise<void> | void;
|
|
83
|
-
refresh?: (session: TSession) => Promise<TSession>;
|
|
84
|
-
resolveUser?: (session: TSession | null) => TUser | null;
|
|
85
|
-
resolveRoles?: (session: TSession | null) => TRole[];
|
|
86
|
-
resolvePermissions?: (session: TSession | null) => TPermission[];
|
|
87
|
-
shouldRefresh?: (session: TSession) => boolean;
|
|
88
|
-
onStateChange?: (state: AuthAdapterState<TSession, TUser, TRole, TPermission>) => void;
|
|
89
|
-
refreshStrategy?: RefreshStrategy;
|
|
90
|
-
refreshThreshold?: number;
|
|
91
|
-
autoRefresh?: boolean;
|
|
92
|
-
permissionHierarchy?: PermissionHierarchy<TPermission>;
|
|
93
|
-
roleHierarchy?: RoleHierarchy<TRole>;
|
|
94
|
-
middleware?: AuthMiddleware<TSession, TUser, TRole, TPermission>[];
|
|
95
|
-
tokenManager?: TokenManager;
|
|
96
|
-
retryConfig?: {
|
|
97
|
-
maxRetries?: number;
|
|
98
|
-
retryDelay?: number;
|
|
99
|
-
retryOn?: (error: unknown) => boolean;
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
export type AuthAdapter<TUser = unknown, TRole extends string = string, TPermission extends string = string, TSession extends AuthSession<TUser, TRole, TPermission> = AuthSession<TUser, TRole, TPermission>, TCredentials = unknown> = {
|
|
103
|
-
getState: () => AuthAdapterState<TSession, TUser, TRole, TPermission>;
|
|
104
|
-
subscribe: (listener: AuthAdapterSubscriber<TSession, TUser, TRole, TPermission>) => () => void;
|
|
105
|
-
sync: () => Promise<AuthAdapterState<TSession, TUser, TRole, TPermission>>;
|
|
106
|
-
login?: (credentials: TCredentials) => Promise<AuthAdapterState<TSession, TUser, TRole, TPermission>>;
|
|
107
|
-
logout: () => Promise<void>;
|
|
108
|
-
refresh: () => Promise<AuthAdapterState<TSession, TUser, TRole, TPermission>>;
|
|
109
|
-
setSession: (session: TSession | null) => Promise<AuthAdapterState<TSession, TUser, TRole, TPermission>>;
|
|
110
|
-
hasRole: (target: TRole | TRole[], options?: {
|
|
111
|
-
requireAll?: boolean;
|
|
112
|
-
}) => boolean;
|
|
113
|
-
hasPermission: (target: TPermission | TPermission[] | PermissionPolicy<TPermission>, options?: {
|
|
114
|
-
requireAll?: boolean;
|
|
115
|
-
}) => boolean;
|
|
116
|
-
can: (rule: PermissionRule<TRole, TPermission>) => boolean;
|
|
117
|
-
getToken: () => string | null;
|
|
118
|
-
isTokenExpired: () => boolean;
|
|
119
|
-
getTimeUntilExpiry: () => number;
|
|
120
|
-
scheduleAutoRefresh?: () => () => void;
|
|
121
|
-
};
|
|
122
|
-
export type AuthContextValue<TUser = unknown, TRole extends string = string, TPermission extends string = string, TSession extends AuthSession<TUser, TRole, TPermission> = AuthSession<TUser, TRole, TPermission>, TCredentials = unknown> = {
|
|
123
|
-
state: AuthAdapterState<TSession, TUser, TRole, TPermission>;
|
|
124
|
-
status: AuthStatus;
|
|
125
|
-
session: TSession | null;
|
|
126
|
-
user: TUser | null;
|
|
127
|
-
roles: TRole[];
|
|
128
|
-
permissions: TPermission[];
|
|
129
|
-
error?: unknown;
|
|
130
|
-
login?: (credentials: TCredentials) => Promise<AuthAdapterState<TSession, TUser, TRole, TPermission>>;
|
|
131
|
-
logout: () => Promise<void>;
|
|
132
|
-
refresh: () => Promise<AuthAdapterState<TSession, TUser, TRole, TPermission>>;
|
|
133
|
-
setSession: (session: TSession | null) => Promise<AuthAdapterState<TSession, TUser, TRole, TPermission>>;
|
|
134
|
-
hasRole: (target: TRole | TRole[], options?: {
|
|
135
|
-
requireAll?: boolean;
|
|
136
|
-
}) => boolean;
|
|
137
|
-
hasPermission: (target: TPermission | TPermission[] | PermissionPolicy<TPermission>, options?: {
|
|
138
|
-
requireAll?: boolean;
|
|
139
|
-
}) => boolean;
|
|
140
|
-
can: (rule: PermissionRule<TRole, TPermission>) => boolean;
|
|
141
|
-
getToken: () => string | null;
|
|
142
|
-
isTokenExpired: () => boolean;
|
|
143
|
-
getTimeUntilExpiry: () => number;
|
|
144
|
-
};
|
|
145
|
-
export type RequireAuthProps<TRole extends string = string, TPermission extends string = string> = {
|
|
146
|
-
children: ReactNode;
|
|
147
|
-
fallback?: ReactNode;
|
|
148
|
-
loadingFallback?: ReactNode;
|
|
149
|
-
roles?: TRole | TRole[];
|
|
150
|
-
permissions?: TPermission | TPermission[] | PermissionPolicy<TPermission>;
|
|
151
|
-
requireAll?: boolean;
|
|
152
|
-
};
|
|
153
|
-
export type CanProps<TRole extends string = string, TPermission extends string = string> = {
|
|
154
|
-
children: ReactNode;
|
|
155
|
-
fallback?: ReactNode;
|
|
156
|
-
roles?: TRole | TRole[];
|
|
157
|
-
permissions?: TPermission | TPermission[] | PermissionPolicy<TPermission>;
|
|
158
|
-
requireAll?: boolean;
|
|
159
|
-
};
|
|
160
|
-
export type WithPermissionOptions<TRole extends string = string, TPermission extends string = string> = {
|
|
161
|
-
roles?: TRole | TRole[];
|
|
162
|
-
permissions?: TPermission | TPermission[] | PermissionPolicy<TPermission>;
|
|
163
|
-
requireAll?: boolean;
|
|
164
|
-
};
|
|
165
|
-
export type GraphQLAuthClient<TSession = unknown, TCredentials = unknown> = {
|
|
166
|
-
login: (credentials: TCredentials) => Promise<TSession>;
|
|
167
|
-
logout?: () => Promise<void>;
|
|
168
|
-
refresh?: (refreshToken: string) => Promise<TSession>;
|
|
169
|
-
getCurrentUser?: () => Promise<TSession>;
|
|
170
|
-
};
|
|
171
|
-
export type RESTAuthClient<TSession = unknown, TCredentials = unknown> = {
|
|
172
|
-
login: (credentials: TCredentials) => Promise<TSession>;
|
|
173
|
-
logout?: () => Promise<void>;
|
|
174
|
-
refresh?: (refreshToken: string) => Promise<TSession>;
|
|
175
|
-
getCurrentUser?: () => Promise<TSession>;
|
|
176
|
-
};
|
|
177
|
-
export type ClientAdapter<TSession = unknown, TCredentials = unknown> = GraphQLAuthClient<TSession, TCredentials> | RESTAuthClient<TSession, TCredentials>;
|
|
178
|
-
export type InferSession<T> = T extends AuthAdapter<infer _User, infer _Role extends string, infer _Permission extends string, infer TSession, infer _Credentials> ? TSession : never;
|
|
179
|
-
export type InferUser<T> = T extends AuthAdapter<infer TUser, infer _Role extends string, infer _Permission extends string, infer _Session, infer _Credentials> ? TUser : never;
|
|
180
|
-
export type InferRole<T> = T extends AuthAdapter<infer _User, infer TRole extends string, infer _Permission extends string, infer _Session, infer _Credentials> ? TRole : never;
|
|
181
|
-
export type InferPermission<T> = T extends AuthAdapter<infer _User, infer _Role extends string, infer TPermission extends string, infer _Session, infer _Credentials> ? TPermission : never;
|
|
182
|
-
export type InferCredentials<T> = T extends AuthAdapter<infer _User, infer _Role extends string, infer _Permission extends string, infer _Session, infer TCredentials> ? TCredentials : never;
|
|
183
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/kit/builder/auth/types.ts"],"names":[],"mappings":"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"}
|