WRNexus UI
Base component

Button

Theme-aware, responsive button component.

25 props1 slots0 eventsTheme readyResponsive
Interactive playground

Configure Button

Change any prop and inspect the server-rendered component immediately.

Live preview
Component code
<Button
  label="Save & Submit"
  as="button"
  type="submit"
/>
Component props25 controls
Live examples

Designed for real product surfaces

Compare configurations and resize the browser to check responsive behavior.

Default

Primary action

The standard high-emphasis action for forms and product workflows.

01
Live preview
Component usage.wrn
<Button
  label="Save & Submit"
  as="button"
  type="submit"
/>
Outline · Small

Secondary navigation

A compact link button with an end icon and restrained emphasis.

02
Live preview
Component usage.wrn
<Button
  label="Learn more"
  as="a"
  href="#button-demo"
  variant="outline"
  size="sm"
  icon="icon-[lucide--arrow-right]"
  iconPosition="end"
/>
Secondary · Large · Pill

Prominent rounded action

A large secondary action using the optional pill shape.

03
Live preview
Component usage.wrn
<Button
  label="Upgrade plan"
  as="button"
  variant="secondary"
  size="lg"
  pill="true"
/>
Ghost · Icon

Accessible icon action

An icon-only control with its accessible name supplied through props.

04
Live preview
Component usage.wrn
<Button
  label="Open settings"
  as="button"
  variant="ghost"
  size="icon"
  icon="icon-[lucide--settings]"
  ariaLabel="Open settings"
/>
Destructive

Dangerous action

A destructive treatment for irreversible or high-risk operations.

05
Live preview
Component usage.wrn
<Button
  label="Delete project"
  as="button"
  variant="destructive"
  icon="icon-[lucide--trash-2]"
/>
Link

Inline action

A low-chrome action that behaves and reads like an inline link.

06
Component usage.wrn
<Button
  label="Read documentation"
  as="a"
  href="#button-demo"
  variant="link"
/>
Loading

Pending action

The button owns its busy state, loading label, spinner, and disabled behavior.

07
Live preview
Component usage.wrn
<Button
  label="Publish"
  loadingLabel="Publishing…"
  as="button"
  loading="true"
/>
Disabled

Unavailable action

A visibly and semantically disabled control.

08
Live preview
Component usage.wrn
<Button
  label="Unavailable action"
  as="button"
  variant="outline"
  disabled="true"
/>
Component API

Props and configuration

All content and behavior shown above is supplied through these props and slots.

PropTypeDefaultRequired
labelstring"Button"No
loadingLabelstring"Loading…"No
descriptionstring""No
asstring""No
hrefstring""No
targetstring""No
relstring""No
typestring"button"No
variantstring"default"No
colorstring"primary"No
sizestring"default"No
disabledbooleanfalseNo
loadingbooleanfalseNo
pillbooleanfalseNo
fullWidthbooleanfalseNo
iconstring""No
iconPositionstring"start"No
ariaLabelstring""No
ariaPressedstring""No
ariaExpandedstring""No
ariaControlsstring""No
titlestring""No
autofocusbooleanfalseNo
controlClassstring""No
classstring""No