voo_calendar library

Classes

PlanAccentPill
Compact tappable accent pill ("Today · Day 5", "Jump to Day 8") shared by the plan calendar surfaces.
PlanAddDayChip
Trailing "+" affordance shown at the end of PlanDayStrip when the host allows the plan length to be extended. Tap adds one day. Sized to match PlanDayChip so it feels like a continuation of the day list.
PlanCalendarCard
The unified calendar block of a plan surface: day identity ("Day 2 of 30" with date and days-left), an integrated strip/grid toggle, true plan progress, the day cells flanked by prev/next steppers (strip mode), and the day-title row with a jump-to-today pill. Replaces the former scattered header + progress bar + quick-jump chrome.
PlanCalendarController
Owns selection + item state for a VooPlanCalendar. Works in day-relative space (Day 1..N). When startDate is set the controller can additionally compute the absolute date/weekday for any day in the plan.
PlanDayChip
A single Day chip used in PlanDayStrip and PlanDayGrid. Shows the day number prominently, an optional weekday subtitle (when an absolute date is known), and up to three indicator dots below the number when the day has items.
PlanDayCoordinator
Pure helpers for converting between an absolute calendar date and a 1-based day offset within a plan that started on a specific anchor date.
PlanDayDetailPanel
Renders the selected day's items, grouped by morning/afternoon/evening for scheduled items, with "Anytime today" at the bottom for items without a time.
PlanDayGrid
Paginated grid of every day in the plan. rowsPerPage × columns cells per page; prev/next pagination if the plan extends beyond one page. Auto-advances to the page containing the controller's selected day. Renders an "+ Add another week" button on the last page that calls onExtend (or controller.extendBy(7) by default). Set allowExtend to false to hide the button entirely (e.g. read-only overview surfaces where extending the plan is not appropriate).
PlanDayMultiPicker
A modal bottom sheet that lets the user pick multiple day-offsets from a paginated grid. Used by "Repeat on other days" flows in fitness/meal/workout plan editors. The user can extend the visible range with "+ Add another week" without ever scrolling a tall grid.
PlanDayStrip
Horizontal scrollable strip of PlanDayChip cells. Auto-scrolls the selected day into view when the controller's selection changes. When onExtend is provided, renders a trailing PlanAddDayChip that lets the user grow the plan by one day.
PlanDayTitleEditor
Compact inline editor for a plan-day's optional custom title (e.g. "Push Day", "Recovery"). Display mode shows title ?? placeholder next to a pencil icon; tapping flips to an inline TextField. Submitting an empty value reports null to clear the title.
PlanEmptyDayCopy
Copy and icon for a plan day with no items. Hosts override per plan type — the rest default only fits workout-style plans.
PlanProgressHeader
"Day N of M" header with a slim progress indicator and an optional strip/grid display-mode toggle.
VooAdvancedDateTimePicker
Advanced Material 3 date/time picker
VooCalendar
Highly customizable Material 3 calendar widget
VooCalendarController
Calendar controller
VooCalendarDayView
Day view for VooCalendar
VooCalendarEvent
Calendar event
VooCalendarEventRenderInfo
Information about how an event should be rendered in the calendar Provides dimensions and context for custom event builders
VooCalendarEventWidget
Official widget for rendering custom calendar events with proper dimension handling
VooCalendarGestureConfig
Gesture configuration for calendar selection
VooCalendarMonthView
Month view for VooCalendar
VooCalendarScheduleView
Schedule view for VooCalendar
VooCalendarTheme
Theme configuration for VooCalendar following Material 3 design
VooCalendarWeekView
Week view for VooCalendar
VooCalendarYearView
Year view for VooCalendar
VooDatePickerDialog
Date picker dialog
VooDateRangePickerDialog
Date range picker dialog
VooDateTimeComponents
Configuration for what components are selectable
VooDateTimePicker
Material 3 date/time picker using VooCalendar
VooDayViewConfig
Configuration for Day View
VooMonthViewConfig
Configuration for Month View
VooPlanCalendar
A calendar surface tuned for plans whose items are positioned by day-offset (Day 1..N) rather than absolute date. Composes a progress header, a togglable Day strip / Day grid, prev/next/today quick-jump controls, and a detail panel that groups items by VooPlanItem.scheduledTime.
VooPlanItem
A scheduled item within a plan, positioned by day offset (1..N) rather than an absolute calendar date. Optional scheduledTime orders items within a day.
VooScheduleViewConfig
Configuration for Schedule View
VooWeekViewConfig
Configuration for Week View
VooYearViewConfig
Configuration for Year View

Enums

PlanDisplayMode
How a VooPlanCalendar renders its day index above the detail panel.
SelectionFeedback
Selection feedback type
VooCalendarSelectionMode
Calendar selection mode
VooCalendarView
Calendar view types
VooDateTimePickerMode
Date and time picker mode
VooDateTimeSelectionMode
Advanced date and time picker selection modes