FluentCalendarPanel class

One column of a calendar: a caption, its chevrons, and a grid.

A calendar is one or two of these side by side. Upstream splits the same way — CalendarDay and CalendarMonth are separate components sharing a navigated date — and the split is what makes isMonthPickerVisible a layout question rather than a rewrite.

Annotations

Constructors

FluentCalendarPanel({required int columns, required List<List<Widget>> rows, required String caption, required String captionSemanticLabel, List<String> weekdayLabels = const <String>[], List<String> weekdaySemanticLabels = const <String>[], List<String> weekNumbers = const <String>[], List<String> weekNumberSemanticLabels = const <String>[], VoidCallback? onClose, String closeLabel = '', VoidCallback? onPrevious, VoidCallback? onNext, VoidCallback? onCaptionPressed, String previousLabel = '', String nextLabel = '', FluentCalendarStyle? style, double? slideProgress, bool? slideForwards})
Creates a panel.
const

Properties

caption → String
What the caption reads — March 2026, 2026, 2026 - 2037.
final
captionSemanticLabel → String
Accessible name of the caption button, which says what pressing it does.
final
closeLabel → String
Accessible name of the close button.
final
columns → int
Cells per row — seven for a day grid, four otherwise.
final
hashCode → int
The hash code for this object.
no setterinherited
nextLabel → String
Accessible name of the next chevron.
final
onCaptionPressed → VoidCallback?
Drills this panel out to a coarser view. Null when there is none — a day panel sitting beside a month panel has nothing to drill to, because the coarser view is already on screen.
final
onClose → VoidCallback?
Dismisses the calendar. Null hides the close button entirely.
final
onNext → VoidCallback?
Steps forward a page.
final
onPrevious → VoidCallback?
Steps back a page. Null disables the chevron — upstream keeps an out-of-bounds chevron focusable rather than removing it, so focus is not lost when it becomes disabled after a click.
final
previousLabel → String
Accessible name of the previous chevron.
final
rows → List<List<Widget>>
The grid, row-major. Already-built widgets, because FluentCalendar has to attach a focus node to each cell before it can resolve its state.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
slideForwards → bool?
Which way this panel's last page change went. Null follows FluentCalendarBaseState.slideForwards.
final
slideProgress → double?
How far through its own entrance this panel's grid is, 0 to 1, when it moves independently of the other panel. Null follows FluentCalendarBaseState.slideProgress.
final
style → FluentCalendarStyle?
The style this panel is drawn with, when it differs from the calendar's.
final
weekdayLabels → List<String>
Drawn weekday abbreviations, already rotated for the first day of week. Empty on anything but a day grid.
final
weekdaySemanticLabels → List<String>
Full weekday names, parallel to weekdayLabels — a one-letter column heading is not a usable accessible name.
final
weekNumbers → List<String>
One drawn week number per grid row, or empty for no week column.
final
weekNumberSemanticLabels → List<String>
Announced names for weekNumbers — "Week 12", not "12".
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited