@@ -131,6 +131,7 @@ function DateRangeInput<N extends NameType>(props: Props<N>) {
131
131
endDate : undefined ,
132
132
} ) ;
133
133
const [ calendarMonthSelectionPopupClassName ] = React . useState ( randomString ( 16 ) ) ;
134
+ const [ rangeInputClassName ] = React . useState ( randomString ( 16 ) ) ;
134
135
const createdContainerRef = React . useRef < HTMLDivElement > ( null ) ;
135
136
const popupRef = React . useRef < HTMLDivElement > ( null ) ;
136
137
@@ -167,6 +168,15 @@ function DateRangeInput<N extends NameType>(props: Props<N>) {
167
168
[ hideCalendar , calendarMonthSelectionPopupClassName ] ,
168
169
) ;
169
170
171
+ React . useEffect ( ( ) => {
172
+ if ( showCalendar && window . innerWidth <= 528 ) {
173
+ const el = document . getElementsByClassName (
174
+ rangeInputClassName ,
175
+ ) ?. [ 0 ] ;
176
+ el ?. scrollIntoView ( true ) ;
177
+ }
178
+ } , [ showCalendar , rangeInputClassName ] ) ;
179
+
170
180
useBlurEffect (
171
181
showCalendar ,
172
182
handlePopupBlur ,
@@ -311,7 +321,7 @@ function DateRangeInput<N extends NameType>(props: Props<N>) {
311
321
</ >
312
322
) }
313
323
actionsContainerClassName = { actionsContainerClassName }
314
- className = { className }
324
+ className = { _cs ( rangeInputClassName , className ) }
315
325
disabled = { disabled }
316
326
error = { error }
317
327
errorContainerClassName = { errorContainerClassName }
@@ -325,7 +335,13 @@ function DateRangeInput<N extends NameType>(props: Props<N>) {
325
335
labelContainerClassName = { labelContainerClassName }
326
336
readOnly = { readOnly }
327
337
input = { (
328
- < >
338
+ < div
339
+ className = { styles . inputWrapper }
340
+ onClick = { toggleShowCalendar }
341
+ onKeyPress = { toggleShowCalendar }
342
+ role = "button"
343
+ tabIndex = { 0 }
344
+ >
329
345
< RawInput < string >
330
346
name = "startDate"
331
347
className = { _cs (
@@ -366,7 +382,7 @@ function DateRangeInput<N extends NameType>(props: Props<N>) {
366
382
onFocus = { setShowCalendarTrue }
367
383
type = "date"
368
384
/>
369
- </ >
385
+ </ div >
370
386
) }
371
387
/>
372
388
{ ! readOnly && showCalendar && (
@@ -389,23 +405,24 @@ function DateRangeInput<N extends NameType>(props: Props<N>) {
389
405
</ RawButton >
390
406
) ) }
391
407
</ div >
392
-
393
- < Calendar
394
- onDateClick = { handleCalendarDateClick }
395
- className = { styles . calendar }
396
- monthSelectionPopupClassName = { calendarMonthSelectionPopupClassName }
397
- dateRenderer = { DateRenderer }
398
- rendererParams = { dateRendererParams }
399
- initialDate = { firstInitialDate }
400
- />
401
- < Calendar
402
- onDateClick = { handleCalendarDateClick }
403
- className = { styles . calendar }
404
- monthSelectionPopupClassName = { calendarMonthSelectionPopupClassName }
405
- dateRenderer = { DateRenderer }
406
- rendererParams = { dateRendererParams }
407
- initialDate = { secondInitialDate }
408
- />
408
+ < div className = { styles . calendars } >
409
+ < Calendar
410
+ onDateClick = { handleCalendarDateClick }
411
+ className = { styles . calendar }
412
+ monthSelectionPopupClassName = { calendarMonthSelectionPopupClassName }
413
+ dateRenderer = { DateRenderer }
414
+ rendererParams = { dateRendererParams }
415
+ initialDate = { firstInitialDate }
416
+ />
417
+ < Calendar
418
+ onDateClick = { handleCalendarDateClick }
419
+ className = { styles . calendar }
420
+ monthSelectionPopupClassName = { calendarMonthSelectionPopupClassName }
421
+ dateRenderer = { DateRenderer }
422
+ rendererParams = { dateRendererParams }
423
+ initialDate = { secondInitialDate }
424
+ />
425
+ </ div >
409
426
</ Popup >
410
427
) }
411
428
</ >
0 commit comments