@elliemae/ds-date-picker 1.61.0 → 2.0.0-alpha.12
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/DSDatePicker.js +139 -205
- package/cjs/components/DSDatePickerImpl.js +238 -273
- package/cjs/components/DatePickerController/DatePickerController.js +199 -297
- package/cjs/components/DatePickerDay/DatePickerDay.js +11 -18
- package/cjs/components/DatePickerDropdown.js +32 -45
- package/cjs/components/DatePickerHeader/DatePickerHeader.js +19 -36
- package/cjs/components/DatePickerNavigation/DatePickerNavigation.js +16 -28
- package/cjs/components/DatePickerPicker/DatePickerPicker.js +40 -49
- package/cjs/components/DatePickerRange/DatePickerRange.js +76 -85
- package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js +48 -82
- package/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js +18 -20
- package/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js +52 -75
- package/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +31 -30
- package/cjs/components/index.js +20 -36
- package/cjs/defaultPhrases.js +224 -211
- package/cjs/index.js +24 -50
- package/esm/DSDatePicker.js +108 -174
- package/esm/components/DSDatePickerImpl.js +231 -262
- package/esm/components/DatePickerController/DatePickerController.js +154 -246
- package/esm/components/DatePickerDay/DatePickerDay.js +10 -16
- package/esm/components/DatePickerDropdown.js +30 -42
- package/esm/components/DatePickerHeader/DatePickerHeader.js +19 -34
- package/esm/components/DatePickerNavigation/DatePickerNavigation.js +14 -26
- package/esm/components/DatePickerPicker/DatePickerPicker.js +23 -33
- package/esm/components/DatePickerRange/DatePickerRange.js +71 -79
- package/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js +48 -80
- package/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js +17 -19
- package/esm/components/DatePickerSingleDate/DatePickerSingleDate.js +48 -70
- package/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js +26 -25
- package/esm/components/index.js +0 -16
- package/esm/defaultPhrases.js +223 -210
- package/esm/index.js +4 -30
- package/package.json +99 -15
- package/types/components/DSDatePickerImpl.d.ts +20 -0
- package/types/components/DatePickerController/DatePickerController.d.ts +80 -0
- package/types/components/DatePickerDay/DatePickerDay.d.ts +13 -0
- package/types/components/DatePickerDropdown.d.ts +41 -0
- package/types/components/DatePickerHeader/DatePickerHeader.d.ts +15 -0
- package/types/components/DatePickerNavigation/DatePickerNavigation.d.ts +19 -0
- package/types/components/DatePickerPicker/DatePickerPicker.d.ts +48 -0
- package/types/components/DatePickerRange/DatePickerRange.d.ts +9 -0
- package/types/components/DatePickerRangeHeader/DatePickerRangeHeader.d.ts +23 -0
- package/types/components/DatePickerRangeHeader/tests/DatePickerRangeHeader.test.d.ts +1 -0
- package/types/components/DatePickerRenderMonth/DatePickerRenderMonth.d.ts +5 -0
- package/types/components/DatePickerSingleDate/DatePickerSingleDate.d.ts +11 -0
- package/types/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.d.ts +16 -0
- package/types/components/index.d.ts +10 -0
- package/types/components/tests/DatePickerHeader.test.d.ts +1 -0
- package/types/components/tests/DatePickerRange.test.d.ts +1 -0
- package/types/components/tests/DatePickerRangeHeader.test.d.ts +1 -0
- package/types/components/tests/DatePickerSelectedDate.test.d.ts +1 -0
- package/types/components/tests/DatePickerSingleDate.test.d.ts +1 -0
- package/types/components/tests/SingleRangeDateSwitcher.test.d.ts +1 -0
- package/types/defaultPhrases.d.ts +225 -0
- package/types/index.d.ts +3 -0
- package/DSDatePicker/package.json +0 -10
- package/cjs/DSDatePicker.js.map +0 -1
- package/cjs/components/DSDatePickerImpl.js.map +0 -1
- package/cjs/components/DatePickerController/DatePickerController.js.map +0 -1
- package/cjs/components/DatePickerDay/DatePickerDay.js.map +0 -1
- package/cjs/components/DatePickerDropdown.js.map +0 -1
- package/cjs/components/DatePickerHeader/DatePickerHeader.js.map +0 -1
- package/cjs/components/DatePickerNavigation/DatePickerNavigation.js.map +0 -1
- package/cjs/components/DatePickerPicker/DatePickerPicker.js.map +0 -1
- package/cjs/components/DatePickerRange/DatePickerRange.js.map +0 -1
- package/cjs/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +0 -1
- package/cjs/components/DatePickerRenderMonth/DatePickerRenderMonth.js.map +0 -1
- package/cjs/components/DatePickerSingleDate/DatePickerSingleDate.js.map +0 -1
- package/cjs/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +0 -1
- package/cjs/components/index.js.map +0 -1
- package/cjs/defaultPhrases.js.map +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/prop-types-fcbbf657.js +0 -18
- package/cjs/prop-types-fcbbf657.js.map +0 -1
- package/components/DSDatePickerImpl/package.json +0 -10
- package/components/DatePickerController/DatePickerController/package.json +0 -10
- package/components/DatePickerDay/DatePickerDay/package.json +0 -10
- package/components/DatePickerDropdown/package.json +0 -10
- package/components/DatePickerHeader/DatePickerHeader/package.json +0 -10
- package/components/DatePickerNavigation/DatePickerNavigation/package.json +0 -10
- package/components/DatePickerPicker/DatePickerPicker/package.json +0 -10
- package/components/DatePickerRange/DatePickerRange/package.json +0 -10
- package/components/DatePickerRangeHeader/DatePickerRangeHeader/package.json +0 -10
- package/components/DatePickerRenderMonth/DatePickerRenderMonth/package.json +0 -10
- package/components/DatePickerSingleDate/DatePickerSingleDate/package.json +0 -10
- package/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher/package.json +0 -10
- package/components/package.json +0 -10
- package/defaultPhrases/package.json +0 -10
- package/esm/DSDatePicker.js.map +0 -1
- package/esm/components/DSDatePickerImpl.js.map +0 -1
- package/esm/components/DatePickerController/DatePickerController.js.map +0 -1
- package/esm/components/DatePickerDay/DatePickerDay.js.map +0 -1
- package/esm/components/DatePickerDropdown.js.map +0 -1
- package/esm/components/DatePickerHeader/DatePickerHeader.js.map +0 -1
- package/esm/components/DatePickerNavigation/DatePickerNavigation.js.map +0 -1
- package/esm/components/DatePickerPicker/DatePickerPicker.js.map +0 -1
- package/esm/components/DatePickerRange/DatePickerRange.js.map +0 -1
- package/esm/components/DatePickerRangeHeader/DatePickerRangeHeader.js.map +0 -1
- package/esm/components/DatePickerRenderMonth/DatePickerRenderMonth.js.map +0 -1
- package/esm/components/DatePickerSingleDate/DatePickerSingleDate.js.map +0 -1
- package/esm/components/SingleRangeDateSwitcher/SingleRangeDateSwitcher.js.map +0 -1
- package/esm/components/index.js.map +0 -1
- package/esm/defaultPhrases.js.map +0 -1
- package/esm/index.js.map +0 -1
- package/esm/prop-types-578e866b.js +0 -15
- package/esm/prop-types-578e866b.js.map +0 -1
|
@@ -1,86 +1,50 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
var _inherits = require('@babel/runtime/helpers/inherits');
|
|
6
|
-
var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
|
|
7
|
-
var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
|
|
3
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
8
5
|
var React = require('react');
|
|
9
6
|
var moment = require('moment');
|
|
10
7
|
var dsForm = require('@elliemae/ds-form');
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
require('@babel/runtime/helpers/extends');
|
|
14
|
-
require('@babel/runtime/helpers/toArray');
|
|
15
|
-
require('@babel/runtime/helpers/slicedToArray');
|
|
16
|
-
require('lodash');
|
|
17
|
-
require('prop-types');
|
|
18
|
-
require('react-dates/initialize');
|
|
19
|
-
require('react-dates');
|
|
20
|
-
require('@elliemae/ds-classnames');
|
|
21
|
-
require('@elliemae/ds-icons');
|
|
22
|
-
require('../defaultPhrases.js');
|
|
23
|
-
require('./DatePickerRenderMonth/DatePickerRenderMonth.js');
|
|
24
|
-
require('@elliemae/ds-grid');
|
|
25
|
-
require('./DatePickerNavigation/DatePickerNavigation.js');
|
|
26
|
-
require('@elliemae/ds-icon');
|
|
27
|
-
require('../prop-types-fcbbf657.js');
|
|
28
|
-
require('./DatePickerDay/DatePickerDay.js');
|
|
29
|
-
require('@elliemae/ds-popper');
|
|
30
|
-
require('./DatePickerPicker/DatePickerPicker.js');
|
|
31
|
-
require('@babel/runtime/helpers/objectWithoutProperties');
|
|
32
|
-
require('@elliemae/ds-button');
|
|
8
|
+
var DatePickerController = require('./DatePickerController/DatePickerController.js');
|
|
9
|
+
var DatePickerDropdown = require('./DatePickerDropdown.js');
|
|
33
10
|
|
|
34
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
35
12
|
|
|
36
|
-
var
|
|
37
|
-
var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
|
|
38
|
-
var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
|
|
39
|
-
var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
|
|
40
|
-
var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
|
|
13
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
41
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
42
15
|
var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
|
|
43
16
|
|
|
44
|
-
|
|
17
|
+
const FORMAT = 'MMDDYYYY';
|
|
18
|
+
class DSdatePickerImpl extends React__default["default"].Component {
|
|
19
|
+
constructor(props) {
|
|
20
|
+
super(props);
|
|
45
21
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var DSdatePickerImpl = /*#__PURE__*/function (_React$Component) {
|
|
50
|
-
_inherits__default['default'](DSdatePickerImpl, _React$Component);
|
|
51
|
-
|
|
52
|
-
var _super = _createSuper(DSdatePickerImpl);
|
|
53
|
-
|
|
54
|
-
function DSdatePickerImpl(props) {
|
|
55
|
-
var _this;
|
|
56
|
-
|
|
57
|
-
_classCallCheck__default['default'](this, DSdatePickerImpl);
|
|
58
|
-
|
|
59
|
-
_this = _super.call(this, props);
|
|
60
|
-
|
|
61
|
-
_this.onClickPicker = function () {
|
|
62
|
-
_this.setState({
|
|
22
|
+
this.onClickPicker = () => {
|
|
23
|
+
this.setState({
|
|
63
24
|
inputFocused: true
|
|
64
25
|
});
|
|
65
26
|
};
|
|
66
27
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
28
|
+
this.getSafeValue = () => {
|
|
29
|
+
const {
|
|
30
|
+
value,
|
|
31
|
+
date,
|
|
32
|
+
defaultValue
|
|
33
|
+
} = this.props;
|
|
34
|
+
const {
|
|
35
|
+
selectedDate
|
|
36
|
+
} = this.state;
|
|
73
37
|
|
|
74
38
|
if (value) {
|
|
75
|
-
return moment__default[
|
|
39
|
+
return moment__default["default"](value, FORMAT, true);
|
|
76
40
|
}
|
|
77
41
|
|
|
78
42
|
if (date) {
|
|
79
|
-
return moment__default[
|
|
43
|
+
return moment__default["default"](date, FORMAT, true);
|
|
80
44
|
}
|
|
81
45
|
|
|
82
46
|
if (defaultValue) {
|
|
83
|
-
return moment__default[
|
|
47
|
+
return moment__default["default"](defaultValue, FORMAT, true);
|
|
84
48
|
}
|
|
85
49
|
|
|
86
50
|
if (selectedDate) {
|
|
@@ -90,35 +54,39 @@ var DSdatePickerImpl = /*#__PURE__*/function (_React$Component) {
|
|
|
90
54
|
return null;
|
|
91
55
|
};
|
|
92
56
|
|
|
93
|
-
|
|
94
|
-
|
|
57
|
+
this.getSafeInputValue = () => {
|
|
58
|
+
const safeValue = this.getSafeValue();
|
|
95
59
|
|
|
96
60
|
if (safeValue && safeValue.isValid()) {
|
|
97
61
|
return safeValue.format(FORMAT);
|
|
98
62
|
}
|
|
99
63
|
|
|
100
|
-
|
|
64
|
+
const {
|
|
65
|
+
dataInput
|
|
66
|
+
} = this.state;
|
|
101
67
|
return dataInput;
|
|
102
68
|
};
|
|
103
69
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
70
|
+
this.isControlled = () => {
|
|
71
|
+
const {
|
|
72
|
+
value,
|
|
73
|
+
date
|
|
74
|
+
} = this.props;
|
|
108
75
|
return Boolean(value) || Boolean(date);
|
|
109
76
|
};
|
|
110
77
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
78
|
+
this.handleDateChange = (date, event) => {
|
|
79
|
+
const {
|
|
80
|
+
readOnly,
|
|
81
|
+
onDateChange,
|
|
82
|
+
keepOpenOnDateSelect,
|
|
83
|
+
onChange,
|
|
84
|
+
onBlur
|
|
85
|
+
} = this.props;
|
|
118
86
|
|
|
119
87
|
if (!readOnly) {
|
|
120
|
-
if (!
|
|
121
|
-
|
|
88
|
+
if (!this.isControlled()) {
|
|
89
|
+
this.setState({
|
|
122
90
|
dataInput: date.format(FORMAT),
|
|
123
91
|
selectedDate: date
|
|
124
92
|
});
|
|
@@ -128,88 +96,86 @@ var DSdatePickerImpl = /*#__PURE__*/function (_React$Component) {
|
|
|
128
96
|
onDateChange(date);
|
|
129
97
|
|
|
130
98
|
if (!keepOpenOnDateSelect || event.key === 'Enter') {
|
|
131
|
-
|
|
99
|
+
this.setState({
|
|
132
100
|
inputFocused: false
|
|
133
101
|
});
|
|
134
|
-
|
|
135
102
|
onBlur(date.format(FORMAT), date);
|
|
136
103
|
}
|
|
137
104
|
}
|
|
138
105
|
};
|
|
139
106
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
107
|
+
this.handleInputChange = (dataInput, newDate) => {
|
|
108
|
+
const {
|
|
109
|
+
onChange
|
|
110
|
+
} = this.props;
|
|
111
|
+
const newState = {
|
|
112
|
+
dataInput,
|
|
144
113
|
selectedDate: newDate
|
|
145
114
|
};
|
|
146
|
-
|
|
147
|
-
_this.setState(function () {
|
|
148
|
-
return newState;
|
|
149
|
-
});
|
|
150
|
-
|
|
115
|
+
this.setState(() => newState);
|
|
151
116
|
onChange(dataInput, newDate);
|
|
152
117
|
};
|
|
153
118
|
|
|
154
|
-
|
|
119
|
+
this.handleChange = newDate => {
|
|
155
120
|
if (!newDate) return;
|
|
156
|
-
|
|
157
|
-
|
|
121
|
+
const {
|
|
122
|
+
onDateChange
|
|
123
|
+
} = this.props;
|
|
124
|
+
const momentValue = moment__default["default"](newDate, FORMAT, true);
|
|
158
125
|
if (!momentValue.isValid()) return;
|
|
159
|
-
|
|
160
|
-
_this.setState({
|
|
126
|
+
this.setState({
|
|
161
127
|
selectedDate: momentValue
|
|
162
128
|
});
|
|
163
|
-
|
|
164
129
|
onDateChange(momentValue);
|
|
165
130
|
};
|
|
166
131
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
132
|
+
this.handleFocus = _ref => {
|
|
133
|
+
let {
|
|
134
|
+
focused
|
|
135
|
+
} = _ref;
|
|
136
|
+
this.setState({
|
|
171
137
|
inputFocused: focused
|
|
172
138
|
});
|
|
173
139
|
};
|
|
174
140
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
141
|
+
this.handleCalendarClose = () => {
|
|
142
|
+
const {
|
|
143
|
+
onClose
|
|
144
|
+
} = this.props;
|
|
145
|
+
this.setState({
|
|
179
146
|
inputFocused: false
|
|
180
147
|
});
|
|
181
|
-
|
|
182
|
-
_this.handleOnBlur();
|
|
183
|
-
|
|
148
|
+
this.handleOnBlur();
|
|
184
149
|
onClose();
|
|
185
150
|
};
|
|
186
151
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
152
|
+
this.handleClickEscape = () => {
|
|
153
|
+
const {
|
|
154
|
+
onClose
|
|
155
|
+
} = this.props;
|
|
156
|
+
this.setState({
|
|
191
157
|
inputFocused: false
|
|
192
158
|
});
|
|
193
|
-
|
|
194
|
-
_this.handleOnBlur();
|
|
195
|
-
|
|
159
|
+
this.handleOnBlur();
|
|
196
160
|
onClose();
|
|
197
161
|
};
|
|
198
162
|
|
|
199
|
-
|
|
200
|
-
setTimeout(
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
163
|
+
this.handleOnBlur = () => {
|
|
164
|
+
setTimeout(() => {
|
|
165
|
+
const {
|
|
166
|
+
onBlur,
|
|
167
|
+
autoClear
|
|
168
|
+
} = this.props;
|
|
169
|
+
const {
|
|
170
|
+
dataInput,
|
|
171
|
+
selectedDate
|
|
172
|
+
} = this.state;
|
|
173
|
+
|
|
174
|
+
if (moment__default["default"](selectedDate, FORMAT, true).isValid()) {
|
|
209
175
|
onBlur(dataInput, selectedDate);
|
|
210
176
|
} else {
|
|
211
177
|
if (autoClear) {
|
|
212
|
-
|
|
178
|
+
this.setState({
|
|
213
179
|
dataInput: undefined
|
|
214
180
|
});
|
|
215
181
|
}
|
|
@@ -219,171 +185,170 @@ var DSdatePickerImpl = /*#__PURE__*/function (_React$Component) {
|
|
|
219
185
|
});
|
|
220
186
|
};
|
|
221
187
|
|
|
222
|
-
|
|
223
|
-
|
|
188
|
+
this.handleInputFocus = dataInput => {
|
|
189
|
+
const {
|
|
190
|
+
onFocus
|
|
191
|
+
} = this.props;
|
|
224
192
|
onFocus(dataInput);
|
|
225
193
|
};
|
|
226
194
|
|
|
227
|
-
|
|
228
|
-
pickerRef: /*#__PURE__*/React__default[
|
|
195
|
+
this.state = {
|
|
196
|
+
pickerRef: /*#__PURE__*/React__default["default"].createRef(),
|
|
229
197
|
dataInput: '',
|
|
230
198
|
selectedDate: null,
|
|
231
199
|
inputFocused: false
|
|
232
200
|
};
|
|
233
|
-
return _this;
|
|
234
201
|
}
|
|
235
202
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
displayFormatDay = _this$props5.displayFormatDay,
|
|
257
|
-
isDayBlocked = _this$props5.isDayBlocked,
|
|
258
|
-
isOutsideRange = _this$props5.isOutsideRange,
|
|
259
|
-
isDayHighlighted = _this$props5.isDayHighlighted,
|
|
260
|
-
tabIndex = _this$props5.tabIndex,
|
|
261
|
-
zIndex = _this$props5.zIndex,
|
|
262
|
-
pickerProps = _this$props5.pickerProps,
|
|
263
|
-
calendarProps = _this$props5.calendarProps,
|
|
264
|
-
focusCurrentDate = _this$props5.focusCurrentDate;
|
|
265
|
-
var safedate = this.getSafeValue();
|
|
266
|
-
var safeInputValue = this.getSafeInputValue();
|
|
267
|
-
var hasSelectedDate = !!safedate;
|
|
268
|
-
return /*#__PURE__*/React__default['default'].createElement(dsForm.DSInputGroup, {
|
|
269
|
-
rightAddon: /*#__PURE__*/React__default['default'].createElement(components_DatePickerDropdown, {
|
|
270
|
-
pickerRef: this.state.pickerRef,
|
|
271
|
-
disabled: disabled,
|
|
272
|
-
isOpen: inputFocused,
|
|
273
|
-
menu: /*#__PURE__*/React__default['default'].createElement("div", {
|
|
274
|
-
style: {
|
|
275
|
-
minHeight: '310px',
|
|
276
|
-
zIndex: 1
|
|
277
|
-
},
|
|
278
|
-
className: hasSelectedDate ? 'has-selected-date' : 'without-selected-date',
|
|
279
|
-
"data-testid": "date-picker-portal-wrapper"
|
|
280
|
-
}, /*#__PURE__*/React__default['default'].createElement(components_DatePickerController_DatePickerController, {
|
|
281
|
-
date: safedate,
|
|
282
|
-
displayFormatDay: displayFormatDay,
|
|
283
|
-
enableOutsideDays: enableOutsideDays,
|
|
284
|
-
firstDayOfWeek: firstDayOfWeek,
|
|
285
|
-
hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
|
|
286
|
-
isDayBlocked: isDayBlocked,
|
|
287
|
-
isDayHighlighted: isDayHighlighted,
|
|
288
|
-
isOutsideRange: isOutsideRange,
|
|
289
|
-
keepOpenOnDateSelect: keepOpenOnDateSelect,
|
|
290
|
-
numberOfMonths: numberOfMonths,
|
|
291
|
-
onClickEscape: this.handleClickEscape,
|
|
292
|
-
onClose: function onClose() {
|
|
293
|
-
if (_this2.state.pickerRef.current) _this2.state.pickerRef.current.focus();
|
|
294
|
-
|
|
295
|
-
_onClose.apply(void 0, arguments);
|
|
296
|
-
|
|
297
|
-
_this2.setState({
|
|
298
|
-
inputFocused: false
|
|
299
|
-
});
|
|
300
|
-
},
|
|
301
|
-
onDateChange: this.handleDateChange,
|
|
302
|
-
onFocusChange: this.handleFocus,
|
|
303
|
-
onNextMonthClick: onNextMonthClick,
|
|
304
|
-
onOutsideClick: this.handleCalendarClose,
|
|
305
|
-
onPrevMonthClick: onPrevMonthClick,
|
|
306
|
-
phrases: phrases,
|
|
307
|
-
transitionDuration: transitionDuration,
|
|
308
|
-
calendarProps: calendarProps,
|
|
309
|
-
focusCurrentDate: focusCurrentDate
|
|
310
|
-
})),
|
|
311
|
-
onClick: this.onClickPicker,
|
|
312
|
-
readOnly: readOnly,
|
|
313
|
-
zIndex: zIndex,
|
|
314
|
-
pickerProps: pickerProps
|
|
315
|
-
})
|
|
316
|
-
}, /*#__PURE__*/React__default['default'].createElement(dsForm.DSDateInputV2, {
|
|
317
|
-
"data-testid": "datepicker-input",
|
|
318
|
-
"aria-label": placeholder || 'Date Picker Input',
|
|
319
|
-
disabled: disabled,
|
|
320
|
-
onBlur: this.handleOnBlur,
|
|
321
|
-
onChange: this.handleInputChange,
|
|
322
|
-
onDateChange: this.handleChange,
|
|
323
|
-
onFocus: this.handleInputFocus,
|
|
324
|
-
placeholder: placeholder,
|
|
325
|
-
tabIndex: tabIndex,
|
|
326
|
-
value: safeInputValue
|
|
327
|
-
}));
|
|
328
|
-
}
|
|
329
|
-
}], [{
|
|
330
|
-
key: "getDerivedStateFromProps",
|
|
331
|
-
value: function getDerivedStateFromProps(nextProps, prevState) {
|
|
332
|
-
var _ref2 = prevState || {},
|
|
333
|
-
prevVal = _ref2.dataInput,
|
|
334
|
-
prevDate = _ref2.selectedDate;
|
|
335
|
-
|
|
336
|
-
var nextVal = nextProps.value,
|
|
337
|
-
nextDate = nextProps.date;
|
|
338
|
-
var isPrevValMoment = prevVal instanceof moment__default['default'];
|
|
339
|
-
var isPrevDateMoment = prevDate instanceof moment__default['default'];
|
|
340
|
-
var prevValAsString = isPrevValMoment ? prevVal.format(FORMAT) : prevVal; // if users wants to clear, we use '==' to catch both undefined AND null
|
|
341
|
-
|
|
342
|
-
if (nextVal == null && nextDate == null) {
|
|
343
|
-
return {
|
|
344
|
-
dataInput: '',
|
|
345
|
-
selectedDate: null
|
|
346
|
-
};
|
|
347
|
-
} // when val is an incomplete state, we don't want to mess with the state
|
|
348
|
-
// it's incomplete when length is not the full mmddyyyy (length === 8)
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
if ((prevValAsString === null || prevValAsString === void 0 ? void 0 : prevValAsString.length) < 8) {
|
|
352
|
-
return null;
|
|
353
|
-
}
|
|
203
|
+
static getDerivedStateFromProps(nextProps, prevState) {
|
|
204
|
+
const {
|
|
205
|
+
dataInput: prevVal,
|
|
206
|
+
selectedDate: prevDate
|
|
207
|
+
} = prevState || {};
|
|
208
|
+
const {
|
|
209
|
+
value: nextVal,
|
|
210
|
+
date: nextDate
|
|
211
|
+
} = nextProps;
|
|
212
|
+
const isPrevValMoment = prevVal instanceof moment__default["default"];
|
|
213
|
+
const isPrevDateMoment = prevDate instanceof moment__default["default"];
|
|
214
|
+
const prevValAsString = isPrevValMoment ? prevVal.format(FORMAT) : prevVal; // if users wants to clear, we use '==' to catch both undefined AND null
|
|
215
|
+
|
|
216
|
+
if (nextVal == null && nextDate == null) {
|
|
217
|
+
return {
|
|
218
|
+
dataInput: '',
|
|
219
|
+
selectedDate: null
|
|
220
|
+
};
|
|
221
|
+
} // when val is an incomplete state, we don't want to mess with the state
|
|
222
|
+
// it's incomplete when length is not the full mmddyyyy (length === 8)
|
|
354
223
|
|
|
355
|
-
var prevDateAsString = isPrevDateMoment ? prevDate.format(FORMAT) : prevDate;
|
|
356
|
-
var isNextValMoment = nextVal instanceof moment__default['default'];
|
|
357
|
-
var isNextDateMoment = nextDate instanceof moment__default['default'];
|
|
358
|
-
var nextValAsString = isNextValMoment ? nextVal.format(FORMAT) : nextVal;
|
|
359
|
-
var nextValAsMoment = isNextValMoment ? nextVal : moment__default['default'](nextVal);
|
|
360
|
-
var nextDateAsString = isNextDateMoment ? nextDate.format(FORMAT) : nextDate;
|
|
361
|
-
var nextDateAsMoment = isNextDateMoment ? nextDate : moment__default['default'](nextDate);
|
|
362
|
-
var hasValChanged = nextValAsString !== prevValAsString;
|
|
363
|
-
var hasDateChanged = nextDateAsString !== prevDateAsString;
|
|
364
|
-
var newState = {};
|
|
365
|
-
var skipStateChange = true; // value has priority over date, if both date and value change we take date
|
|
366
|
-
// as such, order of condition is meaningful
|
|
367
|
-
|
|
368
|
-
if (hasDateChanged) {
|
|
369
|
-
skipStateChange = false;
|
|
370
|
-
newState.dataInput = nextDateAsString;
|
|
371
|
-
newState.selectedDate = nextDateAsMoment;
|
|
372
|
-
}
|
|
373
224
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
newState.selectedDate = nextValAsMoment;
|
|
378
|
-
}
|
|
225
|
+
if ((prevValAsString === null || prevValAsString === void 0 ? void 0 : prevValAsString.length) < 8) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
379
228
|
|
|
380
|
-
|
|
381
|
-
|
|
229
|
+
const prevDateAsString = isPrevDateMoment ? prevDate.format(FORMAT) : prevDate;
|
|
230
|
+
const isNextValMoment = nextVal instanceof moment__default["default"];
|
|
231
|
+
const isNextDateMoment = nextDate instanceof moment__default["default"];
|
|
232
|
+
const nextValAsString = isNextValMoment ? nextVal.format(FORMAT) : nextVal;
|
|
233
|
+
const nextValAsMoment = isNextValMoment ? nextVal : moment__default["default"](nextVal);
|
|
234
|
+
const nextDateAsString = isNextDateMoment ? nextDate.format(FORMAT) : nextDate;
|
|
235
|
+
const nextDateAsMoment = isNextDateMoment ? nextDate : moment__default["default"](nextDate);
|
|
236
|
+
const hasValChanged = nextValAsString !== prevValAsString;
|
|
237
|
+
const hasDateChanged = nextDateAsString !== prevDateAsString;
|
|
238
|
+
const newState = {};
|
|
239
|
+
let skipStateChange = true; // value has priority over date, if both date and value change we take date
|
|
240
|
+
// as such, order of condition is meaningful
|
|
241
|
+
|
|
242
|
+
if (hasDateChanged) {
|
|
243
|
+
skipStateChange = false;
|
|
244
|
+
newState.dataInput = nextDateAsString;
|
|
245
|
+
newState.selectedDate = nextDateAsMoment;
|
|
382
246
|
}
|
|
383
|
-
}]);
|
|
384
247
|
|
|
385
|
-
|
|
386
|
-
|
|
248
|
+
if (hasValChanged) {
|
|
249
|
+
skipStateChange = false;
|
|
250
|
+
newState.dataInput = nextValAsString;
|
|
251
|
+
newState.selectedDate = nextValAsMoment;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (skipStateChange) return null;
|
|
255
|
+
return newState;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
render() {
|
|
259
|
+
var _this = this;
|
|
260
|
+
|
|
261
|
+
const {
|
|
262
|
+
inputFocused
|
|
263
|
+
} = this.state;
|
|
264
|
+
const {
|
|
265
|
+
disabled,
|
|
266
|
+
numberOfMonths,
|
|
267
|
+
readOnly,
|
|
268
|
+
enableOutsideDays,
|
|
269
|
+
transitionDuration,
|
|
270
|
+
firstDayOfWeek,
|
|
271
|
+
keepOpenOnDateSelect,
|
|
272
|
+
hideKeyboardShortcutsPanel,
|
|
273
|
+
onPrevMonthClick,
|
|
274
|
+
onNextMonthClick,
|
|
275
|
+
onClose,
|
|
276
|
+
phrases,
|
|
277
|
+
placeholder,
|
|
278
|
+
displayFormatDay,
|
|
279
|
+
isDayBlocked,
|
|
280
|
+
isOutsideRange,
|
|
281
|
+
isDayHighlighted,
|
|
282
|
+
tabIndex,
|
|
283
|
+
zIndex,
|
|
284
|
+
pickerProps,
|
|
285
|
+
calendarProps,
|
|
286
|
+
focusCurrentDate
|
|
287
|
+
} = this.props;
|
|
288
|
+
const safedate = this.getSafeValue();
|
|
289
|
+
const safeInputValue = this.getSafeInputValue();
|
|
290
|
+
const hasSelectedDate = !!safedate;
|
|
291
|
+
return /*#__PURE__*/_jsx__default["default"](dsForm.DSInputGroup, {
|
|
292
|
+
rightAddon: /*#__PURE__*/_jsx__default["default"](DatePickerDropdown, {
|
|
293
|
+
pickerRef: this.state.pickerRef,
|
|
294
|
+
disabled: disabled,
|
|
295
|
+
isOpen: inputFocused,
|
|
296
|
+
menu: /*#__PURE__*/_jsx__default["default"]("div", {
|
|
297
|
+
style: {
|
|
298
|
+
minHeight: '310px',
|
|
299
|
+
zIndex: 1
|
|
300
|
+
},
|
|
301
|
+
className: hasSelectedDate ? 'has-selected-date' : 'without-selected-date',
|
|
302
|
+
"data-testid": "date-picker-portal-wrapper"
|
|
303
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](DatePickerController, {
|
|
304
|
+
date: safedate,
|
|
305
|
+
displayFormatDay: displayFormatDay,
|
|
306
|
+
enableOutsideDays: enableOutsideDays,
|
|
307
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
308
|
+
hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
|
|
309
|
+
isDayBlocked: isDayBlocked,
|
|
310
|
+
isDayHighlighted: isDayHighlighted,
|
|
311
|
+
isOutsideRange: isOutsideRange,
|
|
312
|
+
keepOpenOnDateSelect: keepOpenOnDateSelect,
|
|
313
|
+
numberOfMonths: numberOfMonths,
|
|
314
|
+
onClickEscape: this.handleClickEscape,
|
|
315
|
+
onClose: function () {
|
|
316
|
+
if (_this.state.pickerRef.current) _this.state.pickerRef.current.focus();
|
|
317
|
+
onClose(...arguments);
|
|
318
|
+
|
|
319
|
+
_this.setState({
|
|
320
|
+
inputFocused: false
|
|
321
|
+
});
|
|
322
|
+
},
|
|
323
|
+
onDateChange: this.handleDateChange,
|
|
324
|
+
onFocusChange: this.handleFocus,
|
|
325
|
+
onNextMonthClick: onNextMonthClick,
|
|
326
|
+
onOutsideClick: this.handleCalendarClose,
|
|
327
|
+
onPrevMonthClick: onPrevMonthClick,
|
|
328
|
+
phrases: phrases,
|
|
329
|
+
transitionDuration: transitionDuration,
|
|
330
|
+
calendarProps: calendarProps,
|
|
331
|
+
focusCurrentDate: focusCurrentDate
|
|
332
|
+
})),
|
|
333
|
+
onClick: this.onClickPicker,
|
|
334
|
+
readOnly: readOnly,
|
|
335
|
+
zIndex: zIndex,
|
|
336
|
+
pickerProps: pickerProps
|
|
337
|
+
})
|
|
338
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSDateInputV2, {
|
|
339
|
+
"data-testid": "datepicker-input",
|
|
340
|
+
"aria-label": placeholder || 'Date Picker Input',
|
|
341
|
+
disabled: disabled,
|
|
342
|
+
onBlur: this.handleOnBlur,
|
|
343
|
+
onChange: this.handleInputChange,
|
|
344
|
+
onDateChange: this.handleChange,
|
|
345
|
+
onFocus: this.handleInputFocus,
|
|
346
|
+
placeholder: placeholder,
|
|
347
|
+
tabIndex: tabIndex,
|
|
348
|
+
value: safeInputValue
|
|
349
|
+
}));
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
}
|
|
387
353
|
|
|
388
354
|
module.exports = DSdatePickerImpl;
|
|
389
|
-
//# sourceMappingURL=DSDatePickerImpl.js.map
|