Skip to content
← Back to projects

Filament Barcode Field

A Laravel Filament package that provides Barcode field functionality for your web applications. This package extends Filament v5 with a simple barcode input component supporting EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF and Codabar.

Version: v3 v4 v5 · branch: 3.x

Filament Barcode Field

#Filament Barcode Field

Buy Me A Coffee

Latest Version on Packagist GitHub Code Style Action Status Total Downloads License

A Laravel Filament package that provides Barcode field functionality for your web applications. This package extends Filament v5 with a simple barcode input component supporting EAN-13, EAN-8, UPC-A, UPC-E, Code 128, Code 39, ITF and Codabar.

#Compatibility

Package Version Filament Version
1.x 3.x
2.x 4.x
3.x 5.x

#Requirements

  • PHP 8.2 or higher
  • Filament 5.0

#Installation

You can install the package via composer:

composer require jeffersongoncalves/filament-barcode-field:^3.0

You can publish the config file with:

php artisan vendor:publish --tag="filament-barcode-field-config"

This is the contents of the published config file:

use Filament\Support\Enums\Width;

return [
    'asset_js' => 'https://unpkg.com/html5-qrcode@2.3.8/html5-qrcode.min.js',
    'formats' => [
        'EAN_13',
        'EAN_8',
        'UPC_A',
        'UPC_E',
        'CODE_128',
        'CODE_39',
        'ITF',
        'CODABAR',
    ],
    'modal' => [
        'width' => Width::Large,
    ],
    'reader' => [
        'width' => '600px',
        'height' => '600px',
    ],
    'scanner' => [
        'fps' => 10,
        'width' => 300,
        'height' => 150,
    ],
];

formats controls which barcode symbologies the scanner looks for (mapped to the Html5QrcodeSupportedFormats enum from the html5-qrcode library). Restrict it to the symbologies you actually need for faster, more reliable scans.

#Translations

This package supports multiple languages. The following languages are currently available:

  • English (en)
  • Portuguese (Brazil) (pt_BR)

If you want to customize the translations, you can publish the language files:

php artisan vendor:publish --tag=filament-barcode-field-translations

#Usage

Once installed, you can use the BarcodeInput component in your Filament forms:

use JeffersonGoncalves\Filament\BarcodeField\Forms\Components\BarcodeInput;

// In your form definition
BarcodeInput::make('barcode')
    ->required(),

#Development

You can run code analysis and formatting using the following commands:

# Run static analysis
composer analyse

# Format code
composer format

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information.

New version available.