import { t as ModuleTheme } from "../module-theme-hGWXgqv4.cjs"; import { t as CalendarDate } from "../calendar-date-CNNsHVof.cjs"; import { ReactNode } from "react"; //#region src/modules/days/CalendarDays.d.ts /** * The month-grid Days module — the first real UI surface on the v3 core. * * It reads its whole view model from the store: the structural grid (memoized by * month), the segmented selection lookup, and the hover preview. Each cell is * handed its packed `dayFlags` number and memoized on it, so a hover that moves * the preview re-renders only the two or three cells whose bitmask actually * changed — the per-cell performance contract the core was built for. */ /** Unpacked cell state handed to `renderDay` — stable names, no bitmask. */ type DayRenderState = { selected: boolean; inRange: boolean; rangeStart: boolean; rangeEnd: boolean; preview: boolean; today: boolean; outside: boolean; weekend: boolean; disabled: boolean; excluded: boolean; }; type RenderDay = (date: CalendarDate, state: DayRenderState) => ReactNode; type CalendarDaysProps = { /** * Months ahead of the root view this grid shows (multi-month layouts: * `` + ``). Default 0. */ offset?: number; /** * Move the root view to the clicked day's month when it isn't the shown * month. Default: `true` for the primary grid (`offset === 0`), `false` for * offset grids — a side month must not steal the primary view. */ syncViewOnSelect?: boolean; /** Render the leading/trailing days of neighbour months. Default true. */ showOutsideDays?: boolean; /** Always render 6 weeks — stable height across months. Default true. */ fixedWeeks?: boolean; /** ISO week-number column. Default false. */ weekNumbers?: boolean; /** aria-label for the week-number column header (registry key `week`). */ weekLabel?: string; /** Hide the weekday header row. Default false. */ hideWeekdays?: boolean; /** Weekday header style. Default "short" ("Mon"); narrow = "M". */ weekdayFormat?: "short" | "narrow" | "long"; /** * Weekend column BACKGROUND tint — a soft continuous strip down the weekend * columns (derived from the `weekend` ink). Opt-in: default false. The lighter * weekend cue (tinted headers) is `weekendHeaders`, on by default. */ highlightWeekends?: boolean; /** * Tint the weekend weekday HEADERS (the "Sat"/"Sun" labels) with the * `weekend` ink + bold — the v2 look. Independent of `highlightWeekends` * (the column tint). Default true. */ weekendHeaders?: boolean; /** Bold + weekend-ink weekday numbers (v2 look). Default false. */ boldWeekends?: boolean; /** * Dot under today's number (`--c-todayDot`). Default true — except when * `renderDay` is set: custom content owns the cell's inner layout, so the * dot is off unless explicitly re-enabled. */ todayDot?: boolean; /** Subtle inset outline on today (50% accent). Default true. */ highlightToday?: boolean; /** * Render days outside the `min`/`max` window as blank cells instead of * disabled ones (v2 parity). Rule-`disabled` days are NOT hidden — only the * hard window. Default `false`. */ hideOutOfRange?: boolean; /** * Custom day-cell content. The button shell, data attributes, keyboard and * aria stay owned by the library. Pass a stable reference (module-level fn * or useCallback) — an inline closure re-renders all 42 cells every pass. */ renderDay?: RenderDay; /** * Per-module theme override: a built-in family name (`data-theme`) or a * `createTheme` token object (inline `--c-*` vars on the container). */ theme?: ModuleTheme; /** Per-module scheme override (`data-scheme` on the module container). */ scheme?: "light" | "dark" | "auto"; col?: number | string; className?: string; }; declare function dayRenderState(flags: number): DayRenderState; declare function CalendarDays({ offset, syncViewOnSelect, showOutsideDays, fixedWeeks, weekNumbers, weekLabel, hideWeekdays, weekdayFormat, highlightWeekends, weekendHeaders, boldWeekends, todayDot, highlightToday, hideOutOfRange, renderDay, theme, scheme, col, className }: CalendarDaysProps): import("react/jsx-runtime").JSX.Element; //#endregion export { CalendarDays, type CalendarDaysProps, type DayRenderState, type RenderDay, dayRenderState };