@cuby-ui/core 0.0.570 → 0.0.572
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/esm2022/index.mjs +2 -1
- package/esm2022/interceptors/auth-error.interceptor.mjs +14 -0
- package/esm2022/interceptors/index.mjs +2 -1
- package/esm2022/providers/auth.options.mjs +1 -1
- package/esm2022/providers/auth.provider.mjs +10 -2
- package/esm2022/services/auth.service.mjs +10 -2
- package/esm2022/services/browser-login-strategy.service.mjs +18 -0
- package/esm2022/services/index.mjs +2 -1
- package/esm2022/tokens/auth-login-strategy.mjs +3 -0
- package/esm2022/tokens/index.mjs +2 -1
- package/esm2022/utils/check-auth-failure-event.mjs +14 -0
- package/esm2022/utils/index.mjs +2 -1
- package/fesm2022/cuby-ui-core.mjs +172 -118
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/interceptors/auth-error.interceptor.d.ts +2 -0
- package/interceptors/index.d.ts +1 -0
- package/package.json +4 -4
- package/providers/auth.options.d.ts +3 -0
- package/providers/auth.provider.d.ts +1 -1
- package/services/auth.service.d.ts +1 -0
- package/services/browser-login-strategy.service.d.ts +8 -0
- package/services/index.d.ts +1 -0
- package/tokens/auth-login-strategy.d.ts +5 -0
- package/tokens/index.d.ts +1 -0
- package/utils/check-auth-failure-event.d.ts +2 -0
- package/utils/index.d.ts +1 -0
package/esm2022/index.mjs
CHANGED
|
@@ -11,4 +11,5 @@ export * from './widgets';
|
|
|
11
11
|
export * from './operators';
|
|
12
12
|
export * from './pipes';
|
|
13
13
|
export * from './i18n';
|
|
14
|
-
|
|
14
|
+
export * from './classes';
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJjZXB0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3dpZGdldHMnO1xuZXhwb3J0ICogZnJvbSAnLi9vcGVyYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2kxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzJztcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
+
import { inject } from '@angular/core';
|
|
3
|
+
import { catchError, throwError } from 'rxjs';
|
|
4
|
+
import { CUI_AUTH_LOGIN_STRATEGY } from '../tokens';
|
|
5
|
+
export const cuiAuthErrorInterceptor = (request, next) => {
|
|
6
|
+
const loginStrategy = inject(CUI_AUTH_LOGIN_STRATEGY);
|
|
7
|
+
return next(request).pipe(catchError((error) => {
|
|
8
|
+
if (error instanceof HttpErrorResponse && (error.status === 401 || error.status === 403)) {
|
|
9
|
+
loginStrategy.openLogin();
|
|
10
|
+
}
|
|
11
|
+
return throwError(() => error);
|
|
12
|
+
}));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1lcnJvci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvaW50ZXJjZXB0b3JzL2F1dGgtZXJyb3IuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFzQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtJQUN4RSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUV0RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3JCLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2pCLElBQUksS0FBSyxZQUFZLGlCQUFpQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZGLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCB0eXBlIEh0dHBJbnRlcmNlcHRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IENVSV9BVVRIX0xPR0lOX1NUUkFURUdZIH0gZnJvbSAnLi4vdG9rZW5zJztcblxuZXhwb3J0IGNvbnN0IGN1aUF1dGhFcnJvckludGVyY2VwdG9yOiBIdHRwSW50ZXJjZXB0b3JGbiA9IChyZXF1ZXN0LCBuZXh0KSA9PiB7XG4gICAgY29uc3QgbG9naW5TdHJhdGVneSA9IGluamVjdChDVUlfQVVUSF9MT0dJTl9TVFJBVEVHWSk7XG5cbiAgICByZXR1cm4gbmV4dChyZXF1ZXN0KS5waXBlKFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiYgKGVycm9yLnN0YXR1cyA9PT0gNDAxIHx8IGVycm9yLnN0YXR1cyA9PT0gNDAzKSkge1xuICAgICAgICAgICAgICAgIGxvZ2luU3RyYXRlZ3kub3BlbkxvZ2luKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH0pXG4gICAgKTtcbn07XG4iXX0=
|
|
@@ -3,4 +3,5 @@ export { cuiLoaderInterceptor } from './loader.interceptor';
|
|
|
3
3
|
export { cuiErrorHandlerInterceptor } from './error-handler.interceptor';
|
|
4
4
|
export { cuiAuthInterceptor } from './auth.interceptor';
|
|
5
5
|
export { sseStreamReaderInterceptor } from './sse-stream-reader.interceptor';
|
|
6
|
-
|
|
6
|
+
export { cuiAuthErrorInterceptor } from './auth-error.interceptor';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGN1aVhOZGpzb25JbnRlcmNlcHRvciB9IGZyb20gJy4veC1uZGpzb24uaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgeyBjdWlMb2FkZXJJbnRlcmNlcHRvciB9IGZyb20gJy4vbG9hZGVyLmludGVyY2VwdG9yJztcclxuZXhwb3J0IHsgY3VpRXJyb3JIYW5kbGVySW50ZXJjZXB0b3IgfSBmcm9tICcuL2Vycm9yLWhhbmRsZXIuaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgeyBjdWlBdXRoSW50ZXJjZXB0b3IgfSBmcm9tICcuL2F1dGguaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgeyBzc2VTdHJlYW1SZWFkZXJJbnRlcmNlcHRvciB9IGZyb20gJy4vc3NlLXN0cmVhbS1yZWFkZXIuaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgeyBjdWlBdXRoRXJyb3JJbnRlcmNlcHRvciB9IGZyb20gJy4vYXV0aC1lcnJvci5pbnRlcmNlcHRvcic7XHJcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const CuiAuthService = new InjectionToken('CUI_AUTH_SERVICE');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9wcm92aWRlcnMvYXV0aC5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFxQi9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBK0Msa0JBQWtCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQXV0aENvbmZpZywgT0F1dGhNb2R1bGVDb25maWcgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcblxuaW1wb3J0IHR5cGUgeyBDdWlBdXRoTG9naW5TdHJhdGVneVNlcnZpY2UgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHR5cGUgeyBDdWlCcm93c2VyQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9icm93c2VyLWF1dGguc2VydmljZSc7XG5pbXBvcnQgdHlwZSB7IEN1aU1vYmlsZUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbW9iaWxlLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBDdWlBdXRoQmFzZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XG5cbmV4cG9ydCB0eXBlIEN1aUF1dGhQbGF0Zm9ybSA9ICdtb2JpbGUnIHwgJ2Jyb3dzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1aUF1dGhDb25maWcgZXh0ZW5kcyBBdXRoQ29uZmlnIHtcbiAgICByZWFkb25seSB0b2tlbkV4cGlyZWRDYWxsYmFjaz86ICh0aGlzOiBDdWlBdXRoQmFzZSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdWlBdXRoUHJvdmlkZXJDb25maWcge1xuICAgIHJlYWRvbmx5IGF1dGhDb25maWc6IEN1aUF1dGhDb25maWc7XG4gICAgcmVhZG9ubHkgbW9kdWxlQ29uZmlnPzogT0F1dGhNb2R1bGVDb25maWc7XG4gICAgcmVhZG9ubHkgcGxhdGZvcm0/OiBDdWlBdXRoUGxhdGZvcm07XG4gICAgcmVhZG9ubHkgbG9naW5TdHJhdGVneT86IFR5cGU8Q3VpQXV0aExvZ2luU3RyYXRlZ3lTZXJ2aWNlPjtcbn1cblxuZXhwb3J0IGNvbnN0IEN1aUF1dGhTZXJ2aWNlID0gbmV3IEluamVjdGlvblRva2VuPEN1aU1vYmlsZUF1dGhTZXJ2aWNlIHwgQ3VpQnJvd3NlckF1dGhTZXJ2aWNlPignQ1VJX0FVVEhfU0VSVklDRScpO1xuIl19
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { APP_INITIALIZER, inject, makeEnvironmentProviders } from '@angular/core';
|
|
2
2
|
import { provideOAuthClient } from 'angular-oauth2-oidc';
|
|
3
3
|
import { CuiBrowserAuthService } from '../services/browser-auth.service';
|
|
4
|
+
import { CuiBrowserLoginStrategyService } from '../services/browser-login-strategy.service';
|
|
4
5
|
import { CuiMobileAuthService } from '../services/mobile-auth.service';
|
|
6
|
+
import { CUI_AUTH_LOGIN_STRATEGY } from '../tokens';
|
|
5
7
|
import { CuiAuthService } from './auth.options';
|
|
6
|
-
export function provideCuiAuth({ authConfig, moduleConfig, platform = 'browser' }) {
|
|
8
|
+
export function provideCuiAuth({ authConfig, moduleConfig, platform = 'browser', loginStrategy = CuiBrowserLoginStrategyService }) {
|
|
7
9
|
return [
|
|
8
10
|
provideOAuthClient(moduleConfig),
|
|
9
11
|
{
|
|
@@ -15,6 +17,10 @@ export function provideCuiAuth({ authConfig, moduleConfig, platform = 'browser'
|
|
|
15
17
|
return inject(CuiBrowserAuthService);
|
|
16
18
|
}
|
|
17
19
|
},
|
|
20
|
+
{
|
|
21
|
+
provide: CUI_AUTH_LOGIN_STRATEGY,
|
|
22
|
+
useClass: loginStrategy
|
|
23
|
+
},
|
|
18
24
|
makeEnvironmentProviders([
|
|
19
25
|
{
|
|
20
26
|
provide: APP_INITIALIZER,
|
|
@@ -26,6 +32,8 @@ export function provideCuiAuth({ authConfig, moduleConfig, platform = 'browser'
|
|
|
26
32
|
}
|
|
27
33
|
async function initAuth(authConfig) {
|
|
28
34
|
const authService = inject(CuiAuthService);
|
|
35
|
+
const loginStrategy = inject(CUI_AUTH_LOGIN_STRATEGY);
|
|
36
|
+
authService.initAuthFailureEvents(() => loginStrategy.openLogin());
|
|
29
37
|
return await authService.initAuth(authConfig);
|
|
30
38
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcHJvdmlkZXJzL2F1dGgucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEVBQzNCLFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxHQUFHLFNBQVMsRUFDcEIsYUFBYSxHQUFHLDhCQUE4QixFQUMxQjtJQUNwQixPQUFPO1FBQ0gsa0JBQWtCLENBQUMsWUFBWSxDQUFDO1FBQ2hDO1lBQ0ksT0FBTyxFQUFFLGNBQWM7WUFDdkIsVUFBVSxFQUFFLEdBQWlELEVBQUU7Z0JBQzNELElBQUksUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUN4QixPQUFPLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO2dCQUVELE9BQU8sTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDekMsQ0FBQztTQUNKO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLFFBQVEsRUFBRSxhQUFhO1NBQzFCO1FBQ0Qsd0JBQXdCLENBQUM7WUFDckI7Z0JBQ0ksT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxHQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztnQkFDbkQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLENBQUM7S0FDTCxDQUFDO0FBQ04sQ0FBQztBQUVELEtBQUssVUFBVSxRQUFRLENBQUMsVUFBeUI7SUFDN0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBRXRELFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUVuRSxPQUFPLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBpbmplY3QsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZU9BdXRoQ2xpZW50IH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5cbmltcG9ydCB7IEN1aUJyb3dzZXJBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jyb3dzZXItYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1aUJyb3dzZXJMb2dpblN0cmF0ZWd5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jyb3dzZXItbG9naW4tc3RyYXRlZ3kuc2VydmljZSc7XG5pbXBvcnQgeyBDdWlNb2JpbGVBdXRoU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL21vYmlsZS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ1VJX0FVVEhfTE9HSU5fU1RSQVRFR1kgfSBmcm9tICcuLi90b2tlbnMnO1xuaW1wb3J0IHR5cGUgeyBDdWlBdXRoQ29uZmlnLCBDdWlBdXRoUHJvdmlkZXJDb25maWcgfSBmcm9tICcuL2F1dGgub3B0aW9ucyc7XG5pbXBvcnQgeyBDdWlBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5vcHRpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDdWlBdXRoKHtcbiAgICBhdXRoQ29uZmlnLFxuICAgIG1vZHVsZUNvbmZpZyxcbiAgICBwbGF0Zm9ybSA9ICdicm93c2VyJyxcbiAgICBsb2dpblN0cmF0ZWd5ID0gQ3VpQnJvd3NlckxvZ2luU3RyYXRlZ3lTZXJ2aWNlXG59OiBDdWlBdXRoUHJvdmlkZXJDb25maWcpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgcHJvdmlkZU9BdXRoQ2xpZW50KG1vZHVsZUNvbmZpZyksXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEN1aUF1dGhTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKCk6IEN1aU1vYmlsZUF1dGhTZXJ2aWNlIHwgQ3VpQnJvd3NlckF1dGhTZXJ2aWNlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGxhdGZvcm0gPT09ICdtb2JpbGUnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpbmplY3QoQ3VpTW9iaWxlQXV0aFNlcnZpY2UpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBpbmplY3QoQ3VpQnJvd3NlckF1dGhTZXJ2aWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogQ1VJX0FVVEhfTE9HSU5fU1RSQVRFR1ksXG4gICAgICAgICAgICB1c2VDbGFzczogbG9naW5TdHJhdGVneVxuICAgICAgICB9LFxuICAgICAgICBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogKCk6IFByb21pc2U8dm9pZD4gPT4gaW5pdEF1dGgoYXV0aENvbmZpZyksXG4gICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgXSlcbiAgICBdO1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbml0QXV0aChhdXRoQ29uZmlnOiBDdWlBdXRoQ29uZmlnKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQ3VpQXV0aFNlcnZpY2UpO1xuICAgIGNvbnN0IGxvZ2luU3RyYXRlZ3kgPSBpbmplY3QoQ1VJX0FVVEhfTE9HSU5fU1RSQVRFR1kpO1xuXG4gICAgYXV0aFNlcnZpY2UuaW5pdEF1dGhGYWlsdXJlRXZlbnRzKCgpID0+IGxvZ2luU3RyYXRlZ3kub3BlbkxvZ2luKCkpO1xuXG4gICAgcmV0dXJuIGF3YWl0IGF1dGhTZXJ2aWNlLmluaXRBdXRoKGF1dGhDb25maWcpO1xufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { OAuthInfoEvent } from 'angular-oauth2-oidc';
|
|
1
|
+
import { OAuthErrorEvent, OAuthInfoEvent } from 'angular-oauth2-oidc';
|
|
2
2
|
import { filter } from 'rxjs';
|
|
3
|
+
import { cuiCheckAuthFailureEvent } from '../utils/check-auth-failure-event';
|
|
3
4
|
import { CuiTokenBase } from './token.service';
|
|
4
5
|
export class CuiAuthBase extends CuiTokenBase {
|
|
5
6
|
createLoginUrl(state, loginHint, customRedirectUri, noPrompt, params) {
|
|
@@ -27,5 +28,12 @@ export class CuiAuthBase extends CuiTokenBase {
|
|
|
27
28
|
this.refreshToken();
|
|
28
29
|
});
|
|
29
30
|
}
|
|
31
|
+
initAuthFailureEvents(onFailure) {
|
|
32
|
+
this.events.pipe(filter((event) => event instanceof OAuthErrorEvent)).subscribe((event) => {
|
|
33
|
+
if (cuiCheckAuthFailureEvent(event.type)) {
|
|
34
|
+
onFailure();
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
30
38
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLE9BQWdCLFdBQVksU0FBUSxZQUFZO0lBR2xDLGNBQWMsQ0FDMUIsS0FBYyxFQUNkLFNBQWtCLEVBQ2xCLGlCQUEwQixFQUMxQixRQUFrQixFQUNsQixNQUFlO1FBRWYsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCLENBQUMsYUFBeUI7UUFDcEQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUN4RCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBRWhFLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUN4QixPQUFPLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1gsQ0FBQztRQUVELE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVNLHFCQUFxQixDQUFDLGFBQXlCO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGNBQWMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckYsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGVBQWUsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRSxDQUFDO2dCQUNsRSxPQUFPO1lBQ1gsQ0FBQztZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO2dCQUN6RCxPQUFPLGFBQWEsRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0scUJBQXFCLENBQUMsU0FBcUI7UUFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0RixJQUFJLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxTQUFTLEVBQUUsQ0FBQztZQUNoQixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEF1dGhDb25maWcsIFRva2VuUmVzcG9uc2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IE9BdXRoRXJyb3JFdmVudCwgT0F1dGhJbmZvRXZlbnQgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBjdWlDaGVja0F1dGhGYWlsdXJlRXZlbnQgfSBmcm9tICcuLi91dGlscy9jaGVjay1hdXRoLWZhaWx1cmUtZXZlbnQnO1xuaW1wb3J0IHsgQ3VpVG9rZW5CYXNlIH0gZnJvbSAnLi90b2tlbi5zZXJ2aWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1aUF1dGhCYXNlIGV4dGVuZHMgQ3VpVG9rZW5CYXNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgaW5pdEF1dGgoYXV0aENvbmZpZzogQXV0aENvbmZpZyk6IFByb21pc2U8dm9pZD47XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlTG9naW5VcmwoXG4gICAgICAgIHN0YXRlPzogc3RyaW5nLFxuICAgICAgICBsb2dpbkhpbnQ/OiBzdHJpbmcsXG4gICAgICAgIGN1c3RvbVJlZGlyZWN0VXJpPzogc3RyaW5nLFxuICAgICAgICBub1Byb21wdD86IGJvb2xlYW4sXG4gICAgICAgIHBhcmFtcz86IG9iamVjdFxuICAgICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBzdXBlci5jcmVhdGVMb2dpblVybChzdGF0ZSwgbG9naW5IaW50LCBjdXN0b21SZWRpcmVjdFVyaSwgbm9Qcm9tcHQsIHBhcmFtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHVzZUNoZWNrVG9rZW5GbG93KGxvZ2luQ2FsbGJhY2s6ICgpID0+IHZvaWQpOiBQcm9taXNlPFRva2VuUmVzcG9uc2UgfCB2b2lkPiB7XG4gICAgICAgIGNvbnN0IGlzQWNjZXNzVG9rZW5FeHBpcmVkID0gdGhpcy5jaGVja0lzVG9rZW5FeHBpcmVkKCk7XG4gICAgICAgIGNvbnN0IGlzUmVmcmVzaFRva2VuRXhwaXJlZCA9IHRoaXMuY2hlY2tJc1JlZnJlc2hUb2tlbkV4cGlyZWQoKTtcblxuICAgICAgICBpZiAoaXNSZWZyZXNoVG9rZW5FeHBpcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbG9naW5DYWxsYmFjaygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0FjY2Vzc1Rva2VuRXhwaXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucmVmcmVzaFRva2VuKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRBdXRoUmVmcmVzaEV2ZW50cyhsb2dpbkNhbGxiYWNrOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBPQXV0aEluZm9FdmVudCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlICE9PSAndG9rZW5fZXhwaXJlcycgfHwgZXZlbnQuaW5mbyAhPT0gJ2FjY2Vzc190b2tlbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkgfHwgIXRoaXMuZ2V0UmVmcmVzaFRva2VuKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9naW5DYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdEF1dGhGYWlsdXJlRXZlbnRzKG9uRmFpbHVyZTogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgT0F1dGhFcnJvckV2ZW50KSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGN1aUNoZWNrQXV0aEZhaWx1cmVFdmVudChldmVudC50eXBlKSkge1xuICAgICAgICAgICAgICAgIG9uRmFpbHVyZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { inject, Injectable } from '@angular/core';
|
|
2
|
+
import { CuiAuthService } from '../providers';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class CuiBrowserLoginStrategyService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.authService = inject(CuiAuthService);
|
|
7
|
+
}
|
|
8
|
+
openLogin() {
|
|
9
|
+
this.authService.initLoginFlow();
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserLoginStrategyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserLoginStrategyService, providedIn: 'root' }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserLoginStrategyService, decorators: [{
|
|
15
|
+
type: Injectable,
|
|
16
|
+
args: [{ providedIn: 'root' }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci1sb2dpbi1zdHJhdGVneS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9icm93c2VyLWxvZ2luLXN0cmF0ZWd5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7QUFJOUMsTUFBTSxPQUFPLDhCQUE4QjtJQUQzQztRQUVxQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUt6RDtJQUhVLFNBQVM7UUFDWixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBTFEsOEJBQThCO21IQUE5Qiw4QkFBOEIsY0FEakIsTUFBTTs7NEZBQ25CLDhCQUE4QjtrQkFEMUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VpQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMnO1xuaW1wb3J0IHR5cGUgeyBDdWlBdXRoTG9naW5TdHJhdGVneVNlcnZpY2UgfSBmcm9tICcuLi90b2tlbnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEN1aUJyb3dzZXJMb2dpblN0cmF0ZWd5U2VydmljZSBpbXBsZW1lbnRzIEN1aUF1dGhMb2dpblN0cmF0ZWd5U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChDdWlBdXRoU2VydmljZSk7XG5cbiAgICBwdWJsaWMgb3BlbkxvZ2luKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmluaXRMb2dpbkZsb3coKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -8,4 +8,5 @@ export * from './auth.service';
|
|
|
8
8
|
export * from './token.options';
|
|
9
9
|
export * from './global-handler-error.service';
|
|
10
10
|
export * from './hybrid-storage.service';
|
|
11
|
-
|
|
11
|
+
export * from './browser-login-strategy.service';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcG9zaXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi90aGVtZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyLm9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3Zpc3VhbC12aWV3cG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4ub3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2dsb2JhbC1oYW5kbGVyLWVycm9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9oeWJyaWQtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYnJvd3Nlci1sb2dpbi1zdHJhdGVneS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const CUI_AUTH_LOGIN_STRATEGY = new InjectionToken('CUI_AUTH_LOGIN_STRATEGY');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1sb2dpbi1zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdG9rZW5zL2F1dGgtbG9naW4tc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBOEIseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBDVUlfQVVUSF9MT0dJTl9TVFJBVEVHWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDdWlBdXRoTG9naW5TdHJhdGVneVNlcnZpY2U+KCdDVUlfQVVUSF9MT0dJTl9TVFJBVEVHWScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1aUF1dGhMb2dpblN0cmF0ZWd5U2VydmljZSB7XG4gICAgb3BlbkxvZ2luKCk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+O1xufVxuIl19
|
package/esm2022/tokens/index.mjs
CHANGED
|
@@ -4,4 +4,5 @@ export * from './viewport';
|
|
|
4
4
|
export * from './error-notification-service';
|
|
5
5
|
export * from './error-translation-prefix';
|
|
6
6
|
export * from './should-handle-error';
|
|
7
|
-
|
|
7
|
+
export * from './auth-login-strategy';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3Rva2Vucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9ucy1zcGVlZCc7XG5leHBvcnQgKiBmcm9tICcuL3JlZHVjZWQtbW90aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdmlld3BvcnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lcnJvci1ub3RpZmljYXRpb24tc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yLXRyYW5zbGF0aW9uLXByZWZpeCc7XG5leHBvcnQgKiBmcm9tICcuL3Nob3VsZC1oYW5kbGUtZXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLWxvZ2luLXN0cmF0ZWd5JztcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export function cuiCheckAuthFailureEvent(type) {
|
|
2
|
+
switch (type) {
|
|
3
|
+
case 'token_refresh_error':
|
|
4
|
+
case 'token_validation_error':
|
|
5
|
+
case 'session_terminated':
|
|
6
|
+
case 'session_error':
|
|
7
|
+
case 'silent_refresh_error':
|
|
8
|
+
case 'silent_refresh_timeout':
|
|
9
|
+
return true;
|
|
10
|
+
default:
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stYXV0aC1mYWlsdXJlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9jaGVjay1hdXRoLWZhaWx1cmUtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLHdCQUF3QixDQUFDLElBQWU7SUFDcEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNYLEtBQUsscUJBQXFCLENBQUM7UUFDM0IsS0FBSyx3QkFBd0IsQ0FBQztRQUM5QixLQUFLLG9CQUFvQixDQUFDO1FBQzFCLEtBQUssZUFBZSxDQUFDO1FBQ3JCLEtBQUssc0JBQXNCLENBQUM7UUFDNUIsS0FBSyx3QkFBd0I7WUFDekIsT0FBTyxJQUFJLENBQUM7UUFDaEI7WUFDSSxPQUFPLEtBQUssQ0FBQztJQUNyQixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXZlbnRUeXBlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjdWlDaGVja0F1dGhGYWlsdXJlRXZlbnQodHlwZTogRXZlbnRUeXBlKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ3Rva2VuX3JlZnJlc2hfZXJyb3InOlxuICAgICAgICBjYXNlICd0b2tlbl92YWxpZGF0aW9uX2Vycm9yJzpcbiAgICAgICAgY2FzZSAnc2Vzc2lvbl90ZXJtaW5hdGVkJzpcbiAgICAgICAgY2FzZSAnc2Vzc2lvbl9lcnJvcic6XG4gICAgICAgIGNhc2UgJ3NpbGVudF9yZWZyZXNoX2Vycm9yJzpcbiAgICAgICAgY2FzZSAnc2lsZW50X3JlZnJlc2hfdGltZW91dCc6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/utils/index.mjs
CHANGED
|
@@ -2,4 +2,5 @@ export * from './format';
|
|
|
2
2
|
export * from './miscellaneous';
|
|
3
3
|
export * from './default-validators';
|
|
4
4
|
export * from './check-fixed-position';
|
|
5
|
-
|
|
5
|
+
export * from './check-auth-failure-event';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zvcm1hdCc7XG5leHBvcnQgKiBmcm9tICcuL21pc2NlbGxhbmVvdXMnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LXZhbGlkYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVjay1maXhlZC1wb3NpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrLWF1dGgtZmFpbHVyZS1ldmVudCc7XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ChangeDetectionStrategy, inject, Renderer2, input, model, effect, Directive, InjectionToken, Input, HostBinding, ChangeDetectorRef, ViewChild, EventEmitter, Output, NgModule, Injector, Injectable, SkipSelf, Optional, DestroyRef, NgZone, signal, Self, INJECTOR, TemplateRef, forwardRef, ViewEncapsulation, computed, ContentChildren, output, ElementRef, HostListener, ViewContainerRef, booleanAttribute, untracked, Pipe,
|
|
2
|
+
import { Component, ChangeDetectionStrategy, inject, Renderer2, input, model, effect, Directive, InjectionToken, Input, HostBinding, ChangeDetectorRef, ViewChild, EventEmitter, Output, NgModule, Injector, Injectable, SkipSelf, Optional, DestroyRef, NgZone, signal, makeEnvironmentProviders, APP_INITIALIZER, ErrorHandler, Self, INJECTOR, TemplateRef, forwardRef, ViewEncapsulation, computed, ContentChildren, output, ElementRef, HostListener, ViewContainerRef, booleanAttribute, untracked, Pipe, viewChild } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
|
-
import { CommonModule, DOCUMENT, NgForOf, NgIf, NgComponentOutlet, NgTemplateOutlet, NgFor, NgClass,
|
|
4
|
+
import { CommonModule, DOCUMENT, Location, NgForOf, NgIf, NgComponentOutlet, NgTemplateOutlet, NgFor, NgClass, UpperCasePipe, AsyncPipe, KeyValuePipe, LowerCasePipe, TitleCasePipe } from '@angular/common';
|
|
5
5
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
6
6
|
import { cuiIsIcon, CUI_ICONS } from '@cuby-ui/icons';
|
|
7
7
|
import * as i1$1 from '@cuby-ui/cdk';
|
|
@@ -15,6 +15,7 @@ import { CuiExchangeContextApiService, CUI_JTEXT_API_SERVICE, CuiJTextApiService
|
|
|
15
15
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
16
16
|
import * as i4 from '@jsverse/transloco';
|
|
17
17
|
import { TranslocoService, TranslocoModule, TranslocoDirective, TranslocoPipe } from '@jsverse/transloco';
|
|
18
|
+
import { Router } from '@angular/router';
|
|
18
19
|
import * as i5 from '@angular/forms';
|
|
19
20
|
import { Validators, NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, FormControl, NonNullableFormBuilder } from '@angular/forms';
|
|
20
21
|
import * as i2 from '@taiga-ui/polymorpheus';
|
|
@@ -25,7 +26,6 @@ import { MaskitoDirective } from '@maskito/angular';
|
|
|
25
26
|
import EditorJS from '@editorjs/editorjs';
|
|
26
27
|
import Header from '@editorjs/header';
|
|
27
28
|
import List from '@editorjs/list';
|
|
28
|
-
import { Router } from '@angular/router';
|
|
29
29
|
import { createCustomElement } from '@angular/elements';
|
|
30
30
|
import { tap as tap$1, finalize as finalize$1, switchMap as switchMap$1 } from 'rxjs/operators';
|
|
31
31
|
|
|
@@ -1151,6 +1151,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1151
1151
|
}]
|
|
1152
1152
|
}] });
|
|
1153
1153
|
|
|
1154
|
+
function cuiCheckAuthFailureEvent(type) {
|
|
1155
|
+
switch (type) {
|
|
1156
|
+
case 'token_refresh_error':
|
|
1157
|
+
case 'token_validation_error':
|
|
1158
|
+
case 'session_terminated':
|
|
1159
|
+
case 'session_error':
|
|
1160
|
+
case 'silent_refresh_error':
|
|
1161
|
+
case 'silent_refresh_timeout':
|
|
1162
|
+
return true;
|
|
1163
|
+
default:
|
|
1164
|
+
return false;
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1154
1168
|
class CuiToken extends OAuthService {
|
|
1155
1169
|
constructor() {
|
|
1156
1170
|
super(...arguments);
|
|
@@ -1294,6 +1308,13 @@ class CuiAuthBase extends CuiTokenBase {
|
|
|
1294
1308
|
this.refreshToken();
|
|
1295
1309
|
});
|
|
1296
1310
|
}
|
|
1311
|
+
initAuthFailureEvents(onFailure) {
|
|
1312
|
+
this.events.pipe(filter((event) => event instanceof OAuthErrorEvent)).subscribe((event) => {
|
|
1313
|
+
if (cuiCheckAuthFailureEvent(event.type)) {
|
|
1314
|
+
onFailure();
|
|
1315
|
+
}
|
|
1316
|
+
});
|
|
1317
|
+
}
|
|
1297
1318
|
}
|
|
1298
1319
|
|
|
1299
1320
|
const CUI_REDUCED_MOTION = cuiCreateTokenFromFactory(() => inject(DOCUMENT).defaultView?.matchMedia?.('(prefers-reduced-motion: reduce)').matches ?? false);
|
|
@@ -1352,6 +1373,8 @@ const CUI_ERROR_TRANSLATION_PREFIX = new InjectionToken('CUI_ERROR_TRANSLATION_P
|
|
|
1352
1373
|
|
|
1353
1374
|
const CUI_SHOULD_HANDLE_ERROR = new InjectionToken('CUI_SHOULD_HANDLE_ERROR');
|
|
1354
1375
|
|
|
1376
|
+
const CUI_AUTH_LOGIN_STRATEGY = new InjectionToken('CUI_AUTH_LOGIN_STRATEGY');
|
|
1377
|
+
|
|
1355
1378
|
class CuiErrorResolverFactory {
|
|
1356
1379
|
constructor() {
|
|
1357
1380
|
this.nullErrorStrategy = inject(NullErrorStrategy);
|
|
@@ -1501,6 +1524,141 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1501
1524
|
}]
|
|
1502
1525
|
}] });
|
|
1503
1526
|
|
|
1527
|
+
const CuiAuthService = new InjectionToken('CUI_AUTH_SERVICE');
|
|
1528
|
+
|
|
1529
|
+
class CuiBrowserAuthService extends CuiAuthBase {
|
|
1530
|
+
constructor() {
|
|
1531
|
+
super(...arguments);
|
|
1532
|
+
this.router = inject(Router);
|
|
1533
|
+
this.location = inject(Location);
|
|
1534
|
+
this.oauthStorage = inject(CuiHybridStorageService);
|
|
1535
|
+
}
|
|
1536
|
+
async initAuth(authConfig) {
|
|
1537
|
+
this.setStorage(this.oauthStorage);
|
|
1538
|
+
this.configure(authConfig);
|
|
1539
|
+
await this.loadDiscoveryDocument();
|
|
1540
|
+
try {
|
|
1541
|
+
await this.tryLogin();
|
|
1542
|
+
}
|
|
1543
|
+
catch (error) {
|
|
1544
|
+
if (!this.hasValidAccessToken()) {
|
|
1545
|
+
throw error;
|
|
1546
|
+
}
|
|
1547
|
+
}
|
|
1548
|
+
const tokenExpiredCallback = authConfig.tokenExpiredCallback?.bind(this) ?? this.initLoginFlow.bind(this);
|
|
1549
|
+
this.initAuthRefreshEvents(tokenExpiredCallback);
|
|
1550
|
+
await this.useCheckTokenFlow(tokenExpiredCallback);
|
|
1551
|
+
this.router.navigateByUrl(this.location.path(false).split('?')[0]);
|
|
1552
|
+
}
|
|
1553
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserAuthService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1554
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserAuthService, providedIn: 'root' }); }
|
|
1555
|
+
}
|
|
1556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserAuthService, decorators: [{
|
|
1557
|
+
type: Injectable,
|
|
1558
|
+
args: [{
|
|
1559
|
+
providedIn: 'root'
|
|
1560
|
+
}]
|
|
1561
|
+
}] });
|
|
1562
|
+
|
|
1563
|
+
class CuiMobileAuthService extends CuiAuthBase {
|
|
1564
|
+
constructor() {
|
|
1565
|
+
super(...arguments);
|
|
1566
|
+
this.oauthStorage = inject(CuiHybridStorageService);
|
|
1567
|
+
}
|
|
1568
|
+
async initAuth(authConfig) {
|
|
1569
|
+
this.setStorage(this.oauthStorage);
|
|
1570
|
+
this.configure(authConfig);
|
|
1571
|
+
if (!authConfig.tokenExpiredCallback) {
|
|
1572
|
+
return;
|
|
1573
|
+
}
|
|
1574
|
+
await this.loadDiscoveryDocument();
|
|
1575
|
+
await this.tryLogin();
|
|
1576
|
+
this.initAuthRefreshEvents(authConfig.tokenExpiredCallback.bind(this));
|
|
1577
|
+
await this.useCheckTokenFlow(authConfig.tokenExpiredCallback.bind(this));
|
|
1578
|
+
}
|
|
1579
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiMobileAuthService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1580
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiMobileAuthService, providedIn: 'root' }); }
|
|
1581
|
+
}
|
|
1582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiMobileAuthService, decorators: [{
|
|
1583
|
+
type: Injectable,
|
|
1584
|
+
args: [{
|
|
1585
|
+
providedIn: 'root'
|
|
1586
|
+
}]
|
|
1587
|
+
}] });
|
|
1588
|
+
|
|
1589
|
+
function provideCuiAuth({ authConfig, moduleConfig, platform = 'browser', loginStrategy = CuiBrowserLoginStrategyService }) {
|
|
1590
|
+
return [
|
|
1591
|
+
provideOAuthClient(moduleConfig),
|
|
1592
|
+
{
|
|
1593
|
+
provide: CuiAuthService,
|
|
1594
|
+
useFactory: () => {
|
|
1595
|
+
if (platform === 'mobile') {
|
|
1596
|
+
return inject(CuiMobileAuthService);
|
|
1597
|
+
}
|
|
1598
|
+
return inject(CuiBrowserAuthService);
|
|
1599
|
+
}
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
provide: CUI_AUTH_LOGIN_STRATEGY,
|
|
1603
|
+
useClass: loginStrategy
|
|
1604
|
+
},
|
|
1605
|
+
makeEnvironmentProviders([
|
|
1606
|
+
{
|
|
1607
|
+
provide: APP_INITIALIZER,
|
|
1608
|
+
useValue: () => initAuth(authConfig),
|
|
1609
|
+
multi: true
|
|
1610
|
+
}
|
|
1611
|
+
])
|
|
1612
|
+
];
|
|
1613
|
+
}
|
|
1614
|
+
async function initAuth(authConfig) {
|
|
1615
|
+
const authService = inject(CuiAuthService);
|
|
1616
|
+
const loginStrategy = inject(CUI_AUTH_LOGIN_STRATEGY);
|
|
1617
|
+
authService.initAuthFailureEvents(() => loginStrategy.openLogin());
|
|
1618
|
+
return await authService.initAuth(authConfig);
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
function provideCuiErrorHandler({ errorNotificationService, shouldHandleError, translationPrefix = 'BACKEND.' } = {}) {
|
|
1622
|
+
const providers = [
|
|
1623
|
+
{
|
|
1624
|
+
provide: ErrorHandler,
|
|
1625
|
+
useClass: CuiGlobalErrorHandler
|
|
1626
|
+
},
|
|
1627
|
+
{
|
|
1628
|
+
provide: CUI_ERROR_TRANSLATION_PREFIX,
|
|
1629
|
+
useValue: translationPrefix
|
|
1630
|
+
}
|
|
1631
|
+
];
|
|
1632
|
+
if (errorNotificationService) {
|
|
1633
|
+
providers.push({
|
|
1634
|
+
provide: CUI_ERROR_NOTIFICATION_SERVICE,
|
|
1635
|
+
useClass: errorNotificationService
|
|
1636
|
+
});
|
|
1637
|
+
}
|
|
1638
|
+
if (shouldHandleError) {
|
|
1639
|
+
providers.push({
|
|
1640
|
+
provide: CUI_SHOULD_HANDLE_ERROR,
|
|
1641
|
+
useValue: shouldHandleError
|
|
1642
|
+
});
|
|
1643
|
+
}
|
|
1644
|
+
return providers;
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
class CuiBrowserLoginStrategyService {
|
|
1648
|
+
constructor() {
|
|
1649
|
+
this.authService = inject(CuiAuthService);
|
|
1650
|
+
}
|
|
1651
|
+
openLogin() {
|
|
1652
|
+
this.authService.initLoginFlow();
|
|
1653
|
+
}
|
|
1654
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserLoginStrategyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1655
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserLoginStrategyService, providedIn: 'root' }); }
|
|
1656
|
+
}
|
|
1657
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserLoginStrategyService, decorators: [{
|
|
1658
|
+
type: Injectable,
|
|
1659
|
+
args: [{ providedIn: 'root' }]
|
|
1660
|
+
}] });
|
|
1661
|
+
|
|
1504
1662
|
function cuiRemoveSpaces(value) {
|
|
1505
1663
|
return value.replace(/\s+/g, '');
|
|
1506
1664
|
}
|
|
@@ -6930,120 +7088,6 @@ function checkIsBrTag(input, index) {
|
|
|
6930
7088
|
return tag + '>' === BR_TAG;
|
|
6931
7089
|
}
|
|
6932
7090
|
|
|
6933
|
-
const CuiAuthService = new InjectionToken('CUI_AUTH_SERVICE');
|
|
6934
|
-
|
|
6935
|
-
class CuiBrowserAuthService extends CuiAuthBase {
|
|
6936
|
-
constructor() {
|
|
6937
|
-
super(...arguments);
|
|
6938
|
-
this.router = inject(Router);
|
|
6939
|
-
this.location = inject(Location);
|
|
6940
|
-
this.oauthStorage = inject(CuiHybridStorageService);
|
|
6941
|
-
}
|
|
6942
|
-
async initAuth(authConfig) {
|
|
6943
|
-
this.setStorage(this.oauthStorage);
|
|
6944
|
-
this.configure(authConfig);
|
|
6945
|
-
await this.loadDiscoveryDocument();
|
|
6946
|
-
try {
|
|
6947
|
-
await this.tryLogin();
|
|
6948
|
-
}
|
|
6949
|
-
catch (error) {
|
|
6950
|
-
if (!this.hasValidAccessToken()) {
|
|
6951
|
-
throw error;
|
|
6952
|
-
}
|
|
6953
|
-
}
|
|
6954
|
-
const tokenExpiredCallback = authConfig.tokenExpiredCallback?.bind(this) ?? this.initLoginFlow.bind(this);
|
|
6955
|
-
this.initAuthRefreshEvents(tokenExpiredCallback);
|
|
6956
|
-
await this.useCheckTokenFlow(tokenExpiredCallback);
|
|
6957
|
-
this.router.navigateByUrl(this.location.path(false).split('?')[0]);
|
|
6958
|
-
}
|
|
6959
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserAuthService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6960
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserAuthService, providedIn: 'root' }); }
|
|
6961
|
-
}
|
|
6962
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiBrowserAuthService, decorators: [{
|
|
6963
|
-
type: Injectable,
|
|
6964
|
-
args: [{
|
|
6965
|
-
providedIn: 'root'
|
|
6966
|
-
}]
|
|
6967
|
-
}] });
|
|
6968
|
-
|
|
6969
|
-
class CuiMobileAuthService extends CuiAuthBase {
|
|
6970
|
-
constructor() {
|
|
6971
|
-
super(...arguments);
|
|
6972
|
-
this.oauthStorage = inject(CuiHybridStorageService);
|
|
6973
|
-
}
|
|
6974
|
-
async initAuth(authConfig) {
|
|
6975
|
-
this.setStorage(this.oauthStorage);
|
|
6976
|
-
this.configure(authConfig);
|
|
6977
|
-
if (!authConfig.tokenExpiredCallback) {
|
|
6978
|
-
return;
|
|
6979
|
-
}
|
|
6980
|
-
await this.loadDiscoveryDocument();
|
|
6981
|
-
await this.tryLogin();
|
|
6982
|
-
this.initAuthRefreshEvents(authConfig.tokenExpiredCallback.bind(this));
|
|
6983
|
-
await this.useCheckTokenFlow(authConfig.tokenExpiredCallback.bind(this));
|
|
6984
|
-
}
|
|
6985
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiMobileAuthService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6986
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiMobileAuthService, providedIn: 'root' }); }
|
|
6987
|
-
}
|
|
6988
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CuiMobileAuthService, decorators: [{
|
|
6989
|
-
type: Injectable,
|
|
6990
|
-
args: [{
|
|
6991
|
-
providedIn: 'root'
|
|
6992
|
-
}]
|
|
6993
|
-
}] });
|
|
6994
|
-
|
|
6995
|
-
function provideCuiAuth({ authConfig, moduleConfig, platform = 'browser' }) {
|
|
6996
|
-
return [
|
|
6997
|
-
provideOAuthClient(moduleConfig),
|
|
6998
|
-
{
|
|
6999
|
-
provide: CuiAuthService,
|
|
7000
|
-
useFactory: () => {
|
|
7001
|
-
if (platform === 'mobile') {
|
|
7002
|
-
return inject(CuiMobileAuthService);
|
|
7003
|
-
}
|
|
7004
|
-
return inject(CuiBrowserAuthService);
|
|
7005
|
-
}
|
|
7006
|
-
},
|
|
7007
|
-
makeEnvironmentProviders([
|
|
7008
|
-
{
|
|
7009
|
-
provide: APP_INITIALIZER,
|
|
7010
|
-
useValue: () => initAuth(authConfig),
|
|
7011
|
-
multi: true
|
|
7012
|
-
}
|
|
7013
|
-
])
|
|
7014
|
-
];
|
|
7015
|
-
}
|
|
7016
|
-
async function initAuth(authConfig) {
|
|
7017
|
-
const authService = inject(CuiAuthService);
|
|
7018
|
-
return await authService.initAuth(authConfig);
|
|
7019
|
-
}
|
|
7020
|
-
|
|
7021
|
-
function provideCuiErrorHandler({ errorNotificationService, shouldHandleError, translationPrefix = 'BACKEND.' } = {}) {
|
|
7022
|
-
const providers = [
|
|
7023
|
-
{
|
|
7024
|
-
provide: ErrorHandler,
|
|
7025
|
-
useClass: CuiGlobalErrorHandler
|
|
7026
|
-
},
|
|
7027
|
-
{
|
|
7028
|
-
provide: CUI_ERROR_TRANSLATION_PREFIX,
|
|
7029
|
-
useValue: translationPrefix
|
|
7030
|
-
}
|
|
7031
|
-
];
|
|
7032
|
-
if (errorNotificationService) {
|
|
7033
|
-
providers.push({
|
|
7034
|
-
provide: CUI_ERROR_NOTIFICATION_SERVICE,
|
|
7035
|
-
useClass: errorNotificationService
|
|
7036
|
-
});
|
|
7037
|
-
}
|
|
7038
|
-
if (shouldHandleError) {
|
|
7039
|
-
providers.push({
|
|
7040
|
-
provide: CUI_SHOULD_HANDLE_ERROR,
|
|
7041
|
-
useValue: shouldHandleError
|
|
7042
|
-
});
|
|
7043
|
-
}
|
|
7044
|
-
return providers;
|
|
7045
|
-
}
|
|
7046
|
-
|
|
7047
7091
|
function presetConfigToken() {
|
|
7048
7092
|
const token = inject(CuiAuthService).getAccessToken();
|
|
7049
7093
|
const additionalRequestHeaders = {
|
|
@@ -9190,6 +9234,16 @@ function processChunk(line, observer) {
|
|
|
9190
9234
|
}
|
|
9191
9235
|
}
|
|
9192
9236
|
|
|
9237
|
+
const cuiAuthErrorInterceptor = (request, next) => {
|
|
9238
|
+
const loginStrategy = inject(CUI_AUTH_LOGIN_STRATEGY);
|
|
9239
|
+
return next(request).pipe(catchError((error) => {
|
|
9240
|
+
if (error instanceof HttpErrorResponse && (error.status === 401 || error.status === 403)) {
|
|
9241
|
+
loginStrategy.openLogin();
|
|
9242
|
+
}
|
|
9243
|
+
return throwError(() => error);
|
|
9244
|
+
}));
|
|
9245
|
+
};
|
|
9246
|
+
|
|
9193
9247
|
/**
|
|
9194
9248
|
* @deprecated Use CuiLoaderComponent with type="circle" instead
|
|
9195
9249
|
*/
|
|
@@ -13539,5 +13593,5 @@ const CuiTranslations = {
|
|
|
13539
13593
|
* Generated bundle index. Do not edit.
|
|
13540
13594
|
*/
|
|
13541
13595
|
|
|
13542
|
-
export { AlertHintComponent, AngularOutsideLoaderService, AssigneeRoleItemComponent, AssigneeRolesTabsComponent, ButtonChangeThemeComponent, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BADGE_DEFAULT_OPTIONS, CUI_BADGE_OPTIONS, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_FILTER_BAR_DEFAULT_TRANSLATIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_STATE_SERVICE_TOKEN, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_SUBJECT_MODAL_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CUI_USED_ELEMENTS_SERVICE_TOKEN, CUI_UTILITY_SERVICE_TOKEN, ContentHeaderComponent, CuiAbstractTabsComponent, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiCircleLoaderComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionInfoFormComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDateRangeCalendarComponent, CuiDateRangeCalendarModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploader, CuiFileUploaderStatus, CuiFilterBarComponent, CuiFilterBarModule, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiGlobalErrorHandler, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiHybridStorageService, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionInfoFormComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLibTranslations, CuiLinearLoaderComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiPulseLoaderComponent, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiReadonlyUtilityModalComponent, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSkeleton, CuiStatedLoaderComponent, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiTimePipe, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiTranslations, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiUtilityModalCreateComponent, CuiUtilityReadonlyThumbnailComponent, CuiUtilityThumbnailComponent, CuiVideoTool, CuiVisualViewportService, FileSizePipe, InsertedComponent, ModalDividedSectionComponent, ModalHeaderComponent, ModalHeaderInsertedButtonsComponent, ModalInfoTabComponent, ModalOperationPartComponent, ModalResourcesTabComponent, OptionsButtonComponent, RenderDynamicModalComponent, ResourceStateBaseService, ResourcesBlockComponent, ResourcesBlockPartComponent, ResourcesBlockTabsComponent$1 as ResourcesBlockTabsComponent, ResourcesOptionsComponent, SubjectModalBaseService, UTILITY_MODAL_SERVICE_TOKEN, UsedElementsBaseService, UtilityBaseService, UtilityInfoReadonlyComponent, createEditorTools, cuiAuthInterceptor, cuiCheckFixedPosition, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiProvideEditor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, handleError, openFileInBrowser, presetConfigToken, provideCuiAuth, provideCuiErrorHandler, provideCuiTabs, setLoading, sseStreamReaderInterceptor };
|
|
13596
|
+
export { AlertHintComponent, AngularOutsideLoaderService, AssigneeRoleItemComponent, AssigneeRolesTabsComponent, ButtonChangeThemeComponent, CUI_ACTIVITY_SERVICE_TOKEN, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, CUI_BADGE_DEFAULT_OPTIONS, CUI_BADGE_OPTIONS, CUI_BANNER_DEFAULT_OPTIONS, CUI_BANNER_OPTIONS, CUI_BUTTON_DEFAULT_OPTIONS, CUI_BUTTON_OPTIONS, CUI_DEFAULT_THEME, CUI_DIALOGS, CUI_DIALOG_CONTEXT, CUI_DIALOG_DEFAULT_OPTIONS, CUI_DIALOG_OPTIONS, CUI_FILTER_BAR_DEFAULT_TRANSLATIONS, CUI_INPUT_TIME_DEFAULT_OPTIONS, CUI_INPUT_TIME_OPTIONS, CUI_NOTIFICATION_DEFAULT_OPTIONS, CUI_NOTIFICATION_ICONS, CUI_NOTIFICATION_ICON_OPTIONS, CUI_NOTIFICATION_ICON_OPTIONS_DEFAULT_MODE, CUI_NOTIFICATION_ICON_OPTIONS_LIGHT_MODE, CUI_NOTIFICATION_OPTIONS, CUI_RESOURCE_STATE_SERVICE_TOKEN, CUI_ROOT_SELECTOR, CUI_STORAGE_LIST_SERVICE_TOKEN, CUI_SUBJECT_MODAL_SERVICE_TOKEN, CUI_TABS_SERVICE_TOKEN, CUI_TEXT_FIELD_CONTROLLER, CUI_TEXT_FIELD_ICON_LEFT, CUI_TEXT_FIELD_ID, CUI_TEXT_FIELD_IS_ERROR, CUI_TEXT_FIELD_PLACEHOLDER, CUI_TEXT_FIELD_SIZE, CUI_TEXT_FILED_CONTROLLER_PROVIDER, CUI_THEME, CUI_THEME_STORAGE_DEFAULT_KEY, CUI_THEME_STORAGE_KEY, CUI_TOOLTIP_COMPONENT, CUI_TOOLTIP_DEFAULT_OPTIONS, CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS, CUI_TOOLTIP_PROVIDERS, CUI_USED_ELEMENTS_SERVICE_TOKEN, CUI_UTILITY_SERVICE_TOKEN, ContentHeaderComponent, CuiAbstractTabsComponent, CuiAccessor, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiActivityBaseService, CuiActivityImplService, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiAttachesTool, CuiAuthBase, CuiAuthService, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiBrowserLoginStrategyService, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCardWrapperComponent, CuiCategoriesComponent, CuiCheckboxComponent, CuiCheckboxModule, CuiChecklistBlockComponent, CuiCircleLoaderComponent, CuiContentWrapperComponent, CuiContextMenuComponent, CuiContextMenuModule, CuiCriterionInfoComponent, CuiCriterionInfoFormComponent, CuiCriterionModalCreateComponent, CuiCriterionReadonlyInfoComponent, CuiDateRangeCalendarComponent, CuiDateRangeCalendarModule, CuiDeleteModalComponent, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDriver, CuiDriverDirective, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiEditorBlockComponent, CuiEditorComponent, CuiEditorModalComponent, CuiEditorReadonlyComponent, CuiEditorTranslations, CuiEmptyStateComponent, CuiFileIconComponent, CuiFileUploader, CuiFileUploaderStatus, CuiFilterBarComponent, CuiFilterBarModule, CuiFormFieldComponent, CuiFormFieldModule, CuiFramerPreviewComponent, CuiGeneralControlErrorHintComponent, CuiGhostInputComponent, CuiGlobalErrorHandler, CuiHeaderTool, CuiHintComponent, CuiHintModule, CuiHybridStorageService, CuiIconButtonComponent, CuiIconButtonModule, CuiImageTool, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiInstructionInfoComponent, CuiInstructionInfoFormComponent, CuiInstructionModalCreateComponent, CuiInstructionReadonlyInfoComponent, CuiLabelComponent, CuiLabelModule, CuiLayoutComponent, CuiLetterBoxComponent, CuiLibTranslations, CuiLinearLoaderComponent, CuiLinkMarker, CuiListTool, CuiLoaderComponent, CuiLoaderService, CuiLoadingState, CuiNotificationComponent, CuiNotificationModule, CuiPositionAccessor, CuiPositionService, CuiPulseLoaderComponent, CuiRadioComponent, CuiRadioModule, CuiReadonlyCriterionModalComponent, CuiReadonlyInstructionModalComponent, CuiReadonlyUtilityModalComponent, CuiRectAccessor, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRoleMarker, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModalComponent, CuiSelectModalFolderComponent, CuiSelectModalSearchComponent, CuiSelectModalService, CuiSelectModule, CuiSelectedCategoryService, CuiSidebarContainerComponent, CuiSidebarHeaderComponent, CuiSidebarNavigationComponent, CuiSidebarNavigationContainerComponent, CuiSidebarNavigationItemComponent, CuiSidebarService, CuiSkeleton, CuiStatedLoaderComponent, CuiStorageListComponent, CuiSvgComponent, CuiSvgModule, CuiTabDirective, CuiTabsComponent, CuiTabsServiceImpl, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiTimePipe, CuiToggleComponent, CuiToggleModule, CuiToolMarker, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiTranslations, CuiUserActionContextMenuComponent, CuiUtilityModalComponent, CuiUtilityModalCreateComponent, CuiUtilityReadonlyThumbnailComponent, CuiUtilityThumbnailComponent, CuiVehicle, CuiVideoTool, CuiVisualViewportService, FileSizePipe, InsertedComponent, ModalDividedSectionComponent, ModalHeaderComponent, ModalHeaderInsertedButtonsComponent, ModalInfoTabComponent, ModalOperationPartComponent, ModalResourcesTabComponent, OptionsButtonComponent, RenderDynamicModalComponent, ResourceStateBaseService, ResourcesBlockComponent, ResourcesBlockPartComponent, ResourcesBlockTabsComponent$1 as ResourcesBlockTabsComponent, ResourcesOptionsComponent, SubjectModalBaseService, UTILITY_MODAL_SERVICE_TOKEN, UsedElementsBaseService, UtilityBaseService, UtilityInfoReadonlyComponent, createEditorTools, cuiAsDriver, cuiAsPositionAccessor, cuiAsRectAccessor, cuiAsVehicle, cuiAuthErrorInterceptor, cuiAuthInterceptor, cuiCheckAuthFailureEvent, cuiCheckFixedPosition, cuiCreateDefaultValidators, cuiErrorHandlerInterceptor, cuiFallbackAccessor, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiPositionAccessorFor, cuiProvideAccessor, cuiProvideEditor, cuiRectAccessorFor, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor, handleError, openFileInBrowser, presetConfigToken, provideCuiAuth, provideCuiErrorHandler, provideCuiTabs, setLoading, sseStreamReaderInterceptor };
|
|
13543
13597
|
//# sourceMappingURL=cuby-ui-core.mjs.map
|