@hipay/hipay-material-ui 1.0.0-beta.14 → 1.0.0-beta.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/HiBreadcrumb/HiBreadcrumb.js +28 -22
  2. package/HiBreadcrumb/HiStep.js +96 -60
  3. package/HiBreadcrumb/HiStepConnector.js +91 -26
  4. package/HiBreadcrumb/HiStepContent.js +122 -0
  5. package/HiBreadcrumb/HiStepIcon.js +86 -29
  6. package/HiBreadcrumb/HiStepLabel.js +128 -62
  7. package/HiBreadcrumb/HiStepper.js +5 -24
  8. package/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  9. package/HiDatePicker/Overlays/Overlay.js +14 -2
  10. package/HiForm/HiInput.js +24 -11
  11. package/HiForm/HiSlider.js +399 -0
  12. package/HiForm/index.js +9 -0
  13. package/HiTable/BodyCellBuilder.js +3 -0
  14. package/HiTable/BodyCells/CellIcon.js +26 -19
  15. package/HiTable/BodyCells/CellImage.js +17 -13
  16. package/HiTable/BodyCells/CellNumeric.js +7 -2
  17. package/HiTable/BodyCells/CellSentinel.js +14 -13
  18. package/HiTable/BodyCells/CellThirdPartySecurity.js +43 -19
  19. package/HiTable/HeaderCell.js +3 -2
  20. package/es/HiBreadcrumb/HiBreadcrumb.js +27 -19
  21. package/es/HiBreadcrumb/HiStep.js +55 -54
  22. package/es/HiBreadcrumb/HiStepConnector.js +86 -26
  23. package/es/HiBreadcrumb/HiStepContent.js +63 -0
  24. package/es/HiBreadcrumb/HiStepIcon.js +103 -35
  25. package/es/HiBreadcrumb/HiStepLabel.js +106 -63
  26. package/es/HiBreadcrumb/HiStepper.js +5 -21
  27. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  28. package/es/HiDatePicker/Overlays/Overlay.js +9 -2
  29. package/es/HiForm/HiInput.js +19 -10
  30. package/es/HiForm/HiSlider.js +309 -0
  31. package/es/HiForm/index.js +1 -0
  32. package/es/HiTable/BodyCellBuilder.js +3 -0
  33. package/es/HiTable/BodyCells/CellIcon.js +15 -8
  34. package/es/HiTable/BodyCells/CellImage.js +16 -14
  35. package/es/HiTable/BodyCells/CellNumeric.js +6 -2
  36. package/es/HiTable/BodyCells/CellSentinel.js +8 -5
  37. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +40 -15
  38. package/es/HiTable/HeaderCell.js +3 -2
  39. package/es/utils/hiHelpers.js +4 -3
  40. package/index.es.js +1 -1
  41. package/index.js +1 -1
  42. package/package.json +43 -43
  43. package/umd/hipay-material-ui.development.js +7679 -7170
  44. package/umd/hipay-material-ui.production.min.js +5 -5
  45. package/utils/hiHelpers.js +4 -2
@@ -55,6 +55,56 @@ var styles = exports.styles = function styles(theme) {
55
55
  marginLeft: 6,
56
56
  display: 'inline-block'
57
57
  },
58
+ dotAround: {
59
+ border: '2px solid ' + theme.palette.neutral.normal,
60
+ backgroundColor: 'transparent',
61
+ borderRadius: '100%',
62
+ width: 16,
63
+ height: 16,
64
+ marginLeft: 6,
65
+ '&:hover': {
66
+ transform: 'scale(1.2)'
67
+ }
68
+ },
69
+ dot: {
70
+ backgroundColor: theme.palette.neutral.normal,
71
+ borderRadius: '100%',
72
+ width: 6,
73
+ height: 6,
74
+ '&:hover': {
75
+ transform: 'scale(1.2)'
76
+ },
77
+ marginLeft: 8
78
+ },
79
+ activeStep: {
80
+ marginTop: 3,
81
+ marginLeft: 3,
82
+ width: 6,
83
+ height: 6,
84
+ '&:hover': {
85
+ transform: 'scale(1)'
86
+ }
87
+ },
88
+ dotValidated: {
89
+ backgroundColor: theme.palette.status[116],
90
+ border: '2px solid ' + theme.palette.status[116]
91
+ },
92
+ dotRefused: {
93
+ backgroundColor: theme.palette.error.main,
94
+ border: '2px solid ' + theme.palette.error.main
95
+ },
96
+ dotWarning: {
97
+ backgroundColor: theme.palette.middle.normal,
98
+ border: '2px solid ' + theme.palette.middle.normal
99
+ },
100
+ dotActive: {
101
+ backgroundColor: '#00ADE9',
102
+ border: '2px solid ' + '#00ADE9'
103
+ },
104
+ dotLight: {
105
+ backgroundColor: '#FFFFFF',
106
+ border: '2px solid ' + '#FFFFFF'
107
+ },
58
108
  validated: {
59
109
  border: 'solid 2px ' + theme.palette.status[116]
60
110
  },
