@elliemae/ds-date-range-picker 2.0.0-alpha.1 → 2.0.0-alpha.13
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.
- package/cjs/DSDateRangePicker.js +55 -49
- package/cjs/components/DSDateRangePickerImpl.js +64 -60
- package/cjs/components/DatePickerLabel/DatePickerLabel.js +9 -6
- package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +17 -17
- package/cjs/components/DayPickerRangeController.js +13 -8
- package/cjs/index.js +1 -1
- package/esm/DSDateRangePicker.js +48 -42
- package/esm/components/DSDateRangePickerImpl.js +42 -35
- package/esm/components/DatePickerLabel/DatePickerLabel.js +9 -6
- package/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js +11 -10
- package/esm/components/DayPickerRangeController.js +7 -1
- package/package.json +7 -5
- package/types/DSDateRangePicker.d.ts +228 -37
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
package/cjs/DSDateRangePicker.js
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
10
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
11
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
7
12
|
require('react');
|
|
@@ -22,49 +27,50 @@ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
|
22
27
|
|
|
23
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
24
29
|
|
|
25
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
30
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
26
31
|
|
|
27
|
-
const DSDateRangePicker =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
32
|
+
const DSDateRangePicker = _ref => {
|
|
33
|
+
let {
|
|
34
|
+
containerProps = {},
|
|
35
|
+
className = '',
|
|
36
|
+
disabled = false,
|
|
37
|
+
required = false,
|
|
38
|
+
startDateRequired = false,
|
|
39
|
+
endDateRequired = false,
|
|
40
|
+
id,
|
|
41
|
+
hasError = false,
|
|
42
|
+
validationMessage = '',
|
|
43
|
+
readOnly = false,
|
|
44
|
+
screenReaderInputMessage = 'Select date',
|
|
45
|
+
initialVisibleMonth = moment__default["default"](),
|
|
46
|
+
firstDayOfWeek = 0,
|
|
47
|
+
keepOpenOnDateSelect = true,
|
|
48
|
+
reopenPickerOnClearDates = false,
|
|
49
|
+
hideKeyboardShortcutsPanel = true,
|
|
50
|
+
onPrevMonthClick = () => null,
|
|
51
|
+
onNextMonthClick = () => null,
|
|
52
|
+
onClose = () => null,
|
|
53
|
+
onOutsideClick = () => null,
|
|
54
|
+
transitionDuration = 0,
|
|
55
|
+
verticalSpacing = 0,
|
|
56
|
+
minimumNights = 0,
|
|
57
|
+
isDayBlocked = () => false,
|
|
58
|
+
isOutsideRange = () => false,
|
|
59
|
+
isDayHighlighted = () => false,
|
|
60
|
+
displayFormat = 'L',
|
|
61
|
+
displayFormatDay = 'D',
|
|
62
|
+
phrases = defaultPhrases.DateRangePickerPhrases,
|
|
63
|
+
startDate,
|
|
64
|
+
endDate,
|
|
65
|
+
startDateId = 'startDateId',
|
|
66
|
+
endDateId = 'endDateId',
|
|
67
|
+
labelFrom = 'From',
|
|
68
|
+
labelTo = 'To',
|
|
69
|
+
enableOutsideDays = true,
|
|
70
|
+
onChangeStartInput = () => null,
|
|
71
|
+
onChangeEndInput = () => null,
|
|
72
|
+
onDatesChange = () => null
|
|
73
|
+
} = _ref;
|
|
68
74
|
const {
|
|
69
75
|
cssClassName,
|
|
70
76
|
prefixBlockName
|
|
@@ -75,8 +81,8 @@ const DSDateRangePicker = ({
|
|
|
75
81
|
id
|
|
76
82
|
});
|
|
77
83
|
return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({}, containerProps), {}, {
|
|
78
|
-
className:
|
|
79
|
-
children: /*#__PURE__*/_jsx__default[
|
|
84
|
+
className: "".concat(prefixBlockName, "-range ").concat(cssClassName, " ").concat(prefixBlockName, "-range"),
|
|
85
|
+
children: /*#__PURE__*/_jsx__default["default"](DSDateRangePickerImpl["default"], {
|
|
80
86
|
appendToBody: true,
|
|
81
87
|
disabled: disabled,
|
|
82
88
|
displayFormat: displayFormat,
|
|
@@ -86,7 +92,7 @@ const DSDateRangePicker = ({
|
|
|
86
92
|
endDateId: endDateId,
|
|
87
93
|
firstDayOfWeek: firstDayOfWeek,
|
|
88
94
|
hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
|
|
89
|
-
initialVisibleMonth: () => initialVisibleMonth ? moment__default[
|
|
95
|
+
initialVisibleMonth: () => initialVisibleMonth ? moment__default["default"](initialVisibleMonth) : moment__default["default"](startDate),
|
|
90
96
|
isDayBlocked: isDayBlocked,
|
|
91
97
|
isDayHighlighted: isDayHighlighted,
|
|
92
98
|
isOutsideRange: isOutsideRange === true || isOutsideRange === false ? () => isOutsideRange : isOutsideRange,
|
|
@@ -130,7 +136,7 @@ const dateRangePickerProps = {
|
|
|
130
136
|
validationMessage: reactDesc.PropTypes.string.description('validation message'),
|
|
131
137
|
readOnly: reactDesc.PropTypes.bool.description('component is read only or not').description(false),
|
|
132
138
|
screenReaderInputMessage: reactDesc.PropTypes.string.description('message to be anounced by screen reader').defaultValue('select date'),
|
|
133
|
-
initialVisibleMonth: reactDesc.PropTypes.instanceOf(Date, moment__default[
|
|
139
|
+
initialVisibleMonth: reactDesc.PropTypes.instanceOf(Date, moment__default["default"]).description('initial visible month'),
|
|
134
140
|
firstDayOfWeek: reactDesc.PropTypes.number.description('first day of week').defaultValue(0),
|
|
135
141
|
keepOpenOnDateSelect: reactDesc.PropTypes.bool.description('keep picker open when a date is selected').defaultValue(true),
|
|
136
142
|
reopenPickerOnClearDates: reactDesc.PropTypes.bool.description('reopen picker when clearing dates').defaultValue(false),
|
|
@@ -176,8 +182,8 @@ const dateRangePickerProps = {
|
|
|
176
182
|
dateIsUnavailable: reactDesc.PropTypes.func,
|
|
177
183
|
dateIsSelected: reactDesc.PropTypes.func
|
|
178
184
|
}).description('react-dates phrases'),
|
|
179
|
-
startDate: reactDesc.PropTypes.instanceOf(Date, moment__default[
|
|
180
|
-
endDate: reactDesc.PropTypes.instanceOf(Date, moment__default[
|
|
185
|
+
startDate: reactDesc.PropTypes.instanceOf(Date, moment__default["default"]).description('start date value'),
|
|
186
|
+
endDate: reactDesc.PropTypes.instanceOf(Date, moment__default["default"]).description('end date value'),
|
|
181
187
|
startDateId: reactDesc.PropTypes.string.description('start date id'),
|
|
182
188
|
endDateId: reactDesc.PropTypes.string.description('end date id'),
|
|
183
189
|
labelFrom: reactDesc.PropTypes.string.description('label of start date input'),
|
|
@@ -195,4 +201,4 @@ exports.DayPickerRangeController = DayPickerRangeController;
|
|
|
195
201
|
exports.END_DATE = DSDateRangePickerImpl.END_DATE;
|
|
196
202
|
exports.START_DATE = DSDateRangePickerImpl.START_DATE;
|
|
197
203
|
exports.DateRangePickerWithSchema = DateRangePickerWithSchema;
|
|
198
|
-
exports[
|
|
204
|
+
exports["default"] = DSDateRangePicker;
|
|
@@ -3,13 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
7
6
|
var React = require('react');
|
|
8
7
|
var moment = require('moment');
|
|
9
8
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
10
|
-
var DSInputMask = require('@elliemae/ds-
|
|
11
|
-
var
|
|
12
|
-
var DSPopper = require('@elliemae/ds-basic/Popper');
|
|
9
|
+
var DSInputMask = require('@elliemae/ds-form');
|
|
10
|
+
var DSPopper = require('@elliemae/ds-popper');
|
|
13
11
|
var dsDatePicker = require('@elliemae/ds-date-picker');
|
|
14
12
|
var DayPickerRangeController = require('./DayPickerRangeController.js');
|
|
15
13
|
var isMaxDiffSafe = require('../isMaxDiffSafe.js');
|
|
@@ -17,11 +15,8 @@ var isMaxDiffSafe = require('../isMaxDiffSafe.js');
|
|
|
17
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
16
|
|
|
19
17
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
20
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
21
18
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
22
19
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
23
|
-
var DSInputMask__default = /*#__PURE__*/_interopDefaultLegacy(DSInputMask);
|
|
24
|
-
var DSFormItemLayout__default = /*#__PURE__*/_interopDefaultLegacy(DSFormItemLayout);
|
|
25
20
|
var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
|
|
26
21
|
|
|
27
22
|
const START_DATE = 'startDate';
|
|
@@ -30,14 +25,15 @@ const {
|
|
|
30
25
|
classNameElement,
|
|
31
26
|
classNameBlock
|
|
32
27
|
} = dsClassnames.convertPropToCssClassName('datepicker');
|
|
33
|
-
class DSDateRangePickerImpl extends React__default[
|
|
28
|
+
class DSDateRangePickerImpl extends React__default["default"].Component {
|
|
34
29
|
constructor(props) {
|
|
35
30
|
super(props);
|
|
36
31
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
this.onDatesChange = _ref => {
|
|
33
|
+
let {
|
|
34
|
+
startDate,
|
|
35
|
+
endDate
|
|
36
|
+
} = _ref;
|
|
41
37
|
const {
|
|
42
38
|
onDatesChange
|
|
43
39
|
} = this.props;
|
|
@@ -56,23 +52,26 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
56
52
|
primaryStartInput: false,
|
|
57
53
|
primaryEndInput: false
|
|
58
54
|
});
|
|
59
|
-
}
|
|
55
|
+
};
|
|
60
56
|
|
|
61
|
-
|
|
62
|
-
this.setState(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
57
|
+
this.onFocusChange = () => {
|
|
58
|
+
this.setState(_ref2 => {
|
|
59
|
+
let {
|
|
60
|
+
focusedInput
|
|
61
|
+
} = _ref2;
|
|
62
|
+
return {
|
|
63
|
+
focusedInput: focusedInput === START_DATE ? END_DATE : START_DATE
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
};
|
|
68
67
|
|
|
69
|
-
|
|
68
|
+
this.handleKeyDown = event => {
|
|
70
69
|
if (event.key === 'Escape') this.setState({
|
|
71
70
|
showPicker: false
|
|
72
71
|
});
|
|
73
|
-
}
|
|
72
|
+
};
|
|
74
73
|
|
|
75
|
-
|
|
74
|
+
this.getSafeStartInputValue = () => {
|
|
76
75
|
const {
|
|
77
76
|
startInput,
|
|
78
77
|
primaryStartInput,
|
|
@@ -81,9 +80,9 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
81
80
|
if (primaryStartInput && startInput) return startInput;
|
|
82
81
|
if (!startDate) return '';
|
|
83
82
|
return startDate.format('MMDDYYYY');
|
|
84
|
-
}
|
|
83
|
+
};
|
|
85
84
|
|
|
86
|
-
|
|
85
|
+
this.getSafeEndInputValue = () => {
|
|
87
86
|
const {
|
|
88
87
|
endInput,
|
|
89
88
|
primaryEndInput,
|
|
@@ -92,9 +91,9 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
92
91
|
if (primaryEndInput && endInput) return endInput;
|
|
93
92
|
if (!endDate) return '';
|
|
94
93
|
return endDate.format('MMDDYYYY');
|
|
95
|
-
}
|
|
94
|
+
};
|
|
96
95
|
|
|
97
|
-
|
|
96
|
+
this.changeFocus = () => {
|
|
98
97
|
const {
|
|
99
98
|
disabled
|
|
100
99
|
} = this.props;
|
|
@@ -104,9 +103,9 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
104
103
|
focusedInput: 'startDate'
|
|
105
104
|
}));
|
|
106
105
|
}
|
|
107
|
-
}
|
|
106
|
+
};
|
|
108
107
|
|
|
109
|
-
|
|
108
|
+
this.handleChangeStart = e => {
|
|
110
109
|
var _momentValue;
|
|
111
110
|
|
|
112
111
|
const {
|
|
@@ -120,8 +119,8 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
120
119
|
const startInputVal = e.target.value;
|
|
121
120
|
let momentValue = null;
|
|
122
121
|
|
|
123
|
-
if (startInputVal && moment__default[
|
|
124
|
-
momentValue = moment__default[
|
|
122
|
+
if (startInputVal && moment__default["default"](startInputVal, 'MM/DD/YYYY', true).isValid()) {
|
|
123
|
+
momentValue = moment__default["default"](startInputVal);
|
|
125
124
|
}
|
|
126
125
|
|
|
127
126
|
const startDateBlocked = isDayBlocked(momentValue);
|
|
@@ -139,9 +138,9 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
139
138
|
startDateError: invalidDate,
|
|
140
139
|
endDateError: !isStartDateAcceptable || !prevState.endDateError ? prevState.endDateError : !isStartAcceptableWithSelectedEnd
|
|
141
140
|
}));
|
|
142
|
-
}
|
|
141
|
+
};
|
|
143
142
|
|
|
144
|
-
|
|
143
|
+
this.handleChangeEnd = e => {
|
|
145
144
|
var _momentValue2;
|
|
146
145
|
|
|
147
146
|
const {
|
|
@@ -155,15 +154,18 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
155
154
|
const endInputValue = e.target.value;
|
|
156
155
|
let momentValue = null;
|
|
157
156
|
|
|
158
|
-
if (endInputValue && moment__default[
|
|
159
|
-
momentValue = moment__default[
|
|
157
|
+
if (endInputValue && moment__default["default"](endInputValue, 'MM/DD/YYYY', true).isValid()) {
|
|
158
|
+
momentValue = moment__default["default"](endInputValue);
|
|
160
159
|
}
|
|
161
160
|
|
|
162
161
|
const endDateBlocked = isDayBlocked(momentValue);
|
|
163
162
|
const isEndDateAcceptable = !endDateBlocked && momentValue && endInputValue !== '';
|
|
164
163
|
const areDatesValid = startDate && momentValue && (startDate === null || startDate === void 0 ? void 0 : startDate.isValid()) && ((_momentValue2 = momentValue) === null || _momentValue2 === void 0 ? void 0 : _momentValue2.isValid());
|
|
165
164
|
const canEndBeSameAsStart = minimumNights === 0;
|
|
166
|
-
const isEndAcceptableWithSelectedStart = !startDate ||
|
|
165
|
+
const isEndAcceptableWithSelectedStart = !startDate || // we can't compare with start date because it's not yet set
|
|
166
|
+
areDatesValid && ( // it's set and both are valid
|
|
167
|
+
canEndBeSameAsStart && momentValue.diff(startDate, 'days') >= 0 || // >= is valid
|
|
168
|
+
!canEndBeSameAsStart && momentValue.diff(startDate, 'days') > 0); // only > is valid
|
|
167
169
|
|
|
168
170
|
const invalidDate = !isEndDateAcceptable || !isEndAcceptableWithSelectedStart;
|
|
169
171
|
if (endDateBlocked) momentValue = null;
|
|
@@ -175,22 +177,24 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
175
177
|
startDateError: !isEndDateAcceptable || !prevState.startDateError ? prevState.startDateError : !isEndAcceptableWithSelectedStart,
|
|
176
178
|
endDateError: invalidDate
|
|
177
179
|
}));
|
|
178
|
-
}
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
this.handleChangeDate = _ref3 => {
|
|
183
|
+
let {
|
|
184
|
+
startDate: _start,
|
|
185
|
+
endDate
|
|
186
|
+
} = _ref3;
|
|
179
187
|
|
|
180
|
-
_defineProperty__default['default'](this, "handleChangeDate", ({
|
|
181
|
-
startDate: _start,
|
|
182
|
-
endDate
|
|
183
|
-
}) => {
|
|
184
188
|
if (_start && endDate) {
|
|
185
189
|
this.setState({
|
|
186
|
-
startDate: moment__default[
|
|
190
|
+
startDate: moment__default["default"](_start),
|
|
187
191
|
endDate,
|
|
188
192
|
primaryStartInput: false,
|
|
189
193
|
primaryEndInput: false
|
|
190
194
|
});
|
|
191
195
|
} else if (_start) {
|
|
192
196
|
this.setState({
|
|
193
|
-
startDate: moment__default[
|
|
197
|
+
startDate: moment__default["default"](_start),
|
|
194
198
|
primaryStartInput: false
|
|
195
199
|
});
|
|
196
200
|
} else if (endDate) {
|
|
@@ -199,11 +203,11 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
199
203
|
primaryEndInput: false
|
|
200
204
|
});
|
|
201
205
|
}
|
|
202
|
-
}
|
|
206
|
+
};
|
|
203
207
|
|
|
204
208
|
this.state = {
|
|
205
|
-
startDate: props.startDate ? moment__default[
|
|
206
|
-
endDate: props.endDate ? moment__default[
|
|
209
|
+
startDate: props.startDate ? moment__default["default"](props.startDate) : null,
|
|
210
|
+
endDate: props.endDate ? moment__default["default"](props.endDate) : null,
|
|
207
211
|
focusedInput: START_DATE,
|
|
208
212
|
showPicker: false,
|
|
209
213
|
startDateError: false,
|
|
@@ -251,13 +255,13 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
251
255
|
const inputClassModifier = '';
|
|
252
256
|
const safeStartInputValue = this.getSafeStartInputValue();
|
|
253
257
|
const safeEndInputValue = this.getSafeEndInputValue();
|
|
254
|
-
return /*#__PURE__*/_jsx__default[
|
|
255
|
-
className:
|
|
256
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
258
|
+
return /*#__PURE__*/_jsx__default["default"]("div", {
|
|
259
|
+
className: "".concat(inputClass, " ").concat(inputClassModifier)
|
|
260
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
|
|
257
261
|
className: classNameBlock('wrapper-input-date-range-picker-controller')
|
|
258
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
262
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](DSInputMask.DSFormItemLayout, {
|
|
259
263
|
floatingLabel: true,
|
|
260
|
-
inputComponent:
|
|
264
|
+
inputComponent: DSInputMask.DSInputMask,
|
|
261
265
|
labelText: labelFrom,
|
|
262
266
|
mask: DSInputMask.MASK_TYPES.DATE,
|
|
263
267
|
onChange: this.handleChangeStart,
|
|
@@ -269,9 +273,9 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
269
273
|
required: startDateRequired,
|
|
270
274
|
hasError: hasError || startDateError,
|
|
271
275
|
placeholder: "MM/DD/YYYY"
|
|
272
|
-
}), /*#__PURE__*/_jsx__default[
|
|
276
|
+
}), /*#__PURE__*/_jsx__default["default"](DSInputMask.DSFormItemLayout, {
|
|
273
277
|
floatingLabel: true,
|
|
274
|
-
inputComponent:
|
|
278
|
+
inputComponent: DSInputMask.DSInputMask,
|
|
275
279
|
labelText: labelTo,
|
|
276
280
|
mask: DSInputMask.MASK_TYPES.DATE,
|
|
277
281
|
onChange: this.handleChangeEnd,
|
|
@@ -284,10 +288,10 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
284
288
|
hasError: hasError || endDateError,
|
|
285
289
|
validationMessage: validationMessage,
|
|
286
290
|
placeholder: "MM/DD/YYYY"
|
|
287
|
-
})), /*#__PURE__*/_jsx__default[
|
|
291
|
+
})), /*#__PURE__*/_jsx__default["default"]("div", {
|
|
288
292
|
className: classNameBlock('wrapper-button-date-range-picker-controller')
|
|
289
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
290
|
-
contentComponent: /*#__PURE__*/_jsx__default[
|
|
293
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](DSPopper__default["default"], {
|
|
294
|
+
contentComponent: /*#__PURE__*/_jsx__default["default"]("div", {}, void 0, showPicker && /*#__PURE__*/_jsx__default["default"](DayPickerRangeController, {
|
|
291
295
|
enableOutsideDays: enableOutsideDays,
|
|
292
296
|
isDayBlocked: isDayBlocked,
|
|
293
297
|
isDayHighlighted: isDayHighlighted,
|
|
@@ -314,17 +318,17 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
314
318
|
onClose: onClose,
|
|
315
319
|
placement: "bottom-end",
|
|
316
320
|
showArrow: false,
|
|
317
|
-
triggerComponent: /*#__PURE__*/_jsx__default[
|
|
321
|
+
triggerComponent: /*#__PURE__*/_jsx__default["default"]("div", {
|
|
318
322
|
onFocus: () => this.setState({
|
|
319
323
|
showPicker: true
|
|
320
324
|
})
|
|
321
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
325
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](dsDatePicker.DatePickerPicker, {
|
|
322
326
|
className: classNameElement('picker'),
|
|
323
327
|
disabled: disabled,
|
|
324
328
|
onClick: () => this.setState({
|
|
325
329
|
showPicker: true
|
|
326
330
|
})
|
|
327
|
-
}), hasError && validationMessage && /*#__PURE__*/_jsx__default[
|
|
331
|
+
}), hasError && validationMessage && /*#__PURE__*/_jsx__default["default"]("div", {
|
|
328
332
|
style: {
|
|
329
333
|
height: 15
|
|
330
334
|
}
|
|
@@ -336,4 +340,4 @@ class DSDateRangePickerImpl extends React__default['default'].Component {
|
|
|
336
340
|
|
|
337
341
|
exports.END_DATE = END_DATE;
|
|
338
342
|
exports.START_DATE = START_DATE;
|
|
339
|
-
exports[
|
|
343
|
+
exports["default"] = DSDateRangePickerImpl;
|
|
@@ -7,11 +7,14 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
7
7
|
|
|
8
8
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
9
9
|
|
|
10
|
-
const Label =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const Label = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
className = 'date-picker-label',
|
|
13
|
+
label = ''
|
|
14
|
+
} = _ref;
|
|
15
|
+
return /*#__PURE__*/_jsx__default["default"]("div", {
|
|
16
|
+
className: className
|
|
17
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"]("span", {}, void 0, label));
|
|
18
|
+
};
|
|
16
19
|
|
|
17
20
|
module.exports = Label;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
var moment = require('moment');
|
|
6
|
-
var DSInputMask = require('@elliemae/ds-
|
|
7
|
-
var DSInputGroup = require('@elliemae/ds-basic/form/InputGroup');
|
|
7
|
+
var DSInputMask = require('@elliemae/ds-form');
|
|
8
8
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -12,7 +12,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
12
12
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
13
13
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
14
14
|
var DSInputMask__default = /*#__PURE__*/_interopDefaultLegacy(DSInputMask);
|
|
15
|
-
var DSInputGroup__default = /*#__PURE__*/_interopDefaultLegacy(DSInputGroup);
|
|
16
15
|
|
|
17
16
|
const blockname = 'date-range-picker';
|
|
18
17
|
const Header = dsClassnames.aggregatedClasses('div')(blockname, 'header');
|
|
@@ -23,14 +22,15 @@ const formatDate = date => {
|
|
|
23
22
|
}
|
|
24
23
|
};
|
|
25
24
|
|
|
26
|
-
const DatePickerRangeHeader =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
const DatePickerRangeHeader = _ref => {
|
|
26
|
+
let {
|
|
27
|
+
placeholderStart = 'Start Date',
|
|
28
|
+
placeholderEnd = 'End Date',
|
|
29
|
+
onStartInputChange = () => null,
|
|
30
|
+
onEndInputChange = () => null,
|
|
31
|
+
selectedStartDate,
|
|
32
|
+
selectedEndDate
|
|
33
|
+
} = _ref;
|
|
34
34
|
const [startValue, setStartValue] = React.useState(selectedStartDate ? formatDate(selectedStartDate) : '');
|
|
35
35
|
const [endValue, setEndValue] = React.useState(selectedEndDate ? formatDate(selectedEndDate) : '');
|
|
36
36
|
React.useEffect(() => {
|
|
@@ -52,18 +52,18 @@ const DatePickerRangeHeader = ({
|
|
|
52
52
|
|
|
53
53
|
const handleOnBlurStart = e => {
|
|
54
54
|
const newStartValue = e.target.value;
|
|
55
|
-
onStartInputChange(moment__default[
|
|
55
|
+
onStartInputChange(moment__default["default"](newStartValue));
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
const handleOnBlurEnd = e => {
|
|
59
59
|
const newEndValue = e.target.value;
|
|
60
|
-
onEndInputChange(moment__default[
|
|
60
|
+
onEndInputChange(moment__default["default"](newEndValue));
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
const handleOnKeyDownStart = e => {
|
|
64
64
|
if (e.key === 'Enter') {
|
|
65
65
|
const newValue = e.target.value;
|
|
66
|
-
onStartInputChange(moment__default[
|
|
66
|
+
onStartInputChange(moment__default["default"](newValue));
|
|
67
67
|
e.target.blur();
|
|
68
68
|
}
|
|
69
69
|
};
|
|
@@ -71,12 +71,12 @@ const DatePickerRangeHeader = ({
|
|
|
71
71
|
const handleOnKeyDownEnd = e => {
|
|
72
72
|
if (e.key === 'Enter') {
|
|
73
73
|
const newValue = e.target.value;
|
|
74
|
-
onEndInputChange(moment__default[
|
|
74
|
+
onEndInputChange(moment__default["default"](newValue));
|
|
75
75
|
e.target.blur();
|
|
76
76
|
}
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
-
return /*#__PURE__*/_jsx__default[
|
|
79
|
+
return /*#__PURE__*/_jsx__default["default"](Header, {}, void 0, /*#__PURE__*/_jsx__default["default"](DSInputMask.DSInputGroup, {}, void 0, /*#__PURE__*/_jsx__default["default"](DSInputMask__default["default"], {
|
|
80
80
|
"aria-label": placeholderStart || 'Date Picker Input Mask',
|
|
81
81
|
mask: DSInputMask.MASK_TYPES.DATE,
|
|
82
82
|
onBlur: handleOnBlurStart,
|
|
@@ -85,7 +85,7 @@ const DatePickerRangeHeader = ({
|
|
|
85
85
|
pipe: DSInputMask.MASK_PIPES.AUTO_CORRECT_DATE,
|
|
86
86
|
placeholder: placeholderStart,
|
|
87
87
|
value: startValue
|
|
88
|
-
}), /*#__PURE__*/_jsx__default[
|
|
88
|
+
}), /*#__PURE__*/_jsx__default["default"](DSInputMask__default["default"], {
|
|
89
89
|
"aria-label": placeholderEnd || 'Date Picker Input Mask',
|
|
90
90
|
mask: DSInputMask.MASK_TYPES.DATE,
|
|
91
91
|
onBlur: handleOnBlurEnd,
|
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
5
5
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
6
12
|
var React = require('react');
|
|
7
13
|
var reactDates = require('react-dates');
|
|
8
14
|
var dsDatePicker = require('@elliemae/ds-date-picker');
|
|
9
|
-
var
|
|
15
|
+
var dsIcons = require('@elliemae/ds-icons');
|
|
10
16
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
11
17
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
18
|
|
|
@@ -15,13 +21,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
15
21
|
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
16
22
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
17
23
|
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
18
|
-
var ChevronLeft__default = /*#__PURE__*/_interopDefaultLegacy(ChevronLeft);
|
|
19
24
|
|
|
20
25
|
const _excluded = ["endDate", "startDate", "displayFormatDay", "focusedInput", "enableOutsideDays", "onDatesChange", "onFocusChange", "onOutsideClick", "isDayBlocked", "isDayHighlighted", "isOutsideRange", "onNextMonthClick", "onPrevMonthClick"];
|
|
21
26
|
|
|
22
27
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
23
28
|
|
|
24
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
29
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
25
30
|
const {
|
|
26
31
|
classNameElement,
|
|
27
32
|
classNameBlock
|
|
@@ -43,7 +48,7 @@ const DayPickerRangeController = _ref => {
|
|
|
43
48
|
onNextMonthClick = () => null,
|
|
44
49
|
onPrevMonthClick = () => null
|
|
45
50
|
} = _ref,
|
|
46
|
-
otherProps = _objectWithoutProperties__default[
|
|
51
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
|
|
47
52
|
|
|
48
53
|
const datePickerRef = React.useRef();
|
|
49
54
|
React.useEffect(() => {
|
|
@@ -117,19 +122,19 @@ const DayPickerRangeController = _ref => {
|
|
|
117
122
|
focused: true,
|
|
118
123
|
focusedInput: focusedInput,
|
|
119
124
|
hideKeyboardShortcutsPanel: true,
|
|
120
|
-
navNext: /*#__PURE__*/_jsx__default[
|
|
125
|
+
navNext: /*#__PURE__*/_jsx__default["default"](dsDatePicker.DatePickerNavigation, {
|
|
121
126
|
className: classNameElement('navigation-next')
|
|
122
127
|
}),
|
|
123
|
-
navPrev: /*#__PURE__*/_jsx__default[
|
|
128
|
+
navPrev: /*#__PURE__*/_jsx__default["default"](dsDatePicker.DatePickerNavigation, {
|
|
124
129
|
className: classNameElement('navigation-prev'),
|
|
125
|
-
icon:
|
|
130
|
+
icon: dsIcons.ChevronLeft
|
|
126
131
|
}),
|
|
127
132
|
onDatesChange: onDatesChange,
|
|
128
133
|
onFocusChange: onFocusChange,
|
|
129
134
|
onOutsideClick: onOutsideClick,
|
|
130
135
|
onNextMonthClick: onNextMonthClick,
|
|
131
136
|
onPrevMonthClick: onPrevMonthClick,
|
|
132
|
-
renderDayContents: date => /*#__PURE__*/_jsx__default[
|
|
137
|
+
renderDayContents: date => /*#__PURE__*/_jsx__default["default"](dsDatePicker.DatePickerDay, {
|
|
133
138
|
className: classNameElement('day-contents'),
|
|
134
139
|
date: date.format(displayFormatDay)
|
|
135
140
|
}),
|
package/cjs/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var DSDateRangePickerImpl = require('./components/DSDateRangePickerImpl.js');
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
exports.DateRangePickerWithSchema = DSDateRangePicker.DateRangePickerWithSchema;
|
|
12
|
-
exports
|
|
12
|
+
exports["default"] = DSDateRangePicker["default"];
|
|
13
13
|
exports.DayPickerRangeController = DayPickerRangeController;
|
|
14
14
|
exports.END_DATE = DSDateRangePickerImpl.END_DATE;
|
|
15
15
|
exports.START_DATE = DSDateRangePickerImpl.START_DATE;
|