Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pmndrs/leva

🌋 React-first components GUI
https://github.com/pmndrs/leva

gui react

Last synced: about 1 month ago
JSON representation

🌋 React-first components GUI

Awesome Lists containing this project

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.md)
- [Inputs](/docs/inputs.md)
- [Configuration](/docs/configuration.md)
- [Styling](/docs/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!