Skip to main content

Начало работы

Этот документ охватывает установку, конфигурацию и начальную настройку @ui8kit/core в вашем React-приложении. Он предоставляет пошаговые инструкции по интеграции библиотеки в различные типы проектов (Next.js, Vite, Create React App) и демонстрирует базовые паттерны использования компонентов. Для получения подробной информации об архитектуре см. Архитектура. Для полной документации по API компонентов см. Справочник API. Для продвинутых паттернов интеграции, включая настройку монорепозитория, обратитесь к SUBMODULE_GUIDE.md

Предварительные требования

Перед установкой @ui8kit/core убедитесь, что ваша среда разработки соответствует следующим требованиям: Источники: package.json55-58 package.json59-66

Методы установки

Библиотека поддерживает несколько подходов к установке для различных архитектур проектов и требований к оптимизации.

Процесс установки

Источники: README.md21-34 README.md252-276 package.json1-70

Метод 1: Установка полной библиотеки (Рекомендуется)

Установите полную библиотеку со всеми 15 UI-компонентами и 3 шаблонами макетов:
Это устанавливает:
  • Базовые примитивы: Block, Box, Grid, Flex, Stack
  • UI-компоненты: Button, Card, Text, Title, Container, Icon, Image, Badge, Group, Sheet, Accordion
  • Компоненты макетов: DashLayout, LayoutBlock, SplitBlock
  • Систему вариантов CVA и утилиты для тем
Источники: README.md25-27 package.json31-37

Метод 2: Установка отдельных компонентов

Установите отдельные компоненты для оптимального размера бандла:
Этот метод использует src/registry.json для установки только запрошенных компонентов и их зависимостей. Каждый компонент развертывается в свою целевую директорию:
  • UI-компоненты → components/ui/
  • Компоненты макетов → layouts/
Источники: README.md260-265 src/registry.json

Метод 3: Submodule для монорепозитория

Для архитектур монорепозиториев интегрируйте как Git submodule:
Этот подход обеспечивает:
  • Прямой доступ к исходникам для кастомизации
  • Интеграцию с Turbo/workspace
  • Разрешение зависимостей без копирования
Полные инструкции по настройке монорепозитория доступны в SUBMODULE_GUIDE.md1-713 Источники: SUBMODULE_GUIDE.md136-144 SUBMODULE_GUIDE.md594-608

Настройка проекта

После установки настройте ваш проект для включения утилит Tailwind CSS, переменных темы и разрешения путей TypeScript.

Шаги настройки по файлам

Источники: SUBMODULE_GUIDE.md332-437 SUBMODULE_GUIDE.md449-589

Шаг 1: Установка Tailwind CSS

Если Tailwind CSS еще не установлен:
Это генерирует tailwind.config.js и postcss.config.js. Источники: README.md29-34

Шаг 2: Настройка Tailwind

Обновите tailwind.config.js, чтобы включить пути к компонентам библиотеки и активировать темную тему:
Критическая конфигурация:
  • Пути content: Должны включать файлы исходников библиотеки, чтобы предотвратить удаление необходимых классов Tailwind
  • darkMode: 'class': Требуется для функциональности переключения темы
  • Цвета через CSS-переменные: Включают динамическое изменение темы через паттерн hsl(var(--primary))
Источники: SUBMODULE_GUIDE.md332-437

Шаг 3: Настройка CSS-переменных и слоев Tailwind

Создайте или обновите ваш глобальный CSS-файл (обычно src/index.css или app/globals.css):
Формат переменных:
  • Цвета используют формат HSL без обертки hsl(): "187.4739 173.4032% 31.3580%"
  • Применяются в конфигурации Tailwind как: hsl(var(--primary))
  • Этот паттерн позволяет переключать тему во время выполнения
Источники: SUBMODULE_GUIDE.md449-589

Шаг 4: Настройка TypeScript (Опционально)

Если используете TypeScript, добавьте алиасы путей в tsconfig.json:
Источники: SUBMODULE_GUIDE.md187-217

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

