import * as i0 from '@angular/core';
import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, HostListener, Optional, Inject, Directive, ContentChild, computed, inject, ChangeDetectorRef, effect, ViewChild, ContentChildren, NgModule } from '@angular/core';
import { IconComponent } from '@fundamental-ngx/core/icon';
import { LEFT_ARROW, RIGHT_ARROW, SPACE, ENTER } from '@angular/cdk/keycodes';
import { RtlService, KeyUtil } from '@fundamental-ngx/cdk/utils';
import { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
import { Subject, Subscription } from 'rxjs';
import { debounceTime, startWith } from 'rxjs/operators';

class MicroProcessFlowIconComponent {
    constructor() {
        /**
         * The icon font
         * Options include: 'SAP-icons', 'BusinessSuiteInAppSymbols' and 'SAP-icons-TNT'
         */
        this.font = 'SAP-icons';
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: MicroProcessFlowIconComponent, isStandalone: true, selector: "fd-micro-process-flow-icon", inputs: { glyph: "glyph", font: "font", class: "class", ariaLabel: "ariaLabel" }, host: { classAttribute: "fd-micro-process-flow__icon-container" }, ngImport: i0, template: "<fd-icon\n    class=\"fd-micro-process-flow__icon\"\n    [ariaLabel]=\"ariaLabel\"\n    [glyph]=\"glyph\"\n    [class]=\"class\"\n    [font]=\"font\"\n></fd-icon>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "color", "background", "class", "ariaLabel", "ariaHidden"], outputs: ["ariaHiddenChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowIconComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-micro-process-flow-icon', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
                        class: 'fd-micro-process-flow__icon-container'
                    }, imports: [IconComponent], template: "<fd-icon\n    class=\"fd-micro-process-flow__icon\"\n    [ariaLabel]=\"ariaLabel\"\n    [glyph]=\"glyph\"\n    [class]=\"class\"\n    [font]=\"font\"\n></fd-icon>\n" }]
        }], propDecorators: { glyph: [{
                type: Input
            }], font: [{
                type: Input
            }], class: [{
                type: Input
            }], ariaLabel: [{
                type: Input
            }] } });

const MICRO_PROCESS_FLOW = new InjectionToken('Micro process flow component dependency');

class MicroProcessFlowFocusableItemDirective {
    /** @hidden */
    constructor(elRef, _microProcessFlow) {
        this.elRef = elRef;
        this._microProcessFlow = _microProcessFlow;
    }
    /**
     * @hidden
     * Handler for focus events
     */
    onFocus() {
        this._microProcessFlow?.setFocusedElementIndex(this.elRef.nativeElement);
        this._microProcessFlow?.canItemsReceiveFocus.next(false);
    }
    /** @hidden */
    onBlur() {
        this._microProcessFlow?.canItemsReceiveFocus.next(true);
    }
    /** @hidden */
    ngOnInit() {
        this.setFocusable();
    }
    /** Sets ability to focus on the element or not. */
    setFocusable(focusable = false) {
        this.elRef.nativeElement.setAttribute('tabindex', focusable ? '0' : '-1');
    }
    /** Focuses on the element without scrolling it to the viewport */
    focus(options) {
        this.elRef.nativeElement.focus(options);
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowFocusableItemDirective, deps: [{ token: i0.ElementRef }, { token: MICRO_PROCESS_FLOW, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: MicroProcessFlowFocusableItemDirective, isStandalone: true, selector: "[fdMicroProcessFlowFocusableItem], [fd-micro-process-flow-focusable-item]", host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, classAttribute: "fd-micro-process-flow__focusable-item" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowFocusableItemDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[fdMicroProcessFlowFocusableItem], [fd-micro-process-flow-focusable-item]',
                    host: {
                        class: 'fd-micro-process-flow__focusable-item'
                    },
                    standalone: true
                }]
        }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
                    type: Optional
                }, {
                    type: Inject,
                    args: [MICRO_PROCESS_FLOW]
                }] }], propDecorators: { onFocus: [{
                type: HostListener,
                args: ['focus']
            }], onBlur: [{
                type: HostListener,
                args: ['blur']
            }] } });

