@hipay/hipay-material-ui 2.0.0-beta.41 → 2.0.0-beta.42
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/HiButton/HiButton.js +17 -16
- package/HiForm/HiInput.js +15 -0
- package/HiSelectNew/HiSelect.js +3 -3
- package/HiSelectNew/HiSelectInput.js +50 -15
- package/es/HiButton/HiButton.js +21 -19
- package/es/HiForm/HiInput.js +14 -0
- package/es/HiSelectNew/HiSelect.js +3 -3
- package/es/HiSelectNew/HiSelectInput.js +49 -15
- package/index.es.js +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/umd/hipay-material-ui.development.js +33 -17
- package/umd/hipay-material-ui.production.min.js +2 -2
package/HiButton/HiButton.js
CHANGED
@@ -28,7 +28,15 @@ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
28
28
|
// @inheritedComponent Button
|
29
29
|
var styles = function styles(theme) {
|
30
30
|
return {
|
31
|
-
root: {
|
31
|
+
root: {
|
32
|
+
'&$disabled': {
|
33
|
+
color: theme.palette.neutral.contrastText,
|
34
|
+
backgroundColor: theme.palette.neutral.main
|
35
|
+
}
|
36
|
+
},
|
37
|
+
flatNeutral: {
|
38
|
+
color: theme.palette.neutral.main
|
39
|
+
},
|
32
40
|
flatPositive: {
|
33
41
|
color: theme.palette.positive.main,
|
34
42
|
'&:hover': {
|
@@ -59,16 +67,6 @@ var styles = function styles(theme) {
|
|
59
67
|
}
|
60
68
|
}
|
61
69
|
},
|
62
|
-
flatNeutral: {
|
63
|
-
color: theme.palette.neutral.main,
|
64
|
-
'&:hover': {
|
65
|
-
backgroundColor: (0, _colorManipulator.fade)(theme.palette.neutral.main, theme.palette.action.hoverOpacity),
|
66
|
-
// Reset on touch devices, it doesn't add specificity
|
67
|
-
'@media (hover: none)': {
|
68
|
-
backgroundColor: 'transparent'
|
69
|
-
}
|
70
|
-
}
|
71
|
-
},
|
72
70
|
|
73
71
|
/* Styles applied to the root element if `variant="[contained | fab]"` and `color="positive"`. */
|
74
72
|
containedPositive: {
|
@@ -152,7 +150,8 @@ var styles = function styles(theme) {
|
|
152
150
|
'&:hover': {
|
153
151
|
border: "1px solid ".concat(theme.palette.neutral.main)
|
154
152
|
}
|
155
|
-
}
|
153
|
+
},
|
154
|
+
disabled: {}
|
156
155
|
};
|
157
156
|
};
|
158
157
|
|
@@ -166,18 +165,20 @@ function HiButton(props) {
|
|
166
165
|
className = props.className,
|
167
166
|
color = props.color,
|
168
167
|
variant = props.variant,
|
169
|
-
|
168
|
+
disabled = props.disabled,
|
169
|
+
other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "color", "variant", "disabled"]);
|
170
170
|
var hcolor = ['positive', 'negative', 'middle', 'neutral'].includes(color) ? 'inherit' : color;
|
171
171
|
var fab = variant === 'fab' || variant === 'extendedFab';
|
172
172
|
var contained = variant === 'contained' || variant === 'raised';
|
173
|
-
var buttonClassNames = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.flatPositive, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'positive'), (0, _defineProperty2.default)(_classNames, classes.flatNegative, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'negative'), (0, _defineProperty2.default)(_classNames, classes.flatMiddle, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'middle'), (0, _defineProperty2.default)(_classNames, classes.flatNeutral, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'neutral'), (0, _defineProperty2.default)(_classNames, classes.containedPositive, (contained || fab) && color === 'positive'), (0, _defineProperty2.default)(_classNames, classes.containedNegative, (contained || fab) && color === 'negative'), (0, _defineProperty2.default)(_classNames, classes.containedMiddle, (contained || fab) && color === 'middle'), (0, _defineProperty2.default)(_classNames, classes.containedNeutral, (contained || fab) && color === 'neutral'), (0, _defineProperty2.default)(_classNames, classes.outlinedPositive, variant === 'outlined' && color === 'positive'), (0, _defineProperty2.default)(_classNames, classes.outlinedNegative, variant === 'outlined' && color === 'negative'), (0, _defineProperty2.default)(_classNames, classes.outlinedMiddle, variant === 'outlined' && color === 'middle'), (0, _defineProperty2.default)(_classNames, classes.outlinedNeutral, variant === 'outlined' && color === 'neutral'), _classNames));
|
173
|
+
var buttonClassNames = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.flatPositive, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'positive'), (0, _defineProperty2.default)(_classNames, classes.flatNegative, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'negative'), (0, _defineProperty2.default)(_classNames, classes.flatMiddle, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'middle'), (0, _defineProperty2.default)(_classNames, classes.flatNeutral, (variant === 'text' || variant === 'flat' || variant === 'outlined') && (color === 'default' || color === 'neutral')), (0, _defineProperty2.default)(_classNames, classes.containedPositive, (contained || fab) && color === 'positive'), (0, _defineProperty2.default)(_classNames, classes.containedNegative, (contained || fab) && color === 'negative'), (0, _defineProperty2.default)(_classNames, classes.containedMiddle, (contained || fab) && color === 'middle'), (0, _defineProperty2.default)(_classNames, classes.containedNeutral, (contained || fab) && (color === 'default' || color === 'neutral')), (0, _defineProperty2.default)(_classNames, classes.outlinedPositive, variant === 'outlined' && color === 'positive'), (0, _defineProperty2.default)(_classNames, classes.outlinedNegative, variant === 'outlined' && color === 'negative'), (0, _defineProperty2.default)(_classNames, classes.outlinedMiddle, variant === 'outlined' && color === 'middle'), (0, _defineProperty2.default)(_classNames, classes.outlinedNeutral, variant === 'outlined' && (color === 'default' || color === 'neutral')), (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), _classNames));
|
174
174
|
return _react.default.createElement(_Button.default, (0, _extends2.default)({
|
175
175
|
className: className,
|
176
176
|
classes: {
|
177
177
|
root: buttonClassNames
|
178
178
|
},
|
179
179
|
color: hcolor,
|
180
|
-
variant: variant
|
180
|
+
variant: variant,
|
181
|
+
disabled: disabled
|
181
182
|
}, other), children);
|
182
183
|
}
|
183
184
|
|
@@ -203,7 +204,7 @@ HiButton.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
203
204
|
variant: _propTypes.default.oneOf(['text', 'flat', 'outlined', 'contained', 'raised', 'fab', 'extendedFab'])
|
204
205
|
} : {};
|
205
206
|
HiButton.defaultProps = {
|
206
|
-
color: '
|
207
|
+
color: 'neutral',
|
207
208
|
variant: 'text'
|
208
209
|
};
|
209
210
|
|
package/HiForm/HiInput.js
CHANGED
@@ -390,6 +390,15 @@ function (_React$PureComponent) {
|
|
390
390
|
}
|
391
391
|
}));
|
392
392
|
}
|
393
|
+
}], [{
|
394
|
+
key: "getDerivedStateFromProps",
|
395
|
+
value: function getDerivedStateFromProps(nextProps, prevState) {
|
396
|
+
if (typeof nextProps.focused !== 'undefined' && nextProps.focused !== prevState.focused) {
|
397
|
+
return {
|
398
|
+
focused: nextProps.focused
|
399
|
+
};
|
400
|
+
}
|
401
|
+
}
|
393
402
|
}]);
|
394
403
|
return HiInput;
|
395
404
|
}(_react.default.PureComponent);
|
@@ -445,6 +454,12 @@ HiInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
445
454
|
*/
|
446
455
|
error: _propTypes.default.bool,
|
447
456
|
|
457
|
+
/**
|
458
|
+
* Force le focus de l'input et surcharge le comportement par défaut
|
459
|
+
* où le focus est géré dans le state.
|
460
|
+
*/
|
461
|
+
focused: _propTypes.default.bool,
|
462
|
+
|
448
463
|
/**
|
449
464
|
* Utile pour surcharger les classes de l'input
|
450
465
|
*/
|
package/HiSelectNew/HiSelect.js
CHANGED
@@ -59,11 +59,11 @@ var styles = function styles(theme) {
|
|
59
59
|
backgroundColor: theme.palette.background2,
|
60
60
|
maxWidth: 500,
|
61
61
|
width: '100%',
|
62
|
-
position: 'relative'
|
62
|
+
position: 'relative',
|
63
|
+
zIndex: 1
|
63
64
|
},
|
64
65
|
popper: {
|
65
|
-
width: '100%'
|
66
|
-
zIndex: 1200
|
66
|
+
width: '100%'
|
67
67
|
},
|
68
68
|
paper: {
|
69
69
|
borderRadius: '0px 2px',
|
@@ -181,14 +181,54 @@ function (_React$PureComponent) {
|
|
181
181
|
}
|
182
182
|
};
|
183
183
|
|
184
|
+
_this.handleKeyDownReset = function (event) {
|
185
|
+
var key = (0, _keycode.default)(event);
|
186
|
+
|
187
|
+
if (key === 'enter' || key === 'space') {
|
188
|
+
_this.handleReset(event);
|
189
|
+
|
190
|
+
event.stopPropagation();
|
191
|
+
event.preventDefault();
|
192
|
+
}
|
193
|
+
};
|
194
|
+
|
184
195
|
_this.handleClick = function (event) {
|
185
196
|
if ((!_this.resetIcon || !_this.resetIcon.contains(event.target)) && _this.props.onClick) {
|
186
197
|
_this.props.onClick(event);
|
187
198
|
}
|
188
199
|
};
|
189
200
|
|
201
|
+
_this.handleReset = function (event) {
|
202
|
+
_this.props.onReset(event);
|
203
|
+
|
204
|
+
if (_this.input) {
|
205
|
+
_this.input.focus();
|
206
|
+
}
|
207
|
+
};
|
208
|
+
|
209
|
+
_this.handleBlur = function (event) {
|
210
|
+
if ((!_this.input || !_this.input.contains(event.relatedTarget)) && _this.props.onBlur) {
|
211
|
+
_this.props.onBlur(event);
|
212
|
+
} else {
|
213
|
+
if (_this.input && (!_this.resetIcon || !_this.resetIcon.contains(event.relatedTarget))) {
|
214
|
+
_this.input.focus();
|
215
|
+
}
|
216
|
+
}
|
217
|
+
};
|
218
|
+
|
219
|
+
_this.handleRef = function (el) {
|
220
|
+
_this.input = el;
|
221
|
+
|
222
|
+
if (_this.props.refElement) {
|
223
|
+
_this.props.refElement(el);
|
224
|
+
}
|
225
|
+
};
|
226
|
+
|
190
227
|
_this.handleKeyDown = _this.handleKeyDown.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
191
228
|
_this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
229
|
+
_this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
230
|
+
_this.handleRef = _this.handleRef.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
231
|
+
_this.handleReset = _this.handleReset.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
192
232
|
return _this;
|
193
233
|
}
|
194
234
|
|
@@ -210,9 +250,7 @@ function (_React$PureComponent) {
|
|
210
250
|
focused = _this$props.focused,
|
211
251
|
error = _this$props.error,
|
212
252
|
id = _this$props.id,
|
213
|
-
placeholder = _this$props.placeholder
|
214
|
-
refElement = _this$props.refElement,
|
215
|
-
theme = _this$props.theme; // On utilise classNames pour variabiliser les styles et merge les classes appliquées
|
253
|
+
placeholder = _this$props.placeholder; // On utilise classNames pour variabiliser les styles et merge les classes appliquées
|
216
254
|
|
217
255
|
var rootClass = (0, _classnames.default)(classes.root, classes.inkbar, classes.underline, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.disabled, disabled), (0, _defineProperty2.default)(_classNames, classes.focused, focused), (0, _defineProperty2.default)(_classNames, classes.error, error && !focused), _classNames));
|
218
256
|
var iconClass = (0, _classnames.default)(classes.icon, (_classNames2 = {}, (0, _defineProperty2.default)(_classNames2, classes.iconOpen, open), (0, _defineProperty2.default)(_classNames2, classes.iconClose, !open), _classNames2));
|
@@ -227,9 +265,7 @@ function (_React$PureComponent) {
|
|
227
265
|
onBlur: this.props.onBlur,
|
228
266
|
role: "button",
|
229
267
|
tabIndex: "0",
|
230
|
-
ref:
|
231
|
-
if (refElement) refElement(el);
|
232
|
-
}
|
268
|
+
ref: this.handleRef
|
233
269
|
}, _react.default.createElement("span", {
|
234
270
|
className: (0, _classnames.default)(classes.label, (0, _defineProperty2.default)({}, classes.placeholder, value === undefined))
|
235
271
|
}, value || placeholder), _react.default.createElement(_ArrowDropDown.default, {
|
@@ -243,10 +279,8 @@ function (_React$PureComponent) {
|
|
243
279
|
onMouseLeave: this.props.onMouseLeave,
|
244
280
|
onKeyDown: this.handleKeyDown,
|
245
281
|
onFocus: this.props.onFocus,
|
246
|
-
onBlur: this.
|
247
|
-
buttonRef:
|
248
|
-
if (refElement) refElement(el);
|
249
|
-
}
|
282
|
+
onBlur: this.handleBlur,
|
283
|
+
buttonRef: this.handleRef
|
250
284
|
}, _react.default.createElement("span", {
|
251
285
|
className: (0, _classnames.default)(classes.label, (0, _defineProperty2.default)({}, classes.placeholder, value === undefined))
|
252
286
|
}, value || placeholder), onReset && focused && _react.default.createElement("div", {
|
@@ -255,9 +289,11 @@ function (_React$PureComponent) {
|
|
255
289
|
}
|
256
290
|
}, _react.default.createElement(_HiIcon.default, {
|
257
291
|
icon: "close",
|
258
|
-
size:
|
259
|
-
color:
|
260
|
-
onClick:
|
292
|
+
size: 20,
|
293
|
+
color: "neutral",
|
294
|
+
onClick: this.handleReset,
|
295
|
+
onKeyDown: this.handleKeyDownReset,
|
296
|
+
tabIndex: 0
|
261
297
|
})), _react.default.createElement(_Icon.default, {
|
262
298
|
classes: {
|
263
299
|
root: iconClass
|
@@ -370,8 +406,7 @@ HiSelectInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
370
406
|
|
371
407
|
var _default = (0, _withStyles.default)(styles, {
|
372
408
|
hiComponent: true,
|
373
|
-
name: 'HmuiHiSelectInput'
|
374
|
-
withTheme: true
|
409
|
+
name: 'HmuiHiSelectInput'
|
375
410
|
})(HiSelectInput);
|
376
411
|
|
377
412
|
exports.default = _default;
|
package/es/HiButton/HiButton.js
CHANGED
@@ -8,7 +8,15 @@ import { withStyles } from '../styles';
|
|
8
8
|
import { fade } from '../styles/colorManipulator';
|
9
9
|
import Button from '@material-ui/core/Button';
|
10
10
|
export const styles = theme => ({
|
11
|
-
root: {
|
11
|
+
root: {
|
12
|
+
'&$disabled': {
|
13
|
+
color: theme.palette.neutral.contrastText,
|
14
|
+
backgroundColor: theme.palette.neutral.main
|
15
|
+
}
|
16
|
+
},
|
17
|
+
flatNeutral: {
|
18
|
+
color: theme.palette.neutral.main
|
19
|
+
},
|
12
20
|
flatPositive: {
|
13
21
|
color: theme.palette.positive.main,
|
14
22
|
'&:hover': {
|
@@ -39,16 +47,6 @@ export const styles = theme => ({
|
|
39
47
|
}
|
40
48
|
}
|
41
49
|
},
|
42
|
-
flatNeutral: {
|
43
|
-
color: theme.palette.neutral.main,
|
44
|
-
'&:hover': {
|
45
|
-
backgroundColor: fade(theme.palette.neutral.main, theme.palette.action.hoverOpacity),
|
46
|
-
// Reset on touch devices, it doesn't add specificity
|
47
|
-
'@media (hover: none)': {
|
48
|
-
backgroundColor: 'transparent'
|
49
|
-
}
|
50
|
-
}
|
51
|
-
},
|
52
50
|
|
53
51
|
/* Styles applied to the root element if `variant="[contained | fab]"` and `color="positive"`. */
|
54
52
|
containedPositive: {
|
@@ -132,7 +130,8 @@ export const styles = theme => ({
|
|
132
130
|
'&:hover': {
|
133
131
|
border: `1px solid ${theme.palette.neutral.main}`
|
134
132
|
}
|
135
|
-
}
|
133
|
+
},
|
134
|
+
disabled: {}
|
136
135
|
});
|
137
136
|
|
138
137
|
function HiButton(props) {
|
@@ -141,9 +140,10 @@ function HiButton(props) {
|
|
141
140
|
classes,
|
142
141
|
className,
|
143
142
|
color,
|
144
|
-
variant
|
143
|
+
variant,
|
144
|
+
disabled
|
145
145
|
} = props,
|
146
|
-
other = _objectWithoutProperties(props, ["children", "classes", "className", "color", "variant"]);
|
146
|
+
other = _objectWithoutProperties(props, ["children", "classes", "className", "color", "variant", "disabled"]);
|
147
147
|
|
148
148
|
const hcolor = ['positive', 'negative', 'middle', 'neutral'].includes(color) ? 'inherit' : color;
|
149
149
|
const fab = variant === 'fab' || variant === 'extendedFab';
|
@@ -152,15 +152,16 @@ function HiButton(props) {
|
|
152
152
|
[classes.flatPositive]: (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'positive',
|
153
153
|
[classes.flatNegative]: (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'negative',
|
154
154
|
[classes.flatMiddle]: (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'middle',
|
155
|
-
[classes.flatNeutral]: (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'neutral',
|
155
|
+
[classes.flatNeutral]: (variant === 'text' || variant === 'flat' || variant === 'outlined') && (color === 'default' || color === 'neutral'),
|
156
156
|
[classes.containedPositive]: (contained || fab) && color === 'positive',
|
157
157
|
[classes.containedNegative]: (contained || fab) && color === 'negative',
|
158
158
|
[classes.containedMiddle]: (contained || fab) && color === 'middle',
|
159
|
-
[classes.containedNeutral]: (contained || fab) && color === 'neutral',
|
159
|
+
[classes.containedNeutral]: (contained || fab) && (color === 'default' || color === 'neutral'),
|
160
160
|
[classes.outlinedPositive]: variant === 'outlined' && color === 'positive',
|
161
161
|
[classes.outlinedNegative]: variant === 'outlined' && color === 'negative',
|
162
162
|
[classes.outlinedMiddle]: variant === 'outlined' && color === 'middle',
|
163
|
-
[classes.outlinedNeutral]: variant === 'outlined' && color === 'neutral'
|
163
|
+
[classes.outlinedNeutral]: variant === 'outlined' && (color === 'default' || color === 'neutral'),
|
164
|
+
[classes.disabled]: disabled
|
164
165
|
});
|
165
166
|
return React.createElement(Button, _extends({
|
166
167
|
className: className,
|
@@ -168,7 +169,8 @@ function HiButton(props) {
|
|
168
169
|
root: buttonClassNames
|
169
170
|
},
|
170
171
|
color: hcolor,
|
171
|
-
variant: variant
|
172
|
+
variant: variant,
|
173
|
+
disabled: disabled
|
172
174
|
}, other), children);
|
173
175
|
}
|
174
176
|
|
@@ -194,7 +196,7 @@ HiButton.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
194
196
|
variant: PropTypes.oneOf(['text', 'flat', 'outlined', 'contained', 'raised', 'fab', 'extendedFab'])
|
195
197
|
} : {};
|
196
198
|
HiButton.defaultProps = {
|
197
|
-
color: '
|
199
|
+
color: 'neutral',
|
198
200
|
variant: 'text'
|
199
201
|
};
|
200
202
|
export default withStyles(styles, {
|
package/es/HiForm/HiInput.js
CHANGED
@@ -141,6 +141,14 @@ class HiInput extends React.PureComponent {
|
|
141
141
|
this.handleOverlayRef = this.handleOverlayRef.bind(this);
|
142
142
|
}
|
143
143
|
|
144
|
+
static getDerivedStateFromProps(nextProps, prevState) {
|
145
|
+
if (typeof nextProps.focused !== 'undefined' && nextProps.focused !== prevState.focused) {
|
146
|
+
return {
|
147
|
+
focused: nextProps.focused
|
148
|
+
};
|
149
|
+
}
|
150
|
+
}
|
151
|
+
|
144
152
|
getInputElement(el) {
|
145
153
|
this.inputElement = el;
|
146
154
|
|
@@ -403,6 +411,12 @@ HiInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
403
411
|
*/
|
404
412
|
error: PropTypes.bool,
|
405
413
|
|
414
|
+
/**
|
415
|
+
* Force le focus de l'input et surcharge le comportement par défaut
|
416
|
+
* où le focus est géré dans le state.
|
417
|
+
*/
|
418
|
+
focused: PropTypes.bool,
|
419
|
+
|
406
420
|
/**
|
407
421
|
* Utile pour surcharger les classes de l'input
|
408
422
|
*/
|
@@ -20,11 +20,11 @@ export const styles = theme => ({
|
|
20
20
|
backgroundColor: theme.palette.background2,
|
21
21
|
maxWidth: 500,
|
22
22
|
width: '100%',
|
23
|
-
position: 'relative'
|
23
|
+
position: 'relative',
|
24
|
+
zIndex: 1
|
24
25
|
},
|
25
26
|
popper: {
|
26
|
-
width: '100%'
|
27
|
-
zIndex: 1200
|
27
|
+
width: '100%'
|
28
28
|
},
|
29
29
|
paper: {
|
30
30
|
borderRadius: '0px 2px',
|
@@ -135,14 +135,53 @@ class HiSelectInput extends React.PureComponent {
|
|
135
135
|
}
|
136
136
|
};
|
137
137
|
|
138
|
+
this.handleKeyDownReset = event => {
|
139
|
+
const key = keycode(event);
|
140
|
+
|
141
|
+
if (key === 'enter' || key === 'space') {
|
142
|
+
this.handleReset(event);
|
143
|
+
event.stopPropagation();
|
144
|
+
event.preventDefault();
|
145
|
+
}
|
146
|
+
};
|
147
|
+
|
138
148
|
this.handleClick = event => {
|
139
149
|
if ((!this.resetIcon || !this.resetIcon.contains(event.target)) && this.props.onClick) {
|
140
150
|
this.props.onClick(event);
|
141
151
|
}
|
142
152
|
};
|
143
153
|
|
154
|
+
this.handleReset = event => {
|
155
|
+
this.props.onReset(event);
|
156
|
+
|
157
|
+
if (this.input) {
|
158
|
+
this.input.focus();
|
159
|
+
}
|
160
|
+
};
|
161
|
+
|
162
|
+
this.handleBlur = event => {
|
163
|
+
if ((!this.input || !this.input.contains(event.relatedTarget)) && this.props.onBlur) {
|
164
|
+
this.props.onBlur(event);
|
165
|
+
} else {
|
166
|
+
if (this.input && (!this.resetIcon || !this.resetIcon.contains(event.relatedTarget))) {
|
167
|
+
this.input.focus();
|
168
|
+
}
|
169
|
+
}
|
170
|
+
};
|
171
|
+
|
172
|
+
this.handleRef = el => {
|
173
|
+
this.input = el;
|
174
|
+
|
175
|
+
if (this.props.refElement) {
|
176
|
+
this.props.refElement(el);
|
177
|
+
}
|
178
|
+
};
|
179
|
+
|
144
180
|
this.handleKeyDown = this.handleKeyDown.bind(this);
|
145
181
|
this.handleClick = this.handleClick.bind(this);
|
182
|
+
this.handleBlur = this.handleBlur.bind(this);
|
183
|
+
this.handleRef = this.handleRef.bind(this);
|
184
|
+
this.handleReset = this.handleReset.bind(this);
|
146
185
|
}
|
147
186
|
|
148
187
|
render() {
|
@@ -157,9 +196,7 @@ class HiSelectInput extends React.PureComponent {
|
|
157
196
|
focused,
|
158
197
|
error,
|
159
198
|
id,
|
160
|
-
placeholder
|
161
|
-
refElement,
|
162
|
-
theme
|
199
|
+
placeholder
|
163
200
|
} = this.props; // On utilise classNames pour variabiliser les styles et merge les classes appliquées
|
164
201
|
|
165
202
|
const rootClass = classNames(classes.root, classes.inkbar, classes.underline, {
|
@@ -182,9 +219,7 @@ class HiSelectInput extends React.PureComponent {
|
|
182
219
|
onBlur: this.props.onBlur,
|
183
220
|
role: "button",
|
184
221
|
tabIndex: "0",
|
185
|
-
ref:
|
186
|
-
if (refElement) refElement(el);
|
187
|
-
}
|
222
|
+
ref: this.handleRef
|
188
223
|
}, React.createElement("span", {
|
189
224
|
className: classNames(classes.label, {
|
190
225
|
[classes.placeholder]: value === undefined
|
@@ -200,10 +235,8 @@ class HiSelectInput extends React.PureComponent {
|
|
200
235
|
onMouseLeave: this.props.onMouseLeave,
|
201
236
|
onKeyDown: this.handleKeyDown,
|
202
237
|
onFocus: this.props.onFocus,
|
203
|
-
onBlur: this.
|
204
|
-
buttonRef:
|
205
|
-
if (refElement) refElement(el);
|
206
|
-
}
|
238
|
+
onBlur: this.handleBlur,
|
239
|
+
buttonRef: this.handleRef
|
207
240
|
}, React.createElement("span", {
|
208
241
|
className: classNames(classes.label, {
|
209
242
|
[classes.placeholder]: value === undefined
|
@@ -214,9 +247,11 @@ class HiSelectInput extends React.PureComponent {
|
|
214
247
|
}
|
215
248
|
}, React.createElement(HiIcon, {
|
216
249
|
icon: "close",
|
217
|
-
size:
|
218
|
-
color:
|
219
|
-
onClick:
|
250
|
+
size: 20,
|
251
|
+
color: "neutral",
|
252
|
+
onClick: this.handleReset,
|
253
|
+
onKeyDown: this.handleKeyDownReset,
|
254
|
+
tabIndex: 0
|
220
255
|
})), React.createElement(Icon, {
|
221
256
|
classes: {
|
222
257
|
root: iconClass
|
@@ -327,6 +362,5 @@ HiSelectInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
327
362
|
} : {};
|
328
363
|
export default withStyles(styles, {
|
329
364
|
hiComponent: true,
|
330
|
-
name: 'HmuiHiSelectInput'
|
331
|
-
withTheme: true
|
365
|
+
name: 'HmuiHiSelectInput'
|
332
366
|
})(HiSelectInput);
|
package/index.es.js
CHANGED
package/index.js
CHANGED
package/package.json
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
/** @license HiPay-Material-UI v2.0.0-beta.
|
1
|
+
/** @license HiPay-Material-UI v2.0.0-beta.42
|
2
2
|
*
|
3
3
|
* This source code is licensed under the MIT license found in the
|
4
4
|
* LICENSE file in the root directory of this source tree.
|
@@ -13289,7 +13289,15 @@
|
|
13289
13289
|
|
13290
13290
|
var styles = function styles(theme) {
|
13291
13291
|
return {
|
13292
|
-
root: {
|
13292
|
+
root: {
|
13293
|
+
'&$disabled': {
|
13294
|
+
color: theme.palette.neutral.contrastText,
|
13295
|
+
backgroundColor: theme.palette.neutral.main
|
13296
|
+
}
|
13297
|
+
},
|
13298
|
+
flatNeutral: {
|
13299
|
+
color: theme.palette.neutral.main
|
13300
|
+
},
|
13293
13301
|
flatPositive: {
|
13294
13302
|
color: theme.palette.positive.main,
|
13295
13303
|
'&:hover': {
|
@@ -13320,16 +13328,6 @@
|
|
13320
13328
|
}
|
13321
13329
|
}
|
13322
13330
|
},
|
13323
|
-
flatNeutral: {
|
13324
|
-
color: theme.palette.neutral.main,
|
13325
|
-
'&:hover': {
|
13326
|
-
backgroundColor: fade(theme.palette.neutral.main, theme.palette.action.hoverOpacity),
|
13327
|
-
// Reset on touch devices, it doesn't add specificity
|
13328
|
-
'@media (hover: none)': {
|
13329
|
-
backgroundColor: 'transparent'
|
13330
|
-
}
|
13331
|
-
}
|
13332
|
-
},
|
13333
13331
|
|
13334
13332
|
/* Styles applied to the root element if `variant="[contained | fab]"` and `color="positive"`. */
|
13335
13333
|
containedPositive: {
|
@@ -13413,7 +13411,8 @@
|
|
13413
13411
|
'&:hover': {
|
13414
13412
|
border: "1px solid ".concat(theme.palette.neutral.main)
|
13415
13413
|
}
|
13416
|
-
}
|
13414
|
+
},
|
13415
|
+
disabled: {}
|
13417
13416
|
};
|
13418
13417
|
};
|
13419
13418
|
|
@@ -13425,19 +13424,21 @@
|
|
13425
13424
|
className = props.className,
|
13426
13425
|
color = props.color,
|
13427
13426
|
variant = props.variant,
|
13428
|
-
|
13427
|
+
disabled = props.disabled,
|
13428
|
+
other = objectWithoutProperties(props, ["children", "classes", "className", "color", "variant", "disabled"]);
|
13429
13429
|
|
13430
13430
|
var hcolor = ['positive', 'negative', 'middle', 'neutral'].includes(color) ? 'inherit' : color;
|
13431
13431
|
var fab = variant === 'fab' || variant === 'extendedFab';
|
13432
13432
|
var contained = variant === 'contained' || variant === 'raised';
|
13433
|
-
var buttonClassNames = classnames(classes.root, (_classNames = {}, defineProperty(_classNames, classes.flatPositive, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'positive'), defineProperty(_classNames, classes.flatNegative, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'negative'), defineProperty(_classNames, classes.flatMiddle, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'middle'), defineProperty(_classNames, classes.flatNeutral, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'neutral'), defineProperty(_classNames, classes.containedPositive, (contained || fab) && color === 'positive'), defineProperty(_classNames, classes.containedNegative, (contained || fab) && color === 'negative'), defineProperty(_classNames, classes.containedMiddle, (contained || fab) && color === 'middle'), defineProperty(_classNames, classes.containedNeutral, (contained || fab) && color === 'neutral'), defineProperty(_classNames, classes.outlinedPositive, variant === 'outlined' && color === 'positive'), defineProperty(_classNames, classes.outlinedNegative, variant === 'outlined' && color === 'negative'), defineProperty(_classNames, classes.outlinedMiddle, variant === 'outlined' && color === 'middle'), defineProperty(_classNames, classes.outlinedNeutral, variant === 'outlined' && color === 'neutral'), _classNames));
|
13433
|
+
var buttonClassNames = classnames(classes.root, (_classNames = {}, defineProperty(_classNames, classes.flatPositive, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'positive'), defineProperty(_classNames, classes.flatNegative, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'negative'), defineProperty(_classNames, classes.flatMiddle, (variant === 'text' || variant === 'flat' || variant === 'outlined') && color === 'middle'), defineProperty(_classNames, classes.flatNeutral, (variant === 'text' || variant === 'flat' || variant === 'outlined') && (color === 'default' || color === 'neutral')), defineProperty(_classNames, classes.containedPositive, (contained || fab) && color === 'positive'), defineProperty(_classNames, classes.containedNegative, (contained || fab) && color === 'negative'), defineProperty(_classNames, classes.containedMiddle, (contained || fab) && color === 'middle'), defineProperty(_classNames, classes.containedNeutral, (contained || fab) && (color === 'default' || color === 'neutral')), defineProperty(_classNames, classes.outlinedPositive, variant === 'outlined' && color === 'positive'), defineProperty(_classNames, classes.outlinedNegative, variant === 'outlined' && color === 'negative'), defineProperty(_classNames, classes.outlinedMiddle, variant === 'outlined' && color === 'middle'), defineProperty(_classNames, classes.outlinedNeutral, variant === 'outlined' && (color === 'default' || color === 'neutral')), defineProperty(_classNames, classes.disabled, disabled), _classNames));
|
13434
13434
|
return React__default.createElement(Button$2, _extends_1({
|
13435
13435
|
className: className,
|
13436
13436
|
classes: {
|
13437
13437
|
root: buttonClassNames
|
13438
13438
|
},
|
13439
13439
|
color: hcolor,
|
13440
|
-
variant: variant
|
13440
|
+
variant: variant,
|
13441
|
+
disabled: disabled
|
13441
13442
|
}, other), children);
|
13442
13443
|
}
|
13443
13444
|
|
@@ -13463,7 +13464,7 @@
|
|
13463
13464
|
variant: propTypes.oneOf(['text', 'flat', 'outlined', 'contained', 'raised', 'fab', 'extendedFab'])
|
13464
13465
|
};
|
13465
13466
|
HiButton.defaultProps = {
|
13466
|
-
color: '
|
13467
|
+
color: 'neutral',
|
13467
13468
|
variant: 'text'
|
13468
13469
|
};
|
13469
13470
|
var HiButton$1 = withStyles(styles, {
|
@@ -68873,6 +68874,15 @@
|
|
68873
68874
|
}
|
68874
68875
|
}));
|
68875
68876
|
}
|
68877
|
+
}], [{
|
68878
|
+
key: "getDerivedStateFromProps",
|
68879
|
+
value: function getDerivedStateFromProps(nextProps, prevState) {
|
68880
|
+
if (typeof nextProps.focused !== 'undefined' && nextProps.focused !== prevState.focused) {
|
68881
|
+
return {
|
68882
|
+
focused: nextProps.focused
|
68883
|
+
};
|
68884
|
+
}
|
68885
|
+
}
|
68876
68886
|
}]);
|
68877
68887
|
|
68878
68888
|
return HiInput;
|
@@ -68929,6 +68939,12 @@
|
|
68929
68939
|
*/
|
68930
68940
|
error: propTypes.bool,
|
68931
68941
|
|
68942
|
+
/**
|
68943
|
+
* Force le focus de l'input et surcharge le comportement par défaut
|
68944
|
+
* où le focus est géré dans le state.
|
68945
|
+
*/
|
68946
|
+
focused: propTypes.bool,
|
68947
|
+
|
68932
68948
|
/**
|
68933
68949
|
* Utile pour surcharger les classes de l'input
|
68934
68950
|
*/
|