Компоненты в Goban

Дизайн-система Goban разрабатывается для сложных приложений с вариативными стандартными компонентами. Чтобы не создавать больше количество вариаций для каждого компонента, я сделал гибкие базовые компоненты.

Принцип

Большая часть простых компонентов (формы ввода, теги, селекторы), если рассматривать их возможные вариации, имеет следующее устройство:

Префикс →

Опциональная часть компонента, следующая до основной.

У пункта выпадающего меню это может быть иконка, чек-бокс или отступ.

Основная часть →

Обязательная часть компонента.

У пункта выпадающего меню это будет его название.

Постфикс

Опциональная часть компонента, следующая после основной.

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

Реализация

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

Созданные таким образом мастер-компоненты, позволяют создавать огромное количество вариаций компонента, объединённых общей размерностью, отступами и поведением (states).

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