@@ -65,22 +115,10 @@ var styles = exports.styles = function styles(theme) {
65
115
  border: 'solid 2px ' + theme.palette.middle.normal
66
116
  },
67
117
  active: {
68
- border: '5px solid rgba(255, 0, 0, 0)',
69
- backgroundClip: 'padding-box',
70
- boxShadow: '0 0 0 1px ' + theme.palette.neutral.normal,
71
- backgroundColor: theme.palette.neutral.normal
72
- },
73
- activeValidated: {
74
- boxShadow: '0 0 0 1px ' + theme.palette.status[116],
75
- backgroundColor: theme.palette.status[116]
76
- },
77
- activeRefused: {
78
- boxShadow: '0 0 0 1px ' + theme.palette.negative.normal,
79
- backgroundColor: theme.palette.negative.normal
118
+ border: 'solid 2px #00ADE9'
80
119
  },
81
- activeWarning: {
82
- boxShadow: '0 0 0 1px ' + theme.palette.middle.normal,
83
- backgroundColor: theme.palette.middle.normal
120
+ light: {
121
+ border: 'solid 2px ' + '#FFFFFF'
84
122
  }
85
123
  };
86
124
  };
@@ -96,22 +134,42 @@ var HiStepIcon = function (_React$PureComponent) {
96
134
  (0, _createClass3.default)(HiStepIcon, [{
97
135
  key: 'render',
98
136
  value: function render() {
99
- var _classNames;
137
+ var _classNames, _classNames2, _classNames3;
100
138
 
101
139
  var _props = this.props,
102
140
  active = _props.active,
103
141
  classes = _props.classes,
104
- status = _props.status;
142
+ status = _props.status,
143
+ type = _props.type;
105
144
 
106
145
 
107
- return _react2.default.createElement('div', {
108
- className: (0, _classnames2.default)(classes.circle, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.activeRefused, status === 'refused' && active), (0, _defineProperty3.default)(_classNames, classes.activeValidated, status === 'validated' && active), (0, _defineProperty3.default)(_classNames, classes.activeWarning, status === 'warning' && active), (0, _defineProperty3.default)(_classNames, classes.active, active), (0, _defineProperty3.default)(_classNames, classes.refused, status === 'refused'), (0, _defineProperty3.default)(_classNames, classes.validated, status === 'validated'), (0, _defineProperty3.default)(_classNames, classes.warning, status === 'warning'), _classNames))
109
- });
146
+ var dotAroundClass = (0, _classnames2.default)(classes.dotAround, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.validated, status === 'validated'), (0, _defineProperty3.default)(_classNames, classes.refused, status === 'refused'), (0, _defineProperty3.default)(_classNames, classes.warning, status === 'warning'), (0, _defineProperty3.default)(_classNames, classes.active, status === 'active'), (0, _defineProperty3.default)(_classNames, classes.light, type === 'front-light'), _classNames));
147
+
148
+ var innerDotClass = (0, _classnames2.default)(classes.dot, (_classNames2 = {}, (0, _defineProperty3.default)(_classNames2, classes.activeStep, active), (0, _defineProperty3.default)(_classNames2, classes.dotValidated, status === 'validated'), (0, _defineProperty3.default)(_classNames2, classes.dotRefused, status === 'refused'), (0, _defineProperty3.default)(_classNames2, classes.dotWarning, status === 'warning'), (0, _defineProperty3.default)(_classNames2, classes.dotActive, status === 'active'), (0, _defineProperty3.default)(_classNames2, classes.dotLight, type === 'front-light'), _classNames2));
149
+
150
+ var dotClassName = (0, _classnames2.default)(classes.circle, (_classNames3 = {}, (0, _defineProperty3.default)(_classNames3, classes.refused, status === 'refused'), (0, _defineProperty3.default)(_classNames3, classes.validated, status === 'validated'), (0, _defineProperty3.default)(_classNames3, classes.warning, status === 'warning'), (0, _defineProperty3.default)(_classNames3, classes.active, status === 'active'), (0, _defineProperty3.default)(_classNames3, classes.light, type === 'front-light'), _classNames3));
151
+
152
+ return _react2.default.createElement(
153
+ 'div',
154
+ null,
155
+ active && _react2.default.createElement(
156
+ 'div',
157
+ { className: dotAroundClass },
158
+ _react2.default.createElement('div', { className: innerDotClass })
159
+ ),
160
+ !active && _react2.default.createElement('div', { className: dotClassName })
161
+ );
110
162
  }
