- How do I add a password reveal toggle to a Filament form field?
- Replace your standard `TextInput` with `Password::make('field_name')` in your Filament form schema. The toggle is enabled by default and requires no additional configuration. For example: `Password::make('password')->label('New Password')`.
- Does this package work with Filament v4 and v5?
- Yes, the package is explicitly tested for both Filament v4 and v5. Backward compatibility with v4 is maintained, so you can upgrade Filament without breaking changes. Check the changelog for version-specific updates.
- Can I customize the password generation logic beyond Laravel’s Str::password()?
- Yes, use the `regeneratePassword()` method with a custom closure to override the default generator. For example: `Password::make('password')->regeneratePassword(using: fn() => 'Secure123!')`. Always pair this with validation rules like `->rules(['password'])` to enforce security.
- Will this package conflict with password managers like 1Password or Bitwarden?
- The package includes heuristics (e.g., `data-1p-ignore`) to minimize conflicts, but testing in staging is recommended. If issues arise, use the `hidePasswordManagerIcons()` method to disable auto-fill detection entirely.
- How do I disable the copy-to-clipboard feature for specific fields?
- Use the `disableCopyToClipboard()` method on the field. For example: `Password::make('password')->disableCopyToClipboard()`. This is useful for sensitive fields where clipboard exposure is a risk.
- Is there a performance impact when using clipboard actions in bulk forms?
- Clipboard actions are lightweight, but high-frequency use (e.g., bulk user edits) may trigger network requests. Monitor performance with Filament’s profiling tools. For critical forms, consider disabling clipboard actions or batching operations.
- Can I override the default password generation length (32 chars) or add custom rules?
- The default uses Laravel’s `Str::password()`, which generates 32-character strings. To customize, use `regeneratePassword()` with a closure and validate against your rules. For example: `->rules(['min:8', 'max:20', 'regex:/[A-Z]/'])`.
- How do I translate the package’s language strings (e.g., 'Copied')?
- Publish the translations with `php artisan vendor:publish --tag=filament-password-input-translations`, then override them in your `config/filament-password-input.php` file. This supports multilingual apps without modifying the package.
- Does this package work with Laravel Livewire or standalone Blade forms?
- No, this package is tightly coupled to Filament’s form system and won’t work outside of Filament v4/v5 contexts. For Livewire or Blade, consider custom solutions like Alpine.js + Tailwind or dedicated password input libraries.
- How do I globally configure the package (e.g., disable copy-to-clipboard by default)?
- Use a service provider to set defaults via `FilamentPasswordInputServiceProvider::configure()`. For example: `Password::configureUsing(fn($component) => $component->disableCopyToClipboard())`. This applies to all fields unless overridden.