Skip to content

Latest commit

 

History

History
107 lines (70 loc) · 4.99 KB

README-ru.md

File metadata and controls

107 lines (70 loc) · 4.99 KB

UIKit · npm package CI storybook

Набор гибких, универсальных и высокоэффективных React-компонентов для создания сложных веб-приложений.

Cover image

Ресурсы

Установка

npm install --save-dev @gravity-ui/uikit

Использование

import React from 'react';
import {Button} from '@gravity-ui/uikit';

const SubmitButton = <Button view="action" size="l" />;

Стили

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

// index.js

import '@gravity-ui/uikit/styles/fonts.css';
import '@gravity-ui/uikit/styles/styles.css';

// ...

UIKit поддерживает несколько тем: светлая, темная и их контрастные версии. Приложение должно быть отрисовано внутри компонента ThemeProvider:

import {createRoot} from 'react-dom/client';
import {ThemeProvider} from '@gravity-ui/uikit';

const root = createRoot(document.getElementById('root'));
root.render(
  <ThemeProvider theme="light">
    <App />
  </ThemeProvider>,
);

Для предотвращения мигания темы можно сгенерировать исходные CSS-классы для корневого элемента во время серверного рендеринга.

import {getRootClassName} from '@gravity-ui/uikit/server';

const theme = 'dark';
const rootClassName = getRootClassName({theme});

const html = `
<html>
  <body>
    <div id="root" class="${rootClassName}"></div>
  </body>
</html>
`;

Также предусмотрен файл с SCSS-миксинами, которые можно использовать в приложении.

I18N

Некоторые компоненты содержат текстовые токены (слова и фразы), доступные на двух языках: en (по умолчанию) и ru. Для настройки языка используйте функцию configure:

// index.js

import {configure} from '@gravity-ui/uikit';

configure({
  lang: 'ru',
});

Разработка

Для запуска Storybook в режиме разработки выполните следующую команду:

npm start