import * as i0 from '@angular/core';
import { output, input, signal, ElementRef, HostListener, ViewChild, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, DestroyRef, ContentChildren, EventEmitter, Output, ContentChild, Optional, NgModule } from '@angular/core';
import * as i1 from '@fundamental-ngx/cdk/utils';
import { KeyboardSupportService, destroyObservable, DynamicComponentService } from '@fundamental-ngx/cdk/utils';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import * as i2 from '@fundamental-ngx/core/content-density';
import { contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
import { Subject, startWith, merge, takeUntil, Subscription } from 'rxjs';
import { defaultButtonType, ButtonComponent } from '@fundamental-ngx/core/button';
import { FD_DEFAULT_ICON_FONT_FAMILY } from '@fundamental-ngx/core/icon';
import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
import { NgTemplateOutlet } from '@angular/common';
import { startWith as startWith$1, takeUntil as takeUntil$1 } from 'rxjs/operators';
import { PopoverComponent, PopoverControlComponent, PopoverBodyComponent } from '@fundamental-ngx/core/popover';

/**
 * A component used to enforce a certain layout for the action sheet.
 * ```html
 * <fd-action-sheet>
 *     <fd-action-sheet-control>Control Element</fd-action-sheet-control>
 *     <fd-action-sheet-body>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *     </fd-action-sheet-body>
 * </fd-action-sheet>
 * ```
 */
class ActionSheetItemComponent {
    /** @hidden */
    constructor(_elementRef) {
        this._elementRef = _elementRef;
        /** Glyph font family */
        this.glyphFont = FD_DEFAULT_ICON_FONT_FAMILY;
        /** Indicate state of the button.*/
        this.negative = false;
        /** Indicate if it's closing button */
        this.isCloseButton = false;
        /** Whether or not the action sheet item is disabled. */
        this.disabled = false;
        /** @hidden */
        this.keyDown = output();
        /** The button type for styling (e.g., 'transparent', 'emphasized'). */
        this.fdType = input(defaultButtonType, ...(ngDevMode ? [{ debugName: "fdType" }] : []));
        /** Whether the button is in toggled state. */
        this.toggled = input(...(ngDevMode ? [undefined, { debugName: "toggled" }] : []));
        /** @hidden */
        this.clicked = new Subject();
        /** @hidden */
        this.focused = new Subject();
        /** @hidden */
        this._tabIndex$ = signal(null, ...(ngDevMode ? [{ debugName: "_tabIndex$" }] : []));
    }
    /** @hidden */
    keydownHandler(event) {
        this.keyDown.emit(event);
    }
    /** @hidden */
    focusHandler() {
        this.focused.next(this);
    }
    /** Handler for mouse events */
    onClick() {
        this.clicked.next({
            shouldClose: this.isCloseButton
        });
    }
    /** @hidden Support for KeyboardSupportItemInterface */
    click() {
        this._elementRef.nativeElement.click();
    }
    /** @hidden */
    focus() {
        this.buttonComponent.nativeElement.focus();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.0", type: ActionSheetItemComponent, isStandalone: true, selector: "[fd-action-sheet-item]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, glyph: { classPropertyName: "glyph", publicName: "glyph", isSignal: false, isRequired: false, transformFunction: null }, glyphFont: { classPropertyName: "glyphFont", publicName: "glyphFont", isSignal: false, isRequired: false, transformFunction: null }, negative: { classPropertyName: "negative", publicName: "negative", isSignal: false, isRequired: false, transformFunction: null }, isCloseButton: { classPropertyName: "isCloseButton", publicName: "isCloseButton", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, fdType: { classPropertyName: "fdType", publicName: "fdType", isSignal: true, isRequired: false, transformFunction: null }, toggled: { classPropertyName: "toggled", publicName: "toggled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { keyDown: "keyDown" }, host: { attributes: { "role": "none" }, listeners: { "keydown": "keydownHandler($event)", "focusin": "focusHandler()", "click": "onClick()" }, classAttribute: "fd-action-sheet__item" }, viewQueries: [{ propertyName: "buttonComponent", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef }], ngImport: i0, template: "<button\n    fd-button\n    class=\"fd-button--full-width\"\n    [class.fd-button--text-alignment-left]=\"!negative\"\n    [class.fd-button--negative]=\"negative\"\n    [class.fd-button--transparent]=\"!negative && fdType() === 'standard'\"\n    role=\"menuitem\"\n    [fdType]=\"fdType()\"\n    [toggled]=\"toggled()\"\n    [label]=\"label\"\n    [glyph]=\"glyph\"\n    [glyphFont]=\"glyphFont\"\n    [disabled]=\"disabled\"\n    [tabIndex]=\"_tabIndex$()\"\n>\n    <ng-content></ng-content>\n</button>\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: ActionSheetItemComponent, decorators: [{
            type: Component,
            args: [{ selector: '[fd-action-sheet-item]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
                        class: 'fd-action-sheet__item',
                        role: 'none'
                    }, imports: [ButtonComponent], template: "<button\n    fd-button\n    class=\"fd-button--full-width\"\n    [class.fd-button--text-alignment-left]=\"!negative\"\n    [class.fd-button--negative]=\"negative\"\n    [class.fd-button--transparent]=\"!negative && fdType() === 'standard'\"\n    role=\"menuitem\"\n    [fdType]=\"fdType()\"\n    [toggled]=\"toggled()\"\n    [label]=\"label\"\n    [glyph]=\"glyph\"\n    [glyphFont]=\"glyphFont\"\n    [disabled]=\"disabled\"\n    [tabIndex]=\"_tabIndex$()\"\n>\n    <ng-content></ng-content>\n</button>\n" }]
        }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { label: [{
                type: Input
            }], glyph: [{
                type: Input
            }], glyphFont: [{
                type: Input
            }], negative: [{
                type: Input
            }], isCloseButton: [{
                type: Input
            }], disabled: [{
                type: Input
            }], buttonComponent: [{
                type: ViewChild,
                args: [ButtonComponent, { read: ElementRef }]
            }], keyDown: [{ type: i0.Output, args: ["keyDown"] }], fdType: [{ type: i0.Input, args: [{ isSignal: true, alias: "fdType", required: false }] }], toggled: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggled", required: false }] }], keydownHandler: [{
                type: HostListener,
                args: ['keydown', ['$event']]
            }], focusHandler: [{
                type: HostListener,
                args: ['focusin']
            }], onClick: [{
                type: HostListener,
                args: ['click']
            }] } });

