When to use it
Use Gregorian date-only identities and an inclusive range of at most 3660 days. Missing days stay distinct from zero.
Shows daily activity with explicit missing dates and a numeric intensity legend.
Apple availability
Import LumenUI in the target that uses this component. iPad support follows the iOS package baseline and uses native iPad layout behavior.
Native example
Use Gregorian date-only identities and an inclusive range of at most 3660 days. Missing days stay distinct from zero.
LumenCalendarHeatmap(data: [.init(date: "2026-08-01", value: 3)], label: "Daily activity", startDate: "2026-08-01", endDate: "2026-08-28")Reference
The primary shared and platform-specific options exposed by LumenCalendarHeatmap.
| API | Values or type | Default | Description |
|---|---|---|---|
| data | LumenCalendarHeatmapDatum[] | Required | Date-only identity and nullable finite value. |
| startDate, endDate | YYYY-MM-DD | Required | Inclusive range. Duplicate, invalid or out-of-range dates fail closed. |
| weekStartsOn | 0 or 1 | 0 | Sunday or Monday. weekdayLabels is always Sunday-indexed. |
| formatDate, labels | Localized formatters and labels | Platform defaults | Formats dates and exact measurements consistently. |
| showData | Boolean | true | Provides the visible expandable exact values. |
Native behavior
Use Gregorian date-only identities and an inclusive range of at most 3660 days. Missing days stay distinct from zero.
Retains exact date and value facts, including when the visible data list is hidden.
Shared component