import { LitElement, type PropertyValues } from 'lit'; /** * A step component used within an `igc-stepper` to represent an individual step in a wizard-like workflow. * * @remarks * Each step has a header (with an indicator, title, and subtitle) and a content area. * Steps can be marked as `active`, `complete`, `disabled`, `optional`, or `invalid` * to control their appearance and behavior within the stepper. * * Custom indicators can be provided via the `indicator` slot, and the content area * is rendered in the default slot. * * @element igc-step * * @slot - Renders the content of the step. * @slot indicator - Renders the indicator of the step. By default, it displays the step index + 1. * @slot title - Renders the title of the step. * @slot subtitle - Renders the subtitle of the step. * * @csspart header-container - Wrapper of the step's `header` and its separators. * @csspart disabled - Indicates a disabled state. Applies to `header-container`. * @csspart complete-start - Indicates a complete state of the current step. Applies to `header-container`. * @csspart complete-end - Indicates a complete state of the previous step. Applies to `header-container`. * @csspart optional - Indicates an optional state. Applies to `header-container`. * @csspart invalid - Indicates an invalid state. Applies to `header-container`. * @csspart top - Indicates that the title should be above the indicator. Applies to `header-container`. * @csspart bottom - Indicates that the title should be below the indicator. Applies to `header-container`. * @csspart start - Indicates that the title should be before the indicator. Applies to `header-container`. * @csspart end - Indicates that the title should be after the indicator. Applies to `header-container`. * @csspart header - Wrapper of the step's `indicator` and `text`. * @csspart indicator - The indicator of the step. * @csspart text - Wrapper of the step's `title` and `subtitle`. * @csspart empty - Indicates that no title and subtitle have been provided to the step. Applies to `text`. * @csspart title - The title of the step. * @csspart subtitle - The subtitle of the step. * @csspart body - Wrapper of the step's `content`. * @csspart content - The step's `content`. * * @example * ```html * * * Home * Return to the home page *

Welcome! This is the first step.

*
* ``` * * @example Step with state attributes * ```html * * Completed step *

This step has been completed.

*
* * * Current step *

This step has validation errors.

*
* * * Disabled step *

This step is not accessible.

*
* ``` */ export default class IgcStepComponent extends LitElement { static readonly tagName = "igc-step"; static styles: import("lit").CSSResult[]; static register(): void; private readonly _bodyRef; private readonly _contentRef; private readonly _bodyPlayer; private readonly _contentPlayer; private readonly _slots; private readonly _stepperContext?; private get _stepper(); private get _state(); private get _isHorizontal(); private get _hasTitle(); private get _hasSubtitle(); private get _animation(); private get _animationDuration(); private get _contentTop(); private get _index(); private get _orientation(); private get _titlePosition(); private get _stepType(); private get _previousComplete(); private get _visited(); private get _isAccessible(); /** * Whether the step is invalid. * * Invalid steps are styled with an error state and are not * interactive when the stepper is in linear mode. * * @attr invalid * @default false */ invalid: boolean; /** * Whether the step is active. * * Active steps are styled with an active state and their content is visible. * * @attr active * @default false */ active: boolean; /** * Whether the step is optional. * * Optional steps validity does not affect the default behavior when the stepper is in linear mode i.e. * if optional step is invalid the user could still move to the next step. * * @attr optional * @default false */ optional: boolean; /** * Whether the step is disabled. * * Disabled steps are styled with a disabled state and are not interactive. * * @attr disabled * @default false */ disabled: boolean; /** * Whether the step is completed. * * @attr complete * @default false */ complete: boolean; constructor(); protected willUpdate(changed: PropertyValues): void; /** * @hidden @internal * @deprecated since 5.4.0. Use the Stepper's `navigateTo` method instead. */ toggleAnimation(type: 'in' | 'out', direction?: 'normal' | 'reverse'): Promise; private get _headerContainerParts(); private get _textParts(); private _renderIndicator; private _renderTitleAndSubtitle; private _renderHeader; private _renderContent; protected render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'igc-step': IgcStepComponent; } }