Хронология

Хронология

Вещи расположены одна под другой, каждая на маркере, соединенные линией: шаги процедуры, события истории, этапы выполнения. Каждая из них может содержать что угодно — строку текста, таблицу, форму — и линия проходит по всему этому, к следующему маркеру.

Шаги по порядку

Нумерованные, с тремя состояниями, которые знает шагомер: предыдущие шаги отображаются сплошной линией, текущий выделен, а будущие ждут.
  1. Получить источники

    Клонируйте репозиторий и установите его зависимости.

  2. Настроить

    Скопируйте пример окружения и заполните адрес базы данных.

  3. Создать базу данных

    Запустите миграции; это шаг в процессе.

  4. Развернуть

    Соберите активы и опубликуйте релиз.

Что угодно под заголовком

Каждый элемент содержит всё, что ему нужно — свойства, сообщение, кнопки. Иконка заменяет точку, а тон окрашивает маркер так же, как он окрашивает маркер или блок.
  1. Заказ размещён
    14 марта, 09:41
    Ссылка
    ORD-2026-0142
    Сумма
    € 184.00
    Способ оплаты
    Карта, заканчивающаяся на 4242
  2. Платёж получен
    14 марта, 09:42
  3. Отправлено
    15 марта, 16:05
    Задержка

    Перевозчик сообщает о задержке на один день.

  4. Доставка

История

Нет порядка следования, только события: точки, дата под каждым заголовком и цвет категории, который что-то говорит.
  1. Выпущена версия 2.0
    2 сентября
  2. Проверено командой
    28 августа
  3. Первый черновик
    12 августа

Шаги ещё не определены

Как в шагомере: шаг, который зависит от ответа, который еще не дан, не имеет номера и не сдвигает другие.
  1. Получить источники
  2. Выберите план
  3. Зависит от плана
  4. Развернуть

Написано от руки

Компонент — это всего лишь способ записать форму из списка. Те же классы, написанные на странице, создают ту же хронологию, с чем угодно внутри.
  1. Простая точка
  2. Иконка вместо точки

    Любая разметка, написанная на странице.

В vue

Та же хронология в дереве vue. То, что ветка принимает как разметку, является областью слота, так что компонент может находиться под заголовком элемента.