Skip to content

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.

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>
PropTypeDefaultDescription
childrenReact.ReactNodeButton 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).
disabledbooleanfalsePrevents interaction. Renders aria-disabled and suppresses pointer events.
classNamestringundefinedAdditional CSS classes applied to the root element.
type"button" | "submit" | "reset"undefinedStandard HTML button type attribute.
  • aria-disabled is automatically applied by Base UI
  • Pointer events are suppressed via pointer-events-none
  • Visual styling reflects reduced interactivity via aria-disabled:opacity-25
  • Link — shared variant system and visual language
  • Icon — used within icon-only button variants