import { FocusMonitor } from '@angular/cdk/a11y';
import { coerceBooleanProperty } from '@angular/cdk/coercion';
import { Platform } from '@angular/cdk/platform';
import { DOCUMENT } from '@angular/common';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DestroyRef, Directive, ElementRef, Input, NgZone, Optional, ViewEncapsulation, afterNextRender, booleanAttribute, inject } from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { DOWN_ARROW, ENTER, NUMPAD_DIVIDE, RIGHT_ARROW, SLASH, SPACE } from '@koobiq/cdk/keycodes';
import { KbqButton, KbqButtonCssStyler } from '@koobiq/components/button';
import { KBQ_WINDOW, PopUpPlacements, PopUpTriggers, kbqInjectNativeElement } from '@koobiq/components/core';
import { KbqDropdownTrigger } from '@koobiq/components/dropdown';
import { KbqFormField } from '@koobiq/components/form-field';
import { KbqIcon } from '@koobiq/components/icon';
import { KbqTooltipTrigger, TooltipModifier } from '@koobiq/components/tooltip';
import { EMPTY, Subject, merge } from 'rxjs';
import { take } from 'rxjs/operators';
import { KbqVerticalNavbar } from './vertical-navbar.component';
import * as i0 from "@angular/core";
import * as i1 from "./vertical-navbar.component";
import * as i2 from "@angular/cdk/a11y";
import * as i3 from "@koobiq/components/dropdown";
import * as i4 from "@koobiq/components/tooltip";
import * as i5 from "@koobiq/components/icon";
export class KbqNavbarLogo {
    constructor() {
        this.hovered = new Subject();
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarLogo, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqNavbarLogo, selector: "kbq-navbar-logo, [kbq-navbar-logo]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, classAttribute: "kbq-navbar-logo" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarLogo, decorators: [{
            type: Directive,
            args: [{
                    selector: 'kbq-navbar-logo, [kbq-navbar-logo]',
                    host: {
                        class: 'kbq-navbar-logo',
                        '(mouseenter)': 'hovered.next(true)',
                        '(mouseleave)': 'hovered.next(false)'
                    }
                }]
        }] });
export class KbqNavbarBento {
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarBento, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqNavbarBento, selector: "kbq-navbar-item[bento], [kbq-navbar-item][bento]", host: { classAttribute: "kbq-navbar-bento" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarBento, decorators: [{
            type: Directive,
            args: [{
                    selector: 'kbq-navbar-item[bento], [kbq-navbar-item][bento]',
                    host: {
                        class: 'kbq-navbar-bento'
                    }
                }]
        }] });
export class KbqNavbarTitle {
    constructor() {
        this.isBrowser = inject(Platform).isBrowser;
        this.nativeElement = kbqInjectNativeElement();
        this.window = inject(KBQ_WINDOW);
        this.hovered = new Subject();
        this.isTextOverflown = false;
    }
    get text() {
        return this.nativeElement.textContent || '';
    }
    get isOverflown() {
        return this.nativeElement.scrollWidth > this.nativeElement.clientWidth;
    }
    getOuterElementWidth() {
        if (!this.isBrowser)
            return 0;
        const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);
        return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item) || 0, 0);
    }
    checkTextOverflown() {
        this.isTextOverflown = this.text.length > 18;
    }
    ngAfterViewInit() {
        this.outerElementWidth = this.getOuterElementWidth();
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqNavbarTitle, selector: "kbq-navbar-title, [kbq-navbar-title]", host: { listeners: { "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)" }, properties: { "class.kbq-navbar-title_small": "isTextOverflown" }, classAttribute: "kbq-navbar-title" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarTitle, decorators: [{
            type: Directive,
            args: [{
                    selector: 'kbq-navbar-title, [kbq-navbar-title]',
                    host: {
                        class: 'kbq-navbar-title',
                        '[class.kbq-navbar-title_small]': 'isTextOverflown',
                        '(mouseenter)': 'hovered.next(true)',
                        '(mouseleave)': 'hovered.next(false)'
                    }
                }]
        }] });
