@@ -94,6 +94,7 @@ export default class DatePicker extends React.Component {
94
94
popperClassName : PropTypes . string , // <PopperComponent/> props
95
95
popperModifiers : PropTypes . object , // <PopperComponent/> props
96
96
popperPlacement : PropTypes . oneOf ( popperPlacementPositions ) , // <PopperComponent/> props
97
+ preventOpenOnFocus : PropTypes . bool ,
97
98
readOnly : PropTypes . bool ,
98
99
required : PropTypes . bool ,
99
100
scrollableYearDropdown : PropTypes . bool ,
@@ -139,6 +140,7 @@ export default class DatePicker extends React.Component {
139
140
onSelect ( ) { } ,
140
141
onClickOutside ( ) { } ,
141
142
onMonthChange ( ) { } ,
143
+ preventOpenOnFocus : false ,
142
144
onYearChange ( ) { } ,
143
145
monthsShown : 1 ,
144
146
withPortal : false ,
@@ -215,7 +217,9 @@ export default class DatePicker extends React.Component {
215
217
handleFocus = ( event ) => {
216
218
if ( ! this . state . preventFocus ) {
217
219
this . props . onFocus ( event )
218
- this . setOpen ( true )
220
+ if ( ! this . props . preventOpenOnFocus ) {
221
+ this . setOpen ( true )
222
+ }
219
223
}
220
224
}
221
225
@@ -344,7 +348,7 @@ export default class DatePicker extends React.Component {
344
348
onInputKeyDown = ( event ) => {
345
349
this . props . onKeyDown ( event )
346
350
const eventKey = event . key
347
- if ( ! this . state . open && ! this . props . inline ) {
351
+ if ( ! this . state . open && ! this . props . inline && ! this . props . preventOpenOnFocus ) {
348
352
if ( eventKey !== 'Enter' && eventKey !== 'Escape' && eventKey !== 'Tab' ) {
349
353
this . onInputClick ( )
350
354
}
0 commit comments