Skip to main content

Справочник API

Этот документ предоставляет исчерпывающий справочник по всем экспортируемым API из библиотеки @ui8kit/core. Он охватывает экспорт компонентов, свойства вариантов, интерфейсы TypeScript и соглашения об именовании, используемые во всей кодовой базе. Для архитектурного контекста и взаимосвязей компонентов см. Архитектура. Для подробной документации API отдельных компонентов см. подразделы: Базовые компоненты, UI-компоненты и Компоненты макетов. Для паттернов использования и примеров см. Руководство разработчика.

Структура экспорта

Библиотека следует плоской структуре экспорта из src/index.ts Все компоненты, варианты, хуки и утилиты реэкспортируются из этой единственной точки входа для упрощения импортов.
Источники: src/index.ts README.md362-386 .devin/wiki.json136-139

Каталог экспортируемых компонентов

Следующая таблица документирует все экспорты компонентов с их исходными расположениями и интерфейсами TypeScript: Источники: src/index.ts README.md362-386 src/registry.json2-244

API системы вариантов

Система вариантов предоставляет 12 компонуемых категорий свойств, которые применяются ко всем компонентам через движок CVA (class-variance-authority). Каждая категория вариантов сопоставляется с конкретными типами TypeScript и утилитарными классами Tailwind CSS.

Типы свойств вариантов

Источники: src/core/variants/ README.md170-217 .devin/wiki.json19-22

Справочная таблица свойств вариантов

Источники: src/core/variants/ README.md174-217 .devin/wiki.json19-22

Паттерн пробрасывания свойств

Компоненты в библиотеке реализуют последовательный паттерн пробрасывания свойств, где составные компоненты расширяют базовые примитивы дополнительными свойствами вариантов. Это создает типобезопасную цепочку наследования.
Источники: src/components/ui/Button.tsx src/core/ui/Box.tsx .devin/wiki.json11-14 README.md14-17

Примеры пробрасывания свойств

Следующие примеры демонстрируют, как свойства вариантов пробрасываются от составных компонентов к их базовым примитивам: Button расширяет Box:
Card расширяет Block:
Text расширяет Box:
Источники: src/components/ui/Button.tsx src/components/ui/Card.tsx src/components/ui/Text.tsx README.md38-60

Система типов TypeScript

Библиотека предоставляет всестороннюю поддержку TypeScript с точными определениями типов для всех компонентов, вариантов и утилит.

Иерархия базовых типов

Источники: src/core/ui/Box.tsx src/core/ui/Block.tsx src/components/ui/Button.tsx src/components/ui/Card.tsx src/layouts/

Общие паттерны типов

Источники: src/core/ui/ src/components/ui/ .devin/wiki.json11-14

Общие свойства компонентов

Все компоненты в библиотеке разделяют последовательный набор базовых свойств, унаследованных от HTML-атрибутов React и системы вариантов.

Стандартные React-свойства

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

Источники: src/core/ui/Block.tsx src/components/ui/Text.tsx src/components/ui/Title.tsx .devin/wiki.json11-14

API системы тем

Система тем предоставляет поддержку темной темы, настройки доступности и сохранение темы через React Context.

Провайдер темы

Источники: src/themes/providers/ThemeProvider.tsx1-109 src/themes/modern-ui.ts README.md219-249

API вспомогательных хуков

Библиотека экспортирует утилиты адаптивного дизайна для определения области просмотра и медиа-запросов. Пример использования:
Источники: src/lib/hooks/ README.md341-359

Специфичные для компонентов варианты

Некоторые компоненты определяют дополнительные варианты помимо основной системы вариантов для специализированной стилизации.

Варианты кнопок

Источники: src/components/ui/Button.tsx README.md284-303

Варианты карточек

Источники: src/components/ui/Card.tsx README.md125-144

Атрибуты данных

Все компоненты отрисовываются с атрибутами data-class для последовательного таргетирования DOM и стилизации. Пример использования:
Источники: src/core/ui/ src/components/ui/ .devin/wiki.json11-14

Подробная документация API

Для полной документации API отдельных компонентов со всеми свойствами, методами и примерами использования см.: Источники: .devin/wiki.json135-168 src/index.ts README.md1-453