|
1 | 1 | import { clsx } from "clsx"; |
2 | 2 | import React, { Component, cloneElement } from "react"; |
3 | 3 |
|
4 | | -import Calendar from "./calendar"; |
| 4 | +import Calendar, { OUTSIDE_CLICK_IGNORE_CLASS } from "./calendar"; |
5 | 5 | import CalendarIcon from "./calendar_icon"; |
6 | 6 | import { |
7 | 7 | newDate, |
@@ -61,8 +61,6 @@ export { default as CalendarContainer } from "./calendar_container"; |
61 | 61 |
|
62 | 62 | export { registerLocale, setDefaultLocale, getDefaultLocale }; |
63 | 63 |
|
64 | | -const outsideClickIgnoreClass = "react-datepicker-ignore-onclickoutside"; |
65 | | - |
66 | 64 | export { ReactDatePickerCustomHeaderProps } from "./calendar"; |
67 | 65 |
|
68 | 66 | // Compares dates year+month combinations |
@@ -112,7 +110,6 @@ export type DatePickerProps = OmitUnion< |
112 | 110 | | "highlightDates" |
113 | 111 | | "holidays" |
114 | 112 | | "shouldFocusDayInline" |
115 | | - | "outsideClickIgnoreClass" |
116 | 113 | | "monthSelectedIn" |
117 | 114 | | "onDropdownFocus" |
118 | 115 | | "onTimeChange" |
@@ -266,6 +263,7 @@ export default class DatePicker extends Component< |
266 | 263 | dropdownMode: "scroll" as const, |
267 | 264 | preventOpenOnFocus: false, |
268 | 265 | monthsShown: 1, |
| 266 | + outsideClickIgnoreClass: OUTSIDE_CLICK_IGNORE_CLASS, |
269 | 267 | readOnly: false, |
270 | 268 | withPortal: false, |
271 | 269 | selectsDisabledDaysInRange: false, |
@@ -1236,7 +1234,7 @@ export default class DatePicker extends Component< |
1236 | 1234 | onSelect={this.handleSelect} |
1237 | 1235 | onClickOutside={this.handleCalendarClickOutside} |
1238 | 1236 | holidays={getHolidaysMap(this.modifyHolidays())} |
1239 | | - outsideClickIgnoreClass={outsideClickIgnoreClass} |
| 1237 | + outsideClickIgnoreClass={this.props.outsideClickIgnoreClass} |
1240 | 1238 | onDropdownFocus={this.handleDropdownFocus} |
1241 | 1239 | onTimeChange={this.handleTimeChange} |
1242 | 1240 | className={this.props.calendarClassName} |
@@ -1325,7 +1323,8 @@ export default class DatePicker extends Component< |
1325 | 1323 |
|
1326 | 1324 | renderDateInput = () => { |
1327 | 1325 | const className = clsx(this.props.className, { |
1328 | | - [outsideClickIgnoreClass]: this.state.open, |
| 1326 | + [this.props.outsideClickIgnoreClass || |
| 1327 | + DatePicker.defaultProps.outsideClickIgnoreClass]: this.state.open, |
1329 | 1328 | }); |
1330 | 1329 |
|
1331 | 1330 | const customInput = this.props.customInput || <input type="text" />; |
|
0 commit comments