asmit/fila-calendar

A polished inline calendar form field for Filament.

Maintainers

Package info

github.com/AsmitNepali/fila-calendar

pkg:composer/asmit/fila-calendar

Transparency log

Statistics

Installs: 17

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 1

v0.0.1 2026-07-24 05:47 UTC

This package is auto-updated.

Last update: 2026-07-24 05:47:17 UTC


README

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.

Latest Version PHP 8.2+ Laravel 11+ Filament 4+

Features

  • Multiple selection modes — single, multiple, range, and multi-range
  • Form + infolistCalendarInput field and read-only CalendarEntry
  • Multi-month grid — responsive columns with configurable month count
  • Date constraints — unavailable dates, weekend blocking, and min/max bounds
  • 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 or 12
  • 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(4)
    ->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);

View Complete Documentation →

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.