v0.3.0
Added
reservedDates()marks days that are already taken rather than closed. They block selection like unavailable dates, but keep the day's own background and carry a corner icon, a hairline ring in the primary color, and aReservedtooltip — so "booked by someone else" no longer looks identical to "closed by a rule".reservedIcon()sets the marker icon. Accepts a FilamentScalableIcon— everyHeroiconenum case is one — or a plain icon name. Defaults toHeroicon::Bookmark.reservedTooltip()overrides the tooltip text on reserved days, which also feeds the icon'saria-label. Pass an empty string to drop the tooltip and keep the icon.calendarColumns()accepts a column count per breakpoint, e.g.['sm' => 2, 'lg' => 3, 'xl' => 4]. Keys aredefault,sm,md,lg,xland2xl(xxlandxswork as aliases), matching Tailwind's widths. Each value holds until a wider breakpoint overrides it, and counts are still clamped tomonths().--fi-fila-calendar-reserved-colorCSS variable for theming the reserved ring and marker.- Server-side validation on
CalendarInputrejecting a submission that lands on a reserved day, including one covered by a range, so a crafted Livewire payload cannot double-book.unavailableDates()andweekEndDays()stay UI-only, so records already sitting on those dates keep saving.
Fixed
disabledDates()andunavailableDates()silently produced no blocked days when givenCarboninstances or datetime strings, such as a date column plucked off a model. Values are now normalized toY-m-don both the PHP and JavaScript sides, and unparseable entries are dropped instead of reaching the browser asNaN.
Changed
- The
titletooltip removed in 0.2.0 returns for reserved days only.
Full changelog: v0.2.0...v0.3.0