elnasnato / laraliveui
LaraLiveUI - The official UI component library for Livewire applications.
Fund package maintenance!
Requires
- php: ^8.1
- illuminate/console: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
- illuminate/view: ^10.0|^11.0|^12.0|^13.0
- laravel/prompts: ^0.1|^0.2|^0.3
- livewire/livewire: ^3.7.4|^4.0
- symfony/console: ^6.0|^7.0|^8.0
README
A comprehensive UI component library for Livewire applications, built with Tailwind CSS.
Note: This is a community-driven open-source project. LaraLiveUI provides both free and open-source components for your Livewire applications.
Prerequisites
- Laravel v10.0+
- Livewire v3.5.19+
- Tailwind CSS v4.0+
Installation
composer require elnasnato/laraliveui
Quick Start
1. Include Assets
Add the @laraliveuiAppearance and @laraliveuiScripts Blade directives to your layout:
<head> ... @laraliveuiAppearance </head> <body> ... @livewireScripts @laraliveuiScripts </body>
2. Set up Tailwind CSS
Add to your resources/css/app.css:
@import 'tailwindcss'; @import '../../vendor/elnasnato/laraliveui/dist/laraliveui.css'; @custom-variant dark (&:where(.dark, .dark *));
3. Usage
Use components with the laraliveui: prefix:
<laraliveui:button variant="primary">Click me</laraliveui:button> <laraliveui:input name="email" placeholder="Email" /> <laraliveui:modal name="my-modal"> <laraliveui:modal.trigger> <laraliveui:button>Open Modal</laraliveui:button> </laraliveui:modal.trigger> <laraliveui:modal.dialog> <h2>Modal Title</h2> <p>Modal content goes here.</p> </laraliveui:modal.dialog> </laraliveui:modal> <laraliveui:dropdown> <laraliveui:dropdown.trigger> <laraliveui:button>Menu</laraliveui:button> </laraliveui:dropdown.trigger> <laraliveui:menu> <laraliveui:menu.item>Profile</laraliveui:menu.item> <laraliveui:menu.item>Settings</laraliveui:menu.item> <laraliveui:menu.separator /> <laraliveui:menu.item>Logout</laraliveui:menu.item> </laraliveui:menu> </laraliveui:dropdown> <laraliveui:table> <laraliveui:table.columns> <laraliveui:table.column label="Name" /> <laraliveui:table.column label="Email" /> </laraliveui:table.columns> <laraliveui:table.rows> <laraliveui:table.row> <laraliveui:table.cell>John Doe</laraliveui:table.cell> <laraliveui:table.cell>john@example.com</laraliveui:table.cell> </laraliveui:table.row> </laraliveui:table.rows> </laraliveui:table>
Components
Free Components
- Accordion, Autocomplete, Avatar, Badge, Brand, Breadcrumbs, Button
- Callout, Card, Checkbox, Color Picker, Combobox, Command, Context
- Date Picker, Dropdown, Editor, Field, File Upload, Heading, Icon
- Input, Kanban, Layout (Header, Sidebar, Main, Footer), Modal
- Navbar, Navlist, OTP Input, Pagination, Pillbox, Popover
- Progress, Radio, Select, Separator, Skeleton, Slider, Switch
- Table, Tabs, Text, Textarea, Time Picker, Timeline, Toast, Tooltip
Using Components
All components use the laraliveui: prefix with dot notation for sub-components:
<laraliveui:button variant="primary" size="base" icon="plus"> New Item </laraliveui:button> <laraliveui:input.group> <laraliveui:input.group.prefix>https://</laraliveui:input.group.prefix> <laraliveui:input name="url" placeholder="example.com" /> </laraliveui:input.group>
Icons
LaraLiveUI includes over 300 Heroicons-based SVG icon components:
<laraliveui:icon name="magnifying-glass" /> <laraliveui:icon name="x-mark" variant="solid" /> <laraliveui:icon name="check-circle" class="text-green-500" />
Customization
To customize specific LaraLiveUI components, publish their Blade files:
php artisan laraliveui:publish
License
LaraLiveUI is open-source software licensed under the MIT license.