Button

FREE

Varyantlar, boyutlar, baş/son ikon, yükleniyor durumu ve ButtonGroup içeren buton. asChild destekler.

Canlı düzenle

Ayarları değiştir; bileşen ve kodu anında güncellensin.

Ayarlar
Kod
import { Rocket } from "lucide-react";
import { Button } from "@/components/ui/button";

<Button
  startIcon={<Rocket />}
>
  Deploy
</Button>

Kurulum

Terminal
npx @bloxa/cli add button
# or: npx shadcn@latest add @bloxa/button

Ayrıca kurulur: hold-button

Terminal
npx shadcn@latest add @bloxa/hold-button

Otomatik kurulan paketler: radix-ui, class-variance-authority

Örnekler

Varyantlar

Beş görsel stil; ana eylem için primary kullan.

Boyutlar

İkonlar

startIcon / endIcon ya da yalnız ikon. Yalnız ikonlu butonlara aria-label ver.

Yükleniyor

Genişlik sabit kalır, buton tıklanamaz olur. Denemek için ilk butona bas.

Buton grubu

Alt menülü buton

Ana eylem + açılır menü; menüde alt menü de olabilir.

Basılı tut

Riskli işlemler için. Erken bırakınca iptal olur.

Press and hold for 1.2 seconds.

asChild ile buton stilini bir <a> etiketine uygula.

API

Her bileşen, oluşturduğu HTML elemanının özelliklerini de kabul eder.

Button

ÖzellikTipVarsayılanAçıklama
variant"primary" | "secondary" | "outline" | "ghost" | "destructive""primary"Görsel stil.
size"sm" | "md" | "lg" | "icon" | "icon-sm""md"Boyut; icon boyutları kare butonlar içindir.
startIconReactNode—Etiketten önce gösterilen ikon.
endIconReactNode—Etiketten sonra gösterilen ikon.
loadingbooleanfalseSpinner gösterir, genişliği korur ve butonu devre dışı bırakır.
asChildbooleanfalseStili alt elemana (ör. <a>) uygular.

ButtonGroup

Butonları tek bir segment hâline getirir.

HoldButton

@bloxa/hold-button ile ayrıca kurulur.

ÖzellikTipVarsayılanAçıklama
onConfirm() => void—Basılı tutma tamamlanınca çalışır.
durationnumber1200Basılı tutma süresi (ms).
variantButtonProps["variant"]"destructive"Buton stili.
sizeButtonProps["size"]"md"Buton boyutu.