TGViewer
Angular Meetup Angular Meetup @angular_meetup · 138 subscribers
Post #120 157
#blog
Headless UI для Angular: Radix NG Primitives

Появилась Radix NG — headless, signals-first библиотека UI-примитивов для Angular. Она не поставляет готовые стилизованные компоненты, а дает слой поведения, доступности и композиции, поверх которого можно строить собственный интерфейс.
Проект начинался как Angular-порт Radix UI, а сейчас в основном адаптирует архитектуру и поведение Base UI под Angular: через директивы, signals и dependency injection.

Что внутри:

- Headless-подход: без встроенных стилей, с полным контролем над разметкой и CSS.
- Состояния через data-* атрибуты и CSS custom properties — удобно для любой системы стилизации.
- Accessibility по WAI-ARIA practices: роли, aria-* атрибуты, управление фокусом и клавиатурная навигация.
- Signals-first API: input(), model(), computed(), signal(), effect().
- Композиция через Angular Directive Composition API, hostDirectives и общие building blocks вроде Popper, Dismissable Layer и Focus Scope.
- Uncontrolled by default: внутреннее поведение работает из коробки, controlled value можно передать только там, где это действительно нужно.
- Tree-shakeable entry points: можно импортировать только нужные примитивы.
- AI-ready: installable Skills помогают coding assistants учитывать API примитивов, примеры и контракт стилизации через data-* атрибуты.

Пример:
<button rdxSwitchRoot class="switch" [(checked)]="enabled"> <span rdxSwitchThumb class="thumb"></span> </button>

.switch[data-checked] {
background: var(--primary);
}

Radix NG можно использовать как основу для дизайн-системы или подключать постепенно в существующем Angular-приложении, когда нужно сохранить контроль над UI, но не реализовывать с нуля поведение и accessibility.

https://radix-ng.com
  • 👍 4
  • ❤ 2
More from @angular_meetup
  1. Sep 22, 2026#blog Сегодня посмотрим статью об адаптивных iframe в Chrome 154: ▪Новая возможность: Chro…
  2. Sep 14, 2026#blog Знаю, что сама тема не нова, но это не делает её неактуальной. Сегодня посмотрим ста…
  3. Aug 21, 2026#blog Вышел релиз Chrome 153 beta. Что в нем можно найти: -Особенность релиза: Chrome 153…
  4. Aug 11, 2026#blog Сегодня - статья о том, как стандарт Baseline помогает уменьшить размер JavaScript-б…
  5. Aug 3, 2026#blog Сегодня посмотрим на новый HTML элемент <usermedia>: - Новый элемент: Доступен в Chr…
  6. Jul 14, 2026#blog В июне был опубликован RFC с методом QUERY в HTTP (и почти одновременно он был добав…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →