Chakra UI is a comprehensive library of accessible, reusable, and composable React components that streamlines the development of modern web applications and websites. The library offers a diverse range of components that can be easily combined to build complex user interfaces while adhering to accessibility best practices.
- 📋 Documentation
- 🚀 Features
- 📦 Installation
- 💻 Usage
- 📚 CodeSandbox Templates
- 📖
create-react-app
Templates - 📝 Contributing
- 💖 Support
- 🙌 Testimonials
- 🏆 Awards and Mentions
- ✨ Contributors
- ⚖️ License
It's the https://chakra-ui.com website for the latest version of Chakra UI. For older versions head over here
- Ease of Styling: Chakra UI contains a set of layout components like
Box
andStack
that make it easy to style your components by passing props. Learn more - Flexible & composable: Chakra UI components are built on top of a React UI Primitive for endless composability.
- Accessible. Chakra UI components follow the WAI-ARIA guidelines specifications
and have the right
aria-*
attributes. - Dark Mode 😍: Most components in Chakra UI are dark mode compatible.
To use Chakra UI components, all you need to do is install the
@chakra-ui/react
package and its peer dependencies:
# with Yarn
$ yarn add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^6
# with npm
$ npm i @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^6
# with pnpm
$ pnpm add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^6
# with Bun
$ bun add @chakra-ui/react @emotion/react@^11 @emotion/styled@^11 framer-motion@^6
To start using the components, please follow these steps:
- Wrap your application with the
ChakraProvider
provided by @chakra-ui/react.
import { ChakraProvider } from "@chakra-ui/react"
// Do this at the root of your application
function App({ children }) {
return <ChakraProvider>{children}</ChakraProvider>
}
Optionally, you can wrap your application with the ColorModeProvider
so you
can toggle between light and dark mode within your app.
- Now you can start using components like so!:
import { Button } from "@chakra-ui/react"
function Example() {
return <Button>I just consumed some ⚡️Chakra!</Button>
}
More guides on how to get started are available here
- JavaScript Starter: https://codesandbox.io/s/chakra-ui-javascript-lzzg9
- TypeScript Starter: https://codesandbox.io/s/chakra-ui-typescript-pomi8
- NextJS TypeScript Starter: https://codesandbox.io/s/chakra-ui-next-js-typescript-kxvyr
Check out our guide for
information on how to use our official create-react-app
templates.
Feel like contributing? That's awesome! We have a contributing guide to help guide you.
Our docsite lives in a separate repo. If you're interested in contributing to the documentation, check out the docsite contribution guide.
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
By donating $5 or more you can support the ongoing development of this project. We'll appreciate some support. Thank you to all our supporters! 🙏 [Contribute]
People throw React component libraries and design systems at me regularly. This might be the best one I've seen. The APIs are simple but composable and the accessibility on the couple components I looked is complete.
Great work @thesegunadebayo, really inspiring work. – Ryan Florence
Awesome new open-source component library from @thesegunadebayo. Really impressive stuff! – Colm Tuite
This is incredible work. Amazing job Segun! – Lee Robinson
Chakra UI is glorious! I love the consistent use of focus styling and the subtle animation – Guillermo ▲
We've been extremely humbled to receive awards and mentions from the community for all the innovation and reach Chakra UI brings to the JavaScript ecosystem.
Technology Radar (2020–2021) |
|
Open Source Awards (2020) |
Thanks goes to these wonderful people
(emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
MIT © Segun Adebayo