Дизайн-токены ui.design-tokens и Air Design
Дизайн-токены — CSS-переменные с цветами, размерами шрифтов, отступами и скруглениями. Компоненты раздела берут оформление из токенов. Те же токены можно использовать в стилях своих блоков, чтобы блоки выглядели согласованно с интерфейсом.
Выбрать набор токенов
Токены объявляют два расширения.
-
ui.design-tokens— основной набор с переменными—ui-color-*,—ui-font-size-*,—ui-space-*,—ui-border-radius-*и другими. -
ui.design-tokens.air— набор для Air Design с переменными—ui-color-design-*,—ui-color-bg-*и другими. Значения части переменных зависят от контекста — светлого или темного фона.
Полный список переменных основного набора лежит в файле bitrix/js/ui/design-tokens/dist/ui.design-tokens.css, набора для Air Design — в файле bitrix/js/ui/design-tokens/air/dist/air-design-tokens.css.
Подключить токены
Многие расширения раздела, например ui.alerts, ui.notification, ui.switcher и ui.forms, подключают ui.design-tokens как зависимость. Если токены нужны в стилях страницы без таких расширений, загрузите набор сами.
\Bitrix\Main\UI\Extension::load('ui.design-tokens');
Использовать токены в своих стилях
Подставляйте токены в свойства CSS через функцию var(). Основной набор содержит, например, такие цветовые переменные.
-
—ui-color-primary— основной акцентный цвет. -
—ui-color-base-*— оттенки серого для текста и границ. -
—ui-color-palette-*— исходная палитра, на которой построены остальные цвета.
Пример. Стили карточки документа используют токены цвета текста, фона, отступа и скругления.
.document-card {
padding: var(—ui-space-inset-md);
border-radius: var(—ui-border-radius-md);
background: var(—ui-color-background-primary);
color: var(—ui-color-text-primary);
font-size: var(—ui-font-size-md);
}
.document-card__hint {
color: var(—ui-color-base-70);
}
Включить Air Design
Air Design — вариант оформления интерфейса Битрикс24. Его включают двумя способами.
-
Константа
AIR_SITE_TEMPLATEвключает Air Design на стороне сервера. Модульintranetопределяет ее в публичной части сайта, если сайт работает на шаблонеbitrix24. Панель инструментов ui.toolbar переводит добавленные кнопки в оформление Air. PHP-классы кнопок ui.buttons включают его параметром'air' => true, только если константа определена. -
Параметр
useAirDesign: trueвключает Air Design для отдельного JS-компонента. Параметр есть, например, у кнопокui.buttons, переключателя ui.switcher, счетчика ui.counter, кольцевого индикатора ui.progressround, уведомлений ui.notification и окна сообщения ui.dialogs.messagebox.
У перечисленных JS-компонентов параметр useAirDesign по умолчанию равен false. Если на странице с Air Design компонент тоже должен быть в оформлении Air, передайте useAirDesign: true в параметрах компонента. Если кнопка, переключатель или счетчик создаются из готовой разметки, класс —air на их узле включает оформление Air.