export class KbqNavbarBrand {
    get hasBento() {
        return !!this.navbar?.bento;
    }
    constructor(navbar) {
        this.navbar = navbar;
        this.hovered = false;
        this.destroyRef = inject(DestroyRef);
    }
    ngAfterContentInit() {
        merge(this.logo ? this.logo.hovered : EMPTY, this.title ? this.title.hovered : EMPTY)
            .pipe(takeUntilDestroyed(this.destroyRef))
            .subscribe((value) => (this.hovered = !!value));
        this.navbar?.animationDone
            .pipe(takeUntilDestroyed(this.destroyRef))
            .subscribe(() => this.title?.checkTextOverflown());
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarBrand, deps: [{ token: i1.KbqVerticalNavbar, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
    /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: KbqNavbarBrand, selector: "kbq-navbar-brand, [kbq-navbar-brand]", host: { properties: { "class.kbq-hovered": "hovered" }, classAttribute: "kbq-navbar-brand" }, queries: [{ propertyName: "logo", first: true, predicate: KbqNavbarLogo, descendants: true }, { propertyName: "title", first: true, predicate: KbqNavbarTitle, descendants: true }], exportAs: ["kbqNavbarBrand"], ngImport: i0, template: `
        <ng-content />
    `, isInline: true }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarBrand, decorators: [{
            type: Component,
            args: [{
                    selector: 'kbq-navbar-brand, [kbq-navbar-brand]',
                    exportAs: 'kbqNavbarBrand',
                    template: `
        <ng-content />
    `,
                    host: {
                        class: 'kbq-navbar-brand',
                        '[class.kbq-hovered]': 'hovered'
                    }
                }]
        }], ctorParameters: () => [{ type: i1.KbqVerticalNavbar, decorators: [{
                    type: Optional
                }] }], propDecorators: { logo: [{
                type: ContentChild,
                args: [KbqNavbarLogo]
            }], title: [{
                type: ContentChild,
                args: [KbqNavbarTitle]
            }] } });
export class KbqNavbarDivider {
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarDivider, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqNavbarDivider, selector: "kbq-navbar-divider", host: { classAttribute: "kbq-navbar-divider" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarDivider, decorators: [{
            type: Directive,
            args: [{
                    selector: 'kbq-navbar-divider',
                    host: {
                        class: 'kbq-navbar-divider'
                    }
                }]
        }] });
export class KbqNavbarFocusableItem {
    get nestedElement() {
        return this.button || this.formField;
    }
    get tooltip() {
        return this._tooltip;
    }
    get hasFocus() {
        return !!this.nestedElement?.hasFocus || this._hasFocus;
    }
    set hasFocus(value) {
        this._hasFocus = value;
    }
    /** Whether the item is disabled. */
    get disabled() {
        return this._disabled;
    }
    set disabled(value) {
        if (value !== this._disabled) {
            this._disabled = value;
            this.changeDetector.markForCheck();
        }
    }
    get tabIndex() {
        return -1;
    }
    constructor(elementRef, changeDetector, focusMonitor, ngZone) {
        this.elementRef = elementRef;
        this.changeDetector = changeDetector;
        this.focusMonitor = focusMonitor;
        this.ngZone = ngZone;
        this.onFocus = new Subject();
        this.onBlur = new Subject();
        this._hasFocus = false;
        this._disabled = false;
    }
    ngAfterViewInit() {
        this.focusMonitor.monitor(this.elementRef);
    }
    ngAfterContentInit() {
        if (this.button) {
            this.button.tabIndex = -1;
        }
    }
    ngOnDestroy() {
        this.focusMonitor.stopMonitoring(this.elementRef);
    }
    setTooltip(value) {
        this._tooltip = value;
    }
    onFocusHandler() {
        if (this.disabled || this.hasFocus) {
            return;
        }
        this.onFocus.next({ item: this });
        this.hasFocus = true;
        this.changeDetector.markForCheck();
        this.elementRef.nativeElement.focus();
    }
    focus(origin) {
        if (this.disabled || this.hasFocus) {
            return;
        }
        if (origin === 'keyboard') {
            this.focusMonitor.focusVia(this.elementRef, origin);
        }
        if (this.nestedElement) {
            this.nestedElement.focusViaKeyboard();
            this.changeDetector.markForCheck();
            return;
        }
        this.tooltip?.show();
        this.onFocusHandler();
    }
    blur() {
        // When animations are enabled, Angular may end up removing the option from the DOM a little
        // earlier than usual, causing it to be blurred and throwing off the logic in the list
        // that moves focus not the next item. To work around the issue, we defer marking the option
        // as not focused until the next time the zone stabilizes.
        this.ngZone.onStable
            .asObservable()
            .pipe(take(1))
            .subscribe(() => {
            this.ngZone.run(() => {
                this._hasFocus = false;
                this.tooltip?.hide();
                if (this.button?.hasFocus) {
                    return;
                }
                this.onBlur.next({ item: this });
            });
        });
    }
    getLabel() {
        return this.title?.text || '';
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarFocusableItem, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
    /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.14", type: KbqNavbarFocusableItem, selector: "kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "focus": "onFocusHandler()", "blur": "blur()" }, properties: { "attr.tabindex": "tabIndex", "attr.disabled": "disabled || null", "class.kbq-navbar-item_has-nested": "!!nestedElement", "class.kbq-disabled": "disabled" }, classAttribute: "kbq-navbar-focusable-item" }, queries: [{ propertyName: "title", first: true, predicate: KbqNavbarTitle, descendants: true }, { propertyName: "button", first: true, predicate: KbqButton, descendants: true }, { propertyName: "formField", first: true, predicate: KbqFormField, descendants: true }], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarFocusableItem, decorators: [{
            type: Directive,
            args: [{
                    selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-brand, [kbq-navbar-brand], kbq-navbar-toggle',
                    host: {
                        '[attr.tabindex]': 'tabIndex',
                        '[attr.disabled]': 'disabled || null',
                        class: 'kbq-navbar-focusable-item',
                        '[class.kbq-navbar-item_has-nested]': '!!nestedElement',
                        '[class.kbq-disabled]': 'disabled',
                        '(focus)': 'onFocusHandler()',
                        '(blur)': 'blur()'
                    }
                }]
        }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.FocusMonitor }, { type: i0.NgZone }], propDecorators: { title: [{
                type: ContentChild,
                args: [KbqNavbarTitle]
            }], button: [{
                type: ContentChild,
                args: [KbqButton]
            }], formField: [{
                type: ContentChild,
                args: [KbqFormField]
            }], disabled: [{
                type: Input,
                args: [{ transform: booleanAttribute }]
            }] } });
