import { type FunctionComponent } from 'react'; /** * Идентификатор шага формы. */ export type WizardStepId = string | number; export type WizardStep = { /** * Уникальный идентификатор шага. */ id: WizardStepId; /** * Название шага. */ label: string; /** Компонент, который будет отображаться на этом шаге */ component: FunctionComponent; /** * Текст для кнопки "Далее" на этом шаге. * Если не указан, будет использовано значение по умолчанию. * @default "Далее" */ nextButtonText?: string; /** * Текст для кнопки "Назад" на этом шаге. * Если не указан, будет использовано значение по умолчанию. * @default "Назад" */ prevButtonText?: string; }; export type WizardFooterProps = { /** * Флаг блокировки формы */ isDisabled?: boolean; /** * Флаг, указывающий, является ли текущий шаг первым в последовательности. */ isFirstStep: boolean; /** * Флаг, указывающий, является ли текущий шаг последним в последовательности. */ isLastStep: boolean; /** * Текст для кнопки "Назад" на этом шаге. */ prevButtonText: string; /** * Текст для кнопки "Далее" и "Отправить" (для текущего шага) */ submitButtonText: string; /** * Функция, вызываемая при переходе на предыдущий шаг. */ onPrevStep: () => void; };