Skip to content

BaseButton

Button component with variants, sizes, and loading state.

Variants

<template>
  <div style="display:flex;gap:8px;flex-wrap:wrap">
    <BaseButton variant="primary">Primary</BaseButton>
    <BaseButton variant="secondary">Secondary</BaseButton>
    <BaseButton variant="danger">Danger</BaseButton>
    <BaseButton variant="ghost">Ghost</BaseButton>
  </div>
</template>

Sizes

<template>
  <div style="display:flex;gap:8px;align-items:center;flex-wrap:wrap">
    <BaseButton size="sm">Small</BaseButton>
    <BaseButton size="md">Medium</BaseButton>
    <BaseButton size="lg">Large</BaseButton>
  </div>
</template>

States

<template>
  <div style="display:flex;gap:8px;flex-wrap:wrap">
    <BaseButton :loading="true">Loading</BaseButton>
    <BaseButton :disabled="true">Disabled</BaseButton>
  </div>
</template>

Props

PropTypeDefaultDescription
variantprimary | secondary | danger | ghostprimaryVisual style
sizesm | md | lgmdButton size
typebutton | submit | resetbuttonHTML button type
disabledbooleanfalseDisables the button
loadingbooleanfalseShows spinner, disables button
blockbooleanfalseFull-width button

Events

EventPayloadDescription
clickMouseEventEmitted on click (not when disabled or loading)

Slots

SlotDescription
defaultButton label content