- How do I install okipa/laravel-form-components in a Laravel project?
- Run `composer require okipa/laravel-form-components` in your project directory. The package integrates seamlessly with Laravel’s Blade components, so no additional configuration is required unless you’re using Livewire. Verify compatibility with your Laravel version (9–13) and PHP (8.1–8.3) in the [compatibility table](https://github.com/MrFibunacci/laravel-form-components#compatibility).
- Can I use this package with TailwindCSS 3?
- TailwindCSS 3 support is marked as 'upcoming' in the package. Currently, Bootstrap 4/5 are fully supported. If you rely on Tailwind, monitor the [GitHub repo](https://github.com/MrFibunacci/laravel-form-components) for updates or implement custom overrides for now. The package abstracts form logic, so styling adjustments are isolated to CSS.
- Does this package work with Livewire, and what are the benefits?
- Yes, the package is designed for Livewire compatibility, enabling dynamic form interactions like real-time validation and conditional fields without custom JavaScript. This is ideal for reactive forms (e.g., wizards or data entry tools). If you’re not using Livewire, you’ll still get static form components with model binding and validation support.
- How do I migrate from okipa/laravel-bootstrap-components to this package?
- Follow the [upgrade guide](https://github.com/MrFibunacci/laravel-form-components/blob/main/docs/upgrade-guides/from-laravel-bootstrap-components-to-laravel-form-components.md) to refactor component calls. For example, replace `inputEmail()` with `<x:form::input type='email' />`. Test thoroughly, as some attributes or behaviors may differ. The migration is a one-time effort with clear documentation.
- What Laravel and PHP versions does this package support?
- The package supports Laravel 9–13 and PHP 8.1–8.3. Check the [compatibility table](https://github.com/MrFibunacci/laravel-form-components#compatibility) for version-specific package releases. If you’re on an older version, consider upgrading Laravel or using a legacy branch if available.
- How customizable are the form components, and can I override defaults?
- Components are highly customizable via Blade attributes (e.g., `class`, `autofocus`, `required`). You can extend or override them by publishing the package’s views or creating custom Blade components. For example, `<x:form::input name='email' class='my-custom-class' />` applies your styles. The package avoids hardcoding classes, making theming flexible.
- Are there performance concerns when using this package with Livewire?
- Livewire adds overhead for dynamic forms, but the package optimizes component rendering to minimize impact. For high-traffic public forms, test performance under load and consider debouncing Livewire events or using static forms where possible. The package itself doesn’t introduce significant latency; bottlenecks typically stem from Livewire’s reactivity model.
- What if my project uses a UI framework other than Bootstrap or TailwindCSS?
- The package requires Bootstrap 4/5 or TailwindCSS for styling. If you use a custom CSS framework (e.g., Bulma, UIKit), you’ll need to override the package’s styles or fork the components. The form logic remains framework-agnostic, but presentation layers depend on Bootstrap/Tailwind. Document your overrides for future maintenance.
- How does this package handle form validation and errors?
- The package automatically handles Laravel’s validation errors by displaying them next to the relevant fields. It also includes CSRF tokens and method spoofing by default. For custom validation logic, use Laravel’s built-in validation rules or Livewire’s `$rules` property. No additional setup is required for basic validation.
- Is this package suitable for enterprise applications, and what are the risks?
- The package is MIT-licensed and community-driven, with 19 GitHub stars and no major dependents. While it’s a solid choice for most projects, enterprise teams should assess the maintainer’s activity (last release: 2026-05-11) and consider vendor-lock risks. For critical applications, evaluate alternatives like Laravel Collective or custom solutions with dedicated support.