import { trigger, state, style, transition, animate } from '@angular/animations';
import * as i1 from '@angular/cdk/a11y';
import { A11yModule } from '@angular/cdk/a11y';
import * as i0 from '@angular/core';
import { EventEmitter, inject, numberAttribute, booleanAttribute, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, NgModule } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { TransitionCheckState, KBQ_CHECKBOX_CLICK_ACTION } from '@koobiq/components/checkbox';
import { KbqColorDirective, KbqAnimationDurations, KbqAnimationCurves } from '@koobiq/components/core';

let nextUniqueId = 0;
class KbqToggleChange {
}
class KbqToggleComponent extends KbqColorDirective {
    get inputId() {
        return `${this.id || this.uniqueId}-input`;
    }
    get disabled() {
        return this._disabled;
    }
    set disabled(value) {
        if (value !== this._disabled) {
            this._disabled = value;
            this.changeDetectorRef.markForCheck();
        }
    }
    get tabIndex() {
        return this.disabled ? -1 : this._tabIndex;
    }
    set tabIndex(value) {
        this._tabIndex = value;
    }
    get checked() {
        return this._checked;
    }
    set checked(value) {
        if (value !== this._checked) {
            this._checked = value;
            this.setTransitionCheckState();
            this.changeDetectorRef.markForCheck();
        }
    }
    /**
     * Whether the toggle is indeterminate. This is also known as "mixed" mode and can be used to
     * represent a checkbox with three states, e.g. a checkbox that represents a nested list of
     * checkable items. Note that whenever checkbox is manually clicked, indeterminate is immediately
     * set to false.
     */
    get indeterminate() {
        return this._indeterminate;
    }
    set indeterminate(value) {
        const changed = value !== this._indeterminate;
        this._indeterminate = value;
        if (changed) {
            this.setTransitionCheckState();
            this.indeterminateChange.emit(this._indeterminate);
        }
    }
    constructor(focusMonitor, changeDetectorRef) {
        super();
        this.focusMonitor = focusMonitor;
        this.changeDetectorRef = changeDetectorRef;
        this.big = false;
        this.labelPosition = 'right';
        this.ariaLabel = '';
        this.ariaLabelledby = null;
        this.name = null;
        this._disabled = false;
        this._tabIndex = 0;
        this._checked = false;
        this._indeterminate = false;
        /**
         * Property for manually set loading state.
         */
        this.loading = false;
        this.change = new EventEmitter();
        /** Event emitted when the toggle's `indeterminate` value changes. */
        this.indeterminateChange = new EventEmitter();
        /** @docs-private */
        this.currentCheckState = TransitionCheckState.Init;
        this.clickAction = inject(KBQ_CHECKBOX_CLICK_ACTION, { optional: true });
        this.uniqueId = `kbq-toggle-${++nextUniqueId}`;
        this.onTouchedCallback = () => { };
        this.onChangeCallback = (_) => { };
        this.id = this.uniqueId;
    }
    ngAfterViewInit() {
        this.focusMonitor.monitor(this.elementRef.nativeElement, true);
    }
    ngOnDestroy() {
        this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
    }
    focus() {
        this.focusMonitor.focusVia(this.inputElement.nativeElement, 'keyboard');
    }
    getAriaChecked() {
        return this.checked ? 'true' : this.indeterminate ? 'mixed' : 'false';
    }
    onChangeEvent(event) {
        event.stopPropagation();
    }
    onLabelTextChange() {
        this.changeDetectorRef.markForCheck();
    }
    onInputClick(event) {
        if (this.loading)
            return;
        // We have to stop propagation for click events on the visual hidden input element.
        // By default, when a user clicks on a label element, a generated click event will be
        // dispatched on the associated input element. Since we are using a label element as our
        // root container, the click event on the `toggle` will be executed twice.
        // The real click event will bubble up, and the generated click event also tries to bubble up.
        // This will lead to multiple click events.
        // Preventing bubbling for the second event will solve that issue.
        event.stopPropagation();
        if (!this.disabled && this.clickAction !== 'noop') {
            // When user manually click on the toggle, `indeterminate` is set to false.
            if (this.indeterminate && this.clickAction !== 'check') {
                Promise.resolve().then(() => {
                    this._indeterminate = false;
                    this.indeterminateChange.emit(this._indeterminate);
                });
            }
            this._checked = !this.checked;
            this.onTouchedCallback();
            this.transitionCheckState(this._checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);
            // Emit our custom change event if the native input emitted one.
            // It is important to only emit it, if the native input triggered one, because
            // we don't want to trigger a change event, when the `checked` variable changes for example.
            this.emitChangeEvent();
        }
        else if (!this.disabled && this.clickAction === 'noop') {
            // Reset native input when clicked with noop. The native checkbox becomes checked after
            // click, reset it to be align with `checked` value of `kbq-toggle`.
            this.inputElement.nativeElement.checked = this.checked;
            this.inputElement.nativeElement.indeterminate = this.indeterminate;
        }
    }
    writeValue(value) {
        this.checked = !!value;
    }
    registerOnChange(fn) {
        this.onChangeCallback = fn;
    }
    registerOnTouched(fn) {
        this.onTouchedCallback = fn;
    }
    setDisabledState(isDisabled) {
        this.disabled = isDisabled;
    }
    setTransitionCheckState() {
        if (this.indeterminate) {
            this.transitionCheckState(TransitionCheckState.Indeterminate);
        }
        else {
            this.transitionCheckState(this.checked ? TransitionCheckState.Checked : TransitionCheckState.Unchecked);
        }
    }
    transitionCheckState(newState) {
        const oldState = this.currentCheckState;
        if (oldState === newState)
            return;
        this.currentCheckState = newState;
    }
    emitChangeEvent() {
        const event = new KbqToggleChange();
        event.source = this;
        event.checked = this.checked;
        this.onChangeCallback(this.checked);
        this.change.emit(event);
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqToggleComponent, deps: [{ token: i1.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
    /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: KbqToggleComponent, selector: "kbq-toggle", inputs: { big: "big", labelPosition: "labelPosition", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], id: "id", name: "name", value: "value", disabled: "disabled", tabIndex: ["tabIndex", "tabIndex", numberAttribute], checked: "checked", indeterminate: ["indeterminate", "indeterminate", booleanAttribute], loading: ["loading", "loading", booleanAttribute] }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.kbq-toggle_big": "big", "id": "id", "attr.id": "id", "class.kbq-disabled": "disabled || loading", "class.kbq-active": "checked", "class.kbq-indeterminate": "indeterminate" }, classAttribute: "kbq-toggle" }, providers: [
            {
                provide: NG_VALUE_ACCESSOR,
                useExisting: forwardRef((() => KbqToggleComponent)),
                multi: true
            }
        ], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["kbqToggle"], usesInheritance: true, ngImport: i0, template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n    <input\n        #input\n        role=\"switch\"\n        type=\"checkbox\"\n        class=\"kbq-toggle-input cdk-visually-hidden\"\n        [attr.aria-checked]=\"getAriaChecked()\"\n        [attr.aria-label]=\"ariaLabel || null\"\n        [attr.aria-labelledby]=\"ariaLabelledby\"\n        [attr.name]=\"name\"\n        [attr.value]=\"value\"\n        [checked]=\"checked\"\n        [disabled]=\"disabled\"\n        [id]=\"inputId\"\n        [indeterminate]=\"indeterminate\"\n        [tabIndex]=\"tabIndex\"\n        (change)=\"onChangeEvent($event)\"\n        (click)=\"onInputClick($event)\"\n        (keydown.enter)=\"input.click()\"\n    />\n    <div class=\"kbq-toggle-bar-container\">\n        <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n            <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n            <div class=\"kbq-toggle__thumb\"></div>\n        </div>\n    </div>\n\n    <div\n        class=\"kbq-toggle__content\"\n        [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n        [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n    >\n        <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n            <ng-content />\n        </span>\n\n        <ng-content select=\"kbq-hint\" />\n    </div>\n</label>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-toggle-size-normal-height)) / 2)}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-toggle-size-big-height)) / 2)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-toggle:not(.kbq-toggle_big) .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-toggle:not(.kbq-toggle_big) .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-compact-line-height)}.kbq-toggle.kbq-toggle_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-toggle.kbq-toggle_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-big-line-height)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"], animations: [
            trigger('switch', [
                state(TransitionCheckState.Init, style({ left: '3px' })),
                state(TransitionCheckState.Unchecked, style({ left: '3px' })),
                state(TransitionCheckState.Indeterminate, style({ left: '10px', visibility: 'hidden' })),
                state(TransitionCheckState.Checked, style({ left: 'calc(100% - 11px)' })),
                transition(`${TransitionCheckState.Init} => ${TransitionCheckState.Checked}`, animate(KbqAnimationDurations.Entering)),
                transition(`${TransitionCheckState.Checked} <=> ${TransitionCheckState.Unchecked}`, animate(KbqAnimationDurations.Rapid)),
                transition(`${TransitionCheckState.Indeterminate} => *`, animate(`${KbqAnimationDurations.Instant} ${KbqAnimationCurves.EaseInOut}`))
            ])
        ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqToggleComponent, decorators: [{
            type: Component,
            args: [{ selector: 'kbq-toggle', exportAs: 'kbqToggle', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
                        class: 'kbq-toggle',
                        '[class.kbq-toggle_big]': 'big',
                        '[id]': 'id',
                        '[attr.id]': 'id',
                        '[class.kbq-disabled]': 'disabled || loading',
                        '[class.kbq-active]': 'checked',
                        '[class.kbq-indeterminate]': 'indeterminate'
                    }, animations: [
                        trigger('switch', [
                            state(TransitionCheckState.Init, style({ left: '3px' })),
                            state(TransitionCheckState.Unchecked, style({ left: '3px' })),
                            state(TransitionCheckState.Indeterminate, style({ left: '10px', visibility: 'hidden' })),
                            state(TransitionCheckState.Checked, style({ left: 'calc(100% - 11px)' })),
                            transition(`${TransitionCheckState.Init} => ${TransitionCheckState.Checked}`, animate(KbqAnimationDurations.Entering)),
                            transition(`${TransitionCheckState.Checked} <=> ${TransitionCheckState.Unchecked}`, animate(KbqAnimationDurations.Rapid)),
                            transition(`${TransitionCheckState.Indeterminate} => *`, animate(`${KbqAnimationDurations.Instant} ${KbqAnimationCurves.EaseInOut}`))
                        ])
                    ], providers: [
                        {
                            provide: NG_VALUE_ACCESSOR,
                            useExisting: forwardRef((() => KbqToggleComponent)),
                            multi: true
                        }
                    ], template: "<label class=\"kbq-toggle-layout\" [attr.for]=\"inputId\" [class.kbq-toggle-layout_left]=\"labelPosition === 'left'\">\n    <input\n        #input\n        role=\"switch\"\n        type=\"checkbox\"\n        class=\"kbq-toggle-input cdk-visually-hidden\"\n        [attr.aria-checked]=\"getAriaChecked()\"\n        [attr.aria-label]=\"ariaLabel || null\"\n        [attr.aria-labelledby]=\"ariaLabelledby\"\n        [attr.name]=\"name\"\n        [attr.value]=\"value\"\n        [checked]=\"checked\"\n        [disabled]=\"disabled\"\n        [id]=\"inputId\"\n        [indeterminate]=\"indeterminate\"\n        [tabIndex]=\"tabIndex\"\n        (change)=\"onChangeEvent($event)\"\n        (click)=\"onInputClick($event)\"\n        (keydown.enter)=\"input.click()\"\n    />\n    <div class=\"kbq-toggle-bar-container\">\n        <div class=\"kbq-toggle-bar\" [class.kbq-progress]=\"loading\">\n            <div class=\"kbq-toggle__circle\" [@switch]=\"currentCheckState\"></div>\n            <div class=\"kbq-toggle__thumb\"></div>\n        </div>\n    </div>\n\n    <div\n        class=\"kbq-toggle__content\"\n        [class.kbq-toggle__content_left]=\"labelPosition === 'left'\"\n        [class.kbq-toggle__content_right]=\"labelPosition === 'right'\"\n    >\n        <span class=\"kbq-toggle-label\" (cdkObserveContent)=\"onLabelTextChange()\">\n            <ng-content />\n        </span>\n\n        <ng-content select=\"kbq-hint\" />\n    </div>\n</label>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:64px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 12px,#ffffff1a 12px 22px,#0000000a 22px 34px,#ffffff1a 34px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-toggle{display:inline-block}.kbq-toggle .kbq-toggle__circle{position:absolute;border-radius:50%;transform:translate(-1px);height:10px;width:10px}.kbq-toggle .kbq-toggle-layout{display:flex;flex-direction:row;align-items:flex-start;cursor:inherit}.kbq-toggle .kbq-toggle-layout.kbq-toggle-layout_left{flex-direction:row-reverse}.kbq-toggle .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-normal-line-height) - var(--kbq-toggle-size-normal-height)) / 2)}.kbq-toggle .kbq-toggle-bar-container{display:flex;align-items:center}.kbq-toggle .kbq-toggle-bar{position:relative;box-sizing:border-box;display:flex;align-items:center;border-width:1px;border-style:solid;border-radius:8px;transition:background .1s ease-in-out;height:var(--kbq-toggle-size-normal-height);width:var(--kbq-toggle-size-normal-width)}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{position:absolute;left:8px;display:none;justify-content:center;align-items:center;width:10px;height:2px;border-radius:var(--kbq-size-border-width);transition:left 50ms ease-in-out}.kbq-toggle .kbq-hint{margin-top:var(--kbq-size-3xs)}.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate:not(.kbq-disabled) .kbq-toggle-bar:hover .kbq-toggle__thumb{left:10px}.kbq-toggle.kbq-indeterminate .kbq-toggle-bar .kbq-toggle__thumb{display:block}.kbq-toggle__content{display:flex;flex-direction:column;flex:1}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_left{margin-right:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle__content:has(.kbq-toggle-label:not(:empty)).kbq-toggle__content_right{margin-left:var(--kbq-toggle-size-normal-horizontal-content-padding)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar{height:var(--kbq-toggle-size-big-height);width:var(--kbq-toggle-size-big-width)}.kbq-toggle.kbq-toggle_big .kbq-toggle-layout:has(.kbq-toggle-label:not(:empty)) .kbq-toggle-bar-container{padding-top:calc((var(--kbq-typography-text-big-line-height) - var(--kbq-toggle-size-big-height)) / 2)}.kbq-toggle:not(.kbq-disabled){cursor:pointer}.kbq-toggle .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-default-border);background:var(--kbq-toggle-theme-default-background)}.kbq-toggle .kbq-toggle__circle{background:var(--kbq-toggle-theme-default-circle-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-hover-border);background:var(--kbq-toggle-theme-states-hover-background)}.kbq-toggle:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-hover-circle-background)}.kbq-toggle.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-border);background:var(--kbq-toggle-theme-states-checked-background)}.kbq-toggle.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-circle-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-hover-border);background:var(--kbq-toggle-theme-states-checked-hover-background)}.kbq-toggle.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-hover-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-border);background:var(--kbq-toggle-theme-states-focused-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-focused-circle-background)}.kbq-toggle.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-focused-focus-outline)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-border);background:var(--kbq-toggle-theme-states-checked-focused-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-checked-focused-circle-background)}.kbq-toggle.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-theme-states-checked-focused-focus-outline)}.kbq-toggle.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-disabled-border);background:var(--kbq-toggle-theme-states-disabled-background)}.kbq-toggle.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-theme-states-active-disabled-border);background:var(--kbq-toggle-theme-states-active-disabled-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-theme-states-active-disabled-circle-background)}.kbq-toggle.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-error .kbq-toggle-bar{border-color:var(--kbq-toggle-error-default-border);background:var(--kbq-toggle-error-default-background)}.kbq-toggle.kbq-error .kbq-toggle__circle{background:var(--kbq-toggle-error-default-circle-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-hover-border);background:var(--kbq-toggle-error-states-hover-background)}.kbq-toggle.kbq-error:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-hover-circle-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-border);background:var(--kbq-toggle-error-states-checked-background)}.kbq-toggle.kbq-error.kbq-active .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-circle-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-hover-border);background:var(--kbq-toggle-error-states-checked-hover-background)}.kbq-toggle.kbq-error.kbq-active:is(:hover,.kbq-hovered) .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate:is(:hover,.kbq-hovered) .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-hover-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-border);background:var(--kbq-toggle-error-states-focused-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-focused-circle-background)}.kbq-toggle.kbq-error.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-border);background:var(--kbq-toggle-error-states-checked-focused-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle__circle{background:var(--kbq-toggle-error-states-checked-focused-circle-background)}.kbq-toggle.kbq-error.kbq-active.cdk-keyboard-focused .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.cdk-keyboard-focused .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-checked-focused-focus-outline);box-shadow:0 0 .1px 1px var(--kbq-toggle-error-states-checked-focused-focus-outline)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-disabled-border);background:var(--kbq-toggle-error-states-disabled-background)}.kbq-toggle.kbq-error.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{border-color:var(--kbq-toggle-error-states-active-disabled-border);background:var(--kbq-toggle-error-states-active-disabled-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle__circle,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle__circle{background:var(--kbq-toggle-error-states-active-disabled-circle-background)}.kbq-toggle.kbq-error.kbq-active.kbq-disabled .kbq-toggle-bar,.kbq-toggle.kbq-error.kbq-indeterminate.kbq-disabled .kbq-toggle-bar{opacity:var(--kbq-opacity-disabled)}.kbq-toggle.kbq-disabled{color:var(--kbq-states-foreground-disabled)}.kbq-toggle.kbq-disabled .kbq-hint .kbq-hint__text{color:inherit}.kbq-toggle .kbq-toggle-bar .kbq-toggle__thumb{background:var(--kbq-icon-white)}.kbq-toggle .kbq-hint .kbq-hint__text{color:var(--kbq-foreground-contrast-secondary)}.kbq-toggle:not(.kbq-toggle_big){font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-toggle:not(.kbq-toggle_big) .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}.kbq-toggle:not(.kbq-toggle_big) .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-compact-line-height)}.kbq-toggle.kbq-toggle_big{font-size:var(--kbq-typography-text-big-font-size);font-style:var(--kbq-typography-text-big-font-style);font-weight:var(--kbq-typography-text-big-font-weight);line-height:var(--kbq-typography-text-big-line-height);font-family:var(--kbq-typography-text-big-font-family);text-transform:var(--kbq-typography-text-big-text-transform);font-feature-settings:var(--kbq-typography-text-big-font-feature-settings);letter-spacing:var(--kbq-typography-text-big-letter-spacing)}.kbq-toggle.kbq-toggle_big .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-toggle.kbq-toggle_big .kbq-toggle-bar-container{line-height:var(--kbq-typography-text-big-line-height)}\n", ".kbq-toggle{--kbq-toggle-size-normal-height: var(--kbq-size-l);--kbq-toggle-size-normal-width: 28px;--kbq-toggle-size-normal-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-size-big-height: var(--kbq-size-l);--kbq-toggle-size-big-width: 28px;--kbq-toggle-size-big-horizontal-content-padding: var(--kbq-size-s);--kbq-toggle-theme-default-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-default-background: var(--kbq-background-bg);--kbq-toggle-theme-default-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-hover-border: var(--kbq-line-contrast-less);--kbq-toggle-theme-states-hover-background: var(--kbq-states-background-transparent-hover);--kbq-toggle-theme-states-hover-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-checked-border: transparent;--kbq-toggle-theme-states-checked-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-hover-border: transparent;--kbq-toggle-theme-states-checked-hover-background: var(--kbq-states-background-theme-hover);--kbq-toggle-theme-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-focused-background: var(--kbq-background-bg);--kbq-toggle-theme-states-focused-circle-background: var(--kbq-icon-contrast);--kbq-toggle-theme-states-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-border: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-checked-focused-background: var(--kbq-background-theme);--kbq-toggle-theme-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-theme-states-checked-focused-focus-outline: var(--kbq-states-line-focus-theme);--kbq-toggle-theme-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-theme-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-theme-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-theme-states-active-disabled-border: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-background: var(--kbq-background-theme);--kbq-toggle-theme-states-active-disabled-circle-background: var(--kbq-icon-white);--kbq-toggle-error-default-border: var(--kbq-line-error);--kbq-toggle-error-default-background: var(--kbq-background-error-less);--kbq-toggle-error-default-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-hover-background: var(--kbq-states-background-error-fade-hover);--kbq-toggle-error-states-hover-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-checked-border: var(--kbq-background-error);--kbq-toggle-error-states-checked-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-hover-border: var(--kbq-line-error);--kbq-toggle-error-states-checked-hover-background: var(--kbq-states-background-error-hover);--kbq-toggle-error-states-checked-hover-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-focused-background: var(--kbq-background-error-less);--kbq-toggle-error-states-focused-circle-background: var(--kbq-icon-error);--kbq-toggle-error-states-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-border: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-checked-focused-background: var(--kbq-background-error);--kbq-toggle-error-states-checked-focused-circle-background: var(--kbq-icon-white);--kbq-toggle-error-states-checked-focused-focus-outline: var(--kbq-states-line-focus-error);--kbq-toggle-error-states-disabled-border: var(--kbq-states-line-disabled);--kbq-toggle-error-states-disabled-background: var(--kbq-states-background-disabled);--kbq-toggle-error-states-disabled-circle-background: var(--kbq-states-icon-disabled);--kbq-toggle-error-states-active-disabled-border: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-background: var(--kbq-background-error);--kbq-toggle-error-states-active-disabled-circle-background: var(--kbq-icon-white)}\n"] }]
        }], ctorParameters: () => [{ type: i1.FocusMonitor }, { type: i0.ChangeDetectorRef }], propDecorators: { big: [{
                type: Input
            }], inputElement: [{
                type: ViewChild,
                args: ['input', { static: false }]
            }], labelPosition: [{
                type: Input
            }], ariaLabel: [{
                type: Input,
                args: ['aria-label']
            }], ariaLabelledby: [{
                type: Input,
                args: ['aria-labelledby']
            }], id: [{
                type: Input
            }], name: [{
                type: Input
            }], value: [{
                type: Input
            }], disabled: [{
                type: Input
            }], tabIndex: [{
                type: Input,
                args: [{ transform: numberAttribute }]
            }], checked: [{
                type: Input
            }], indeterminate: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], loading: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }], change: [{
                type: Output
            }], indeterminateChange: [{
                type: Output
            }] } });

class KbqToggleModule {
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqToggleModule, declarations: [KbqToggleComponent], imports: [A11yModule], exports: [KbqToggleComponent] }); }
    /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqToggleModule, imports: [A11yModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqToggleModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [A11yModule],
                    exports: [KbqToggleComponent],
                    declarations: [KbqToggleComponent]
                }]
        }] });

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

export { KbqToggleChange, KbqToggleComponent, KbqToggleModule };
//# sourceMappingURL=koobiq-components-toggle.mjs.map
