@elliemae/ds-date-range-picker 1.55.0-next.7 → 2.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/cjs/DSDateRangePicker.js +111 -183
  2. package/cjs/components/DSDateRangePickerImpl.js +238 -305
  3. package/cjs/components/DatePickerLabel/DatePickerLabel.js +9 -12
  4. package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +36 -54
  5. package/cjs/components/DayPickerRangeController.js +74 -132
  6. package/cjs/index.js +6 -31
  7. package/cjs/isMaxDiffSafe.js +5 -6
  8. package/cjs/package.json +7 -0
  9. package/esm/DSDateRangePicker.js +100 -172
  10. package/esm/components/DSDateRangePickerImpl.js +225 -286
  11. package/esm/components/DatePickerLabel/DatePickerLabel.js +8 -11
  12. package/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js +32 -49
  13. package/esm/components/DayPickerRangeController.js +72 -126
  14. package/esm/index.js +0 -25
  15. package/esm/isMaxDiffSafe.js +5 -6
  16. package/esm/package.json +7 -0
  17. package/package.json +52 -11
  18. package/types/DSDateRangePicker.d.ts +92 -0
  19. package/types/components/DSDateRangePickerImpl.d.ts +24 -0
  20. package/types/components/DatePickerLabel/DatePickerLabel.d.ts +6 -0
  21. package/types/components/DatePickerRangeHeader/DatePickerRangeHeader.d.ts +10 -0
  22. package/types/components/DayPickerRangeController.d.ts +36 -0
  23. package/types/index.d.ts +2 -0
  24. package/types/isMaxDiffSafe.d.ts +2 -0
  25. package/DSDateRangePicker/package.json +0 -10
  26. package/cjs/DSDateRangePicker.js.map +0 -1
  27. package/cjs/components/DSDateRangePickerImpl.js.map +0 -1
  28. package/cjs/components/DatePickerLabel/DatePickerLabel.js.map +0 -1
  29. package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +0 -1
  30. package/cjs/components/DayPickerRangeController.js.map +0 -1
  31. package/cjs/index.js.map +0 -1
  32. package/cjs/isMaxDiffSafe.js.map +0 -1
  33. package/components/DSDateRangePickerImpl/package.json +0 -10
  34. package/components/DatePickerLabel/DatePickerLabel/package.json +0 -10
  35. package/components/DatePickerRangeHeader/DatePickerRangeHeader/package.json +0 -10
  36. package/components/DayPickerRangeController/package.json +0 -10
  37. package/esm/DSDateRangePicker.js.map +0 -1
  38. package/esm/components/DSDateRangePickerImpl.js.map +0 -1
  39. package/esm/components/DatePickerLabel/DatePickerLabel.js.map +0 -1
  40. package/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +0 -1
  41. package/esm/components/DayPickerRangeController.js.map +0 -1
  42. package/esm/index.js.map +0 -1
  43. package/esm/isMaxDiffSafe.js.map +0 -1
  44. package/isMaxDiffSafe/package.json +0 -10
@@ -2,405 +2,338 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
6
- var _createClass = require('@babel/runtime/helpers/createClass');
7
- var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
8
- var _inherits = require('@babel/runtime/helpers/inherits');
9
- var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
10
- var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
11
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
12
7
  var React = require('react');
13
- var PropTypes = require('prop-types');
14
8
  var moment = require('moment');
15
9
  var dsClassnames = require('@elliemae/ds-classnames');
16
10
  var DSInputMask = require('@elliemae/ds-basic/form/InputMask');
17
11
  var DSFormItemLayout = require('@elliemae/ds-basic/form/FormItem');
18
12
  var DSPopper = require('@elliemae/ds-basic/Popper');
19
13
  var dsDatePicker = require('@elliemae/ds-date-picker');
20
- var components_DayPickerRangeController = require('./DayPickerRangeController.js');
14
+ var DayPickerRangeController = require('./DayPickerRangeController.js');
21
15
  var isMaxDiffSafe = require('../isMaxDiffSafe.js');
