@@ -191,22 +191,24 @@ const ExpandableCalendar = forwardRef<ExpandableCalendarRef, ExpandableCalendarP
191
191
192
192
const [ position , setPosition ] = useState ( numberOfDays ? Positions . CLOSED : initialPosition ) ;
193
193
const isOpen = position === Positions . OPEN ;
194
- const getOpenHeight = ( ) => {
194
+ const getOpenHeight = useCallback ( ( ) => {
195
195
if ( ! horizontal ) {
196
196
return Math . max ( constants . screenHeight , constants . screenWidth ) ;
197
197
}
198
198
return headerHeight + ( WEEK_HEIGHT * ( numberOfWeeks . current ) ) + ( hideKnob ? 0 : KNOB_CONTAINER_HEIGHT ) ;
199
- } ;
199
+ } , [ headerHeight , horizontal , hideKnob , numberOfWeeks ] ) ;
200
+
200
201
const openHeight = useRef ( getOpenHeight ( ) ) ;
201
202
const closedHeight = useMemo ( ( ) => headerHeight + WEEK_HEIGHT + ( hideKnob || Number ( numberOfDays ) > 1 ? 0 : KNOB_CONTAINER_HEIGHT ) , [ numberOfDays , hideKnob , headerHeight ] ) ;
202
- const startHeight = useMemo ( ( ) => isOpen ? openHeight . current : closedHeight , [ closedHeight , isOpen ] ) ;
203
+ const startHeight = useMemo ( ( ) => isOpen ? getOpenHeight ( ) : closedHeight , [ closedHeight , isOpen , getOpenHeight ] ) ;
203
204
const _height = useRef ( startHeight ) ;
204
205
const deltaY = useMemo ( ( ) => new Animated . Value ( startHeight ) , [ startHeight ] ) ;
205
206
const headerDeltaY = useRef ( new Animated . Value ( isOpen ? - headerHeight : 0 ) ) ;
206
207
207
208
useEffect ( ( ) => {
208
209
_height . current = startHeight ;
209
210
deltaY . setValue ( startHeight ) ;
211
+ _wrapperStyles . current . style . height = startHeight ;
210
212
} , [ startHeight ] ) ;
211
213
212
214
useEffect ( ( ) => {
0 commit comments