import { Component, Input } from '@angular/core';
import { checkTruthAttribute, validateStringValue } from '../../utils/attribute.util';
import { iconsC } from '../../interfaces/icon.interface';
import { badgeTypeC } from '../../interfaces/badge.interface';
import * as i0 from "@angular/core";
import * as i1 from "@ionic/angular";
import * as i2 from "@angular/common";
import * as i3 from "../icon/icon.component";
export class BadgeComponent {
    type = 'primary';
    icon;
    small;
    large;
    stretch;
    inputType = 'primary';
    inputIcon = undefined;
    fontsize = 12;
    inputSmall = false;
    inputLarge = false;
    inputStretch = false;
    ngOnChanges(changes) {
        this.inputType = validateStringValue(changes, 'type', badgeTypeC.slice(), this.inputType) || 'primary';
        this.inputIcon = validateStringValue(changes, 'icon', iconsC.slice(), this.inputIcon);
        this.inputSmall = checkTruthAttribute(changes, 'small', this.inputSmall);
        if (this.inputSmall)
            this.fontsize = 10;
        this.inputLarge = checkTruthAttribute(changes, 'large', this.inputLarge);
        if (this.inputLarge)
            this.fontsize = 16;
        this.inputStretch = checkTruthAttribute(changes, 'stretch', this.inputStretch);
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: BadgeComponent, selector: "cf-badge", inputs: { type: "type", icon: "icon", small: "small", large: "large", stretch: "stretch" }, usesOnChanges: true, ngImport: i0, template: "<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge, stretch: inputStretch }\">\n  <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></cf-icon>\n  <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n  <p><ng-content></ng-content></p>\n</div>\n", styles: ["div[class^=cf-badge-]{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background);--cf-svg-overwrite-stroke-color: var(--cf-badge-text-color);display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center;padding:0 16px;border-radius:6px;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color);height:3.4rem}div[class^=cf-badge-]>p{width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div[class^=cf-badge-].small{height:2.8rem}div[class^=cf-badge-].small>p{font-size:1rem}div[class^=cf-badge-].large{height:4rem}div[class^=cf-badge-].large>p{font-size:1.6rem}div[class^=cf-badge-].stretch{width:100%}div.cf-badge-feedback-primary{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background)}div.cf-badge-white{--cf-badge-background: #fff;--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: #fff}div.cf-badge-success{--cf-badge-background: var(--cf-app-system-color-success);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-alert{--cf-badge-background: var(--cf-app-system-color-error);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-accent{--cf-badge-background: var(--cf-app-color-accent);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-color-accent)}div.cf-badge-warning{--cf-badge-background: var(--cf-app-system-color-warning);--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-disabled{--cf-badge-background: var(--cf-app-system-color-disabled);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-disabled)}div.cf-badge-feedback-success{--cf-badge-background: var(--cf-app-system-color-light-success);--cf-badge-text-color: var(--cf-app-system-color-success);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-feedback-error{--cf-badge-background: var(--cf-app-system-color-light-error);--cf-badge-text-color: var(--cf-app-system-color-error);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-feedback-warning,div.cf-badge-feedback-busy{--cf-badge-background: var(--cf-app-system-color-light-warning);--cf-badge-text-color: var(--cf-app-system-color-warning);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-feedback-busy ion-spinner{color:var(--cf-app-system-color-warning);height:1.2rem;width:1.2rem}div.cf-badge-custom-color{--cf-badge-background: var(--custom-color, var(--cf-app-color-primary));--cf-badge-text-color: var(--custom-color-text, var(--cf-app-text-color-light));--cf-badge-border-color: var(--cf-badge-background)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "cf-icon", inputs: ["icon", "height", "heightMobile", "heightDesktop", "iconColor"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: BadgeComponent, decorators: [{
            type: Component,
            args: [{ selector: 'cf-badge', template: "<div [className]=\"'cf-badge-' + inputType\" [ngClass]=\"{ small: inputSmall, large: inputLarge, stretch: inputStretch }\">\n  <cf-icon *ngIf=\"inputIcon && inputType !== 'feedback-busy'\" [icon]=\"inputIcon\" [height]=\"fontsize\"></cf-icon>\n  <ion-spinner *ngIf=\"inputType === 'feedback-busy'\"></ion-spinner>\n  <p><ng-content></ng-content></p>\n</div>\n", styles: ["div[class^=cf-badge-]{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background);--cf-svg-overwrite-stroke-color: var(--cf-badge-text-color);display:flex;flex-direction:row;gap:8px;justify-content:center;align-items:center;padding:0 16px;border-radius:6px;width:fit-content;background:var(--cf-badge-background);border:.2rem solid var(--cf-badge-border-color);height:3.4rem}div[class^=cf-badge-]>p{width:fit-content;font-size:1.2rem;font-weight:500;font-style:normal;line-height:auto;color:var(--cf-badge-text-color)}div[class^=cf-badge-].small{height:2.8rem}div[class^=cf-badge-].small>p{font-size:1rem}div[class^=cf-badge-].large{height:4rem}div[class^=cf-badge-].large>p{font-size:1.6rem}div[class^=cf-badge-].stretch{width:100%}div.cf-badge-feedback-primary{--cf-badge-background: var(--cf-app-color-primary);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-badge-background)}div.cf-badge-white{--cf-badge-background: #fff;--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: #fff}div.cf-badge-success{--cf-badge-background: var(--cf-app-system-color-success);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-alert{--cf-badge-background: var(--cf-app-system-color-error);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-accent{--cf-badge-background: var(--cf-app-color-accent);--cf-badge-text-color: var(--cf-app-text-color-light);--cf-badge-border-color: var(--cf-app-color-accent)}div.cf-badge-warning{--cf-badge-background: var(--cf-app-system-color-warning);--cf-badge-text-color: var(--cf-app-text-color-default);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-disabled{--cf-badge-background: var(--cf-app-system-color-disabled);--cf-badge-text-color: var(--cf-app-text-color-grey);--cf-badge-border-color: var(--cf-app-system-color-disabled)}div.cf-badge-feedback-success{--cf-badge-background: var(--cf-app-system-color-light-success);--cf-badge-text-color: var(--cf-app-system-color-success);--cf-badge-border-color: var(--cf-app-system-color-success)}div.cf-badge-feedback-error{--cf-badge-background: var(--cf-app-system-color-light-error);--cf-badge-text-color: var(--cf-app-system-color-error);--cf-badge-border-color: var(--cf-app-system-color-error)}div.cf-badge-feedback-warning,div.cf-badge-feedback-busy{--cf-badge-background: var(--cf-app-system-color-light-warning);--cf-badge-text-color: var(--cf-app-system-color-warning);--cf-badge-border-color: var(--cf-app-system-color-warning)}div.cf-badge-feedback-busy ion-spinner{color:var(--cf-app-system-color-warning);height:1.2rem;width:1.2rem}div.cf-badge-custom-color{--cf-badge-background: var(--custom-color, var(--cf-app-color-primary));--cf-badge-text-color: var(--custom-color-text, var(--cf-app-text-color-light));--cf-badge-border-color: var(--cf-badge-background)}\n"] }]
        }], propDecorators: { type: [{
                type: Input
            }], icon: [{
                type: Input
            }], small: [{
                type: Input
            }], large: [{
                type: Input
            }], stretch: [{
                type: Input
            }] } });
//# sourceMappingURL=data:application/json;base64, 