Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
35 lines
1.1 KiB
Text
35 lines
1.1 KiB
Text
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;
|