import type { StyleProp, TextStyle, ViewStyle, ImageStyle } from 'react-native'; /* * All "container" styles are currently implemented as View or TouchableOpacity components * All other styles are appended with their component type. * Ex: arrowImage is an Image component, titleText is a Text component */ export interface Theme { calendarContainer: StyleProp; // Outermost container headerContainer: StyleProp; // Wraps arrows and title /* * ------- ARROW STYLES ---------- * Different arrow states have different styles: * 1. normal arrow // applies to all calendars, all views * 2. disabled arrow // applies to all calendars, all views */ normalArrowContainer: StyleProp; disabledArrowContainer: StyleProp; normalArrowImage: StyleProp; disabledArrowImage: StyleProp; titleContainer: StyleProp; titleText: StyleProp; weekdaysContainer: StyleProp; // Wraps all the weekday names weekdayText: StyleProp; daysContainer: StyleProp; // Wraps all the days of the month in MonthView monthsContainer: StyleProp; // Wraps all the months of the year in YearView /* * ------- MONTH STYLES ---------- * Different month states have different styles: * 1. normal month // applies to all calendars, year view * 2. disabled month // applies to all calendars, year view * 3. selected month // applies to all calendars, year view */ normalMonthContainer: StyleProp; disabledMonthContainer: StyleProp; selectedMonthContainer: StyleProp; normalMonthText: StyleProp; disabledMonthText: StyleProp; selectedMonthText: StyleProp; /* * ------- DAY STYLES ---------- * Different day states have different styles: * 1. normal day // applies to all calendars, month view * 2. disabled day // applies to all calendars, month view * 3. start of week day // applies to all calendars, month view * 4. end of week day // applies to all calendars, month view * 5. start of month day // applies to all calendars, month view * 6. end of month day // applies to all calendats, month view * 7. selected day // applies to date selection calendar, month view */ normalDayContainer: StyleProp; disabledDayContainer: StyleProp; selectedDayContainer: StyleProp; extraDayContainer: StyleProp; startOfWeekDayContainer: StyleProp; endOfWeekDayContainer: StyleProp; startOfMonthDayContainer: StyleProp; endOfMonthDayContainer: StyleProp; normalDayText: StyleProp; disabledDayText: StyleProp; selectedDayText: StyleProp; extraDayText: StyleProp; startOfWeekDayText: StyleProp; endOfWeekDayText: StyleProp; startOfMonthDayText: StyleProp; endOfMonthDayText: StyleProp; }