{"version":3,"file":"seniorsistemas-angular-components-label-value.mjs","sources":["../../projects/angular-components/label-value/src/lib/label-value/label-value.component.ts","../../projects/angular-components/label-value/src/lib/label-value/label-value.component.html","../../projects/angular-components/label-value/src/lib/label-value/label-value.module.ts","../../projects/angular-components/label-value/src/seniorsistemas-angular-components-label-value.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\nimport {\n    BadgeConfiguration,\n    CurrencyConfiguration,\n    DateConfiguration,\n    LabelValueConfiguration,\n    NumberConfiguration,\n    TextConfiguration,\n} from './types/label-value-configuration';\n\n/**\n * @description Componente de exibição de par label/valor que suporta diferentes\n * tipos de conteúdo configurados via `LabelValueConfiguration`: texto, número,\n * moeda, data e badge.\n *\n * @example\n * ```html\n * <s-label-value [configuration]=\"{ type: 'Text', label: 'Nome', value: 'João' }\" />\n * ```\n *\n * @category Summary\n */\n@Component({\n    selector: 's-label-value',\n    templateUrl: './label-value.component.html',\n    styleUrls: ['./label-value.component.scss'],\n})\nexport class LabelValueComponent {\n    /** @description Configuração do par label/valor, incluindo tipo e dados para renderização. Campo obrigatório. */\n    @Input({ required: true })\n    public configuration!: LabelValueConfiguration;\n\n    isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\n        return config.type === 'Badge';\n    }\n\n    isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\n        return config.type === 'Text';\n    }\n\n    isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\n        return config.type === 'Currency';\n    }\n\n    isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\n        return config.type === 'Number';\n    }\n\n    isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\n        return config.type === 'Date';\n    }\n}\n\n","<div class=\"flex flex-col\">\n    <p class=\"font-bold\">\n        {{ configuration.title }}\n    </p>\n\n    @if (configuration.value) {\n        @if (isTextConfiguration(configuration)) {\n            <span class=\"sds-readonly\">\n                {{ configuration.value }}\n            </span>\n        }\n\n        @if (isBadgeConfiguration(configuration)) {\n            @for (badge of configuration.value; track $index) {\n                <s-badge\n                    [type]=\"badge.type ?? 'pill'\"\n                    [color]=\"badge.color ?? 'blue'\"\n                    [text]=\"badge.text\"\n                    [iconClass]=\"badge.iconClass\"\n                    [iconPosition]=\"badge.iconPosition\"\n                ></s-badge>\n            }\n        }\n\n        @if (isCurrencyConfiguration(configuration)) {\n            <span class=\"sds-readonly\">\n                {{ configuration.value | numeric: { numberFormatOptions: { style: 'currency', currency: configuration.currency } } | async }}\n            </span>\n        }\n\n        @if (isNumberConfiguration(configuration)) {\n            <span class=\"sds-readonly\">\n                {{ configuration.value | localizedNumber | async }}\n            </span>\n        }\n\n        @if (isDateConfiguration(configuration)) {\n            <span class=\"sds-readonly\">\n                {{ configuration.value | localizedDate: configuration.format || 'L' | async }}\n            </span>\n        }\n    } @else {\n        <span class=\"sds-empty-value\">\n            {{ 'platform.angular_components.not_informed' | translate }}\n        </span>\n    }\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { LabelValueComponent } from './label-value.component';\n\nimport { BadgeModule } from '@seniorsistemas/angular-components/badge';\nimport { LocaleModule } from '@seniorsistemas/angular-components/locale';\nimport { NumericModule } from '@seniorsistemas/angular-components/numeric';\n\n@NgModule({\n    imports: [CommonModule, TranslateModule, BadgeModule, LocaleModule, NumericModule],\n    declarations: [LabelValueComponent],\n    exports: [LabelValueComponent],\n})\nexport class LabelValueModule {}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}