PathLogs UI
English

Компоненты

HeatmapCalendar

Год активности сеткой недель, как график вкладов на GitHub.

Календарная теплокарта года — сетка недель, как график вкладов на GitHub. Значение каждого дня превращается в уровень цвета; над сеткой — месяцы, слева — дни недели.

Пример

авг.сент.окт.нояб.дек.янв.февр.мартапр.майиюньиюльавг.втчтсб25 августа: 726 августа: 027 августа: 1028 августа: 729 августа: 130 августа: 431 августа: 01 сентября: 92 сентября: 43 сентября: 114 сентября: 05 сентября: 06 сентября: 07 сентября: 08 сентября: 09 сентября: 1010 сентября: 011 сентября: 012 сентября: 513 сентября: 014 сентября: 415 сентября: 1016 сентября: 717 сентября: 718 сентября: 819 сентября: 1120 сентября: 021 сентября: 1122 сентября: 1223 сентября: 1124 сентября: 125 сентября: 126 сентября: 1227 сентября: 428 сентября: 029 сентября: 830 сентября: 01 октября: 82 октября: 43 октября: 114 октября: 05 октября: 106 октября: 67 октября: 18 октября: 59 октября: 1210 октября: 511 октября: 012 октября: 013 октября: 114 октября: 615 октября: 016 октября: 917 октября: 1018 октября: 019 октября: 020 октября: 321 октября: 422 октября: 423 октября: 024 октября: 025 октября: 026 октября: 1227 октября: 828 октября: 229 октября: 030 октября: 631 октября: 81 ноября: 02 ноября: 03 ноября: 64 ноября: 115 ноября: 96 ноября: 17 ноября: 78 ноября: 09 ноября: 010 ноября: 1211 ноября: 012 ноября: 813 ноября: 614 ноября: 315 ноября: 216 ноября: 017 ноября: 018 ноября: 319 ноября: 420 ноября: 1121 ноября: 122 ноября: 023 ноября: 024 ноября: 325 ноября: 1226 ноября: 127 ноября: 328 ноября: 329 ноября: 030 ноября: 01 декабря: 32 декабря: 13 декабря: 04 декабря: 115 декабря: 96 декабря: 107 декабря: 08 декабря: 79 декабря: 910 декабря: 911 декабря: 412 декабря: 1013 декабря: 014 декабря: 015 декабря: 116 декабря: 017 декабря: 718 декабря: 019 декабря: 020 декабря: 021 декабря: 022 декабря: 523 декабря: 124 декабря: 925 декабря: 1126 декабря: 827 декабря: 1028 декабря: 029 декабря: 230 декабря: 131 декабря: 91 января: 22 января: 23 января: 14 января: 115 января: 56 января: 97 января: 88 января: 09 января: 510 января: 111 января: 512 января: 313 января: 914 января: 215 января: 616 января: 217 января: 018 января: 019 января: 1120 января: 921 января: 1222 января: 923 января: 724 января: 025 января: 026 января: 127 января: 428 января: 329 января: 330 января: 731 января: 01 февраля: 62 февраля: 23 февраля: 94 февраля: 05 февраля: 116 февраля: 07 февраля: 08 февраля: 09 февраля: 210 февраля: 011 февраля: 1212 февраля: 813 февраля: 1214 февраля: 015 февраля: 016 февраля: 817 февраля: 018 февраля: 219 февраля: 220 февраля: 021 февраля: 022 февраля: 023 февраля: 924 февраля: 325 февраля: 826 февраля: 827 февраля: 928 февраля: 01 марта: 02 марта: 123 марта: 124 марта: 115 марта: 46 марта: 47 марта: 08 марта: 09 марта: 510 марта: 511 марта: 112 марта: 413 марта: 1014 марта: 015 марта: 416 марта: 317 марта: 018 марта: 419 марта: 020 марта: 521 марта: 022 марта: 023 марта: 824 марта: 025 марта: 926 марта: 1027 марта: 128 марта: 029 марта: 330 марта: 031 марта: 01 апреля: 122 апреля: 83 апреля: 54 апреля: 05 апреля: 06 апреля: 127 апреля: 08 апреля: 79 апреля: 310 апреля: 511 апреля: 012 апреля: 013 апреля: 014 апреля: 1115 апреля: 016 апреля: 1117 апреля: 118 апреля: 019 апреля: 020 апреля: 121 апреля: 622 апреля: 023 апреля: 024 апреля: 1125 апреля: 526 апреля: 027 апреля: 428 апреля: 029 апреля: 630 апреля: 11 мая: 92 мая: 03 мая: 04 мая: 115 мая: 56 мая: 117 мая: 28 мая: 09 мая: 010 мая: 011 мая: 212 мая: 413 мая: 014 мая: 015 мая: 016 мая: 017 мая: 018 мая: 519 мая: 820 мая: 1221 мая: 122 мая: 023 мая: 024 мая: 025 мая: 026 мая: 027 мая: 628 мая: 329 мая: 1230 мая: 031 мая: 01 июня: 122 июня: 03 июня: 84 июня: 75 июня: 06 июня: 07 июня: 68 июня: 69 июня: 210 июня: 511 июня: 312 июня: 313 июня: 014 июня: 315 июня: 016 июня: 1117 июня: 1018 июня: 419 июня: 020 июня: 021 июня: 022 июня: 823 июня: 1124 июня: 1125 июня: 026 июня: 327 июня: 028 июня: 1229 июня: 030 июня: 71 июля: 62 июля: 93 июля: 04 июля: 05 июля: 06 июля: 37 июля: 118 июля: 59 июля: 010 июля: 011 июля: 012 июля: 013 июля: 014 июля: 1115 июля: 1016 июля: 017 июля: 618 июля: 019 июля: 020 июля: 1021 июля: 022 июля: 1023 июля: 024 июля: 025 июля: 826 июля: 027 июля: 028 июля: 1229 июля: 530 июля: 031 июля: 81 августа: 32 августа: 03 августа: 124 августа: 35 августа: 46 августа: 107 августа: 68 августа: 29 августа: 010 августа: 811 августа: 012 августа: 1113 августа: 214 августа: 1015 августа: 016 августа: 017 августа: 718 августа: 1019 августа: 820 августа: 621 августа: 422 августа: 023 августа: 024 августа: 3
меньшебольше
1471 всего226 активных дней10 лучшая серия

