Guava Calendar
CommunityAdds a fully customizable calendar to your filament panels.
Author:
Guava
Package health
BetaAutomated 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
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- 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 1 days ago; last release 3 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
- Documentation
- Version compatibility
- Showcase
- Support us
- Installation
- Usage
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License

This package adds support for vkurko/calendar (free, open-source alternative to FullCalendar) to your FilamentPHP panels.
It allows you to create a widget with a calendar with support for multiple models and even resources you can group your events into. For example, you could have lessons (events) that are held in different rooms (resources).
#Documentation
The full documentation is available at guava.cz.
#Version compatibility
| Filament version | Plugin version | Min. PHP version |
|---|---|---|
| 3.x | 1.x | 8.1 |
| 4.x | 2.x | 8.1 |
| 5.x | 3.x | 8.2 |
#Showcase


#Support us
Your support is key to the continual advancement of our plugin. We appreciate every user who has contributed to our journey so far.
While our plugin is available for all to use, if you are utilizing it for commercial purposes and believe it adds significant value to your business, we kindly ask you to consider supporting us through GitHub Sponsors. This sponsorship will assist us in continuous development and maintenance to keep our plugin robust and up-to-date. Any amount you contribute will greatly help towards reaching our goals. Join us in making this plugin even better and driving further innovation.
#Installation
You can install the package via composer:
composer require guava/calendar
Make sure to publish the package assets using:
php artisan filament:assets
Finally, make sure you have a custom filament theme (read here how to create one) and add the following to your theme.css file:
This ensures that the CSS is properly built:
@source '../../../../vendor/guava/calendar/resources/**/*';
This is optional but highly recommended as it will apply styles to better fit with the (default) filament theme:
@import '../../../../vendor/guava/calendar/resources/css/theme.css';
The paths might be a little bit different if your theme.css is located in a non-standard path. Adjust accordingly.
#Usage
Create a widget extending CalendarWidget, return some events, and add it to a Filament page:
use Guava\Calendar\Filament\CalendarWidget;
use Guava\Calendar\ValueObjects\CalendarEvent;
use Guava\Calendar\ValueObjects\FetchInfo;
use Illuminate\Support\Collection;
class MyCalendarWidget extends CalendarWidget
{
protected function getEvents(FetchInfo $info): Collection|array
{
return [
CalendarEvent::make()
->title('My first event')
->start(now())
->end(now()->addHours(2)),
];
}
}
Add the widget to any Filament page you like, such as your Dashboard, and you're done!
For everything else, including multiple models, resources, interactivity (drag & drop, resize, context menus), custom event/resource content, actions and authorization, see the full documentation at guava.cz.
#Testing
composer test
#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
- Lukas Frey
- All Contributors
- Spatie - Our package skeleton is a modified version of Spatie's Package Skeleton
- vkurko/calendar - free, open-source alternative to FullCalendar
- saade/filament-fullcalendar - heavy inspiration for this package
#License
The MIT License (MIT). Please see License File for more information.
The author
We are a web development company based in Pilsen, Czech Republic. We primarily use the TALL stack for web development.
From the same author
Guava Icon Picker
Adds an icon picker field and column for your filament panel and form builder.
Author:
Guava
Icon Select Column
Adds an Icon Select column for your filament tables.
Author:
Guava
Guava MCP
Turn your filament panel(s) into an MCP server with ease and control your filament panels with your favourite AI agents. Fully configurable, secure, supports public and authenticated resources, custom tools and more.
Author:
Guava
Guava Nested Resources
Adds support for nested resources
Author:
Guava
Featured Plugins
A selection of plugins curated by the Filament team
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Sharp Theme
A theme that gives panels a precise, technical look with square corners, strong borders, and clear contrast.
Filament