# Evil Buttons for GPUI > Animated, slightly evil buttons for GPUI (Zed's Rust UI framework), ported from evilbuttons.com. Each button is a `RenderOnce` builder in the `evilbuttons` crate. Every docs preview is the real Rust component compiled to WebAssembly. ## Documentation - [Component docs](https://gpui.evilbuttons.com/docs): Live previews, install, usage and API for every button - Every docs page is also available as Markdown: swap `/docs/` for `/raw/` in its URL - [React version](https://www.evilbuttons.com): the original shadcn/ui registry ## Install ```bash cargo add evilbuttons ``` ## Components - [MinimalButton](https://gpui.evilbuttons.com/docs/minimal-button): A quiet dark button with a hairline ring, inner highlight, soft drop shadow, and a chevron that nudges on hover. - [BrutalButton](https://gpui.evilbuttons.com/docs/brutal-button): A NeoBrutalism style button with sharp shadows and stark borders. - [ShinyButton](https://gpui.evilbuttons.com/docs/shiny-button): A glossy, gradient-styled button with a glint that sweeps across on every click. - [HoldButton](https://gpui.evilbuttons.com/docs/hold-button): A hold-to-confirm button whose fill grows from 0 to 100%; release early to shake and abort. - [CopyButton](https://gpui.evilbuttons.com/docs/copy-button): A copy button that briefly shows the copied text above itself.