Calendar Widget
A lightweight monthly calendar widget for Filament dashboards. Wraps the <x-aura::calendar> component from aura-ui with Filament section styling.
When to Use
Use AuraCalendarWidget when you need a simple month-view calendar without external dependencies. For advanced features (week/day views, drag-and-drop, resize), use saade/filament-fullcalendar with the FullCalendar CSS override.
Setup
Create a widget that extends AuraCalendarWidget:
use BlueStarSystem\AuraFilament\Widgets\AuraCalendarWidget;
use BlueStarSystem\AuraFilament\Support\CalendarEvent;
class ProjectCalendar extends AuraCalendarWidget
{
protected ?string $heading = 'Deadlines';
protected function getEvents(): array
{
return Task::query()
->whereNotNull('due_date')
->get()
->map(fn ($task) => CalendarEvent::make($task->title)
->date($task->due_date)
->color($task->is_overdue ? 'danger' : 'primary')
->icon('heroicon-o-flag')
->url(TaskResource::getUrl('edit', ['record' => $task]))
)
->toArray();
}
}
CalendarEvent API
| Method | Type | Default | Description |
|---|---|---|---|
make(title) |
string | required | Factory constructor |
->date(date) |
Carbon|string | required | Event date |
->endDate(date) |
Carbon|string|null | null | End date (multi-day) |
->color(color) |
string | 'primary' | primary/success/warning/danger/info |
->icon(name) |
string|null | null | Heroicon name |
->url(url) |
string|null | null | Click destination |
->description(text) |
string|null | null | Tooltip text |
->toArray() |
array | — | Serialize for view |
->carbon() |
?Carbon | — | Parse date to Carbon |
Limitations
This widget intentionally supports month view only. It does not support:
- Week or day views
- Drag-and-drop event moving
- Event duration resize
- Time-slot scheduling
For these features, use saade/filament-fullcalendar.