export class KbqNavbarRectangleElement {
    constructor() {
        this.isBrowser = inject(Platform).isBrowser;
        this.nativeElement = kbqInjectNativeElement();
        this.window = inject(KBQ_WINDOW);
        this.changeDetectorRef = inject(ChangeDetectorRef);
        this.state = new Subject();
        this._horizontal = false;
        this._vertical = true;
    }
    get horizontal() {
        return this._horizontal;
    }
    set horizontal(value) {
        if (this._horizontal === value)
            return;
        this._horizontal = value;
        this._vertical = !value;
        this.state.next();
        this.changeDetectorRef.markForCheck();
    }
    get vertical() {
        return this._vertical;
    }
    set vertical(value) {
        if (this._vertical === value)
            return;
        this._vertical = value;
        this._horizontal = !value;
        this.state.next();
        this.changeDetectorRef.markForCheck();
    }
    get collapsed() {
        return this._collapsed;
    }
    set collapsed(value) {
        this._collapsed = value;
        this.state.next();
    }
    getOuterElementWidth() {
        if (!this.isBrowser)
            return 0;
        const { width, marginLeft, marginRight } = this.window.getComputedStyle(this.nativeElement);
        return [width, marginLeft, marginRight].reduce((acc, item) => acc + parseInt(item), 0);
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarRectangleElement, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqNavbarRectangleElement, selector: "kbq-navbar-item, [kbq-navbar-item], kbq-navbar-divider, kbq-navbar-brand, [kbq-navbar-brand]", host: { properties: { "class.kbq-vertical": "vertical", "class.kbq-horizontal": "horizontal", "class.kbq-expanded": "vertical && !collapsed", "class.kbq-collapsed": "vertical && collapsed" } }, queries: [{ propertyName: "button", first: true, predicate: KbqButtonCssStyler, descendants: true }], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarRectangleElement, decorators: [{
            type: Directive,
            args: [{
                    selector: 'kbq-navbar-item, [kbq-navbar-item], kbq-navbar-divider, kbq-navbar-brand, [kbq-navbar-brand]',
                    host: {
                        '[class.kbq-vertical]': 'vertical',
                        '[class.kbq-horizontal]': 'horizontal',
                        '[class.kbq-expanded]': 'vertical && !collapsed',
                        '[class.kbq-collapsed]': 'vertical && collapsed'
                    }
                }]
        }], propDecorators: { button: [{
                type: ContentChild,
                args: [KbqButtonCssStyler]
            }] } });
