{"version":3,"file":"primeng-stepper.mjs","sources":["../../src/stepper/style/stepperstyle.ts","../../src/stepper/stepper.ts","../../src/stepper/primeng-stepper.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-steplist {\n    position: relative;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin: 0;\n    padding: 0;\n    list-style-type: none;\n    overflow-x: auto;\n}\n\n.p-step {\n    position: relative;\n    display: flex;\n    flex: 1 1 auto;\n    align-items: center;\n    gap: ${dt('stepper.step.gap')};\n    padding: ${dt('stepper.step.padding')};\n}\n\n.p-step:last-of-type {\n    flex: initial;\n}\n\n.p-step-header {\n    border: 0 none;\n    display: inline-flex;\n    align-items: center;\n    text-decoration: none;\n    cursor: pointer;\n    transition: background ${dt('stepper.transition.duration')}, color ${dt('stepper.transition.duration')}, border-color ${dt('stepper.transition.duration')}, outline-color ${dt('stepper.transition.duration')}, box-shadow ${dt(\n        'stepper.transition.duration'\n    )};\n    border-radius: ${dt('stepper.step.header.border.radius')};\n    outline-color: transparent;\n    background: transparent;\n    padding: ${dt('stepper.step.header.padding')};\n    gap: ${dt('stepper.step.header.gap')};\n}\n\n.p-step-header:focus-visible {\n    box-shadow: ${dt('stepper.step.header.focus.ring.shadow')};\n    outline: ${dt('stepper.step.header.focus.ring.width')} ${dt('stepper.step.header.focus.ring.style')} ${dt('stepper.step.header.focus.ring.color')};\n    outline-offset: ${dt('stepper.step.header.focus.ring.offset')};\n}\n\n.p-stepper.p-stepper-readonly .p-step {\n    cursor: auto;\n}\n\n.p-step-title {\n    display: block;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    max-width: 100%;\n    color: ${dt('stepper.step.title.color')};\n    font-weight: ${dt('stepper.step.title.font.weight')};\n    transition: background ${dt('stepper.transition.duration')}, color ${dt('stepper.transition.duration')}, border-color ${dt('stepper.transition.duration')}, box-shadow ${dt('stepper.transition.duration')}, outline-color ${dt(\n        'stepper.transition.duration'\n    )};\n}\n\n.p-step-number {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    color: ${dt('stepper.step.number.color')};\n    border: 2px solid ${dt('stepper.step.number.border.color')};\n    background: ${dt('stepper.step.number.background')};\n    min-width: ${dt('stepper.step.number.size')};\n    height: ${dt('stepper.step.number.size')};\n    line-height: ${dt('stepper.step.number.size')};\n    font-size: ${dt('stepper.step.number.font.size')};\n    z-index: 1;\n    border-radius: ${dt('stepper.step.number.border.radius')};\n    position: relative;\n    font-weight: ${dt('stepper.step.number.font.weight')};\n}\n\n.p-step-number::after {\n    content: \" \";\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    border-radius: ${dt('stepper.step.number.border.radius')};\n    box-shadow: ${dt('stepper.step.number.shadow')};\n}\n\n.p-step-active .p-step-header {\n    cursor: default;\n}\n\n.p-step-active .p-step-number {\n    background: ${dt('stepper.step.number.active.background')};\n    border-color: ${dt('stepper.step.number.active.border.color')};\n    color: ${dt('stepper.step.number.active.color')};\n}\n\n.p-step-active .p-step-title {\n    color: ${dt('stepper.step.title.active.color')};\n}\n\n.p-step:not(.p-disabled):focus-visible {\n    outline: ${dt('focus.ring.width')} ${dt('focus.ring.style')} ${dt('focus.ring.color')};\n    outline-offset: ${dt('focus.ring.offset')};\n}\n\n.p-step:has(~ .p-step-active) .p-stepper-separator {\n    background: ${dt('stepper.separator.active.background')};\n}\n\n.p-stepper-separator {\n    flex: 1 1 0;\n    background: ${dt('stepper.separator.background')};\n    width: 100%;\n    height: ${dt('stepper.separator.size')};\n    transition: background ${dt('stepper.transition.duration')}, color ${dt('stepper.transition.duration')}, border-color ${dt('stepper.transition.duration')}, box-shadow ${dt('stepper.transition.duration')}, outline-color ${dt(\n        'stepper.transition.duration'\n    )};\n}\n\n.p-steppanels {\n    padding: ${dt('stepper.steppanels.padding')};\n}\n\n.p-steppanel {\n    background: ${dt('stepper.steppanel.background')};\n    color: ${dt('stepper.steppanel.color')};\n}\n\n.p-stepper:has(.p-stepitem) {\n    display: flex;\n    flex-direction: column;\n}\n\n.p-stepitem {\n    display: flex;\n    flex-direction: column;\n    flex: initial;\n}\n\n.p-stepitem.p-stepitem-active {\n    flex: 1 1 auto;\n}\n\n.p-stepitem .p-step {\n    flex: initial;\n}\n\n.p-stepitem .p-steppanel-content {\n    width: 100%;\n    padding: ${dt('stepper.steppanel.padding')};\n    margin-inline-start: 1rem;\n}\n\n.p-stepitem .p-steppanel {\n    display: flex;\n    flex: 1 1 auto;\n}\n\n.p-stepitem .p-stepper-separator {\n    flex: 0 0 auto;\n    width: ${dt('stepper.separator.size')};\n    height: auto;\n    margin: ${dt('stepper.separator.margin')};\n    position: relative;\n    left: calc(-1 * ${dt('stepper.separator.size')});\n}\n\n.p-stepitem .p-stepper-separator:dir(rtl) {\n    left: calc(-9 * ${dt('stepper.separator.size')});\n}\n\n.p-stepitem:has(~ .p-stepitem-active) .p-stepper-separator {\n    background: ${dt('stepper.separator.active.background')};\n}\n\n.p-stepitem:last-of-type .p-steppanel {\n    padding-inline-start: ${dt('stepper.step.number.size')};\n}\n/* For PrimeNG */\n.p-steppanel {\n    overflow: hidden;\n}\n\n.p-stepppanel:not(.ng-animating) {\n    overflow: inherit;\n}\n`;\n\nconst classes = {\n    root: ({ props }) => [\n        'p-stepper p-component',\n        {\n            'p-readonly': props.linear\n        }\n    ],\n    separator: 'p-stepper-separator'\n};\n\n@Injectable()\nexport class StepperStyle extends BaseStyle {\n    name = 'stepper';\n\n    theme = theme;\n\n    classes = classes;\n}\n\n/**\n *\n * Stepper is a component that streamlines a wizard-like workflow, organizing content into coherent steps and visually guiding users through a numbered progression in a multi-step process.\n *\n * [Live Demo](https://www.primeng.org/stepper/)\n *\n * @module stepperstyle\n *\n */\nexport enum StepperClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-stepper',\n    /**\n     * Class name of the separator element\n     */\n    separator = 'p-stepper-separator'\n}\n\nexport interface StepperStyle extends BaseStyle {}\n","import { CommonModule } from '@angular/common';\nimport {\n    AfterContentInit,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    ContentChild,\n    ContentChildren,\n    contentChildren,\n    effect,\n    forwardRef,\n    inject,\n    input,\n    InputSignal,\n    InputSignalWithTransform,\n    model,\n    ModelSignal,\n    NgModule,\n    QueryList,\n    signal,\n    TemplateRef,\n    ViewEncapsulation\n} from '@angular/core';\n\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { find, findIndexInList, uuid } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { transformToBoolean } from 'primeng/utils';\nimport { StepperStyle } from './style/stepperstyle';\n\n/**\n * Context interface for the StepPanel content template.\n * @property {() => void} activateCallback - Callback function to activate a step.\n * @property {number} value - The value associated with the step.\n * @property {boolean} active - A flag indicating whether the step is active.\n * @group Interface\n */\nexport interface StepContentTemplateContext {\n    activateCallback: () => void;\n    value: number;\n    active: boolean;\n}\n\n/**\n * Context interface for the StepPanel content template.\n * @property {(index: number) => void} activateCallback - Callback function to activate a step.\n * @property {number} value - The value associated with the step.\n * @property {boolean} active - A flag indicating whether the step is active.\n * @group Interface\n */\nexport interface StepPanelContentTemplateContext {\n    activateCallback: (index: number) => void;\n    value: number;\n    active: boolean;\n}\n\n@Component({\n    selector: 'p-step-list',\n    standalone: true,\n    imports: [CommonModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-steplist]': 'true',\n        '[class.p-component]': 'true'\n    }\n})\nexport class StepList extends BaseComponent {\n    steps = contentChildren(Step);\n}\n\n@Component({\n    selector: 'p-stepper-separator',\n    standalone: true,\n    imports: [CommonModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-stepper-separator]': 'true',\n        '[class.p-component]': 'true'\n    }\n})\nexport class StepperSeparator extends BaseComponent {}\n\n/**\n * StepItem is a helper component for Stepper component used in vertical orientation.\n * @group Components\n */\n@Component({\n    selector: 'p-step-item',\n    standalone: true,\n    imports: [CommonModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-stepitem]': 'true',\n        '[class.p-component]': 'true',\n        '[attr.data-p-active]': 'isActive()'\n    }\n})\nexport class StepItem extends BaseComponent {\n    pcStepper = inject(forwardRef(() => Stepper));\n    /**\n     * Value of step.\n     * @type {<number | undefined>}\n     * @defaultValue undefined\n     * @group Props\n     */\n    value: ModelSignal<number | undefined> = model<number | undefined>();\n\n    isActive = computed(() => this.pcStepper.value() === this.value());\n\n    step = contentChild(Step);\n\n    stepPanel = contentChild(StepPanel);\n\n    constructor() {\n        super();\n        effect(() => {\n            this.step().value.set(this.value());\n        });\n\n        effect(() => {\n            this.stepPanel().value.set(this.value());\n        });\n    }\n}\n\n/**\n * Step is a helper component for Stepper component.\n * @group Components\n */\n@Component({\n    selector: 'p-step',\n    standalone: true,\n    imports: [CommonModule, StepperSeparator, SharedModule],\n    template: `\n        @if (!content && !_contentTemplate) {\n            <button [attr.id]=\"id()\" class=\"p-step-header\" [attr.role]=\"'tab'\" [tabindex]=\"isStepDisabled() ? -1 : undefined\" [attr.aria-controls]=\"ariaControls()\" [disabled]=\"isStepDisabled()\" (click)=\"onStepClick()\">\n                <span class=\"p-step-number\">{{ value() }}</span>\n                <span class=\"p-step-title\">\n                    <ng-content></ng-content>\n                </span>\n            </button>\n            @if (isSeparatorVisible()) {\n                <p-stepper-separator />\n            }\n        } @else {\n            <ng-container *ngTemplateOutlet=\"content || _contentTemplate; context: { activateCallback: onStepClick.bind(this), value: value(), active: active() }\"></ng-container>\n            @if (isSeparatorVisible()) {\n                <p-stepper-separator />\n            }\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-step]': 'true',\n        '[class.p-step-active]': 'active()',\n        '[class.p-disabled]': 'isStepDisabled()',\n        '[class.p-component]': 'true',\n        '[attr.aria-current]': 'active() ? \"step\" : undefined',\n        '[attr.role]': '\"presentation\"',\n        '[attr.data-p-active]': 'active()',\n        '[attr.data-p-disabled]': 'isStepDisabled()',\n        '[attr.data-pc-name]': '\"step\"'\n    }\n})\nexport class Step extends BaseComponent implements AfterContentInit {\n    pcStepper = inject(forwardRef(() => Stepper));\n    /**\n     * Active value of stepper.\n     * @type {number}\n     * @defaultValue undefined\n     * @group Props\n     */\n    value: ModelSignal<number> = model<number | undefined>();\n    /**\n     * Whether the step is disabled.\n     * @type {boolean}\n     * @defaultValue false\n     * @group Props\n     */\n    disabled: InputSignalWithTransform<any, boolean> = input(false, {\n        transform: (v: any | boolean) => transformToBoolean(v)\n    });\n\n    active = computed(() => this.pcStepper.isStepActive(this.value()));\n\n    isStepDisabled = computed(() => !this.active() && (this.pcStepper.linear() || this.disabled()));\n\n    id = computed(() => `${this.pcStepper.id()}_step_${this.value()}`);\n\n    ariaControls = computed(() => `${this.pcStepper.id()}_steppanel_${this.value()}`);\n\n    isSeparatorVisible = computed(() => {\n        if (this.pcStepper.stepList()) {\n            const steps = this.pcStepper.stepList().steps();\n            const index = steps.indexOf(this);\n            const stepLen = steps.length;\n            return index !== stepLen - 1;\n        } else {\n            return false;\n        }\n    });\n    /**\n     * Content template.\n     * @type {TemplateRef<StepContentTemplateContext>}\n     * @group Templates\n     */\n    @ContentChild('content', { descendants: false }) content: TemplateRef<StepContentTemplateContext>;\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n    _contentTemplate: TemplateRef<any> | undefined;\n\n    ngAfterContentInit() {\n        this.templates?.forEach((item) => {\n            switch (item.getType()) {\n                case 'content':\n                    this._contentTemplate = item.template;\n                    break;\n            }\n        });\n    }\n\n    onStepClick() {\n        this.pcStepper.updateValue(this.value());\n    }\n}\n\n/**\n * StepPanel is a helper component for Stepper component.\n * @group Components\n */\n@Component({\n    selector: 'p-step-panel',\n    standalone: true,\n    imports: [CommonModule, StepperSeparator, SharedModule],\n    template: `\n        @if (isSeparatorVisible()) {\n            <p-stepper-separator />\n        }\n        <div class=\"p-steppanel-content\" [@content]=\"isVertical() ? (active() ? { value: 'visible', params: { transitionParams: transitionOptions() } } : { value: 'hidden', params: { transitionParams: transitionOptions() } }) : undefined\">\n            @if (active()) {\n                <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate; context: { activateCallback: updateValue.bind(this), value: value(), active: active() }\"></ng-container>\n            }\n        </div>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-steppanel]': 'true',\n        '[class.p-component]': 'true',\n        '[class.p-steppanel-active]': 'active()',\n        '[attr.role]': '\"tabpanel\"',\n        '[attr.aria-controls]': 'ariaControls()',\n        '[attr.id]': 'id()',\n        '[attr.data-p-active]': 'active()',\n        '[attr.data-pc-name]': '\"steppanel\"'\n    },\n    animations: [\n        trigger('content', [\n            state(\n                'hidden',\n                style({\n                    height: '0',\n                    visibility: 'hidden'\n                })\n            ),\n            state(\n                'visible',\n                style({\n                    height: '*',\n                    visibility: 'visible'\n                })\n            ),\n            transition('visible <=> hidden', [animate('250ms cubic-bezier(0.86, 0, 0.07, 1)')]),\n            transition('void => *', animate(0))\n        ])\n    ]\n})\nexport class StepPanel extends BaseComponent implements AfterContentInit {\n    pcStepper = inject(forwardRef(() => Stepper));\n\n    transitionOptions = computed(() => this.pcStepper.transitionOptions());\n    /**\n     * Active value of stepper.\n     * @type {number}\n     * @defaultValue undefined\n     * @group Props\n     */\n    value: ModelSignal<number> = model<number | undefined>(undefined);\n\n    active = computed(() => this.pcStepper.value() === this.value());\n\n    ariaControls = computed(() => `${this.pcStepper.id()}_step_${this.value()}`);\n\n    id = computed(() => `${this.pcStepper.id()}_steppanel_${this.value()}`);\n\n    isVertical = computed(() => this.pcStepper.stepItems().length > 0);\n\n    isSeparatorVisible = computed(() => {\n        if (this.pcStepper.stepItems()) {\n            const stepLen = this.pcStepper.stepItems().length;\n            const stepPanelElements = find(this.pcStepper.el.nativeElement, '[data-pc-name=\"steppanel\"]');\n            const index = findIndexInList(this.el.nativeElement, stepPanelElements);\n\n            return index !== stepLen - 1;\n        }\n    });\n    /**\n     * Content template.\n     * @param {StepPanelContentTemplateContext} context - Context of the template\n     * @see {@link StepPanelContentTemplateContext}\n     * @group Templates\n     */\n    @ContentChild('content') contentTemplate: TemplateRef<StepPanelContentTemplateContext>;\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n    _contentTemplate: TemplateRef<any> | undefined;\n\n    ngAfterContentInit() {\n        this.templates?.forEach((item) => {\n            switch (item.getType()) {\n                case 'content':\n                    this._contentTemplate = item.template;\n                    break;\n            }\n        });\n    }\n\n    updateValue(value: number) {\n        this.pcStepper.updateValue(value);\n    }\n}\n\n@Component({\n    selector: 'p-step-panels',\n    standalone: true,\n    imports: [CommonModule, SharedModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class.p-steppanels]': 'true',\n        '[class.p-component]': 'true'\n    }\n})\nexport class StepPanels extends BaseComponent {}\n\n/**\n * Stepper is a component that streamlines a wizard-like workflow, organizing content into coherent steps and visually guiding users through a numbered progression in a multistep process.\n * @group Components\n */\n@Component({\n    selector: 'p-stepper',\n    standalone: true,\n    imports: [CommonModule, SharedModule],\n    template: ` <ng-content></ng-content>`,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [StepperStyle],\n    host: {\n        '[class.p-stepper]': 'true',\n        '[class.p-component]': 'true',\n        '[attr.role]': '\"tablist\"',\n        '[attr.id]': 'id()'\n    }\n})\nexport class Stepper extends BaseComponent {\n    /**\n     * A model that can hold a numeric value or be undefined.\n     * @defaultValue undefined\n     * @type {ModelSignal<number | undefined>}\n     * @group Props\n     */\n    value: ModelSignal<number | undefined> = model<number | undefined>(undefined);\n    /**\n     * A boolean variable that captures user input.\n     * @defaultValue false\n     * @type {InputSignalWithTransform<any, boolean >}\n     * @group Props\n     */\n    linear: InputSignalWithTransform<any, boolean> = input(false, {\n        transform: (v: any | boolean) => transformToBoolean(v)\n    });\n    /**\n     * Transition options of the animation.\n     * @defaultValue 400ms cubic-bezier(0.86, 0, 0.07, 1)\n     * @type {InputSignal<string >}\n     * @group Props\n     */\n    transitionOptions: InputSignal<string> = input<string>('400ms cubic-bezier(0.86, 0, 0.07, 1)');\n\n    _componentStyle = inject(StepperStyle);\n\n    id = signal<string>(uuid('pn_id_'));\n\n    stepItems = contentChildren(StepItem);\n\n    steps = contentChildren(Step);\n\n    stepList = contentChild(StepList);\n\n    updateValue(value: number) {\n        this.value.set(value);\n    }\n\n    isStepActive(value: number) {\n        return this.value() === value;\n    }\n}\n\n@NgModule({\n    imports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule],\n    exports: [Stepper, StepList, StepPanels, StepPanel, StepItem, Step, StepperSeparator, SharedModule]\n})\nexport class StepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}