let actionSheetBodyUniqueIdCounter = 0;
/**
 * A component used to enforce a certain layout for the action sheet.
 * ```html
 * <fd-action-sheet>
 *     <fd-action-sheet-control>Control Element</fd-action-sheet-control>
 *     <fd-action-sheet-body>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *     </fd-action-sheet-body>
 * </fd-action-sheet>
 * ```
 */
class ActionSheetBodyComponent {
    /** @hidden */
    constructor(_keyboardSupportService, _contentDensityObserver) {
        this._keyboardSupportService = _keyboardSupportService;
        this._contentDensityObserver = _contentDensityObserver;
        /** Id of the Action Sheet Body. */
        this.actionSheetBodyId = `fd-action-sheet-body-${actionSheetBodyUniqueIdCounter++}`;
        /** Display in mobile view. */
        this.mobile = false;
        /** @hidden */
        this._refresh$ = new Subject();
        /** @hidden */
        this._destroyRef = inject(DestroyRef);
    }
    /** Handler for mouse events */
    onClick(event) {
        event.stopPropagation();
    }
    /** @hidden */
    keyDownHandler(event) {
        if (this._keyboardSupportService.keyManager) {
            this._keyboardSupportService.onKeyDown(event);
        }
    }
    /** @hidden */
    ngAfterViewInit() {
        this._keyboardSupportService.setKeyboardService(this._items, false, false);
        this._items.changes.pipe(startWith(null), takeUntilDestroyed(this._destroyRef)).subscribe(() => {
            this._setupInteractionListeners();
        });
    }
    /** @hidden */
    _setupInteractionListeners() {
        this._refresh$.next();
        this._refresh$.complete();
        this._refresh$ = new Subject();
        merge(...this._items.toArray().map((i) => i.focused))
            .pipe(takeUntil(this._refresh$), takeUntilDestroyed(this._destroyRef))
            .subscribe((focusedItem) => {
            this._items.forEach((item) => {
                item._tabIndex$.set(-1);
            });
            focusedItem._tabIndex$.set(0);
            this._keyboardSupportService.keyManager.setActiveItem(focusedItem);
        });
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetBodyComponent, deps: [{ token: i1.KeyboardSupportService }, { token: i2.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: ActionSheetBodyComponent, isStandalone: true, selector: "fd-action-sheet-body", inputs: { actionSheetBodyId: "actionSheetBodyId", mobile: "mobile", ariaLabel: "ariaLabel", ariaLabelledby: "ariaLabelledby" }, host: { listeners: { "click": "onClick($event)", "keydown": "keyDownHandler($event)" } }, providers: [KeyboardSupportService, contentDensityObserverProviders()], queries: [{ propertyName: "_items", predicate: ActionSheetItemComponent }], viewQueries: [{ propertyName: "actionSheetElementRef", first: true, predicate: ["actionSheetElement"], descendants: true }], ngImport: i0, template: "<ul\n    #actionSheetElement\n    [attr.id]=\"actionSheetBodyId\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-labelledby]=\"ariaLabelledby\"\n    class=\"fd-action-sheet\"\n    [class.fd-action-sheet--mobile]=\"mobile\"\n    role=\"menu\"\n>\n    <ng-content select=\"[fd-action-sheet-item]\"></ng-content>\n</ul>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetBodyComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-action-sheet-body', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [KeyboardSupportService, contentDensityObserverProviders()], standalone: true, template: "<ul\n    #actionSheetElement\n    [attr.id]=\"actionSheetBodyId\"\n    [attr.aria-label]=\"ariaLabel\"\n    [attr.aria-labelledby]=\"ariaLabelledby\"\n    class=\"fd-action-sheet\"\n    [class.fd-action-sheet--mobile]=\"mobile\"\n    role=\"menu\"\n>\n    <ng-content select=\"[fd-action-sheet-item]\"></ng-content>\n</ul>\n" }]
        }], ctorParameters: () => [{ type: i1.KeyboardSupportService }, { type: i2.ContentDensityObserver }], propDecorators: { actionSheetBodyId: [{
                type: Input
            }], mobile: [{
                type: Input
            }], ariaLabel: [{
                type: Input
            }], ariaLabelledby: [{
                type: Input
            }], actionSheetElementRef: [{
                type: ViewChild,
                args: ['actionSheetElement']
            }], _items: [{
                type: ContentChildren,
                args: [ActionSheetItemComponent]
            }], onClick: [{
                type: HostListener,
                args: ['click', ['$event']]
            }], keyDownHandler: [{
                type: HostListener,
                args: ['keydown', ['$event']]
            }] } });

