|
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