import * as i0 from '@angular/core';
import { input, ChangeDetectionStrategy, Component } from '@angular/core';
import { SiIconComponent } from '@siemens/element-ng/icon';

/**
 * Copyright (c) Siemens 2016 - 2026
 * SPDX-License-Identifier: MIT
 */
class SiBadgeComponent {
    /**
     * Optional icon
     * @defaultValue ''
     */
    icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
    /**
     * Badge display type.
     * @defaultValue 'default'
     */
    type = input('default', ...(ngDevMode ? [{ debugName: "type" }] : []));
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiBadgeComponent, isStandalone: true, selector: "si-badge", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "status" }, properties: { "class": "\"bg-\" + type()" }, classAttribute: "badge" }, ngImport: i0, template: `
    @let ico = icon();
    @if (ico) {
      <si-icon class="icon" [icon]="ico" />
    }
    <span class="text-truncate"><ng-content /></span>
  `, isInline: true, dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiBadgeComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'si-badge',
                    imports: [SiIconComponent],
                    template: `
    @let ico = icon();
    @if (ico) {
      <si-icon class="icon" [icon]="ico" />
    }
    <span class="text-truncate"><ng-content /></span>
  `,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    host: {
                        role: 'status',
                        class: 'badge',
                        '[class]': '"bg-" + type()'
                    }
                }]
        }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });

/**
 * Copyright (c) Siemens 2016 - 2026
 * SPDX-License-Identifier: MIT
 */

/**
 * Generated bundle index. Do not edit.
 */

export { SiBadgeComponent };
//# sourceMappingURL=siemens-element-ng-badge.mjs.map
