Button

Displays a button.

Component Code
<april:button>Button</april:button>

Button Link

The examples below also work with the button link component, which just uses an a tag under the hood

Component Code
<april:button-link href="https://x.com/yungifez">Button</april:button-link>

Variant examples

The button component comes in multiple variants

Default

Component Code
<april:button>Button</april:button>


Secondary

Component Code
<april:button variant="secondary">Button</april:button>


Destructive

Component Code
<april:button variant="destructive">Button</april:button>


Outline

Component Code
<april:button variant="outline">Button</april:button>


Ghost

Component Code
<april:button variant="ghost">Button</april:button>


Link

Component Code
<april:button variant="link">Button</april:button>

You can also use the none variant and style the button yourself

Size examples

The button component comes in multiple sizes


Default

Component Code
<april:button>Button</april:button>


Icon

Component Code
<april:button size="icon" class="justify-center" variant="outline">
<x-lucide-chevron-right class="size-4" />
</april:button>


Small

Component Code
<april:button size="sm">Button</april:button>


Large

Component Code
<april:button size="lg" variant="outline">
<x-lucide-mail class="mr-2 size-4" />
Login with Email
</april:button>

Overriding styles

A class you pass replaces the class it conflicts with, rather than sitting next to it. size="icon" class="h-7 w-7" gives you a 7 by 7 button, not a fight between two heights.

<april:button size="icon" class="h-7 w-7">...</april:button>

Publishing Views

Use the following commands to publish these views:

php artisan april:publish button
php artisan april:publish button-link
April UI keeps package views in `vendor/` by default. The command uses Laravel's vendor publishing system and copies overrides to `resources/views/vendor/april/components`. To publish all components, run:
php artisan april:publish --all
Review local overrides after an upgrade with `php artisan april:update --diff`.