Button
A flexible, accessible button component built on Base UI. It supports multiple visual variants such as primary, secondary, outline, and icon. Designed to be consistent, composable, and easy to theme across the application.
Examples
Section titled “Examples”Primary
Section titled “Primary”Secondary
Section titled “Secondary”Outline
Section titled “Outline”Disabled
Section titled “Disabled”import { Button } from "@/registry/rokkit200-ui/components/button/button";import { Icon } from "@/registry/rokkit200-ui/components/icon/icon";
export default function ButtonIconDemo() { return ( <Button variant={"primary"} kind={"icon"}> <Icon iconPath="svg/icons/home_icon" height={20} width={20} /> </Button> );}Below is an example of how to use the Button in your site.
import { Button } from "@/rokkit200-ui/components/button/button";<Button> Lorem Ipsum</Button>API Reference
Section titled “API Reference”| Prop | Type | Default | Description |
|---|---|---|---|
children | React.ReactNode | — | Button content — typically label text and/or icons. |
variant | "primary" | "secondary" | "outline" | "primary" | Visual style variant. Shares token system with Link. |
kind | "default" | "icon" | "default" | Shape/content mode. Use "icon" for icon-only buttons (renders rounded-full). |
disabled | boolean | false | Prevents interaction. Renders aria-disabled and suppresses pointer events. |
className | string | undefined | Additional CSS classes applied to the root element. |
type | "button" | "submit" | "reset" | undefined | Standard HTML button type attribute. |
Disabled State
Section titled “Disabled State”aria-disabledis automatically applied by Base UI- Pointer events are suppressed via
pointer-events-none - Visual styling reflects reduced interactivity via
aria-disabled:opacity-25
Related
Section titled “Related”- Link — shared variant system and visual language
- Icon — used within icon-only button variants