import { MXBaseComponent, AXComponent } from '@acorex/cdk/common';
import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';
import * as i0 from '@angular/core';
import { Injectable, inject, PLATFORM_ID, output, model, input, viewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, contentChildren, signal, effect, HostBinding, NgModule } from '@angular/core';
import { RouterLink, RouterLinkActive } from '@angular/router';
import { Subject } from 'rxjs';

class AXRailNavigationService {
    constructor() {
        this.activeItem = new Subject();
        /**
         * Observable that emits the currently active rail navigation item.
         */
        this.activeItem$ = this.activeItem.asObservable();
    }
    /**
     * Sets the specified item as the active rail navigation item.
     * @param item - The rail navigation item to set as active
     */
    setActive(item) {
        this.activeItem.next(item);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationService, decorators: [{
            type: Injectable,
            args: [{ providedIn: 'root' }]
        }] });

class AXRailNavigationItemComponent extends MXBaseComponent {
    constructor() {
        super(...arguments);
        this.railNavigationService = inject(AXRailNavigationService);
        this.platformId = inject(PLATFORM_ID);
        this.onClick = output();
        this.active = model(false, ...(ngDevMode ? [{ debugName: "active" }] : []));
        this.disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
        this.href = input(...(ngDevMode ? [undefined, { debugName: "href" }] : []));
        this.routerLink = input(...(ngDevMode ? [undefined, { debugName: "routerLink" }] : []));
        this.routerLinkActive = input('ax-state-active', ...(ngDevMode ? [{ debugName: "routerLinkActive" }] : []));
        this.target = input('_self', ...(ngDevMode ? [{ debugName: "target" }] : []));
        this.routerLinkActiveOptions = input({ exact: false }, ...(ngDevMode ? [{ debugName: "routerLinkActiveOptions" }] : []));
        this.itemContainer = viewChild('itemContainer', ...(ngDevMode ? [{ debugName: "itemContainer" }] : []));
        this.observer = null;
    }
    ngAfterViewInit() {
        this.checkActive(this.itemContainer().nativeElement);
        if (isPlatformBrowser(this.platformId)) {
            this.observer = new MutationObserver((mutations) => {
                mutations.forEach((mutation) => {
                    if (mutation.attributeName === 'class') {
                        this.checkActive(mutation.target);
                    }
                });
            });
            this.observer.observe(this.itemContainer().nativeElement, {
                attributes: true,
                childList: false,
                characterData: false,
            });
        }
    }
    ngOnDestroy() {
        if (isPlatformBrowser(this.platformId)) {
            this.observer.disconnect();
            this.observer = null;
        }
    }
    handleClickEvent(e) {
        if (this.disabled())
            return;
        this.onClick.emit({
            component: this,
            htmlElement: this.getHostElement(),
            nativeEvent: e,
        });
    }
    /**
     * Gets the height and top position of the item.
     * @returns Object containing height and top position
     */
    getStats() {
        return {
            height: this.getHostElement().clientHeight,
            top: this.getHostElement().offsetTop,
        };
    }
    checkActive(item) {
        if (item.classList.contains('ax-state-active') && !this.disabled()) {
            this.railNavigationService.setActive(this);
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.9", type: AXRailNavigationItemComponent, isStandalone: true, selector: "ax-rail-navigation-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, routerLink: { classPropertyName: "routerLink", publicName: "routerLink", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActive: { classPropertyName: "routerLinkActive", publicName: "routerLinkActive", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, routerLinkActiveOptions: { classPropertyName: "routerLinkActiveOptions", publicName: "routerLinkActiveOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", active: "activeChange", disabled: "disabledChange" }, providers: [{ provide: AXComponent, useExisting: AXRailNavigationItemComponent }], viewQueries: [{ propertyName: "itemContainer", first: true, predicate: ["itemContainer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (routerLink()) {\n  <a\n    #itemContainer\n    [target]=\"target()\"\n    [routerLink]=\"routerLink()\"\n    class=\"ax-rail-navigation-item\"\n    (click)=\"handleClickEvent($event)\"\n    [class.ax-state-disabled]=\"disabled()\"\n    [routerLinkActive]=\"routerLinkActive()\"\n    [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n  >\n    <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n  </a>\n} @else if (href()) {\n  <a\n    #itemContainer\n    [href]=\"href()\"\n    [target]=\"target()\"\n    class=\"ax-rail-navigation-item\"\n    (click)=\"handleClickEvent($event)\"\n    [class.ax-state-active]=\"active() && !disabled()\"\n    [class.ax-state-disabled]=\"disabled()\"\n  >\n    <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n  </a>\n} @else {\n  <div\n    #itemContainer\n    class=\"ax-rail-navigation-item\"\n    (click)=\"handleClickEvent($event)\"\n    [class.ax-state-active]=\"active() && !disabled()\"\n    [class.ax-state-disabled]=\"disabled()\"\n  >\n    <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n  </div>\n}\n\n<ng-template #railNavigationItemContent>\n  <ng-content select=\"ax-prefix\"></ng-content>\n  <ng-content select=\"ax-icon\"></ng-content>\n  <ng-content select=\"ax-text\"></ng-content>\n  <ng-content select=\"ng-container,ng-content\"></ng-content>\n  <ng-content select=\"ax-suffix\"></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationItemComponent, decorators: [{
            type: Component,
            args: [{ selector: 'ax-rail-navigation-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [RouterLink, RouterLinkActive, NgTemplateOutlet], providers: [{ provide: AXComponent, useExisting: AXRailNavigationItemComponent }], template: "@if (routerLink()) {\n  <a\n    #itemContainer\n    [target]=\"target()\"\n    [routerLink]=\"routerLink()\"\n    class=\"ax-rail-navigation-item\"\n    (click)=\"handleClickEvent($event)\"\n    [class.ax-state-disabled]=\"disabled()\"\n    [routerLinkActive]=\"routerLinkActive()\"\n    [routerLinkActiveOptions]=\"routerLinkActiveOptions()\"\n  >\n    <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n  </a>\n} @else if (href()) {\n  <a\n    #itemContainer\n    [href]=\"href()\"\n    [target]=\"target()\"\n    class=\"ax-rail-navigation-item\"\n    (click)=\"handleClickEvent($event)\"\n    [class.ax-state-active]=\"active() && !disabled()\"\n    [class.ax-state-disabled]=\"disabled()\"\n  >\n    <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n  </a>\n} @else {\n  <div\n    #itemContainer\n    class=\"ax-rail-navigation-item\"\n    (click)=\"handleClickEvent($event)\"\n    [class.ax-state-active]=\"active() && !disabled()\"\n    [class.ax-state-disabled]=\"disabled()\"\n  >\n    <ng-container [ngTemplateOutlet]=\"railNavigationItemContent\"></ng-container>\n  </div>\n}\n\n<ng-template #railNavigationItemContent>\n  <ng-content select=\"ax-prefix\"></ng-content>\n  <ng-content select=\"ax-icon\"></ng-content>\n  <ng-content select=\"ax-text\"></ng-content>\n  <ng-content select=\"ng-container,ng-content\"></ng-content>\n  <ng-content select=\"ax-suffix\"></ng-content>\n</ng-template>\n" }]
        }], propDecorators: { onClick: [{ type: i0.Output, args: ["onClick"] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], href: [{ type: i0.Input, args: [{ isSignal: true, alias: "href", required: false }] }], routerLink: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLink", required: false }] }], routerLinkActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLinkActive", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], routerLinkActiveOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "routerLinkActiveOptions", required: false }] }], itemContainer: [{ type: i0.ViewChild, args: ['itemContainer', { isSignal: true }] }] } });

class AXRailNavigationComponent extends MXBaseComponent {
    #lookLocationChange;
    constructor() {
        super();
        this.railNavigationService = inject(AXRailNavigationService);
        this.indicator = viewChild('indicator', ...(ngDevMode ? [{ debugName: "indicator" }] : []));
        this.railNavItems = contentChildren(AXRailNavigationItemComponent, ...(ngDevMode ? [{ debugName: "railNavItems" }] : []));
        this.location = input('start', ...(ngDevMode ? [{ debugName: "location" }] : []));
        this.look = input('with-line-color', ...(ngDevMode ? [{ debugName: "look" }] : []));
        this.activeTab = signal(null, ...(ngDevMode ? [{ debugName: "activeTab" }] : []));
        this.#lookLocationChange = effect(() => {
            if (this.location()) {
                if (this.look() === 'with-line-color' || this.look() === 'with-line') {
                    setTimeout(() => {
                        this.setIndicatorPosition(this.activeTab());
                    });
                }
            }
        }, ...(ngDevMode ? [{ debugName: "#lookLocationChange" }] : []));
        this.railNavigationService.activeItem$.subscribe((item) => {
            this.activeTab.set(item);
            if (this.look() === 'with-line-color' || this.look() === 'with-line') {
                this.setIndicatorPosition(item);
            }
        });
    }
    setIndicatorPosition(tabItem) {
        const indicatorStyle = this.indicator().nativeElement.style;
        const itemStats = tabItem.getStats();
        indicatorStyle.width = ` var(--ax-comp-rail-navigation-indicator-size)`;
        indicatorStyle.height = `${itemStats.height}px`;
        indicatorStyle.top = `${itemStats.top}px`;
        indicatorStyle.bottom = `unset`;
        if (this.location() === 'start') {
            indicatorStyle.insetInlineStart = `0px`;
            indicatorStyle.insetInlineEnd = `unset`;
        }
        if (this.location() === 'end') {
            indicatorStyle.insetInlineStart = `unset`;
            indicatorStyle.insetInlineEnd = `0px`;
        }
    }
    get __hostClass() {
        const cssClasses = [];
        cssClasses.push(`ax-${this.location()}`);
        cssClasses.push(`ax-look-${this.look()}`);
        return cssClasses;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.9", type: AXRailNavigationComponent, isStandalone: true, selector: "ax-rail-navigation", inputs: { location: { classPropertyName: "location", publicName: "location", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXComponent, useExisting: AXRailNavigationComponent }], queries: [{ propertyName: "railNavItems", predicate: AXRailNavigationItemComponent, isSignal: true }], viewQueries: [{ propertyName: "indicator", first: true, predicate: ["indicator"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix, ax-header\"></ng-content>\n<ng-content select=\"ax-rail-navigation-item, ng-container, ng-content\"></ng-content>\n<div class=\"ax-suffix-container\">\n  <ng-content select=\"ax-suffix, ax-footer\"></ng-content>\n</div>\n<span class=\"ax-rail-indicator\" #indicator></span>\n", styles: ["ax-rail-navigation{--ax-comp-rail-navigation-indicator-size: 2px;height:100%;display:flex;overflow-y:auto;position:relative;align-items:center;padding-block:1rem;flex-direction:column;width:var(--ax-comp-rail-navigation-width, 7rem);font-size:var(--ax-comp-rail-navigation-font-size, .875rem);line-height:var(--ax-comp-rail-navigation-line-height, 1.375rem)}ax-rail-navigation .ax-suffix-container{height:100%;display:flex;align-items:end}ax-rail-navigation ax-rail-navigation-item{width:100%;-webkit-user-select:none;user-select:none}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item{gap:.25rem;display:flex;cursor:pointer;font-weight:500;align-items:center;padding-block:1.25rem;flex-direction:column;justify-content:center;opacity:var(--ax-comp-rail-navigation-item-opacity, .6);color:rgba(var(--ax-comp-rail-navigation-item-text-color, var(--ax-sys-color-on-lightest-surface)));transition-timing-function:var(--ax-sys-transition-timing-function);transition-duration:var(--ax-sys-transition-duration);transition-property:opacity,background-color}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-icon{display:flex;justify-content:center;font-size:var(--ax-comp-rail-navigation-item-icon-font-size, 1.125rem);border-radius:var(--ax-comp-rail-navigation-item-icon-border-radius, 1rem);padding-block:var(--ax-comp-rail-navigation-item-icon-padding-block, .25rem);padding-inline:var(--ax-comp-rail-navigation-item-icon-padding-inline, 1.25rem);transition-timing-function:var(--ax-sys-transition-timing-function);transition-duration:var(--ax-sys-transition-duration);transition-property:background-color,font-weight}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-text{font-weight:var(--ax-comp-rail-navigation-item-text-font-weight, 500)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item:hover{opacity:var(--ax-comp-rail-navigation-item-hover-opacity, .75)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-rail-navigation-item-disabled-opacity, .3)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled:hover{opacity:var(--ax-comp-rail-navigation-item-disabled-opacity, .3)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-active{opacity:var(--ax-comp-rail-navigation-item-active-opacity, 1)}ax-rail-navigation .ax-rail-indicator{display:none}ax-rail-navigation.ax-look-with-line .ax-rail-indicator,ax-rail-navigation.ax-look-with-line-color .ax-rail-indicator{display:block;position:absolute;width:var(--ax-comp-rail-navigation-indicator-size);background-color:rgba(var(--ax-comp-rail-navigation-indicator-color, var(--ax-sys-color-on-lightest-surface)));transition-timing-function:var(--ax-sys-transition-timing-function);transition-duration:var(--ax-sys-transition-duration);transition-property:height,top}ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:rgba(var(--ax-comp-rail-navigation-bg-color, var(--ax-sys-color-primary-surface), .1))}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item{opacity:var(--ax-comp-rail-navigation-item-pills-opacity, .7)}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item:hover,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item:hover{font-weight:700;opacity:var(--ax-comp-rail-navigation-item-pills-hover-opacity, .85)}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item:hover ax-icon,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item:hover ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-hover-icon-bg-color, var(--ax-sys-color-surface)))}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item.ax-state-active,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item.ax-state-active{font-weight:bolder;opacity:var(--ax-comp-rail-navigation-item-pills-active-opacity, 1)}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item.ax-state-active ax-icon,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item.ax-state-active ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-active-icon-bg-color, var(--ax-sys-color-darker-surface)))}ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-color-active-icon-bg-color, var(--ax-sys-color-primary-surface), .2))!important}.ax-dark ax-rail-navigation.ax-look-pills .ax-rail-navigation-item.ax-state-active ax-icon,.ax-dark ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item.ax-state-active ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-active-icon-bg-color, var(--ax-sys-color-lighter-surface)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationComponent, decorators: [{
            type: Component,
            args: [{ selector: 'ax-rail-navigation', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXComponent, useExisting: AXRailNavigationComponent }], template: "<ng-content select=\"ax-prefix, ax-header\"></ng-content>\n<ng-content select=\"ax-rail-navigation-item, ng-container, ng-content\"></ng-content>\n<div class=\"ax-suffix-container\">\n  <ng-content select=\"ax-suffix, ax-footer\"></ng-content>\n</div>\n<span class=\"ax-rail-indicator\" #indicator></span>\n", styles: ["ax-rail-navigation{--ax-comp-rail-navigation-indicator-size: 2px;height:100%;display:flex;overflow-y:auto;position:relative;align-items:center;padding-block:1rem;flex-direction:column;width:var(--ax-comp-rail-navigation-width, 7rem);font-size:var(--ax-comp-rail-navigation-font-size, .875rem);line-height:var(--ax-comp-rail-navigation-line-height, 1.375rem)}ax-rail-navigation .ax-suffix-container{height:100%;display:flex;align-items:end}ax-rail-navigation ax-rail-navigation-item{width:100%;-webkit-user-select:none;user-select:none}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item{gap:.25rem;display:flex;cursor:pointer;font-weight:500;align-items:center;padding-block:1.25rem;flex-direction:column;justify-content:center;opacity:var(--ax-comp-rail-navigation-item-opacity, .6);color:rgba(var(--ax-comp-rail-navigation-item-text-color, var(--ax-sys-color-on-lightest-surface)));transition-timing-function:var(--ax-sys-transition-timing-function);transition-duration:var(--ax-sys-transition-duration);transition-property:opacity,background-color}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-icon{display:flex;justify-content:center;font-size:var(--ax-comp-rail-navigation-item-icon-font-size, 1.125rem);border-radius:var(--ax-comp-rail-navigation-item-icon-border-radius, 1rem);padding-block:var(--ax-comp-rail-navigation-item-icon-padding-block, .25rem);padding-inline:var(--ax-comp-rail-navigation-item-icon-padding-inline, 1.25rem);transition-timing-function:var(--ax-sys-transition-timing-function);transition-duration:var(--ax-sys-transition-duration);transition-property:background-color,font-weight}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item ax-text{font-weight:var(--ax-comp-rail-navigation-item-text-font-weight, 500)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item:hover{opacity:var(--ax-comp-rail-navigation-item-hover-opacity, .75)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled{cursor:not-allowed;opacity:var(--ax-comp-rail-navigation-item-disabled-opacity, .3)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-disabled:hover{opacity:var(--ax-comp-rail-navigation-item-disabled-opacity, .3)}ax-rail-navigation ax-rail-navigation-item .ax-rail-navigation-item.ax-state-active{opacity:var(--ax-comp-rail-navigation-item-active-opacity, 1)}ax-rail-navigation .ax-rail-indicator{display:none}ax-rail-navigation.ax-look-with-line .ax-rail-indicator,ax-rail-navigation.ax-look-with-line-color .ax-rail-indicator{display:block;position:absolute;width:var(--ax-comp-rail-navigation-indicator-size);background-color:rgba(var(--ax-comp-rail-navigation-indicator-color, var(--ax-sys-color-on-lightest-surface)));transition-timing-function:var(--ax-sys-transition-timing-function);transition-duration:var(--ax-sys-transition-duration);transition-property:height,top}ax-rail-navigation.ax-look-with-line-color .ax-state-active{background-color:rgba(var(--ax-comp-rail-navigation-bg-color, var(--ax-sys-color-primary-surface), .1))}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item{opacity:var(--ax-comp-rail-navigation-item-pills-opacity, .7)}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item:hover,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item:hover{font-weight:700;opacity:var(--ax-comp-rail-navigation-item-pills-hover-opacity, .85)}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item:hover ax-icon,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item:hover ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-hover-icon-bg-color, var(--ax-sys-color-surface)))}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item.ax-state-active,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item.ax-state-active{font-weight:bolder;opacity:var(--ax-comp-rail-navigation-item-pills-active-opacity, 1)}ax-rail-navigation.ax-look-pills .ax-rail-navigation-item.ax-state-active ax-icon,ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item.ax-state-active ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-active-icon-bg-color, var(--ax-sys-color-darker-surface)))}ax-rail-navigation.ax-look-pills-color .ax-state-active ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-color-active-icon-bg-color, var(--ax-sys-color-primary-surface), .2))!important}.ax-dark ax-rail-navigation.ax-look-pills .ax-rail-navigation-item.ax-state-active ax-icon,.ax-dark ax-rail-navigation.ax-look-pills-color .ax-rail-navigation-item.ax-state-active ax-icon{background-color:rgba(var(--ax-comp-rail-navigation-item-pills-active-icon-bg-color, var(--ax-sys-color-lighter-surface)))}\n"] }]
        }], ctorParameters: () => [], propDecorators: { indicator: [{ type: i0.ViewChild, args: ['indicator', { isSignal: true }] }], railNavItems: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => AXRailNavigationItemComponent), { isSignal: true }] }], location: [{ type: i0.Input, args: [{ isSignal: true, alias: "location", required: false }] }], look: [{ type: i0.Input, args: [{ isSignal: true, alias: "look", required: false }] }], __hostClass: [{
                type: HostBinding,
                args: ['class']
            }] } });

class AXRailNavigationModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationModule, imports: [AXRailNavigationComponent, AXRailNavigationItemComponent], exports: [AXRailNavigationComponent, AXRailNavigationItemComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: AXRailNavigationModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [AXRailNavigationComponent, AXRailNavigationItemComponent],
                    exports: [AXRailNavigationComponent, AXRailNavigationItemComponent],
                }]
        }] });

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

export { AXRailNavigationComponent, AXRailNavigationItemComponent, AXRailNavigationModule, AXRailNavigationService };
//# sourceMappingURL=acorex-components-rail-navigation.mjs.map
