Additive, opt-in calendar surfaces and theming — the stock look stays pixel-stable, so this is a non-breaking minor release over 0.1.0.
Added
- CalendarWeekView — first-class paged week strip sharing the month grid's selection engine, holidays, prices, blocked/min-max rules, theming and accessibility.
- CalendarBrowseView — year ↔ month browse surface (tap a month to zoom into the grid).
- Multi-year
CalendarYearView—init(years:calendar:locale:); single-year init gainscalendar:. - Theme presets —
CalendarThemePreset(.standard,.ocean,.sunset,.forest,.midnight) + matchingCalendarThemestatics. - "Jump to today" button — opt-in
CalendarChrome.showsTodayButton. .calendarSelectedDateAccessory— detail view above the footer for the selected day.TimePickerConfig.hapticsEnabled— opt out of the time-wheel tick.
Fixed
- Year/blank-cell math honours the injected
Calendar+firstWeekday(Hijri etc.). - Browse/week views share the grid's exact month window (no wrong-month navigation, no out-of-range week selection); week view honours
chrome.showsWeekdayHeaderand clampscontroller.scroll(to:). CalendarYearViewtypography flows throughCalendarStyletokens (themeable + Dynamic Type).
Full notes in CHANGELOG.md.
Install: `.package(url: "https://github.com/isamercan/Almanac.git", from: "0.2.0")`