import * as i0 from '@angular/core';
import { input, booleanAttribute, computed, Directive, model, contentChild, inject, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
import { RtlService } from '@fundamental-ngx/cdk/utils';
import { ButtonComponent } from '@fundamental-ngx/core/button';
import * as i1 from '@fundamental-ngx/core/content-density';
import { contentDensityObserverProviders, ContentDensityModule } from '@fundamental-ngx/core/content-density';

let panelContentUniqueId = 0;
/**
 * Applies the panel content style to a div element.
 *
 * ```html
 * <div fd-panel-content>Panel Content</div>
 * ```
 */
class PanelContentDirective {
    constructor() {
        /** Custom height of the content container. */
        this.height = input(null, ...(ngDevMode ? [{ debugName: "height" }] : []));
        /** Custom min-height of the content container. */
        this.minHeight = input(null, ...(ngDevMode ? [{ debugName: "minHeight" }] : []));
        /** Custom max-height of the content container. */
        this.maxHeight = input(null, ...(ngDevMode ? [{ debugName: "maxHeight" }] : []));
        /** aria-label attribute of the host element element. */
        this.ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
        /** aria-labelledby attribute of the host element element. */
        this.ariaLabelledBy = input(null, ...(ngDevMode ? [{ debugName: "ariaLabelledBy" }] : []));
        /** role attribute of the host element. */
        this.role = input('region', ...(ngDevMode ? [{ debugName: "role" }] : []));
        /** Whether the content should have no padding. */
        this.noPadding = input(false, { ...(ngDevMode ? { debugName: "noPadding" } : {}), transform: booleanAttribute });
        /** Whether the content has transparent background. */
        this.transparent = input(false, { ...(ngDevMode ? { debugName: "transparent" } : {}), transform: booleanAttribute });
        /** @hidden Signal input backing the id; template uses [id]="..." via alias. */
        // eslint-disable-next-line @angular-eslint/no-input-rename
        this._idInput = input(undefined, { ...(ngDevMode ? { debugName: "_idInput" } : {}), alias: 'id' });
        /** @hidden */
        this._resolvedId = computed(() => this._idInput() ?? this._defaultId, ...(ngDevMode ? [{ debugName: "_resolvedId" }] : []));
        /** @hidden */
        this._defaultId = 'fd-panel-content-' + panelContentUniqueId++;
    }
    /** Id of the host element. */
    get id() {
        return this._resolvedId();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: PanelContentDirective, isStandalone: true, selector: "[fd-panel-content]", inputs: { height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null }, noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null }, transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, _idInput: { classPropertyName: "_idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.fd-panel__content--no-padding": "noPadding()", "class.fd-panel__content--transparent": "transparent()", "style.height": "height()", "style.min-height": "minHeight()", "style.max-height": "maxHeight()", "attr.aria-label": "ariaLabel()", "attr.aria-labelledby": "ariaLabelledBy()", "attr.role": "role()", "attr.id": "_resolvedId()" }, classAttribute: "fd-panel__content" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelContentDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-panel-content]',
                    host: {
                        class: 'fd-panel__content',
                        '[class.fd-panel__content--no-padding]': 'noPadding()',
                        '[class.fd-panel__content--transparent]': 'transparent()',
                        '[style.height]': 'height()',
                        '[style.min-height]': 'minHeight()',
                        '[style.max-height]': 'maxHeight()',
                        '[attr.aria-label]': 'ariaLabel()',
                        '[attr.aria-labelledby]': 'ariaLabelledBy()',
                        '[attr.role]': 'role()',
                        '[attr.id]': '_resolvedId()'
                    }
                }]
        }], propDecorators: { height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], minHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "minHeight", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }], noPadding: [{ type: i0.Input, args: [{ isSignal: true, alias: "noPadding", required: false }] }], transparent: [{ type: i0.Input, args: [{ isSignal: true, alias: "transparent", required: false }] }], _idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });

let panelTitleUniqueId = 0;
/**
 * Applies the panel title style to a header element. It can be used with any header level.
 *
 * ```html
 * <h5 fd-panel-title>Panel Title</h5>
 * ```
 */
class PanelTitleDirective {
    constructor() {
        /** Id of the host element. */
        this.id = input('fd-panel-title-' + panelTitleUniqueId++, ...(ngDevMode ? [{ debugName: "id" }] : []));
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: PanelTitleDirective, isStandalone: true, selector: "[fd-panel-title]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "fd-panel__title" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelTitleDirective, decorators: [{
            type: Directive,
            args: [{
                    // eslint-disable-next-line @angular-eslint/directive-selector
                    selector: '[fd-panel-title]',
                    host: {
                        class: 'fd-panel__title',
                        '[attr.id]': 'id()'
                    }
                }]
        }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });

