emmanpbarrameda / filament-take-picture-field
FilamentTakePictureField Component for Filament Forms
Package info
github.com/emmanpbarrameda/filament-take-picture-field
Language:JavaScript
pkg:composer/emmanpbarrameda/filament-take-picture-field
Fund package maintenance!
Requires
- php: ^8.1|^8.2|^8.3
- filament/forms: ^4.0|^5.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- filament/filament: ^4.0|^5.0
- laravel/framework: ^10.0|^11.0|^12.0|^13.0
- nunomaduro/collision: ^7.0|^8.0
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.0|^3.0
- pestphp/pest-plugin-arch: ^2.0|^3.0
- pestphp/pest-plugin-laravel: ^2.0|^3.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-21 06:03:44 UTC
README
A custom Filament form component to capture photos from your device camera.
Features
- Capture photos directly from the user's device camera
- Seamless integration with Filament forms
- Configurable storage options: disk, directory, and visibility
- Camera selector support for devices with multiple cameras
- Adjustable aspect ratio, image quality, and maximum capture dimensions
- Multiple-shot mode with custom shot keys and labels
- Option to require all configured shots before saving
- Text-to-speech instructions for multiple-shot capture
- Support for previewing, retaking, and removing captured photos
- Camera in a modal or inline, with configurable mirroring
Requirements
- Laravel: ^11.28, ^12, or ^13
- PHP: ^8.2
- Filament: ^4.0 or ^5.0
- A device with camera access (desktop or mobile)
Installation
composer require emmanpbarrameda/filament-take-picture-field:^1.4
Then publish the plugin's assets (most apps already run this automatically through php artisan filament:upgrade):
php artisan filament:assets
Filament theme setup
The field's styles are compiled by your Filament theme, so a custom theme is required. If you don't have one yet:
php artisan make:filament-theme
Add the plugin's views to your theme CSS file (e.g. resources/css/filament/admin/theme.css):
@source '../../../../vendor/emmanpbarrameda/filament-take-picture-field/resources/views/**/*.blade.php';
Then rebuild:
npm run build
Quick start
use emmanpbarrameda\FilamentTakePictureField\Forms\Components\TakePicture; TakePicture::make('photo') ->disk('public') ->directory('uploads/photos') ->columnSpanFull();
Upgrading from v1.3
Run php artisan filament:assets after updating, and make sure your theme's @source line ends with resources/views/**/*.blade.php (the views are now split into subfolders). No code changes are needed.
Screenshots (Single Mode)
Screenshots (Multiple Mode)
Full Documentation
Read the full installation and configuration guide here: Filament Take Picture Field Documentation
Contributing
Contributions and pull requests for improvements are welcome!
License
MIT