/**
 * A component used to enforce a certain layout for the action sheet.
 * ```html
 * <fd-action-sheet>
 *     <fd-action-sheet-control>Control Element</fd-action-sheet-control>
 *     <fd-action-sheet-body>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *          <fd-action-sheet-item>Action Sheet Body</fd-action-sheet-item>
 *     </fd-action-sheet-body>
 * </fd-action-sheet>
 * ```
 */
class ActionSheetControlComponent {
    constructor() {
        /** Emitted event when control button is clicked */
        this.clicked = new EventEmitter();
        /** saves element that is focused before dialog opened */
        this._focusedElementBeforeDialogOpened = null;
    }
    /** Handler for mouse events */
    onClick() {
        this._focusedElementBeforeDialogOpened = _getFocusedElementPierceShadowDom();
        this.clicked.emit();
    }
    /** @hidden */
    _focus() {
        this._focusedElementBeforeDialogOpened?.focus();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: ActionSheetControlComponent, isStandalone: true, selector: "fd-action-sheet-control", outputs: { clicked: "clicked" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetControlComponent, decorators: [{
            type: Component,
            args: [{
                    selector: 'fd-action-sheet-control',
                    template: `<ng-content></ng-content>`,
                    encapsulation: ViewEncapsulation.None,
                    changeDetection: ChangeDetectionStrategy.OnPush,
                    standalone: true
                }]
        }], propDecorators: { clicked: [{
                type: Output
            }], onClick: [{
                type: HostListener,
                args: ['click']
            }] } });

class ActionSheetMobileComponent {
    /** @hidden */
    get _isOpenChangeHandle() {
        return this.childContent?.isOpenChangeHandle;
    }
    /** @hidden */
    constructor(_changeDetectionRef) {
        this._changeDetectionRef = _changeDetectionRef;
        /** Whenever links should be visible */
        this.open = false;
        /** @hidden */
        this.childContent = null;
    }
    /** @hidden */
    toggleOpenState(isOpen) {
        this.open = isOpen;
        this._changeDetectionRef.detectChanges();
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetMobileComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ActionSheetMobileComponent, isStandalone: true, selector: "fd-action-sheet-mobile", ngImport: i0, template: "@if (open) {\n    <div\n        class=\"fd-action-sheet__wrapper fd-action-sheet__wrapper--active\"\n        (click)=\"_isOpenChangeHandle && _isOpenChangeHandle(false)\"\n    >\n        <ng-template [ngTemplateOutlet]=\"childContent?.actionSheetBodyTemplate || null\"></ng-template>\n    </div>\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetMobileComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-action-sheet-mobile', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], template: "@if (open) {\n    <div\n        class=\"fd-action-sheet__wrapper fd-action-sheet__wrapper--active\"\n        (click)=\"_isOpenChangeHandle && _isOpenChangeHandle(false)\"\n    >\n        <ng-template [ngTemplateOutlet]=\"childContent?.actionSheetBodyTemplate || null\"></ng-template>\n    </div>\n}\n" }]
        }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });

