Vela UI Docsvenizia.ai

Button

Displays a button or a component that looks like a button.

pnpm dlx velaui add @velaui/button

Types

  • Primary
  • Secondary
  • Outline
  • Ghost
  • Destructive

View code

Button · Primary

Installation

pnpm dlx velaui add @velaui/button

Code

button-primary.tsx
import { ArrowUpRight } from "@/components/icons/arrow-up-right";
import { Button } from '@/components/ui/button';

export default function Example() {
  return (
    <Button variant="primary">
      <ArrowUpRight data-icon="inline-start" className="size-5" strokeWidth={1.5} />
      Button
      <ArrowUpRight data-icon="inline-end" className="size-5" strokeWidth={1.5} />
    </Button>
  )
}

View code

Button · Secondary

Installation

pnpm dlx velaui add @velaui/button

Code

button-secondary.tsx
import { ArrowUpRight } from "@/components/icons/arrow-up-right";
import { Button } from '@/components/ui/button';

export default function Example() {
  return (
    <Button variant="secondary">
      <ArrowUpRight data-icon="inline-start" className="size-5" strokeWidth={1.5} />
      Button
      <ArrowUpRight data-icon="inline-end" className="size-5" strokeWidth={1.5} />
    </Button>
  )
}

View code

Button · Outline

Installation

pnpm dlx velaui add @velaui/button

Code

button-outline.tsx
import { ArrowUpRight } from "@/components/icons/arrow-up-right";
import { Button } from '@/components/ui/button';

export default function Example() {
  return (
    <Button variant="outline">
      <ArrowUpRight data-icon="inline-start" className="size-5" strokeWidth={1.5} />
      Button
      <ArrowUpRight data-icon="inline-end" className="size-5" strokeWidth={1.5} />
    </Button>
  )
}

View code

Button · Ghost

Installation

pnpm dlx velaui add @velaui/button

Code

button-ghost.tsx
import { ArrowUpRight } from "@/components/icons/arrow-up-right";
import { Button } from '@/components/ui/button';

export default function Example() {
  return (
    <Button variant="ghost">
      <ArrowUpRight data-icon="inline-start" className="size-5" strokeWidth={1.5} />
      Button
      <ArrowUpRight data-icon="inline-end" className="size-5" strokeWidth={1.5} />
    </Button>
  )
}

View code

Button · Destructive

Installation

pnpm dlx velaui add @velaui/button

Code

button-destructive.tsx
import { ArrowUpRight } from "@/components/icons/arrow-up-right";
import { Button } from '@/components/ui/button';

export default function Example() {
  return (
    <Button variant="destructive">
      <ArrowUpRight data-icon="inline-start" className="size-5" strokeWidth={1.5} />
      Button
      <ArrowUpRight data-icon="inline-end" className="size-5" strokeWidth={1.5} />
    </Button>
  )
}

View code

Installation

Code

button-link.tsx

Sizes

States

Usage

import { Button } from "@/components/ui/button"

<Button type="primary">Save changes</Button>
<Button type="outline" size="sm">Cancel</Button>
<Button type="ghost" shape="icon" aria-label="More" />

Props

PropTypeDefault
type"primary" | "secondary" | "outline" | "ghost" | "destructive" | "link""primary"
size"xs" | "sm" | "md" | "lg" | "xl""md"
shape"text" | "icon""text"
leadingIconReactNode—
trailingIconReactNode—
disabledbooleanfalse