После настройки вы можете импортировать и использовать компоненты с системой вариантов CVA.

Паттерн импорта и использования компонентов

Источники: README.md36-60 README.md91-103

Пример 1: Первый компонент

Создайте простую карточку с кнопкой, используя пропсы вариантов:
Ключевые паттерны:
  • Пропсы вариантов: p="lg", rounded="xl", shadow="md" вместо className
  • Составные компоненты: Card.Header, Card.Content, Card.Footer для гибкой композиции
  • Семантические компоненты: Text as="h2" рендерит элемент <h2>
  • Макет Stack: Stack gap="md" для вертикальных отступов
Источники: README.md38-60

Пример 2: Настройка провайдера темы

Оберните ваше приложение в ThemeProvider для поддержки темной темы:
Затем используйте хук useTheme в компонентах:
Доступные темы:
  • modernUITheme - Современная дизайн-система
  • skyOSTheme - Палитра, вдохновленная небом
  • lesseUITheme - Минималистичная эстетика
Источники: README.md219-249 SUBMODULE_GUIDE.md277-304

Пример 3: Композиция макета

Постройте макет страницы с примитивами:
Используемые примитивы:
  • Block: Семантический контейнер (section, nav, main, article)
  • Container: Адаптивная обертка с максимальной шириной
  • Stack: Вертикальный макет с отступами
  • Grid: CSS Grid с управлением колонками
  • Box: Универсальный div с пропсами вариантов
Источники: README.md81-103

Настройка для конкретных фреймворков

Интеграция с Next.js

App Router (Next.js 13+)

1. Установите зависимости:
2. Настройте app/layout.tsx:
Критично: Добавьте suppressHydrationWarning к <html>, чтобы предотвратить предупреждения о несоответствии класса темы во время гидратации. 3. Обновите app/globals.css: Импортируйте слои Tailwind и CSS-переменные, как показано в Шаг 3 4. Настройте tailwind.config.js:
Источники: SUBMODULE_GUIDE.md277-304

Pages Router (Next.js 12 и ранее)

Настройте pages/_app.tsx:
Источники: README.md223-232

Интеграция с Vite

1. Создайте проект Vite React:
2. Установите зависимости:
3. Настройте vite.config.ts:
4. Обновите src/main.tsx:
5. Настройте src/App.tsx:
Источники: SUBMODULE_GUIDE.md154-184 SUBMODULE_GUIDE.md234-258 SUBMODULE_GUIDE.md260-304

Интеграция с Create React App

1. Создайте проект CRA:
2. Установите зависимости:
3. Настройте tailwind.config.js:
4. Обновите src/index.tsx:
5. Настройте src/App.tsx:
Источники: README.md412-421

Проверка

После настройки проверьте вашу установку с помощью этого чек-листа:

Чек-лист проверки

Источники: README.md21-60 README.md412-421

Тестовый компонент

Создайте тестовый компонент для проверки всех функций:
Ожидаемые результаты:
  • Карточка рендерится с отступами, скругленными углами и тенью
  • Кнопка меняет внешний вид при наведении
  • Переключатель темы переключает между светлым/темным режимами
  • Цвета обновляются на основе CSS-переменных
  • Нет ошибок или предупреждений в консоли
Источники: README.md38-60 README.md236-249 SUBMODULE_GUIDE.md277-304

Следующие шаги

После завершения настройки:
  1. Изучите компоненты: Просмотрите раздел UI-компоненты для подробной документации по компонентам
  2. Изучите варианты: Изучите Система вариантов, чтобы понять 12 многократно используемых вариантов
  3. Создавайте макеты: Исследуйте Компоненты макетов для шаблонов дашбордов и страниц
  4. Изучите паттерны: Проверьте Руководство разработчика для распространенных паттернов использования
  5. Реализуйте темную тему: См. Темная тема для продвинутого управления темами
Источники: README.md1-453 .devin/wiki.json24-44