values — карта «день → число». Отсутствующий день считается нулём: перечислять все 365 дней не нужно.

Пропсы

values*Record<string, number>

Значения по дням в формате YYYY-MM-DD.

from / toDate

Границы интервала. По умолчанию — последние 365 дней до сегодня.

colorstring

по умолчанию: var(--accent)

Базовый цвет: уровни — это он с растущей непрозрачностью.

levelsnumber

по умолчанию: 4

Сколько уровней цвета, не считая пустого.

cellSizenumber

по умолчанию: 12

Сторона клетки в пикселях.

weekStartnumber

по умолчанию: 1

С какого дня начинается неделя: 1 — понедельник.

legendboolean

по умолчанию: false

Легенда «меньше → больше» под сеткой.

summaryboolean

по умолчанию: false

Сводка: всего, активных дней, лучшая серия.

onSelectDay(cell) => void

Клик по клетке.

Уровни по квантилям

День с любым ненулевым значением получает как минимум первый уровень: день, в котором что-то было, не выглядит пустым.

Сетка отдельно

tsx
import {
  buildHeatmap,        // недели, месяцы, пороги, сводка
  quantileThresholds,  // пороги уровней по квантилям
  activityStreaks,     // текущая и самая длинная серия
  trailingRange,       // «последние N дней, включая сегодня»
} from "@toimetdev/pathlogs-core";