Buttons

Icon button

Use a familiar icon and always provide an accessible name.

Playground

Configure the component and copy synchronized Vue code.

Interactive preview

Changes are reflected in the example and source.

Properties

Variant

Color

Icon

Disabled

Vue

<m-button-icon aria-label="Add item">
  <m-icon name="ic:round-add" />
</m-button-icon>

Token map

The manual manifest combines inherited token owners with local deltas.

MButtonIcon · All51 tokens
md-icon-button

MButtonIcon API

Props, slots, and events are generated from the current public kit contract.

MButtonIcon

Button family
src/runtime/components/ui/button/icon

Props

NameTypeDefault
colorSemantic Material color role used by the component scheme.
'primary' | 'secondary' | 'tertiary' | 'error''primary'
variantMaterial surface treatment that controls the component emphasis.
'elevated' | 'filled' | 'tonal' | 'outlined' | 'text''text'
disabledPrevents interaction and applies the disabled visual state.
booleanfalse
loadingReplaces content with progress feedback and prevents interaction.
booleanfalse
tagRoot behavior: native button or Nuxt link.
'button' | 'link''button'
typeNative button type when `tag` is `button`.
'button' | 'submit' | 'reset''button'
toNuxt route destination when `tag` is `link`.
NuxtLinkProps['to']undefined
ariaLabelAccessible name required by the icon-only button.
stringundefined

Slots

Events

MButtonIcon does not emit component-specific events. Native events fall through to its root element.