Skip to content

Пропсы

Данные

ПропТипПо умолчаниюОписание
dataHeatmapData[]Данные активности. Принимает массив [{ date, value }] или объект-карту { 'YYYY-MM-DD': значение }.

Диапазон дат

ПропТипПо умолчаниюОписание
range'year' | 'month' | '3months' | '6months'Готовый пресет диапазона. Приоритетнее startDate/endDate.
startDatestring | Dateгод назадНачало видимого диапазона.
endDatestring | DateсегодняКонец видимого диапазона.

Цвета и шкала

ПропТипПо умолчаниюОписание
scaleMode'levels' | 'gradient''levels'Режим цветовой шкалы.
levelsnumber5Количество уровней цвета. Ограничено 2–10.
colorPreset'github' | 'blue' | 'orange' | 'red' | 'purple' | 'teal'Готовая палитра (учитывает светлую/тёмную тему).
colorsstring[]из темыЦвета для каждого уровня. Индекс 0 = пустой день.
colorFromstring'#9be9a8'Начальный цвет градиента (режим gradient).
colorTostring'#216e39'Конечный цвет градиента / целевой цвет авто-палитры.
maxValuenumberавтоМаксимальное значение для шкалы. Считается из данных, если не задано.
emptyColorstringиз темыЦвет фона дней без данных.

Внешний вид

ПропТипПо умолчаниюОписание
theme'light' | 'dark' | 'auto''auto'Встроенная цветовая тема.
cellSizenumber | string12Размер ячейки в px или CSS-строке ('1rem').
cellGapnumber | string3Отступ между ячейками.
cellRadiusnumber | string2Скругление углов ячейки. 50 = круги.
weekStart0–61Первый день недели. 0 = воскресенье, 1 = понедельник.
orientation'horizontal' | 'vertical''horizontal'Направление раскладки. Вертикальная складывает недели сверху вниз (дни недели сверху, месяцы слева).
showWeekdaysbooleantrueПоказывать подписи дней недели.
showMonthsbooleantrueПоказывать подписи месяцев.
showLegendbooleantrueПоказывать легенду цветовой шкалы.
legendLabelstring''Текст рядом с легендой.
stickyWeekdaysbooleantrueПрилипание подписей дней недели при горизонтальном скролле.

Подсветка сегодня

ПропТипПо умолчаниюОписание
todayboolean | TodayOptionsfalseПодсветить сегодняшнюю ячейку. true использует дефолты (ring, синий, 2px).

Структура TodayOptions

ts
interface TodayOptions {
  color?: string                               // цвет подсветки (по умолчанию '#0969da' / '#58a6ff' в тёмной теме)
  style?: 'ring' | 'fill'  // стиль (по умолчанию 'ring')
  size?:  number           // толщина в px (по умолчанию 2)
}
СтильОписание
ringРамка внутри ячейки
fillЗаливка ячейки цветом, перекрывает цвет активности

Тултип

ПропТипПо умолчаниюОписание
tooltipEnabledbooleantrueВключить тултип при наведении.
tooltipFormatter(day: HeatmapDay) => stringвстроенныйСвой текст тултипа.

Локализация

ПропТипПо умолчаниюОписание
localeHeatmapLocaleанглийскийНазвания месяцев, дней недели, подписи.
dateFormatstring | ((date: string) => string)'YYYY-MM-DD'Формат отображения даты. Токены: YYYY, MM, DD.

Структура HeatmapLocale

ts
interface HeatmapLocale {
  months?:        [string × 12]  // полные названия месяцев
  monthsShort?:   [string × 12]  // сокращённые названия месяцев
  weekdays?:      [string × 7]   // полные названия дней (индекс 0 = воскресенье)
  weekdaysShort?: [string × 7]   // сокращённые названия дней
  noDataLabel?:   string          // подпись пустых дней в тултипе
  formatDate?:    (date: string) => string  // свой форматтер даты
}