111
163
  }]);
112
164
  return HiStepIcon;
113
165
  }(_react2.default.PureComponent);
114
166
 
167
+ HiStepIcon.defaultProps = {
168
+ active: false,
169
+ status: 'unreviewed',
170
+ type: 'back',
171
+ classes: {}
172
+ };
115
173
  HiStepIcon.propTypes = process.env.NODE_ENV !== "production" ? {
116
174
  /**
117
175
  * Whether this step is active.
@@ -121,14 +179,13 @@ HiStepIcon.propTypes = process.env.NODE_ENV !== "production" ? {
121
179
  * Useful to extend the style applied to components.
122
180
  */
123
181
  classes: _propTypes2.default.object.isRequired,
124
-
125
- status: _propTypes2.default.oneOf(['refused', 'validated', 'warning', 'unreviewed'])
182
+ /**
183
+ * The type of Breadcrumb used
184
+ */
185
+ type: _propTypes2.default.oneOf(['back', 'front-light', 'front-dark']),
186
+ /**
187
+ * The status of the step in case of back or front-dark type Breadcrumb
188
+ */
189
+ status: _propTypes2.default.oneOf(['refused', 'validated', 'warning', 'unreviewed', 'active'])
126
190
  } : {};
127
-
128
- HiStepIcon.defaultProps = {
129
- active: false,
130
- status: 'unreviewed',
131
- classes: {}
132
- };
133
-
134
191
  exports.default = (0, _styles.withStyles)(styles, { name: 'MuiHiStepIcon' })(HiStepIcon);
@@ -13,6 +13,26 @@ var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProp
13
13
 
14
14
  var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
15
15
 
16
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
19
+
20
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
21
+
22
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
23
+
24
+ var _createClass2 = require('babel-runtime/helpers/createClass');
25
+
26
+ var _createClass3 = _interopRequireDefault(_createClass2);
27
+
28
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
29
+
30
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
31
+
32
+ var _inherits2 = require('babel-runtime/helpers/inherits');
33
+
34
+ var _inherits3 = _interopRequireDefault(_inherits2);
35
+
16
36
  var _extends2 = require('babel-runtime/helpers/extends');
17
37
 
18
38
  var _extends3 = _interopRequireDefault(_extends2);
