1- import omit from 'lodash/omit' ;
21import PropTypes from 'prop-types' ;
32import XDate from 'xdate' ;
43import React , { useMemo } from 'react' ;
@@ -12,21 +11,17 @@ import BasicDay, {BasicDayProps} from './basic';
1211import PeriodDay from './period' ;
1312
1413
15- const basicDayPropsTypes = omit ( BasicDay . propTypes , 'date' ) ;
16-
17- export interface DayProps extends Omit < BasicDayProps , 'date' > {
18- /** The day to render */
19- day ?: string ;
14+ export interface DayProps extends BasicDayProps {
2015 /** Provide custom day rendering component */
2116 dayComponent ?: React . ComponentType < DayProps & { date ?: DateData } > ;
2217}
2318
2419const Day = ( props : DayProps ) => {
25- const { day , marking, dayComponent, markingType} = props ;
26- const _day = day ? new XDate ( day ) : undefined ;
27- const _isToday = _day ? isToday ( _day ) : undefined ;
20+ const { date , marking, dayComponent, markingType} = props ;
21+ const _date = date ? new XDate ( date ) : undefined ;
22+ const _isToday = _date ? isToday ( _date ) : undefined ;
2823
29- const markingLabel = useMemo ( ( ) => {
24+ const markingAccessibilityLabel = useMemo ( ( ) => {
3025 let label = '' ;
3126
3227 if ( marking ) {
@@ -59,31 +54,25 @@ const Day = (props: DayProps) => {
5954 const today = getDefaultLocale ( ) . today || 'today' ;
6055 const formatAccessibilityLabel = getDefaultLocale ( ) . formatAccessibilityLabel || 'dddd d MMMM yyyy' ;
6156
62- return `${ _isToday ? today : '' } ${ _day ?. toString ( formatAccessibilityLabel ) } ${ markingLabel } ` ;
63- } , [ _day , marking , _isToday ] ) ;
64-
65- const dayProps = useMemo ( ( ) => {
66- return omit ( props , 'day' ) ;
67- } , [ _day ] ) ;
57+ return `${ _isToday ? today : '' } ${ _date ?. toString ( formatAccessibilityLabel ) } ${ markingAccessibilityLabel } ` ;
58+ } , [ _date , marking , _isToday ] ) ;
6859
6960 const Component = dayComponent || markingType === 'period' ? PeriodDay : BasicDay ;
7061
7162 return (
7263 < Component
73- { ...dayProps }
74- date = { day }
64+ { ...props }
7565 accessibilityLabel = { getAccessibilityLabel }
76- testID = { `${ SELECT_DATE_SLOT } -${ day } ` }
66+ testID = { `${ SELECT_DATE_SLOT } -${ date } ` }
7767 >
78- { formatNumbers ( _day ?. getDate ( ) ) }
68+ { formatNumbers ( _date ?. getDate ( ) ) }
7969 </ Component >
8070 ) ;
8171} ;
8272
8373export default Day ;
8474Day . displayName = 'Day' ;
8575Day . propTypes = {
86- ...basicDayPropsTypes ,
87- day : PropTypes . string ,
76+ ...BasicDay . propTypes ,
8877 dayComponent : PropTypes . any
8978} ;
0 commit comments