asmit/fila-calendar
| Install | |
|---|---|
composer require asmit/fila-calendar |
|
| Latest Version: | v1.0.0 |
| PHP: | ^8.2 |
| Laravel: | 11 · 12 · 13 |
| License: | MIT |
| Last Updated: | Oct 14, 2026 |
| Links: | GitHub · Packagist |
asmit/fila-calendar
A polished inline calendar field for Filament forms and infolists. Supports single, range, multiple, and multi-range selection with a self-contained Alpine.js UI — no external calendar library required.
Features
- Multiple selection modes — single, multiple, range, and multi-range
- Form + infolist —
CalendarInputfield and read-onlyCalendarEntry - Multi-month grid — column count per breakpoint with configurable month count
- Date constraints — unavailable dates, weekend blocking, and min/max bounds
- Reserved dates — mark days that are already booked with their own icon and tooltip, enforced server-side
- Range hover preview — visual feedback while selecting a range
- Smart range editing — deselecting a middle day splits the range instead of clearing it
- Localization — calendar labels via
->locale('ja') - No extra dependencies — ships its own Alpine.js component and styles
Requirements
- PHP 8.2+
- Laravel 11+ (whichever versions your Filament release supports)
- Filament 4 or 5
Installation
composer require asmit/fila-calendar
php artisan filament:assets
Import the package stylesheet into your Filament theme:
@import '../../vendor/asmit/fila-calendar/resources/css/fila-calendar.css';
Development
If you symlink the package locally with a Composer path repository, see the development guide for the path-repository setup and theme import path.
Usage
Add a calendar field to a Filament form:
use Asmit\FilaCalendar\Forms\Components\CalendarInput;
use Asmit\FilaCalendar\Support\CalendarMode;
CalendarInput::make('booking')
->mode(CalendarMode::MultiRange)
->months(12)
->calendarColumns(['sm' => 2, 'lg' => 3, 'xl' => 4])
->reservedDates(fn (): array => Booking::query()->pluck('date')->all())
->withToday()
->locale('ja');
Render saved dates as a read-only infolist entry:
use Asmit\FilaCalendar\Infolists\Components\CalendarEntry;
use Asmit\FilaCalendar\Support\CalendarMode;
CalendarEntry::make('booking')
->mode(CalendarMode::MultiRange)
->months(3)
->calendarColumns(3);
Contributing
Contributions are welcome. Please see CONTRIBUTING.md before opening an issue or pull request.
Security
If you discover a security issue, please review our Security Policy.
Changelog
Please see CHANGELOG.md for recent changes.
License
MIT License. See LICENSE.md for details.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v1.0.0 | ^8.2 | MIT | ||
| v0.5.0 | ^8.2 | MIT | ||
| v0.4.1 | ^8.2 | MIT | ||
| v0.4.0 | ^8.2 | MIT | ||
| v0.3.1 | ^8.2 | MIT | ||
| v0.3.0 | ^8.2 | MIT | ||
| v0.2.0 | ^8.2 | MIT | ||
| v0.1.0 | ^8.2 | MIT | ||
| v0.0.2 | ^8.2 | MIT | ||
| v0.0.1 | ^8.2 | ^11.0| | MIT | |
| v0.0.0 | ^8.2 | ^11.0| | MIT |