{"version":3,"file":"seniorsistemas-angular-components-token-list.mjs","sources":["../../projects/angular-components/token-list/src/lib/token-list/token-list.component.ts","../../projects/angular-components/token-list/src/lib/token-list/token-list.component.html","../../projects/angular-components/token-list/src/lib/token-list/token-list.module.ts","../../projects/angular-components/token-list/src/seniorsistemas-angular-components-token-list.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { IToken } from './models/token';\n\n/**\n * @description Componente de lista de tokens (etiquetas) clicáveis e opcionalmente\n * removíveis. Emite eventos ao selecionar ou remover um token.\n *\n * @example\n * ```html\n * <s-token-list\n *   [tokens]=\"listaDeTokens\"\n *   [removableTokens]=\"true\"\n *   (tokenSelected)=\"onTokenSelecionado($event)\"\n *   (tokenRemoved)=\"onTokenRemovido($event)\" />\n * ```\n *\n * @category Summary\n */\n@Component({\n    selector: 's-token-list',\n    templateUrl: './token-list.component.html',\n    styleUrls: ['./token-list.component.scss'],\n})\nexport class TokenListComponent {\n    public static nextId = 0;\n\n    /** @description Identificador único do componente no DOM. Gerado automaticamente se não informado. */\n    @Input()\n    public id = `s-token-list-${TokenListComponent.nextId++}`;\n\n    /** @description Lista de tokens exibidos. Campo obrigatório. */\n    @Input({ required: true })\n    public tokens!: IToken[];\n\n    /** @description Exibe o botão de remoção em cada token. @default false */\n    @Input()\n    public removableTokens = false;\n\n    /** @description Quando `true`, remove os eventos de ponteiro (hover/clique) dos tokens. @default false */\n    @Input()\n    public hidePointerEvents = false;\n\n    /** @description Emitido quando o usuário clica em um token não desabilitado. */\n    @Output()\n    public tokenSelected: EventEmitter<IToken> = new EventEmitter();\n\n    /** @description Emitido quando o usuário remove um token não desabilitado. */\n    @Output()\n    public tokenRemoved: EventEmitter<IToken> = new EventEmitter();\n\n    public onTokenSelected(token: IToken): void {\n        if (!token.disabled) {\n            this.tokenSelected.next(token);\n        }\n    }\n\n    public onTokenRemoved(token: IToken): void {\n        if (!token.disabled) {\n            this.tokenRemoved.next(token);\n        }\n    }\n}\n\n","<div\n    [id]=\"id\"\n    class=\"token-list\"\n>\n    @for (token of tokens; track $index) {\n        <span\n            [id]=\"token.id\"\n            class=\"token\"\n            [ngClass]=\"{\n                'no-pointer-events': hidePointerEvents,\n                'token--disabled': token.disabled,\n            }\"\n        >\n            <a\n                [id]=\"(token.id || 'token') + '-label'\"\n                class=\"token-label\"\n                (click)=\"onTokenSelected(token)\"\n            >\n                {{ token.label }}\n            </a>\n            @if (removableTokens && !token.notRemovable) {\n                <span\n                    [id]=\"token.id + '-remove'\"\n                    class=\"far fa-times\"\n                    (click)=\"onTokenRemoved(token)\"\n                >\n                </span>\n            }\n        </span>\n    }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TokenListComponent } from './token-list.component';\n\n@NgModule({\n    imports: [CommonModule],\n    declarations: [TokenListComponent],\n    exports: [TokenListComponent],\n})\nexport class TokenListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}