VKUI — это библиотека адаптивных React-компонентов
для создания веб-приложений.
Библиотека основана на дизайн-системе VK и реализует её интерфейсы для различных платформ.
Релизы: https://github.com/VKCOM/VKUI/releases.
Гайд по миграции на версию 6.
npm:
npm i @vkontakte/vkuiyarn:
yarn add @vkontakte/vkuipnpm:
pnpm add @vkontakte/vkuiОбратите внимание: мы поддерживаем react и react-dom версии
^18.2.0
import * as React from 'react';
import { createRoot } from 'react-dom/client';
import {
AdaptivityProvider,
ConfigProvider,
AppRoot,
SplitLayout,
SplitCol,
View,
Panel,
PanelHeader,
Header,
Group,
SimpleCell,
usePlatform
} from '@vkontakte/vkui';
import '@vkontakte/vkui/dist/vkui.css';
const Example = () => {
const platform = usePlatform();
return (
<AppRoot>
<SplitLayout header={platform !== 'vkcom' && <PanelHeader delimiter="none" />}>
<SplitCol autoSpaced>
<View activePanel="main">
<Panel id="main">
<PanelHeader>VKUI</PanelHeader>
<Group header={<Header size="s">Items</Header>}>
<SimpleCell>Hello</SimpleCell>
<SimpleCell>World</SimpleCell>
</Group>
</Panel>
</View>
</SplitCol>
</SplitLayout>
</AppRoot>
);
};
const container = document.getElementById('root');
const root = createRoot(container); // createRoot(container!) if you use TypeScript
root.render(
<ConfigProvider>
<AdaptivityProvider>
<Example />
</AdaptivityProvider>
</ConfigProvider>,
);С подробным списком можно оз��акомиться в файле .browserslistrc
Мы работаем над качеством библиотеки и подвозим тесты. yarn test запускает юниты, типы и линтит. Также мы поддерживаем скриншотные тесты (e2e) и проверяем базовую доступность (a11y) компонентов — смотрите наш гайд по тестированию.
В документации вы сможете найти информацию об использовании компонентов и утилит.
Напишите нам issue, если нашли баг или у вас есть предложения по улучшению библиотеки. Если вы хотите задать вопрос или обсудить библ��отеку, воспользуйтесь дискуссиями.
Мы очень радуемся, когда пользователи библиотеки работают над её улучшением. Для того, чтобы оставить след в истории:
- Для начала ознакомьтесь с нашим манифестом 📝
- Затем посмотрите требования к разработке 🔧
- А теперь смело вносите изменения и создавайте pull request ❤️