Skip to content

pmndrs/leva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

879 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

npm (tag) npm bundle size GitHub Workflow Status Discord Shield


A GUI you are going to lava.
Customizable, extensible and beautiful by default.



๐Ÿšง๐Ÿšง 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

npm i leva

Quick start

Simply call the useControls hook from anywhere in your app:

import { useControls } from 'leva'

function MyComponent() {
  const { name, aNumber } = useControls({ name: 'World', aNumber: 0 })

  return (
    <div>
      Hey {name}, hello! {aNumber}
    </div>
  )
}

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

Documentation

Contributors โœจ

Thanks goes to these wonderful people (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 specification. Contributions of any kind welcome!