@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.
@@ -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: "action" | "secondary" | "outlined" | "outlined-gray" | "ghost" | "flat" | "destructive" | "link";
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<"default" | "light", CuiNotificationIconOptions>;
7
+ protected readonly ICON_OPTIONS: Record<"light" | "default", CuiNotificationIconOptions>;
8
8
  protected iconOptions: CuiNotificationIconOptions;
9
9
  status: import("@cuby-ui/core").CuiStatus;
10
- mode: "default" | "light";
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 | typeof CuiPositionService | typeof CuiHoveredService)[];
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU25GLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEM7UUFQaUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUk5QixZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHbkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFZO1FBQzdCLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRS9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVqRCxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWpELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxJQUFJLENBQUMsT0FBb0I7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxLQUFLLENBQUMsT0FBb0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7K0dBbkRVLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQVBqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLGtCQUFrQjtxQkFDOUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgbW9kZWwsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY3VpQWNjb3JkaW9uXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBob3N0OiB7XHJcbiAgICAnKGNsaWNrKSc6ICdvblRvZ2dsZSgkZXZlbnQpJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aUFjY29yZGlvbkRpcmVjdGl2ZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG5cclxuICBwcml2YXRlIHdyYXBwZXIhOiBIVE1MRWxlbWVudDtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnQgPSBpbnB1dC5yZXF1aXJlZDxIVE1MRWxlbWVudD4oKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaXNPcGVuID0gbW9kZWwodHJ1ZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5pbml0V3JhcHBlckVmZmVjdCgpO1xyXG4gICAgdGhpcy5pbml0T3BlbkNoYW5nZXNFZmZlY3QoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvblRvZ2dsZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzT3Blbi51cGRhdGUoKHByZXYpID0+ICFwcmV2KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFdyYXBwZXJFZmZlY3QoKTogdm9pZCB7XHJcbiAgICBjb25zdCBlZmZlY3RSZWYgPSBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBjb250ZW50ID0gdGhpcy5jb250ZW50KCk7XHJcblxyXG4gICAgICB0aGlzLndyYXBwZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xyXG5cclxuICAgICAgY29udGVudC5hZnRlcih0aGlzLndyYXBwZXIpO1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMud3JhcHBlciwgY29udGVudCk7XHJcblxyXG4gICAgICBlZmZlY3RSZWYuZGVzdHJveSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRPcGVuQ2hhbmdlc0VmZmVjdCgpOiB2b2lkIHtcclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuaXNPcGVuKCk7XHJcbiAgICAgIGNvbnN0IGRvQWN0aW9uID0gaXNPcGVuID8gdGhpcy5jbG9zZSA6IHRoaXMub3BlbjtcclxuXHJcbiAgICAgIGRvQWN0aW9uLmNhbGwodGhpcywgdGhpcy53cmFwcGVyKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvcGVuKHdyYXBwZXI6IEhUTUxFbGVtZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3cmFwcGVyLCAnaGVpZ2h0JywgJzAnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2Uod3JhcHBlcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ3Zpc2liaWxpdHknLCAndmlzaWJsZScpO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3cmFwcGVyLCAnaGVpZ2h0JywgJycpO1xyXG4gIH1cclxufVxyXG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9hY2NvcmRpb24vYWNjb3JkaW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBU25GLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEM7UUFQaUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUk5QixZQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO1FBQ3hDLFdBQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHbkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFZO1FBQzdCLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRS9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVqRCxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWpELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxJQUFJLENBQUMsT0FBb0I7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFvQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQXJEVSxxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFQakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxrQkFBa0I7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG1vZGVsLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2N1aUFjY29yZGlvbl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaG9zdDoge1xyXG4gICAgJyhjbGljayknOiAnb25Ub2dnbGUoJGV2ZW50KSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlBY2NvcmRpb25EaXJlY3RpdmUge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuXHJcbiAgcHJpdmF0ZSB3cmFwcGVyITogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50ID0gaW5wdXQucmVxdWlyZWQ8SFRNTEVsZW1lbnQ+KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGlzT3BlbiA9IG1vZGVsKHRydWUpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMuaW5pdFdyYXBwZXJFZmZlY3QoKTtcclxuICAgIHRoaXMuaW5pdE9wZW5DaGFuZ2VzRWZmZWN0KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb25Ub2dnbGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc09wZW4udXBkYXRlKChwcmV2KSA9PiAhcHJldik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRXcmFwcGVyRWZmZWN0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWZmZWN0UmVmID0gZWZmZWN0KCgpID0+IHtcclxuICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudCgpO1xyXG5cclxuICAgICAgdGhpcy53cmFwcGVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuXHJcbiAgICAgIGNvbnRlbnQuYWZ0ZXIodGhpcy53cmFwcGVyKTtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIsIGNvbnRlbnQpO1xyXG5cclxuICAgICAgZWZmZWN0UmVmLmRlc3Ryb3koKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0T3BlbkNoYW5nZXNFZmZlY3QoKTogdm9pZCB7XHJcbiAgICBlZmZlY3QoKCkgPT4ge1xyXG4gICAgICBjb25zdCBpc09wZW4gPSB0aGlzLmlzT3BlbigpO1xyXG4gICAgICBjb25zdCBkb0FjdGlvbiA9IGlzT3BlbiA/IHRoaXMuY2xvc2UgOiB0aGlzLm9wZW47XHJcblxyXG4gICAgICBkb0FjdGlvbi5jYWxsKHRoaXMsIHRoaXMud3JhcHBlcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb3Blbih3cmFwcGVyOiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3cmFwcGVyLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUod3JhcHBlciwgJ2hlaWdodCcsICcwJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdvdmVyZmxvdycsICdoaWRkZW4nKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZSh3cmFwcGVyOiBIVE1MRWxlbWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh3cmFwcGVyLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdoZWlnaHQnLCAnJyk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHdyYXBwZXIsICdvdmVyZmxvdycsICcnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,3 @@
1
1
  export { cuiXNdjsonInterceptor } from './x-ndjson.interceptor';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2ludGVyY2VwdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGN1aVhOZGpzb25JbnRlcmNlcHRvciB9IGZyb20gJy4veC1uZGpzb24uaW50ZXJjZXB0b3InO1xyXG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Bvc2l0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLm9wdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Zpc3VhbC12aWV3cG9ydC5zZXJ2aWNlJzsiXX0=
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, signal, INJECTOR, forwardRef, ViewContainerRef } 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, 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