import * as i0 from '@angular/core';
import { HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, Input, Directive, NgModule } from '@angular/core';
import { __decorate, __metadata } from 'tslib';
import { applyCssClass } from '@fundamental-ngx/cdk/utils';

/**
 * Layout Panel level actions such as add, remove, delete, sort, etc.
 *
 * ```html
 * <fd-layout-panel>
 *     <fd-layout-panel-header>
 *         <fd-layout-panel-actions>
 *             <button fd-button (click)="action()">Action</button>
 *         </fd-layout-panel-actions>
 *     </fd-layout-panel-header>
 * </fd-layout-panel>
 * ```
 */
class LayoutPanelActionsComponent {
    constructor() {
        /** @hidden */
        this.fdLayoutPanelActionsClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelActionsComponent, isStandalone: true, selector: "fd-layout-panel-actions", host: { properties: { "class.fd-layout-panel__actions": "this.fdLayoutPanelActionsClass" } }, ngImport: i0, template: `<ng-content></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: LayoutPanelActionsComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-layout-panel-actions',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdLayoutPanelActionsClass: [{
                type: HostBinding,
                args: ['class.fd-layout-panel__actions']
            }] } });

/**
 * Main content of the panel can that hold lists, table, tree, text, form or any other information.
 *
 * ```html
 * <fd-layout-panel>
 *     <fd-layout-panel-body>
 *         Some text can go here!
 *     </fd-layout-panel-body>
 * </fd-layout-panel>
 * ```
 */
class LayoutPanelBodyComponent {
    constructor() {
        /** @hidden */
        this.fdLayoutPanelBodyClass = true;
        /** Whether the edges of the panel should have bleeding padding. */
        this.bleed = false;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelBodyComponent, isStandalone: true, selector: "fd-layout-panel-body", inputs: { bleed: "bleed" }, host: { properties: { "class.fd-has-display-block": "true", "class.fd-layout-panel__body": "this.fdLayoutPanelBodyClass", "class.fd-layout-panel__body--bleed": "this.bleed" } }, ngImport: i0, template: `<ng-content></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: LayoutPanelBodyComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-layout-panel-body',
                    template: `<ng-content></ng-content>`,
                    host: {
                        '[class.fd-has-display-block]': 'true'
                    },
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdLayoutPanelBodyClass: [{
                type: HostBinding,
                args: ['class.fd-layout-panel__body']
            }], bleed: [{
                type: Input
            }, {
                type: HostBinding,
                args: ['class.fd-layout-panel__body--bleed']
            }] } });

/**
 * Description of the panel title.
 *
 * ```html
 * <fd-layout-panel>
 *     <fd-layout-panel-header>
 *         <fd-layout-panel-head>
 *             <fd-layout-panel-description>This is a description for a panel title!</fd-layout-panel-description>
 *         </fd-layout-panel-head>
 *     </fd-layout-panel-header>
 * </fd-layout-panel>
 * ```
 */
class LayoutPanelDescriptionComponent {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelDescriptionComponent, isStandalone: true, selector: "fd-layout-panel-description", ngImport: i0, template: "<p class=\"fd-layout-panel__description\">\n    <ng-content></ng-content>\n</p>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelDescriptionComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-layout-panel-description', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<p class=\"fd-layout-panel__description\">\n    <ng-content></ng-content>\n</p>\n" }]
        }] });

/**
 * Layout Panel level filters that is specific to the data being displayed within the panel.
 *
 * ```html
 * <fd-layout-panel>
 *     <fd-layout-panel-filters>
 *         Some text can go here!
 *     </fd-layout-panel-filters>
 * </fd-layout-panel>
 * ```
 */
