@hipay/hipay-material-ui 2.0.0-beta.75 → 2.1.0-RC1

Sign up to get free protection for your applications and to get access to all the features.
@@ -161,7 +161,7 @@ function (_React$PureComponent) {
161
161
  color: theme.palette.background2,
162
162
  icon: backgroundIcon,
163
163
  size: iconSize
164
- })), _react.default.createElement(_DialogTitle.default, {
164
+ })), title && _react.default.createElement(_DialogTitle.default, {
165
165
  disableTypography: true,
166
166
  classes: {
167
167
  root: classes.classTitle
package/HiChip/HiChip.js CHANGED
@@ -130,6 +130,8 @@ function HiChip(props) {
130
130
  id = props.id,
131
131
  img = props.img,
132
132
  label = props.label,
133
+ onClick = props.onClick,
134
+ onKeyDown = props.onKeyDown,
133
135
  onPrevious = props.onPrevious,
134
136
  onNext = props.onNext,
135
137
  onDelete = props.onDelete,
@@ -143,8 +145,12 @@ function HiChip(props) {
143
145
  titlePrevious = props.titlePrevious;
144
146
  return _react.default.createElement("div", {
145
147
  id: id,
148
+ role: 'button',
146
149
  className: (0, _classnames.default)(classes.root, className, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.leftNavigation, onPrevious), (0, _defineProperty2.default)(_classNames, classes.rightNavigation, onNext), (0, _defineProperty2.default)(_classNames, classes.deletable, onDelete), (0, _defineProperty2.default)(_classNames, classes.leftIcon, icon), _classNames)),
147
- title: title
150
+ title: title,
151
+ onClick: onClick,
152
+ onKeyDown: onKeyDown,
153
+ tabIndex: "0"
148
154
  }, icon && _react.default.createElement(_HiIcon.default, {
149
155
  className: (0, _classnames.default)(classes.icon, (0, _defineProperty2.default)({}, classes.iconClickable, onIconClick)),
150
156
  icon: icon,
@@ -247,6 +253,11 @@ HiChip.propTypes = process.env.NODE_ENV !== "production" ? {
247
253
  */
248
254
  label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
249
255
 
256
+ /**
257
+ * Fonction de callback au clic sur la chip
258
+ */
259
+ onClick: _propTypes.default.func,
260
+
250
261
  /**
251
262
  * Fonction de callback au clic sur l'icon close si cancelable = true
252
263
  */
@@ -257,6 +268,11 @@ HiChip.propTypes = process.env.NODE_ENV !== "production" ? {
257
268
  */
258
269
  onIconClick: _propTypes.default.func,
259
270
 
271
+ /**
272
+ * Fonction de callback à l'appui sur une touche du clavier
273
+ */
274
+ onKeyDown: _propTypes.default.func,
275
+
260
276
  /**
261
277
  * Fonction de callback au clic sur l'icon next
262
278
  */
@@ -23,8 +23,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
23
23
 
24
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
25
 
26
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
27
-
28
26
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
29
27
 
30
28
  var _react = _interopRequireDefault(require("react"));
@@ -59,6 +57,14 @@ var _HiTextField = _interopRequireDefault(require("../HiForm/HiTextField"));
59
57
 
60
58
  var _stylesheet = _interopRequireDefault(require("./stylesheet"));
61
59
 
60
+ var _reactDeviceDetect = require("react-device-detect");
61
+
62
+ var _classnames = _interopRequireDefault(require("classnames"));
63
+
64
+ var _HiFormControl = _interopRequireDefault(require("../HiForm/HiFormControl"));
65
+
66
+ var _HiDatePickerMobile = _interopRequireDefault(require("./HiDatePickerMobile"));
67
+
62
68
  var HiDatePicker =
63
69
  /*#__PURE__*/
64
70
  function (_React$Component) {
@@ -70,6 +76,10 @@ function (_React$Component) {
70
76
  (0, _classCallCheck2.default)(this, HiDatePicker);
71
77
  _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiDatePicker).call(this));
72
78
 
79
+ _this.handleInputChange = function (event) {
80
+ _this.props.onChange(event.target.value);
81
+ };
82
+
73
83
  _this.handleKeyDown = function (name) {
74
84
  return function (event) {
75
85
  if (event.key === 'Escape' && !event.shiftKey) {
@@ -80,182 +90,160 @@ function (_React$Component) {
80
90
  };
81
91
  };
82
92
 
83
- var today = (0, _momentTimezone.default)().tz(props.timezoneName);
84
- _this.state = {
85
- openedPanel: 'calendar',
86
- currentMonth: props.value ? props.value : new Date(today.year(), today.month(), today.date(), today.hours(), today.minutes(), today.seconds(), today.milliseconds())
87
- }; // this.formatDate = this.formatDate.bind(this);
88
-
89
- _this.handleCalendarClick = _this.handleCalendarClick.bind((0, _assertThisInitialized2.default)(_this));
90
- _this.handleClockClick = _this.handleClockClick.bind((0, _assertThisInitialized2.default)(_this));
91
- _this.handleMonthClick = _this.handleMonthClick.bind((0, _assertThisInitialized2.default)(_this));
92
- _this.handleYearClick = _this.handleYearClick.bind((0, _assertThisInitialized2.default)(_this));
93
- _this.handleDayChange = _this.handleDayChange.bind((0, _assertThisInitialized2.default)(_this));
94
- _this.handleCurrentMonthChange = _this.handleCurrentMonthChange.bind((0, _assertThisInitialized2.default)(_this));
95
- _this.handleReset = _this.handleReset.bind((0, _assertThisInitialized2.default)(_this));
96
- _this.handleTimeChange = _this.handleTimeChange.bind((0, _assertThisInitialized2.default)(_this));
97
- _this.openPanel = _this.openPanel.bind((0, _assertThisInitialized2.default)(_this));
98
- _this.renderCaption = _this.renderCaption.bind((0, _assertThisInitialized2.default)(_this));
99
- _this.renderOverlay = _this.renderOverlay.bind((0, _assertThisInitialized2.default)(_this));
100
- _this.renderMonthPickerOverlay = _this.renderMonthPickerOverlay.bind((0, _assertThisInitialized2.default)(_this));
101
- _this.renderTimePickerOverlay = _this.renderTimePickerOverlay.bind((0, _assertThisInitialized2.default)(_this));
102
- _this.renderYearPickerOverlay = _this.renderYearPickerOverlay.bind((0, _assertThisInitialized2.default)(_this));
103
- _this.handleInputChange = _this.handleInputChange.bind((0, _assertThisInitialized2.default)(_this));
104
- return _this;
105
- }
93
+ _this.handleReset = function () {
94
+ var today = (0, _momentTimezone.default)().tz(_this.props.timezoneName);
106
95
 
107
- (0, _createClass2.default)(HiDatePicker, [{
108
- key: "componentWillUnmount",
109
- value: function componentWillUnmount() {
110
- clearTimeout(this.timeout);
111
- }
112
- }, {
113
- key: "handleInputChange",
114
- value: function handleInputChange(event) {
115
- this.props.onChange(event.target.value);
116
- }
117
- }, {
118
- key: "handleReset",
119
- value: function handleReset() {
120
- var today = (0, _momentTimezone.default)().tz(this.props.timezoneName);
121
- this.handleCurrentMonthChange(new Date(today.year(), today.month(), today.date(), today.hours(), today.minutes(), today.seconds(), today.milliseconds()));
122
- this.props.onReset();
123
- }
124
- }, {
125
- key: "handleDayChange",
126
- value: function handleDayChange(day, modifiers) {
96
+ _this.handleCurrentMonthChange(new Date(today.year(), today.month(), today.date(), today.hours(), today.minutes(), today.seconds(), today.milliseconds()));
97
+
98
+ _this.props.onReset();
99
+ };
100
+
101
+ _this.handleDayChange = function (day, modifiers) {
127
102
  if (day) {
128
103
  if (modifiers.selected) {
129
104
  // Deselect day
130
- this.props.onChange(undefined);
105
+ _this.props.onChange(undefined);
131
106
  } else {
132
107
  // Keep Time if set
133
- if (this.props.enableTime && day !== undefined) {
134
- if (this.props.value) {
135
- day.setHours(this.props.value.getHours(), this.props.value.getMinutes());
108
+ if (_this.props.enableTime && day !== undefined) {
109
+ if (_this.props.value) {
110
+ day.setHours(_this.props.value.getHours(), _this.props.value.getMinutes());
136
111
  } else {
137
112
  day.setHours(0, 0);
138
113
  }
139
114
  }
140
115
 
141
- this.props.onChange(day);
116
+ _this.props.onChange(day);
142
117
  }
143
118
 
144
- if (day instanceof Date && !this.props.enableTime && modifiers.selected !== true) {
119
+ if (day instanceof Date && !_this.props.enableTime && modifiers.selected !== true) {
145
120
  // Hide overlay & remove focus on input
146
121
  document.activeElement.blur();
147
- } else if (day instanceof Date && this.props.enableTime && modifiers.selected !== true) {
122
+ } else if (day instanceof Date && _this.props.enableTime && modifiers.selected !== true) {
148
123
  // Open Time panel after date selection
149
- this.openPanel('time');
124
+ _this.openPanel('time');
150
125
  }
151
126
  }
152
- }
153
- }, {
154
- key: "handleCalendarClick",
155
- value: function handleCalendarClick() {
156
- this.openPanel('calendar');
157
- }
158
- }, {
159
- key: "handleClockClick",
160
- value: function handleClockClick() {
161
- this.openPanel('time');
162
- }
163
- }, {
164
- key: "handleMonthClick",
165
- value: function handleMonthClick() {
166
- this.openPanel('months');
167
- }
168
- }, {
169
- key: "handleYearClick",
170
- value: function handleYearClick() {
171
- this.openPanel('years');
172
- }
173
- }, {
174
- key: "handleCurrentMonthChange",
175
- value: function handleCurrentMonthChange(day) {
176
- this.setState({
127
+ };
128
+
129
+ _this.handleChangeMobile = function (event) {
130
+ var date;
131
+
132
+ if (event.target.value) {
133
+ date = new Date(event.target.value);
134
+ }
135
+
136
+ _this.props.onChange(date);
137
+ };
138
+
139
+ _this.handleCalendarClick = function () {
140
+ _this.openPanel('calendar');
141
+ };
142
+
143
+ _this.handleClockClick = function () {
144
+ _this.openPanel('time');
145
+ };
146
+
147
+ _this.handleMonthClick = function () {
148
+ _this.openPanel('months');
149
+ };
150
+
151
+ _this.handleYearClick = function () {
152
+ _this.openPanel('years');
153
+ };
154
+
155
+ _this.handleCurrentMonthChange = function (day) {
156
+ _this.setState({
177
157
  // Current Month can't be anterior to minimumDate
178
- currentMonth: day < this.props.minimumDate ? this.props.minimumDate : day,
158
+ currentMonth: day < _this.props.minimumDate ? _this.props.minimumDate : day,
179
159
  openedPanel: 'calendar'
180
160
  });
181
- }
182
- }, {
183
- key: "handleTimeChange",
184
- value: function handleTimeChange(date, precision) {
185
- this.props.onChange(date);
161
+ };
162
+
163
+ _this.handleTimeChange = function (date, precision) {
164
+ _this.props.onChange(date);
186
165
 
187
166
  if (date instanceof Date && precision === 'minute') {
188
167
  document.activeElement.blur();
189
168
  }
190
- }
191
- }, {
192
- key: "openPanel",
193
- value: function openPanel(panel) {
194
- this.setState({
169
+ };
170
+
171
+ _this.openPanel = function (panel) {
172
+ _this.setState({
195
173
  openedPanel: panel
196
174
  });
197
- }
198
- }, {
199
- key: "renderCaption",
200
- value: function renderCaption(propsCaption) {
175
+ };
176
+
177
+ _this.renderCaption = function (propsCaption) {
201
178
  return _react.default.createElement(_Caption.default, (0, _extends2.default)({
202
- onMonthClick: this.handleMonthClick,
203
- onYearClick: this.handleYearClick
179
+ onMonthClick: _this.handleMonthClick,
180
+ onYearClick: _this.handleYearClick
204
181
  }, propsCaption));
205
- }
206
- }, {
207
- key: "renderOverlay",
208
- value: function renderOverlay(propsOverlay) {
209
- switch (this.state.openedPanel) {
182
+ };
183
+
184
+ _this.renderOverlay = function (propsOverlay) {
185
+ switch (_this.state.openedPanel) {
210
186
  case 'time':
211
- return this.renderTimePickerOverlay(propsOverlay);
187
+ return _this.renderTimePickerOverlay(propsOverlay);
212
188
 
213
189
  case 'months':
214
- return this.renderMonthPickerOverlay(propsOverlay);
190
+ return _this.renderMonthPickerOverlay(propsOverlay);
215
191
 
216
192
  case 'years':
217
- return this.renderYearPickerOverlay(propsOverlay);
193
+ return _this.renderYearPickerOverlay(propsOverlay);
218
194
 
219
195
  case 'calendar':
220
196
  default:
221
197
  return _react.default.createElement(_Overlay.default, propsOverlay);
222
198
  }
223
- }
224
- }, {
225
- key: "renderMonthPickerOverlay",
226
- value: function renderMonthPickerOverlay(propsOverlay) {
199
+ };
200
+
201
+ _this.renderMonthPickerOverlay = function (propsOverlay) {
227
202
  var monthPickerProps = {
228
- value: this.state.currentMonth,
229
- onChange: this.handleCurrentMonthChange
203
+ value: _this.state.currentMonth,
204
+ onChange: _this.handleCurrentMonthChange
230
205
  };
231
206
  return _react.default.createElement(_MonthPickerOverlay.default, (0, _extends2.default)({
232
207
  key: 'month-picker-overlay'
233
208
  }, monthPickerProps, propsOverlay));
234
- }
235
- }, {
236
- key: "renderTimePickerOverlay",
237
- value: function renderTimePickerOverlay(propsOverlay) {
209
+ };
210
+
211
+ _this.renderTimePickerOverlay = function (propsOverlay) {
238
212
  var timePickerProps = {
239
- value: this.props.value,
240
- onChange: this.handleTimeChange,
241
- onCalendarClick: this.handleCalendarClick
213
+ value: _this.props.value,
214
+ onChange: _this.handleTimeChange,
215
+ onCalendarClick: _this.handleCalendarClick
242
216
  };
243
217
  return _react.default.createElement(_TimePickerOverlay.default, (0, _extends2.default)({
244
218
  key: 'time-picker-overlay'
245
219
  }, timePickerProps, propsOverlay));
246
- }
247
- }, {
248
- key: "renderYearPickerOverlay",
249
- value: function renderYearPickerOverlay(propsOverlay) {
220
+ };
221
+
222
+ _this.renderYearPickerOverlay = function (propsOverlay) {
250
223
  var yearPickerProps = {
251
- value: this.state.currentMonth,
252
- onChange: this.handleCurrentMonthChange,
253
- disableFutureDays: this.props.disableFutureDays,
254
- minimumDate: this.props.minimumDate
224
+ value: _this.state.currentMonth,
225
+ onChange: _this.handleCurrentMonthChange,
226
+ disableFutureDays: _this.props.disableFutureDays,
227
+ minimumDate: _this.props.minimumDate
255
228
  };
256
229
  return _react.default.createElement(_YearPickerOverlay.default, (0, _extends2.default)({
257
230
  key: 'year-picker-overlay'
258
231
  }, yearPickerProps, propsOverlay));
232
+ };
233
+
234
+ var _today = (0, _momentTimezone.default)().tz(props.timezoneName);
235
+
236
+ _this.state = {
237
+ openedPanel: 'calendar',
238
+ currentMonth: props.value ? props.value : new Date(_today.year(), _today.month(), _today.date(), _today.hours(), _today.minutes(), _today.seconds(), _today.milliseconds())
239
+ };
240
+ return _this;
241
+ }
242
+
243
+ (0, _createClass2.default)(HiDatePicker, [{
244
+ key: "componentWillUnmount",
245
+ value: function componentWillUnmount() {
246
+ clearTimeout(this.timeout);
259
247
  }
260
248
  }, {
261
249
  key: "render",
@@ -327,7 +315,7 @@ function (_React$Component) {
327
315
  return _react.default.createElement("div", {
328
316
  className: classes.root,
329
317
  onKeyDown: this.handleKeyDown()
330
- }, _react.default.createElement(_DayPickerInput.default, {
318
+ }, !_reactDeviceDetect.isMobile ? _react.default.createElement(_DayPickerInput.default, {
331
319
  ref: function ref(el) {
332
320
  _this2.datePickerInput = el;
333
321
  },
@@ -342,6 +330,23 @@ function (_React$Component) {
342
330
  formatDate: _moment.default.formatDate,
343
331
  parseDate: _moment.default.parseDate,
344
332
  onDayChange: this.handleDayChange
333
+ }) : _react.default.createElement(_HiDatePickerMobile.default, {
334
+ id: this.props.id,
335
+ label: this.props.label,
336
+ required: this.props.required,
337
+ disabled: this.props.disabled,
338
+ error: this.props.error,
339
+ errorText: this.props.errorText,
340
+ helperText: this.props.helperText,
341
+ helperIcon: this.props.helperIcon,
342
+ enableTime: enableTime,
343
+ value: value,
344
+ onChange: this.handleChangeMobile,
345
+ disablePastDays: disablePastDays,
346
+ disableFutureDays: disableFutureDays,
347
+ today: today,
348
+ minimumDate: minimumDate,
349
+ format: enableTime ? "".concat(format, " HH:mm") : format
345
350
  }));
346
351
  }
347
352
  }]);
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _HiFormControl = _interopRequireDefault(require("../HiForm/HiFormControl"));
29
+
30
+ var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
31
+
32
+ var _stylesheet = _interopRequireDefault(require("./stylesheet"));
33
+
34
+ var _classnames = _interopRequireDefault(require("classnames"));
35
+
36
+ var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
37
+
38
+ var _HiInput = _interopRequireDefault(require("../HiForm/HiInput"));
39
+
40
+ var HiDatePickerMobile =
41
+ /*#__PURE__*/
42
+ function (_React$Component) {
43
+ (0, _inherits2.default)(HiDatePickerMobile, _React$Component);
44
+
45
+ function HiDatePickerMobile() {
46
+ (0, _classCallCheck2.default)(this, HiDatePickerMobile);
47
+ return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiDatePickerMobile).apply(this, arguments));
48
+ }
49
+
50
+ (0, _createClass2.default)(HiDatePickerMobile, [{
51
+ key: "render",
52
+ value: function render() {
53
+ var _this$props = this.props,
54
+ classes = _this$props.classes,
55
+ id = _this$props.id,
56
+ label = _this$props.label,
57
+ required = _this$props.required,
58
+ disabled = _this$props.disabled,
59
+ error = _this$props.error,
60
+ errorText = _this$props.errorText,
61
+ helperIcon = _this$props.helperIcon,
62
+ helperText = _this$props.helperText,
63
+ enableTime = _this$props.enableTime,
64
+ value = _this$props.value,
65
+ disablePastDays = _this$props.disablePastDays,
66
+ disableFutureDays = _this$props.disableFutureDays,
67
+ minimumDate = _this$props.minimumDate,
68
+ today = _this$props.today,
69
+ range = _this$props.range,
70
+ format = _this$props.format;
71
+ var addtionalProps = (0, _extends2.default)({}, this.props.disabled && {
72
+ disabled: "disabled"
73
+ });
74
+ return _react.default.createElement(_HiFormControl.default, {
75
+ id: id,
76
+ label: label,
77
+ required: required,
78
+ disabled: disabled,
79
+ error: error,
80
+ errorText: errorText,
81
+ helperText: helperText,
82
+ helperIcon: helperIcon
83
+ }, _react.default.createElement(_HiInput.default, {
84
+ inputId: id,
85
+ name: id,
86
+ type: "text",
87
+ placeholder: this.props.placeholder,
88
+ value: !value ? '' : (0, _momentTimezone.default)(value).format(format),
89
+ disabled: disabled
90
+ }), _react.default.createElement("input", (0, _extends2.default)({
91
+ className: (0, _classnames.default)(classes.root, classes.rootMobile, (0, _defineProperty2.default)({}, classes.mobileRangeRoot, range)),
92
+ id: id,
93
+ type: enableTime ? "datetime-local" : "date",
94
+ value: !value ? '' : enableTime ? (0, _momentTimezone.default)(value).format('YYYY-MM-DDTHH:mm') : (0, _momentTimezone.default)(value).format('YYYY-MM-DD'),
95
+ onChange: this.props.onChange,
96
+ min: disablePastDays ? today.format('YYYY-MM-DD') : minimumDate ? (0, _momentTimezone.default)(minimumDate).format('YYYY-MM-DD') : '',
97
+ max: disableFutureDays ? today.format('YYYY-MM-DD') : ''
98
+ }, addtionalProps)));
99
+ }
100
+ }]);
101
+ return HiDatePickerMobile;
102
+ }(_react.default.Component);
103
+
104
+ HiDatePickerMobile.propTypes = process.env.NODE_ENV !== "production" ? {
105
+ classes: _propTypes.default.object,
106
+ disabled: _propTypes.default.bool,
107
+ disableFutureDays: _propTypes.default.bool,
108
+ disablePastDays: _propTypes.default.bool,
109
+ enableTime: _propTypes.default.bool,
110
+ error: _propTypes.default.bool,
111
+ errorText: _propTypes.default.string,
112
+ format: _propTypes.default.string,
113
+ helperIcon: _propTypes.default.string,
114
+ helperText: _propTypes.default.string,
115
+ id: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
116
+ label: _propTypes.default.string,
117
+ minimumDate: _propTypes.default.any,
118
+ onChange: _propTypes.default.func,
119
+ range: _propTypes.default.bool,
120
+ required: _propTypes.default.bool,
121
+ today: _propTypes.default.any,
122
+ value: _propTypes.default.any
123
+ } : {};
124
+
125
+ var _default = (0, _withStyles.default)(_stylesheet.default)(HiDatePickerMobile);
126
+
127
+ exports.default = _default;
@@ -59,6 +59,10 @@ var _stylesheet = _interopRequireDefault(require("./stylesheet"));
59
59
 
60
60
  var _HiFormControl = _interopRequireDefault(require("../HiForm/HiFormControl"));
61
61
 
62
+ var _reactDeviceDetect = require("react-device-detect");
63
+
64
+ var _HiDatePickerMobile = _interopRequireDefault(require("./HiDatePickerMobile"));
65
+
62
66
  var HiDateRangePicker =
63
67
  /*#__PURE__*/
64
68
  function (_React$Component) {
@@ -188,6 +192,18 @@ function (_React$Component) {
188
192
  _this.props.onChange("".concat(name, "Error"), error);
189
193
  };
190
194
 
195
+ _this.handleChangeMobile = function (inputName) {
196
+ return function (event) {
197
+ var date;
198
+
199
+ if (event.target.value) {
200
+ date = new Date(event.target.value);
201
+ }
202
+
203
+ _this.props.onChange(inputName, date);
204
+ };
205
+ };
206
+
191
207
  _this.handleCurrentMonthChange = function (day) {
192
208
  _this.setState({
193
209
  currentMonth: day,
@@ -511,17 +527,17 @@ function (_React$Component) {
511
527
  onSubmit: this.props.onSubmit
512
528
  }
513
529
  });
514
- var toClass = (0, _classnames.default)(classes.toInput, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.absolute, staticPosition === true && this.state.focusedInput === 'from'), (0, _defineProperty2.default)(_classNames, classes.right4, staticPosition === true && this.state.focusedInput === 'from'), _classNames));
530
+ var toClass = (0, _classnames.default)(classes.toInput, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.absolute, !_reactDeviceDetect.isMobile && staticPosition === true && this.state.focusedInput === 'from'), (0, _defineProperty2.default)(_classNames, classes.right4, !_reactDeviceDetect.isMobile && staticPosition === true && this.state.focusedInput === 'from'), _classNames));
515
531
 
516
532
  var content = _react.default.createElement("div", {
517
533
  className: (0, _classnames.default)(classes.root, classes.rangePickerContainer)
518
534
  }, _react.default.createElement("div", {
519
535
  className: classes.fromInput,
520
- onFocus: function onFocus() {
536
+ onFocus: !_reactDeviceDetect.isMobile ? function () {
521
537
  return _this2.handleDayPickerFocus('from');
522
- },
523
- onKeyDown: this.handleKeyDown('from')
524
- }, _react.default.createElement("div", null, _react.default.createElement(_DayPickerInput.default, {
538
+ } : undefined,
539
+ onKeyDown: !_reactDeviceDetect.isMobile ? this.handleKeyDown('from') : undefined
540
+ }, _react.default.createElement("div", null, !_reactDeviceDetect.isMobile ? _react.default.createElement(_DayPickerInput.default, {
525
541
  key: '1',
526
542
  ref: function ref(el) {
527
543
  _this2.fromInput = el;
@@ -539,16 +555,29 @@ function (_React$Component) {
539
555
  return _this2.handleDayChange('from', day);
540
556
  },
541
557
  placeholder: ''
558
+ }) : _react.default.createElement(_HiDatePickerMobile.default, {
559
+ id: this.props.id,
560
+ label: labelFrom,
561
+ range: true,
562
+ required: this.props.required,
563
+ enableTime: enableTime,
564
+ value: from,
565
+ onChange: this.handleChangeMobile('from'),
566
+ disablePastDays: this.props.disablePastDays,
567
+ disableFutureDays: disableFutureDays,
568
+ today: today,
569
+ minimumDate: minimumDate,
570
+ format: enableTime ? "".concat(format, " HH:mm") : format
542
571
  }))), _react.default.createElement("div", {
543
572
  className: toClass,
544
- onFocus: function onFocus() {
573
+ onFocus: !_reactDeviceDetect.isMobile ? function () {
545
574
  return _this2.handleDayPickerFocus('to');
546
- },
547
- onBlur: function onBlur() {
575
+ } : undefined,
576
+ onBlur: !_reactDeviceDetect.isMobile ? function () {
548
577
  return _this2.handleDayPickerBlur('to');
549
- },
550
- onKeyDown: this.handleKeyDown('to')
551
- }, _react.default.createElement(_DayPickerInput.default, {
578
+ } : undefined,
579
+ onKeyDown: !_reactDeviceDetect.isMobile ? this.handleKeyDown('to') : undefined
580
+ }, !_reactDeviceDetect.isMobile ? _react.default.createElement(_DayPickerInput.default, {
552
581
  key: '1',
553
582
  ref: function ref(el) {
554
583
  _this2.toInput = el;
@@ -563,6 +592,19 @@ function (_React$Component) {
563
592
  formatDate: _moment.default.formatDate,
564
593
  parseDate: _moment.default.parseDate,
565
594
  placeholder: ''
595
+ }) : _react.default.createElement(_HiDatePickerMobile.default, {
596
+ id: this.props.id,
597
+ label: labelTo,
598
+ range: true,
599
+ required: this.props.required,
600
+ enableTime: enableTime,
601
+ value: to,
602
+ onChange: this.handleChangeMobile('to'),
603
+ disablePastDays: this.props.disablePastDays,
604
+ disableFutureDays: disableFutureDays,
605
+ today: today,
606
+ minimumDate: minimumDate,
607
+ format: enableTime ? "".concat(format, " HH:mm") : format
566
608
  })));
567
609
 
568
610
  if (!hasSelector) {
@@ -45,6 +45,8 @@ var _HiDateRangePicker = _interopRequireDefault(require("./HiDateRangePicker"));
45
45
 
46
46
  var _HiFormControl = _interopRequireDefault(require("../HiForm/HiFormControl"));
47
47
 
48
+ var _reactDeviceDetect = require("react-device-detect");
49
+
48
50
  function findSeparator(format) {
49
51
  var str = '';
50
52
 
@@ -370,7 +372,7 @@ function (_React$Component) {
370
372
  },
371
373
  staticPosition: staticPosition,
372
374
  onSubmit: this.props.onSubmit
373
- }, selectProps))), _react.default.createElement(_Grid.default, {
375
+ }, selectProps))), (_reactDeviceDetect.isMobile && selectedPreset === 'custom' || !_reactDeviceDetect.isMobile) && _react.default.createElement(_Grid.default, {
374
376
  item: true,
375
377
  xs: 12,
376
378
  sm: 8,