import TaglessComponent from './-tagless'; import StateMachine from 'ember-steps/-private/state-machine/-base'; import StepComponent from './step-manager/step'; /** * A component for creating a set of "steps", where only one is visible at a time * * ```hbs * {{#step-manager as |w|}} * {{#w.step}} * The first step * {{/w.step}} * * {{#w.step}} * The second step * {{/w.step}} * * * {{/step-manager}} * ``` * * @class StepManagerComponent * @yield {hash} w * @yield {Component} w.step Renders a step * @yield {Action} w.transition-to * @yield {Action} w.transition-to-next Render the next step * @yield {Action} w.transition-to-previous Render the previous step * @yield {string} w.currentStep The name of the current step * @yield {Array} w.steps All of the step names that are currently defined, in order * @public * @hide */ export default class StepManagerComponent extends TaglessComponent { layout: any; /** * Optionally can be provided to override the initial step to render * * @property {string} initialStep the initial step * @public */ initialStep: string; /** * The `currentStep` property can be used for providing, or binding to, the * name of the current step. * * If provided, the initial step will come from the value of this property, * and the value will be updated whenever the step changes * * @property {string} currentStep the current active step * @public */ currentStep: string; /** * @property {boolean} boolean * @public */ linear: boolean; /** * @property {StateMachine} transitions state machine for transitions * @private */ transitions: StateMachine; constructor(); readonly hasNextStep: boolean; readonly hasPreviousStep: boolean; /** * Used internally to transition to a specific named step * * @method doTransition * @param {string} to the name of the step to transition to * @param {string} from the name of the step being transitioned * @private */ doTransition(to: any): void; didUpdateAttrs(): void; actions: { registerStepComponent(this: StepManagerComponent, stepComponent: StepComponent): void; removeStepComponent(this: StepManagerComponent, stepComponent: StepComponent): void; 'transition-to'(this: StepManagerComponent, to: string): void; 'transition-to-next'(this: StepManagerComponent): void; 'transition-to-previous'(this: StepManagerComponent): void; }; }