Fila Calendar by Asmit Nepali
CommunityA polished inline calendar field for Filament forms and infolists with single, range, and multi-range selection.
Author:
Asmit Nepali
Package health
Automated checks of this plugin's Composer package
15 checks
- Passed: GitHub Actions pinned to SHA
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Warning: Dependabot PR responsiveness — Stale Dependabot PRs: oldest general PR is 31 days old.
- Skipped: Renovate MR responsiveness
- Passed: Dependabot or Renovate configured
- Passed: Dependency update cooldown configured
- Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 20 days ago; last release 64 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2supports current PHP8.5. - Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
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.
The author
I’m a senior full-stack engineer with 5+ years of experience building production-grade applications with Laravel. I’m passionate about the Laravel and Filament ecosystem, creating developer tools and packages, and pushing Filament beyond its usual boundaries. I’m also the creator of several Filament plugins and SaaS products, focused on building practical tools that make developers’ lives easier.
From the same author
Resized, Reorder and Sticky Column
This plugin allows you to resize columns in Filament tables, enhancing the user experience by providing a more flexible and customizable interface.
Author:
Asmit Nepali
Upload
The Advanced PDF Upload plugin allows you to upload PDF files with preview functionality along with Filament's default file upload features. This package provides a seamless way to handle PDF uploads with customizable preview options.
Author:
Asmit Nepali
Mention
The Mention plugin lets you mention users inside RichText editor, supporting both static and dynamic searches. It can extract user details like username and ID for a seamless mention experience.
Author:
Asmit Nepali
Advanced Kanban
A premium Filament plugin providing production-ready, highly customizable Kanban boards with drag & drop functionality, workflow transitions, advanced filtering, and real-time search capabilities.
Author:
Asmit Nepali
Featured Plugins
A selection of plugins curated by the Filament team
Compact Theme
A theme that makes data-heavy panels easier to scan by fitting more useful information on each screen.
Filament
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight like Command Palette to your Filament Panel.
Dennis Koch
Soft Theme
A theme that gives panels a warm, approachable look with rounded shapes, gentle colors, and serif headings.
Filament