{"version":3,"file":"seniorsistemas-angular-components-loading-state.mjs","sources":["../../projects/angular-components/loading-state/src/lib/loading-state/components/dots-indicator/dots-indicator.components.ts","../../projects/angular-components/loading-state/src/lib/loading-state/components/dots-indicator/dots-indicator.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/components/logo-indicator/logo-indicator.component.ts","../../projects/angular-components/loading-state/src/lib/loading-state/components/logo-indicator/logo-indicator.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/components/loading-state-indicators.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.component.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.component.html","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.directive.ts","../../projects/angular-components/loading-state/src/lib/loading-state/loading-state.module.ts","../../projects/angular-components/loading-state/src/seniorsistemas-angular-components-loading-state.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n    selector: 's-dots-indicator',\n    templateUrl: './dots-indicator.component.html',\n    styleUrls: ['./dots-indicator.component.scss'],\n})\nexport class DotsIndicatorComponent {}\n","<div class=\"dots-indicator\">\n    <div class=\"bounce bounce--1\"></div>\n    <div class=\"bounce bounce--2\"></div>\n    <div class=\"bounce bounce--3\"></div>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n    selector: 's-logo-indicator',\n    templateUrl: './logo-indicator.component.html',\n    styleUrls: ['./logo-indicator.component.scss'],\n})\nexport class LoadingIndicatorComponent {}\n","<div class=\"logo-indicator\">\n    <span *sSVGFactory=\"'senior'\"></span>\n</div>\n","export enum LoadingStateIndicators {\n    Dots = 'dots',\n    Logo = 'logo',\n}\n","import { Component, Input, OnDestroy, TemplateRef } from '@angular/core';\n\nimport { LoadingStateIndicators } from './components/loading-state-indicators';\n\n/**\n * @description Componente de estado de carregamento que exibe um indicador animado enquanto\n * um processo assíncrono está em andamento. Suporta bloqueio da janela inteira\n * e diferentes tipos de indicadores visuais.\n * Também pode ser usado como diretiva estrutural `[sLoadingState]`.\n *\n * @example\n * ```html\n * <s-loading-state [loading]=\"isLoading\" [blockWindow]=\"true\">\n *   <p>Conteúdo carregado!</p>\n * </s-loading-state>\n * ```\n *\n * @category Feedback\n */\n@Component({\n    selector: 's-loading-state',\n    templateUrl: './loading-state.component.html',\n    styleUrls: ['./loading-state.component.scss'],\n})\nexport class LoadingStateComponent implements OnDestroy {\n    public static nextId = 0;\n\n    /**\n     * @description Tipo de indicador visual exibido durante o carregamento.\n     * - `LoadingStateIndicators.Dots`: indicador de pontos animados (padrão).\n     * - `LoadingStateIndicators.Logo`: indicador com logotipo animado.\n     *\n     * @default LoadingStateIndicators.Dots\n     */\n    @Input()\n    public indicator: LoadingStateIndicators = LoadingStateIndicators.Dots;\n\n    /**\n     * @description Identificador único do componente. Gerado automaticamente se não informado.\n     */\n    @Input()\n    public id = `s-loading-state-${LoadingStateComponent.nextId++}`;\n\n    /**\n     * @description Quando `true`, bloqueia a janela inteira durante o carregamento,\n     * sobrepondo todo o conteúdo da página com o indicador.\n     *\n     * @default false\n     */\n    @Input()\n    public blockWindow = false;\n\n    /**\n     * @description Controla o estado de carregamento do componente. Campo obrigatório.\n     * Quando `true`, exibe o indicador de carregamento após um breve delay.\n     * Quando `false`, remove o indicador após um breve delay (evita flash).\n     */\n    @Input({ required: true })\n    public set loading(loading: boolean) {\n        this._loading = loading;\n        loading ? this.block() : this.unblock();\n    }\n\n    public get loading() {\n        return this._loading;\n    }\n\n    public contents: TemplateRef<any> | null = null;\n    public blocking = false;\n\n    private _loading = false;\n    private BLOCK_TIMEOUT_VALUE = 300;\n    private UNBLOCK_TIMEOUT_VALUE = 200;\n    private blockTimeoutId: any;\n    private unblockTimeoutId: any;\n\n    public ngOnDestroy(): void {\n        if (this.blockTimeoutId) {\n            clearTimeout(this.blockTimeoutId);\n        }\n\n        if (this.unblockTimeoutId) {\n            clearTimeout(this.unblockTimeoutId);\n        }\n    }\n\n    public block(): void {\n        if (this.unblockTimeoutId) {\n            clearTimeout(this.unblockTimeoutId);\n            this.unblockTimeoutId = undefined;\n        }\n\n        if (!this.blockTimeoutId) {\n            this.blockTimeoutId = setTimeout(() => {\n                this.blocking = true;\n                this.blockTimeoutId = undefined;\n            }, this.BLOCK_TIMEOUT_VALUE);\n        }\n    }\n\n    public unblock(): void {\n        if (this.blockTimeoutId) {\n            clearTimeout(this.blockTimeoutId);\n            this.blockTimeoutId = undefined;\n        }\n\n        if (!this.unblockTimeoutId) {\n            this.unblockTimeoutId = setTimeout(() => {\n                this.blocking = false;\n                this.unblockTimeoutId = undefined;\n            }, this.UNBLOCK_TIMEOUT_VALUE);\n        }\n    }\n}\n\n","<div\n    [id]=\"id\"\n    class=\"s-loading-state\"\n    [ngClass]=\"{\n        's-loading-state--loading': loading,\n        's-loading-state--blocking': blocking,\n        's-loading-state--fullscreen': blockWindow\n    }\"\n>\n    <div\n        [id]=\"id + '-loader'\"\n        class=\"loader\"\n    >\n        <div\n            [id]=\"id + '-spinner'\"\n            class=\"spinner\"\n        >\n            @switch (indicator) {\n                @case ('logo') {\n                    <s-logo-indicator></s-logo-indicator>\n                }\n                @case ('dots') {\n                    <s-dots-indicator></s-dots-indicator>\n                }\n            }\n        </div>\n        <div\n            [id]=\"id + '-overlay'\"\n            class=\"overlay\"\n        ></div>\n    </div>\n    <div\n        [id]=\"id + '-contents'\"\n        class=\"state-contents\"\n    >\n        <ng-container *ngTemplateOutlet=\"contents || originalContent\"></ng-container>\n        <ng-template #originalContent>\n            <ng-content></ng-content>\n        </ng-template>\n    </div>\n</div>\n","import { AfterViewInit, ChangeDetectorRef, \n// NOSONAR - 'ComponentFactoryResolver' is deprecated.\nComponentFactoryResolver, ComponentRef, Directive, Input, OnDestroy, TemplateRef, ViewContainerRef, inject } from '@angular/core';\n\nimport { LoadingStateComponent } from './loading-state.component';\nimport { LoadingStateIndicators } from './components/loading-state-indicators';\n\n/**\n * @description Diretiva estrutural que envolve o conteúdo da view com um indicador de carregamento.\n * É uma alternativa inline ao `LoadingStateComponent`, podendo ser aplicada diretamente\n * em containers existentes sem a necessidade de criar um wrapper explícito no template.\n *\n * @example\n * ```html\n * <!-- Forma simples (boolean) -->\n * <div *sLoadingState=\"isLoading\">Conteúdo</div>\n *\n * <!-- Forma com configuração -->\n * <div *sLoadingState=\"{ loading: isLoading, indicator: 'logo' }\">Conteúdo</div>\n * ```\n *\n * @category Feedback\n */\n@Directive({\n    selector: '[sLoadingState]',\n})\nexport class LoadingStateDirective implements AfterViewInit, OnDestroy {\n    private readonly target = inject(ViewContainerRef);\n    private readonly template = inject<TemplateRef<any>>(TemplateRef);\n    private readonly componentFactoryResolver = inject(ComponentFactoryResolver);\n    private readonly cdr = inject(ChangeDetectorRef);\n\n    /**\n     * @description Controla o estado de carregamento da diretiva.\n     * Aceita:\n     * - `boolean`: ativa/desativa o carregamento com o indicador padrão (`dots`).\n     * - `{ loading: boolean; indicator?: LoadingStateIndicators }`: permite configurar\n     *   o tipo de indicador junto com o estado de carregamento.\n     */\n    @Input()\n    public set sLoadingState(value: boolean | { loading: boolean; indicator?: LoadingStateIndicators }) {\n        if (typeof value === 'boolean') {\n            this._loading = value;\n            this.indicator = LoadingStateIndicators.Dots;\n        } else if (typeof value === 'object') {\n            this._loading = value.loading;\n            this.indicator = value.indicator ?? LoadingStateIndicators.Dots;\n        }\n\n        if (this.loaderComponent) {\n            this.loaderComponent.instance.loading = this._loading;\n            this.loaderComponent.instance.indicator = this.indicator;\n        }\n    }\n\n    private _loading = false;\n    private indicator = LoadingStateIndicators.Dots;\n    private loaderComponent: ComponentRef<LoadingStateComponent> | null = null;\n\n    public ngAfterViewInit() {\n        this.createComponent();\n    }\n\n    private createComponent() {\n        const factory = this.componentFactoryResolver.resolveComponentFactory(LoadingStateComponent);\n        this.loaderComponent = this.target.createComponent(factory);\n        this.loaderComponent.instance.contents = this.template;\n        this.loaderComponent.instance.loading = this._loading;\n        this.loaderComponent.instance.indicator = this.indicator;\n        this.cdr.detectChanges();\n    }\n\n    public ngOnDestroy() {\n        if (this.loaderComponent) {\n            this.loaderComponent.destroy();\n        }\n    }\n}\n\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DotsIndicatorComponent } from './components/dots-indicator/dots-indicator.components';\nimport { LoadingIndicatorComponent } from './components/logo-indicator/logo-indicator.component';\nimport { LoadingStateComponent } from './loading-state.component';\nimport { LoadingStateDirective } from './loading-state.directive';\nimport { SVGFactoryModule } from '@seniorsistemas/angular-components/common';\n\n@NgModule({\n    imports: [CommonModule, SVGFactoryModule],\n    declarations: [\n        LoadingStateComponent,\n        LoadingStateDirective,\n        DotsIndicatorComponent,\n        LoadingIndicatorComponent,\n    ],\n    exports: [LoadingStateComponent, LoadingStateDirective],\n})\nexport class LoadingStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.DotsIndicatorComponent","i3.LoadingIndicatorComponent"],"mappings":"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"}