Button
Displays a button or a component that looks like a button.
Variants
import { Button } from '@immit/ui/button'
export function ButtonVariants() {
return (
<div className="flex flex-wrap gap-2">
<Button variant="default">Default</Button>
<Button variant="primary">Primary</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="destructive">Destructive</Button>
<Button variant="success">Success</Button>
<Button variant="outline">Outline</Button>
<Button variant="ghost">Ghost</Button>
<Button variant="link">Link</Button>
</div>
)
}Sizes
import { Button } from '@immit/ui/button'
export function ButtonSizes() {
return (
<div className="flex flex-wrap gap-2">
<Button size="sm">Small</Button>
<Button size="default">Default</Button>
<Button size="lg">Large</Button>
</div>
)
}Icon Buttons
import { IconButton } from '@immit/ui/icon-button'
import { FileJson } from 'lucide-react'
export function IconButtons() {
return (
<div className="flex flex-wrap gap-2">
<IconButton size="sm" aria-label="Small">
<FileJson />
</IconButton>
<IconButton size="default" aria-label="Default">
<FileJson />
</IconButton>
<IconButton size="lg" aria-label="Large">
<FileJson />
</IconButton>
</div>
)
}Animating
import { Button } from '@immit/ui/button'
export function ButtonSpinning() {
return (
<div className="space-y-2">
<div className="flex flex-wrap gap-2">
<Button spinning size="sm" variant="default"></Button>
<Button spinning size="sm" variant="primary"></Button>
<Button spinning size="sm" variant="secondary"></Button>
<Button spinning size="sm" variant="destructive"></Button>
<Button spinning size="sm" variant="success"></Button>
<Button spinning size="sm" variant="outline"></Button>
<Button spinning size="sm" variant="ghost"></Button>
<Button spinning size="sm" variant="link"></Button>
</div>
<div className="flex flex-wrap gap-2">
<Button spinning variant="default"></Button>
<Button spinning variant="primary"></Button>
<Button spinning variant="secondary"></Button>
<Button spinning variant="destructive"></Button>
<Button spinning variant="success"></Button>
<Button spinning variant="outline"></Button>
<Button spinning variant="ghost"></Button>
<Button spinning variant="link"></Button>
</div>
<div className="flex flex-wrap gap-2">
<Button spinning size="lg" variant="default"></Button>
<Button spinning size="lg" variant="primary"></Button>
<Button spinning size="lg" variant="secondary"></Button>
<Button spinning size="lg" variant="destructive"></Button>
<Button spinning size="lg" variant="success"></Button>
<Button spinning size="lg" variant="outline"></Button>
<Button spinning size="lg" variant="ghost"></Button>
<Button spinning size="lg" variant="link"></Button>
</div>
</div>
)
}Disabled
import { Button } from '@immit/ui/button'
export function ButtonDisabled() {
return (
<div className="flex flex-wrap gap-2">
<Button disabled variant="default">
Default
</Button>
<Button disabled variant="primary">
Primary
</Button>
<Button disabled variant="secondary">
Secondary
</Button>
<Button disabled variant="destructive">
Destructive
</Button>
<Button disabled variant="success">
Success
</Button>
<Button disabled variant="outline">
Outline
</Button>
<Button disabled variant="ghost">
Ghost
</Button>
<Button disabled variant="link">
Link
</Button>
</div>
)
}