Almanac 0.1.0
A fully-configurable SwiftUI date-range calendar for iOS, built on Airbnb HorizonCalendar.
Highlights
- Range & single selection, holidays, per-day price badges, blocked dates, min/max nights.
- Full design system — one
CalendarStyle(theme colors + typography + metrics + day shape), injected via.calendarStyle(_:). Live in-appCalendarStyleConfiguratorthat emits copyable Swift. - Composition API —
.calendarDay/.calendarMonthHeader/.calendarWeekdayHeader/.calendarLegend. - Configurable chrome —
CalendarChrometoggles every surrounding part;CalendarGridViewfor a bare grid. - Layout & navigation — vertical or horizontal paging, configurable first weekday,
CalendarController.scroll(to:), 12-monthCalendarYearView. - Any
Calendar— Gregorian, Hijri (Umm al-Qura), … plus RTL and tr / en / ar localization. - Accessibility — VoiceOver labels, Dynamic Type, Reduce Motion.
- Standalone drum time pickers —
TimeWheel24/TimeWheelAmPm.
Demo
The demo app ships a Calendar Library example gallery (13 screens) re-creating the kizitonwose Calendar samples on top of Almanac's public API.
Requirements
iOS 17+, Xcode 16+. Install via Swift Package Manager:
```swift
.package(url: "https://github.com/isamercan/Almanac.git\", from: "0.1.0")
```