



Gorgeous Laravel Blade UI Components
made for Livewire 3 and styled around daisyUI + Tailwind
made for Livewire 3 and styled around daisyUI + Tailwind
Amazing components.
Delightful demos.
Lists
@php $users = App\Models\User::take(3)->get();@endphp @foreach($users as $user) <x-list-item :item="$user" sub-value="username" link="/docs/installation"> <x-slot:actions> <x-button icon="o-trash" wire:click="delete({{ $user->id }})" spinner /> </x-slot:actions> </x-list-item>@endforeach
Multi selection
Users - server side
No results found.
Ahmad
Alfonzo
Aliyah
Amelie
Search happens on server side
@php $users = $this->users; @endphp <x-choices label="Users - server side" wire:model="selected_users" :options="$users" icon="s-bolt" hint="Search happens on server side" searchable />
No results found.
Hilperttown
Mayershire
Feiltown
McKenzieland
Morissettefurt
Port Westonchester
Jettview
East Selmerhaven
Port Gerrystad
Schmelerchester
Kilbackshire
South Ansel
Port Deborahview
North Raymond
Morganview
Gutkowskiview
Lake Shaunberg
Port Janelle
Dickensmouth
Kertzmannhaven
West Rosanna
Strosinburgh
Cummeratahaven
Thielmouth
Wittingmouth
East Bernicebury
Ebertfurt
Dustinberg
South Garret
Randallmouth
Erdmanbury
South Katelynnshire
Robertsfort
Hendersonland
Lake Geovanyland
New Levi
Vladimirport
South Serenity
Uriahshire
New Jameyfurt
West Mohamedton
West Libbie
Millerborough
Beatricemouth
South Joan
West Emilio
Steveland
Brookechester
South Donnell
West Jalen
Nelsonside
Martaland
New Buck
South Sallieland
Goodwinshire
New Kaleigh
West Jaydonmouth
Lake Agustinaport
Lake Carson
Berryton
Marjolaineton
Kirlinshire
West Elsietown
Lake Jailynview
Aratown
Shaniabury
Lake Filomena
Vicentehaven
Monahanside
East Mario
West Willisstad
New Kaela
East Ena
Beerton
Durganchester
West Rosannaton
Clevelandfort
Grimesview
Zorahaven
Port Allenton
Lake Jordyn
Smithamview
Cleoraburgh
Lindseyburgh
West Lindashire
Bertramview
Emmerichstad
West Yesseniatown
Amaliaton
Princebury
Port Marcelo
Susanafurt
New Arianna
Buckridgemouth
Huelsfurt
Marquardtstad
Lake Zelma
New Salvadorfort
Heathcotehaven
New Cadenhaven
Search happens on frontend side
@php $cities = App\Models\City::all(); @endphp <x-choices-offline label="Cities - frontend side" wire:model="selected_cities" :options="$cities" icon="s-bolt-slash" hint="Search happens on frontend side" searchable />
Forms.
<x-form wire:submit="save"> <x-input label="Name" wire:model="name" icon="o-user" placeholder="Hello" /> <x-input label="Amount" wire:model="amount" prefix="USD" money /> <x-slot:actions> <x-button label="Cancel" /> <x-button label="Save" class="btn-primary" type="submit" spinner="save" /> </x-slot:actions></x-form>
Drawer & Modal
Hello!
Click outside, on `CANCEL` button or `CLOSE` icon to close.
@php $showDrawer = $this->showDrawer; @endphp <x-button label="Open Drawer" wire:click="$toggle('showDrawer')" class="btn-primary btn-block" /> <x-drawer wire:model="showDrawer" title="Hello!" with-close-button separator class="w-11/12 lg:w-1/3"> <div>Click outside, on `CANCEL` button or `CLOSE` icon to close.</div> <x-slot:actions> <x-button label="Cancel" wire:click="$toggle('showDrawer')" /> <x-button label="Confirm" class="btn-primary" /> </x-slot:actions></x-drawer>
@php $myModal = $this->myModal; @endphp <x-button label="Open Modal" wire:click="$toggle('myModal')" class="btn-warning btn-block" /> <x-modal wire:model="myModal" title="Hello" subtitle="Livewire example" separator> <div>Click outside, press `ESC` or click `CANCEL` button to close.</div> <x-slot:actions> <x-button label="Cancel" wire:click="$toggle('myModal')" /> <x-button label="Confirm" class="btn-primary" /> </x-slot:actions></x-modal>
Easy Tables.
# | City | |
---|---|---|
1 | Destinee | Hilperttown |
2 | Roberta | Mayershire |
3 | Ruthie | Feiltown |
4 | Carlo | McKenzieland |
@php use App\Models\User; $users = User::with('city')->take(4)->get(); $headers = [ ['key' => 'id', 'label' => '#', 'class' => 'w-1 bg-yellow-500/20'], # <-- CSS ['key' => 'name', 'label' => 'Nice Name', 'class' => 'hidden lg:table-cell'], # <-- responsive ['key' => 'city.name', 'label' => 'City'] # <-- nested object ];@endphp <x-table :rows="$users" :headers="$headers" striped />
Full Tables.
# | Nice Name | ||||
---|---|---|---|---|---|
77 | Ahmad |
sharon76
|
Clevelandfort | ||
Hello, Ahmad!
|
|||||
84 | Alfonzo |
missouri96
|
Lindseyburgh | ||
Hello, Alfonzo!
|
|||||
42 | Aliyah |
ybecker
|
West Libbie | ||
Hello, Aliyah!
|
@php use App\Models\User; // public array $expanded = []; // public array $sortBy = ['column' => 'name', 'direction' => 'asc']; $sortBy = $this->sortBy; $expanded = $this->expanded; $users = User::with('city') ->orderBy(...array_values($this->sortBy)) ->paginate(3); $headers = [ ['key' => 'id', 'label' => '#', 'class' => 'w-1'], # <-- CSS ['key' => 'name', 'label' => 'Nice Name'], ['key' => 'username', 'label' => 'Username', 'class' => 'hidden lg:table-cell'], # <--- responsive ['key' => 'city.name', 'label' => 'City', 'sortable' => false, 'class' => 'hidden lg:table-cell'] # <-- nested object ]; $cell_decoration = [ 'name' => [ 'bg-yellow-500/20 italic' => fn(User $user) => Str::of($user->name)->startsWith('A') ] ];@endphp <x-table wire:model="expanded" :headers="$headers" :rows="$users" :cell-decoration="$cell_decoration" :sort-by="$sortBy" link="/docs/components/table?user_id={id}&city={city.name}" {{-- Make rows clickables --}} expandable with-pagination> {{-- Expansion slot --}} @scope('expansion', $user) <div class="border border-dashed rounded-lg p-5 "> Hello, {{ $user->name }}! </div> @endscope {{-- Actions Slot --}} @scope('actions', $user) <x-button icon="o-trash" wire:click="delete({{ $user->id }})" spinner /> @endscope {{-- Cell scope --}} @scope('cell_username', $user) <x-badge :value="$user->username" class="badge-primary" /> @endscope</x-table>
And more ...
LET`S DO IT