Luke UI
ComponentsPrimitives

Button primitive

Lower-level button primitive for custom button composition.

Use the button primitive when you need Luke UI button styling without the composed Button children wrapper, icon props, or pending-label behaviour.

import { Button } from '@luke-ui/react/button/primitive';

<Button appearance="solid" tone="accent">
	Save
</Button>;

When to use

Use @luke-ui/react/button/primitive when you need full control over children layout, render-prop children, custom loading states, or non-standard button content.

Use Button for most app actions.

Behaviour

The primitive renders a single <button> element by default. It applies Luke UI size, tone, appearance, and block styles, then renders children directly.

isPending keeps the button focusable while preventing another press and applies the disabled visual treatment. It does not add a spinner or hide the label. Build that cue in children when you use the primitive.

Props

Prop

Type