{"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';\r\nimport {\r\n    BadgeConfiguration,\r\n    CurrencyConfiguration,\r\n    DateConfiguration,\r\n    LabelValueConfiguration,\r\n    NumberConfiguration,\r\n    TextConfiguration,\r\n} from './types/label-value-configuration';\r\nimport { BadgeComponent } from '@seniorsistemas/angular-components/badge';\r\nimport { AsyncPipe } from '@angular/common';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { LocalizedDatePipe, LocalizedNumberPipe } from '@seniorsistemas/angular-components/locale';\r\nimport { NumericPipe } from '@seniorsistemas/angular-components/numeric';\r\n\r\n/**\r\n * @description Componente de exibição de par label/valor que suporta diferentes\r\n * tipos de conteúdo configurados via `LabelValueConfiguration`: texto, número,\r\n * moeda, data e badge.\r\n *\r\n * @example\r\n * ```html\r\n * <s-label-value [configuration]=\"{ type: 'Text', label: 'Nome', value: 'João' }\" />\r\n * ```\r\n *\r\n * @category Summary\r\n */\r\n@Component({\r\n    selector: 's-label-value',\r\n    templateUrl: './label-value.component.html',\r\n    styleUrls: ['./label-value.component.scss'],\r\n    standalone: true,\r\n    imports: [BadgeComponent, AsyncPipe, TranslatePipe, LocalizedDatePipe, LocalizedNumberPipe, NumericPipe],\r\n})\r\nexport class LabelValueComponent {\r\n    /** @description Configuração do par label/valor, incluindo tipo e dados para renderização. Campo obrigatório. */\r\n    @Input({ required: true })\r\n    public configuration!: LabelValueConfiguration;\r\n\r\n    isBadgeConfiguration(config: LabelValueConfiguration): config is BadgeConfiguration {\r\n        return config.type === 'Badge';\r\n    }\r\n\r\n    isTextConfiguration(config: LabelValueConfiguration): config is TextConfiguration {\r\n        return config.type === 'Text';\r\n    }\r\n\r\n    isCurrencyConfiguration(config: LabelValueConfiguration): config is CurrencyConfiguration {\r\n        return config.type === 'Currency';\r\n    }\r\n\r\n    isNumberConfiguration(config: LabelValueConfiguration): config is NumberConfiguration {\r\n        return config.type === 'Number';\r\n    }\r\n\r\n    isDateConfiguration(config: LabelValueConfiguration): config is DateConfiguration {\r\n        return config.type === 'Date';\r\n    }\r\n}\r\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 { NgModule } from '@angular/core';\r\n\r\nimport { LabelValueComponent } from './label-value.component';\r\n\r\n@NgModule({\r\n    imports: [LabelValueComponent],\r\n    exports: [LabelValueComponent],\r\n})\r\nexport class LabelValueModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAeA;;;;;;;;;;;AAWG;MAQU,mBAAmB,CAAA;;AAGrB,IAAA,aAAa,CAA2B;AAE/C,IAAA,oBAAoB,CAAC,MAA+B,EAAA;AAChD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC;KAClC;AAED,IAAA,mBAAmB,CAAC,MAA+B,EAAA;AAC/C,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;KACjC;AAED,IAAA,uBAAuB,CAAC,MAA+B,EAAA;AACnD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;KACrC;AAED,IAAA,qBAAqB,CAAC,MAA+B,EAAA;AACjD,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;KACnC;AAED,IAAA,mBAAmB,CAAC,MAA+B,EAAA;AAC/C,QAAA,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;KACjC;wGAvBQ,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,EClChC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wmDA+CA,EDfc,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,cAAc,EAAE,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,EAAE,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,aAAa,EAAE,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,iBAAiB,EAAE,IAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,mBAAmB,mDAAE,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAE9F,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGb,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,CAAC,EAAA,QAAA,EAAA,wmDAAA,EAAA,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,CAAA;8BAKjG,aAAa,EAAA,CAAA;sBADnB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;;ME5BhB,gBAAgB,CAAA;wGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHf,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAEpB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAHf,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAGpB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAAC,mBAAmB,CAAC;AACjC,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}