class ActionSheetComponent {
    /** @hidden */
    constructor(_keyboardSupportService, _changeDetectionRef, _viewContainerRef, _dynamicComponentService) {
        this._keyboardSupportService = _keyboardSupportService;
        this._changeDetectionRef = _changeDetectionRef;
        this._viewContainerRef = _viewContainerRef;
        this._dynamicComponentService = _dynamicComponentService;
        /** Whether should be displayed in mobile mode */
        this.mobile = false;
        /** The position of the popover body. Set to 'bottom' by default. */
        this.placement = 'bottom';
        /** Whether the popover body has an arrow. Set to false by default. */
        this.noArrow = false;
        /** Whenever links should be visible */
        this.isOpen = false;
        /** Whether internal keyboard support should be enabled. It's enabled by default */
        this.keyboardSupport = true;
        /**
         * To allow user to determine what event he wants to trigger the messages to show
         * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).
         */
        this.triggers = ['click'];
        /**
         * Value for the control title heading level
         * A number between 1 and 6
         * Default is set to 2
         */
        this.controlTitleHeading = 2;
        /** Event thrown, when focus escapes the list */
        this.focusEscapeList = new EventEmitter();
        /** Event thrown, when the action sheet is opened or closed */
        this.isOpenChange = new EventEmitter();
        /** @hidden */
        this._destroyRef = inject(DestroyRef);
        /** @hidden */
        this._onRefresh$ = new Subject();
        /** @hidden */
        this._subscriptions = new Subscription();
    }
    /** @hidden */
    ngAfterContentInit() {
        this._initializeChildrenState();
        this._keyboardSupportService.setKeyboardService(this.actionSheetItems, true);
        this._listenOnItemsChange();
        this._actionControlHandle();
    }
    /** @hidden */
    ngAfterViewInit() {
        if (this.mobile) {
            this._setUpMobileMode();
        }
    }
    /** @hidden */
    ngOnDestroy() {
        this._subscriptions.unsubscribe();
        this._onRefresh$.next();
        this._onRefresh$.complete();
    }
    /** Method that opens action sheet */
    open() {
        this.isOpenChangeHandle(true);
    }
    /** Method that closes action sheet */
    close() {
        this.isOpenChangeHandle(false);
    }
    /** @hidden */
    isOpenChangeHandle(isOpen) {
        if (this.isOpen === isOpen) {
            return;
        }
        this.isOpen = isOpen;
        if (this.mobile && this.actionSheetMobileDynamic) {
            this.actionSheetMobileDynamic.instance.toggleOpenState(this.isOpen);
        }
        this.isOpenChange.emit(isOpen);
        isOpen ? this._setItemActive(0) : this.actionSheetControl._focus();
        this._changeDetectionRef.detectChanges();
    }
    /** @hidden */
    _initializeChildrenState() {
        if (this.actionSheetBody) {
            this.actionSheetBody.mobile = this.mobile;
        }
    }
    /** @hidden */
    _actionControlHandle() {
        this.actionSheetControl.clicked
            .pipe(takeUntilDestroyed(this._destroyRef))
            .subscribe(() => (this.isOpen ? this.close() : this.open()));
    }
    /** @hidden */
    _listenOnItemsChange() {
        this.actionSheetItems.changes.pipe(startWith$1(1), takeUntilDestroyed(this._destroyRef)).subscribe(() => {
            this._listenOnItemsClick();
        });
    }
    /** @hidden */
    _listenOnItemsClick() {
        /** Finish all of the streams, from before */
        this._onRefresh$.next();
        /** Merge refresh/destroy observables */
        const refresh$ = merge(this._onRefresh$, destroyObservable(this._destroyRef));
        this.actionSheetItems.forEach((item, index) => item.clicked.pipe(takeUntil$1(refresh$)).subscribe((event) => {
            this._setItemActive(index);
            if (event.shouldClose) {
                this.close();
            }
        }));
    }
    /** @hidden Set fake focus on element with passed index */
    _setItemActive(index) {
        this._keyboardSupportService.keyManager?.setActiveItem(index);
    }
    /** @hidden */
    async _setUpMobileMode() {
        this.actionSheetMobileDynamic = this._dynamicComponentService.createDynamicComponent({
            actionSheetBodyTemplate: this.actionSheetBodyTemplate,
            isOpenChangeHandle: this.isOpenChangeHandle.bind(this)
        }, ActionSheetMobileComponent, {
            containerRef: this._viewContainerRef
        });
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetComponent, deps: [{ token: i1.KeyboardSupportService }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.DynamicComponentService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: ActionSheetComponent, isStandalone: true, selector: "fd-action-sheet", inputs: { mobile: "mobile", placement: "placement", noArrow: "noArrow", isOpen: "isOpen", keyboardSupport: "keyboardSupport", triggers: "triggers", controlTitle: "controlTitle", controlTitleHeading: "controlTitleHeading" }, outputs: { focusEscapeList: "focusEscapeList", isOpenChange: "isOpenChange" }, providers: [KeyboardSupportService, DynamicComponentService], queries: [{ propertyName: "actionSheetBody", first: true, predicate: ActionSheetBodyComponent, descendants: true }, { propertyName: "actionSheetControl", first: true, predicate: ActionSheetControlComponent, descendants: true }, { propertyName: "actionSheetItems", predicate: ActionSheetItemComponent, descendants: true }], viewQueries: [{ propertyName: "actionSheetBodyTemplate", first: true, predicate: ["actionSheetBodyTemplate"], descendants: true }, { propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: "@if (!mobile) {\n    <fd-popover\n        [placement]=\"placement\"\n        [isOpen]=\"isOpen\"\n        (isOpenChange)=\"isOpenChangeHandle($event)\"\n        [noArrow]=\"noArrow\"\n        [focusTrapped]=\"true\"\n        [triggers]=\"[]\"\n        [focusAutoCapture]=\"true\"\n    >\n        <fd-popover-control>\n            <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n        </fd-popover-control>\n        <fd-popover-body>\n            <ng-template [ngTemplateOutlet]=\"actionSheetBodyTemplate\"></ng-template>\n        </fd-popover-body>\n    </fd-popover>\n} @else {\n    <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n}\n<ng-template #actionSheetBodyTemplate>\n    @if (mobile && controlTitle) {\n        <div class=\"fd-bar fd-action-sheet__bar\" role=\"toolbar\" aria-label=\"Bar\">\n            <div class=\"fd-bar__left\">\n                <div class=\"fd-bar__element\">\n                    <div role=\"heading\" [ariaLevel]=\"controlTitleHeading\" class=\"fd-action-sheet__title\">\n                        {{ controlTitle }}\n                    </div>\n                </div>\n            </div>\n        </div>\n    }\n    <ng-content select=\"fd-action-sheet-body\"></ng-content>\n</ng-template>\n<ng-template #actionSheetControl>\n    <ng-content select=\"fd-action-sheet-control\"></ng-content>\n</ng-template>\n", styles: [".fd-action-sheet{--fdActionSheet_Padding_Block:.25rem;--fdActionSheet_Padding_Inline:.5rem;--fdActionSheet_Item_Padding_Block:.25rem;--fdActionSheet_Item_Padding_Inline:0;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-block:var(--fdActionSheet_Padding_Block);padding-inline:0;padding-inline:var(--fdActionSheet_Padding_Inline);width:100%}.fd-action-sheet:after,.fd-action-sheet:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-action-sheet__item{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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:var(--fdActionSheet_Item_Padding_Block);padding-inline:0;padding-inline:var(--fdActionSheet_Item_Padding_Inline);width:100%}.fd-action-sheet__item:after,.fd-action-sheet__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-action-sheet__wrapper{display:none}.fd-action-sheet__wrapper,.fd-action-sheet__wrapper:before{border-radius:var(--fdPopover_Border_Radius);height:100%;left:0;position:absolute;top:0;width:100%}.fd-action-sheet__wrapper:before{background-color:var(--sapBlockLayer_Background);content:\"\";display:block;opacity:var(--sapBlockLayer_Opacity)}.fd-action-sheet__wrapper--active{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-action-sheet__wrapper .fd-action-sheet__bar.fd-bar{border-radius:var(--sapPopover_BorderCornerRadius) var(--sapPopover_BorderCornerRadius) 0 0;-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2);width:calc(100% - var(--sapGroup_BorderWidth)*2);-webkit-margin-start:.0625rem;margin-inline-start:.0625rem}.fd-action-sheet__wrapper .fd-action-sheet__bar.fd-bar+.fd-action-sheet{border-radius:0 0 var(--sapPopover_BorderCornerRadius) var(--sapPopover_BorderCornerRadius)}.fd-action-sheet__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);color:var(--sapPageHeader_TextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;z-index:1}.fd-action-sheet__title:after,.fd-action-sheet__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-action-sheet[class*=-compact],.fd-action-sheet[class*=-condensed],[class*=-compact] .fd-action-sheet:not([class*=-cozy]),[class*=-condensed] .fd-action-sheet:not([class*=-cozy]){--fdActionSheet_Padding_Block:.1875rem;--fdActionSheet_Padding_Inline:.375rem;--fdActionSheet_Item_Padding_Block:.1875rem;--fdActionSheet_Item_Padding_Inline:0}.fd-action-sheet--mobile{background-color:var(--sapGroup_ContentBackground);border-radius:var(--fdPopover_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);left:var(--sapGroup_BorderWidth);overflow:auto;position:relative;right:auto;width:calc(100% - var(--sapGroup_BorderWidth)*2);z-index:1}.fd-action-sheet--mobile[dir=rtl],[dir=rtl] .fd-action-sheet--mobile{left:auto;right:var(--sapGroup_BorderWidth)}.fd-bar{--fdBar_Z_Index:1;--fdBar_Height:2.75rem;--fdBar_Padding_X:1rem;--fdBar_Padding_Top:0;--fdBar_Padding_Bottom:0;--fdBar_Border_Radius:0;--fdBar_Floating_Footer_Offset_X:.5rem;--fdBar_Floating_Footer_Offset_Y:.5rem;--fdBar_Shadow:var(--sapContent_HeaderShadow);--fdBar_Background:var(--sapPageHeader_Background);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;gap:.5rem;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--fdBar_Background);border-radius:var(--fdBar_Border_Radius);-webkit-box-shadow:var(--fdBar_Shadow);box-shadow:var(--fdBar_Shadow);height:var(--fdBar_Height);justify-content:space-between;padding-block:var(--fdBar_Padding_Top) var(--fdBar_Padding_Bottom);padding-inline:var(--fdBar_Padding_X);z-index:var(--fdBar_Z_Index)}.fd-bar:after,.fd-bar:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-bar .fd-bar__header{color:var(--sapPageHeader_TextColor);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontHeader5Size)}.fd-bar__left,.fd-bar__middle,.fd-bar__right{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;gap:.5rem;max-width:100%;width:100%}.fd-bar__left:after,.fd-bar__left:before,.fd-bar__middle:after,.fd-bar__middle:before,.fd-bar__right:after,.fd-bar__right:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-bar__middle{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.fd-bar__right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-bar__element{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;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--fdBar_Element_Text_Color,var(--sapTextColor));font-family:var(--fdBar_Element_Text_Font_Family,var(--sapFontFamily));font-size:var(--fdBar_Element_Text_Font_Size,var(--sapFontSize));max-height:100%;max-width:100%}.fd-bar__element:after,.fd-bar__element:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-bar__element--full-width{width:100%}.fd-bar__element--full-width>:first-child{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}@media(width<=599px){.fd-bar--responsive-paddings{padding-inline:1rem}}@media(width>=600px)and (width<=1023px){.fd-bar--responsive-paddings{padding-inline:2rem}}@media(width>=1024px)and (width<=1439px){.fd-bar--responsive-paddings{padding-inline:2rem}}@media(width>=1440px){.fd-bar--responsive-paddings{padding-inline:3rem}}.fd-bar--header{--fdBar_Shadow:var(--sapContent_HeaderShadow);--fdBar_Background:var(--sapPageHeader_Background);--fdBar_Element_Text_Color:var(sapPageHeader_TextColor);--fdBar_Element_Text_Font_Family:var(--sapFontHeaderFamily);--fdBar_Element_Text_Font_Size:var(--sapFontHeader5Size)}.fd-bar--header:has(+.fd-bar--subheader){--fdBar_Shadow:none}.fd-bar--subheader{--fdBar_Height:3rem;--fdBar_Padding_Bottom:.25rem;--fdBar_Shadow:var(--sapContent_HeaderShadow);--fdBar_Background:var(--sapPageHeader_Background)}.fd-bar--header-with-subheader{--fdBar_Z_Index:2;--fdBar_Shadow:none;--fdBar_Background:var(--sapPageHeader_Background);position:relative}.fd-bar--footer{--fdBar_Shadow:none;--fdBar_Background:var(--sapPageFooter_Background);--fdBar_Element_Text_Color:var(--sapPageFooter_TextColor);border-top:var(--sapGroup_TitleBorderWidth) solid var(--sapPageFooter_BorderColor)}.fd-bar--floating-footer{--fdBar_Shadow:var(--sapContent_Shadow1);--fdBar_Z_Index:map.get($fd-z-index-levels,\"top\");--fdBar_Background:var(--sapPageFooter_Background);--fdBar_Element_Text_Color:var(--sapPageFooter_TextColor);--fdBar_Border_Radius:var(--sapElement_BorderCornerRadius);bottom:var(--fdBar_Floating_Footer_Offset_Y);left:var(--fdBar_Floating_Footer_Offset_X);opacity:1;position:absolute;right:var(--fdBar_Floating_Footer_Offset_X)}.fd-bar--growing{--fdBar_Height:auto;--fdBar_Padding_Top:.25rem;--fdBar_Padding_Bottom:.25rem;min-height:2.5rem}.fd-bar--growing.fd-bar--header{--fdBar_Padding_Top:.375rem}.fd-bar--home-page,.fd-bar--page{--fdBar_Padding_X:1rem}.fd-bar--home-page.fd-bar--floating-footer,.fd-bar--page.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:1rem}.fd-bar--page-s,.fd-bar--page-sm{--fdBar_Padding_X:1rem}.fd-bar--page-s.fd-bar--floating-footer,.fd-bar--page-sm.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:1rem}.fd-bar--home-page-s,.fd-bar--home-page-sm{--fdBar_Padding_X:.5rem}.fd-bar--home-page-s.fd-bar--floating-footer,.fd-bar--home-page-sm.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:1rem}.fd-bar--home-page-m_l,.fd-bar--home-page-md_lg,.fd-bar--page-m_l,.fd-bar--page-md_lg{--fdBar_Padding_X:2rem}.fd-bar--home-page-m_l.fd-bar--floating-footer,.fd-bar--home-page-md_lg.fd-bar--floating-footer,.fd-bar--page-m_l.fd-bar--floating-footer,.fd-bar--page-md_lg.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:2rem}.fd-bar--home-page-xl,.fd-bar--page-xl{--fdBar_Padding_X:3rem}.fd-bar--home-page-xl.fd-bar--floating-footer,.fd-bar--page-xl.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:3rem}.fd-bar[class*=-compact],.fd-bar[class*=-condensed],[class*=-compact] .fd-bar:not([class*=-cozy]),[class*=-condensed] .fd-bar:not([class*=-cozy]){--fdBar_Height:2.5rem}.fd-bar[class*=-compact].fd-bar--subheader,.fd-bar[class*=-condensed].fd-bar--subheader,[class*=-compact] .fd-bar:not([class*=-cozy]).fd-bar--subheader,[class*=-condensed] .fd-bar:not([class*=-cozy]).fd-bar--subheader{--fdBar_Height:2.25rem}fd-action-sheet-body{width:100%}.fd-action-sheet{list-style-type:none}.fd-action-sheet__wrapper--active{position:fixed;z-index:999}.fd-action-sheet__wrapper .fd-action-sheet__bar.fd-bar+fd-action-sheet-body .fd-action-sheet.fd-action-sheet--mobile{border-radius:0 0 var(--sapPopover_BorderCornerRadius) var(--sapPopover_BorderCornerRadius)}\n/*! Bundled license information:\n\nfundamental-styles/dist/bar.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"], dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["config", "title", "trigger", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll", "placement", "maxWidth", "fillControlMode", "closeOnOutsideClick", "closeOnEscapeKey", "disabled", "triggers", "focusTrapped", "focusAutoCapture", "restoreFocusOnClose", "noArrow", "disableScrollbar", "appendTo", "placementContainer", "scrollStrategy", "cdkPositions", "applyOverlay", "additionalBodyClass", "additionalTriggerClass", "closeOnNavigation", "fixedPosition", "resizable", "isOpen"], outputs: ["triggerChange", "isOpenChange", "beforeOpen"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"], outputs: ["onClose"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-action-sheet', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [KeyboardSupportService, DynamicComponentService], imports: [PopoverComponent, PopoverControlComponent, NgTemplateOutlet, PopoverBodyComponent], template: "@if (!mobile) {\n    <fd-popover\n        [placement]=\"placement\"\n        [isOpen]=\"isOpen\"\n        (isOpenChange)=\"isOpenChangeHandle($event)\"\n        [noArrow]=\"noArrow\"\n        [focusTrapped]=\"true\"\n        [triggers]=\"[]\"\n        [focusAutoCapture]=\"true\"\n    >\n        <fd-popover-control>\n            <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n        </fd-popover-control>\n        <fd-popover-body>\n            <ng-template [ngTemplateOutlet]=\"actionSheetBodyTemplate\"></ng-template>\n        </fd-popover-body>\n    </fd-popover>\n} @else {\n    <ng-template [ngTemplateOutlet]=\"actionSheetControl\"></ng-template>\n}\n<ng-template #actionSheetBodyTemplate>\n    @if (mobile && controlTitle) {\n        <div class=\"fd-bar fd-action-sheet__bar\" role=\"toolbar\" aria-label=\"Bar\">\n            <div class=\"fd-bar__left\">\n                <div class=\"fd-bar__element\">\n                    <div role=\"heading\" [ariaLevel]=\"controlTitleHeading\" class=\"fd-action-sheet__title\">\n                        {{ controlTitle }}\n                    </div>\n                </div>\n            </div>\n        </div>\n    }\n    <ng-content select=\"fd-action-sheet-body\"></ng-content>\n</ng-template>\n<ng-template #actionSheetControl>\n    <ng-content select=\"fd-action-sheet-control\"></ng-content>\n</ng-template>\n", styles: [".fd-action-sheet{--fdActionSheet_Padding_Block:.25rem;--fdActionSheet_Padding_Inline:.5rem;--fdActionSheet_Item_Padding_Block:.25rem;--fdActionSheet_Item_Padding_Inline:0;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-block:var(--fdActionSheet_Padding_Block);padding-inline:0;padding-inline:var(--fdActionSheet_Padding_Inline);width:100%}.fd-action-sheet:after,.fd-action-sheet:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-action-sheet__item{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;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-block:var(--fdActionSheet_Item_Padding_Block);padding-inline:0;padding-inline:var(--fdActionSheet_Item_Padding_Inline);width:100%}.fd-action-sheet__item:after,.fd-action-sheet__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-action-sheet__wrapper{display:none}.fd-action-sheet__wrapper,.fd-action-sheet__wrapper:before{border-radius:var(--fdPopover_Border_Radius);height:100%;left:0;position:absolute;top:0;width:100%}.fd-action-sheet__wrapper:before{background-color:var(--sapBlockLayer_Background);content:\"\";display:block;opacity:var(--sapBlockLayer_Opacity)}.fd-action-sheet__wrapper--active{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-action-sheet__wrapper .fd-action-sheet__bar.fd-bar{border-radius:var(--sapPopover_BorderCornerRadius) var(--sapPopover_BorderCornerRadius) 0 0;-webkit-box-shadow:var(--sapContent_Shadow2);box-shadow:var(--sapContent_Shadow2);width:calc(100% - var(--sapGroup_BorderWidth)*2);-webkit-margin-start:.0625rem;margin-inline-start:.0625rem}.fd-action-sheet__wrapper .fd-action-sheet__bar.fd-bar+.fd-action-sheet{border-radius:0 0 var(--sapPopover_BorderCornerRadius) var(--sapPopover_BorderCornerRadius)}.fd-action-sheet__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);color:var(--sapPageHeader_TextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;overflow:hidden;padding-block:0;padding-inline:0;text-overflow:ellipsis;white-space:nowrap;z-index:1}.fd-action-sheet__title:after,.fd-action-sheet__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-action-sheet[class*=-compact],.fd-action-sheet[class*=-condensed],[class*=-compact] .fd-action-sheet:not([class*=-cozy]),[class*=-condensed] .fd-action-sheet:not([class*=-cozy]){--fdActionSheet_Padding_Block:.1875rem;--fdActionSheet_Padding_Inline:.375rem;--fdActionSheet_Item_Padding_Block:.1875rem;--fdActionSheet_Item_Padding_Inline:0}.fd-action-sheet--mobile{background-color:var(--sapGroup_ContentBackground);border-radius:var(--fdPopover_Border_Radius);-webkit-box-shadow:var(--sapContent_Shadow1);box-shadow:var(--sapContent_Shadow1);left:var(--sapGroup_BorderWidth);overflow:auto;position:relative;right:auto;width:calc(100% - var(--sapGroup_BorderWidth)*2);z-index:1}.fd-action-sheet--mobile[dir=rtl],[dir=rtl] .fd-action-sheet--mobile{left:auto;right:var(--sapGroup_BorderWidth)}.fd-bar{--fdBar_Z_Index:1;--fdBar_Height:2.75rem;--fdBar_Padding_X:1rem;--fdBar_Padding_Top:0;--fdBar_Padding_Bottom:0;--fdBar_Border_Radius:0;--fdBar_Floating_Footer_Offset_X:.5rem;--fdBar_Floating_Footer_Offset_Y:.5rem;--fdBar_Shadow:var(--sapContent_HeaderShadow);--fdBar_Background:var(--sapPageHeader_Background);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;gap:.5rem;-webkit-box-pack:justify;-ms-flex-pack:justify;background:var(--fdBar_Background);border-radius:var(--fdBar_Border_Radius);-webkit-box-shadow:var(--fdBar_Shadow);box-shadow:var(--fdBar_Shadow);height:var(--fdBar_Height);justify-content:space-between;padding-block:var(--fdBar_Padding_Top) var(--fdBar_Padding_Bottom);padding-inline:var(--fdBar_Padding_X);z-index:var(--fdBar_Z_Index)}.fd-bar:after,.fd-bar:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-bar .fd-bar__header{color:var(--sapPageHeader_TextColor);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontHeader5Size)}.fd-bar__left,.fd-bar__middle,.fd-bar__right{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;gap:.5rem;max-width:100%;width:100%}.fd-bar__left:after,.fd-bar__left:before,.fd-bar__middle:after,.fd-bar__middle:before,.fd-bar__right:after,.fd-bar__right:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-bar__middle{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.fd-bar__right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-bar__element{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;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--fdBar_Element_Text_Color,var(--sapTextColor));font-family:var(--fdBar_Element_Text_Font_Family,var(--sapFontFamily));font-size:var(--fdBar_Element_Text_Font_Size,var(--sapFontSize));max-height:100%;max-width:100%}.fd-bar__element:after,.fd-bar__element:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-bar__element--full-width{width:100%}.fd-bar__element--full-width>:first-child{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}@media(width<=599px){.fd-bar--responsive-paddings{padding-inline:1rem}}@media(width>=600px)and (width<=1023px){.fd-bar--responsive-paddings{padding-inline:2rem}}@media(width>=1024px)and (width<=1439px){.fd-bar--responsive-paddings{padding-inline:2rem}}@media(width>=1440px){.fd-bar--responsive-paddings{padding-inline:3rem}}.fd-bar--header{--fdBar_Shadow:var(--sapContent_HeaderShadow);--fdBar_Background:var(--sapPageHeader_Background);--fdBar_Element_Text_Color:var(sapPageHeader_TextColor);--fdBar_Element_Text_Font_Family:var(--sapFontHeaderFamily);--fdBar_Element_Text_Font_Size:var(--sapFontHeader5Size)}.fd-bar--header:has(+.fd-bar--subheader){--fdBar_Shadow:none}.fd-bar--subheader{--fdBar_Height:3rem;--fdBar_Padding_Bottom:.25rem;--fdBar_Shadow:var(--sapContent_HeaderShadow);--fdBar_Background:var(--sapPageHeader_Background)}.fd-bar--header-with-subheader{--fdBar_Z_Index:2;--fdBar_Shadow:none;--fdBar_Background:var(--sapPageHeader_Background);position:relative}.fd-bar--footer{--fdBar_Shadow:none;--fdBar_Background:var(--sapPageFooter_Background);--fdBar_Element_Text_Color:var(--sapPageFooter_TextColor);border-top:var(--sapGroup_TitleBorderWidth) solid var(--sapPageFooter_BorderColor)}.fd-bar--floating-footer{--fdBar_Shadow:var(--sapContent_Shadow1);--fdBar_Z_Index:map.get($fd-z-index-levels,\"top\");--fdBar_Background:var(--sapPageFooter_Background);--fdBar_Element_Text_Color:var(--sapPageFooter_TextColor);--fdBar_Border_Radius:var(--sapElement_BorderCornerRadius);bottom:var(--fdBar_Floating_Footer_Offset_Y);left:var(--fdBar_Floating_Footer_Offset_X);opacity:1;position:absolute;right:var(--fdBar_Floating_Footer_Offset_X)}.fd-bar--growing{--fdBar_Height:auto;--fdBar_Padding_Top:.25rem;--fdBar_Padding_Bottom:.25rem;min-height:2.5rem}.fd-bar--growing.fd-bar--header{--fdBar_Padding_Top:.375rem}.fd-bar--home-page,.fd-bar--page{--fdBar_Padding_X:1rem}.fd-bar--home-page.fd-bar--floating-footer,.fd-bar--page.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:1rem}.fd-bar--page-s,.fd-bar--page-sm{--fdBar_Padding_X:1rem}.fd-bar--page-s.fd-bar--floating-footer,.fd-bar--page-sm.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:1rem}.fd-bar--home-page-s,.fd-bar--home-page-sm{--fdBar_Padding_X:.5rem}.fd-bar--home-page-s.fd-bar--floating-footer,.fd-bar--home-page-sm.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:1rem}.fd-bar--home-page-m_l,.fd-bar--home-page-md_lg,.fd-bar--page-m_l,.fd-bar--page-md_lg{--fdBar_Padding_X:2rem}.fd-bar--home-page-m_l.fd-bar--floating-footer,.fd-bar--home-page-md_lg.fd-bar--floating-footer,.fd-bar--page-m_l.fd-bar--floating-footer,.fd-bar--page-md_lg.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:2rem}.fd-bar--home-page-xl,.fd-bar--page-xl{--fdBar_Padding_X:3rem}.fd-bar--home-page-xl.fd-bar--floating-footer,.fd-bar--page-xl.fd-bar--floating-footer{--fdBar_Padding_X:.5rem;--fdBar_Floating_Footer_Offset_X:3rem}.fd-bar[class*=-compact],.fd-bar[class*=-condensed],[class*=-compact] .fd-bar:not([class*=-cozy]),[class*=-condensed] .fd-bar:not([class*=-cozy]){--fdBar_Height:2.5rem}.fd-bar[class*=-compact].fd-bar--subheader,.fd-bar[class*=-condensed].fd-bar--subheader,[class*=-compact] .fd-bar:not([class*=-cozy]).fd-bar--subheader,[class*=-condensed] .fd-bar:not([class*=-cozy]).fd-bar--subheader{--fdBar_Height:2.25rem}fd-action-sheet-body{width:100%}.fd-action-sheet{list-style-type:none}.fd-action-sheet__wrapper--active{position:fixed;z-index:999}.fd-action-sheet__wrapper .fd-action-sheet__bar.fd-bar+fd-action-sheet-body .fd-action-sheet.fd-action-sheet--mobile{border-radius:0 0 var(--sapPopover_BorderCornerRadius) var(--sapPopover_BorderCornerRadius)}\n/*! Bundled license information:\n\nfundamental-styles/dist/bar.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: i1.KeyboardSupportService }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.DynamicComponentService, decorators: [{
                    type: Optional
                }] }], propDecorators: { mobile: [{
                type: Input
            }], placement: [{
                type: Input
            }], noArrow: [{
                type: Input
            }], isOpen: [{
                type: Input
            }], keyboardSupport: [{
                type: Input
            }], triggers: [{
                type: Input
            }], controlTitle: [{
                type: Input
            }], controlTitleHeading: [{
                type: Input
            }], focusEscapeList: [{
                type: Output
            }], isOpenChange: [{
                type: Output
            }], actionSheetBody: [{
                type: ContentChild,
                args: [ActionSheetBodyComponent]
            }], actionSheetControl: [{
                type: ContentChild,
                args: [ActionSheetControlComponent]
            }], actionSheetItems: [{
                type: ContentChildren,
                args: [ActionSheetItemComponent, { descendants: true }]
            }], actionSheetBodyTemplate: [{
                type: ViewChild,
                args: ['actionSheetBodyTemplate']
            }], popoverComponent: [{
                type: ViewChild,
                args: [PopoverComponent]
            }] } });

const components = [
    ActionSheetComponent,
    ActionSheetControlComponent,
    ActionSheetItemComponent,
    ActionSheetBodyComponent
];
/**
 * @deprecated
 * Use direct imports of components.
 */
class ActionSheetModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetModule, imports: [ActionSheetComponent,
            ActionSheetControlComponent,
            ActionSheetItemComponent,
            ActionSheetBodyComponent], exports: [ActionSheetComponent,
            ActionSheetControlComponent,
            ActionSheetItemComponent,
            ActionSheetBodyComponent] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetModule, imports: [ActionSheetComponent,
            ActionSheetItemComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ActionSheetModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [...components],
                    exports: [...components]
                }]
        }] });

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

export { ActionSheetBodyComponent, ActionSheetComponent, ActionSheetControlComponent, ActionSheetItemComponent, ActionSheetMobileComponent, ActionSheetModule };
//# sourceMappingURL=fundamental-ngx-core-action-sheet.mjs.map