let panelUniqueId = 0;
let panelExpandUniqueId = 0;
/**
 * The panel is a container for grouping and displaying information
 * Types: Expandable (default) and Fixed
 * Modes: Tablet/Mobile (default) and Desktop (compact)
 */
class PanelComponent {
    /** @hidden */
    constructor(elementRef, _contentDensityObserver) {
        this.elementRef = elementRef;
        this._contentDensityObserver = _contentDensityObserver;
        /** User's custom classes */
        this.class = input('', ...(ngDevMode ? [{ debugName: "class" }] : []));
        /** Whether the Panel is fixed */
        this.fixed = input(false, { ...(ngDevMode ? { debugName: "fixed" } : {}), transform: booleanAttribute });
        /** Id of the panel element. */
        this.id = input('fd-panel-' + panelUniqueId++, ...(ngDevMode ? [{ debugName: "id" }] : []));
        /** Id of the expand button */
        this.expandId = input('fd-panel-expand-' + panelExpandUniqueId++, ...(ngDevMode ? [{ debugName: "expandId" }] : []));
        /** aria-label of the expand button */
        this.expandAriaLabel = input(null, ...(ngDevMode ? [{ debugName: "expandAriaLabel" }] : []));
        /** aria-labelledby of the expand button */
        this.expandAriaLabelledBy = input(null, ...(ngDevMode ? [{ debugName: "expandAriaLabelledBy" }] : []));
        /** Whether the Panel Content is expanded */
        this.expanded = model(false, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
        /** Whether the panel (header and content) is transparent */
        this.transparent = input(false, { ...(ngDevMode ? { debugName: "transparent" } : {}), transform: booleanAttribute });
        /** Whether the panel has no border radius */
        this.noRadius = input(false, { ...(ngDevMode ? { debugName: "noRadius" } : {}), transform: booleanAttribute });
        /** Reference to panel content */
        this.panelContent = contentChild(PanelContentDirective, ...(ngDevMode ? [{ debugName: "panelContent" }] : []));
        /** @hidden */
        this.buttonIcon = computed(() => this.expanded() ? 'slim-arrow-down' : this._rtlService?.rtl() ? 'slim-arrow-left' : 'slim-arrow-right', ...(ngDevMode ? [{ debugName: "buttonIcon" }] : []));
        /** @hidden */
        this._rtlService = inject(RtlService, {
            optional: true
        });
    }
    /** Methods that toggles the Panel Content */
    toggleExpand() {
        this.expanded.update((expanded) => !expanded);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: PanelComponent, isStandalone: true, selector: "fd-panel", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, fixed: { classPropertyName: "fixed", publicName: "fixed", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, expandId: { classPropertyName: "expandId", publicName: "expandId", isSignal: true, isRequired: false, transformFunction: null }, expandAriaLabel: { classPropertyName: "expandAriaLabel", publicName: "expandAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, expandAriaLabelledBy: { classPropertyName: "expandAriaLabelledBy", publicName: "expandAriaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, transparent: { classPropertyName: "transparent", publicName: "transparent", isSignal: true, isRequired: false, transformFunction: null }, noRadius: { classPropertyName: "noRadius", publicName: "noRadius", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { properties: { "attr.id": "id()" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: "panelContent", first: true, predicate: PanelContentDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n    class=\"fd-panel\"\n    [class.fd-panel--fixed]=\"fixed()\"\n    [class.fd-panel--transparent]=\"transparent()\"\n    [class.fd-panel--no-radius]=\"noRadius()\"\n    [class]=\"class()\"\n>\n    <div class=\"fd-panel__header\">\n        @if (!fixed()) {\n            <div class=\"fd-panel__expand\">\n                <button\n                    fd-button\n                    fdType=\"transparent\"\n                    class=\"fd-panel__button\"\n                    [glyph]=\"buttonIcon()\"\n                    [id]=\"expandId()\"\n                    [class.is-expanded]=\"expanded()\"\n                    [attr.aria-expanded]=\"expanded()\"\n                    [attr.aria-controls]=\"panelContent()?.id\"\n                    [ariaLabel]=\"expandAriaLabel()\"\n                    [attr.aria-labelledby]=\"expandAriaLabelledBy() + ' ' + expandId()\"\n                    [title]=\"expandAriaLabel()\"\n                    (click)=\"toggleExpand()\"\n                ></button>\n            </div>\n        }\n        <ng-content select=\"[fd-panel-title]\"></ng-content>\n        <ng-content></ng-content>\n    </div>\n    @if (expanded() || fixed()) {\n        <ng-content select=\"[fd-panel-content]\"></ng-content>\n    }\n</div>\n", styles: [".fd-panel{--fdPanel_Header_Width:100%;--fdPanel_Header_Height:2.75rem;--fdPanel_Flex_Direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--fdPanel_Flex_Direction);flex-direction:var(--fdPanel_Flex_Direction)}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-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}.fd-panel:after,.fd-panel:before,.fd-panel__content:after,.fd-panel__content:before,.fd-panel__expand:after,.fd-panel__expand:before,.fd-panel__header:after,.fd-panel__header:before,.fd-panel__title:after,.fd-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){-webkit-margin-after:var(--fdPanel_Margin_Bottom);margin-block-end:var(--fdPanel_Margin_Bottom)}.fd-panel__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:var(--sapGroup_TitleBorderWidth) solid var(--fdPanel_Header_Border_Color,var(--sapGroup_TitleBorderColor));border-radius:var(--fdPanel_Header_Border_Top_Left_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Top_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Bottom_Right_Radius,0) var(--fdPanel_Header_Border_Bottom_Left_Radius,0);height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);min-width:var(--fdPanel_Header_Width);overflow:hidden;padding-inline:var(--fdPanel_Header_Padding_Inline_Start,0) var(--fdPanel_Header_Padding_Inline_End,.5rem);position:var(--fdPanel_Header_Position,relative);top:var(--fdPanel_Header_Position_Top,unset);width:var(--fdPanel_Header_Width)}.fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius:var(--fdPanel_Border_Radius);--fdPanel_Header_Border_Bottom_Right_Radius:var(--fdPanel_Border_Radius)}.fd-panel__header:has(.fd-toolbar){--fdPanel_Header_Padding_Inline_End:0}.fd-panel__header:not(:has(.fd-panel__button)){--fdPanel_Header_Padding_Inline_Start:.75rem}.fd-panel__title{color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontHeaderFamily);font-size:var(--sapGroup_Title_FontSize);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:var(--fdPanel_Title_Font_Size);max-width:100%;width:100%;-webkit-padding-start:.25rem;padding-inline-start:.25rem}.fd-panel__content{background:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);border-radius:var(--fdPanel_Content_Border_Top_Left_Radius,0) var(--fdPanel_Content_Border_Top_Right_Radius,0) var(--fdPanel_Content_Border_Bottom_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Content_Border_Bottom_Left_Radius,var(--fdPanel_Border_Radius));overflow:auto;padding-block:var(--fdPanel_Content_Padding_Block,.625rem);padding-inline:var(--fdPanel_Content_Padding_Inline,1rem);scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-panel__content.is-focus,.fd-panel__content:focus{outline:none;z-index:5}.fd-panel__content::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-panel__content::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-panel__content::-webkit-scrollbar-thumb:active,.fd-panel__content::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-panel__content[dir=rtl]::-webkit-scrollbar-corner,.fd-panel__content[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-panel__content::-webkit-scrollbar-corner,[dir=rtl] .fd-panel__content::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-panel__content[aria-hidden=true]{display:none}.fd-panel__content--no-padding{--fdPanel_Content_Padding_Inline:0;--fdPanel_Content_Padding_Block:0}.fd-panel__expand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);width:2.75rem}.fd-panel__button{font-size:1rem}.fd-panel__button[dir=rtl] .sap-icon--slim-arrow-right,[dir=rtl] .fd-panel__button .sap-icon--slim-arrow-right{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-panel--fixed{--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel--sticky{--fdPanel_Header_Position:sticky;--fdPanel_Header_Position_Top:0}.fd-panel--borderless{--fdPanel_Header_Border_Color:transparent}.fd-panel--transparent{--fdPanel_Content_Background_Color:transparent}.fd-panel[class*=-compact],.fd-panel[class*=-condensed],[class*=-compact] .fd-panel:not([class*=-cozy]),[class*=-condensed] .fd-panel:not([class*=-cozy]){--fdPanel_Header_Height:2.5rem}.fd-panel--transparent .fd-panel__header,.fd-panel--transparent .fd-panel__content{background:transparent}.fd-panel--no-radius .fd-panel__header,.fd-panel--no-radius .fd-panel__content,.fd-panel--no-radius .fd-panel__header ul,.fd-panel--no-radius .fd-panel__content ul{border-radius:0}.fd-panel--no-radius .fd-panel__header ul li:first-child,.fd-panel--no-radius .fd-panel__header ul li:last-child,.fd-panel--no-radius .fd-panel__content ul li:first-child,.fd-panel--no-radius .fd-panel__content ul li:last-child{border-radius:0}.fd-panel__content--no-padding{padding-block:0;padding-inline:0}.fd-panel__content--transparent{background:transparent}\n/*! Bundled license information:\n\nfundamental-styles/dist/panel.css:\n  (*!\n   * Fundamental Library Styles v0.41.7\n   * Copyright (c) 2026 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"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [contentDensityObserverProviders()], imports: [ButtonComponent], host: {
                        '[attr.id]': 'id()'
                    }, template: "<div\n    class=\"fd-panel\"\n    [class.fd-panel--fixed]=\"fixed()\"\n    [class.fd-panel--transparent]=\"transparent()\"\n    [class.fd-panel--no-radius]=\"noRadius()\"\n    [class]=\"class()\"\n>\n    <div class=\"fd-panel__header\">\n        @if (!fixed()) {\n            <div class=\"fd-panel__expand\">\n                <button\n                    fd-button\n                    fdType=\"transparent\"\n                    class=\"fd-panel__button\"\n                    [glyph]=\"buttonIcon()\"\n                    [id]=\"expandId()\"\n                    [class.is-expanded]=\"expanded()\"\n                    [attr.aria-expanded]=\"expanded()\"\n                    [attr.aria-controls]=\"panelContent()?.id\"\n                    [ariaLabel]=\"expandAriaLabel()\"\n                    [attr.aria-labelledby]=\"expandAriaLabelledBy() + ' ' + expandId()\"\n                    [title]=\"expandAriaLabel()\"\n                    (click)=\"toggleExpand()\"\n                ></button>\n            </div>\n        }\n        <ng-content select=\"[fd-panel-title]\"></ng-content>\n        <ng-content></ng-content>\n    </div>\n    @if (expanded() || fixed()) {\n        <ng-content select=\"[fd-panel-content]\"></ng-content>\n    }\n</div>\n", styles: [".fd-panel{--fdPanel_Header_Width:100%;--fdPanel_Header_Height:2.75rem;--fdPanel_Flex_Direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:var(--fdPanel_Flex_Direction);flex-direction:var(--fdPanel_Flex_Direction)}.fd-panel,.fd-panel__content,.fd-panel__expand,.fd-panel__header,.fd-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}.fd-panel:after,.fd-panel:before,.fd-panel__content:after,.fd-panel__content:before,.fd-panel__expand:after,.fd-panel__expand:before,.fd-panel__header:after,.fd-panel__header:before,.fd-panel__title:after,.fd-panel__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-panel:not(:last-child){-webkit-margin-after:var(--fdPanel_Margin_Bottom);margin-block-end:var(--fdPanel_Margin_Bottom)}.fd-panel__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--sapGroup_TitleBackground);border-bottom:var(--sapGroup_TitleBorderWidth) solid var(--fdPanel_Header_Border_Color,var(--sapGroup_TitleBorderColor));border-radius:var(--fdPanel_Header_Border_Top_Left_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Top_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Header_Border_Bottom_Right_Radius,0) var(--fdPanel_Header_Border_Bottom_Left_Radius,0);height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);min-width:var(--fdPanel_Header_Width);overflow:hidden;padding-inline:var(--fdPanel_Header_Padding_Inline_Start,0) var(--fdPanel_Header_Padding_Inline_End,.5rem);position:var(--fdPanel_Header_Position,relative);top:var(--fdPanel_Header_Position_Top,unset);width:var(--fdPanel_Header_Width)}.fd-panel__header:has(.fd-panel__button[aria-expanded=false]){--fdPanel_Header_Border_Bottom_Left_Radius:var(--fdPanel_Border_Radius);--fdPanel_Header_Border_Bottom_Right_Radius:var(--fdPanel_Border_Radius)}.fd-panel__header:has(.fd-toolbar){--fdPanel_Header_Padding_Inline_End:0}.fd-panel__header:not(:has(.fd-panel__button)){--fdPanel_Header_Padding_Inline_Start:.75rem}.fd-panel__title{color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontHeaderFamily);font-size:var(--sapGroup_Title_FontSize);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-box-flex:1;-ms-flex:1;flex:1;font-size:var(--fdPanel_Title_Font_Size);max-width:100%;width:100%;-webkit-padding-start:.25rem;padding-inline-start:.25rem}.fd-panel__content{background:var(--fdPanel_Content_Background_Color);border-bottom:.0625rem solid var(--fdPanel_Content_Border_Bottom_Color);border-radius:var(--fdPanel_Content_Border_Top_Left_Radius,0) var(--fdPanel_Content_Border_Top_Right_Radius,0) var(--fdPanel_Content_Border_Bottom_Right_Radius,var(--fdPanel_Border_Radius)) var(--fdPanel_Content_Border_Bottom_Left_Radius,var(--fdPanel_Border_Radius));overflow:auto;padding-block:var(--fdPanel_Content_Padding_Block,.625rem);padding-inline:var(--fdPanel_Content_Padding_Inline,1rem);scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-panel__content.is-focus,.fd-panel__content:focus{outline:none;z-index:5}.fd-panel__content::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-panel__content::-webkit-scrollbar-thumb{background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-panel__content::-webkit-scrollbar-thumb:active,.fd-panel__content::-webkit-scrollbar-thumb:hover{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color);box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-panel__content::-webkit-scrollbar-corner,.fd-panel__content::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-panel__content[dir=rtl]::-webkit-scrollbar-corner,.fd-panel__content[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-panel__content::-webkit-scrollbar-corner,[dir=rtl] .fd-panel__content::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-panel__content[aria-hidden=true]{display:none}.fd-panel__content--no-padding{--fdPanel_Content_Padding_Inline:0;--fdPanel_Content_Padding_Block:0}.fd-panel__expand{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:var(--fdPanel_Header_Height);min-height:var(--fdPanel_Header_Height);width:2.75rem}.fd-panel__button{font-size:1rem}.fd-panel__button[dir=rtl] .sap-icon--slim-arrow-right,[dir=rtl] .fd-panel__button .sap-icon--slim-arrow-right{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fd-panel--fixed{--fdPanel_Header_Padding_Inline_Start:1rem}.fd-panel--sticky{--fdPanel_Header_Position:sticky;--fdPanel_Header_Position_Top:0}.fd-panel--borderless{--fdPanel_Header_Border_Color:transparent}.fd-panel--transparent{--fdPanel_Content_Background_Color:transparent}.fd-panel[class*=-compact],.fd-panel[class*=-condensed],[class*=-compact] .fd-panel:not([class*=-cozy]),[class*=-condensed] .fd-panel:not([class*=-cozy]){--fdPanel_Header_Height:2.5rem}.fd-panel--transparent .fd-panel__header,.fd-panel--transparent .fd-panel__content{background:transparent}.fd-panel--no-radius .fd-panel__header,.fd-panel--no-radius .fd-panel__content,.fd-panel--no-radius .fd-panel__header ul,.fd-panel--no-radius .fd-panel__content ul{border-radius:0}.fd-panel--no-radius .fd-panel__header ul li:first-child,.fd-panel--no-radius .fd-panel__header ul li:last-child,.fd-panel--no-radius .fd-panel__content ul li:first-child,.fd-panel--no-radius .fd-panel__content ul li:last-child{border-radius:0}.fd-panel__content--no-padding{padding-block:0;padding-inline:0}.fd-panel__content--transparent{background:transparent}\n/*! Bundled license information:\n\nfundamental-styles/dist/panel.css:\n  (*!\n   * Fundamental Library Styles v0.41.7\n   * Copyright (c) 2026 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 }, { type: i1.ContentDensityObserver }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], fixed: [{ type: i0.Input, args: [{ isSignal: true, alias: "fixed", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], expandId: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandId", required: false }] }], expandAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandAriaLabel", required: false }] }], expandAriaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandAriaLabelledBy", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }], transparent: [{ type: i0.Input, args: [{ isSignal: true, alias: "transparent", required: false }] }], noRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "noRadius", required: false }] }], panelContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => PanelContentDirective), { isSignal: true }] }] } });

/**
 * @deprecated
 * Use direct imports of PanelComponent, PanelContentDirective, PanelTitleDirective
 */
class PanelModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, imports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule], exports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, imports: [PanelComponent, ContentDensityModule, ContentDensityModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: PanelModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule],
                    exports: [PanelComponent, PanelContentDirective, PanelTitleDirective, ContentDensityModule]
                }]
        }] });

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

export { PanelComponent, PanelContentDirective, PanelModule, PanelTitleDirective };
//# sourceMappingURL=fundamental-ngx-core-panel.mjs.map
