ironflow / halo-ui
A modular UI component library for Laravel, powered by Blade, Tailwind, and Alpine.js.
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/ironflow/halo-ui
Requires
- php: ^8.2
- illuminate/console: ^12.0
- illuminate/filesystem: ^12.0
- illuminate/support: ^12.0
- illuminate/view: ^12.0
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: 10.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- phpunit/phpunit: ^11.0
README
Project Overview
HaloUI is a professional, modular UI component library for Laravel 12+, designed to accelerate development of modern web applications.
Built with Blade, TailwindCSS, and Alpine.js, HaloUI offers reusable, composable, and customizable components following a consistent design language.
Key Features:
- Fully modular components, install individually or all at once
- Themeable via CSS variables for full customization
- Alpine.js-ready for interactive UI
- Snapshots and unit testing included for reliability
- Perfect for admin panels, dashboards, and SaaS applications
Installation
composer require halo/ui php artisan vendor:publish --tag=halo-ui-components php artisan vendor:publish --tag=halo-ui-assets
Installing Components
# Install a single component php artisan halo:install button # Force reinstall a component php artisan halo:install modal --force # Install all components php artisan halo:install
🛠 Usage Examples
<x-halo:button variant="primary" size="lg">Click Me</x-halo:button> <x-halo:modal x-data="{ open: true }" x-show="open"> <x-halo:modal-header>Title</x-halo:modal-header> <x-halo:modal-body>Content</x-halo:modal-body> <x-halo:modal-footer> <x-halo:button @click="$el.closest('[x-data]').__x.$data.open = false">Close</x-halo:button> </x-halo:modal-footer> </x-halo:modal> <x-halo:select placeholder="Choose an option"> <x-halo:select-item value="option1">Option 1</x-halo:select-item> <x-halo:select-item value="option2">Option 2</x-halo:select-item> </x-halo:select>
Theme & Customization
All components can be customized using CSS variables:
:root { --color-primary: #3b82f6; --color-primary-hover: #2563eb; --color-secondary: #6b7280; --color-secondary-hover: #4b5563; --color-danger: #ef4444; --color-danger-hover: #dc2626; --color-background: #ffffff; --color-text: #111827; --color-border: #d1d5db; --color-hover: #f3f4f6; }
Testing
HaloUI includes:
- Unit tests for component rendering and props
- Snapshot tests for Alpine.js interactions
Run tests with:
php artisan test
Contribution
We welcome contributions!
- Fork the repository
- Add new components under
Halo\UI\Components
- Add Blade stubs in
stubs/components
- Write unit tests for each component
- Submit a pull request
For major changes, please open an issue first to discuss your proposal.
License
This project is licensed under the MIT License - see the LICENSE file for details.
HaloUI - Build with ❤️ by Aure Dulvresse