Button
neobrutalism-components/buttonFreeComponent
Neobrutalism Components publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by Neobrutalism Components on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://www.neobrutalism.dev/r/button.jsonSource
1import { Slot } from "@radix-ui/react-slot"2import { cva, type VariantProps } from "class-variance-authority"34import * as React from "react"56import { cn } from "@/lib/utils"78const buttonVariants = cva(9 "inline-flex items-center justify-center whitespace-nowrap rounded-base text-sm font-base ring-offset-white transition-all gap-2 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-black focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",10 {11 variants: {12 variant: {13 default:14 "text-main-foreground bg-main border-2 border-border shadow-shadow hover:translate-x-boxShadowX hover:translate-y-boxShadowY hover:shadow-none",15 noShadow: "text-main-foreground bg-main border-2 border-border",16 neutral:17 "bg-secondary-background text-foreground border-2 border-border shadow-shadow hover:translate-x-boxShadowX hover:translate-y-boxShadowY hover:shadow-none",18 reverse:19 "text-main-foreground bg-main border-2 border-border hover:translate-x-reverseBoxShadowX hover:translate-y-reverseBoxShadowY hover:shadow-shadow",20 },21 size: {22 default: "h-10 px-4 py-2",23 sm: "h-9 px-3",24 lg: "h-11 px-8",25 icon: "size-10",26 },27 },28 defaultVariants: {29 variant: "default",30 size: "default",31 },32 },33)3435function Button({36 className,37 variant,38 size,39 asChild = false,40 ...props41}: React.ComponentProps<"button"> &42 VariantProps<typeof buttonVariants> & {43 asChild?: boolean44 }) {45 const Comp = asChild ? Slot : "button"4647 return (48 <Comp49 data-slot="button"50 className={cn(buttonVariants({ variant, size, className }))}51 {...props}52 />53 )54}5556export { Button, buttonVariants }
What it pulls in
npm packages
Files it writes
More from Neobrutalism Components
All 92 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | Neobrutalism Components | Components | Free | 1 dep | |
| Alertalert | Neobrutalism Components | Components | Free | no deps | |
| Alert dialogalert-dialog | Neobrutalism Components | Components | Free | 1 dep | |
| Avataravatar | Neobrutalism Components | Components | Free | 1 dep | |
| Badgebadge | Neobrutalism Components | Components | Free | no deps | |
| Breadcrumbbreadcrumb | Neobrutalism Components | Components | Free | 1 dep | |
| Calendarcalendar | Neobrutalism Components | Components | Free | 2 deps | |
| Cardcard | Neobrutalism Components | Components | Free | no deps |