export class KbqNavbarItem extends KbqTooltipTrigger {
    get trigger() {
        return this._trigger;
    }
    set trigger(value) {
        if (value) {
            this._trigger = value;
            this.initListeners();
        }
    }
    set collapsed(value) {
        if (this._collapsed !== value) {
            this._collapsed = value;
            this.updateTooltip();
        }
    }
    // todo in future need rename to 'collapsed'
    get isCollapsed() {
        return this._collapsed ?? this.rectangleElement.collapsed;
    }
    get croppedText() {
        const croppedTitleText = this.title?.isOverflown ? this.titleText : '';
        return `${croppedTitleText}`;
    }
    get collapsable() {
        return this._collapsable;
    }
    set collapsable(value) {
        this._collapsable = coerceBooleanProperty(value);
    }
    get titleText() {
        return this.collapsedText || this.title?.text || null;
    }
    get disabled() {
        if (this._disabled !== undefined) {
            return this._disabled;
        }
        return !this.isCollapsed && !this.hasCroppedText;
    }
    set disabled(value) {
        this._disabled = coerceBooleanProperty(value);
    }
    get hasDropDownTrigger() {
        return !!this.dropdownTrigger;
    }
    get showVerticalDropDownAngle() {
        return !this.bento && this.hasDropDownTrigger && this.rectangleElement.vertical && !this.isCollapsed;
    }
    get showHorizontalDropDownAngle() {
        return this.hasDropDownTrigger && this.rectangleElement.horizontal && !this.isCollapsed;
    }
    get hasCroppedText() {
        return !!this.title?.isOverflown;
    }
    constructor(rectangleElement, navbarFocusableItem, changeDetectorRef, dropdownTrigger, bento, tooltip) {
        super();
        this.rectangleElement = rectangleElement;
        this.navbarFocusableItem = navbarFocusableItem;
        this.changeDetectorRef = changeDetectorRef;
        this.dropdownTrigger = dropdownTrigger;
        this.bento = bento;
        this.tooltip = tooltip;
        this._collapsed = false;
        this._collapsable = true;
        if (this.hasDropDownTrigger) {
            this.dropdownTrigger.openByArrowDown = false;
        }
        this.rectangleElement.state.subscribe(() => {
            this.collapsed = this.rectangleElement.collapsed;
            this.changeDetectorRef.detectChanges();
        });
        this._trigger = `${PopUpTriggers.Hover}`;
        this.navbarFocusableItem.setTooltip(this);
        if (this.tooltip) {
            this.tooltip.arrow = false;
            this.tooltip.offset = 0;
            this.tooltip['overlayConfig'].panelClass = 'kbq-tooltip-panel_horizontal-navbar';
        }
    }
    ngAfterContentInit() {
        this.updateTooltip();
    }
    updateTooltip() {
        if (this.isCollapsed) {
            this.content = `${this.titleText || ''}`;
        }
        else if (!this.isCollapsed && this.hasCroppedText) {
            this.content = this.croppedText;
        }
        if (this.rectangleElement.vertical) {
            this.placement = PopUpPlacements.Right;
        }
        this.changeDetectorRef.markForCheck();
    }
    getTitleWidth() {
        return this.title.outerElementWidth;
    }
    onKeyDown($event) {
        if (!this.hasDropDownTrigger) {
            return;
        }
        if ((this.rectangleElement.horizontal && $event.keyCode === DOWN_ARROW) ||
            (this.rectangleElement.vertical && $event.keyCode === RIGHT_ARROW)) {
            this.dropdownTrigger.openedBy = 'keyboard';
            this.dropdownTrigger.open();
            $event.stopPropagation();
            $event.preventDefault();
        }
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarItem, deps: [{ token: KbqNavbarRectangleElement }, { token: KbqNavbarFocusableItem }, { token: i0.ChangeDetectorRef }, { token: i3.KbqDropdownTrigger, optional: true }, { token: KbqNavbarBento, optional: true }, { token: i4.KbqTooltipTrigger, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
    /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqNavbarItem, selector: "kbq-navbar-item, [kbq-navbar-item]", inputs: { collapsedText: "collapsedText", trigger: ["kbqTrigger", "trigger"], collapsable: "collapsable" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.kbq-navbar-item_collapsed": "isCollapsed", "class.kbq-navbar-item_with-title": "!!title" }, classAttribute: "kbq-navbar-item" }, queries: [{ propertyName: "title", first: true, predicate: KbqNavbarTitle, descendants: true }, { propertyName: "icon", first: true, predicate: KbqIcon, descendants: true }], exportAs: ["kbqNavbarItem"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[kbq-icon]\" />\n\n@if (title) {\n    <div class=\"kbq-navbar-item__container\">\n        <div class=\"kbq-navbar-item__title\">\n            <ng-content select=\"kbq-navbar-title, [kbq-navbar-title]\" />\n        </div>\n        @if (showVerticalDropDownAngle) {\n            <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n        }\n        @if (showHorizontalDropDownAngle) {\n            <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n        }\n    </div>\n}\n\n<ng-content />\n", dependencies: [{ kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarItem, decorators: [{
            type: Component,
            args: [{ selector: 'kbq-navbar-item, [kbq-navbar-item]', exportAs: 'kbqNavbarItem', host: {
                        class: 'kbq-navbar-item',
                        '[class.kbq-navbar-item_collapsed]': 'isCollapsed',
                        '[class.kbq-navbar-item_with-title]': '!!title',
                        '(keydown)': 'onKeyDown($event)'
                    }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content select=\"[kbq-icon]\" />\n\n@if (title) {\n    <div class=\"kbq-navbar-item__container\">\n        <div class=\"kbq-navbar-item__title\">\n            <ng-content select=\"kbq-navbar-title, [kbq-navbar-title]\" />\n        </div>\n        @if (showVerticalDropDownAngle) {\n            <i kbq-icon=\"kbq-chevron-right_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n        }\n        @if (showHorizontalDropDownAngle) {\n            <i kbq-icon=\"kbq-chevron-down-s_16\" class=\"kbq-navbar-item__arrow-icon\"></i>\n        }\n    </div>\n}\n\n<ng-content />\n" }]
        }], ctorParameters: () => [{ type: KbqNavbarRectangleElement }, { type: KbqNavbarFocusableItem }, { type: i0.ChangeDetectorRef }, { type: i3.KbqDropdownTrigger, decorators: [{
                    type: Optional
                }] }, { type: KbqNavbarBento, decorators: [{
                    type: Optional
                }] }, { type: i4.KbqTooltipTrigger, decorators: [{
                    type: Optional
                }] }], propDecorators: { title: [{
                type: ContentChild,
                args: [KbqNavbarTitle]
            }], icon: [{
                type: ContentChild,
                args: [KbqIcon]
            }], collapsedText: [{
                type: Input
            }], trigger: [{
                type: Input,
                args: ['kbqTrigger']
            }], collapsable: [{
                type: Input
            }] } });
export class KbqNavbarToggle extends KbqTooltipTrigger {
    get content() {
        return this._content;
    }
    set content(content) {
        this._content = content;
        this.updateData();
    }
    get disabled() {
        return this.navbar.expanded;
    }
    constructor(navbar, changeDetectorRef) {
        super();
        this.navbar = navbar;
        this.changeDetectorRef = changeDetectorRef;
        this.document = inject(DOCUMENT);
        this.window = inject(KBQ_WINDOW);
        this.modifier = TooltipModifier.Default;
        this.toggle = () => {
            this.navbar.toggle();
            this.changeDetectorRef.markForCheck();
            this.hide();
        };
        this.windowToggleHandler = (event) => {
            if (event.ctrlKey && [NUMPAD_DIVIDE, SLASH].includes(event.keyCode)) {
                this.ngZone.run(this.toggle);
            }
        };
        this.placement = PopUpPlacements.Right;
        afterNextRender(() => {
            this.ngZone.runOutsideAngular(() => this.window.addEventListener('keydown', this.windowToggleHandler));
        });
    }
    onKeydown($event) {
        if ([SPACE, ENTER].includes($event.keyCode)) {
            this.toggle();
            $event.stopPropagation();
            $event.preventDefault();
        }
        super.keydownHandler($event);
    }
    ngOnDestroy() {
        this.window.removeEventListener('keydown', this.windowToggleHandler);
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarToggle, deps: [{ token: i1.KbqVerticalNavbar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
    /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqNavbarToggle, selector: "kbq-navbar-toggle", inputs: { content: ["kbqCollapsedTooltip", "content"] }, host: { listeners: { "keydown": "onKeydown($event)", "click": "toggle()", "touchend": "touchendHandler()" }, properties: { "class.kbq-tooltip_open": "isOpen", "class.kbq-collapsed": "!navbar.expanded", "class.kbq-expanded": "navbar.expanded" }, classAttribute: "kbq-navbar-item kbq-navbar-toggle kbq-vertical" }, queries: [{ propertyName: "customIcon", first: true, predicate: KbqIcon, descendants: true }], usesInheritance: true, ngImport: i0, template: `
        @if (!customIcon) {
            <i
                kbq-icon
                [class.kbq-bars-arrow-left_16]="navbar.expanded"
                [class.kbq-bars-arrow-right_16]="!navbar.expanded"
            ></i>
        }

        <ng-content select="[kbq-icon]" />

        @if (navbar.expanded) {
            <div class="kbq-navbar-item__title">
                <ng-content select="kbq-navbar-title" />
            </div>
        }
    `, isInline: true, styles: ["button.kbq-navbar-item,button.kbq-navbar-brand,button.kbq-navbar-toggle{background:transparent;border:none}.kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar .kbq-navbar-container+.kbq-navbar-container{margin-left:var(--kbq-size-xxl)}.kbq-navbar,.kbq-vertical-navbar .kbq-vertical-navbar__container{background-color:var(--kbq-navbar-background)}.kbq-vertical-navbar .kbq-vertical-navbar__container{border-right:1px solid var(--kbq-navbar-border)}.kbq-navbar-item,.kbq-navbar-brand,.kbq-navbar-toggle{cursor:pointer}.kbq-navbar-item:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle:not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-default-content-background)}.kbq-navbar-item .kbq-navbar-title,.kbq-navbar-brand .kbq-navbar-title,.kbq-navbar-toggle .kbq-navbar-title{color:var(--kbq-navbar-item-default-content-text)}.kbq-navbar-item>.kbq-icon.kbq-empty,.kbq-navbar-brand>.kbq-icon.kbq-empty,.kbq-navbar-toggle>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-default-content-icon-left)!important}.kbq-navbar-item .kbq-navbar-item__arrow-icon,.kbq-navbar-brand .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-default-content-icon-right)!important}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-states-hover-content-background)}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title{color:var(--kbq-navbar-item-states-hover-content-text)}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-states-hover-content-icon-left)!important}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-states-hover-content-icon-right)!important}.kbq-navbar-item.cdk-focused.cdk-keyboard-focused,.kbq-navbar-brand.cdk-focused.cdk-keyboard-focused,.kbq-navbar-toggle.cdk-focused.cdk-keyboard-focused{outline:none}.kbq-navbar-item.cdk-focused.cdk-keyboard-focused:after,.kbq-navbar-brand.cdk-focused.cdk-keyboard-focused:after,.kbq-navbar-toggle.cdk-focused.cdk-keyboard-focused:after{display:block;box-shadow:inset 0 0 0 2px var(--kbq-states-line-focus-theme)}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-states-selected-content-background)}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title{color:var(--kbq-navbar-item-states-selected-content-text)}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-states-selected-content-icon-left)!important}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-states-selected-content-icon-right)!important}.kbq-navbar-item.kbq-navbar-focusable-item,.kbq-navbar-brand.kbq-navbar-focusable-item,.kbq-navbar-toggle.kbq-navbar-focusable-item{outline:none}.kbq-navbar-item.kbq-disabled,.kbq-navbar-brand.kbq-disabled,.kbq-navbar-toggle.kbq-disabled{pointer-events:none;cursor:default}.kbq-navbar-item.kbq-disabled:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand.kbq-disabled:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle.kbq-disabled:not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-states-disabled-content-background)}.kbq-navbar-item.kbq-disabled .kbq-navbar-title,.kbq-navbar-brand.kbq-disabled .kbq-navbar-title,.kbq-navbar-toggle.kbq-disabled .kbq-navbar-title{color:var(--kbq-navbar-item-states-disabled-content-text)}.kbq-navbar-item.kbq-disabled>.kbq-icon.kbq-empty,.kbq-navbar-brand.kbq-disabled>.kbq-icon.kbq-empty,.kbq-navbar-toggle.kbq-disabled>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-states-disabled-content-icon-left)!important}.kbq-navbar-item.kbq-disabled .kbq-navbar-item__arrow-icon,.kbq-navbar-brand.kbq-disabled .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle.kbq-disabled .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-states-disabled-content-icon-right)!important}.kbq-navbar-brand.kbq-vertical:hover .kbq-navbar-logo{transform:scale(1.06)}.kbq-navbar-brand.kbq-horizontal:hover .kbq-navbar-logo{z-index:1}.kbq-navbar-divider{background:var(--kbq-line-contrast-less)}.kbq-navbar-title{font-size:var(--kbq-typography-text-normal-medium-font-size);font-style:var(--kbq-typography-text-normal-medium-font-style);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-navbar-brand .kbq-navbar-title{font-size:var(--kbq-typography-navbar-title-font-size);font-style:var(--kbq-typography-navbar-title-font-style);font-weight:var(--kbq-typography-navbar-title-font-weight);line-height:var(--kbq-typography-navbar-title-line-height);font-family:var(--kbq-typography-navbar-title-font-family);text-transform:var(--kbq-typography-navbar-title-text-transform);font-feature-settings:var(--kbq-typography-navbar-title-font-feature-settings);letter-spacing:var(--kbq-typography-navbar-title-letter-spacing)}\n"], dependencies: [{ kind: "component", type: i5.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqNavbarToggle, decorators: [{
            type: Component,
            args: [{ selector: 'kbq-navbar-toggle', template: `
        @if (!customIcon) {
            <i
                kbq-icon
                [class.kbq-bars-arrow-left_16]="navbar.expanded"
                [class.kbq-bars-arrow-right_16]="!navbar.expanded"
            ></i>
        }

        <ng-content select="[kbq-icon]" />

        @if (navbar.expanded) {
            <div class="kbq-navbar-item__title">
                <ng-content select="kbq-navbar-title" />
            </div>
        }
    `, host: {
                        class: 'kbq-navbar-item kbq-navbar-toggle kbq-vertical',
                        '[class.kbq-tooltip_open]': 'isOpen',
                        '[class.kbq-collapsed]': '!navbar.expanded',
                        '[class.kbq-expanded]': 'navbar.expanded',
                        '(keydown)': 'onKeydown($event)',
                        '(click)': 'toggle()',
                        '(touchend)': 'touchendHandler()'
                    }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: ["button.kbq-navbar-item,button.kbq-navbar-brand,button.kbq-navbar-toggle{background:transparent;border:none}.kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar .kbq-navbar-container+.kbq-navbar-container{margin-left:var(--kbq-size-xxl)}.kbq-navbar,.kbq-vertical-navbar .kbq-vertical-navbar__container{background-color:var(--kbq-navbar-background)}.kbq-vertical-navbar .kbq-vertical-navbar__container{border-right:1px solid var(--kbq-navbar-border)}.kbq-navbar-item,.kbq-navbar-brand,.kbq-navbar-toggle{cursor:pointer}.kbq-navbar-item:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle:not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-default-content-background)}.kbq-navbar-item .kbq-navbar-title,.kbq-navbar-brand .kbq-navbar-title,.kbq-navbar-toggle .kbq-navbar-title{color:var(--kbq-navbar-item-default-content-text)}.kbq-navbar-item>.kbq-icon.kbq-empty,.kbq-navbar-brand>.kbq-icon.kbq-empty,.kbq-navbar-toggle>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-default-content-icon-left)!important}.kbq-navbar-item .kbq-navbar-item__arrow-icon,.kbq-navbar-brand .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-default-content-icon-right)!important}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-states-hover-content-background)}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title{color:var(--kbq-navbar-item-states-hover-content-text)}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-states-hover-content-icon-left)!important}.kbq-navbar-item:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-brand:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle:hover:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-states-hover-content-icon-right)!important}.kbq-navbar-item.cdk-focused.cdk-keyboard-focused,.kbq-navbar-brand.cdk-focused.cdk-keyboard-focused,.kbq-navbar-toggle.cdk-focused.cdk-keyboard-focused{outline:none}.kbq-navbar-item.cdk-focused.cdk-keyboard-focused:after,.kbq-navbar-brand.cdk-focused.cdk-keyboard-focused:after,.kbq-navbar-toggle.cdk-focused.cdk-keyboard-focused:after{display:block;box-shadow:inset 0 0 0 2px var(--kbq-states-line-focus-theme)}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand):not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-states-selected-content-background)}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-title{color:var(--kbq-navbar-item-states-selected-content-text)}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand)>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-states-selected-content-icon-left)!important}.kbq-navbar-item:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-item.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-brand:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-brand.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle:active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle.kbq-active:not(.kbq-disabled,.kbq-vertical.kbq-navbar-brand) .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-states-selected-content-icon-right)!important}.kbq-navbar-item.kbq-navbar-focusable-item,.kbq-navbar-brand.kbq-navbar-focusable-item,.kbq-navbar-toggle.kbq-navbar-focusable-item{outline:none}.kbq-navbar-item.kbq-disabled,.kbq-navbar-brand.kbq-disabled,.kbq-navbar-toggle.kbq-disabled{pointer-events:none;cursor:default}.kbq-navbar-item.kbq-disabled:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-brand.kbq-disabled:not(.kbq-navbar-item_has-nested):after,.kbq-navbar-toggle.kbq-disabled:not(.kbq-navbar-item_has-nested):after{display:block;background:var(--kbq-navbar-item-states-disabled-content-background)}.kbq-navbar-item.kbq-disabled .kbq-navbar-title,.kbq-navbar-brand.kbq-disabled .kbq-navbar-title,.kbq-navbar-toggle.kbq-disabled .kbq-navbar-title{color:var(--kbq-navbar-item-states-disabled-content-text)}.kbq-navbar-item.kbq-disabled>.kbq-icon.kbq-empty,.kbq-navbar-brand.kbq-disabled>.kbq-icon.kbq-empty,.kbq-navbar-toggle.kbq-disabled>.kbq-icon.kbq-empty{color:var(--kbq-navbar-item-states-disabled-content-icon-left)!important}.kbq-navbar-item.kbq-disabled .kbq-navbar-item__arrow-icon,.kbq-navbar-brand.kbq-disabled .kbq-navbar-item__arrow-icon,.kbq-navbar-toggle.kbq-disabled .kbq-navbar-item__arrow-icon{color:var(--kbq-navbar-item-states-disabled-content-icon-right)!important}.kbq-navbar-brand.kbq-vertical:hover .kbq-navbar-logo{transform:scale(1.06)}.kbq-navbar-brand.kbq-horizontal:hover .kbq-navbar-logo{z-index:1}.kbq-navbar-divider{background:var(--kbq-line-contrast-less)}.kbq-navbar-title{font-size:var(--kbq-typography-text-normal-medium-font-size);font-style:var(--kbq-typography-text-normal-medium-font-style);font-weight:var(--kbq-typography-text-normal-medium-font-weight);line-height:var(--kbq-typography-text-normal-medium-line-height);font-family:var(--kbq-typography-text-normal-medium-font-family);text-transform:var(--kbq-typography-text-normal-medium-text-transform);font-feature-settings:var(--kbq-typography-text-normal-medium-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-medium-letter-spacing)}.kbq-navbar-brand .kbq-navbar-title{font-size:var(--kbq-typography-navbar-title-font-size);font-style:var(--kbq-typography-navbar-title-font-style);font-weight:var(--kbq-typography-navbar-title-font-weight);line-height:var(--kbq-typography-navbar-title-line-height);font-family:var(--kbq-typography-navbar-title-font-family);text-transform:var(--kbq-typography-navbar-title-text-transform);font-feature-settings:var(--kbq-typography-navbar-title-font-feature-settings);letter-spacing:var(--kbq-typography-navbar-title-letter-spacing)}\n"] }]
        }], ctorParameters: () => [{ type: i1.KbqVerticalNavbar }, { type: i0.ChangeDetectorRef }], propDecorators: { customIcon: [{
                type: ContentChild,
                args: [KbqIcon]
            }], content: [{
                type: Input,
                args: ['kbqCollapsedTooltip']
            }] } });
//# sourceMappingURL=data:application/json;base64, 