import type { DayPickerProps } from "../types/index.js"; /** * Extracts `data-` attributes from the DayPicker props. * * This function collects all `data-` attributes from the props and adds * additional attributes based on the DayPicker configuration. * * @param props The DayPicker props. * @returns An object containing the `data-` attributes. */ export function getDataAttributes( props: DayPickerProps, ): Record { const dataAttributes: Record = { "data-mode": props.mode ?? undefined, "data-required": "required" in props ? props.required : undefined, "data-multiple-months": (props.numberOfMonths && props.numberOfMonths > 1) || undefined, "data-week-numbers": props.showWeekNumber || undefined, "data-broadcast-calendar": props.broadcastCalendar || undefined, "data-nav-layout": props.navLayout || undefined, }; Object.entries(props).forEach(([key, val]) => { if (key.startsWith("data-")) { dataAttributes[key] = val; } }); return dataAttributes; }