Цветовая палитра

Цветовая палитра – одна из основных частей восприятия платформы Salute.

Цвета

Цвета в Plasma Tokens представляют собой CSS custom properties c заданным цветом по умолчанию. Это позволяет переопределять цвета с помощью Тем.

Цвета можно получить из корня пакета:

import { accent } from '@salutejs/plasma-tokens';

Также доступны сами значения пременных:

import { colorValues } from '@salutejs/plasma-tokens';

console.log(colorValues.black); // –> '#080808'

Пример использования цветов для создания основной подложки веб-приложения:

App.tsx
import React from 'react';
// createGlobalStyle нужен для создания глобальных стилей
import { createGlobalStyle } from 'styled-components';
// получаем цвета для нашего интерфейса
import { text, background, gradient } from '@salutejs/plasma-tokens';
/**
* text - основной цвет текста
* background - основной цвет фона
* gradient - градиентная заливка фона
*/

const DocStyles = createGlobalStyle`
html {
color: ${text};
background-color: ${background};
background-image: ${gradient};

/** необходимо залить градиентом всю подложку */
min-height: 100vh;
}
`;

export default function App() {
return (
<div>
{/* Используем глобальные react-компоненты один раз */}
<DocStyles />
</div>
);
}

Темы

Каждая тема соотносится с персонажем ассистента и меняет цветовую гамму веб-приложения.

В пакете предоставлены 6 тем:

  • darkSber
  • darkEva
  • darkJoy
  • lightSber
  • lightEva
  • lightJoy

Подключение:

App.tsx
import React from 'react';
// createGlobalStyle нужен для создания глобальных стилей
import { createGlobalStyle } from 'styled-components';
// получаем тему персонажа
import { darkJoy } from '@salutejs/plasma-tokens/themes';
// получаем цвета для нашего интерфейса
import { text, background, gradient } from '@salutejs/plasma-tokens';

const DocStyles = createGlobalStyle`
html {
color: ${text};
background-color: ${background};
background-image: ${gradient};

/** необходимо залить градиентом всю подложку */
min-height: 100vh;
}
`;

// создаем react-компонент для персонажа
const Theme = createGlobalStyle(darkJoy);

export default function App() {
return (
<>
{/* Используем глобальные react-компоненты один раз */}
<DocStyles />
<Theme />
</>
);
}