# leva **Repository Path**: mirrors_pmndrs/leva ## Basic Information - **Project Name**: leva - **Description**: 🌋 React-first components GUI - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-02-14 - **Last Updated**: 2026-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![npm (tag)](https://img.shields.io/npm/v/leva?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/leva) [![npm bundle size](https://img.shields.io/bundlephobia/minzip/leva?style=flat&colorA=000000&colorB=000000&label=gzipped)](https://bundlephobia.com/result?p=leva) ![GitHub Workflow Status](https://img.shields.io/github/workflow/status/pmndrs/leva/CI?style=flat&colorA=000000) [![Discord Shield](https://img.shields.io/discord/740090768164651008?style=flat&colorA=000000&colorB=000000&label=&logo=discord&logoColor=ffffff)](https://discord.gg/poimandres)
A GUI you are going to lava.
Customizable, extensible and beautiful by default.

Storybook

by Poimandres

## 🚧🚧 This repo is under heavy development 🚧🚧 ## Features - ⭐️ Beautiful by default - 🎚 More than 12 different kinds of inputs available - 🧐 Smart input type recognition - 🔌 Easy-to-make plugins - ✅ Keyboard accessible - ⚡️ No setup necessary ### Installation ```bash npm i leva ``` ### Quick start Simply call the `useControls` hook from anywhere in your app: ```jsx import { useControls } from 'leva' function MyComponent() { const { name, aNumber } = useControls({ name: 'World', aNumber: 0 }) return (
Hey {name}, hello! {aNumber}
) } ``` NOTE: Using Leva with React 18 will cause a console error about createRoot which you can safely ignore, or fix by following the instructions here: [discussion](https://github.com/pmndrs/leva/issues/358) ### Documentation - [Getting Started](/docs/getting-started/introduction.md) - [Inputs](/docs/getting-started/inputs.md) - [Configuration](/docs/getting-started/configuration.md) - [Styling](/docs/getting-started/styling.md) - [Advanced: Controlled Inputs](/docs/advanced/controlled-inputs.md) - [Advanced: Creating Plugins](/docs/advanced/creating-plugins.md) ## Contributors ✨ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Andrew Prifer

🤔 💻

Aria

🤔

David Bismut

🤔 💻

Dmitry Ivakhnenko

💻

Gianmarco

🤔 💻

Guido Vizoso

💻

Han

🎨

Ivan Rossi

🐛

Laurin Quast

💻 🤔

Marco Fugaro

🤔

Marco Ludovico Perego

🤔

Piotr Monwid-Olechnowicz

📖

clementcassajus

🎨

thephoenixofthevoid

🐛
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!