- Can I use chrisdev/ux-components in Laravel without Symfony UX or Livewire?
- No, this package is built for Symfony UX and requires either Livewire (Symfony UX’s Laravel alternative) or manual integration of its Twig/Stimulus.js layers. For Laravel-only projects, focus on Livewire’s native components or Alpine.js alternatives.
- How do I install this package in Laravel 10 with Livewire?
- Use `composer require chrisdev/ux-components` and install dependencies like `symfony/ux-live-component` for Livewire interop. Replace Stimulus.js with Alpine.js or Livewire’s built-in reactivity. Tailwind/Preline CSS can be directly added to Laravel’s `resources/css`.
- Will these components work with Laravel’s default authentication (Breeze/Jetstream)?
- Yes, but test compatibility first—some components may need minor adjustments (e.g., form handling). Preline UI’s Tailwind classes integrate seamlessly, while Symfony UX’s interactivity (Stimulus/Livewire) should align with Laravel’s auth scaffolding if configured correctly.
- Is there a way to use just the Tailwind/Preline UI without Symfony UX dependencies?
- Yes, extract the CSS assets from the package and include them in Laravel’s `resources/css`. Strip out Stimulus.js and Twig files, then rebuild components in Blade. This reduces bloat and avoids Symfony UX’s PHP requirements.
- What’s the performance impact of embedding Symfony UX in Laravel?
- Minimal if using only Tailwind/Preline CSS, but Stimulus.js or Livewire interactivity adds ~50–150KB to your bundle. Benchmark against native Livewire/Alpine alternatives—Symfony UX’s overhead is justified for complex components but may be overkill for simple UIs.
- How do I convert Twig components to Laravel Blade?
- Use tools like `twig-to-blade` (unofficial) or manually rewrite components. Replace Twig’s `extends` with Blade’s `@extends`, and adapt control structures (e.g., `{% if %}` → `@if`). For dynamic content, pair with Livewire or Alpine.js for reactivity.
- Does this package support Laravel 9 or older versions?
- No, this package requires PHP 8.4+, which is incompatible with Laravel 9 (PHP 8.1) or older. Upgrade to Laravel 10+ or fork the package to downgrade PHP dependencies, though this may introduce stability risks.
- Can I replace Stimulus.js with Alpine.js in this package?
- Yes, but it requires manual effort. Rewrite Stimulus controllers to Alpine’s `x-*` directives (e.g., `stimulus:dropdown` → `x-dropdown`). Test thoroughly, as some Symfony UX features rely on Stimulus’s event system.
- Are there alternatives to this package for Laravel?
- For UI components, consider Livewire’s built-in widgets, Alpine.js + Tailwind, or dedicated Laravel packages like `laravel-breeze` (auth + UI) or `filamentphp/filament` (admin panels). For Symfony UX-like interactivity, `symfony/ux-live-component` bridges Symfony UX with Livewire.
- How do I integrate this with Laravel Mix or Vite?
- For Vite, bundle Stimulus.js or Alpine.js via `resources/js/app.js` and ensure Tailwind CSS is processed. For Laravel Mix, add the JS/CSS to `webpack.mix.js` and compile. Avoid Docker dependencies—use Laravel’s native `npm run dev`/`npm run build` commands instead.