import * as i0 from '@angular/core';
import { Directive, contentChild, ViewContainerRef, contentChildren, signal, inject, Renderer2, HostListener, ChangeDetectionStrategy, ViewEncapsulation, Component, input, booleanAttribute, NgModule } from '@angular/core';
import { ButtonComponent } from '@fundamental-ngx/core/button';
import { ListItemComponent } from '@fundamental-ngx/core/list';

class SettingsHeaderButtonDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsHeaderButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: SettingsHeaderButtonDirective, isStandalone: true, selector: "[fd-settings-header-button]", ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsHeaderButtonDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-header-button]',
                    standalone: true
                }]
        }] });

class SettingsHeaderDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: SettingsHeaderDirective, isStandalone: true, selector: "[fd-settings-header]", host: { classAttribute: "fd-settings__header" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsHeaderDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-header]',
                    host: {
                        class: 'fd-settings__header'
                    },
                    standalone: true
                }]
        }] });

var VIEW_MODE;
(function (VIEW_MODE) {
    VIEW_MODE["LG"] = "lg";
    VIEW_MODE["MD"] = "md";
    VIEW_MODE["SM"] = "sm";
})(VIEW_MODE || (VIEW_MODE = {}));
class SettingsContainerComponent {
    /** @hidden */
    constructor() {
        /** @hidden */
        this.viewContainer = contentChild(SettingsHeaderDirective, { read: ViewContainerRef });
        /** @hidden */
        this.headerButton = contentChild(SettingsHeaderButtonDirective, { descendants: true, read: ButtonComponent });
        /** @hidden */
        this.listItems = contentChildren(ListItemComponent, { descendants: true });
        /** @hidden */
        this.activeListItem = signal(null);
        /** @hidden */
        this.viewMode = signal(VIEW_MODE.LG);
        /** @hidden */
        this.screenWidth = signal(window.innerWidth);
        /** @hidden */
        this.showListArea = signal(true);
        /** @hidden */
        this.showDetailArea = signal(true);
        /** @hidden */
        this._eventUnlisteners = [];
        /** @hidden */
        this._renderer = inject(Renderer2);
        this._updateViewMode();
    }
    /** @hidden */
    onWindowResize() {
        this.screenWidth.set(window.innerWidth);
        this._updateViewMode();
    }
    /** @hidden */
    ngAfterViewInit() {
        this._updateViewMode();
        this._setupHeaderButton();
        this._setupListItemListeners();
    }
    /** @hidden */
    ngOnDestroy() {
        this._eventUnlisteners.forEach((unlistener) => unlistener());
    }
    /** @hidden */
    _updateViewMode() {
        const screenWidth = this.screenWidth();
        if (screenWidth < 600) {
            this.viewMode.set(VIEW_MODE.SM);
        }
        else if (screenWidth < 1024) {
            this.viewMode.set(VIEW_MODE.MD);
        }
        else {
            this.viewMode.set(VIEW_MODE.LG);
        }
        const isLargeView = this.viewMode() === VIEW_MODE.LG;
        this.showListArea.set(true);
        this.showDetailArea.set(isLargeView);
        this._updateHeaderButtonVisibility();
    }
    /** @hidden */
    _setupHeaderButton() {
        const button = this.headerButton()?.elementRef.nativeElement;
        if (!button) {
            return;
        }
        this._eventUnlisteners.push(this._renderer.listen(button, 'click', () => {
            if (this.viewMode() !== VIEW_MODE.LG) {
                this.showListArea.set(true);
                this.showDetailArea.set(false);
            }
        }));
        this._updateHeaderButtonVisibility();
    }
    /** @hidden */
    _updateHeaderButtonVisibility() {
        const button = this.headerButton()?.elementRef.nativeElement;
        if (!button) {
            return;
        }
        this._renderer.setStyle(button, 'display', this.viewMode() === VIEW_MODE.LG ? 'none' : 'block');
    }
    /** @hidden */
    _setupListItemListeners() {
        this.listItems().forEach((item) => {
            if (item.selected) {
                this.activeListItem.set(item);
                this._renderTemplate();
            }
            this._eventUnlisteners.push(this._renderer.listen(item.elementRef.nativeElement, 'click', () => {
                const currentActiveItem = this.activeListItem();
                if (currentActiveItem) {
                    currentActiveItem.selected = false;
                }
                this.activeListItem.set(item);
                const newActiveItem = this.activeListItem();
                if (newActiveItem) {
                    newActiveItem.selected = true;
                }
                if (this.viewMode() !== VIEW_MODE.LG) {
                    this.showListArea.set(false);
                    this.showDetailArea.set(true);
                }
                this._renderTemplate();
            }));
        });
    }
    /** @hidden */
    _renderTemplate() {
        const template = this.activeListItem()?.settingsListTpl();
        if (this.viewContainer() && template) {
            this.viewContainer()?.clear();
            this.viewContainer()?.createEmbeddedView(template);
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: SettingsContainerComponent, isStandalone: true, selector: "fd-settings-container", host: { listeners: { "window:resize": "onWindowResize()" }, properties: { "class.fd-settings__container--md": "viewMode() === \"md\"", "class.fd-settings__container--sm": "viewMode() === \"sm\"" }, classAttribute: "fd-settings__container" }, queries: [{ propertyName: "viewContainer", first: true, predicate: SettingsHeaderDirective, descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "headerButton", first: true, predicate: SettingsHeaderButtonDirective, descendants: true, read: ButtonComponent, isSignal: true }, { propertyName: "listItems", predicate: ListItemComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
        @if (this.showListArea()) {
            <ng-content select="[fd-settings-list-area]"></ng-content>
        }
        @if (this.showDetailArea()) {
            <ng-content select="[fd-settings-detail-area]"></ng-content>
        }
    `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsContainerComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-settings-container',
                    template: `
        @if (this.showListArea()) {
            <ng-content select="[fd-settings-list-area]"></ng-content>
        }
        @if (this.showDetailArea()) {
            <ng-content select="[fd-settings-detail-area]"></ng-content>
        }
    `,
                    host: {
                        class: 'fd-settings__container',
                        '[class.fd-settings__container--md]': 'viewMode() === "md"',
                        '[class.fd-settings__container--sm]': 'viewMode() === "sm"'
                    },
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], ctorParameters: () => [], propDecorators: { onWindowResize: [{
                type: HostListener,
                args: ['window:resize']
            }] } });

class SettingsContentDirective {
    constructor() {
        /**
         * Whether the content should be without paddings.
         * Default value is false.
         */
        this.noPadding = input(false, { transform: booleanAttribute });
        /**
         * Whether the content should be without background.
         * Default value is false.
         */
        this.noBackground = input(false, { transform: booleanAttribute });
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", type: SettingsContentDirective, isStandalone: true, selector: "[fd-settings-content]", inputs: { noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null }, noBackground: { classPropertyName: "noBackground", publicName: "noBackground", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-settings__content--no-background": "noBackground()", "class.fd-settings__content--no-padding": "noPadding()" }, classAttribute: "fd-settings__content" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsContentDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-content]',
                    host: {
                        class: 'fd-settings__content',
                        '[class.fd-settings__content--no-background]': 'noBackground()',
                        '[class.fd-settings__content--no-padding]': 'noPadding()'
                    },
                    standalone: true
                }]
        }] });

class SettingsDetailAreaDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsDetailAreaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: SettingsDetailAreaDirective, isStandalone: true, selector: "[fd-settings-detail-area]", host: { classAttribute: "fd-settings__detail-area" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsDetailAreaDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-detail-area]',
                    host: {
                        class: 'fd-settings__detail-area'
                    },
                    standalone: true
                }]
        }] });

class SettingsDialogBodyDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsDialogBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: SettingsDialogBodyDirective, isStandalone: true, selector: "[fd-settings-dialog-body]", host: { classAttribute: "fd-settings__dialog-body" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsDialogBodyDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-dialog-body]',
                    host: {
                        class: 'fd-settings__dialog-body'
                    },
                    standalone: true
                }]
        }] });

class SettingsDialogContentDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: SettingsDialogContentDirective, isStandalone: true, selector: "[fd-settings-dialog-content]", host: { classAttribute: "fd-settings__dialog-content" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsDialogContentDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-dialog-content]',
                    host: {
                        class: 'fd-settings__dialog-content'
                    },
                    standalone: true
                }]
        }] });

class SettingsListAreaDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsListAreaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: SettingsListAreaDirective, isStandalone: true, selector: "[fd-settings-list-area]", host: { classAttribute: "fd-settings__list-area" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsListAreaDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-list-area]',
                    host: {
                        class: 'fd-settings__list-area'
                    },
                    standalone: true
                }]
        }] });

class SettingsListContainerDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsListContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: SettingsListContainerDirective, isStandalone: true, selector: "[fd-settings-list-container]", host: { classAttribute: "fd-settings__list-container" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsListContainerDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-settings-list-container]',
                    host: {
                        class: 'fd-settings__list-container'
                    },
                    standalone: true
                }]
        }] });

class SettingsComponent {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: SettingsComponent, isStandalone: true, selector: "[fd-settings]", host: { classAttribute: "fd-settings" }, ngImport: i0, template: ` <ng-content></ng-content>`, isInline: true, styles: ["@charset \"UTF-8\";.fd-settings .fd-settings__dialog-content{height:var(--fdSettings_Dialog_Content_Height,42.5rem);max-height:var(--fdSettings_Dialog_Content_Max_Height,42.5rem);max-width:var(--fdSettings_Dialog_Content_Max_Width,60rem);min-height:var(--fdSettings_Dialog_Content_Min_Height,42.5rem);min-width:var(--fdSettings_Dialog_Content_Min_Width,60rem)}.fd-settings .fd-settings__dialog-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding-block:0;padding-inline:0}.fd-settings .fd-settings__list:is(:first-child){overflow-y:auto}.fd-settings .fd-settings__list a:after{content:var(--fdSettings_List_Nav_Indicator_Content,none)}.fd-settings .fd-settings__list--footer{border-top:.0625rem solid var(--sapList_BorderColor)}.fd-settings .fd-settings__tab-bar{height:100%;overflow-y:hidden}.fd-settings .fd-settings__header{-webkit-margin-before:var(--fdSettings_Header_Margin_Top,1rem);margin-block-start:var(--fdSettings_Header_Margin_Top,1rem)}.fd-settings__list-area{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;max-width:var(--fdSettings_List_Area_Width,20rem);min-width:var(--fdSettings_List_Area_Width,20rem);width:var(--fdSettings_List_Area_Width,20rem);-webkit-border-end:var(--fdSettings_List_Area_Border,.0625rem solid var(--sapList_BorderColor));border-inline-end:var(--fdSettings_List_Area_Border,.0625rem solid var(--sapList_BorderColor))}.fd-settings__list-area:after,.fd-settings__list-area:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__list-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between;overflow:hidden;position:relative}.fd-settings__list-container:after,.fd-settings__list-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__detail-area{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;width:100%}.fd-settings__detail-area:after,.fd-settings__detail-area:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__detail-area:has(.fd-settings__tab-bar) .fd-settings__header{--fdBar_Shadow:none}.fd-settings__content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;overflow-y:auto;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem;width:100%}.fd-settings__content:after,.fd-settings__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__content--no-padding{padding-block:0;padding-inline:0}.fd-settings__content--no-background{background:transparent}.fd-settings__container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;height:100%;width:100%}.fd-settings__container:after,.fd-settings__container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings:has(.fd-settings__container--sm){--fdSettings_List_Area_Width:100%;--fdSettings_Header_Margin_Top:0;--fdSettings_List_Nav_Indicator_Content:\"\\e1ed\";--fdSettings_Dialog_Content_Min_Width:100%;--fdSettings_Dialog_Content_Min_Height:100%;--fdSettings_Dialog_Content_Max_Width:100%;--fdSettings_Dialog_Content_Max_Height:100%;--fdSettings_List_Area_Border:none}.fd-settings:has(.fd-settings__container--sm) .fd-settings__dialog-content{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.fd-settings:has(.fd-settings__container--sm) .fd-settings__dialog-body{border-radius:0}.fd-settings:has(.fd-settings__container--md){--fdSettings_List_Area_Width:100%;--fdSettings_Header_Margin_Top:0;--fdSettings_List_Nav_Indicator_Content:\"\\e1ed\";--fdSettings_Dialog_Content_Min_Width:80%;--fdSettings_Dialog_Content_Min_Height:88%;--fdSettings_Dialog_Content_Max_Width:40rem;--fdSettings_Dialog_Content_Max_Height:42.5rem;--fdSettings_List_Area_Border:none}.fd-settings:has(.fd-settings__container--lg),.fd-settings:has(.fd-settings__container--xl){--fdSettings_List_Area_Width:20rem;--fdSettings_Header_Margin_Top:1rem;--fdSettings_List_Nav_Indicator_Content:none;--fdSettings_Dialog_Content_Min_Width:60rem;--fdSettings_Dialog_Content_Min_Height:42.5rem;--fdSettings_Dialog_Content_Max_Width:60rem;--fdSettings_Dialog_Content_Max_Height:42.5rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/settings.css:\n  (*!\n   * Fundamental Library Styles v0.40.1\n   * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n   * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n   *)\n*/\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsComponent, decorators: [{
            type: Component,
            args: [{ selector: '[fd-settings]', template: ` <ng-content></ng-content>`, host: {
                        class: 'fd-settings'
                    }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, styles: ["@charset \"UTF-8\";.fd-settings .fd-settings__dialog-content{height:var(--fdSettings_Dialog_Content_Height,42.5rem);max-height:var(--fdSettings_Dialog_Content_Max_Height,42.5rem);max-width:var(--fdSettings_Dialog_Content_Max_Width,60rem);min-height:var(--fdSettings_Dialog_Content_Min_Height,42.5rem);min-width:var(--fdSettings_Dialog_Content_Min_Width,60rem)}.fd-settings .fd-settings__dialog-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding-block:0;padding-inline:0}.fd-settings .fd-settings__list:is(:first-child){overflow-y:auto}.fd-settings .fd-settings__list a:after{content:var(--fdSettings_List_Nav_Indicator_Content,none)}.fd-settings .fd-settings__list--footer{border-top:.0625rem solid var(--sapList_BorderColor)}.fd-settings .fd-settings__tab-bar{height:100%;overflow-y:hidden}.fd-settings .fd-settings__header{-webkit-margin-before:var(--fdSettings_Header_Margin_Top,1rem);margin-block-start:var(--fdSettings_Header_Margin_Top,1rem)}.fd-settings__list-area{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;max-width:var(--fdSettings_List_Area_Width,20rem);min-width:var(--fdSettings_List_Area_Width,20rem);width:var(--fdSettings_List_Area_Width,20rem);-webkit-border-end:var(--fdSettings_List_Area_Border,.0625rem solid var(--sapList_BorderColor));border-inline-end:var(--fdSettings_List_Area_Border,.0625rem solid var(--sapList_BorderColor))}.fd-settings__list-area:after,.fd-settings__list-area:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__list-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between;overflow:hidden;position:relative}.fd-settings__list-container:after,.fd-settings__list-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__detail-area{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;width:100%}.fd-settings__detail-area:after,.fd-settings__detail-area:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__detail-area:has(.fd-settings__tab-bar) .fd-settings__header{--fdBar_Shadow:none}.fd-settings__content{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:100%;line-height:normal;margin-block:0;margin-inline:0;overflow-y:auto;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem;width:100%}.fd-settings__content:after,.fd-settings__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings__content--no-padding{padding-block:0;padding-inline:0}.fd-settings__content--no-background{background:transparent}.fd-settings__container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;height:100%;width:100%}.fd-settings__container:after,.fd-settings__container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-settings:has(.fd-settings__container--sm){--fdSettings_List_Area_Width:100%;--fdSettings_Header_Margin_Top:0;--fdSettings_List_Nav_Indicator_Content:\"\\e1ed\";--fdSettings_Dialog_Content_Min_Width:100%;--fdSettings_Dialog_Content_Min_Height:100%;--fdSettings_Dialog_Content_Max_Width:100%;--fdSettings_Dialog_Content_Max_Height:100%;--fdSettings_List_Area_Border:none}.fd-settings:has(.fd-settings__container--sm) .fd-settings__dialog-content{border-radius:0;-webkit-box-shadow:none;box-shadow:none}.fd-settings:has(.fd-settings__container--sm) .fd-settings__dialog-body{border-radius:0}.fd-settings:has(.fd-settings__container--md){--fdSettings_List_Area_Width:100%;--fdSettings_Header_Margin_Top:0;--fdSettings_List_Nav_Indicator_Content:\"\\e1ed\";--fdSettings_Dialog_Content_Min_Width:80%;--fdSettings_Dialog_Content_Min_Height:88%;--fdSettings_Dialog_Content_Max_Width:40rem;--fdSettings_Dialog_Content_Max_Height:42.5rem;--fdSettings_List_Area_Border:none}.fd-settings:has(.fd-settings__container--lg),.fd-settings:has(.fd-settings__container--xl){--fdSettings_List_Area_Width:20rem;--fdSettings_Header_Margin_Top:1rem;--fdSettings_List_Nav_Indicator_Content:none;--fdSettings_Dialog_Content_Min_Width:60rem;--fdSettings_Dialog_Content_Min_Height:42.5rem;--fdSettings_Dialog_Content_Max_Width:60rem;--fdSettings_Dialog_Content_Max_Height:42.5rem}\n/*! Bundled license information:\n\nfundamental-styles/dist/settings.css:\n  (*!\n   * Fundamental Library Styles v0.40.1\n   * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n   * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n   *)\n*/\n"] }]
        }] });

const components = [
    SettingsListAreaDirective,
    SettingsDetailAreaDirective,
    SettingsListContainerDirective,
    SettingsContentDirective,
    SettingsHeaderDirective,
    SettingsHeaderButtonDirective,
    SettingsDialogContentDirective,
    SettingsDialogBodyDirective,
    SettingsContainerComponent,
    SettingsComponent
];
/**
 * @deprecated
 * Use direct imports of components and directives.
 */
class SettingsModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: SettingsModule, imports: [SettingsListAreaDirective,
            SettingsDetailAreaDirective,
            SettingsListContainerDirective,
            SettingsContentDirective,
            SettingsHeaderDirective,
            SettingsHeaderButtonDirective,
            SettingsDialogContentDirective,
            SettingsDialogBodyDirective,
            SettingsContainerComponent,
            SettingsComponent], exports: [SettingsListAreaDirective,
            SettingsDetailAreaDirective,
            SettingsListContainerDirective,
            SettingsContentDirective,
            SettingsHeaderDirective,
            SettingsHeaderButtonDirective,
            SettingsDialogContentDirective,
            SettingsDialogBodyDirective,
            SettingsContainerComponent,
            SettingsComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SettingsModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [...components],
                    exports: [...components]
                }]
        }] });

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

export { SettingsComponent, SettingsContainerComponent, SettingsContentDirective, SettingsDetailAreaDirective, SettingsDialogBodyDirective, SettingsDialogContentDirective, SettingsHeaderButtonDirective, SettingsHeaderDirective, SettingsListAreaDirective, SettingsListContainerDirective, SettingsModule, VIEW_MODE };
//# sourceMappingURL=fundamental-ngx-core-settings.mjs.map