class MicroProcessFlowItemComponent {
    /** @hidden */
    constructor(_cd, elRef) {
        this._cd = _cd;
        this.elRef = elRef;
        /** Item state */
        this.state = 'none';
        /** Whether or not display connector line */
        this.intermediate = false;
        /** @hidden */
        this._lastItem = false;
    }
    /**
     * @param value Is current item the last one
     */
    setLastItem(value) {
        if (value !== this._lastItem) {
            this._lastItem = value;
            this._cd.detectChanges();
        }
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: MicroProcessFlowItemComponent, isStandalone: true, selector: "fd-micro-process-flow-item", inputs: { state: "state", intermediate: "intermediate" }, host: { properties: { "class.fd-micro-process-flow__item--positive": "state === \"positive\"", "class.fd-micro-process-flow__item--critical": "state === \"critical\"", "class.fd-micro-process-flow__item--negative": "state === \"negative\"", "class.fd-micro-process-flow__item--information": "state === \"information\"" }, classAttribute: "fd-micro-process-flow__item" }, queries: [{ propertyName: "focusableElement", first: true, predicate: MicroProcessFlowFocusableItemDirective, descendants: true }], ngImport: i0, template: "<div class=\"fd-micro-process-flow__content\">\n    <div class=\"fd-micro-process-flow__content-wrapper\">\n        <ng-content></ng-content>\n    </div>\n    @if (!_lastItem) {\n        <div\n            class=\"fd-micro-process-flow__connector\"\n            [class.fd-micro-process-flow__connector--intermediate]=\"intermediate\"\n        >\n            <ng-content select=\"[fd-micro-process-flow-intermediary-item]\"></ng-content>\n        </div>\n    }\n</div>\n", styles: ["fd-micro-process-flow-item .fd-info-label__text{white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowItemComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-micro-process-flow-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
                        class: 'fd-micro-process-flow__item',
                        '[class.fd-micro-process-flow__item--positive]': 'state === "positive"',
                        '[class.fd-micro-process-flow__item--critical]': 'state === "critical"',
                        '[class.fd-micro-process-flow__item--negative]': 'state === "negative"',
                        '[class.fd-micro-process-flow__item--information]': 'state === "information"'
                    }, imports: [], template: "<div class=\"fd-micro-process-flow__content\">\n    <div class=\"fd-micro-process-flow__content-wrapper\">\n        <ng-content></ng-content>\n    </div>\n    @if (!_lastItem) {\n        <div\n            class=\"fd-micro-process-flow__connector\"\n            [class.fd-micro-process-flow__connector--intermediate]=\"intermediate\"\n        >\n            <ng-content select=\"[fd-micro-process-flow-intermediary-item]\"></ng-content>\n        </div>\n    }\n</div>\n", styles: ["fd-micro-process-flow-item .fd-info-label__text{white-space:nowrap}\n"] }]
        }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { state: [{
                type: Input
            }], intermediate: [{
                type: Input
            }], focusableElement: [{
                type: ContentChild,
                args: [MicroProcessFlowFocusableItemDirective]
            }] } });