class LayoutPanelFiltersComponent {
    constructor() {
        /** @hidden */
        this.fdLayoutPanelFiltersClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelFiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelFiltersComponent, isStandalone: true, selector: "fd-layout-panel-filters", host: { properties: { "class.fd-has-display-block": "true", "class.fd-layout-panel__filters": "this.fdLayoutPanelFiltersClass" } }, ngImport: i0, template: `<ng-content></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: LayoutPanelFiltersComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-layout-panel-filters',
                    template: `<ng-content></ng-content>`,
                    host: {
                        '[class.fd-has-display-block]': 'true'
                    },
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdLayoutPanelFiltersClass: [{
                type: HostBinding,
                args: ['class.fd-layout-panel__filters']
            }] } });

class LayoutPanelFooterComponent {
    /** @hidden */
    constructor(elementRef) {
        this.elementRef = elementRef;
    }
    /** @hidden */
    buildComponentCssClass() {
        return [
            'fd-layout-panel__footer',
            this.position ? `fd-layout-panel__footer--${this.position}` : '',
            this.class
        ];
    }
    /** @hidden */
    ngOnInit() {
        this.buildComponentCssClass();
    }
    /** @hidden */
    ngOnChanges() {
        this.buildComponentCssClass();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelFooterComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelFooterComponent, isStandalone: true, selector: "fd-layout-panel-footer", inputs: { class: "class", position: "position" }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
__decorate([
    applyCssClass,
    __metadata("design:type", Function),
    __metadata("design:paramtypes", []),
    __metadata("design:returntype", Array)
], LayoutPanelFooterComponent.prototype, "buildComponentCssClass", null);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelFooterComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-layout-panel-footer',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { class: [{
                type: Input
            }], position: [{
                type: Input
            }], buildComponentCssClass: [] } });

/**
 * Container for title and description.
 *
 * ```html
 * <fd-layout-panel>
 *     <fd-layout-panel-header>
 *         <fd-layout-panel-head>
 *             <fd-layout-panel-title>Title!</fd-layout-panel-title>
 *         </fd-layout-panel-head>
 *     </fd-layout-panel-header>
 * </fd-layout-panel>
 * ```
 */
class LayoutPanelHeadComponent {
    constructor() {
        /** @hidden */
        this.fdLayoutPanelHeadClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelHeadComponent, isStandalone: true, selector: "fd-layout-panel-head", host: { properties: { "class.fd-layout-panel__head": "this.fdLayoutPanelHeadClass" } }, ngImport: i0, template: `<ng-content></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: LayoutPanelHeadComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-layout-panel-head',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { fdLayoutPanelHeadClass: [{
                type: HostBinding,
                args: ['class.fd-layout-panel__head']
            }] } });

/**
 * Header of the panel. Contains a head and actions.
 *
 * ```html
 * <fd-layout-panel>
 *     <fd-layout-panel-header>
 *         <fd-layout-panel-head>
 *             <fd-layout-panel-title>Title!</fd-layout-panel-title>
 *         </fd-layout-panel-head>
 *     </fd-layout-panel-header>
 * </fd-layout-panel>
 * ```
 */
class LayoutPanelHeaderComponent {
    constructor() {
        /** @hidden */
        this.fdLayoutPanelHeaderClass = true;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelHeaderComponent, isStandalone: true, selector: "fd-layout-panel-header", host: { properties: { "class.fd-layout-panel__header": "this.fdLayoutPanelHeaderClass" } }, ngImport: i0, template: "<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelHeaderComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-layout-panel-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-content select=\"fd-layout-panel-head\"></ng-content>\n<ng-content select=\"fd-layout-panel-actions\"></ng-content>\n" }]
        }], propDecorators: { fdLayoutPanelHeaderClass: [{
                type: HostBinding,
                args: ['class.fd-layout-panel__header']
            }] } });

/**
 * Applies the panel title style to a header element. It can be used with any header level.
 *
 * ```html
 * <h1 fd-layout-panel-title>Layout Panel Title</h1>
 * <h3 fd-layout-panel-title>Layout Panel Title</h3>
 * ```
 */
