{"version":3,"file":"koobiq-components-loader-overlay.mjs","sources":["../../../packages/components/loader-overlay/loader-overlay.component.ts","../../../packages/components/loader-overlay/loader-overlay.component.html","../../../packages/components/loader-overlay/loader-overlay.module.ts","../../../packages/components/loader-overlay/koobiq-components-loader-overlay.ts"],"sourcesContent":["import {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    ContentChild,\n    Directive,\n    ElementRef,\n    Input,\n    OnDestroy,\n    OnInit,\n    Renderer2,\n    ViewEncapsulation\n} from '@angular/core';\nimport { KbqDefaultSizes } from '@koobiq/components/core';\nimport { KbqProgressSpinner } from '@koobiq/components/progress-spinner';\n\nconst kbqLoaderOverlayParent = 'kbq-loader-overlay_parent';\n\n@Directive({\n    selector: '[kbq-loader-overlay-indicator]',\n    host: {\n        class: 'kbq-loader-overlay-indicator'\n    }\n})\nexport class KbqLoaderOverlayIndicator {}\n\n@Directive({\n    selector: '[kbq-loader-overlay-text]',\n    host: {\n        class: 'kbq-loader-overlay-text'\n    }\n})\nexport class KbqLoaderOverlayText {}\n\n@Directive({\n    selector: '[kbq-loader-overlay-caption]',\n    host: {\n        class: 'kbq-loader-overlay-caption'\n    }\n})\nexport class KbqLoaderOverlayCaption {}\n\n@Component({\n    selector: 'kbq-loader-overlay',\n    imports: [KbqProgressSpinner],\n    templateUrl: './loader-overlay.component.html',\n    styleUrls: ['./loader-overlay.scss', 'loader-overlay-tokens.scss'],\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    host: {\n        class: 'kbq-loader-overlay',\n        '[class]': 'loaderSizeClass',\n        '[class.kbq-loader-overlay_empty]': 'isEmpty',\n        '[class.kbq-loader-overlay_transparent]': 'transparent',\n        '[class.kbq-loader-overlay_filled]': '!transparent',\n        '[class.kbq-loader-overlay_card]': 'card'\n    }\n})\nexport class KbqLoaderOverlay implements OnInit, OnDestroy {\n    @Input() text: string;\n\n    @Input() caption: string;\n    @Input() size: KbqDefaultSizes = 'big';\n    @Input() transparent: boolean = true;\n    /**\n     * Uses a semi-transparent background to blend\n     * with the underlying card or modal surface. When enabled, overrides `transparent`.\n     */\n    @Input({ transform: booleanAttribute }) card: boolean = false;\n\n    private parent: HTMLElement | null = null;\n\n    get isExternalIndicator(): boolean {\n        return !!this.externalIndicator;\n    }\n\n    get isExternalText(): boolean {\n        return !!this.externalText;\n    }\n\n    get isExternalCaption(): boolean {\n        return !!this.externalCaption;\n    }\n\n    get isEmpty(): boolean {\n        return !(!!this.text || this.isExternalText || !!this.caption || this.isExternalCaption);\n    }\n\n    get spinnerSize(): string {\n        return this.size === 'compact' ? 'compact' : 'big';\n    }\n\n    /**\n     * @docs-private\n     */\n    protected get loaderSizeClass(): string {\n        return `kbq-loader-overlay_${this.size}`;\n    }\n\n    @ContentChild(KbqLoaderOverlayIndicator) externalIndicator: KbqLoaderOverlayIndicator | null;\n    @ContentChild(KbqLoaderOverlayText) externalText: KbqLoaderOverlayText | null;\n    @ContentChild(KbqLoaderOverlayCaption) externalCaption: KbqLoaderOverlayCaption | null;\n\n    constructor(\n        private elementRef: ElementRef<HTMLElement>,\n        private renderer: Renderer2\n    ) {}\n\n    ngOnInit(): void {\n        this.parent = this.elementRef.nativeElement.parentElement;\n\n        this.renderer.addClass(this.parent, kbqLoaderOverlayParent);\n    }\n\n    ngOnDestroy(): void {\n        this.renderer.removeClass(this.parent, kbqLoaderOverlayParent);\n    }\n}\n","<div class=\"kbq-loader-overlay__container\">\n    @if (isExternalIndicator) {\n        <ng-content select=\"[kbq-loader-overlay-indicator]\" />\n    } @else {\n        <kbq-progress-spinner [mode]=\"'indeterminate'\" [size]=\"spinnerSize\" />\n    }\n\n    @if (isExternalText) {\n        <ng-content select=\"[kbq-loader-overlay-text]\" />\n    } @else {\n        @if (text) {\n            <div class=\"kbq-loader-overlay-text\">\n                {{ text }}\n            </div>\n        }\n    }\n\n    @if (isExternalCaption) {\n        <ng-content select=\"[kbq-loader-overlay-caption]\" />\n    } @else {\n        @if (caption) {\n            <div class=\"kbq-loader-overlay-caption\">\n                {{ caption }}\n            </div>\n        }\n    }\n</div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { NgModule } from '@angular/core';\nimport { KbqProgressSpinnerModule } from '@koobiq/components/progress-spinner';\nimport {\n    KbqLoaderOverlay,\n    KbqLoaderOverlayCaption,\n    KbqLoaderOverlayIndicator,\n    KbqLoaderOverlayText\n} from './loader-overlay.component';\n\n@NgModule({\n    imports: [\n        A11yModule,\n        PlatformModule,\n        KbqProgressSpinnerModule,\n        KbqLoaderOverlay,\n        KbqLoaderOverlayIndicator,\n        KbqLoaderOverlayText,\n        KbqLoaderOverlayCaption\n    ],\n    exports: [\n        KbqLoaderOverlay,\n        KbqLoaderOverlayIndicator,\n        KbqLoaderOverlayText,\n        KbqLoaderOverlayCaption\n    ]\n})\nexport class KbqLoaderOverlayModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}