# Headless компоненты, универсальный доступ, Radix UI ## Headless компоненты ### Теория Headless компоненты - это компоненты, которые не имеют своего визуального представления, но предоставляют нам API для управления внутренним состоянием компонента, а также поддерживают универсальный доступ из коробки (взаимодействие с помощью клавиатуры, поддержка screen reader'ов и т.д.). Такие компоненты удобно использовать когда у нас есть готовый дизайн и мы не хотим писать всю логику с нуля. #### Популярные библиотеки headless компонентов - [Radix UI](https://www.radix-ui.com/primitives) - [Headless UI](https://headlessui.dev/) - [React Aria](https://react-spectrum.adobe.com/react-aria/index.html) - [Base UI от MUI (beta)](https://mui.com/base-ui/getting-started/overview/) Мы будем использовать Radix UI Primitives (не Themes!), потому что она предоставляет все нужные нам компоненты и с ней просто взаимодействовать. ### Материалы для изучения: #### Видео на тему ui библиотек - [So You Think You Can Build A Dropdown? - Pedro Duarte](https://youtu.be/pcMYcjtWwVI) - [Сравнение MUI, Tailwind, Bootstrap](https://youtu.be/CQuTF-bkOgc) - [Radix overview](https://www.youtube.com/watch?v=EUrbuROiuaA) - [Shadcn UI - библиотека компонентов на основе Radix UI и TailwindCss](https://www.youtube.com/watch?v=7MKEOfSP2s4) #### Откуда начать? ##### Библиотека компонентов it-incubator: Построена на базе Radix UI и Headless UI, для стилизации используется SASS. - [Github](https://github.com/it-incubator/incubator-libs/tree/dev/packages/ui-kit/src/components) - [Storybook](https://ui-kit.it-incubator.io/?path=/docs/getting-started-installation--docs) Многие вопросы отпадут если просто посмотреть код. ##### Shadcn UI Компоненты которые можно копировать и вставлять в свой проект. Конечно же есть нюансы, но в целом это хороший способ понять как работает Radix UI. - [Github](https://github.com/shadcn/ui) - [Docs](https://ui.shadcn.com/)