import * as i0 from '@angular/core';
import { input, booleanAttribute, computed, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';

/**
 * Copyright (c) Siemens 2016 - 2026
 * SPDX-License-Identifier: MIT
 */
const CONNECTION_STRENGTH_MAP = { 'none': 0, 'low': 1, 'medium': 2, 'strong': 3 };
class SiConnectionStrengthComponent {
    /**
     * Shows the signal representation in an alternative *WLAN* format
     *
     * @defaultValue false
     */
    wlan = input(false, { ...(ngDevMode ? { debugName: "wlan" } : {}), transform: booleanAttribute });
    /**
     * Main value representing the current connection strength.
     *
     * @defaultValue 'none'
     */
    value = input('none', ...(ngDevMode ? [{ debugName: "value" }] : []));
    numberValue = computed(() => CONNECTION_STRENGTH_MAP[this.value()] ?? 0, ...(ngDevMode ? [{ debugName: "numberValue" }] : []));
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiConnectionStrengthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiConnectionStrengthComponent, isStandalone: true, selector: "si-connection-strength", inputs: { wlan: { classPropertyName: "wlan", publicName: "wlan", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (wlan()) {\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" [class.none]=\"numberValue() < 1\">\n    <path\n      d=\"M318.63,304a108.1,108.1,0,0,0-125.1,0,12,12,0,0,0,13.9,19.56,84.09,84.09,0,0,1,97.3,0A12,12,0,1,0,318.63,304Z\"\n    />\n    <path\n      d=\"M377,247.56a188,188,0,0,0-240.64,0A12,12,0,1,0,151.68,266a164,164,0,0,1,209.92,0A12,12,0,0,0,377,247.56Z\"\n      [class.inactive]=\"numberValue() < 2\"\n    />\n    <path\n      d=\"M433.21,191a268,268,0,0,0-354.42,0,12,12,0,1,0,15.86,18,244,244,0,0,1,322.7,0,12,12,0,0,0,15.86-18Z\"\n      [class.inactive]=\"numberValue() < 3\"\n    />\n    <circle cx=\"256\" cy=\"372.22\" r=\"16\" />\n    @if (numberValue() < 1) {\n      <g>\n        <path d=\"M412,352a12,12,0,0,0,12-12V263.78a12,12,0,0,0-24,0V340A12,12,0,0,0,412,352Z\" />\n        <path d=\"M412.18,400H412a12,12,0,0,0,0,24h.18a12,12,0,1,0,0-24Z\" />\n      </g>\n    }\n  </svg>\n} @else {\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" [class.none]=\"numberValue() < 1\">\n    <path\n      d=\"M128,228a12,12,0,0,0,0,24A132.14,132.14,0,0,1,260,384a12,12,0,0,0,24,0C284,298,214,228,128,228Z\"\n      [class.inactive]=\"numberValue() < 2\"\n    />\n    <path\n      d=\"M128,116a12,12,0,0,0,0,24A244,244,0,0,1,372,384a12,12,0,0,0,24,0A268,268,0,0,0,128,116Z\"\n      [class.inactive]=\"numberValue() < 3\"\n    />\n    <circle cx=\"144\" cy=\"368\" r=\"28\" />\n    @if (numberValue() < 1) {\n      <g>\n        <path\n          d=\"M412,188.11a12,12,0,0,0,12-12V99.89a12,12,0,1,0-24,0v76.22A12,12,0,0,0,412,188.11Z\"\n        />\n        <path d=\"M412.18,236.11H412a12,12,0,0,0,0,24h.18a12,12,0,0,0,0-24Z\" />\n      </g>\n    }\n  </svg>\n}\n", styles: ["svg{inline-size:1em;block-size:1em;fill:var(--element-ui-1)}svg.none,svg.none .inactive{fill:var(--element-status-danger)}svg .inactive{fill:var(--element-ui-3)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiConnectionStrengthComponent, decorators: [{
            type: Component,
            args: [{ selector: 'si-connection-strength', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (wlan()) {\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" [class.none]=\"numberValue() < 1\">\n    <path\n      d=\"M318.63,304a108.1,108.1,0,0,0-125.1,0,12,12,0,0,0,13.9,19.56,84.09,84.09,0,0,1,97.3,0A12,12,0,1,0,318.63,304Z\"\n    />\n    <path\n      d=\"M377,247.56a188,188,0,0,0-240.64,0A12,12,0,1,0,151.68,266a164,164,0,0,1,209.92,0A12,12,0,0,0,377,247.56Z\"\n      [class.inactive]=\"numberValue() < 2\"\n    />\n    <path\n      d=\"M433.21,191a268,268,0,0,0-354.42,0,12,12,0,1,0,15.86,18,244,244,0,0,1,322.7,0,12,12,0,0,0,15.86-18Z\"\n      [class.inactive]=\"numberValue() < 3\"\n    />\n    <circle cx=\"256\" cy=\"372.22\" r=\"16\" />\n    @if (numberValue() < 1) {\n      <g>\n        <path d=\"M412,352a12,12,0,0,0,12-12V263.78a12,12,0,0,0-24,0V340A12,12,0,0,0,412,352Z\" />\n        <path d=\"M412.18,400H412a12,12,0,0,0,0,24h.18a12,12,0,1,0,0-24Z\" />\n      </g>\n    }\n  </svg>\n} @else {\n  <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" [class.none]=\"numberValue() < 1\">\n    <path\n      d=\"M128,228a12,12,0,0,0,0,24A132.14,132.14,0,0,1,260,384a12,12,0,0,0,24,0C284,298,214,228,128,228Z\"\n      [class.inactive]=\"numberValue() < 2\"\n    />\n    <path\n      d=\"M128,116a12,12,0,0,0,0,24A244,244,0,0,1,372,384a12,12,0,0,0,24,0A268,268,0,0,0,128,116Z\"\n      [class.inactive]=\"numberValue() < 3\"\n    />\n    <circle cx=\"144\" cy=\"368\" r=\"28\" />\n    @if (numberValue() < 1) {\n      <g>\n        <path\n          d=\"M412,188.11a12,12,0,0,0,12-12V99.89a12,12,0,1,0-24,0v76.22A12,12,0,0,0,412,188.11Z\"\n        />\n        <path d=\"M412.18,236.11H412a12,12,0,0,0,0,24h.18a12,12,0,0,0,0-24Z\" />\n      </g>\n    }\n  </svg>\n}\n", styles: ["svg{inline-size:1em;block-size:1em;fill:var(--element-ui-1)}svg.none,svg.none .inactive{fill:var(--element-status-danger)}svg .inactive{fill:var(--element-ui-3)}\n"] }]
        }], propDecorators: { wlan: [{ type: i0.Input, args: [{ isSignal: true, alias: "wlan", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }] } });

/**
 * Copyright (c) Siemens 2016 - 2026
 * SPDX-License-Identifier: MIT
 */
class SiConnectionStrengthModule {
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiConnectionStrengthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
    static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiConnectionStrengthModule, imports: [SiConnectionStrengthComponent], exports: [SiConnectionStrengthComponent] });
    static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiConnectionStrengthModule });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiConnectionStrengthModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [SiConnectionStrengthComponent],
                    exports: [SiConnectionStrengthComponent]
                }]
        }] });

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

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

export { SiConnectionStrengthComponent, SiConnectionStrengthModule };
//# sourceMappingURL=siemens-element-ng-connection-strength.mjs.map
