{"version":3,"file":"seniorsistemas-angular-components-empty-state.mjs","sources":["../../projects/angular-components/empty-state/src/lib/empty-state/empty-state.component.ts","../../projects/angular-components/empty-state/src/lib/empty-state/empty-state.component.html","../../projects/angular-components/empty-state/src/lib/empty-state/go-back/go-back.component.ts","../../projects/angular-components/empty-state/src/lib/empty-state/go-back/go-back.component.html","../../projects/angular-components/empty-state/src/lib/empty-state/empty-state.module.ts","../../projects/angular-components/empty-state/src/seniorsistemas-angular-components-empty-state.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { TieredMenuItemData } from '@seniorsistemas/angular-components/tiered-menu';\n\n/**\n * @description Componente de estado vazio exibido quando não há conteúdo para mostrar.\n * Apresenta um ícone, título, descrição e até duas ações configuráveis\n * (primária com suporte a tiered menu e secundária simples).\n *\n * @example\n * ```html\n * <s-empty-state\n *   title=\"Nenhum resultado encontrado\"\n *   description=\"Tente ajustar os filtros da busca.\"\n *   primaryActionLabel=\"Criar novo\"\n *   (primaryAction)=\"onCreate()\"\n * />\n * ```\n *\n * @category Feedback\n */\n@Component({\n    selector: 's-empty-state',\n    templateUrl: './empty-state.component.html',\n    styleUrls: ['./empty-state.component.scss'],\n})\nexport class EmptyStateComponent {\n    public static readonly nextIdSeed = 0;\n    private static _nextId = EmptyStateComponent.nextIdSeed;\n\n    public static getNextId(): number {\n        return this._nextId++;\n    }\n\n    /**\n     * @description Identificador único do componente. Gerado automaticamente se não informado.\n     */\n    @Input()\n    public id = `s-empty-state-${EmptyStateComponent.getNextId()}`;\n\n    /**\n     * @description Título principal exibido no estado vazio. Campo obrigatório.\n     */\n    @Input({ required: true })\n    public title!: string;\n\n    /**\n     * @description Classe CSS do ícone exibido no estado vazio.\n     * Aceita classes de bibliotecas de ícones como Font Awesome.\n     *\n     * @default 'fa fa-inbox'\n     */\n    @Input()\n    public iconClass = 'fa fa-inbox';\n\n    /**\n     * @description Texto descritivo exibido abaixo do título, explicando o motivo do estado vazio\n     * ou orientando o usuário sobre as próximas ações.\n     */\n    @Input()\n    public description?: string;\n\n    /**\n     * @description Controla a visibilidade do botão de ação primária.\n     *\n     * @default true\n     */\n    @Input()\n    public showPrimaryAction = true;\n\n    /**\n     * @description Controla a visibilidade do botão de ação secundária.\n     *\n     * @default true\n     */\n    @Input()\n    public showSecondaryAction = true;\n\n    /**\n     * @description Texto do botão de ação primária.\n     * Quando `primaryModel` possui itens, o botão exibe um tiered menu ao clicar.\n     */\n    @Input()\n    public primaryActionLabel?: string;\n\n    /** @description Texto do botão de ação secundária. */\n    @Input()\n    public secondaryActionLabel?: string;\n\n    /**\n     * @description Lista de itens para o tiered menu da ação primária.\n     * Quando informado com itens, o botão primário exibe um menu de opções\n     * ao invés de emitir o evento `primaryAction` diretamente.\n     */\n    @Input()\n    public primaryModel: TieredMenuItemData[] = [];\n\n    /**\n     * @description Emitido quando o usuário clica no botão de ação primária e `primaryModel` está vazio.\n     */\n    @Output()\n    public primaryAction = new EventEmitter<void>();\n\n    /**\n     * @description Emitido quando o usuário clica no botão de ação secundária.\n     */\n    @Output()\n    public secondaryAction = new EventEmitter<void>();\n}\n\n","<div\n    [id]=\"id\"\n    class=\"empty-state\"\n>\n    <div\n        [id]=\"id + '-icon'\"\n        class=\"icon\"\n    >\n        <i\n            [attr.class]=\"iconClass ? iconClass : 'fa fa-cogs'\"\n            aria-hidden=\"true\"\n        ></i>\n    </div>\n    <div\n        [id]=\"id + '-title'\"\n        class=\"title\"\n    >\n        {{ title }}\n    </div>\n\n    @if (description) {\n        <div\n            [id]=\"id + '-description'\"\n            class=\"description\"\n        >\n            <p>{{ description }}</p>\n        </div>\n    }\n    @if (showPrimaryAction && primaryActionLabel) {\n        <div\n            [id]=\"id + '-actions'\"\n            class=\"actions\"\n        >\n            <s-button\n                [id]=\"id + '-primary-action'\"\n                type=\"button\"\n                [label]=\"primaryActionLabel\"\n                [menuOptions]=\"primaryModel\"\n                (clicked)=\"primaryAction.next()\"\n            ></s-button>\n            @if (showSecondaryAction && secondaryActionLabel) {\n                <s-button\n                    [id]=\"id + '-secondary-action'\"\n                    id=\"secondaryAction\"\n                    type=\"button\"\n                    [label]=\"secondaryActionLabel\"\n                    priority=\"link\"\n                    (clicked)=\"secondaryAction.next()\"\n                ></s-button>\n            }\n        </div>\n    }\n</div>\n","import { Component, Input, inject } from '@angular/core';\n\nimport { CookieService } from 'ngx-cookie-service';\n\n@Component({\n    selector: 's-empty-state-go-back',\n    templateUrl: './go-back.component.html',\n    styleUrls: [],\n})\nexport class EmptyStateGoBackComponent {\n    private readonly _cookieService = inject(CookieService);\n\n    @Input()\n    public iconClass = 'fa fa-exclamation-triangle';\n\n    @Input({ required: true })\n    public title!: string;\n\n    @Input()\n    public description?: string;\n\n    @Input()\n    public primaryActionLabel?: string;\n\n    public goBack() {\n        const portalUrl = this._cookieService.get('com.senior.portal.url');\n        window.open(portalUrl, '_top');\n    }\n}\n","<s-empty-state \n    [iconClass]=\"iconClass\" \n    [title]=\"title\" \n    [description]=\"description\" \n    (primaryAction)=\"goBack()\"\n    [primaryActionLabel]=\"primaryActionLabel\">\n</s-empty-state>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { CookieService } from 'ngx-cookie-service';\n\nimport { EmptyStateComponent } from './empty-state.component';\nimport { EmptyStateGoBackComponent } from './go-back/go-back.component';\nimport { ButtonModule } from '@seniorsistemas/angular-components/button';\n\n@NgModule({\n    imports: [CommonModule, ButtonModule],\n    providers: [CookieService],\n    declarations: [EmptyStateComponent, EmptyStateGoBackComponent],\n    exports: [EmptyStateComponent, EmptyStateGoBackComponent],\n})\nexport class EmptyStateModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.EmptyStateComponent"],"mappings":";;;;;;;AAGA;;;;;;;;;;;;;;;;AAgBG;MAMU,mBAAmB,CAAA;AACrB,IAAA,OAAgB,UAAU,GAAG,CAAC,CAAC;AAC9B,IAAA,OAAO,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC;AAEjD,IAAA,OAAO,SAAS,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;KACzB;AAED;;AAEG;AAEI,IAAA,EAAE,GAAG,CAAiB,cAAA,EAAA,mBAAmB,CAAC,SAAS,EAAE,EAAE,CAAC;AAE/D;;AAEG;AAEI,IAAA,KAAK,CAAU;AAEtB;;;;;AAKG;IAEI,SAAS,GAAG,aAAa,CAAC;AAEjC;;;AAGG;AAEI,IAAA,WAAW,CAAU;AAE5B;;;;AAIG;IAEI,iBAAiB,GAAG,IAAI,CAAC;AAEhC;;;;AAIG;IAEI,mBAAmB,GAAG,IAAI,CAAC;AAElC;;;AAGG;AAEI,IAAA,kBAAkB,CAAU;;AAI5B,IAAA,oBAAoB,CAAU;AAErC;;;;AAIG;IAEI,YAAY,GAAyB,EAAE,CAAC;AAE/C;;AAEG;AAEI,IAAA,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEhD;;AAEG;AAEI,IAAA,eAAe,GAAG,IAAI,YAAY,EAAQ,CAAC;wGAjFzC,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,0aCzBhC,q6CAqDA,EAAA,MAAA,EAAA,CAAA,wXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,WAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD5Ba,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACI,eAAe,EAAA,QAAA,EAAA,q6CAAA,EAAA,MAAA,EAAA,CAAA,wXAAA,CAAA,EAAA,CAAA;8BAgBlB,EAAE,EAAA,CAAA;sBADR,KAAK;gBAOC,KAAK,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAUlB,SAAS,EAAA,CAAA;sBADf,KAAK;gBAQC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBASC,iBAAiB,EAAA,CAAA;sBADvB,KAAK;gBASC,mBAAmB,EAAA,CAAA;sBADzB,KAAK;gBAQC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;gBAKC,oBAAoB,EAAA,CAAA;sBAD1B,KAAK;gBASC,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAOC,aAAa,EAAA,CAAA;sBADnB,MAAM;gBAOA,eAAe,EAAA,CAAA;sBADrB,MAAM;;;MEhGE,yBAAyB,CAAA;AACjB,IAAA,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAGjD,SAAS,GAAG,4BAA4B,CAAC;AAGzC,IAAA,KAAK,CAAU;AAGf,IAAA,WAAW,CAAU;AAGrB,IAAA,kBAAkB,CAAU;IAE5B,MAAM,GAAA;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACnE,QAAA,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;KAClC;wGAlBQ,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,uLCTtC,mNAMgB,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,mBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGH,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACI,uBAAuB,EAAA,QAAA,EAAA,mNAAA,EAAA,CAAA;8BAQ1B,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,KAAK,EAAA,CAAA;sBADX,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;gBAIlB,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAIC,kBAAkB,EAAA,CAAA;sBADxB,KAAK;;;MENG,gBAAgB,CAAA;wGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHV,mBAAmB,EAAE,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAFnD,YAAY,EAAE,YAAY,CAAA,EAAA,OAAA,EAAA,CAG1B,mBAAmB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA;AAE/C,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,aAJd,CAAC,aAAa,CAAC,EADhB,OAAA,EAAA,CAAA,YAAY,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAK3B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;oBACrC,SAAS,EAAE,CAAC,aAAa,CAAC;AAC1B,oBAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;AAC9D,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;AAC5D,iBAAA,CAAA;;;ACdD;;AAEG;;;;"}