22
- require('@babel/runtime/helpers/extends');
23
- require('@babel/runtime/helpers/slicedToArray');
24
- require('@babel/runtime/helpers/toArray');
25
- require('@babel/runtime/helpers/objectWithoutProperties');
26
- require('react-dates');
27
- require('@elliemae/ds-icons/ChevronLeft');
28
16
 
29
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
30
18
 
31
- var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
32
- var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
33
- var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);
34
- var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
35
- var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
36
- var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
19
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
37
20
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
38
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
39
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
40
22
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
41
23
  var DSInputMask__default = /*#__PURE__*/_interopDefaultLegacy(DSInputMask);
42
24
  var DSFormItemLayout__default = /*#__PURE__*/_interopDefaultLegacy(DSFormItemLayout);
43
25
  var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
44
26
 
45
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }
46
-
47
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
48
- var START_DATE = 'startDate';
49
- var END_DATE = 'endDate';
50
-
51
- var _convertPropToCssClas = dsClassnames.convertPropToCssClassName('datepicker'),
52
- classNameElement = _convertPropToCssClas.classNameElement,
53
- classNameBlock = _convertPropToCssClas.classNameBlock;
54
-
55
- var DSDateRangePickerImpl = /*#__PURE__*/function (_React$Component) {
56
- _inherits__default['default'](DSDateRangePickerImpl, _React$Component);
57
-
58
- var _super = _createSuper(DSDateRangePickerImpl);
59
-
60
- function DSDateRangePickerImpl(props) {
61
- var _this;
62
-
63
- _classCallCheck__default['default'](this, DSDateRangePickerImpl);
64
-
65
- _this = _super.call(this, props);
66
-
67
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onDatesChange", function (_ref) {
68
- var startDate = _ref.startDate,
69
- endDate = _ref.endDate;
70
- var onDatesChange = _this.props.onDatesChange;
27
+ const START_DATE = 'startDate';
28
+ const END_DATE = 'endDate';
29
+ const {
30
+ classNameElement,
31
+ classNameBlock
32
+ } = dsClassnames.convertPropToCssClassName('datepicker');
33
+ class DSDateRangePickerImpl extends React__default["default"].Component {
34
+ constructor(props) {
35
+ super(props);
36
+
37
+ _defineProperty__default["default"](this, "onDatesChange", ({
38
+ startDate,
39
+ endDate
40
+ }) => {
41
+ const {
42
+ onDatesChange
43
+ } = this.props;
71
44
  onDatesChange(startDate, endDate);
72
- var safe = isMaxDiffSafe.isMaxDiffSafe(startDate, endDate, _this.state.startDate, _this.state.endDate);
45
+ const safe = isMaxDiffSafe.isMaxDiffSafe(startDate, endDate, this.state.startDate, this.state.endDate);
73
46
 
74
47
  if (!safe) {
75
- _this.setState({
48
+ this.setState({
76
49
  showPicker: false
77
50
  });
78
51
  }
79
52
 
80
- _this.setState({
81
- startDate: startDate,
82
- endDate: endDate,
53
+ this.setState({
54
+ startDate,
55
+ endDate,
83
56
  primaryStartInput: false,
84
57
  primaryEndInput: false
85
58
  });
86
59
  });
87
60
 
88
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "onFocusChange", function () {
89
- _this.setState(function (_ref2) {
90
- var focusedInput = _ref2.focusedInput;
91
- return {
92
- focusedInput: focusedInput === START_DATE ? END_DATE : START_DATE
93
- };
94
- });
61
+ _defineProperty__default["default"](this, "onFocusChange", () => {
62
+ this.setState(({
63
+ focusedInput
64
+ }) => ({
65
+ focusedInput: focusedInput === START_DATE ? END_DATE : START_DATE
66
+ }));
95
67
  });
96
68
 
97
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleKeyDown", function (event) {
98
- if (event.key === 'Escape') _this.setState({
69
+ _defineProperty__default["default"](this, "handleKeyDown", event => {
70
+ if (event.key === 'Escape') this.setState({
99
71
  showPicker: false
100
72
  });
101
73
  });
102
74
 
103
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getSafeStartInputValue", function () {
104
- var _this$state = _this.state,
105
- startInput = _this$state.startInput,
106
- primaryStartInput = _this$state.primaryStartInput,
107
- startDate = _this$state.startDate;
75
+ _defineProperty__default["default"](this, "getSafeStartInputValue", () => {
76
+ const {
77
+ startInput,
78
+ primaryStartInput,
79
+ startDate
80
+ } = this.state;
108
81
  if (primaryStartInput && startInput) return startInput;
109
82
  if (!startDate) return '';
110
83
  return startDate.format('MMDDYYYY');
111
84
  });
112
85
 
113
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "getSafeEndInputValue", function () {
114
- var _this$state2 = _this.state,
115
- endInput = _this$state2.endInput,
116
- primaryEndInput = _this$state2.primaryEndInput,
117
- endDate = _this$state2.endDate;
86
+ _defineProperty__default["default"](this, "getSafeEndInputValue", () => {
87
+ const {
88
+ endInput,
89
+ primaryEndInput,
90
+ endDate
91
+ } = this.state;
118
92
  if (primaryEndInput && endInput) return endInput;
119
93
  if (!endDate) return '';
120
94
  return endDate.format('MMDDYYYY');
121
95
  });
122
96
 
123
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "changeFocus", function () {
124
- var disabled = _this.props.disabled;
97
+ _defineProperty__default["default"](this, "changeFocus", () => {
98
+ const {
99
+ disabled
100
+ } = this.props;
125
101
 
126
102
  if (!disabled) {
127
- _this.setState(function () {
128
- return {
129
- focusedInput: 'startDate'
130
- };
131
- });
103
+ this.setState(() => ({
104
+ focusedInput: 'startDate'
105
+ }));
132
106
  }
133
107
  });
134
108
 
135
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleChangeStart", function (e) {
109
+ _defineProperty__default["default"](this, "handleChangeStart", e => {
136
110
  var _momentValue;
137
111
 
138
- var _this$props = _this.props,
139
- onChangeStartInput = _this$props.onChangeStartInput,
140
- isDayBlocked = _this$props.isDayBlocked,
141
- minimumNights = _this$props.minimumNights;
142
- var endDate = _this.state.endDate;
143
- var startInputVal = e.target.value;
144
- var momentValue = null;
145
-
146
- if (startInputVal && moment__default['default'](startInputVal, 'MM/DD/YYYY', true).isValid()) {
147
- momentValue = moment__default['default'](startInputVal);
112
+ const {
113
+ onChangeStartInput,
114
+ isDayBlocked,
115
+ minimumNights
116
+ } = this.props;
117
+ const {
118
+ endDate
119
+ } = this.state;
120
+ const startInputVal = e.target.value;
121
+ let momentValue = null;
122
+
123
+ if (startInputVal && moment__default["default"](startInputVal, 'MM/DD/YYYY', true).isValid()) {
124
+ momentValue = moment__default["default"](startInputVal);
148
125
  }
149
126
 
150
- var startDateBlocked = isDayBlocked(momentValue);
151
- var isStartDateAcceptable = !startDateBlocked && momentValue && startInputVal !== '';
152
- var areDatesValid = endDate && momentValue && (endDate === null || endDate === void 0 ? void 0 : endDate.isValid()) && ((_momentValue = momentValue) === null || _momentValue === void 0 ? void 0 : _momentValue.isValid());
153
- var canEndBeSameAsStart = minimumNights === 0;
154
- var isStartAcceptableWithSelectedEnd = !endDate || areDatesValid && (canEndBeSameAsStart && momentValue.diff(endDate, 'days') <= 0 || !canEndBeSameAsStart && momentValue.diff(endDate, 'days') < 0);
155
- var invalidDate = !isStartDateAcceptable || !isStartAcceptableWithSelectedEnd;
127
+ const startDateBlocked = isDayBlocked(momentValue);
128
+ const isStartDateAcceptable = !startDateBlocked && momentValue && startInputVal !== '';
129
+ const areDatesValid = endDate && momentValue && (endDate === null || endDate === void 0 ? void 0 : endDate.isValid()) && ((_momentValue = momentValue) === null || _momentValue === void 0 ? void 0 : _momentValue.isValid());
130
+ const canEndBeSameAsStart = minimumNights === 0;
131
+ const isStartAcceptableWithSelectedEnd = !endDate || areDatesValid && (canEndBeSameAsStart && momentValue.diff(endDate, 'days') <= 0 || !canEndBeSameAsStart && momentValue.diff(endDate, 'days') < 0);
132
+ const invalidDate = !isStartDateAcceptable || !isStartAcceptableWithSelectedEnd;
156
133
  if (startDateBlocked) momentValue = null;
157
134
  onChangeStartInput(momentValue);
158
-
159
- _this.setState(function (prevState) {
160
- return {
161
- startDate: momentValue,
162
- startInput: startInputVal,
163
- primaryStartInput: true,
164
- startDateError: invalidDate,
165
- endDateError: !isStartDateAcceptable || !prevState.endDateError ? prevState.endDateError : !isStartAcceptableWithSelectedEnd
166
- };
167
- });
135
+ this.setState(prevState => ({
136
+ startDate: momentValue,
137
+ startInput: startInputVal,
138
+ primaryStartInput: true,
139
+ startDateError: invalidDate,
140
+ endDateError: !isStartDateAcceptable || !prevState.endDateError ? prevState.endDateError : !isStartAcceptableWithSelectedEnd
141
+ }));
168
142
  });
169
143
 
170
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleChangeEnd", function (e) {
144
+ _defineProperty__default["default"](this, "handleChangeEnd", e => {
171
145
  var _momentValue2;
172
146
 
173
- var _this$props2 = _this.props,
174
- onChangeEndInput = _this$props2.onChangeEndInput,
175
- isDayBlocked = _this$props2.isDayBlocked,
176
- minimumNights = _this$props2.minimumNights;
177
- var startDate = _this.state.startDate;
178
- var endInputValue = e.target.value;
179
- var momentValue = null;
180
-
181
- if (endInputValue && moment__default['default'](endInputValue, 'MM/DD/YYYY', true).isValid()) {
182
- momentValue = moment__default['default'](endInputValue);
147
+ const {
148
+ onChangeEndInput,
149
+ isDayBlocked,
150
+ minimumNights
151
+ } = this.props;
152
+ const {
153
+ startDate
154
+ } = this.state;
155
+ const endInputValue = e.target.value;
156
+ let momentValue = null;
157
+
158
+ if (endInputValue && moment__default["default"](endInputValue, 'MM/DD/YYYY', true).isValid()) {
159
+ momentValue = moment__default["default"](endInputValue);
183
160
  }
184
161
 
185
- var endDateBlocked = isDayBlocked(momentValue);
186
- var isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== '';
187
- var areDatesValid = startDate && momentValue && (startDate === null || startDate === void 0 ? void 0 : startDate.isValid()) && ((_momentValue2 = momentValue) === null || _momentValue2 === void 0 ? void 0 : _momentValue2.isValid());
188
- var canEndBeSameAsStart = minimumNights === 0;
189
- var isEndAcceptableWithSelectedStart = !startDate || areDatesValid && (canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0 || !canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0); // only > is valid
162
+ const endDateBlocked = isDayBlocked(momentValue);
163
+ const isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== '';
164
+ const areDatesValid = startDate && momentValue && (startDate === null || startDate === void 0 ? void 0 : startDate.isValid()) && ((_momentValue2 = momentValue) === null || _momentValue2 === void 0 ? void 0 : _momentValue2.isValid());
165
+ const canEndBeSameAsStart = minimumNights === 0;
166
+ const isEndAcceptableWithSelectedStart = !startDate || areDatesValid && (canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0 || !canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0); // only > is valid
190
167
 
191
- var invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;
168
+ const invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;
192
169
  if (endDateBlocked) momentValue = null;
193
170
  onChangeEndInput(momentValue);
194
-
195
- _this.setState(function (prevState) {
196
- return {
197
- endDate: momentValue,
198
- endInput: endInputValue,
199
- primaryEndInput: true,
200
- startDateError: !isEndDateAcceptable || !prevState.startDateError ? prevState.startDateError : !isEndAcceptableWithSelectedStart,
201
- endDateError: invalidDate
202
- };
203
- });
171
+ this.setState(prevState => ({
172
+ endDate: momentValue,
173
+ endInput: endInputValue,
174
+ primaryEndInput: true,
175
+ startDateError: !isEndDateAcceptable || !prevState.startDateError ? prevState.startDateError : !isEndAcceptableWithSelectedStart,
176
+ endDateError: invalidDate
177
+ }));
204
178
  });
205
179
 
206
- _defineProperty__default['default'](_assertThisInitialized__default['default'](_this), "handleChangeDate", function (_ref3) {
207
- var _start = _ref3.startDate,
208
- endDate = _ref3.endDate;
209
-
180
+ _defineProperty__default["default"](this, "handleChangeDate", ({
181
+ startDate: _start,
182
+ endDate
183
+ }) => {
210
184
  if (_start && endDate) {
211
- _this.setState({
212
- startDate: moment__default['default'](_start),
213
- endDate: endDate,
185
+ this.setState({
186
+ startDate: moment__default["default"](_start),
187
+ endDate,
214
188
  primaryStartInput: false,
215
189
  primaryEndInput: false
216
190
  });
217
191
  } else if (_start) {
218
- _this.setState({
219
- startDate: moment__default['default'](_start),
192
+ this.setState({
193
+ startDate: moment__default["default"](_start),
220
194
  primaryStartInput: false
221
195
  });
222
196
  } else if (endDate) {
223
- _this.setState({
224
- endDate: endDate,
197
+ this.setState({
198
+ endDate,
225
199
  primaryEndInput: false
226
200
  });
227
201
  }
228
202
  });
229
203
 
230
- _this.state = {
231
- startDate: props.startDate ? moment__default['default'](props.startDate) : null,
232
- endDate: props.endDate ? moment__default['default'](props.endDate) : null,
204
+ this.state = {
205
+ startDate: props.startDate ? moment__default["default"](props.startDate) : null,
206
+ endDate: props.endDate ? moment__default["default"](props.endDate) : null,
233
207
  focusedInput: START_DATE,
234
208
  showPicker: false,
235
209
  startDateError: false,
236
210
  endDateError: false
237
211
  };
238
- return _this;
239
212
  }
240
213
 
241
- _createClass__default['default'](DSDateRangePickerImpl, [{
242
- key: "componentDidMount",
243
- value: function componentDidMount() {
244
- document.addEventListener('keydown', this.handleKeyDown, false);
245
- }
246
- }, {
247
- key: "componentWillUnmount",
248
- value: function componentWillUnmount() {
249
- document.removeEventListener('keydown', this.handleKeyDown, false);
250
- }
251
- }, {
252
- key: "render",
253
- value: function render() {
254
- var _this2 = this;
214
+ componentDidMount() {
215
+ document.addEventListener('keydown', this.handleKeyDown, false);
216
+ }
255
217
 
256
- var _this$state3 = this.state,
257
- startDate = _this$state3.startDate,
258
- endDate = _this$state3.endDate,
259
- focusedInput = _this$state3.focusedInput,
260
- showPicker = _this$state3.showPicker,
261
- startDateError = _this$state3.startDateError,
262
- endDateError = _this$state3.endDateError;
263
- var _this$props3 = this.props,
264
- disabled = _this$props3.disabled,
265
- displayFormatDay = _this$props3.displayFormatDay,
266
- minimumNights = _this$props3.minimumNights,
267
- labelFrom = _this$props3.labelFrom,
268
- labelTo = _this$props3.labelTo,
269
- isDayBlocked = _this$props3.isDayBlocked,
270
- isDayHighlighted = _this$props3.isDayHighlighted,
271
- isOutsideRange = _this$props3.isOutsideRange,
272
- enableOutsideDays = _this$props3.enableOutsideDays,
273
- startDateRequired = _this$props3.startDateRequired,
274
- endDateRequired = _this$props3.endDateRequired,
275
- _onOutsideClick = _this$props3.onOutsideClick,
276
- onNextMonthClick = _this$props3.onNextMonthClick,
277
- onPrevMonthClick = _this$props3.onPrevMonthClick,
278
- onClose = _this$props3.onClose,
279
- hasError = _this$props3.hasError,
280
- validationMessage = _this$props3.validationMessage;
281
- var inputClass = classNameBlock('inputs', 'range-picker');
282
- var inputClassModifier = '';
283
- var safeStartInputValue = this.getSafeStartInputValue();
284
- var safeEndInputValue = this.getSafeEndInputValue();
285
- return /*#__PURE__*/React__default['default'].createElement("div", {
286
- className: "".concat(inputClass, " ").concat(inputClassModifier)
287
- }, /*#__PURE__*/React__default['default'].createElement("div", {
288
- className: classNameBlock('wrapper-input-date-range-picker-controller')
289
- }, /*#__PURE__*/React__default['default'].createElement(DSFormItemLayout__default['default'], {
290
- floatingLabel: true,
291
- inputComponent: DSInputMask__default['default'],
292
- labelText: labelFrom,
293
- mask: DSInputMask.MASK_TYPES.DATE,
294
- onChange: this.handleChangeStart,
295
- onFocus: function onFocus() {
296
- return _this2.setState({
297
- showPicker: false
298
- });
299
- },
300
- pipe: DSInputMask.MASK_PIPES.AUTO_CORRECT_DATE,
301
- value: safeStartInputValue,
302
- required: startDateRequired,
303
- hasError: hasError || startDateError,
304
- placeholder: "MM/DD/YYYY"
305
- }), /*#__PURE__*/React__default['default'].createElement(DSFormItemLayout__default['default'], {
306
- floatingLabel: true,
307
- inputComponent: DSInputMask__default['default'],
308
- labelText: labelTo,
309
- mask: DSInputMask.MASK_TYPES.DATE,
310
- onChange: this.handleChangeEnd,
311
- onFocus: function onFocus() {
312
- return _this2.setState({
218
+ componentWillUnmount() {
219
+ document.removeEventListener('keydown', this.handleKeyDown, false);
220
+ }
221
+
222
+ render() {
223
+ const {
224
+ startDate,
225
+ endDate,
226
+ focusedInput,
227
+ showPicker,
228
+ startDateError,
229
+ endDateError
230
+ } = this.state;
231
+ const {
232
+ disabled,
233
+ displayFormatDay,
234
+ minimumNights,
235
+ labelFrom,
236
+ labelTo,
237
+ isDayBlocked,
238
+ isDayHighlighted,
239
+ isOutsideRange,
240
+ enableOutsideDays,
241
+ startDateRequired,
242
+ endDateRequired,
243
+ onOutsideClick,
244
+ onNextMonthClick,
245
+ onPrevMonthClick,
246
+ onClose,
247
+ hasError,
248
+ validationMessage
249
+ } = this.props;
250
+ const inputClass = classNameBlock('inputs', 'range-picker');
251
+ const inputClassModifier = '';
252
+ const safeStartInputValue = this.getSafeStartInputValue();
253
+ const safeEndInputValue = this.getSafeEndInputValue();
254
+ return /*#__PURE__*/_jsx__default["default"]("div", {
255
+ className: `${inputClass} ${inputClassModifier}`
256
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
257
+ className: classNameBlock('wrapper-input-date-range-picker-controller')
258
+ }, void 0, /*#__PURE__*/_jsx__default["default"](DSFormItemLayout__default["default"], {
259
+ floatingLabel: true,
260
+ inputComponent: DSInputMask__default["default"],
261
+ labelText: labelFrom,
262
+ mask: DSInputMask.MASK_TYPES.DATE,
263
+ onChange: this.handleChangeStart,
264
+ onFocus: () => this.setState({
265
+ showPicker: false
266
+ }),
267
+ pipe: DSInputMask.MASK_PIPES.AUTO_CORRECT_DATE,
268
+ value: safeStartInputValue,
269
+ required: startDateRequired,
270
+ hasError: hasError || startDateError,
271
+ placeholder: "MM/DD/YYYY"
272
+ }), /*#__PURE__*/_jsx__default["default"](DSFormItemLayout__default["default"], {
273
+ floatingLabel: true,
274
+ inputComponent: DSInputMask__default["default"],
275
+ labelText: labelTo,
276
+ mask: DSInputMask.MASK_TYPES.DATE,
277
+ onChange: this.handleChangeEnd,
278
+ onFocus: () => this.setState({
279
+ showPicker: false
280
+ }),
281
+ pipe: DSInputMask.MASK_PIPES.AUTO_CORRECT_DATE,
282
+ value: safeEndInputValue,
283
+ required: endDateRequired,
284
+ hasError: hasError || endDateError,
285
+ validationMessage: validationMessage,
286
+ placeholder: "MM/DD/YYYY"
287
+ })), /*#__PURE__*/_jsx__default["default"]("div", {
288
+ className: classNameBlock('wrapper-button-date-range-picker-controller')
289
+ }, void 0, /*#__PURE__*/_jsx__default["default"](DSPopper__default["default"], {
290
+ contentComponent: /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, showPicker && /*#__PURE__*/_jsx__default["default"](DayPickerRangeController, {
291
+ enableOutsideDays: enableOutsideDays,
292
+ isDayBlocked: isDayBlocked,
293
+ isDayHighlighted: isDayHighlighted,
294
+ isOutsideRange: isOutsideRange,
295
+ displayFormatDay: displayFormatDay,
296
+ endDate: endDate,
297
+ focusedInput: focusedInput,
298
+ hideKeyboardShortcutsPanel: true,
299
+ minimumNights: minimumNights,
300
+ onDatesChange: this.onDatesChange,
301
+ onFocusChange: this.onFocusChange,
302
+ onOutsideClick: e => {
303
+ onOutsideClick(e);
304
+ this.setState({
313
305
  showPicker: false
314
306
  });
315
307
  },
316
- pipe: DSInputMask.MASK_PIPES.AUTO_CORRECT_DATE,
317
- value: safeEndInputValue,
318
- required: endDateRequired,
319
- hasError: hasError || endDateError,
320
- validationMessage: validationMessage,
321
- placeholder: "MM/DD/YYYY"
322
- })), /*#__PURE__*/React__default['default'].createElement("div", {
323
- className: classNameBlock('wrapper-button-date-range-picker-controller')
324
- }, /*#__PURE__*/React__default['default'].createElement(DSPopper__default['default'], {
325
- contentComponent: /*#__PURE__*/React__default['default'].createElement("div", null, showPicker && /*#__PURE__*/React__default['default'].createElement(components_DayPickerRangeController, {
326
- enableOutsideDays: enableOutsideDays,
327
- isDayBlocked: isDayBlocked,
328
- isDayHighlighted: isDayHighlighted,
329
- isOutsideRange: isOutsideRange,
330
- displayFormatDay: displayFormatDay,
331
- endDate: endDate,
332
- focusedInput: focusedInput,
333
- hideKeyboardShortcutsPanel: true,
334
- minimumNights: minimumNights,
335
- onDatesChange: this.onDatesChange,
336
- onFocusChange: this.onFocusChange,
337
- onOutsideClick: function onOutsideClick(e) {
338
- _onOutsideClick(e);
339
-
340
- _this2.setState({
341
- showPicker: false
342
- });
343
- },
344
- onNextMonthClick: onNextMonthClick,
345
- onPrevMonthClick: onPrevMonthClick,
346
- startDate: startDate,
347
- renderMonthElement: dsDatePicker.renderMonthElement
348
- })),
349
- isOpen: showPicker && !startDateError && !endDateError,
350
- onClose: onClose,
351
- placement: "bottom-end",
352
- showArrow: false,
353
- triggerComponent: /*#__PURE__*/React__default['default'].createElement("div", {
354
- onFocus: function onFocus() {
355
- return _this2.setState({
356
- showPicker: true
357
- });
358
- }
359
- }, /*#__PURE__*/React__default['default'].createElement(dsDatePicker.DatePickerPicker, {
360
- className: classNameElement('picker'),
361
- disabled: disabled,
362
- onClick: function onClick() {
363
- return _this2.setState({
364
- showPicker: true
365
- });
366
- }
367
- }), hasError && validationMessage && /*#__PURE__*/React__default['default'].createElement("div", {
368
- style: {
369
- height: 15
370
- }
371
- }))
372
- })));
373
- }
374
- }]);
308
+ onNextMonthClick: onNextMonthClick,
309
+ onPrevMonthClick: onPrevMonthClick,
310
+ startDate: startDate,
311
+ renderMonthElement: dsDatePicker.renderMonthElement
312
+ })),
313
+ isOpen: showPicker && !startDateError && !endDateError,
314
+ onClose: onClose,
315
+ placement: "bottom-end",
316
+ showArrow: false,
317
+ triggerComponent: /*#__PURE__*/_jsx__default["default"]("div", {
318
+ onFocus: () => this.setState({
319
+ showPicker: true
320
+ })
321
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsDatePicker.DatePickerPicker, {
322
+ className: classNameElement('picker'),
323
+ disabled: disabled,
324
+ onClick: () => this.setState({
325
+ showPicker: true
326
+ })
327
+ }), hasError && validationMessage && /*#__PURE__*/_jsx__default["default"]("div", {
328
+ style: {
329
+ height: 15
330
+ }
331
+ }))
332
+ })));
333
+ }
375
334
 
376
- return DSDateRangePickerImpl;
377
- }(React__default['default'].Component);
378
- DSDateRangePickerImpl.propTypes = {
379
- startDate: PropTypes__default['default'].instanceOf(Date, moment__default['default']),
380
- endDate: PropTypes__default['default'].instanceOf(Date, moment__default['default']),
381
- onDatesChange: PropTypes__default['default'].func,
382
- onChangeStartInput: PropTypes__default['default'].func,
383
- onChangeEndInput: PropTypes__default['default'].func,
384
- onNextMonthClick: PropTypes__default['default'].func,
385
- onPrevMonthClick: PropTypes__default['default'].func,
386
- onClose: PropTypes__default['default'].func,
387
- onOutsideClick: PropTypes__default['default'].func,
388
- disabled: PropTypes__default['default'].bool,
389
- displayFormatDay: PropTypes__default['default'].string,
390
- minimumNights: PropTypes__default['default'].number,
391
- labelTo: PropTypes__default['default'].string,
392
- labelFrom: PropTypes__default['default'].string,
393
- isDayBlocked: PropTypes__default['default'].func,
394
- isDayHighlighted: PropTypes__default['default'].func,
395
- isOutsideRange: PropTypes__default['default'].func,
396
- enableOutsideDays: PropTypes__default['default'].bool,
397
- startDateRequired: PropTypes__default['default'].bool,
398
- endDateRequired: PropTypes__default['default'].bool,
399
- hasError: PropTypes__default['default'].bool,
400
- validationMessage: PropTypes__default['default'].string
401
- };
335
+ }
402
336
 
403
337
  exports.END_DATE = END_DATE;
404
338
  exports.START_DATE = START_DATE;
405
- exports['default'] = DSDateRangePickerImpl;
406
- //# sourceMappingURL=DSDateRangePickerImpl.js.map
339
+ exports["default"] = DSDateRangePickerImpl;