Stepper

size
view
import {Stepper} from '@gravity-ui/uikit';

Stepper - это компонент, который отображает прогресс при помощи последовательности пронумерованных шагов. Компонент обеспечивает возможность использования wizard-like процессов работы.

Example

<Stepper>
  <Stepper.Item>Step 1</Stepper.Item>
  <Stepper.Item>Step 2</Stepper.Item>
  <Stepper.Item>Step 3</Stepper.Item>
  <Stepper.Item>Step 4 with very long title</Stepper.Item>
</Stepper>

Interactive items

Используйте onUpdate и value параметры вместе с кастомным состоянием для управления шагами

<Stepper value={0} onUpdate={(id) => alert(id)}>
    <Stepper.Item>Step 1</Stepper.Item>
    <Stepper.Item>Step 2</Stepper.Item>
    <Stepper.Item>Step 3</Stepper.Item>
    <Stepper.Item>Step 4 with very long title</Stepper.Item>
  </Stepper>

Different views

<Stepper>
  <Stepper.Item>Step 1</Stepper.Item>
  <Stepper.Item view="error">Step 2</Stepper.Item>
  <Stepper.Item view="error">Step 3</Stepper.Item>
  <Stepper.Item view="success">Step 4</Stepper.Item>
</Stepper>

Different sizes

<Stepper size="l">
  <Stepper.Item>Step 1</Stepper.Item>
  <Stepper.Item>Step 2</Stepper.Item>
  <Stepper.Item>Step 3</Stepper.Item>
  <Stepper.Item>Step 4</Stepper.Item>
</Stepper>

Disabled steps

<Stepper>
  <Stepper.Item>Step 1</Stepper.Item>
  <Stepper.Item disabled>Step 2</Stepper.Item>
  <Stepper.Item disabled>Step 3</Stepper.Item>
  <Stepper.Item disabled>Step 4 with very long title</Stepper.Item>
</Stepper>

Custom icons

<Stepper>
  <Stepper.Item icon={<Icon data={Gear} />}>Step 1</Stepper.Item>
  <Stepper.Item icon={<Icon data={Rocket} />}>Step 2</Stepper.Item>
  <Stepper.Item icon={<Icon data={Cloud} />}>Step 3</Stepper.Item>
  <Stepper.Item icon={<Icon data={Hammer} />}>Step 4 with very long title</Stepper.Item>
</Stepper>

Custom step separator

<Stepper separator=">">
  <Stepper.Item>Step 1</Stepper.Item>
  <Stepper.Item view="error">Step 2</Stepper.Item>
  <Stepper.Item view="success">Step 3</Stepper.Item>
  <Stepper.Item>Step 4 with very long title</Stepper.Item>
</Stepper>

Step with floating element

<Stepper>
  <Tooltip content="fancy step with tooltip">
    <Stepper.Item>Step 1</Stepper.Item>
  </Tooltip>
  <Stepper.Item view="error">Step 2</Stepper.Item>
  <Stepper.Item view="success">Step 3</Stepper.Item>
  <Stepper.Item>Step 4 with very long title</Stepper.Item>
</Stepper>

Properties

NameDescriptionTypeDefault
childrenДочерние элементы степера.React.ReactElement<StepperItemProps>
sizeЗадает размер степа."s" "m" "l""s"
valueТекущий выбранный идентификатор степа.number string
onUpdateФункция для обновления текущего выбранного элемента.Function
qadata-qa HTML атрибут, используется для тестирования.string
separatorКастомная нода-разделитель степов.React.ReactNode
classNameCSS имя класса Step контейнера.string
styleЗадает инлайн-стили Step контейнера.CSSProperties
aria-labelОпределяет строковое значение, используемое в качестве метки для текущего элемента.string
aria-labelledbyОпределяет элементы, используемые в качестве метки для текущего элемента.string
aria-describedbyОпределяет элементы, описывающие объект.string

StepperItemProps

NameDescriptionTypeDefault
idИдентификатора степа. Если не передан, берется значения индекса массива.string number
viewВнешний вид степа."idle" "error" "success""idle"
childrenВнутреннее содержимое степа.React.Node
disabledУстанавливает заблокированное состояние для степа.boolean
iconЗадает кастомную иконка степаSVGIconData
onClickОбработчик клика на степReact.MouseEventHandler
classNameCSS class name элементаstring

CSS API

NameDescription
--g-stepper-gapРасстояние между степами и разделителем.
--g-stepper-item-text-max-widthМаксимальная ширина текстового контента степа.