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.
Table of contents
- π Documentation
- π Features
- π¦ Installation
- π» Usage
- π CodeSandbox Templates
- π
create-react-app
Templates - π Contributing
- π Support
- π Testimonials
- π Awards and Mentions
- β¨ Contributors
- βοΈ License
Documentation
It's the https://chakra-ui.com website for the latest version of Chakra UI. For older versions head over here
Features
- 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.
Installation
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
# with npm
$ npm i @chakra-ui/react @emotion/react
# with pnpm
$ pnpm add @chakra-ui/react @emotion/react
# with Bun
$ bun add @chakra-ui/react @emotion/react
Usage
To start using the components, please follow these steps:
- Wrap your application with the
ChakraProvider
provided by @chakra-ui/react.
import { ChakraProvider, defaultSystem } from "@chakra-ui/react"
// Do this at the root of your application
function App({ children }) {
return <ChakraProvider value={defaultSystem}>{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
CodeSandbox Templates
- 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
create-react-app
Templates
Check out our guide for
information on how to use our official create-react-app
templates.
Contributing
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 Chakra UI
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
Individuals
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]
Testimonials
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 β²
Awards and Mentions
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.
Contributors
Thanks goes to these wonderful people
(emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
Testing supported by
License
MIT Β© Segun Adebayo