Luke UI
GitHub repository

Icon Button

A compact icon-only control for an action.

IconButton triggers a familiar compact action, such as closing a panel, deleting a row, or adding an item. Give every icon button an accessible name because it has no visible label.

Icon Button: Basic
Loading Icon Button: Basic example

Size

medium is the default. Use small for compact toolbars and dense row actions. Keep controls in a group at the same size.

Icon Button: Size
Loading Icon Button: Size example

Tone

neutral is the default tone for ordinary actions. Set tone="critical" for destructive actions.

Icon Button: Tone
Loading Icon Button: Tone example

Prominence

standard is the default. Choose low for quiet secondary actions and high for the primary action in a group. For ordinary actions, high prominence uses the theme’s primary accent treatment.

Icon Button: Prominence
Loading Icon Button: Prominence example

Presentation reference

Icon Button: Presentation reference
Loading Icon Button: Presentation reference example

Custom icons

Pass a decorative, non-interactive ReactElement to icon for a graphic outside the generated icon set, such as a brand mark. IconButton sizes the graphic to match its built-in icons.

Icon Button: Custom icon
Loading Icon Button: Custom icon example

Pending and Actions

IconButton uses the same pending and Action behaviour as Button. See Button’s Pending and Actions guidance.

Icon Button: Pending
Loading Icon Button: Pending example

Disabled

Set isDisabled when the action is unavailable. Disabled controls cannot receive focus or respond to presses.

Icon Button: Disabled
Loading Icon Button: Disabled example

Accessibility

Provide aria-label or aria-labelledby for every icon button. Name the action, not the icon. The icon itself, whether a built-in Icon or a custom graphic, contributes no accessible name, so the naming prop is required. Use a labelled Button when the icon is unfamiliar or visible text would make the action clearer.

API

IconButtonProps also accepts compatible DOM and ARIA attributes and event handlers for its rendered element.

Prop

Type