{"version":3,"file":"eui-components-eui-wizard.mjs","sources":["../../eui-wizard/eui-wizard-step.component.ts","../../eui-wizard/eui-wizard-step.component.html","../../eui-wizard/services/eui-wizard.service.ts","../../eui-wizard/eui-wizard.component.ts","../../eui-wizard/eui-wizard.component.html","../../eui-wizard/models/eui-wizard-step.ts","../../eui-wizard/index.ts","../../eui-wizard/eui-components-eui-wizard.ts"],"sourcesContent":["import { booleanAttribute, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { EuiWizardStep } from './models/eui-wizard-step';\n\n/**\n * @description\n * Individual step component within an eui-wizard.\n * Represents a single stage in a multi-step process with configurable state indicators.\n * Supports completion, validation, and warning states with custom labels and icons.\n * Must be used as a child of eui-wizard component.\n * Automatically manages visual state based on wizard navigation and step progression.\n */\n@Component({\n    selector: 'eui-wizard-step',\n    templateUrl: './eui-wizard-step.component.html',\n    encapsulation: ViewEncapsulation.None,\n})\nexport class EuiWizardStepComponent implements EuiWizardStep {\n    /**\n     * Unique identifier for the step.\n     * Used for programmatic step selection and tracking.\n     */\n    @Input() id: string;\n    /**\n     * Text label displayed inside the step indicator circle.\n     * Typically a number or short text representing step order.\n     */\n    @Input() indexLabel: string;\n    /**\n     * SVG icon name displayed inside the step indicator circle.\n     * Alternative to indexLabel for visual step representation.\n     * Follows eui-icon-svg naming convention.\n     */\n    @Input() indexIconSvgName: string;\n    /**\n     * Primary label text for the step.\n     * Displayed as the main step title.\n     */\n    @Input() label: string;\n    /**\n     * Secondary descriptive text for the step.\n     * Provides additional context below the main label.\n     */\n    @Input() subLabel: string;\n    /**\n     * Numeric position of the step in the wizard sequence.\n     * Used for ordering and navigation logic.\n     */\n    @Input() index: number;\n    /**\n     * Optional URL associated with the step.\n     * Can be used for routing or deep linking to specific wizard steps.\n     */\n    @Input() url: string;\n\n    /**\n     * Marks the step as completed.\n     * Displays completion indicator (typically a checkmark) in the step circle.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCompleted = false;\n    /**\n     * Marks the step as currently active.\n     * Applies active styling and indicates current wizard position.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isActive = false;\n    /**\n     * Shows the step title below the step indicator.\n     * Inherited from parent wizard but can be overridden per step.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowStepTitle = false;\n    /**\n     * Marks the step as invalid or containing errors.\n     * Displays error styling to indicate validation failure.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isInvalid = false;\n    /**\n     * Marks the step with a warning state.\n     * Displays warning styling to indicate attention needed.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isWarning = false;\n    /**\n     * Disables the step from being selected or navigated to.\n     * Prevents user interaction with the step indicator.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isDisabled = false;\n\n    /**\n     * TODO: from which one is this method being used from?\n     */\n    toJSON(): object {\n        return {\n            id: this.id,\n            indexLabel: this.indexLabel,\n            indexIconSvgName: this.indexIconSvgName,\n            label: this.label,\n            subLabel: this.subLabel,\n            isCompleted: this.isCompleted,\n            isActive: this.isActive,\n            isShowStepTitle: this.isShowStepTitle,\n            isInvalid: this.isInvalid,\n            isWarning: this.isWarning,\n            isDisabled: this.isDisabled,\n            index: this.index,\n            url: this.url,\n        };\n    }\n}\n","@if(isActive) {\n    <ng-content />\n}\n","import { Injectable, inject } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { EuiWizardStep } from '../models/eui-wizard-step';\n\n/**\n * @description\n * Service for managing wizard state and navigation in eui-wizard components.\n * Tracks active step index, handles step transitions, and integrates with Angular Router for URL-based navigation.\n * Provides programmatic control over wizard progression and step selection.\n * Intended injection scope: Component-level (provided in wizard component).\n * Dependencies: Angular Router for route-based step navigation.\n */\n@Injectable()\nexport class EuiWizardService {\n    activeStepIndex = 1;\n    steps: EuiWizardStep[] = [];\n    route: ActivatedRoute;\n    private router = inject(Router);\n\n    /**\n     * Initializes the wizard service with step configuration and routing context.\n     * Sets up step collection and determines active step based on current URL.\n     * Must be called before using other service methods.\n     * @param steps - Array of wizard step configurations to manage\n     * @param route - ActivatedRoute for relative navigation context\n     */\n    init(steps: EuiWizardStep[], route: ActivatedRoute): void {\n        this.steps = steps;\n        this.route = route;\n        const currentRoute = this.router.url;\n        const currentStepUrl = currentRoute.substr(currentRoute.lastIndexOf('/') + 1);\n        this.steps.forEach((step, index) => {\n            if (step.url === currentStepUrl) {\n                this.activeStepIndex = index + 1;\n            }\n        });\n    }\n\n    /**\n     * Navigates to a step relative to the current active step.\n     * Increments or decrements the active step index by the specified amount.\n     * Prevents navigation beyond first or last step boundaries.\n     * @param increment - Number of steps to move (positive for forward, negative for backward)\n     */\n    navigationIncrement(increment: number): void {\n        const newIndex: number = this.activeStepIndex + increment;\n        if (newIndex >= 1 && newIndex <= this.steps.length) {\n            this.activeStepIndex = newIndex;\n        }\n    }\n\n    /**\n     * Activates a specific wizard step and navigates to its URL if defined.\n     * Updates active step index and triggers route navigation when step has associated URL.\n     * @param step - The wizard step to select and navigate to\n     */\n    selectStep(step: EuiWizardStep): void {\n        this.activeStepIndex = step.index;\n        if (step.url) {\n            this._navigateToStep(step.url);\n        }\n    }\n\n    private _navigateToStep(url: string): void {\n        this.router.navigate([url], { relativeTo: this.route });\n    }\n}\n","import {\n    AfterContentInit,\n    booleanAttribute,\n    Component,\n    ContentChildren,\n    ElementRef,\n    EventEmitter,\n    Input,\n    OnChanges,\n    Output,\n    QueryList,\n    SimpleChanges,\n    ViewChildren,\n    ViewEncapsulation,\n} from '@angular/core';\nimport { uniqueId, consumeEvent } from '@eui/core';\nimport { EUI_ICON } from '@eui/components/eui-icon';\nimport { EuiWizardStepComponent } from './eui-wizard-step.component';\nimport { EuiWizardStep } from './models/eui-wizard-step';\nimport { EuiWizardService } from './services/eui-wizard.service';\n\n/**\n * @description\n * Multi-step wizard component for guiding users through sequential processes or forms.\n * Displays step indicators with navigation controls and manages step activation state.\n * Supports keyboard navigation with arrow keys and programmatic step selection.\n * Provides both declarative (content children) and programmatic (steps array) configuration.\n * Commonly used for onboarding flows, multi-page forms, checkout processes, and guided workflows.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <eui-wizard [activeStepIndex]=\"1\" (selectStep)=\"onStepChange($event)\">\n *   <eui-wizard-step label=\"Personal Info\">\n *     <form><!-- step 1 content --></form>\n *   </eui-wizard-step>\n *   <eui-wizard-step label=\"Address\">\n *     <form><!-- step 2 content --></form>\n *   </eui-wizard-step>\n *   <eui-wizard-step label=\"Review\">\n *     <div><!-- step 3 content --></div>\n *   </eui-wizard-step>\n * </eui-wizard>\n * ```\n *\n * ### Programmatic Steps\n * ```html\n * <eui-wizard [steps]=\"wizardSteps\" [activeStepIndex]=\"currentStep\">\n * </eui-wizard>\n * ```\n *\n * ```typescript\n * wizardSteps: EuiWizardStep[] = [\n *   { label: 'Step 1', id: 'step1' },\n *   { label: 'Step 2', id: 'step2' },\n *   { label: 'Step 3', id: 'step3' }\n * ];\n * currentStep = 1;\n * ```\n *\n * ### Accessibility\n * - Use role=\"navigation\" with aria-label describing the wizard\n * - Each step has clear labels and state indicators\n * - Keyboard navigation: Arrow keys to move between steps\n * - Current step is announced to screen readers\n *\n * ### Notes\n * - activeStepIndex is 1-based (first step is 1, not 0)\n * - Steps can be defined declaratively or programmatically\n * - Visual indicators show completed, current, and upcoming steps\n * - Supports both linear and non-linear navigation patterns\n */\n@Component({\n    selector: 'eui-wizard',\n    templateUrl: './eui-wizard.component.html',\n    styleUrl: './eui-wizard.scss',\n    encapsulation: ViewEncapsulation.None,\n    providers: [EuiWizardService],\n    imports: [\n        ...EUI_ICON,\n    ],\n})\nexport class EuiWizardComponent implements AfterContentInit, OnChanges {\n    /**\n     * Index of the currently active step (1-based).\n     * When set, activates the corresponding step in the wizard.\n     * Used for programmatic step control.\n     */\n    @Input() activeStepIndex: number;\n    /**\n     * Array of wizard step configurations.\n     * Can be used instead of or in addition to content children steps.\n     * Each step should conform to EuiWizardStep interface.\n     * @default []\n     */\n    @Input() steps: Array<EuiWizardStep> = [];\n    /**\n     * Tab index value for keyboard navigation focus management.\n     * Controls whether wizard is included in tab order.\n     * @default 0\n     */\n    @Input() tabindex = 0;\n    /**\n     * Data attribute used for end-to-end testing identification.\n     * @default 'eui-wizard'\n     */\n    @Input() e2eAttr = 'eui-wizard';\n    /**\n     * Emitted when a step is selected or activated.\n     * Payload: EuiWizardStep object representing the newly active step.\n     * Triggers on user click, keyboard navigation, or programmatic selection.\n     */\n    @Output() selectStep: EventEmitter<EuiWizardStep> = new EventEmitter();\n\n    @ContentChildren(EuiWizardStepComponent) childrenSteps: QueryList<EuiWizardStepComponent>;\n    @ViewChildren('canBeFocused') canBeFocused: QueryList<ElementRef>;\n\n    stepContentId: string = uniqueId();\n    stepIds: string; // space-separated list of all step IDs\n\n    /**\n     * Enables custom content mode where step content is managed externally.\n     * When true, wizard only displays step indicators without content areas.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isCustomContent = false;\n    /**\n     * Displays step titles below step indicators.\n     * Provides additional context for each step in the wizard.\n     * @default false\n     */\n    @Input({ transform: booleanAttribute }) isShowStepTitle = false;\n    /**\n     * Enables or disables step navigation.\n     * When false, prevents users from clicking steps or using keyboard navigation.\n     * Useful for enforcing sequential completion.\n     * @default true\n     */\n    @Input({ transform: booleanAttribute }) isNavigationAllowed = true;\n\n    ngAfterContentInit(): void {\n        const stepIdsBuffer: string[] = [];\n        this.childrenSteps.forEach((step) => {\n            this.steps.push(step);\n            if (!step.id) {\n                step.id = uniqueId();\n            }\n            stepIdsBuffer.push(step.id);\n        });\n        this.stepIds = stepIdsBuffer.join(' ');\n\n        const activeSteps = this.steps.filter((step) => step.isActive);\n\n        if (activeSteps.length === 0 && !this.activeStepIndex) {\n            this._selectStep(this.steps[0], 1);\n        } else if (this.activeStepIndex) {\n            this._selectStep(this._getStep(this.activeStepIndex - 1), this.activeStepIndex);\n        }\n\n        this.steps.forEach((step) => (step.isShowStepTitle = this.isShowStepTitle));\n    }\n\n    ngOnChanges(changes: SimpleChanges): void {\n        if (changes['steps'] || changes['activeStepIndex']) {\n            if (this.activeStepIndex && this.steps) {\n                this._selectStep(this._getStep(this.activeStepIndex - 1), this.activeStepIndex);\n\n                const stepIdsBuffer = [];\n                this.steps.forEach((step) => {\n                    if (!step.id) {\n                        step.id = uniqueId();\n                    }\n                    stepIdsBuffer.push(step.id);\n                });\n                this.stepIds = stepIdsBuffer.join(' ');\n            }\n        }\n    }\n\n    onSelectStep(step: EuiWizardStep, index: number): void {\n        if (!step.isDisabled && this.isNavigationAllowed) {\n            this._selectStep(step, index);\n        }\n    }\n\n    onKeyDown(event: KeyboardEvent): void {\n        if (this.isNavigationAllowed) {\n            switch (event.key) {\n                case 'ArrowLeft':\n                    consumeEvent(event);\n                    this.selectPreviousStep();\n                    break;\n                case 'ArrowRight':\n                    consumeEvent(event);\n                    this.selectNextStep();\n                    break;\n            }\n        }\n    }\n\n    /** @deprecated This will be removed in next version of eUI */\n    protected trackByFn(index: number, item: EuiWizardStep): string {\n        return item.id;\n    }\n\n    protected selectPreviousStep(): void {\n        if (this.isNavigationAllowed && this.steps) {\n            // get the index of active step\n            const activeStepIndex = this.steps.findIndex((step) => step.isActive);\n\n            let previousIndex = activeStepIndex < 0 ? 0 : activeStepIndex;\n            do {\n                previousIndex--;\n                if (previousIndex < 0) {\n                    previousIndex = this.steps.length - 1;\n                }\n            } while (this.steps[previousIndex].isDisabled);\n\n            this._selectStep(this.steps[previousIndex], previousIndex + 1);\n            this.canBeFocused.toArray()[previousIndex].nativeElement.focus();\n        }\n    }\n\n    protected selectNextStep(): void {\n        if (this.isNavigationAllowed && this.steps) {\n            // get the index of active step\n            let activeStepIndex = this.steps.findIndex((step) => step.isActive);\n            // in case no step is active point to the first step\n            activeStepIndex = activeStepIndex < 0 ? 0 : activeStepIndex;\n\n            do {\n                if (++activeStepIndex >= this.steps.length) {\n                    activeStepIndex = 0;\n                }\n            } while (this.steps[activeStepIndex].isDisabled);\n\n            this._selectStep(this.steps[activeStepIndex], activeStepIndex + 1);\n            this.canBeFocused.toArray()[activeStepIndex].nativeElement.focus();\n        }\n    }\n\n    private _selectStep(step: EuiWizardStep, index: number): void {\n        if (step) {\n            this.steps.forEach((currentStep) => (currentStep.isActive = false));\n            step.isActive = true;\n            step.index = index;\n            this.selectStep.emit(step);\n        }\n    }\n\n    private _getStep(index: number): EuiWizardStep {\n        if (index >= 0 && index <= this.steps.length) {\n            return this.steps[index];\n        }\n        return null;\n    }\n}\n","<div class=\"eui-wizard\" role=\"tablist\" aria-orientation=\"horizontal\" attr.data-e2e=\"{{ e2eAttr }}\">\n    @for (step of steps; track step.id; let idx = $index) {\n        <div\n            #canBeFocused\n            class=\"eui-wizard-step\"\n            role=\"tab\"\n            [id]=\"step.id\"\n            attr.aria-label=\"{{ step?.label }} {{ step?.subLabel }}\"\n            [attr.aria-disabled]=\"step?.isDisabled\"\n            [attr.aria-controls]=\"stepContentId\"\n            [attr.aria-describedby]=\"step?.isActive? stepContentId: null\"\n            [attr.aria-selected]=\"step?.isActive\"\n            [tabindex]=\"!isNavigationAllowed ? -1 : tabindex\"\n            [class.eui-wizard-step--completed]=\"step?.isCompleted\"\n            [class.eui-wizard-step--notallowed]=\"!isNavigationAllowed\"\n            [class.eui-wizard-step--active]=\"step?.isActive\"\n            [class.eui-wizard-step--disabled]=\"step?.isDisabled\"\n            [class.eui-wizard-step--error]=\"step?.isInvalid\"\n            [class.eui--danger]=\"step?.isInvalid\"\n            [class.eui-wizard-step--warning]=\"step?.isWarning\"\n            [class.eui--warning]=\"step?.isWarning\"\n            (click)=\"onSelectStep(step, idx + 1)\"\n            (keydown)=\"onKeyDown($event)\">\n            <div class=\"eui-wizard-step__indicator-wrapper\" role=\"presentation\"></div>\n\n            <div class=\"eui-wizard-step__bullet-item\">\n                <span class=\"eui-wizard-step__bullet-item-icon\">\n                    @if(!step?.indexIconSvgName) {\n                        @if (step?.isCompleted) {\n                            <eui-icon-svg icon=\"eui-checkmark\" />\n                        }\n                        @if (step?.isInvalid) {\n                            <eui-icon-svg icon=\"eui-alert\" />\n                        }\n                    } @else {\n                        @if(step?.indexIconSvgName && step?.indexIconSvgName !== undefined) {\n                            <span role=\"presentation\">\n                                <eui-icon-svg icon=\"{{ step?.indexIconSvgName }}\" class=\"eui-wizard-step__icon\" />\n                            </span>\n                        }\n                    }\n                </span>\n                @if(!step?.indexIconSvgName && !step?.isCompleted && !step?.isInvalid) {\n                    <span class=\"eui-wizard-step__bullet-item-text\"\n                          role=\"presentation\">\n                    {{ step?.indexLabel !== undefined ? step?.indexLabel : idx + 1 }}\n                </span>\n                }\n            </div>\n            <div class=\"eui-wizard-step__label-wrapper\" role=\"presentation\">\n                <div class=\"eui-wizard-step__label-wrapper-label\" role=\"presentation\">\n                    {{ step?.label }}\n                </div>\n                <div class=\"eui-wizard-step__label-wrapper-sub-label\" role=\"presentation\">\n                    {{ step?.subLabel }}\n                </div>\n            </div>\n        </div>\n    }\n</div>\n<div [id]=\"stepContentId\" class=\"step-content\" role=\"tabpanel\">\n    <ng-content></ng-content>\n</div>\n","export interface IEuiWizardStep {\n    id: string;\n    indexLabel: string;\n    indexIconSvgName: string;\n    label: string;\n    subLabel: string;\n    isCompleted: boolean;\n    isActive: boolean;\n    isShowStepTitle: boolean;\n    isInvalid: boolean;\n    isWarning: boolean;\n    isDisabled: boolean;\n    index: number;\n    url: string;\n}\n\nexport class EuiWizardStep implements IEuiWizardStep {\n    id: string;\n    indexLabel: string;\n    indexIconSvgName: string;\n    label: string;\n    subLabel: string;\n    isCompleted = false;\n    isActive = false;\n    isShowStepTitle = false;\n    isInvalid = false;\n    isWarning = false;\n    isDisabled = false;\n    index: number;\n    url: string;\n\n    // TODO:  find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    constructor(values: any = {}) {\n        Object.assign(this, values);\n    }\n\n    toString(): string {\n        return JSON.stringify(this.toJSON());\n    }\n\n    toJSON(): object {\n        return {\n            id: this.id,\n            indexLabel: this.indexLabel,\n            indexIconSvgName: this.indexIconSvgName,\n            label: this.label,\n            subLabel: this.subLabel,\n            isCompleted: this.isCompleted,\n            isActive: this.isActive,\n            isShowStepTitle: this.isShowStepTitle,\n            isInvalid: this.isInvalid,\n            isWarning: this.isWarning,\n            isDisabled: this.isDisabled,\n            index: this.index,\n            url: this.url,\n        };\n    }\n}\n","import { EuiWizardStepComponent } from './eui-wizard-step.component';\nimport { EuiWizardComponent } from './eui-wizard.component';\n\nexport * from './eui-wizard.component';\nexport * from './eui-wizard-step.component';\nexport * from './models/eui-wizard-step';\nexport * from './services/eui-wizard.service';\n\nexport const EUI_WIZARD = [\n    EuiWizardStepComponent, \n    EuiWizardComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}