Introduction
corvu is a collection of open source UI primitives for SolidJS that are unstyled, accessible and aim to be highly customizable while providing a delightful developer experience.
FeaturesSection titled Features
UnstyledSection titled Unstyled
Primitives do not provide any styling, allowing you to bring your own and style them according to your preferences or style guidelines. You can use Tailwind CSS, any CSS-in-JS library or plain old CSS to style it. We provide plugins for TailwindCSS and UnoCSS that make it easy to style components based on their current state. Read more in Styling.
UnopinionatedSection titled Unopinionated
corvu allows you to customize almost every aspect of all primitives while providing great defaults. There is an API section for every primitive describing all the available props and their default values. Read more in State.
corvu also provides a set of utilities like createFocusTrap, createPreventScroll and createPresence that can be used to build your own accessible primitives.
AccessibleSection titled Accessible
All primitives have been developed with accessibility in mind. They strictly adhere to the WAI-ARIA guidelines and take care of all the complex stuff like aria attributes, focus management and keyboard interactions. The documentation describes the accessibility features implemented for each primitive and how to change them according to your needs.
SSRSection titled SSR
corvu provides a solid export for SSR and works out of the box with SolidStart.
CommunitySection titled Community
If you have any questions, feature requests or just want to write a kind message, feel free to join the SolidJS Discord server and head to our #corvu channel. We are always happy to help and love to hear from you. Alternatively, you can leave your feedback in the discussions tab on the GitHub repository.
Inspiration & CreditsSection titled Inspiration & Credits
While developing corvu, we were inspired by many other open source projects and authors and we thank them for their work.
Some of the projects that have inspired corvu, in no particular order:
- Melt UI - melt-ui.com/
- Kobalte - kobalte.dev/
- Radix - radix-ui.com/
Additional thanksSection titled Additional thanks
- Fabio Spampinato for helping me understand the nitty-gritty parts of SolidJS
- Solid Primitives for awesome, high-quality reactivity primitives which make working with SolidJS a breeze
- Ryan Carniato for his highly educational Friday streams
Developed and designed by Jasmin