{"version":3,"file":"primeng-steps.mjs","sources":["../../src/steps/style/stepsstyle.ts","../../src/steps/steps.ts","../../src/steps/primeng-steps.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/steps';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => ['p-steps p-component', { 'p-readonly': instance.readonly }],\n    list: 'p-steps-list',\n    item: ({ instance, item, index }) => [\n        'p-steps-item',\n        {\n            'p-steps-item-active': instance.isActive(item, index),\n            'p-disabled': instance.isItemDisabled(item, index)\n        }\n    ],\n    itemLink: 'p-steps-item-link',\n    itemNumber: 'p-steps-item-number',\n    itemLabel: 'p-steps-item-label'\n};\n\n@Injectable()\nexport class StepsStyle extends BaseStyle {\n    name = 'steps';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Steps components is an indicator for the steps in a wizard workflow. Example below uses nested routes with Steps.\n *\n * [Live Demo](https://www.primeng.org/steps/)\n *\n * @module stepsstyle\n *\n */\nexport enum StepsClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-steps',\n    /**\n     * Class name of the list element\n     */\n    list = 'p-steps-list',\n    /**\n     * Class name of the item element\n     */\n    item = 'p-steps-item',\n    /**\n     * Class name of the item link element\n     */\n    itemLink = 'p-steps-item-link',\n    /**\n     * Class name of the item number element\n     */\n    itemNumber = 'p-steps-item-number',\n    /**\n     * Class name of the item label element\n     */\n    itemLabel = 'p-steps-item-label'\n}\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, NgModule, numberAttribute, Output, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { find, findSingle } from '@primeuix/utils';\nimport { MenuItem, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { Subscription } from 'rxjs';\nimport { StepsStyle } from './style/stepsstyle';\n\n/**\n * Steps components is an indicator for the steps in a wizard workflow.\n * @group Components\n */\n@Component({\n    selector: 'p-steps',\n    standalone: true,\n    imports: [CommonModule, RouterModule, TooltipModule, SharedModule],\n    template: `\n        <nav [class]=\"cn(cx('root'), styleClass)\" [ngStyle]=\"style\" [attr.data-pc-name]=\"'steps'\">\n            <ul #list [attr.data-pc-section]=\"'menu'\" [class]=\"cx('list')\">\n                @for (item of model; track item.label; let i = $index) {\n                    @if (item.visible !== false) {\n                        <li\n                            [class]=\"cx('item', { item, index: i })\"\n                            #menuitem\n                            [ngStyle]=\"item.style\"\n                            [attr.aria-current]=\"isActive(item, i) ? 'step' : undefined\"\n                            [attr.id]=\"item.id\"\n                            pTooltip\n                            [tooltipOptions]=\"item.tooltipOptions\"\n                            [pTooltipUnstyled]=\"unstyled()\"\n                            [attr.data-pc-section]=\"'menuitem'\"\n                        >\n                            @if (isClickableRouterLink(item)) {\n                                <a\n                                    role=\"link\"\n                                    [routerLink]=\"item.routerLink\"\n                                    [queryParams]=\"item.queryParams\"\n                                    routerLinkActive=\"p-menuitem-link-active\"\n                                    [routerLinkActiveOptions]=\"item.routerLinkActiveOptions || { exact: false }\"\n                                    [class]=\"cx('itemLink')\"\n                                    (click)=\"onItemClick($event, item, i)\"\n                                    (keydown)=\"onItemKeydown($event, item, i)\"\n                                    [target]=\"item.target\"\n                                    [attr.tabindex]=\"getItemTabIndex(item, i)\"\n                                    [attr.aria-expanded]=\"i === activeIndex\"\n                                    [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\n                                    [fragment]=\"item.fragment\"\n                                    [queryParamsHandling]=\"item.queryParamsHandling\"\n                                    [preserveFragment]=\"item.preserveFragment\"\n                                    [skipLocationChange]=\"item.skipLocationChange\"\n                                    [replaceUrl]=\"item.replaceUrl\"\n                                    [state]=\"item.state\"\n                                    [attr.ariaCurrentWhenActive]=\"exact ? 'step' : undefined\"\n                                >\n                                    <span [class]=\"cx('itemNumber')\">{{ i + 1 }}</span>\n                                    @if (item.escape !== false) {\n                                        <span [class]=\"cx('itemLabel')\">{{ item.label }}</span>\n                                    } @else {\n                                        <span [class]=\"cx('itemLabel')\" [innerHTML]=\"item.label\"></span>\n                                    }\n                                </a>\n                            } @else {\n                                <a\n                                    role=\"link\"\n                                    [attr.href]=\"item.url\"\n                                    [class]=\"cx('itemLink')\"\n                                    (click)=\"onItemClick($event, item, i)\"\n                                    (keydown)=\"onItemKeydown($event, item, i)\"\n                                    [target]=\"item.target\"\n                                    [attr.tabindex]=\"getItemTabIndex(item, i)\"\n                                    [attr.aria-expanded]=\"i === activeIndex\"\n                                    [attr.aria-disabled]=\"item.disabled || (readonly && i !== activeIndex)\"\n                                    [attr.ariaCurrentWhenActive]=\"exact && (!item.disabled || readonly) ? 'step' : undefined\"\n                                >\n                                    <span [class]=\"cx('itemNumber')\">{{ i + 1 }}</span>\n                                    @if (item.escape !== false) {\n                                        <span [class]=\"cx('itemLabel')\">{{ item.label }}</span>\n                                    } @else {\n                                        <span [class]=\"cx('itemLabel')\" [innerHTML]=\"item.label\"></span>\n                                    }\n                                </a>\n                            }\n                        </li>\n                    }\n                }\n            </ul>\n        </nav>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [StepsStyle]\n})\nexport class Steps extends BaseComponent {\n    componentName = 'Steps';\n    /**\n     * Index of the active item.\n     * @group Props\n     */\n    @Input({ transform: numberAttribute }) activeIndex: number = 0;\n    /**\n     * An array of menu items.\n     * @group Props\n     */\n    @Input() model: MenuItem[] | undefined;\n    /**\n     * Whether the items are clickable or not.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) readonly: boolean = true;\n    /**\n     * Inline style of the component.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * Style class of the component.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Whether to apply 'router-link-active-exact' class if route exactly matches the item path.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) exact: boolean = true;\n    /**\n     * Callback to invoke when the new step is selected.\n     * @param {number} number - current index.\n     * @group Emits\n     */\n    @Output() activeIndexChange: EventEmitter<number> = new EventEmitter<number>();\n\n    @ViewChild('list', { static: false }) listViewChild: Nullable<ElementRef>;\n\n    router = inject(Router);\n\n    route = inject(ActivatedRoute);\n\n    _componentStyle = inject(StepsStyle);\n\n    subscription: Subscription | undefined;\n\n    onInit() {\n        this.subscription = this.router.events.subscribe(() => this.cd.markForCheck());\n    }\n\n    onItemClick(event: Event, item: MenuItem, i: number) {\n        if (this.readonly || item.disabled) {\n            event.preventDefault();\n\n            return;\n        }\n\n        this.activeIndexChange.emit(i);\n\n        if (!item.url && !item.routerLink) {\n            event.preventDefault();\n        }\n\n        if (item.command) {\n            item.command({\n                originalEvent: event,\n                item: item,\n                index: i\n            });\n        }\n    }\n\n    onItemKeydown(event: KeyboardEvent, item: MenuItem, i: number) {\n        switch (event.code) {\n            case 'ArrowRight': {\n                this.navigateToNextItem(event.target);\n                event.preventDefault();\n                break;\n            }\n\n            case 'ArrowLeft': {\n                this.navigateToPrevItem(event.target);\n                event.preventDefault();\n                break;\n            }\n\n            case 'Home': {\n                this.navigateToFirstItem(event.target);\n                event.preventDefault();\n                break;\n            }\n\n            case 'End': {\n                this.navigateToLastItem(event.target);\n                event.preventDefault();\n                break;\n            }\n\n            case 'Tab':\n                if (i !== (this.activeIndex ?? -1)) {\n                    const siblings = <any>find(this.listViewChild?.nativeElement, '[data-pc-section=\"menuitem\"]');\n\n                    siblings[i].children[0].tabIndex = '-1';\n                    siblings[this.activeIndex ?? 0].children[0].tabIndex = '0';\n                }\n\n                break;\n\n            case 'Enter':\n\n            // falls through\n            case 'Space': {\n                this.onItemClick(event, item, i);\n                event.preventDefault();\n                break;\n            }\n\n            default:\n                break;\n        }\n    }\n\n    navigateToNextItem(target) {\n        const nextItem = this.findNextItem(target);\n\n        if (nextItem) {\n            this.setFocusToMenuitem(target, nextItem);\n        }\n    }\n\n    navigateToPrevItem(target) {\n        const prevItem = this.findPrevItem(target);\n\n        if (prevItem) {\n            this.setFocusToMenuitem(target, prevItem);\n        }\n    }\n\n    navigateToFirstItem(target) {\n        const firstItem = this.findFirstItem();\n\n        if (firstItem) {\n            this.setFocusToMenuitem(target, firstItem);\n        }\n    }\n\n    navigateToLastItem(target) {\n        const lastItem = this.findLastItem();\n\n        if (lastItem) {\n            this.setFocusToMenuitem(target, lastItem);\n        }\n    }\n\n    findNextItem(item) {\n        const nextItem = item.parentElement.nextElementSibling;\n\n        return nextItem ? nextItem.children[0] : null;\n    }\n\n    findPrevItem(item) {\n        const prevItem = item.parentElement.previousElementSibling;\n\n        return prevItem ? prevItem.children[0] : null;\n    }\n\n    findFirstItem() {\n        const firstSibling = findSingle(this.listViewChild?.nativeElement, '[data-pc-section=\"menuitem\"]');\n\n        return firstSibling ? firstSibling.children[0] : null;\n    }\n\n    findLastItem() {\n        const siblings = find(this.listViewChild?.nativeElement, '[data-pc-section=\"menuitem\"]');\n\n        return siblings ? siblings[siblings.length - 1].children[0] : null;\n    }\n\n    setFocusToMenuitem(target, focusableItem) {\n        target.tabIndex = '-1';\n        focusableItem.tabIndex = '0';\n        focusableItem.focus();\n    }\n\n    isClickableRouterLink(item: MenuItem) {\n        return item.routerLink && !this.readonly && !item.disabled;\n    }\n\n    isItemDisabled(item: MenuItem, index: number): boolean {\n        return item.disabled || (this.readonly && !this.isActive(item, index));\n    }\n\n    isActive(item: MenuItem, index: number) {\n        if (item.routerLink) {\n            let routerLink = Array.isArray(item.routerLink) ? item.routerLink : [item.routerLink];\n\n            return this.router.isActive(this.router.createUrlTree(routerLink, { relativeTo: this.route }).toString(), false);\n        }\n\n        return index === this.activeIndex;\n    }\n\n    getItemTabIndex(item: MenuItem, index: number): string {\n        if (item.disabled) {\n            return '-1';\n        }\n\n        if (!item.disabled && this.activeIndex === index) {\n            return item.tabindex || '0';\n        }\n\n        return item.tabindex ?? '-1';\n    }\n\n    onDestroy() {\n        if (this.subscription) {\n            this.subscription.unsubscribe();\n        }\n    }\n}\n\n@NgModule({\n    imports: [Steps, SharedModule],\n    exports: [Steps, SharedModule]\n})\nexport class StepsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}