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})
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
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