class MicroProcessFlowComponent {
    /** Should show next button. */
    get showNextButton() {
        return this.nextItemsCount > 0;
    }
    /** Should show previous button. */
    get showPreviousButton() {
        return this.previousItemsCount > 0;
    }
    /** @hidden */
    get _paginationDirection() {
        return this._isRtl() ? 1 : -1;
    }
    /** @hidden */
    constructor() {
        /** Should connector between items be hidden. */
        this.independentSteps = false;
        /** Pagination transition speed in milliseconds */
        this.transitionSpeed = 300;
        /** Pagination transition effect */
        this.transitionTimingFunction = 'ease';
        /**
         * Previous items outside the viewport.
         */
        this.previousItemsCount = 0;
        /**
         * Next items outside the viewport.
         */
        this.nextItemsCount = 0;
        /** Indicating whether or not any element is focused */
        this.canItemsReceiveFocus = new Subject();
        /** @hidden */
        this._isRtl = computed(() => this._rtlService?.rtl() ?? false, ...(ngDevMode ? [{ debugName: "_isRtl" }] : []));
        /** @hidden */
        this._subscriptions = new Subscription();
        /** @hidden */
        this._navigationKeys = [LEFT_ARROW, RIGHT_ARROW];
        /** @hidden */
        this._actionKeys = [SPACE, ENTER];
        /** @hidden */
        this._focusedElementIndex = -1;
        /** @hidden */
        this._cd = inject(ChangeDetectorRef);
        /** @hidden */
        this._rtlService = inject(RtlService, { optional: true });
        inject(ContentDensityObserver).subscribe();
        // React to RTL changes - re-paginate to adjust scroll direction
        effect(() => {
            const rtl = this._rtlService?.rtl();
            // Only re-paginate when RTL service exists and content is scrolled
            if (rtl !== undefined && this.showPreviousButton) {
                this._paginate(0);
            }
        });
    }
    /** @hidden */
    handleKeyboardEvent(event) {
        if (KeyUtil.isKeyCode(event, this._navigationKeys)) {
            const isRightKey = KeyUtil.isKeyCode(event, RIGHT_ARROW);
            const direction = isRightKey ? 1 : -1;
            event.stopImmediatePropagation();
            const elementIndexToScroll = this._getPreviousItemsCount() + direction;
            const elementExists = this.items.get(elementIndexToScroll);
            if (!elementExists) {
                return;
            }
            this.previousItemsCount = 0;
            this._paginate(elementIndexToScroll);
            // Force browset not to scroll to the element since it's done with pagination function.
            this.items.get(this._getPreviousItemsCount())?.focusableElement?.focus({
                preventScroll: true
            });
        }
    }
    /** @hidden */
    ngOnInit() {
        // If any element is currently focused, disable ability to navigate bentween items with tab.
        this._subscriptions.add(this.canItemsReceiveFocus.pipe(debounceTime(10)).subscribe((value) => {
            if (value) {
                this._setFocusableVisibleItems();
            }
            else {
                this._disableFocusableItems();
            }
        }));
    }
    /** @hidden */
    ngAfterViewInit() {
        this.listenOnItemsChange();
    }
    /** @hidden */
    ngOnDestroy() {
        this._subscriptions.unsubscribe();
    }
    /** Listens on items change and checks if navigation buttons should be visible. */
    listenOnItemsChange() {
        this._subscriptions.add(this.items.changes.pipe(startWith(0)).subscribe(() => {
            this.items.forEach((item) => {
                item.setLastItem(false);
            });
            this.items.last?.setLastItem(true);
            this._setNavigationButtons();
            this._paginate(0);
        }));
    }
    /** Scrolls to the next item. */
    goNext() {
        this._paginate();
    }
    /** Scrolls to the previous item. */
    goBack() {
        this._paginate(-1);
    }
    /**
     * Sets last focused element index.
     * @param elm Focused HTML element.
     */
    setFocusedElementIndex(elm) {
        this._focusedElementIndex = this.focusableItems.toArray().findIndex((item) => item.elRef.nativeElement === elm);
    }
    /**
     * Navigates to a specific page when the user presses 'Space' or 'Enter' key.
     * @param offset How much items needs to be scrolled relatively to the hidden previous items.
     * @param event The keyboard event.
     */
    onKeypressHandler(offset, event) {
        if (KeyUtil.isKeyCode(event, this._actionKeys)) {
            event.preventDefault();
            this._paginate(offset);
        }
    }
    /**
     * Checks if navigation buttons should be visible depending on the amount of items
     * and current pagination offset.
     */
    _setNavigationButtons() {
        if (this._container === undefined) {
            return;
        }
        const containerWidth = this._container.nativeElement.offsetWidth;
        const itemsWidth = this._wrapperContainer.nativeElement.offsetWidth;
        const nextButtonWidth = this._goNextButton?.nativeElement.offsetWidth || 0;
        if (itemsWidth < containerWidth) {
            return;
        }
        // Skip previously shown items out of the calculation.
        const itemsToDisplay = this.items
            .toArray()
            .slice(this.previousItemsCount)
            .map((i) => i.elRef);
        // Check if all items can be fitted inside the container if we remove 'next' button.
        if (this.previousItemsCount > 0) {
            const remainingWidth = itemsToDisplay.reduce((width, elm) => elm.nativeElement.offsetWidth + width, 0);
            if (remainingWidth <= nextButtonWidth + containerWidth) {
                this.nextItemsCount = 0;
                this._cd.detectChanges();
                return;
            }
        }
        this._setNextItemsCount(itemsToDisplay, containerWidth);
        this._cd.detectChanges();
    }
    /**
     * Calculate how many items are out of the viewport.
     * @param itemsToDisplay Array of html elements that needs to be shown.
     * @param containerWidth Width of the parent container to calculate amount of items possible to fit.
     */
    _setNextItemsCount(itemsToDisplay, containerWidth) {
        let visibleItemsWidth = 0;
        let newVisibleItemsWidth = 0;
        for (const [index, item] of itemsToDisplay.entries()) {
            newVisibleItemsWidth = visibleItemsWidth + item.nativeElement.offsetWidth;
            if (newVisibleItemsWidth <= containerWidth) {
                visibleItemsWidth = newVisibleItemsWidth;
            }
            else {
                this.nextItemsCount = itemsToDisplay.length - index;
                break;
            }
        }
    }
    /**
     * @hidden
     * Performs scrolling to the defined element based on the offset argument.
     * @param offset How much items needs to be scrolled relatively to the hidden previous items.
     */
    _paginate(offset = 1) {
        if (this.items === undefined || this.items.length === 0) {
            return;
        }
        this.previousItemsCount = this._focusedElementIndex = this.previousItemsCount + offset;
        // We need to set prev button first.
        this._setNavigationButtons();
        this._setFocusableVisibleItems();
        const currentItem = this.items.get(this.previousItemsCount);
        const containerWidth = this._container.nativeElement.offsetWidth;
        const wrapperContainerWidth = this._wrapperContainer.nativeElement.offsetWidth;
        if (!currentItem || containerWidth >= wrapperContainerWidth) {
            // Cancel pagination and revert previous items count back.
            this.previousItemsCount = this.previousItemsCount - offset;
        }
        const elmOffset = this._getPreviousItemsWidth();
        this._wrapperContainer.nativeElement.style.transform = `translateX(${elmOffset * this._paginationDirection}px)`;
        this._setNavigationButtons();
        this._setFocusableVisibleItems();
    }
    /**
     * @hidden
     * Calculates total width of previously shown items.
     * @returns {Number} total width of previously shown items.
     */
    _getPreviousItemsWidth() {
        return this.items
            .toArray()
            .slice(0, this.previousItemsCount)
            .reduce((width, item) => item.elRef.nativeElement.offsetWidth + width, 0);
    }
    /** @hidden */
    _disableFocusableItems() {
        this.items.forEach((item) => item.focusableElement?.setFocusable(false));
    }
    /** @hidden */
    _setFocusableVisibleItems() {
        this._disableFocusableItems();
        const containerWidth = this._container.nativeElement.offsetWidth;
        const itemsToDisplay = this.items.toArray().slice(this.previousItemsCount);
        let visibleItemsWidth = 0;
        let newVisibleItemsWidth = 0;
        for (const item of itemsToDisplay) {
            newVisibleItemsWidth = visibleItemsWidth + item.elRef.nativeElement.offsetWidth;
            if (newVisibleItemsWidth <= containerWidth) {
                visibleItemsWidth = newVisibleItemsWidth;
                item.focusableElement?.setFocusable(true);
            }
            else {
                break;
            }
        }
    }
    /** @hidden */
    _getPreviousItemsCount() {
        return this._focusedElementIndex === -1 ? this.previousItemsCount : this._focusedElementIndex;
    }
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: MicroProcessFlowComponent, isStandalone: true, selector: "fd-micro-process-flow", inputs: { independentSteps: "independentSteps", transitionSpeed: "transitionSpeed", transitionTimingFunction: "transitionTimingFunction" }, host: { listeners: { "keydown": "handleKeyboardEvent($event)" }, properties: { "class.fd-micro-process-flow--independent-steps": "independentSteps" }, classAttribute: "fd-micro-process-flow" }, providers: [
            {
                provide: MICRO_PROCESS_FLOW,
                useExisting: MicroProcessFlowComponent
            },
            contentDensityObserverProviders()
        ], queries: [{ propertyName: "items", predicate: MicroProcessFlowItemComponent }, { propertyName: "focusableItems", predicate: MicroProcessFlowFocusableItemDirective, descendants: true }], viewQueries: [{ propertyName: "_wrapperContainer", first: true, predicate: ["wrapperContainer"], descendants: true }, { propertyName: "_container", first: true, predicate: ["container"], descendants: true }, { propertyName: "_goNextButton", first: true, predicate: ["goNextButton"], descendants: true }], ngImport: i0, template: "@if (showPreviousButton) {\n    <a\n        tabindex=\"0\"\n        class=\"fd-micro-process-flow__link-previous\"\n        role=\"button\"\n        type=\"button\"\n        (click)=\"goBack()\"\n        (keypress)=\"onKeypressHandler(-1, $event)\"\n    >\n        {{ previousItemsCount }}\n    </a>\n}\n<div class=\"fd-micro-process-flow__overflow-container\" #container>\n    <div\n        class=\"fd-micro-process-flow__wrapper\"\n        #wrapperContainer\n        [style.transition-duration]=\"transitionSpeed + 'ms'\"\n        [style.transition-timing-function]=\"transitionTimingFunction\"\n    >\n        <ng-content select=\"fd-micro-process-flow-item\"></ng-content>\n    </div>\n</div>\n@if (showNextButton) {\n    <a\n        tabindex=\"0\"\n        class=\"fd-micro-process-flow__link-next\"\n        role=\"button\"\n        type=\"button\"\n        (click)=\"goNext()\"\n        (keypress)=\"onKeypressHandler(1, $event)\"\n        #goNextButton\n    >\n        {{ nextItemsCount }}\n    </a>\n}\n", styles: [":root{--fdMicro_Process_Flow_Item_Background:var(--sapNeutralBackground);--fdMicro_Process_Flow_Item_Border_Color:var(--sapNeutralBorderColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--fdMicro_Process_Flow_Item_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--fdMicro_Process_Flow_Item_Border_Color);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Width:2.75rem;--fdMicro_Process_Flow_Item_Min_Width:1.875rem;--fdMicro_Process_Flow_Compact_Item_Width:2rem;--fdMicro_Process_Flow_Compact_Item_Min_Width:1.375rem;--fdMicro_Process_Flow_Connector_Width:1.125rem;--fdMicro_Process_Flow_Compact_Connector_Width:.625rem;--fdMicro_Process_Flow_Icon_Font_Size:var(--sapFontLargeSize);--fdMicro_Process_Flow_Visible_items:8;--fdMicro_Process_Flow_Max_Container_Width:calc(var(--fdMicro_Process_Flow_Item_Width)*(var(--fdMicro_Process_Flow_Visible_items) + 1) + .0625rem);--fdMicro_Process_Flow_Compact_Max_Container_Width:calc(var(--fdMicro_Process_Flow_Compact_Item_Width)*(var(--fdMicro_Process_Flow_Visible_items) + 1) + .0625rem)}.fd-micro-process-flow{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;max-width:var(--fdMicro_Process_Flow_Max_Container_Width)}.fd-micro-process-flow:after,.fd-micro-process-flow:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow--independent-steps .fd-micro-process-flow__connector:before{border-color:transparent}.fd-micro-process-flow__wrapper{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;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.fd-micro-process-flow__wrapper:after,.fd-micro-process-flow__wrapper:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__overflow-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;overflow:hidden;width:100%}.fd-micro-process-flow__overflow-container:after,.fd-micro-process-flow__overflow-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__link-next,.fd-micro-process-flow__link-previous{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-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-inline:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapGroup_TitleTextColor);cursor:pointer;font-size:var(--sapFontSize);padding-block:0;padding-inline:.313rem;text-shadow:var(--sapContent_TextShadow)}.fd-micro-process-flow__link-next:after,.fd-micro-process-flow__link-next:before,.fd-micro-process-flow__link-previous:after,.fd-micro-process-flow__link-previous:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__link-next.is-focus,.fd-micro-process-flow__link-next:focus,.fd-micro-process-flow__link-previous.is-focus,.fd-micro-process-flow__link-previous:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-micro-process-flow__link-next:after,.fd-micro-process-flow__link-next:before,.fd-micro-process-flow__link-previous:after,.fd-micro-process-flow__link-previous:before{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;color:var(--sapButton_TextColor);font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-micro-process-flow__link-next.is-hover:after,.fd-micro-process-flow__link-next.is-hover:before,.fd-micro-process-flow__link-next:hover:after,.fd-micro-process-flow__link-next:hover:before,.fd-micro-process-flow__link-previous.is-hover:after,.fd-micro-process-flow__link-previous.is-hover:before,.fd-micro-process-flow__link-previous:hover:after,.fd-micro-process-flow__link-previous:hover:before{color:var(--sapButton_Hover_TextColor)}.fd-micro-process-flow__link-previous:before{content:\"\\e067\";-webkit-padding-end:.313rem;padding-inline-end:.313rem}.fd-micro-process-flow__link-previous[dir=rtl]:before,[dir=rtl] .fd-micro-process-flow__link-previous:before{content:\"\\e066\"}.fd-micro-process-flow__link-next{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-micro-process-flow__link-next:after{content:\"\\e066\";-webkit-padding-start:.313rem;padding-inline-start:.313rem}.fd-micro-process-flow__link-next[dir=rtl]:after,[dir=rtl] .fd-micro-process-flow__link-next:after{content:\"\\e067\"}.fd-micro-process-flow .fd-micro-process-flow__item{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;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-padding-start:.1875rem;margin-block:calc(var(--sapContent_FocusWidth) + var(--sapContent_FocusWidth));margin-inline:0;padding-inline-start:.1875rem;position:relative;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-micro-process-flow .fd-micro-process-flow__item:after,.fd-micro-process-flow .fd-micro-process-flow__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow .fd-micro-process-flow__item--positive{--fdMicro_Process_Flow_Item_Background:var(--sapPositiveElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapPositiveElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Success_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Success_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--information{--fdMicro_Process_Flow_Item_Background:var(--sapInformativeElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapInformativeElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Information_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Information_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--negative{--fdMicro_Process_Flow_Item_Background:var(--sapNegativeElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapNegativeElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Negative_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Negative_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--critical{--fdMicro_Process_Flow_Item_Background:var(--sapCriticalElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapCriticalElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Critical_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Critical_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container.is-hover,.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container:hover{--fdMicro_Process_Flow_Icon_Color:var(--sapButton_Information_Hover_TextColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapInformationBorderColor)}.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container.is-active,.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container:active{--fdMicro_Process_Flow_Icon_Color:var(--sapContent_ContrastIconColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapContent_Selected_ForegroundColor)}.fd-micro-process-flow .fd-micro-process-flow__item .fd-status-indicator .fdstatus-indicator__svg{width:auto}.fd-micro-process-flow__focusable-item.is-focus,.fd-micro-process-flow__focusable-item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:.0625rem}.fd-micro-process-flow .fd-micro-process-flow__icon-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdMicro_Process_Flow_Item_Background);border:.0625rem solid var(--fdMicro_Process_Flow_Item_Border_Color);border-radius:50%;min-height:var(--fdMicro_Process_Flow_Item_Min_Width);min-width:var(--fdMicro_Process_Flow_Item_Min_Width)}.fd-micro-process-flow .fd-micro-process-flow__icon-container:after,.fd-micro-process-flow .fd-micro-process-flow__icon-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow .fd-micro-process-flow__icon-container .fd-micro-process-flow__icon{color:var(--fdMicro_Process_Flow_Icon_Color);font-size:var(--fdMicro_Process_Flow_Icon_Font_Size)}.fd-micro-process-flow .fd-micro-process-flow__icon-container.is-hover,.fd-micro-process-flow .fd-micro-process-flow__icon-container:hover{--fdMicro_Process_Flow_Item_Background:var(--fdMicro_Process_Flow_Item_Hover_Background);--fdMicro_Process_Flow_Item_Border_Color:var(--fdMicro_Process_Flow_Item_Hover_Border_Color)}.fd-micro-process-flow .fd-micro-process-flow__icon-container.is-active,.fd-micro-process-flow .fd-micro-process-flow__icon-container:active{--fdMicro_Process_Flow_Item_Background:var(--fdMicro_Process_Flow_Item_Active_Background);--fdMicro_Process_Flow_Item_Border_Color:var(--fdMicro_Process_Flow_Item_Active_Border_Color);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow__content{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:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--fdMicro_Process_Flow_Item_Min_Width);min-width:var(--fdMicro_Process_Flow_Item_Min_Width);width:100%}.fd-micro-process-flow__content:after,.fd-micro-process-flow__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__connector{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;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:100%;min-width:var(--fdMicro_Process_Flow_Connector_Width);position:relative;-webkit-margin-start:.1875rem;margin-inline-start:.1875rem}.fd-micro-process-flow__connector:after,.fd-micro-process-flow__connector:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__connector:before{border-bottom:.0625rem solid var(--sapContent_ForegroundBorderColor);content:\"\";display:block;position:absolute;width:100%;z-index:1}.fd-micro-process-flow__connector--intermediate:after{background:var(--sapNegativeElementColor);bottom:0;content:\"\";display:block;left:50%;position:absolute;top:0;width:.25rem;-webkit-margin-start:-.125rem;margin-inline-start:-.125rem;z-index:2}.fd-micro-process-flow__connector--intermediate[dir=rtl]:after,[dir=rtl] .fd-micro-process-flow__connector--intermediate:after{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}.fd-micro-process-flow__connector .fd-micro-process-flow__intermediary-item{line-height:1;position:relative;z-index:3}.fd-micro-process-flow[class*=-compact],.fd-micro-process-flow[class*=-condensed],[class*=-compact] .fd-micro-process-flow:not([class*=-cozy]),[class*=-condensed] .fd-micro-process-flow:not([class*=-cozy]){--fdMicro_Process_Flow_Item_Min_Width:var(--fdMicro_Process_Flow_Compact_Item_Min_Width);--fdMicro_Process_Flow_Connector_Width:var(--fdMicro_Process_Flow_Compact_Connector_Width);--fdMicro_Process_Flow_Icon_Font_Size:var(--sapFontSmallSize);--fdMicro_Process_Flow_Item_Width:var(--fdMicro_Process_Flow_Compact_Item_Width);--fdMicro_Process_Flow_Max_Container_Width:var(--fdMicro_Process_Flow_Compact_Max_Container_Width)}\n/*! Bundled license information:\n\nfundamental-styles/dist/micro-process-flow.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: "21.1.0", ngImport: i0, type: MicroProcessFlowComponent, decorators: [{
            type: Component,
            args: [{ selector: 'fd-micro-process-flow', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
                        class: 'fd-micro-process-flow',
                        '[class.fd-micro-process-flow--independent-steps]': 'independentSteps',
                        '(keydown)': 'handleKeyboardEvent($event)'
                    }, providers: [
                        {
                            provide: MICRO_PROCESS_FLOW,
                            useExisting: MicroProcessFlowComponent
                        },
                        contentDensityObserverProviders()
                    ], imports: [], template: "@if (showPreviousButton) {\n    <a\n        tabindex=\"0\"\n        class=\"fd-micro-process-flow__link-previous\"\n        role=\"button\"\n        type=\"button\"\n        (click)=\"goBack()\"\n        (keypress)=\"onKeypressHandler(-1, $event)\"\n    >\n        {{ previousItemsCount }}\n    </a>\n}\n<div class=\"fd-micro-process-flow__overflow-container\" #container>\n    <div\n        class=\"fd-micro-process-flow__wrapper\"\n        #wrapperContainer\n        [style.transition-duration]=\"transitionSpeed + 'ms'\"\n        [style.transition-timing-function]=\"transitionTimingFunction\"\n    >\n        <ng-content select=\"fd-micro-process-flow-item\"></ng-content>\n    </div>\n</div>\n@if (showNextButton) {\n    <a\n        tabindex=\"0\"\n        class=\"fd-micro-process-flow__link-next\"\n        role=\"button\"\n        type=\"button\"\n        (click)=\"goNext()\"\n        (keypress)=\"onKeypressHandler(1, $event)\"\n        #goNextButton\n    >\n        {{ nextItemsCount }}\n    </a>\n}\n", styles: [":root{--fdMicro_Process_Flow_Item_Background:var(--sapNeutralBackground);--fdMicro_Process_Flow_Item_Border_Color:var(--sapNeutralBorderColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--fdMicro_Process_Flow_Item_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--fdMicro_Process_Flow_Item_Border_Color);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Width:2.75rem;--fdMicro_Process_Flow_Item_Min_Width:1.875rem;--fdMicro_Process_Flow_Compact_Item_Width:2rem;--fdMicro_Process_Flow_Compact_Item_Min_Width:1.375rem;--fdMicro_Process_Flow_Connector_Width:1.125rem;--fdMicro_Process_Flow_Compact_Connector_Width:.625rem;--fdMicro_Process_Flow_Icon_Font_Size:var(--sapFontLargeSize);--fdMicro_Process_Flow_Visible_items:8;--fdMicro_Process_Flow_Max_Container_Width:calc(var(--fdMicro_Process_Flow_Item_Width)*(var(--fdMicro_Process_Flow_Visible_items) + 1) + .0625rem);--fdMicro_Process_Flow_Compact_Max_Container_Width:calc(var(--fdMicro_Process_Flow_Compact_Item_Width)*(var(--fdMicro_Process_Flow_Visible_items) + 1) + .0625rem)}.fd-micro-process-flow{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;max-width:var(--fdMicro_Process_Flow_Max_Container_Width)}.fd-micro-process-flow:after,.fd-micro-process-flow:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow--independent-steps .fd-micro-process-flow__connector:before{border-color:transparent}.fd-micro-process-flow__wrapper{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;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.fd-micro-process-flow__wrapper:after,.fd-micro-process-flow__wrapper:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__overflow-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;overflow:hidden;width:100%}.fd-micro-process-flow__overflow-container:after,.fd-micro-process-flow__overflow-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__link-next,.fd-micro-process-flow__link-previous{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-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-inline:0;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:var(--sapGroup_TitleTextColor);cursor:pointer;font-size:var(--sapFontSize);padding-block:0;padding-inline:.313rem;text-shadow:var(--sapContent_TextShadow)}.fd-micro-process-flow__link-next:after,.fd-micro-process-flow__link-next:before,.fd-micro-process-flow__link-previous:after,.fd-micro-process-flow__link-previous:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__link-next.is-focus,.fd-micro-process-flow__link-next:focus,.fd-micro-process-flow__link-previous.is-focus,.fd-micro-process-flow__link-previous:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:-.1875rem}.fd-micro-process-flow__link-next:after,.fd-micro-process-flow__link-next:before,.fd-micro-process-flow__link-previous:after,.fd-micro-process-flow__link-previous:before{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;color:var(--sapButton_TextColor);font-family:SAP-icons;text-align:center;text-decoration:inherit;text-rendering:optimizeLegibility;text-transform:none}.fd-micro-process-flow__link-next.is-hover:after,.fd-micro-process-flow__link-next.is-hover:before,.fd-micro-process-flow__link-next:hover:after,.fd-micro-process-flow__link-next:hover:before,.fd-micro-process-flow__link-previous.is-hover:after,.fd-micro-process-flow__link-previous.is-hover:before,.fd-micro-process-flow__link-previous:hover:after,.fd-micro-process-flow__link-previous:hover:before{color:var(--sapButton_Hover_TextColor)}.fd-micro-process-flow__link-previous:before{content:\"\\e067\";-webkit-padding-end:.313rem;padding-inline-end:.313rem}.fd-micro-process-flow__link-previous[dir=rtl]:before,[dir=rtl] .fd-micro-process-flow__link-previous:before{content:\"\\e066\"}.fd-micro-process-flow__link-next{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.fd-micro-process-flow__link-next:after{content:\"\\e066\";-webkit-padding-start:.313rem;padding-inline-start:.313rem}.fd-micro-process-flow__link-next[dir=rtl]:after,[dir=rtl] .fd-micro-process-flow__link-next:after{content:\"\\e067\"}.fd-micro-process-flow .fd-micro-process-flow__item{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;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-padding-start:.1875rem;margin-block:calc(var(--sapContent_FocusWidth) + var(--sapContent_FocusWidth));margin-inline:0;padding-inline-start:.1875rem;position:relative;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.fd-micro-process-flow .fd-micro-process-flow__item:after,.fd-micro-process-flow .fd-micro-process-flow__item:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow .fd-micro-process-flow__item--positive{--fdMicro_Process_Flow_Item_Background:var(--sapPositiveElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapPositiveElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Success_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Success_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--information{--fdMicro_Process_Flow_Item_Background:var(--sapInformativeElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapInformativeElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Information_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Information_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--negative{--fdMicro_Process_Flow_Item_Background:var(--sapNegativeElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapNegativeElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Negative_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Negative_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--critical{--fdMicro_Process_Flow_Item_Background:var(--sapCriticalElementColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapCriticalElementColor);--fdMicro_Process_Flow_Item_Hover_Background:var(--sapButton_Critical_Hover_Background);--fdMicro_Process_Flow_Item_Hover_Border_Color:var(--sapButton_Critical_Hover_Background);--fdMicro_Process_Flow_Item_Active_Background:var(--sapHighlightColor);--fdMicro_Process_Flow_Item_Active_Border_Color:var(--sapHighlightColor);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container.is-hover,.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container:hover{--fdMicro_Process_Flow_Icon_Color:var(--sapButton_Information_Hover_TextColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapInformationBorderColor)}.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container.is-active,.fd-micro-process-flow .fd-micro-process-flow__item--information .fd-micro-process-flow__icon-container:active{--fdMicro_Process_Flow_Icon_Color:var(--sapContent_ContrastIconColor);--fdMicro_Process_Flow_Item_Border_Color:var(--sapContent_Selected_ForegroundColor)}.fd-micro-process-flow .fd-micro-process-flow__item .fd-status-indicator .fdstatus-indicator__svg{width:auto}.fd-micro-process-flow__focusable-item.is-focus,.fd-micro-process-flow__focusable-item:focus{outline:var(--sapContent_FocusColor) var(--sapContent_FocusStyle) var(--sapContent_FocusWidth);outline-offset:.0625rem}.fd-micro-process-flow .fd-micro-process-flow__icon-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--fdMicro_Process_Flow_Item_Background);border:.0625rem solid var(--fdMicro_Process_Flow_Item_Border_Color);border-radius:50%;min-height:var(--fdMicro_Process_Flow_Item_Min_Width);min-width:var(--fdMicro_Process_Flow_Item_Min_Width)}.fd-micro-process-flow .fd-micro-process-flow__icon-container:after,.fd-micro-process-flow .fd-micro-process-flow__icon-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow .fd-micro-process-flow__icon-container .fd-micro-process-flow__icon{color:var(--fdMicro_Process_Flow_Icon_Color);font-size:var(--fdMicro_Process_Flow_Icon_Font_Size)}.fd-micro-process-flow .fd-micro-process-flow__icon-container.is-hover,.fd-micro-process-flow .fd-micro-process-flow__icon-container:hover{--fdMicro_Process_Flow_Item_Background:var(--fdMicro_Process_Flow_Item_Hover_Background);--fdMicro_Process_Flow_Item_Border_Color:var(--fdMicro_Process_Flow_Item_Hover_Border_Color)}.fd-micro-process-flow .fd-micro-process-flow__icon-container.is-active,.fd-micro-process-flow .fd-micro-process-flow__icon-container:active{--fdMicro_Process_Flow_Item_Background:var(--fdMicro_Process_Flow_Item_Active_Background);--fdMicro_Process_Flow_Item_Border_Color:var(--fdMicro_Process_Flow_Item_Active_Border_Color);--fdMicro_Process_Flow_Icon_Color:var(--fdMicro_Process_Flow_Active_Icon_Color)}.fd-micro-process-flow__content{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:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:var(--fdMicro_Process_Flow_Item_Min_Width);min-width:var(--fdMicro_Process_Flow_Item_Min_Width);width:100%}.fd-micro-process-flow__content:after,.fd-micro-process-flow__content:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__connector{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;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:100%;min-width:var(--fdMicro_Process_Flow_Connector_Width);position:relative;-webkit-margin-start:.1875rem;margin-inline-start:.1875rem}.fd-micro-process-flow__connector:after,.fd-micro-process-flow__connector:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-micro-process-flow__connector:before{border-bottom:.0625rem solid var(--sapContent_ForegroundBorderColor);content:\"\";display:block;position:absolute;width:100%;z-index:1}.fd-micro-process-flow__connector--intermediate:after{background:var(--sapNegativeElementColor);bottom:0;content:\"\";display:block;left:50%;position:absolute;top:0;width:.25rem;-webkit-margin-start:-.125rem;margin-inline-start:-.125rem;z-index:2}.fd-micro-process-flow__connector--intermediate[dir=rtl]:after,[dir=rtl] .fd-micro-process-flow__connector--intermediate:after{-webkit-margin-end:-.125rem;margin-inline-end:-.125rem}.fd-micro-process-flow__connector .fd-micro-process-flow__intermediary-item{line-height:1;position:relative;z-index:3}.fd-micro-process-flow[class*=-compact],.fd-micro-process-flow[class*=-condensed],[class*=-compact] .fd-micro-process-flow:not([class*=-cozy]),[class*=-condensed] .fd-micro-process-flow:not([class*=-cozy]){--fdMicro_Process_Flow_Item_Min_Width:var(--fdMicro_Process_Flow_Compact_Item_Min_Width);--fdMicro_Process_Flow_Connector_Width:var(--fdMicro_Process_Flow_Compact_Connector_Width);--fdMicro_Process_Flow_Icon_Font_Size:var(--sapFontSmallSize);--fdMicro_Process_Flow_Item_Width:var(--fdMicro_Process_Flow_Compact_Item_Width);--fdMicro_Process_Flow_Max_Container_Width:var(--fdMicro_Process_Flow_Compact_Max_Container_Width)}\n/*! Bundled license information:\n\nfundamental-styles/dist/micro-process-flow.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: () => [], propDecorators: { independentSteps: [{
                type: Input
            }], transitionSpeed: [{
                type: Input
            }], transitionTimingFunction: [{
                type: Input
            }], items: [{
                type: ContentChildren,
                args: [MicroProcessFlowItemComponent]
            }], focusableItems: [{
                type: ContentChildren,
                args: [MicroProcessFlowFocusableItemDirective, { descendants: true }]
            }], _wrapperContainer: [{
                type: ViewChild,
                args: ['wrapperContainer']
            }], _container: [{
                type: ViewChild,
                args: ['container']
            }], _goNextButton: [{
                type: ViewChild,
                args: ['goNextButton']
            }] } });

class MicroProcessFlowIntermediaryItemDirective {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowIntermediaryItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: MicroProcessFlowIntermediaryItemDirective, isStandalone: true, selector: "[fdMicroProcessFlowIntermediaryItem], [fd-micro-process-flow-intermediary-item]", host: { classAttribute: "fd-micro-process-flow__intermediary-item" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowIntermediaryItemDirective, decorators: [{
            type: Directive,
            args: [{
                    selector: '[fdMicroProcessFlowIntermediaryItem], [fd-micro-process-flow-intermediary-item]',
                    host: {
                        class: 'fd-micro-process-flow__intermediary-item'
                    },
                    standalone: true
                }]
        }] });

const components = [
    MicroProcessFlowComponent,
    MicroProcessFlowItemComponent,
    MicroProcessFlowIconComponent,
    MicroProcessFlowIntermediaryItemDirective,
    MicroProcessFlowFocusableItemDirective
];
/**
 * @deprecated
 * Use direct imports of components and directives.
 */
class MicroProcessFlowModule {
    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowModule, imports: [MicroProcessFlowComponent,
            MicroProcessFlowItemComponent,
            MicroProcessFlowIconComponent,
            MicroProcessFlowIntermediaryItemDirective,
            MicroProcessFlowFocusableItemDirective], exports: [MicroProcessFlowComponent,
            MicroProcessFlowItemComponent,
            MicroProcessFlowIconComponent,
            MicroProcessFlowIntermediaryItemDirective,
            MicroProcessFlowFocusableItemDirective] }); }
    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowModule, imports: [MicroProcessFlowIconComponent] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: MicroProcessFlowModule, decorators: [{
            type: NgModule,
            args: [{
                    imports: [...components],
                    exports: [...components]
                }]
        }] });

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

export { MICRO_PROCESS_FLOW, MicroProcessFlowComponent, MicroProcessFlowFocusableItemDirective, MicroProcessFlowIconComponent, MicroProcessFlowIntermediaryItemDirective, MicroProcessFlowItemComponent, MicroProcessFlowModule };
//# sourceMappingURL=fundamental-ngx-core-micro-process-flow.mjs.map