class LayoutPanelTitleDirective {
    constructor() {
        /** @hidden */
        this.fdLayoutPanelTitleClass = 'fd-title fd-title--h5';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelTitleDirective, isStandalone: true, selector: "[fd-layout-panel-title]", host: { properties: { "class": "this.fdLayoutPanelTitleClass" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelTitleDirective, decorators: [{
            type: Directive,
            args: [{
                    // TODO to be discussed
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-layout-panel-title]',
                    standalone: true
                }]
        }], propDecorators: { fdLayoutPanelTitleClass: [{
                type: HostBinding,
                args: ['class']
            }] } });

let layoutPanelUniqueId = 0;
/**
 * Layout Panels are used to encapsulate part of the content, form elements, lists, collections, etc., on a page.
 */
class LayoutPanelComponent {
    /** @hidden */
    constructor(elRef) {
        this.elRef = elRef;
        /** Id for the layout panel element. */
        this.id = 'fd-layout-panel-' + layoutPanelUniqueId++;
        /** @hidden */
        this.fdLayoutPanelClass = true;
        /** Whether the background of the panel should be transparent. */
        this.transparent = false;
    }
    /** @hidden */
    ngOnChanges() {
        this._applyBackgroundImage();
    }
    /** @hidden */
    ngOnInit() {
        this._applyBackgroundImage();
    }
    /** @hidden */
    _applyBackgroundImage() {
        if (this.backgroundImage) {
            this.elRef.nativeElement.style['background-image'] = 'url("' + this.backgroundImage + '")';
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.2", type: LayoutPanelComponent, isStandalone: true, selector: "fd-layout-panel", inputs: { backgroundImage: "backgroundImage", id: "id", transparent: "transparent" }, host: { properties: { "class.fd-has-display-block": "true", "class.fd-layout-panel": "this.fdLayoutPanelClass", "class.fd-layout-panel--transparent": "this.transparent" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n", styles: [".fd-layout-panel{background-color:var(--sapGroup_ContentBackground);border:0;border-radius:1rem;-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;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0}.fd-layout-panel:after{clear:both;content:\"\";display:table}.fd-layout-panel:after,.fd-layout-panel:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel--transparent{background-color:transparent}.fd-layout-panel__header{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-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:space-between;min-height:2.5rem;padding-block:1rem;padding-inline:1rem}.fd-layout-panel__header:after,.fd-layout-panel__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__head{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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__head:after,.fd-layout-panel__head:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title{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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-margin-after:0;color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_TitleFontSize);margin-block-end:0}.fd-layout-panel .fd-layout-panel__title:after,.fd-layout-panel .fd-layout-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title h1,.fd-layout-panel .fd-layout-panel__title h2,.fd-layout-panel .fd-layout-panel__title h3,.fd-layout-panel .fd-layout-panel__title h4,.fd-layout-panel .fd-layout-panel__title h5,.fd-layout-panel .fd-layout-panel__title h6{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-layout-panel__description{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;margin-top:.25rem;padding-block:0;padding-inline:0}.fd-layout-panel__description:after,.fd-layout-panel__description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapNeutralTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__actions:after,.fd-layout-panel__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters{border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);-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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:.5rem;padding-inline:0;padding-inline:1rem;-webkit-transition:all .15s ease-in;transition:all .15s ease-in}.fd-layout-panel__filters:after,.fd-layout-panel__filters:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters.is-hidden{max-height:0;overflow:hidden;padding-block:0}.fd-layout-panel__body{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;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;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem}.fd-layout-panel__body:after,.fd-layout-panel__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__body--bleed,.fd-layout-panel__body--full-bleed{padding-block:0;padding-inline:0}.fd-layout-panel__body>:first-child{margin-top:0}.fd-layout-panel__body>:last-child{-webkit-margin-after:0;margin-block-end:0}.fd-layout-panel__footer{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-pack:center;-ms-flex-pack:center;border-top:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:center;padding-block:.5rem;padding-inline:1rem}.fd-layout-panel__footer:after,.fd-layout-panel__footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__footer--end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-layout-panel__footer--start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-title{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--fdTitle_Font_Size:1rem;--fdTitle_Color:var(--sapTextColor);--fdTitle_Font_Family:var(--sapFontHeaderFamily);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdTitle_Color);font-family:var(--sapFontFamily);font-family:var(--fdTitle_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdTitle_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-title:after,.fd-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-title--h1{--fdTitle_Font_Size:var(--sapFontHeader1Size)}.fd-title--h2{--fdTitle_Font_Size:var(--sapFontHeader2Size)}.fd-title--h3{--fdTitle_Font_Size:var(--sapFontHeader3Size)}.fd-title--h4{--fdTitle_Font_Size:var(--sapFontHeader4Size)}.fd-title--h5{--fdTitle_Font_Size:var(--sapFontHeader5Size)}.fd-title--h6{--fdTitle_Font_Size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}.fd-has-display-block{display:block}\n/*! Bundled license information:\n\nfundamental-styles/dist/title.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: LayoutPanelComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-layout-panel', host: {
                        '[class.fd-has-display-block]': 'true'
                    }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<ng-content select=\"fd-layout-panel-header\"></ng-content>\n<ng-content select=\"fd-layout-panel-filters\"></ng-content>\n<ng-content select=\"fd-layout-panel-body\"></ng-content>\n<ng-content select=\"fd-layout-panel-footer\"></ng-content>\n<ng-content></ng-content>\n", styles: [".fd-layout-panel{background-color:var(--sapGroup_ContentBackground);border:0;border-radius:1rem;-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;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0}.fd-layout-panel:after{clear:both;content:\"\";display:table}.fd-layout-panel:after,.fd-layout-panel:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel--transparent{background-color:transparent}.fd-layout-panel__header{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-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:space-between;min-height:2.5rem;padding-block:1rem;padding-inline:1rem}.fd-layout-panel__header:after,.fd-layout-panel__header:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__head{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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__head:after,.fd-layout-panel__head:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title{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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-margin-after:0;color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_TitleFontSize);margin-block-end:0}.fd-layout-panel .fd-layout-panel__title:after,.fd-layout-panel .fd-layout-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel .fd-layout-panel__title h1,.fd-layout-panel .fd-layout-panel__title h2,.fd-layout-panel .fd-layout-panel__title h3,.fd-layout-panel .fd-layout-panel__title h4,.fd-layout-panel .fd-layout-panel__title h5,.fd-layout-panel .fd-layout-panel__title h6{color:var(--sapGroup_TitleTextColor);font-size:var(--sapGroup_Title_FontSize)}.fd-layout-panel__description{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapContent_LabelColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;margin-top:.25rem;padding-block:0;padding-inline:0}.fd-layout-panel__description:after,.fd-layout-panel__description:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapNeutralTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontSmallSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-layout-panel__actions:after,.fd-layout-panel__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters{border:0;border-bottom:.0625rem solid var(--sapGroup_TitleBorderColor);-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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:.5rem;padding-inline:0;padding-inline:1rem;-webkit-transition:all .15s ease-in;transition:all .15s ease-in}.fd-layout-panel__filters:after,.fd-layout-panel__filters:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__filters.is-hidden{max-height:0;overflow:hidden;padding-block:0}.fd-layout-panel__body{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:block;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;padding-block:0;padding-block:1rem;padding-inline:0;padding-inline:1rem}.fd-layout-panel__body:after,.fd-layout-panel__body:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__body--bleed,.fd-layout-panel__body--full-bleed{padding-block:0;padding-inline:0}.fd-layout-panel__body>:first-child{margin-top:0}.fd-layout-panel__body>:last-child{-webkit-margin-after:0;margin-block-end:0}.fd-layout-panel__footer{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-pack:center;-ms-flex-pack:center;border-top:.0625rem solid var(--sapGroup_TitleBorderColor);justify-content:center;padding-block:.5rem;padding-inline:1rem}.fd-layout-panel__footer:after,.fd-layout-panel__footer:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-layout-panel__footer--end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-layout-panel__footer--start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-title{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;--fdTitle_Font_Size:1rem;--fdTitle_Color:var(--sapTextColor);--fdTitle_Font_Family:var(--sapFontHeaderFamily);border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdTitle_Color);font-family:var(--sapFontFamily);font-family:var(--fdTitle_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdTitle_Font_Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0}.fd-title:after,.fd-title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-title--h1{--fdTitle_Font_Size:var(--sapFontHeader1Size)}.fd-title--h2{--fdTitle_Font_Size:var(--sapFontHeader2Size)}.fd-title--h3{--fdTitle_Font_Size:var(--sapFontHeader3Size)}.fd-title--h4{--fdTitle_Font_Size:var(--sapFontHeader4Size)}.fd-title--h5{--fdTitle_Font_Size:var(--sapFontHeader5Size)}.fd-title--h6{--fdTitle_Font_Size:var(--sapFontHeader6Size)}.fd-title--wrap{overflow:auto;text-overflow:clip;white-space:normal}.fd-has-display-block{display:block}\n/*! Bundled license information:\n\nfundamental-styles/dist/title.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"] }]
        }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { backgroundImage: [{
                type: Input
            }], id: [{
                type: Input
            }], fdLayoutPanelClass: [{
                type: HostBinding,
                args: ['class.fd-layout-panel']
            }], transparent: [{
                type: Input
            }, {
                type: HostBinding,
                args: ['class.fd-layout-panel--transparent']
            }] } });

