@cuby-ui/core 0.0.211 → 0.0.213
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/components/button/button.component.d.ts +1 -1
- package/components/notification/notification.component.d.ts +2 -2
- package/directives/tooltip/tooltip.component.d.ts +1 -1
- package/esm2022/components/accordion/accordion.directive.mjs +3 -1
- package/esm2022/interceptors/index.mjs +2 -1
- package/esm2022/interceptors/loader.interceptor.mjs +12 -0
- package/esm2022/services/index.mjs +3 -1
- package/esm2022/services/loader.options.mjs +6 -0
- package/esm2022/services/loader.service.mjs +60 -0
- package/fesm2022/cuby-ui-core.mjs +77 -3
- package/fesm2022/cuby-ui-core.mjs.map +1 -1
- package/interceptors/index.d.ts +1 -0
- package/interceptors/loader.interceptor.d.ts +2 -0
- package/package.json +3 -3
- package/services/index.d.ts +2 -0
- package/services/loader.options.d.ts +7 -0
- package/services/loader.service.d.ts +21 -0
|
@@ -10,7 +10,7 @@ export declare class CuiButtonComponent implements CuiButtonOptions, OnInit {
|
|
|
10
10
|
protected readonly AppearanceIconColors: Record<CuiButtonOptions['appearance'], string>;
|
|
11
11
|
protected readonly COLOR_BASE_500 = "var(--cui-base-500)";
|
|
12
12
|
protected readonly BUTTON_ICONS_COLOR_BASE_500: CuiButtonOptions['appearance'][];
|
|
13
|
-
protected _appearance: "
|
|
13
|
+
protected _appearance: "link" | "flat" | "action" | "secondary" | "outlined" | "outlined-gray" | "ghost" | "destructive";
|
|
14
14
|
protected iconColor: string;
|
|
15
15
|
protected _size: "xxs" | "xs" | "sm" | "md";
|
|
16
16
|
protected iconDimensions: {
|
|
@@ -4,10 +4,10 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class CuiNotificationComponent implements CuiNotificationOptions, OnInit {
|
|
5
5
|
private readonly cuiNotificationOptions;
|
|
6
6
|
protected readonly ICONS: import("./notification.options").CuiNotificationIcons;
|
|
7
|
-
protected readonly ICON_OPTIONS: Record<"
|
|
7
|
+
protected readonly ICON_OPTIONS: Record<"light" | "default", CuiNotificationIconOptions>;
|
|
8
8
|
protected iconOptions: CuiNotificationIconOptions;
|
|
9
9
|
status: import("@cuby-ui/core").CuiStatus;
|
|
10
|
-
mode: "
|
|
10
|
+
mode: "light" | "default";
|
|
11
11
|
isCloseable: boolean;
|
|
12
12
|
readonly closed: EventEmitter<void>;
|
|
13
13
|
ngOnInit(): void;
|
|
@@ -4,7 +4,7 @@ import { CuiPositionService } from '../../services';
|
|
|
4
4
|
import { CuiTooltipDirective } from './tooltip.directive';
|
|
5
5
|
import { CuiTooltipPointer } from './tooltip-pointer.directive';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
export declare const CUI_TOOLTIP_PROVIDERS: (import("@angular/core").FactoryProvider
|
|
7
|
+
export declare const CUI_TOOLTIP_PROVIDERS: (typeof CuiPositionService | typeof CuiHoveredService | import("@angular/core").FactoryProvider)[];
|
|
8
8
|
export declare class CuiTooltipComponent<C = any> {
|
|
9
9
|
private readonly el;
|
|
10
10
|
private readonly hover;
|
|
@@ -33,10 +33,12 @@ export class CuiAccordionDirective {
|
|
|
33
33
|
open(wrapper) {
|
|
34
34
|
this.renderer.setStyle(wrapper, 'visibility', 'hidden');
|
|
35
35
|
this.renderer.setStyle(wrapper, 'height', '0');
|
|
36
|
+
this.renderer.setStyle(wrapper, 'overflow', 'hidden');
|
|
36
37
|
}
|
|
37
38
|
close(wrapper) {
|
|
38
39
|
this.renderer.setStyle(wrapper, 'visibility', 'visible');
|
|
39
40
|
this.renderer.setStyle(wrapper, 'height', '');
|
|
41
|
+
this.renderer.setStyle(wrapper, 'overflow', '');
|
|
40
42
|
}
|
|
41
43
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
42
44
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: CuiAccordionDirective, isStandalone: true, selector: "[cuiAccordion]", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, host: { listeners: { "click": "onToggle($event)" } }, ngImport: i0 }); }
|
|
@@ -51,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
51
53
|
}
|
|
52
54
|
}]
|
|
53
55
|
}], ctorParameters: () => [] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU25GLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEM7UUFQaUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUk5QixZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHbkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFZO1FBQzdCLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRS9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVqRCxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWpELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxJQUFJLENBQUMsT0FBb0I7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFvQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQXJEVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxrQkFBa0I7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG1vZGVsLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2N1aUFjY29yZGlvbl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaG9zdDoge1xyXG4gICAgJyhjbGljayknOiAnb25Ub2dnbGUoJGV2ZW50KSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlBY2NvcmRpb25EaXJlY3RpdmUge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuXHJcbiAgcHJpdmF0ZSB3cmFwcGVyITogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50ID0gaW5wdXQucmVxdWlyZWQ8SFRNTEVsZW1lbnQ+KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzT3BlbiA9IG1vZGVsKHRydWUpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaW5pdFdyYXBwZXJFZmZlY3QoKTtcclxuICAgIHRoaXMuaW5pdE9wZW5DaGFuZ2VzRWZmZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Ub2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc09wZW4udXBkYXRlKChwcmV2KSA9PiAhcHJldik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRXcmFwcGVyRWZmZWN0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWZmZWN0UmVmID0gZWZmZWN0KCgpID0+IHtcclxuICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudCgpO1xyXG5cclxuICAgICAgdGhpcy53cmFwcGVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGNvbnRlbnQuYWZ0ZXIodGhpcy53cmFwcGVyKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIsIGNvbnRlbnQpO1xyXG5cclxuICAgICAgZWZmZWN0UmVmLmRlc3Ryb3koKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0T3BlbkNoYW5nZXNFZmZlY3QoKTogdm9pZCB7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBpc09wZW4gPSB0aGlzLmlzT3BlbigpO1xyXG4gICAgICBjb25zdCBkb0FjdGlvbiA9IGlzT3BlbiA/IHRoaXMuY2xvc2UgOiB0aGlzLm9wZW47XHJcblxyXG4gICAgICBkb0FjdGlvbi5jYWxsKHRoaXMsIHRoaXMud3JhcHBlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb3Blbih3cmFwcGVyOiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3cmFwcGVyLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ2hlaWdodCcsICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdvdmVyZmxvdycsICdoaWRkZW4nKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZSh3cmFwcGVyOiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3cmFwcGVyLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdoZWlnaHQnLCAnJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdvdmVyZmxvdycsICcnKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { cuiXNdjsonInterceptor } from './x-ndjson.interceptor';
|
|
2
|
-
|
|
2
|
+
export { cuiLoaderInterceptor } from './loader.interceptor';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGN1aVhOZGpzb25JbnRlcmNlcHRvciB9IGZyb20gJy4veC1uZGpzb24uaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgeyBjdWlMb2FkZXJJbnRlcmNlcHRvciB9IGZyb20gJy4vbG9hZGVyLmludGVyY2VwdG9yJztcclxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { catchError, finalize, throwError } from 'rxjs';
|
|
3
|
+
import { LoaderService } from '../services';
|
|
4
|
+
export const cuiLoaderInterceptor = (request, next) => {
|
|
5
|
+
const loaderService = inject(LoaderService);
|
|
6
|
+
if (request.method === 'GET') {
|
|
7
|
+
return next(request);
|
|
8
|
+
}
|
|
9
|
+
loaderService.setLoading();
|
|
10
|
+
return next(request).pipe(catchError(throwError), finalize(loaderService.handleCompletedRequest.bind(loaderService)));
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9pbnRlcmNlcHRvcnMvbG9hZGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXNCLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO0lBQ3ZFLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUU1QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUUzQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ3ZCLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFDdEIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDbkUsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSHR0cEludGVyY2VwdG9yRm4gfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaW5hbGl6ZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbmV4cG9ydCBjb25zdCBjdWlMb2FkZXJJbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yRm4gPSAocmVxdWVzdCwgbmV4dCkgPT4ge1xyXG4gIGNvbnN0IGxvYWRlclNlcnZpY2UgPSBpbmplY3QoTG9hZGVyU2VydmljZSk7XHJcblxyXG4gIGlmIChyZXF1ZXN0Lm1ldGhvZCA9PT0gJ0dFVCcpIHtcclxuICAgIHJldHVybiBuZXh0KHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgbG9hZGVyU2VydmljZS5zZXRMb2FkaW5nKCk7XHJcblxyXG4gIHJldHVybiBuZXh0KHJlcXVlc3QpLnBpcGUoXHJcbiAgICBjYXRjaEVycm9yKHRocm93RXJyb3IpLFxyXG4gICAgZmluYWxpemUobG9hZGVyU2VydmljZS5oYW5kbGVDb21wbGV0ZWRSZXF1ZXN0LmJpbmQobG9hZGVyU2VydmljZSkpXHJcbiAgKTtcclxufTtcclxuIl19
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export * from './position.service';
|
|
2
2
|
export * from './theme.options';
|
|
3
3
|
export * from './theme.service';
|
|
4
|
+
export * from './loader.options';
|
|
5
|
+
export * from './loader.service';
|
|
4
6
|
export * from './visual-viewport.service';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wb3NpdGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi90aGVtZS5vcHRpb25zJztcclxuZXhwb3J0ICogZnJvbSAnLi90aGVtZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2FkZXIub3B0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Zpc3VhbC12aWV3cG9ydC5zZXJ2aWNlJzsiXX0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export const LoadingState = {
|
|
2
|
+
LOADING: 'loading',
|
|
3
|
+
COMPLETED: 'completed',
|
|
4
|
+
INITIAL: 'initial'
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL2xvYWRlci5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixPQUFPLEVBQUUsU0FBUztJQUNsQixTQUFTLEVBQUUsV0FBVztJQUN0QixPQUFPLEVBQUUsU0FBUztDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEN1aVZhbHVlT2YgfSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5cclxuZXhwb3J0IGNvbnN0IExvYWRpbmdTdGF0ZSA9IHtcclxuICBMT0FESU5HOiAnbG9hZGluZycsXHJcbiAgQ09NUExFVEVEOiAnY29tcGxldGVkJyxcclxuICBJTklUSUFMOiAnaW5pdGlhbCdcclxufSBhcyBjb25zdDtcclxuXHJcbmV4cG9ydCB0eXBlIExvYWRpbmdTdGF0ZSA9IEN1aVZhbHVlT2Y8dHlwZW9mIExvYWRpbmdTdGF0ZT47XHJcbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Injectable, signal } from '@angular/core';
|
|
2
|
+
import { LoadingState } from './loader.options';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class LoaderService {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.RESET_TO_INITIAL_TIME = 1000;
|
|
7
|
+
this.loaderStateSignal = signal(LoadingState.INITIAL);
|
|
8
|
+
this.requestCount = 0;
|
|
9
|
+
this.loaderState = this.loaderStateSignal.asReadonly();
|
|
10
|
+
AngularOutsideLoaderService.setInstance(this);
|
|
11
|
+
}
|
|
12
|
+
setLoading() {
|
|
13
|
+
this.requestCount++;
|
|
14
|
+
// need to use without queueMicrotask (error)
|
|
15
|
+
queueMicrotask(() => this.loaderStateSignal.set(LoadingState.LOADING));
|
|
16
|
+
}
|
|
17
|
+
setCompleted() {
|
|
18
|
+
this.requestCount = this.requestCount && this.requestCount - 1;
|
|
19
|
+
if (this.requestCount) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
return this.loaderStateSignal.set(LoadingState.COMPLETED);
|
|
23
|
+
}
|
|
24
|
+
handleCompletedRequest() {
|
|
25
|
+
this.setCompleted();
|
|
26
|
+
clearTimeout(this.resetLoadingStateTimerId);
|
|
27
|
+
this.resetLoadingStateTimerId = setTimeout(() => {
|
|
28
|
+
if (this.requestCount) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this.loaderStateSignal.set(LoadingState.INITIAL);
|
|
32
|
+
}, this.RESET_TO_INITIAL_TIME);
|
|
33
|
+
}
|
|
34
|
+
reset() {
|
|
35
|
+
this.requestCount = 0;
|
|
36
|
+
this.resetLoadingStateTimerId = undefined;
|
|
37
|
+
this.loaderStateSignal.set(LoadingState.INITIAL);
|
|
38
|
+
}
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
40
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, providedIn: 'root' }); }
|
|
41
|
+
}
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, decorators: [{
|
|
43
|
+
type: Injectable,
|
|
44
|
+
args: [{
|
|
45
|
+
providedIn: 'root'
|
|
46
|
+
}]
|
|
47
|
+
}], ctorParameters: () => [] });
|
|
48
|
+
// NEED TO USE LoaderService OUTSIDE ANGULAR INJECTION CONTEXT
|
|
49
|
+
export class AngularOutsideLoaderService {
|
|
50
|
+
static getInstance() {
|
|
51
|
+
if (!this.instance) {
|
|
52
|
+
throw new Error("The instance hasn't been initialized yet");
|
|
53
|
+
}
|
|
54
|
+
return this.instance;
|
|
55
|
+
}
|
|
56
|
+
static setInstance(instance) {
|
|
57
|
+
this.instance = instance;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL2xvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLaEQsTUFBTSxPQUFPLGFBQWE7SUFVeEI7UUFUaUIsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBRTdCLHNCQUFpQixHQUFHLE1BQU0sQ0FBZSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEUsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFHVCxnQkFBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUdoRSwyQkFBMkIsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsNkNBQTZDO1FBQzdDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztRQUUvRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLHNCQUFzQjtRQUMzQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsWUFBWSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzlDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUN0QixPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELENBQUMsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkQsQ0FBQzsrR0EvQ1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7O0FBbURELDhEQUE4RDtBQUM5RCxNQUFNLE9BQU8sMkJBQTJCO0lBRy9CLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBdUI7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUgfSBmcm9tICcuL2xvYWRlci5vcHRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIExvYWRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgUkVTRVRfVE9fSU5JVElBTF9USU1FID0gMTAwMDtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkZXJTdGF0ZVNpZ25hbCA9IHNpZ25hbDxMb2FkaW5nU3RhdGU+KExvYWRpbmdTdGF0ZS5JTklUSUFMKTtcclxuXHJcbiAgcHJpdmF0ZSByZXF1ZXN0Q291bnQgPSAwO1xyXG4gIHByaXZhdGUgcmVzZXRMb2FkaW5nU3RhdGVUaW1lcklkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBsb2FkZXJTdGF0ZSA9IHRoaXMubG9hZGVyU3RhdGVTaWduYWwuYXNSZWFkb25seSgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIEFuZ3VsYXJPdXRzaWRlTG9hZGVyU2VydmljZS5zZXRJbnN0YW5jZSh0aGlzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMb2FkaW5nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1ZXN0Q291bnQrKztcclxuICAgIC8vIG5lZWQgdG8gdXNlIHdpdGhvdXQgcXVldWVNaWNyb3Rhc2sgKGVycm9yKVxyXG4gICAgcXVldWVNaWNyb3Rhc2soKCkgPT4gdGhpcy5sb2FkZXJTdGF0ZVNpZ25hbC5zZXQoTG9hZGluZ1N0YXRlLkxPQURJTkcpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRDb21wbGV0ZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RDb3VudCA9IHRoaXMucmVxdWVzdENvdW50ICYmIHRoaXMucmVxdWVzdENvdW50IC0gMTtcclxuXHJcbiAgICBpZiAodGhpcy5yZXF1ZXN0Q291bnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmxvYWRlclN0YXRlU2lnbmFsLnNldChMb2FkaW5nU3RhdGUuQ09NUExFVEVEKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRDb21wbGV0ZWQoKTtcclxuICAgIGNsZWFyVGltZW91dCh0aGlzLnJlc2V0TG9hZGluZ1N0YXRlVGltZXJJZCk7XHJcblxyXG4gICAgdGhpcy5yZXNldExvYWRpbmdTdGF0ZVRpbWVySWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMucmVxdWVzdENvdW50KSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmxvYWRlclN0YXRlU2lnbmFsLnNldChMb2FkaW5nU3RhdGUuSU5JVElBTCk7XHJcbiAgICB9LCB0aGlzLlJFU0VUX1RPX0lOSVRJQUxfVElNRSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlcXVlc3RDb3VudCA9IDA7XHJcbiAgICB0aGlzLnJlc2V0TG9hZGluZ1N0YXRlVGltZXJJZCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMubG9hZGVyU3RhdGVTaWduYWwuc2V0KExvYWRpbmdTdGF0ZS5JTklUSUFMKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIE5FRUQgVE8gVVNFIExvYWRlclNlcnZpY2UgT1VUU0lERSBBTkdVTEFSIElOSkVDVElPTiBDT05URVhUXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyT3V0c2lkZUxvYWRlclNlcnZpY2Uge1xyXG4gIHByaXZhdGUgc3RhdGljIGluc3RhbmNlOiBMb2FkZXJTZXJ2aWNlO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGdldEluc3RhbmNlKCk6IExvYWRlclNlcnZpY2Uge1xyXG4gICAgaWYgKCF0aGlzLmluc3RhbmNlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSBpbnN0YW5jZSBoYXNuJ3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIHNldEluc3RhbmNlKGluc3RhbmNlOiBMb2FkZXJTZXJ2aWNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmluc3RhbmNlID0gaW5zdGFuY2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ChangeDetectionStrategy, inject, Renderer2, input, model, effect, Directive, InjectionToken, Input, HostBinding, ChangeDetectorRef, ElementRef, ViewChild, EventEmitter, Output, NgModule, Injector, Injectable, SkipSelf, Optional, DestroyRef, NgZone, TemplateRef, ContentChildren, HostListener, Self,
|
|
2
|
+
import { Component, ChangeDetectionStrategy, inject, Renderer2, input, model, effect, Directive, InjectionToken, Input, HostBinding, ChangeDetectorRef, ElementRef, ViewChild, EventEmitter, Output, NgModule, Injector, Injectable, SkipSelf, Optional, DestroyRef, NgZone, signal, TemplateRef, ContentChildren, HostListener, Self, INJECTOR, forwardRef, ViewContainerRef } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule, DOCUMENT, NgForOf, NgIf, NgComponentOutlet } from '@angular/common';
|
|
5
5
|
import * as i1$1 from '@cuby-ui/cdk';
|
|
6
6
|
import { CUI_WINDOW, cuiCreateToken, cuiCreateTokenFromFactory, CuiDestroyService, CuiFilterPipe, CuiLetDirective, CuiPopoverService, cuiProvide, CUI_ANIMATION_FRAME, cuiZonefree, EMPTY_CLIENT_RECT, cuiInjectElement, CUI_LOCAL_STORAGE, CUI_IS_WEBKIT, CuiItemDirective, CuiActiveZone, CuiFocusTrapDirective, cuiGetElementObscures, CUI_IS_MOBILE, CuiHoveredService, cuiPure, cuiPointToClientRect, cuiClamp, cuiPx, cuiIfMap, cuiIsPresent, cuiTypedFromEvent, cuiZonefreeScheduler, cuiZoneOptimized, cuiIsNativeFocused, CuiClickOutsideDirective, CuiTargetDirective, cuiGetClosestFocusable, CuiTime, CuiAutoResizingDirective } from '@cuby-ui/cdk';
|
|
7
7
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
8
8
|
import { cuiIsIcon, CUI_ICONS } from '@cuby-ui/icons';
|
|
9
|
-
import { BehaviorSubject, takeUntil, Observable, merge, distinctUntilChanged, startWith, map, finalize, Subject, switchMap, of, delay, repeat, filter, tap, takeWhile, fromEvent, debounce, timer, skip, take } from 'rxjs';
|
|
9
|
+
import { BehaviorSubject, takeUntil, Observable, merge, distinctUntilChanged, startWith, map, finalize, Subject, switchMap, of, delay, repeat, filter, tap, takeWhile, fromEvent, debounce, timer, skip, take, catchError, throwError } from 'rxjs';
|
|
10
10
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
11
11
|
import { trigger, transition, query, animateChild, style, animate, stagger } from '@angular/animations';
|
|
12
12
|
import * as i2 from '@taiga-ui/polymorpheus';
|
|
@@ -61,10 +61,12 @@ class CuiAccordionDirective {
|
|
|
61
61
|
open(wrapper) {
|
|
62
62
|
this.renderer.setStyle(wrapper, 'visibility', 'hidden');
|
|
63
63
|
this.renderer.setStyle(wrapper, 'height', '0');
|
|
64
|
+
this.renderer.setStyle(wrapper, 'overflow', 'hidden');
|
|
64
65
|
}
|
|
65
66
|
close(wrapper) {
|
|
66
67
|
this.renderer.setStyle(wrapper, 'visibility', 'visible');
|
|
67
68
|
this.renderer.setStyle(wrapper, 'height', '');
|
|
69
|
+
this.renderer.setStyle(wrapper, 'overflow', '');
|
|
68
70
|
}
|
|
69
71
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
72
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: CuiAccordionDirective, isStandalone: true, selector: "[cuiAccordion]", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, host: { listeners: { "click": "onToggle($event)" } }, ngImport: i0 }); }
|
|
@@ -759,6 +761,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
759
761
|
}]
|
|
760
762
|
}], ctorParameters: () => [] });
|
|
761
763
|
|
|
764
|
+
const LoadingState = {
|
|
765
|
+
LOADING: 'loading',
|
|
766
|
+
COMPLETED: 'completed',
|
|
767
|
+
INITIAL: 'initial'
|
|
768
|
+
};
|
|
769
|
+
|
|
770
|
+
class LoaderService {
|
|
771
|
+
constructor() {
|
|
772
|
+
this.RESET_TO_INITIAL_TIME = 1000;
|
|
773
|
+
this.loaderStateSignal = signal(LoadingState.INITIAL);
|
|
774
|
+
this.requestCount = 0;
|
|
775
|
+
this.loaderState = this.loaderStateSignal.asReadonly();
|
|
776
|
+
AngularOutsideLoaderService.setInstance(this);
|
|
777
|
+
}
|
|
778
|
+
setLoading() {
|
|
779
|
+
this.requestCount++;
|
|
780
|
+
// need to use without queueMicrotask (error)
|
|
781
|
+
queueMicrotask(() => this.loaderStateSignal.set(LoadingState.LOADING));
|
|
782
|
+
}
|
|
783
|
+
setCompleted() {
|
|
784
|
+
this.requestCount = this.requestCount && this.requestCount - 1;
|
|
785
|
+
if (this.requestCount) {
|
|
786
|
+
return;
|
|
787
|
+
}
|
|
788
|
+
return this.loaderStateSignal.set(LoadingState.COMPLETED);
|
|
789
|
+
}
|
|
790
|
+
handleCompletedRequest() {
|
|
791
|
+
this.setCompleted();
|
|
792
|
+
clearTimeout(this.resetLoadingStateTimerId);
|
|
793
|
+
this.resetLoadingStateTimerId = setTimeout(() => {
|
|
794
|
+
if (this.requestCount) {
|
|
795
|
+
return;
|
|
796
|
+
}
|
|
797
|
+
this.loaderStateSignal.set(LoadingState.INITIAL);
|
|
798
|
+
}, this.RESET_TO_INITIAL_TIME);
|
|
799
|
+
}
|
|
800
|
+
reset() {
|
|
801
|
+
this.requestCount = 0;
|
|
802
|
+
this.resetLoadingStateTimerId = undefined;
|
|
803
|
+
this.loaderStateSignal.set(LoadingState.INITIAL);
|
|
804
|
+
}
|
|
805
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
806
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, providedIn: 'root' }); }
|
|
807
|
+
}
|
|
808
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoaderService, decorators: [{
|
|
809
|
+
type: Injectable,
|
|
810
|
+
args: [{
|
|
811
|
+
providedIn: 'root'
|
|
812
|
+
}]
|
|
813
|
+
}], ctorParameters: () => [] });
|
|
814
|
+
// NEED TO USE LoaderService OUTSIDE ANGULAR INJECTION CONTEXT
|
|
815
|
+
class AngularOutsideLoaderService {
|
|
816
|
+
static getInstance() {
|
|
817
|
+
if (!this.instance) {
|
|
818
|
+
throw new Error("The instance hasn't been initialized yet");
|
|
819
|
+
}
|
|
820
|
+
return this.instance;
|
|
821
|
+
}
|
|
822
|
+
static setInstance(instance) {
|
|
823
|
+
this.instance = instance;
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
|
|
762
827
|
class CuiVisualViewportService {
|
|
763
828
|
constructor() {
|
|
764
829
|
this.isWebkit = inject(CUI_IS_WEBKIT);
|
|
@@ -3785,9 +3850,18 @@ const cuiXNdjsonInterceptor = (request, next) => {
|
|
|
3785
3850
|
});
|
|
3786
3851
|
};
|
|
3787
3852
|
|
|
3853
|
+
const cuiLoaderInterceptor = (request, next) => {
|
|
3854
|
+
const loaderService = inject(LoaderService);
|
|
3855
|
+
if (request.method === 'GET') {
|
|
3856
|
+
return next(request);
|
|
3857
|
+
}
|
|
3858
|
+
loaderService.setLoading();
|
|
3859
|
+
return next(request).pipe(catchError(throwError), finalize(loaderService.handleCompletedRequest.bind(loaderService)));
|
|
3860
|
+
};
|
|
3861
|
+
|
|
3788
3862
|
/**
|
|
3789
3863
|
* Generated bundle index. Do not edit.
|
|
3790
3864
|
*/
|
|
3791
3865
|
|
|
3792
|
-
export { CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, 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_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_ROOT_SELECTOR, CUI_TAB_ACTIVATE, 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, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCheckboxComponent, CuiCheckboxModule, CuiContextMenuComponent, CuiContextMenuModule, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiFormFieldComponent, CuiFormFieldModule, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiLabelComponent, CuiLabelModule, CuiLetterBoxComponent, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModule, CuiSvgComponent, CuiSvgModule, CuiTabComponent, CuiTabsComponent, CuiTabsModule, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiVisualViewportService, cuiGetDuration, cuiIsObscured, cuiOverrideOptions, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor };
|
|
3866
|
+
export { AngularOutsideLoaderService, CUI_ALERTS, CUI_ALERT_CONTEXT, CUI_ALERT_DEFAULT_OPTIONS, CUI_ALERT_OPTIONS, CUI_ANIMATIONS_DEFAULT_DURATION, 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_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_ROOT_SELECTOR, CUI_TAB_ACTIVATE, 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, CuiAccordionComponent, CuiAccordionDirective, CuiAccordionItemComponent, CuiAccordionModule, CuiAlertComponent, CuiAlertModule, CuiAlertService, CuiAlertsComponent, CuiBadgeComponent, CuiBadgeModule, CuiBannerComponent, CuiBannerModule, CuiBreadcrumbComponent, CuiBreadcrumbsComponent, CuiBreadcrumbsModule, CuiButtonComponent, CuiButtonGroupComponent, CuiButtonGroupModule, CuiButtonModule, CuiCheckboxComponent, CuiCheckboxModule, CuiContextMenuComponent, CuiContextMenuModule, CuiDialogActionsComponent, CuiDialogComponent, CuiDialogHeaderComponent, CuiDialogModule, CuiDialogService, CuiDialogsComponent, CuiDropdownDirective, CuiDropdownWrapperComponent, CuiFormFieldComponent, CuiFormFieldModule, CuiHintComponent, CuiHintModule, CuiIconButtonComponent, CuiIconButtonModule, CuiInputModule, CuiInputNumberComponent, CuiInputNumberModule, CuiInputPasswordComponent, CuiInputPasswordModule, CuiInputTextComponent, CuiInputTimeComponent, CuiInputTimeModule, CuiLabelComponent, CuiLabelModule, CuiLetterBoxComponent, CuiNotificationComponent, CuiNotificationModule, CuiPositionService, CuiRadioComponent, CuiRadioModule, CuiRenderDynamicComponentsComponent, CuiRenderDynamicComponentsService, CuiRootComponent, CuiRootModule, CuiSelectComponent, CuiSelectModule, CuiSvgComponent, CuiSvgModule, CuiTabComponent, CuiTabsComponent, CuiTabsModule, CuiTextFieldController, CuiTextFieldControllerModule, CuiTextFieldIconLeftDirective, CuiTextFieldIdDirective, CuiTextFieldIsErrorDirective, CuiTextFieldPlaceholderDirective, CuiTextFieldSizeDirective, CuiTextareaComponent, CuiTextareaModule, CuiThemeService, CuiToggleComponent, CuiToggleModule, CuiTooltip, CuiTooltipComponent, CuiTooltipDescribe, CuiTooltipDirective, CuiTooltipDriver, CuiTooltipHost, CuiTooltipHover, CuiTooltipManual, CuiTooltipOptionsDirective, CuiTooltipOverflow, CuiTooltipPointer, CuiTooltipPosition, CuiTooltipService, CuiTooltipUnstyled, CuiTooltipUnstyledComponent, CuiTooltips, CuiVisualViewportService, LoaderService, LoadingState, cuiGetDuration, cuiIsObscured, cuiLoaderInterceptor, cuiOverrideOptions, cuiRemoveSpaces, cuiReplace, cuiToAnimationOptions, cuiTooltipOptionsProvider, cuiXNdjsonInterceptor };
|
|
3793
3867
|
//# sourceMappingURL=cuby-ui-core.mjs.map
|