import { TemplateResult } from 'lit'; import { BahtChartBase, ChartDatePoint } from './charts.js'; /** * Calendar heat for one month or N weeks: one cell per day, colored on the * sequential ramp, with a weekday header, a per-cell tooltip and a * "less / more" scale legend. * * const el = document.createElement('baht-heatmap'); * el.values = [{ date: '2026-09-01', value: 420 }]; * el.from = '2026-09-01'; el.to = '2026-09-30'; * * `show-values` swaps the compact GitHub-style SVG (weeks as columns) for a * month grid rendered as HTML (weeks as rows): seven weekday headers, one * focusable button per day carrying the day number and the formatted value, * today's cell outlined. Being HTML, the grid fills its container while text * keeps its real size — nothing is scaled. Cell height follows * `--baht-heatmap-cell-min` (56px). The two darkest ramp steps flip to light * text. * * */ export declare class BahtHeatmap extends BahtChartBase { /** `{ date: 'YYYY-MM-DD', value }[]`; days with no entry render as empty. */ values: ChartDatePoint[]; /** First day (inclusive), `YYYY-MM-DD`. Defaults to the earliest value. */ from: string; /** Last day (inclusive), `YYYY-MM-DD`. Defaults to the latest value. */ to: string; /** Caption on the low end of the scale legend. */ lessLabel: string; /** Caption on the high end of the scale legend. */ moreLabel: string; /** Text shown in a zero/empty cell in `show-values` mode. */ zeroLabel: string; /** Roomier month-grid layout with the day number and value printed in each cell. */ showValues: boolean; /** Accessible summary; falls back to a generated sentence. */ label: string; private get range(); protected render(): TemplateResult; /** Compact GitHub-style layout: weeks as columns, weekdays as rows. */ private renderCompact; /** * `show-values` layout: an HTML month grid — weeks as rows, weekdays as * columns, the day number and value printed in each cell. Buttons give * every day focus and a role for free; the tooltip rides on focus/hover. */ private renderCalendar; }