UNPKG

react-day-picker

Version:

Customizable Date Picker for React

33 lines (30 loc) 1 kB
import type { CSSProperties } from "react"; import { UI } from "../UI.js"; import type { Modifiers, ModifiersStyles, Styles } from "../types/index.js"; /** * Returns the computed style for a day based on its modifiers. * * This function merges the base styles for the day with any styles associated * with active modifiers. * * @param dayModifiers The modifiers applied to the day. * @param styles The base styles for the calendar elements. * @param modifiersStyles The styles associated with specific modifiers. * @returns The computed style for the day. */ export function getStyleForModifiers( dayModifiers: Modifiers, styles: Partial<Styles> = {}, modifiersStyles: Partial<ModifiersStyles> = {} ): CSSProperties { let style: CSSProperties = { ...styles?.[UI.Day] }; Object.entries(dayModifiers) .filter(([, active]) => active === true) .forEach(([modifier]) => { style = { ...style, ...modifiersStyles?.[modifier] }; }); return style; }