Действия
Действия
Четыре компонента, и все четыре про нажатие. Отличаются они не видом, а тем, что происходит после: кнопка делает, сегментированный контрол выбирает одно, чип включает несколько, группа собирает соседей.
Сравнение стоит здесь, а не на страницах: «возьмите другое» — это утверждение о СОСЕДЯХ, и повторённое на каждой из четырёх страниц оно расходится с ними по одной строке за правку.
Что выбрать
| Что нужно | Возьмите | Почему не соседа |
|---|---|---|
| Действие, меняющее состояние: запустить, сохранить, удалить | Кнопку | У сегментированного контрола нет действия, у чипа нет действия |
| Ровно одно значение из 2–4 равноправных: плотность, режим показа | Сегментированный контрол | Три кнопки не показывают, какая выбрана: у кнопки нет состояния «нажата» |
| Несколько фильтров включены сразу и все на виду | Чип | У сегментированного выбранный один по устройству |
| Разные действия над одним объектом вплотную: копировать · дублировать · удалить | Группу кнопок | У группы нет выбранного элемента, и быть не может |
Когда ни один не подходит
| Что нужно | Возьмите | Почему не отсюда |
|---|---|---|
| Переход по адресу | обычную <a> |
Кнопка, ведущая на другую страницу, ломает средний клик, «открыть в новой вкладке» и копирование ссылки |
| Переключение вкл/выкл | свитч или чекбокс | У одного варианта нет пары, а у кнопки нет состояния «нажата» |
| Больше пяти вариантов | селект | Сегментированный расползётся по ширине, чипы перенесутся на три строки |
| Список действий, который не влезает | меню в поповере | Группа кнопок не сворачивается |
| Переход между разделами | вкладки | Это роутинг, а не выбор значения |
| Показать уже выбранное, без переключения | тег | Чип нажимается, тег — нет |
| Состояние объекта из словаря | бейдж | Чип называет фильтр, а не состояние |
| Разрозненные действия | кластер с зазором | Вплотную они соврут о родстве |
Общее для всех четырёх
Ровно одно primary на экран. Главных действий не бывает два: второе
отнимает вес у первого, и человек перестаёт понимать, чего от него хотят.
Тон несёт значение, а не настроение. --danger ставится там, где действие
необратимо, и нигде больше. Чип тона не имеет вовсе: он называет фильтр, а
покрашенный в красный фильтр «упало» сказал бы, что аварийный сам фильтр.
Клавиатура у всех четырёх разная, и это не разнобой. Кнопка и группа — по
Tab на каждую: это отдельные действия. Сегментированный контрол и чип — один
Tab на всю полосу и стрелки внутри: это один контрол с несколькими
значениями. Разметку, которая это объявляет, каждая страница называет в своём
разделе «Контракт».
Почему кит устроен именно так — конституция · Открытый код под MIT, github.com/keshon/instrument