const components = [
    LayoutPanelComponent,
    LayoutPanelHeaderComponent,
    LayoutPanelHeadComponent,
    LayoutPanelTitleDirective,
    LayoutPanelDescriptionComponent,
    LayoutPanelActionsComponent,
    LayoutPanelFiltersComponent,
    LayoutPanelBodyComponent,
    LayoutPanelFooterComponent
];
class LayoutPanelModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelModule, imports: [LayoutPanelComponent,
            LayoutPanelHeaderComponent,
            LayoutPanelHeadComponent,
            LayoutPanelTitleDirective,
            LayoutPanelDescriptionComponent,
            LayoutPanelActionsComponent,
            LayoutPanelFiltersComponent,
            LayoutPanelBodyComponent,
            LayoutPanelFooterComponent], exports: [LayoutPanelComponent,
            LayoutPanelHeaderComponent,
            LayoutPanelHeadComponent,
            LayoutPanelTitleDirective,
            LayoutPanelDescriptionComponent,
            LayoutPanelActionsComponent,
            LayoutPanelFiltersComponent,
            LayoutPanelBodyComponent,
            LayoutPanelFooterComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LayoutPanelModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [...components],
                    exports: [...components]
                }]
        }] });

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

export { LayoutPanelActionsComponent, LayoutPanelBodyComponent, LayoutPanelComponent, LayoutPanelDescriptionComponent, LayoutPanelFiltersComponent, LayoutPanelFooterComponent, LayoutPanelHeadComponent, LayoutPanelHeaderComponent, LayoutPanelModule, LayoutPanelTitleDirective };
//# sourceMappingURL=fundamental-ngx-core-layout-panel.mjs.map
