Faceless UI is an unstyled React and TypeScript library. Use it to focus on the aesthetics of your user interface instead of the implementation details. Faceless UI APIs are extremely powerful and heavily documented so you can deliver beautiful products that just work.
Faceless UI is component-first and straightforward. If you know React you know Faceless UI — and since each package is independently versioned, you can integrate as little or as much into your existing app or website as you need.
Faceless UI is also compatible with server-side rendering and static-site generation, and works especially well with NextJS.
Faceless UI components rely on Web APIs as much as possible. This reduces dependencies while increasing compatibility and performance. Properties and methods often mirror these APIs exactly and are fully extensible.
Faceless UI components have no appearance and apply as little CSS as possible to achieve core functionality. Every component exposes its DOM entirely, letting you control the markup to meet your exact needs. To customize the appearance of Faceless UI components, use your existing CSS setup by passing class names or style objects through props as you normally would. This makes it possible to tie into any CSS framework, such as CSS Modules.
All Faceless UI components meet exact WAI-ARIA specifications — and since every component exposes its DOM, you can easily add your own accessibility features as necessary. See each individual API for full details:
All of Faceless UI is built with TypeScript. All types are exported for you to consume or extend as needed. See each individual API for full details.