Show/Hide Toolbars

Руководство администратора

Web имплементация

Ссылки Назад Вверх Вперед

При инициализации приложения (в bootstrap.module.ts) происходит загрузка файла ui.json. Далее с помощью сервиса ThemeService происходит генерация и установка в :root CSS переменных. Названия переменных соответствуют названиям в файле ui.json и макетах

branding_web_imp_1

Style attribute

При переключении темы переменные будут перезаписываться соответствующим цветом.

Использование переменных

Текст

Для основного не цветного текста используем следующие переменные:

var(--onsurface-primary) — ерный текст.

var(--onsurface-secondary) — серый текст.

var(--onsurface-tertiary) — цвет для подсказок (плейсхолдеров).

var(--container-primary) — цвет фона.

var(--oncontainer-primary) — цвет текста на фоне.

Обратите внимание: переменная с приставкой on — это всегда цвет текста.

Разделители и рамки

Для рамок и разделителей используются переменные которые начинаются с --outline

var(--outline-base)

var(--outline-shallow)

var(--outline-deep)

Transition

Для плавности анимаций используется transition. Для этого созданы фронтовые переменные (не из ui.json);

--vh-transition-duration

--vh-transition-timing-function

--vh-transition-all — плавность перехода для всего

--vh-transition-bg — плавность только для фона

--vh-transition-colors — плавность для перехода цветов (color, background-color, border-color)

warning_icon  Если у элемента при изменении состояния меняются размеры или отступы, то --vh-transition-all может работать некорректно. Рекомендуется использовать конкретные свойства.

Переменные для состояний и модификаторы

Если в ui.json для цвета приходит shadowMode, то для этого цвета будет сгенерирована переменная тени с таким же названием, но с префиксом --shadow , например: var(--surface-one) — цвет карточки, var(--shadow-surface-one) — тень для этой карточки и т.д.

Для каждого цвета генерируется переменная для состояний hover, click, selected с cоответсвующим модификатором. Переменная создается с помощью css-функции color-mix().

color-mix(in oklab, color1, color2 transparency)

color1 — цвет для которого создается цвет состояния

color2 — цвет соответствующего состояния из ui.json в HEX.

Для этого цвета созданы переменные --states-(hover, click, selected)-hex. Эти переменные используется только для создания микса, использовать в коде их не нужно. 

transparency — прозрачность в процентах для состояния из ui.json. Например, если переменная для кнопки var(--base-primary), то состояния будут:

var(--base-primary-hover)

var(--base-primary-click)

var(--base-primary-selected)

В некоторых случаях переменные для состояний не получится использовать. Например: нужен цвет наведения на элемент для кнопки "+" у пункта меню "Сценарии", когда пункт меню сам в состоянии hover. 

branding_web_imp_2

Пункт меню "Сценарии" с кнопкой "+"

В таких случаях для кнопки "+" нужно наложить фон с переменной: var(--states-hover-hex-alpha).

Обратите внимание: в данном примере фон необходимо именно наложить поверх кнопки, а не задать фон самой кнопке — в таком случае получится другой цвет.

branding_web_imp_3

Пример

Отступы и скругления границ блока

В ui.json приходят токены для spacing и radius. Из них генерируются переменные для отступов и скруглений.

branding_web_imp_4

Значения формируются умножением базового значения на значение multiplier. Базовым значением считается space-100 и radius-100 сейчас оно 8px.

branding_web_imp_5