ProgressIndicator в Carbon Components Svelte представляет собой компонент, предназначенный для визуализации пошаговых процессов, часто используемых в формах, мастерах установки и любых интерфейсах, где пользователь проходит последовательность шагов. Он позволяет отображать текущий шаг, завершенные шаги и будущие шаги, обеспечивая ясную навигацию по процессу.
Компонент ProgressIndicator в Svelte строится на двух ключевых элементах:
Пример базовой структуры:
Ключевые свойства:
current – индекс активного шага (начинается с 0).vertical – логическое значение для отображения
индикатора вертикально.complete и invalid – состояния шага,
используемые внутри ProgressStep.Каждый ProgressStep может иметь несколько состояний:
Пример использования состояний:
Компонент поддерживает два основных режима отображения:
vertical={true}, используется для длинных
последовательностей шагов или узких панелей интерфейса.Пример вертикального режима:
ProgressIndicator в Svelte поддерживает динамическое изменение шага
через реактивное обновление переменной current. Изменение
текущего шага автоматически обновляет визуальный статус всех шагов:
Это позволяет создавать плавные пошаговые интерфейсы, интегрированные с логикой приложения.
Пример кастомного шага:
✔
ProgressIndicator идеально подходит для использования в комбинации с
формами, где каждая страница или секция формы соответствует одному шагу.
Для этого можно управлять currentStep через состояние
приложения или Svelte store:
Это обеспечивает синхронизацию текущего шага с внутренним состоянием приложения, облегчая навигацию и валидацию.
Carbon Components Svelte реализует ARIA-поддержку,
что делает ProgressIndicator доступным для пользователей с экранными
читалками. Каждому шагу автоматически назначаются атрибуты
aria-current, aria-label и
aria-disabled, что повышает удобство использования для всех
пользователей.