@@ -45,26 +65,45 @@ var styles = exports.styles = function styles(theme) {
45
65
  return {
46
66
  root: {
47
67
  display: 'flex',
48
- alignItems: 'center'
68
+ alignItems: 'center',
69
+ marginTop: -11,
70
+ marginBottom: -5
49
71
  },
50
- test: {
51
- marginLeft: '0 '
72
+ frontRoot: {
73
+ marginTop: -12,
74
+ marginBottom: -7
52
75
  },
53
- vertical: {
54
- marginTop: -10,
76
+ frontDarkRoot: {
77
+ marginTop: -13,
55
78
  marginBottom: -6
56
79
  },
80
+ hipin: {
81
+ marginLeft: 0
82
+ },
57
83
  label: (0, _extends3.default)({
58
84
  display: 'inline-block',
59
85
  marginLeft: 4,
60
86
  fontWeight: theme.typography.fontWeightRegular,
61
87
  color: theme.palette.neutral.normal,
62
- marginBottom: -4
88
+ marginBottom: -4,
89
+ '&:hover': {
90
+ cursor: 'pointer'
91
+ }
63
92
  }, theme.typography.body3),
64
93
  labelContainer: {
65
- marginBottom: 4,
94
+ marginBottom: 4
95
+ },
96
+ largeLabelContainer: {
97
+ maxWidth: 300
98
+ },
99
+ shortLabelContainer: {
66
100
  maxWidth: 160
67
101
  },
102
+ frontLabel: {
103
+ fontSize: 18,
104
+ fontWeight: theme.typography.fontWeightLight,
105
+ marginLeft: 11
106
+ },
68
107
  validated: {
69
108
  color: theme.palette.status[116]
70
109
  },
@@ -72,11 +111,17 @@ var styles = exports.styles = function styles(theme) {
72
111
  color: theme.palette.negative.normal
73
112
  },
74
113
  active: {
114
+ color: '#00ADE9'
115
+ },
116
+ activeStep: {
75
117
  fontWeight: theme.typography.fontWeightMedium
76
118
  },
77
119
  warning: {
78
120
  color: theme.palette.middle.normal
79
121
  },
122
+ light: {
123
+ color: '#FFFFFF'
124
+ },
80
125
  pin: {
81
126
  marginLeft: 4
82
127
  },
@@ -97,56 +142,78 @@ var styles = exports.styles = function styles(theme) {
97
142
  };
98
143
  };
99
144
 
100
- function HiStepLabel(props) {
101
- var _classNames2;
102
-
103
- var active = props.active,
104
- children = props.children,
105
- classes = props.classes,
106
- classNameProp = props.className,
107
- icon = props.icon,
108
- notificationNumber = props.notificationNumber,
109
- orientation = props.orientation,
110
- status = props.status,
111
- other = (0, _objectWithoutProperties3.default)(props, ['active', 'children', 'classes', 'className', 'icon', 'notificationNumber', 'orientation', 'status']);
112
-
113
-
114
- return _react2.default.createElement(
115
- 'span',
116
- (0, _extends3.default)({
117
- className: (0, _classnames2.default)(classes.root, (0, _defineProperty3.default)({}, classes.vertical, orientation === 'vertical'), classNameProp)
118
- }, other),
119
- icon && _react2.default.createElement(
120
- 'span',
121
- { className: classes.iconContainer },
122
- _react2.default.createElement(_HiStepIcon2.default, { active: active, status: status })
123
- ),
124
- _react2.default.createElement(
125
- 'span',
126
- { className: classes.labelContainer },
127
- _react2.default.createElement(
128
- 'div',
129
- {
130
- className: (0, _classnames2.default)(classes.label, (_classNames2 = {}, (0, _defineProperty3.default)(_classNames2, classes.validated, status === 'validated'), (0, _defineProperty3.default)(_classNames2, classes.refused, status === 'refused'), (0, _defineProperty3.default)(_classNames2, classes.warning, status === 'warning'), (0, _defineProperty3.default)(_classNames2, classes.active, active), (0, _defineProperty3.default)(_classNames2, classes.shortEllipsis, notificationNumber > 0), (0, _defineProperty3.default)(_classNames2, classes.longEllipsis, notificationNumber === 0), _classNames2))
131
- },
132
- children
133
- ),
134
- notificationNumber > 0 && _react2.default.createElement(
145
+ var HiStepLabel = function (_React$PureComponent) {
146
+ (0, _inherits3.default)(HiStepLabel, _React$PureComponent);
147
+
148
+ function HiStepLabel() {
149
+ (0, _classCallCheck3.default)(this, HiStepLabel);
150
+ return (0, _possibleConstructorReturn3.default)(this, (HiStepLabel.__proto__ || (0, _getPrototypeOf2.default)(HiStepLabel)).apply(this, arguments));
151
+ }
152
+
153
+ (0, _createClass3.default)(HiStepLabel, [{
154
+ key: 'render',
155
+ value: function render() {
156
+ var _classNames, _classNames2, _classNames3;
157
+
158
+ var _props = this.props,
159
+ active = _props.active,
160
+ children = _props.children,
161
+ classes = _props.classes,
162
+ classNameProp = _props.className,
163
+ notificationNumber = _props.notificationNumber,
164
+ status = _props.status,
165
+ type = _props.type,
166
+ other = (0, _objectWithoutProperties3.default)(_props, ['active', 'children', 'classes', 'className', 'notificationNumber', 'status', 'type']);
167
+
168
+
169
+ return _react2.default.createElement(
135
170
  'span',
136
- { className: classes.pin },
171
+ (0, _extends3.default)({
172
+ className: (0, _classnames2.default)(classes.root, classNameProp, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.frontRoot, type === 'front-light'), (0, _defineProperty3.default)(_classNames, classes.frontDarkRoot, type === 'front-dark'), _classNames))
173
+ }, other),
174
+ _react2.default.createElement(
175
+ 'span',
176
+ { className: classes.iconContainer },
177
+ _react2.default.createElement(_HiStepIcon2.default, { active: active, status: status, type: type })
178
+ ),
137
179
  _react2.default.createElement(
138
- _HiPins2.default,
180
+ 'span',
139
181
  {
140
- color: props.theme.palette.business.primary.normal,
141
- className: classes.test
182
+ className: (0, _classnames2.default)(classes.labelContainer, (_classNames2 = {}, (0, _defineProperty3.default)(_classNames2, classes.largeLabelContainer, type !== 'back'), (0, _defineProperty3.default)(_classNames2, classes.shortLabelContainer, type === 'back'), _classNames2))
142
183
  },
143
- notificationNumber
184
+ _react2.default.createElement(
185
+ 'div',
186
+ {
187
+ className: (0, _classnames2.default)(classes.label, (_classNames3 = {}, (0, _defineProperty3.default)(_classNames3, classes.validated, status === 'validated'), (0, _defineProperty3.default)(_classNames3, classes.refused, status === 'refused'), (0, _defineProperty3.default)(_classNames3, classes.warning, status === 'warning'), (0, _defineProperty3.default)(_classNames3, classes.active, status === 'active'), (0, _defineProperty3.default)(_classNames3, classes.light, type === 'front-light'), (0, _defineProperty3.default)(_classNames3, classes.activeStep, active), (0, _defineProperty3.default)(_classNames3, classes.frontLabel, type !== 'back'), (0, _defineProperty3.default)(_classNames3, classes.shortEllipsis, notificationNumber > 0), (0, _defineProperty3.default)(_classNames3, classes.longEllipsis, notificationNumber === 0 && type === 'back'), _classNames3))
188
+ },
189
+ children
190
+ ),
191
+ notificationNumber > 0 && _react2.default.createElement(
192
+ 'span',
193
+ { className: classes.pin },
194
+ _react2.default.createElement(
195
+ _HiPins2.default,
196
+ {
197
+ color: this.props.theme.palette.business.primary.normal,
198
+ className: classes.hipin
199
+ },
200
+ notificationNumber
201
+ )
202
+ )
144
203
  )
145
- )
146
- )
147
- );
148
- }
204
+ );
205
+ }
206
+ }]);
207
+ return HiStepLabel;
208
+ }(_react2.default.PureComponent);
149
209
 
210
+ HiStepLabel.defaultProps = {
211
+ active: false,
212
+ children: '',
213
+ notificationNumber: 0,
214
+ status: 'unreviewed',
215
+ type: 'back'
216
+ };
150
217
  HiStepLabel.propTypes = process.env.NODE_ENV !== "production" ? {
151
218
  /**
152
219
  * @ignore
@@ -166,17 +233,16 @@ HiStepLabel.propTypes = process.env.NODE_ENV !== "production" ? {
166
233
  */
167
234
  className: _propTypes2.default.string,
168
235
  /**
169
- * @ignore
236
+ * The value to be displayed in the HiPin on the right of the label
170
237
  */
171
- orientation: _propTypes2.default.oneOf(['horizontal', 'vertical']),
172
-
173
- status: _propTypes2.default.oneOf(['unreviewed', 'refused', 'validated', 'warning'])
238
+ notificationNumber: _propTypes2.default.number,
239
+ /**
240
+ * 'Unreviewed', 'refused', 'validated' et 'warning' sont les statuts pour tous les types de breadcrumb. 'active' est spécifique au Front dark
241
+ */
242
+ status: _propTypes2.default.oneOf(['unreviewed', 'refused', 'validated', 'warning', 'active']),
243
+ /**
244
+ * The Breadcrumb type
245
+ */
246
+ type: _propTypes2.default.oneOf(['back', 'front-light', 'front-dark'])
174
247
  } : {};
175
-
176
- HiStepLabel.defaultProps = {
177
- active: false,
178
- status: 'unreviewed',
179
- orientation: 'vertical'
180
- };
181
-
182
248
  exports.default = (0, _styles.withStyles)(styles, { name: 'MuiHiStepLabel', withTheme: true })(HiStepLabel);
@@ -9,10 +9,6 @@ var _extends2 = require('babel-runtime/helpers/extends');
9
9
 
10
10
  var _extends3 = _interopRequireDefault(_extends2);
11
11
 
12
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
13
-
14
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
15
-
16
12
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
17
13
 
18
14
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -56,10 +52,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
56
52
  var styles = exports.styles = function styles(theme) {
57
53
  return {
58
54
  root: {
59
- display: 'flex',
60
- padding: theme.spacing.unit * 3,
61
- maxWidth: 160,
62
- flexDirection: 'column'
55
+ width: 340
63
56
  }
64
57
  };
65
58
  };
@@ -78,13 +71,9 @@ var HiStepper = function (_React$PureComponent) {
78
71
  var _props = this.props,
79
72
  activeStep = _props.activeStep,
80
73
  children = _props.children,
81
- classes = _props.classes,
82
- classNameProp = _props.className,
83
- other = (0, _objectWithoutProperties3.default)(_props, ['activeStep', 'children', 'classes', 'className']);
74
+ classes = _props.classes;
84
75
 
85
76
 
86
- var className = (0, _classnames2.default)(classes.root, classNameProp);
87
-
88
77
  var childrenArray = _react2.default.Children.toArray(children.props.children);
89
78
 
90
79
  var steps = childrenArray.map(function (step, index) {
@@ -92,8 +81,8 @@ var HiStepper = function (_React$PureComponent) {
92
81
  });
93
82
 
94
83
  return _react2.default.createElement(
95
- _Paper2.default,
96
- (0, _extends3.default)({ square: true, elevation: 0, className: className }, other),
84
+ 'div',
85
+ { className: classes.root },
97
86
  steps
98
87
  );
99
88
  }
@@ -112,14 +101,6 @@ HiStepper.propTypes = process.env.NODE_ENV !== "production" ? {
112
101
  /**
113
102
  * Two or more `<Step />` components.
114
103
  */
115
- children: _propTypes2.default.node.isRequired,
116
- /**
117
- * Useful to extend the style applied to components.
118
- */
119
- classes: _propTypes2.default.object.isRequired,
120
- /**
121
- * @ignore
122
- */
123
- className: _propTypes2.default.string
104
+ children: _propTypes2.default.node.isRequired
124
105
  } : {};
125
106
  exports.default = (0, _styles.withStyles)(styles, { name: 'MuiHiStepper' })(HiStepper);
@@ -98,9 +98,11 @@ var CustomOverlayLayout = function CustomOverlayLayout(_ref) {
98
98
 
99
99
  var paperClass = (0, _classnames2.default)(classes.paper, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.left, side === 'from'), (0, _defineProperty3.default)(_classNames, classes.right, side === 'to'), _classNames));
100
100
 
101
+ var paperProps = (0, _extends3.default)({}, props);
102
+
101
103
  return _react2.default.createElement(
102
104
  _Paper2.default,
103
- { className: paperClass },
105
+ { className: paperClass, onBlur: paperProps.onBlur, onFocus: paperProps.onFocus },
104
106
  _react2.default.createElement(
105
107
  'div',
106
108
  { className: classes.overlay },
@@ -5,10 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.styles = undefined;
7
7
 
8
+ var _extends2 = require('babel-runtime/helpers/extends');
9
+
10
+ var _extends3 = _interopRequireDefault(_extends2);
11
+
8
12
  var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
13
 
10
14
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
15
 
16
+ var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
17
+
18
+ var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
19
+
12
20
  var _react = require('react');
13
21
 
14
22
  var _react2 = _interopRequireDefault(_react);
@@ -63,13 +71,17 @@ var Overlay = function Overlay(_ref) {
63
71
  var classes = _ref.classes,
64
72
  children = _ref.children,
65
73
  side = _ref.side,
66
- staticPosition = _ref.staticPosition;
74
+ staticPosition = _ref.staticPosition,
75
+ props = (0, _objectWithoutProperties3.default)(_ref, ['classes', 'children', 'side', 'staticPosition']);
76
+
67
77
 
68
78
  var paperClass = (0, _classnames2.default)(classes.paper, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.left, side === 'from'), (0, _defineProperty3.default)(_classNames, classes.right, side === 'to'), (0, _defineProperty3.default)(_classNames, classes.absolute, staticPosition !== true), (0, _defineProperty3.default)(_classNames, classes.relative, staticPosition === true), _classNames));
69
79
 
80
+ var paperProps = (0, _extends3.default)({}, props);
81
+
70
82
  return _react2.default.createElement(
71
83
  _Paper2.default,
72
- { className: paperClass },
84
+ { onBlur: paperProps.onBlur, onFocus: paperProps.onFocus, className: paperClass },
73
85
  _react2.default.createElement(
74
86
  'div',
75
87
  { className: classes.overlay },
package/HiForm/HiInput.js CHANGED
@@ -238,20 +238,29 @@ var HiInput = function (_React$PureComponent) {
238
238
  }, {
239
239
  key: 'handleFocus',
240
240
  value: function handleFocus(event) {
241
- if (!this.state.focused) {
242
- this.setState({ focused: true });
243
- }
244
- if (this.props.onFocus) {
245
- this.props.onFocus(event);
241
+ if (this.endAdornmentNode && this.endAdornmentNode.contains(event.target)) {
242
+ event.stopPropagation();
243
+ } else {
244
+ if (!this.state.focused) {
245
+ this.setState({ focused: true });
246
+ }
247
+ if (this.props.onFocus) {
248
+ this.props.onFocus(event);
249
+ }
250
+ this.inputElement.focus();
246
251
  }
247
252
  }
248
253
  }, {
249
254
  key: 'handleDivClick',
250
- value: function handleDivClick() {
251
- if (!this.state.focused) {
252
- this.setState({ focused: true });
255
+ value: function handleDivClick(event) {
256
+ if (this.endAdornmentNode && this.endAdornmentNode.contains(event.target)) {
257
+ event.stopPropagation();
258
+ } else {
259
+ if (!this.state.focused) {
260
+ this.setState({ focused: true });
261
+ }
262
+ this.inputElement.focus();
253
263
  }
254
- this.inputElement.focus();
255
264
  }
256
265
  }, {
257
266
  key: 'handleMouseEnter',
@@ -278,7 +287,9 @@ var HiInput = function (_React$PureComponent) {
278
287
  }, {
279
288
  key: 'render',
280
289
  value: function render() {
281
- var _classNames, _classNames4;
290
+ var _classNames,
291
+ _this2 = this,
292
+ _classNames4;
282
293
 
283
294
  var _props = this.props,
284
295
  value = _props.value,
@@ -369,7 +380,9 @@ var HiInput = function (_React$PureComponent) {
369
380
  startAdornment: leftIcon,
370
381
  endAdornment: _react2.default.createElement(
371
382
  'div',
372
- { className: classes.endAdornment },
383
+ { className: classes.endAdornment, ref: function ref(el) {
384
+ return _this2.endAdornmentNode = el;
385
+ } },
373
386
  eraseIcon,
374
387
  endAdornment
375
388
  ),