react-day-picker
Version:
Customizable Date Picker for React
36 lines (33 loc) • 1.15 kB
text/typescript
import { DateLib, type DateLibOptions } from "../classes/DateLib.js";
import type { Modifiers } from "../types/index.js";
/**
* Generates the ARIA label for a day button.
*
* Use the `modifiers` argument to provide additional context for the label,
* such as indicating if the day is "today" or "selected."
*
* @defaultValue The formatted date.
* @param date - The date to format.
* @param modifiers - The modifiers providing context for the day.
* @param options - Optional configuration for the date formatting library.
* @param dateLib - An optional instance of the date formatting library.
* @returns The ARIA label for the day button.
* @group Labels
* @see https://daypicker.dev/docs/translation#aria-labels
*/
export function labelDayButton(
date: Date,
modifiers: Modifiers,
options?: DateLibOptions,
dateLib?: DateLib
) {
let label = (dateLib ?? new DateLib(options)).format(date, "PPPP");
if (modifiers.today) label = `Today, ${label}`;
if (modifiers.selected) label = `${label}, selected`;
return label;
}
/**
* @ignore
* @deprecated Use `labelDayButton` instead.
*/
export const labelDay = labelDayButton;