- How do I install BlatUI in a Laravel 12 project with Tailwind v4?
- Run `composer require anousss007/blatui` followed by `blatui:init` to set up the CLI. Then install peer dependencies: `composer require gehrisandro/tailwind-merge-laravel mallardduck/blade-lucide-icons` and `npm install -D alpinejs @alpinejs/anchor @floating-ui/dom @alpinejs/collapse @alpinejs/focus`. Finally, publish the foundations with `blatui:publish` and import them into your `app.css` and `app.js`.
- Can I use BlatUI components without Alpine.js?
- Yes, but with limitations. Static components like `<x-ui.card>` or `<x-ui.button>` will work without Alpine. However, interactive features (e.g., dropdowns, modals, or form controls) require Alpine.js. If you exclude Alpine, you’ll need to manually handle interactivity or use vanilla JS alternatives.
- Will BlatUI work with Laravel 10 or Tailwind v3?
- No, BlatUI requires Laravel 11/12/13 and Tailwind v4. If you’re on Laravel 10 or Tailwind v3, you’ll need to upgrade first. Use `npx @tailwindcss/upgrade` for Tailwind and follow Laravel’s upgrade guide for PHP/framework updates. The CLI will warn you during `blatui:init` if your stack is incompatible.
- How do I add just a single component (e.g., a button) instead of everything?
- Use the `blatui:add` command followed by the component name, like `blatui:add button`. This copies only the specified component into `resources/views/components/ui/`, reducing bundle size and avoiding unnecessary dependencies. You can add components incrementally as needed.
- Are BlatUI components accessible out of the box?
- Yes, all components are WCAG AA compliant by default, with WAI-ARIA roles, keyboard navigation, and proper focus management. The accessibility was audited using axe-core and tested in real browsers. This includes form controls, modals, and interactive elements, ensuring compliance without extra effort.
- How do I customize the default theme (e.g., change colors or spacing)?
- BlatUI uses CSS variables for theming, so you can override defaults in your `app.css` or a separate stylesheet. For example, update `--primary`, `--destructive`, or `--radius` tokens to match your brand. The `blatui:publish` command includes a `theme.css` file with all variables, making customization straightforward.
- Does BlatUI support Livewire, and how do I integrate it?
- Yes, BlatUI is Livewire-ready. All form controls (inputs, selects, checkboxes, etc.) support `wire:model` with full two-way binding. No extra setup is needed—just use Livewire as usual. For advanced use cases, refer to the [Livewire guide](https://blatui.remix-it.com/docs/livewire) in the docs for tips on combining BlatUI with Livewire components.
- What’s the impact on bundle size if I use BlatUI’s charts?
- Charts rely on ApexCharts (~100KB), which adds to your bundle if enabled. If you don’t need charts, exclude them during installation with `blatui:add` (e.g., `blatui:add button --no-charts`). For projects where bundle size is critical, consider lazy-loading chart components or using a lighter alternative.
- How do I update BlatUI components without losing my customizations?
- BlatUI components are copied into your project, so updates via `composer update` won’t overwrite your changes. However, if you modify a component, future updates may require manual merging. To stay updated, check the [changelog](https://github.com/anousss007/blatui/blob/main/CHANGELOG.md) and reapply customizations after updating.
- Are there alternatives to BlatUI for Laravel with similar features?
- If you need shadcn/ui-like components for Laravel, consider **Laravel Breeze** (basic starter kit) or **Tailwind UI** (paid, but more polished). For open-source options, **Laravel Jetstream** (auth-focused) or **Filament UI** (admin panels) offer some UI components. However, BlatUI uniquely combines shadcn/ui’s design system with Blade/Alpine/Tailwind, giving you full code ownership and WCAG AA compliance.