screens/DSCalendarView
DSCalendarView
screensMonthly calendar grid with event dots, selected date highlight, and swipe-to-navigate months.
iOS 17+macOS 14+
Purpose
Scheduling screens, booking calendars, and habit trackers.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| selectedDatereq | Binding<Date> | โ | Currently selected date. |
| events | [DSCalendarEvent] | [] | Events to mark with dots on the calendar. |
| displayedMonth | Binding<Date>? | nil | Externally controlled month. nil = self-managed. |
| onDateSelect | ((Date) -> Void)? | nil | Called when a date cell is tapped. |
| todayHighlight | Bool | true | Highlights today with a ring. |
Examples
Event scheduler
Calendar with event dots and a list below.
swift
VStack(spacing: 0) {
DSCalendarView(
selectedDate: $selectedDate,
events: viewModel.events,
onDateSelect: { date in viewModel.loadEvents(for: date) }
)
DSDivider()
EventListView(events: viewModel.eventsForSelectedDate)
}