ariaieboy/filament-jalali

Add Jalali/Shamsi support for FilamentPHP
24,983 41
Install
composer require ariaieboy/filament-jalali
Latest Version:3.0.0
PHP:~8.2.0|~8.3|~8.4|~8.5
License:MIT
Last Updated:Jun 22, 2026
Links: GitHub  ·  Packagist
Maintainer: ariaieboy

Filament Jalali/Shamsi Support

Ariaieboy Filament Jalali Latest Version on Packagist GitHub Actions Workflow Status Total Downloads

This package adds Jalali/Shamsi support to filament v5 for filament v4 check branch v2 and for filament v3 check branch v1.

We have Jalali/Shamsi support for DatePicker,DateTimePicker,TextColumn, TextEntry and DateConstraint.

It's a replacement for ariaieboy/filament-jalali-datetime and ariaieboy/filament-jalali-datetimepicker. For Upgrade guide check here

Installation

You can install the package via composer:

composer require ariaieboy/filament-jalali

Usage

use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\DateTimePicker;

DatePicker::make('birth_date')->jalali();
DateTimePicker::make('birth_date')->jalali(weekdaysShort: true);
DateTimePicker::make('birth_date')->jalali(weekdaysShort: true)->hasToday(); // add a today button that when use press on it the date will be set to today

For more information check the default DateTimePicker Docs

use Filament\Tables\Columns\TextColumn;

TextColumn::make('created_at')->jalaliDate();
TextColumn::make('created_at')->jalaliDateTime();

For more information check the default TextColumn Docs

use Filament\Infolists\Components\TextEntry;

TextEntry::make('created_at')->jalaliDate();
TextEntry::make('created_at')->jalaliDateTime();
TextEntry::make('created_at')->since()->jalaliDateTooltip();
TextEntry::make('created_at')->since()->jalaliDateTimeTooltip();

For more information check the default TextEntry Docs


use Filament\Tables\Filters\QueryBuilder\Constraints\DateConstraint;
use Ariaieboy\FilamentJalali\DateConstraint\Operators\IsJalaliAfterOperator;
use Ariaieboy\FilamentJalali\DateConstraint\Operators\IsJalaliBeforeOperator;
use Ariaieboy\FilamentJalali\DateConstraint\Operators\IsJalaliDateOperator;
use Ariaieboy\FilamentJalali\DateConstraint\Operators\IsJalaliYearOperator;

DateConstraint::make('created_at')->jalali();
//Or you can use any operations that you like
DateConstraint::make('created_at')->operators([
        IsJalaliAfterOperator::class,
        IsJalaliBeforeOperator::class,
        IsJalaliDateOperator::class,
        IsJalaliYearOperator::class
]);

For more information check the default DateConstraint Docs

We don't support IsJalaliMonthOperator since there is not and efficient way to query georgian month according to the jalali/shamsi month.

Fill free to open a PR that adds IsJalaliMonthOperator if you have an algorithm to convert jalali/shamsi month to georgian month.

Localization

We support localization for Persian (Farsi), English, Pashto, Dari out of the box. To enable it, you need to set your application's locale to fa,en,fa_AF,ps in the config/app.php file:

'locale' => 'fa' // or 'en' for english, 'fa_AF' dari, 'ps' for pashto

You can publish the localization files to customize them:

php artisan vendor:publish --tag="filament-jalali-translations"

Changelog

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

Upgrade

from v2

If you are using the V2 of the ariaieboy/filament-jalali you need to change the package version in your composer.json to

{
    "require": {
        "ariaieboy/filament-jalali": "^3.0"
    }
}

Then run composer update command.

from v1

If you are using the V1 of the ariaieboy/filament-jalali you need to change the package version in your composer.json to

{
    "require": {
        "ariaieboy/filament-jalali": "^2.0"
    }
}

Then run composer update command.

from ariaieboy/filament-jalali-datetimepicker

If you are using the V3 of the jalali-datetimepicker you don't need to do anything just replace ariaieboy/filament-jalali-datetimepicker with ariaieboy/filament-jalali

from ariaieboy/filament-jalali-datetime

If you use the jalaliDate() and jalaliDateTime() on the TextColumn you can upgrade without any problem.

But if you use the JalaliDateTimeColumn you need to change it to TextColumn and convert dateTime() to jalaliDateTime() and date() to jalaliDate()

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.

Related Packages

ariaieboy/filament-currency

Bring back laravel-money formatter for Filament Text Column

270,895 72
php-tmdb/laravel

Laravel Package for TMDB ( The Movie Database ) API. Provides easy access to the...

53,303 162
laravel-ja/laravel

The Laravel Framework.

5,667 17
kavenegar/laravel

laravel 4 and 5 kavenegar integration

350,771 85
reliese/laravel

Reliese Components for Laravel Framework code generation.

3,759,523 1,709