anousss007/blatui
BlatUI brings shadcn/ui-style, WCAG AA accessible components to the BLAT stack (Blade, Laravel, Alpine, Tailwind). A CLI copies fully themeable, light/dark UI components, blocks, and charts directly into your app so you own and customize the code.
Pros:
<x-ui.*>), aligning perfectly with Laravel’s view layer. No React/Vue build-step lock-in, reducing complexity.@theme support enable deep customization without overriding stylesheets.resources/views/components/ui/, ensuring full control over the codebase (no vendor lock-in).Cons:
blatui.css and blatui.js foundations are published as single files, which could complicate future modularization or tree-shaking.npx @tailwindcss/upgrade.blatui-core.js into their instance (not a breaking change but requires coordination).app.css/app.js, which is additive but requires manual verification.blatui:add button) reduces bloat compared to monolithic UI libraries.blatui:init command acts as a pre-flight check for misconfigurations.<x-ui.card> can be static).blade-lucide-icons adds ~50KB for icons (optional but recommended for consistency).blatui-core.js updates may require re-publishing).--primary, --destructive) sufficient, or will heavy theming be required?blatui.js and ApexCharts?composer update + manual merge checks)?Primary Fit: Laravel 11/12/13 + Tailwind CSS v4 + Alpine.js 3 + Node 18+.
@theme and OKLCH color support; v3 requires migration.<x-ui.card>) can be used without Alpine.<x-ui.*>), integrating seamlessly with Laravel’s view layer.Secondary Fit (with Effort):
npx @tailwindcss/upgrade).Preparation Phase:
# Tailwind v3 → v4
npx @tailwindcss/upgrade
# Node 16 → 18 (if needed)
nvm install 18
resources/views/components/ui/.Installation:
composer require anousss007/blatui gehrisandro/tailwind-merge-laravel mallardduck/blade-lucide-icons
npm install -D alpinejs @alpinejs/anchor @alpinejs/collapse @alpinejs/focus
php artisan vendor:publish --tag=blatui-foundations
php artisan blatui:init
/* resources/css/app.css */
@import "tailwindcss";
@import "./blatui.css"; // Add after Tailwind
// resources/js/app.js
import "./blatui.js"; // Or merge into existing Alpine setup
Component Adoption:
php artisan blatui:add button card input
php artisan blatui:add --all
blatui:add will suggest additional composer/npm packages (e.g., ApexCharts for charts).Customization:
resources/css/blatui.css (published tokens).resources/views/components/ui/ directly.registerBlatUI(Alpine) before Alpine.start().@theme and OKLCH support. v3 projects must upgrade.blatui.css must be imported after Tailwind to override defaults.blatui.js boots Alpine and plugins. Existing Alpine setups must merge blatui-core.js.blatui-foundations before adding any components.blatui:init.button, card, input).dropdown-menu, modal) after confirming Alpine setup.blatui:add --all for full-page templates (e.g., dashHow can I help you explore Laravel packages today?