Radix UI

Бесплатно
Открытый исходный код

Сайт: www.radix-ui.com

Radix UI — это набор безстилейных (headless) компонентов и примитивов для создания пользовательских интерфейсов на основе React. Проект предоставляет низкоуровневые строительные блоки, ориентированные на доступность, предсказуемое поведение и совместимость с системами дизайна. Компоненты не навязывают визуальный стиль, что позволяет интегрировать их в различные дизайн‑системы и стилизовать средствами CSS или системами темизации.

Изначально библиотека развивалась как инструмент для разработчиков, стремящихся к созданию повторно используемых интерфейсных примитивов с акцентом на семантику и управление фокусом, поддержание правильной работы с клавиатурой и соответствие рекомендациям по доступности. Radix UI обеспечивает API для композиции компонентов, управление состоянием и взаимодействиями, при этом оставаясь совместимым с современными инструментами сборки и фреймворками вокруг React.

  • Безстильность: компоненты предоставляют поведение и семантику без встроенных визуальных стилей, что упрощает интеграцию в любую визуальную систему.
  • Доступность: встроенная поддержка управления фокусом, ролей ARIA и навигации с клавиатуры для соответствия рекомендациям по доступности.
  • Примитивы управления состоянием: набор контролируемых и неуправляемых примитивов для управления видимостью, позиционированием и взаимодействием компонентов.
  • Композиция: дизайн API ориентирован на композицию небольших примитивов в более сложные виджеты, что облегчает переиспользование и тестирование.
  • Совместимость: ориентирован на работу в экосистеме React и популярных сборщиках, с учётом SSR и современных практик разработки.
  • Документация и примеры: предоставляет примеры использования и рекомендации по интеграции с системами стилей и темами, что упрощает внедрение в проекты.
  • Производительность и надёжность: архитектура стремится к минимизации лишних рендеров и предсказуемому поведению при сложных взаимодействиях.
  • Подход для дизайн‑систем: фокус на предоставлении базовых блоков, необходимых для построения согласованных и расширяемых компонентных библиотек.
Подробнее