Components

Add To Cart

A stateful add-to-cart button that animates idle → adding → added.

php artisan blatui:add add-to-cart
<x-ui.add-to-cart />

Icon Only

{{-- Hide the label with :label="false" and give the button an accessible name. --}}
<x-ui.add-to-cart :label="false" size="icon" aria-label="Add to cart" />

Sizes

<div class="flex flex-wrap items-center gap-3">
    <x-ui.add-to-cart size="sm" />
    <x-ui.add-to-cart />
    <x-ui.add-to-cart size="lg" />
</div>

API Reference

Props, slots and exposed methods for <x-ui.add-to-cart>.

Props

Prop Type Default Description
label string|bool __('Add to cart') The idle button text. Pass false for an icon-only button (combine with an aria-label and size="icon"). The default slot, when filled, overrides this.
addedLabel string __('Added') The text shown briefly in the success state after the item is added.
size string 'default' Button size, mirroring the button component. Use an icon-* size together with :label="false" for a compact icon-only button.
default sm lg icon icon-sm icon-lg
icon string 'shopping-cart' The Lucide icon name shown in the idle state (without the "lucide-" prefix).

Slots

Slot Description
default Optional custom label content for the idle state. When provided, it replaces the label prop text.

Methods

Available on the component's Alpine scope — call them from markup in the slot (e.g. @click="…").

Method Description
add() Triggers the idle to adding transition. The demo simulates a request with a timeout; replace it with your own request and call done() or reset() when it resolves.
done() Switches to the success ("added") state, then auto-resets to idle. Call this when your request succeeds.
reset() Returns the button to the idle state. Call this when your request fails.