pushery/wirekit
WireKit is a free, open-source UI component library for Laravel Livewire. Build dashboards and marketing pages with Tailwind CSS v4 and Alpine.js using clean, themeable, accessible components with dark mode support and no utility-class soup.
WireKit is a Tailwind CSS + Alpine.js-powered UI component library designed specifically for Laravel Livewire, making it a near-perfect architectural fit for applications leveraging this stack. Its Blade-based component system aligns seamlessly with Laravel’s view layer, while its Livewire-first design ensures real-time interactivity without manual JavaScript. The CSS-variable theming system allows for deep customization without breaking component structure, and its Alpine.js integration enables lightweight client-side behavior without bloating the frontend.
Key strengths:
wire:model support, event dispatching).Potential misfits:
WireKit’s integration is low-friction for Laravel/Livewire projects but requires upfront setup to align with existing infrastructure. The composer install + Blade/Vite configuration is straightforward, but the Tailwind CSS and Alpine.js dependencies must already be in place.
Key integration steps:
composer require pushery/wirekit (PHP 8.4+, Laravel 12+, Livewire 4+ required).@wirekitStyles and @wirekitScripts to Blade layouts.@source directive in app.css).wirekit:fonts CLI).wirekit:publish-icons).config/wirekit.php).Feasibility risks:
wirekit-* events).--color-* variables in the app could clash with WireKit’s --color-wk-* tokens.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Livewire version mismatch | High | Test WireKit with Livewire 4.x early; pin versions in composer.json. |
| Tailwind CSS conflicts | Medium | Audit existing Tailwind config for v3/v4 incompatibilities; isolate WireKit styles. |
| Alpine.js event collisions | Medium | Prefix custom Alpine events (e.g., wirekit-* → app-wirekit-*). |
| Performance overhead | Low | Profile component rendering; lazy-load non-critical components (e.g., modals). |
| Chart licensing | Medium | Review ApexCharts license terms; use Chart.js for MIT-only projects. |
| Browser support gap | Low | Polyfill missing features (e.g., color-mix()) only if targeting older browsers. |
| Theming customization | Low | Start with WireKit’s defaults; override CSS variables incrementally. |
Critical questions for evaluation:
WireKit is optimized for the Laravel Livewire + Tailwind CSS + Alpine.js stack and integrates cleanly with:
@vite directives for JS/CSS).Non-native integrations:
| Phase | Tasks | Tools/Commands |
|---|---|---|
| Pre-integration | 1. Audit Laravel/Livewire/Tailwind versions. 2. Backup existing UI components. 3. Test WireKit’s browser support against target audience. 4. Review charting license requirements. | composer why-not pushery/wirekit, npm ls tailwindcss |
| Setup | 1. Install WireKit via Composer. 2. Configure Vite/Tailwind to include WireKit styles/scripts. 3. Publish WireKit config (php artisan vendor:publish --provider="Pushery\WireKit\WireKitServiceProvider"). |
composer require pushery/wirekit, php artisan wirekit:install |
| Pilot | 1. Replace 1–2 low-complexity components (e.g., buttons, inputs). 2. Test Livewire reactivity (e.g., wire:model). 3. Verify theming and dark mode. 4. Check performance impact. |
php artisan wirekit:show button, php artisan wirekit:verify |
| Rollout | 1. Gradually replace UI components. 2. Migrate forms to WireKit’s input components. 3. Integrate overlays (modals, tooltips). 4. Customize theme via CSS variables. | php artisan wirekit:make page:dashboard, php artisan wirekit:theme cupertino |
| Optimization | 1. Lazy-load non-critical components. 2. Audit Alpine/Livewire event collisions. 3. Optimize charting libraries. 4. Document custom components. | php artisan wirekit:export-json, php artisan wirekit:doctor |
| Dependency | Compatibility Status | Notes |
|---|---|---|
| Laravel 12+ | ✅ Full support | WireKit is built for Laravel 12’s features (e.g., Blade component namespaces). |
| Livewire 4+ | ✅ Full support | Uses Livewire 4’s event system and model binding. |
| Tailwind CSS v4 | ✅ Required | WireKit uses v4’s features (e.g., @property, color-mix()). |
| Alpine.js | ✅ Required | WireKit’s interactivity (modals, tooltips) relies on Alpine. |
| Vite | ✅ Required | WireKit uses @vite directives for asset compilation. |
| PHP 8.4+ | ✅ Required | Uses PHP 8.4’s typed properties and attributes. |
| Chart.js |
How can I help you explore Laravel packages today?