@hipay/hipay-material-ui 2.0.0-beta.45 → 2.0.0-beta.47

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/HiCell/CellIcon.js +14 -6
  2. package/HiCell/CellNumeric.js +3 -2
  3. package/HiCell/CellRate.js +2 -1
  4. package/HiCell/CellSentinel.js +2 -1
  5. package/HiCheckbox/HiCheckbox.js +1 -1
  6. package/HiChip/HiChip.js +8 -8
  7. package/HiForm/HiFormControl.js +32 -28
  8. package/HiForm/HiInput.js +2 -0
  9. package/HiSelect/HiSelect.js +8 -2
  10. package/HiSelectNew/HiSelect.js +37 -5
  11. package/HiSelectableList/HiSelectableListItem.js +9 -3
  12. package/HiTable/HiCellBuilder.js +229 -0
  13. package/HiTable/HiTable.js +155 -0
  14. package/HiTable/HiTableBody.js +90 -0
  15. package/HiTable/HiTableHeader.js +162 -0
  16. package/HiTable/HiTableRow.js +154 -0
  17. package/HiTable/constants.js +145 -0
  18. package/HiTable/index.js +15 -0
  19. package/es/HiCell/CellIcon.js +14 -6
  20. package/es/HiCell/CellNumeric.js +3 -2
  21. package/es/HiCell/CellRate.js +2 -1
  22. package/es/HiCell/CellSentinel.js +2 -1
  23. package/es/HiCheckbox/HiCheckbox.js +1 -1
  24. package/es/HiChip/HiChip.js +10 -10
  25. package/es/HiForm/HiFormControl.js +32 -29
  26. package/es/HiForm/HiInput.js +2 -0
  27. package/es/HiSelect/HiSelect.js +8 -2
  28. package/es/HiSelectNew/HiSelect.js +34 -4
  29. package/es/HiSelectableList/HiSelectableListItem.js +9 -3
  30. package/es/HiTable/HiCellBuilder.js +181 -0
  31. package/es/HiTable/HiTable.js +114 -0
  32. package/es/HiTable/HiTableBody.js +56 -0
  33. package/es/HiTable/HiTableHeader.js +108 -0
  34. package/es/HiTable/HiTableRow.js +103 -0
  35. package/es/HiTable/constants.js +182 -0
  36. package/es/HiTable/index.js +1 -0
  37. package/es/index.js +1 -0
  38. package/es/utils/helpers.js +1 -1
  39. package/index.es.js +2 -1
  40. package/index.js +9 -1
  41. package/package.json +1 -1
  42. package/umd/hipay-material-ui.development.js +16061 -13716
  43. package/umd/hipay-material-ui.production.min.js +2 -2
  44. package/utils/helpers.js +1 -1
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ALIGN_RIGHT_TYPES = exports.DEFAULT_PADDING = exports.DEFAULT_VIEWS = exports.DEFAULT_WIDTHS = exports.FRAUD_RESULT_ASK_AUTHENTICATE = exports.FRAUD_RESULT_FORCE_AUTHENTICATE = exports.FRAUD_RESULT_PENDING = exports.FRAUD_RESULT_CHALLENGED = exports.FRAUD_RESULT_BLOCKED = exports.FRAUD_RESULT_ACCEPTED = exports.ELLIPSIS_RIGHT = exports.ELLIPSIS_NAME = exports.ELLIPSIS_MIDDLE = exports.ELLIPSIS_LEFT = exports.ELLIPSIS_AFTER_FIRST_WORD = exports.NO_EVOLUTION = exports.EVOLUTION_DOWN = exports.EVOLUTION_UP = exports.VIEWS = exports.TYPE_PIN_TO_ACTION = exports.TYPE_THIRD_PARTY_SECURITY = exports.TYPE_TEXT = exports.TYPE_COUNTRY = exports.TYPE_STATUS = exports.TYPE_SENTINEL = exports.TYPE_RATE = exports.TYPE_NUMERIC = exports.TYPE_IMAGE = exports.TYPE_ICON = exports.TYPE_DATE = exports.TYPE_CHECKBOX = exports.TYPE_ADDRESS = exports.TYPE_ACCOUNT_NUMBER = exports.TYPE_ACCOUNT = exports.CELL_HEADER_HEIGHT_DENSE = exports.CELL_HEADER_HEIGHT = exports.CELL_HEIGHT_DENSE = exports.CELL_HEIGHT = exports.NB_ROWS_BACK_TO_TOP = exports.MAX_ROWS = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _TYPE_ACCOUNT, _TYPE_ACCOUNT_NUMBER, _TYPE_ADDRESS, _TYPE_CHECKBOX, _TYPE_COUNTRY, _TYPE_DATE, _TYPE_ICON, _TYPE_IMAGE, _TYPE_NUMERIC, _TYPE_RATE, _TYPE_SENTINEL, _TYPE_STATUS, _TYPE_TEXT, _TYPE_THIRD_PARTY_SEC, _DEFAULT_WIDTHS, _DEFAULT_VIEWS, _DEFAULT_PADDING;
13
+
14
+ /**
15
+ * Infinite scroll variables
16
+ */
17
+ var MAX_ROWS = 50;
18
+ exports.MAX_ROWS = MAX_ROWS;
19
+ var NB_ROWS_BACK_TO_TOP = 10;
20
+ /**
21
+ * Cell height (px)
22
+ */
23
+
24
+ exports.NB_ROWS_BACK_TO_TOP = NB_ROWS_BACK_TO_TOP;
25
+ var CELL_HEIGHT = 40;
26
+ exports.CELL_HEIGHT = CELL_HEIGHT;
27
+ var CELL_HEIGHT_DENSE = 32;
28
+ exports.CELL_HEIGHT_DENSE = CELL_HEIGHT_DENSE;
29
+ var CELL_HEADER_HEIGHT = 48;
30
+ exports.CELL_HEADER_HEIGHT = CELL_HEADER_HEIGHT;
31
+ var CELL_HEADER_HEIGHT_DENSE = 40;
32
+ /**
33
+ * Cell types
34
+ * @type {string}
35
+ */
36
+
37
+ exports.CELL_HEADER_HEIGHT_DENSE = CELL_HEADER_HEIGHT_DENSE;
38
+ var TYPE_ACCOUNT = 'account';
39
+ exports.TYPE_ACCOUNT = TYPE_ACCOUNT;
40
+ var TYPE_ACCOUNT_NUMBER = 'account_number';
41
+ exports.TYPE_ACCOUNT_NUMBER = TYPE_ACCOUNT_NUMBER;
42
+ var TYPE_ADDRESS = 'address';
43
+ exports.TYPE_ADDRESS = TYPE_ADDRESS;
44
+ var TYPE_CHECKBOX = 'checkbox';
45
+ exports.TYPE_CHECKBOX = TYPE_CHECKBOX;
46
+ var TYPE_DATE = 'date';
47
+ exports.TYPE_DATE = TYPE_DATE;
48
+ var TYPE_ICON = 'icon';
49
+ exports.TYPE_ICON = TYPE_ICON;
50
+ var TYPE_IMAGE = 'image';
51
+ exports.TYPE_IMAGE = TYPE_IMAGE;
52
+ var TYPE_NUMERIC = 'numeric';
53
+ exports.TYPE_NUMERIC = TYPE_NUMERIC;
54
+ var TYPE_RATE = 'rate';
55
+ exports.TYPE_RATE = TYPE_RATE;
56
+ var TYPE_SENTINEL = 'sentinel';
57
+ exports.TYPE_SENTINEL = TYPE_SENTINEL;
58
+ var TYPE_STATUS = 'status';
59
+ exports.TYPE_STATUS = TYPE_STATUS;
60
+ var TYPE_COUNTRY = 'country';
61
+ exports.TYPE_COUNTRY = TYPE_COUNTRY;
62
+ var TYPE_TEXT = 'text';
63
+ exports.TYPE_TEXT = TYPE_TEXT;
64
+ var TYPE_THIRD_PARTY_SECURITY = 'third_party_security';
65
+ exports.TYPE_THIRD_PARTY_SECURITY = TYPE_THIRD_PARTY_SECURITY;
66
+ var TYPE_PIN_TO_ACTION = 'pin_to_action';
67
+ /**
68
+ * Cell size [L] / [M] / [S]
69
+ */
70
+
71
+ exports.TYPE_PIN_TO_ACTION = TYPE_PIN_TO_ACTION;
72
+ var VIEWS = {
73
+ LARGE: 'l',
74
+ MEDIUM: 'm',
75
+ SMALL: 's'
76
+ };
77
+ /**
78
+ * Trendchip evolution
79
+ */
80
+
81
+ exports.VIEWS = VIEWS;
82
+ var EVOLUTION_UP = 'up';
83
+ exports.EVOLUTION_UP = EVOLUTION_UP;
84
+ var EVOLUTION_DOWN = 'down';
85
+ exports.EVOLUTION_DOWN = EVOLUTION_DOWN;
86
+ var NO_EVOLUTION = 'equal';
87
+ /**
88
+ * Ellipsis
89
+ */
90
+
91
+ exports.NO_EVOLUTION = NO_EVOLUTION;
92
+ var ELLIPSIS_AFTER_FIRST_WORD = 'after-first-word';
93
+ exports.ELLIPSIS_AFTER_FIRST_WORD = ELLIPSIS_AFTER_FIRST_WORD;
94
+ var ELLIPSIS_LEFT = 'left';
95
+ exports.ELLIPSIS_LEFT = ELLIPSIS_LEFT;
96
+ var ELLIPSIS_MIDDLE = 'middle';
97
+ exports.ELLIPSIS_MIDDLE = ELLIPSIS_MIDDLE;
98
+ var ELLIPSIS_NAME = 'name';
99
+ exports.ELLIPSIS_NAME = ELLIPSIS_NAME;
100
+ var ELLIPSIS_RIGHT = 'right';
101
+ /**
102
+ * Fraud Result
103
+ */
104
+
105
+ exports.ELLIPSIS_RIGHT = ELLIPSIS_RIGHT;
106
+ var FRAUD_RESULT_ACCEPTED = 'ACCEPTED';
107
+ exports.FRAUD_RESULT_ACCEPTED = FRAUD_RESULT_ACCEPTED;
108
+ var FRAUD_RESULT_BLOCKED = 'BLOCKED';
109
+ exports.FRAUD_RESULT_BLOCKED = FRAUD_RESULT_BLOCKED;
110
+ var FRAUD_RESULT_CHALLENGED = 'CHALLENGED';
111
+ exports.FRAUD_RESULT_CHALLENGED = FRAUD_RESULT_CHALLENGED;
112
+ var FRAUD_RESULT_PENDING = 'PENDING';
113
+ exports.FRAUD_RESULT_PENDING = FRAUD_RESULT_PENDING;
114
+ var FRAUD_RESULT_FORCE_AUTHENTICATE = 'FORCE_AUTHENTICATE';
115
+ exports.FRAUD_RESULT_FORCE_AUTHENTICATE = FRAUD_RESULT_FORCE_AUTHENTICATE;
116
+ var FRAUD_RESULT_ASK_AUTHENTICATE = 'ASK_AUTHENTICATE';
117
+ /**
118
+ * Cell default width for each views
119
+ * @type {{}}
120
+ */
121
+
122
+ exports.FRAUD_RESULT_ASK_AUTHENTICATE = FRAUD_RESULT_ASK_AUTHENTICATE;
123
+ var DEFAULT_WIDTHS = (_DEFAULT_WIDTHS = {}, (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_ACCOUNT, (_TYPE_ACCOUNT = {}, (0, _defineProperty2.default)(_TYPE_ACCOUNT, VIEWS.LARGE, 160), (0, _defineProperty2.default)(_TYPE_ACCOUNT, VIEWS.MEDIUM, 120), (0, _defineProperty2.default)(_TYPE_ACCOUNT, VIEWS.SMALL, 80), _TYPE_ACCOUNT)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_ACCOUNT_NUMBER, (_TYPE_ACCOUNT_NUMBER = {}, (0, _defineProperty2.default)(_TYPE_ACCOUNT_NUMBER, VIEWS.LARGE, 100), (0, _defineProperty2.default)(_TYPE_ACCOUNT_NUMBER, VIEWS.MEDIUM, 80), (0, _defineProperty2.default)(_TYPE_ACCOUNT_NUMBER, VIEWS.SMALL, 60), _TYPE_ACCOUNT_NUMBER)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_ADDRESS, (_TYPE_ADDRESS = {}, (0, _defineProperty2.default)(_TYPE_ADDRESS, VIEWS.LARGE, 120), (0, _defineProperty2.default)(_TYPE_ADDRESS, VIEWS.MEDIUM, 100), (0, _defineProperty2.default)(_TYPE_ADDRESS, VIEWS.SMALL, 80), _TYPE_ADDRESS)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_CHECKBOX, (_TYPE_CHECKBOX = {}, (0, _defineProperty2.default)(_TYPE_CHECKBOX, VIEWS.LARGE, 40), (0, _defineProperty2.default)(_TYPE_CHECKBOX, VIEWS.MEDIUM, 40), (0, _defineProperty2.default)(_TYPE_CHECKBOX, VIEWS.SMALL, 40), _TYPE_CHECKBOX)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_COUNTRY, (_TYPE_COUNTRY = {}, (0, _defineProperty2.default)(_TYPE_COUNTRY, VIEWS.LARGE, 120), (0, _defineProperty2.default)(_TYPE_COUNTRY, VIEWS.MEDIUM, 80), (0, _defineProperty2.default)(_TYPE_COUNTRY, VIEWS.SMALL, 40), _TYPE_COUNTRY)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_DATE, (_TYPE_DATE = {}, (0, _defineProperty2.default)(_TYPE_DATE, VIEWS.LARGE, 220), (0, _defineProperty2.default)(_TYPE_DATE, VIEWS.MEDIUM, 140), (0, _defineProperty2.default)(_TYPE_DATE, VIEWS.SMALL, 120), _TYPE_DATE)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_ICON, (_TYPE_ICON = {}, (0, _defineProperty2.default)(_TYPE_ICON, VIEWS.LARGE, 140), (0, _defineProperty2.default)(_TYPE_ICON, VIEWS.MEDIUM, 100), (0, _defineProperty2.default)(_TYPE_ICON, VIEWS.SMALL, 60), _TYPE_ICON)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_IMAGE, (_TYPE_IMAGE = {}, (0, _defineProperty2.default)(_TYPE_IMAGE, VIEWS.LARGE, 140), (0, _defineProperty2.default)(_TYPE_IMAGE, VIEWS.MEDIUM, 100), (0, _defineProperty2.default)(_TYPE_IMAGE, VIEWS.SMALL, 60), _TYPE_IMAGE)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_NUMERIC, (_TYPE_NUMERIC = {}, (0, _defineProperty2.default)(_TYPE_NUMERIC, VIEWS.LARGE, 120), (0, _defineProperty2.default)(_TYPE_NUMERIC, VIEWS.MEDIUM, 100), (0, _defineProperty2.default)(_TYPE_NUMERIC, VIEWS.SMALL, 80), _TYPE_NUMERIC)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_RATE, (_TYPE_RATE = {}, (0, _defineProperty2.default)(_TYPE_RATE, VIEWS.LARGE, 100), (0, _defineProperty2.default)(_TYPE_RATE, VIEWS.MEDIUM, 90), (0, _defineProperty2.default)(_TYPE_RATE, VIEWS.SMALL, 80), _TYPE_RATE)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_SENTINEL, (_TYPE_SENTINEL = {}, (0, _defineProperty2.default)(_TYPE_SENTINEL, VIEWS.LARGE, 80), (0, _defineProperty2.default)(_TYPE_SENTINEL, VIEWS.MEDIUM, 80), (0, _defineProperty2.default)(_TYPE_SENTINEL, VIEWS.SMALL, 80), _TYPE_SENTINEL)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_STATUS, (_TYPE_STATUS = {}, (0, _defineProperty2.default)(_TYPE_STATUS, VIEWS.LARGE, 120), (0, _defineProperty2.default)(_TYPE_STATUS, VIEWS.MEDIUM, 100), (0, _defineProperty2.default)(_TYPE_STATUS, VIEWS.SMALL, 80), _TYPE_STATUS)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_TEXT, (_TYPE_TEXT = {}, (0, _defineProperty2.default)(_TYPE_TEXT, VIEWS.LARGE, 200), (0, _defineProperty2.default)(_TYPE_TEXT, VIEWS.MEDIUM, 120), (0, _defineProperty2.default)(_TYPE_TEXT, VIEWS.SMALL, 80), _TYPE_TEXT)), (0, _defineProperty2.default)(_DEFAULT_WIDTHS, TYPE_THIRD_PARTY_SECURITY, (_TYPE_THIRD_PARTY_SEC = {}, (0, _defineProperty2.default)(_TYPE_THIRD_PARTY_SEC, VIEWS.LARGE, 40), (0, _defineProperty2.default)(_TYPE_THIRD_PARTY_SEC, VIEWS.MEDIUM, 40), (0, _defineProperty2.default)(_TYPE_THIRD_PARTY_SEC, VIEWS.SMALL, 40), _TYPE_THIRD_PARTY_SEC)), _DEFAULT_WIDTHS);
124
+ /**
125
+ * Cell default width for each views
126
+ * @type {{}}
127
+ */
128
+
129
+ exports.DEFAULT_WIDTHS = DEFAULT_WIDTHS;
130
+ var DEFAULT_VIEWS = (_DEFAULT_VIEWS = {}, (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_ACCOUNT, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_ACCOUNT_NUMBER, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_ADDRESS, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_CHECKBOX, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_COUNTRY, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_DATE, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_ICON, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_IMAGE, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_NUMERIC, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_RATE, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_SENTINEL, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_STATUS, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_TEXT, VIEWS.LARGE), (0, _defineProperty2.default)(_DEFAULT_VIEWS, TYPE_THIRD_PARTY_SECURITY, VIEWS.LARGE), _DEFAULT_VIEWS);
131
+ /**
132
+ * Cell default side padding (one side) for each views
133
+ * @type {{}}
134
+ */
135
+
136
+ exports.DEFAULT_VIEWS = DEFAULT_VIEWS;
137
+ var DEFAULT_PADDING = (_DEFAULT_PADDING = {}, (0, _defineProperty2.default)(_DEFAULT_PADDING, VIEWS.LARGE, 8), (0, _defineProperty2.default)(_DEFAULT_PADDING, VIEWS.MEDIUM, 8), (0, _defineProperty2.default)(_DEFAULT_PADDING, VIEWS.SMALL, 8), _DEFAULT_PADDING);
138
+ /**
139
+ * Cell types which are align right by default
140
+ * @type {*[]}
141
+ */
142
+
143
+ exports.DEFAULT_PADDING = DEFAULT_PADDING;
144
+ var ALIGN_RIGHT_TYPES = [TYPE_NUMERIC, TYPE_RATE, TYPE_SENTINEL];
145
+ exports.ALIGN_RIGHT_TYPES = ALIGN_RIGHT_TYPES;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _HiTable.default;
12
+ }
13
+ });
14
+
15
+ var _HiTable = _interopRequireDefault(require("./HiTable"));
@@ -29,17 +29,20 @@ class CellIcon extends React.PureComponent {
29
29
  color,
30
30
  icon,
31
31
  label,
32
- view
32
+ view,
33
+ size
33
34
  } = this.props;
34
35
  return React.createElement("div", {
35
36
  className: classes.wrapper,
36
37
  title: label
37
38
  }, icon && React.createElement(HiIcon, {
38
- color: color,
39
+ color: "inherit",
40
+ style: {
41
+ color: color,
42
+ fontSize: size ? size : 24
43
+ },
39
44
  className: classes.icon,
40
- icon: icon,
41
- width: 40,
42
- height: 24
45
+ icon: icon
43
46
  }), view !== 's' && label && React.createElement("span", {
44
47
  className: classes.label
45
48
  }, label));
@@ -76,7 +79,12 @@ CellIcon.propTypes = process.env.NODE_ENV !== "production" ? {
76
79
  /**
77
80
  * View (L/M/S)
78
81
  */
79
- view: PropTypes.oneOf(['l', 'm', 's'])
82
+ view: PropTypes.oneOf(['l', 'm', 's']),
83
+
84
+ /**
85
+ * Icon size
86
+ */
87
+ size: PropTypes.number
80
88
  } : {};
81
89
  export default withStyles(styles, {
82
90
  name: 'HmuiCellIcon'
@@ -30,7 +30,7 @@ class CellNumeric extends React.PureComponent {
30
30
  title = formatCurrencyAmount(value, 'l', locale, currency);
31
31
  } else {
32
32
  displayedValue = formatNumber(value, view, locale, precision);
33
- title = formatNumber(value, 'l', locale);
33
+ title = formatNumber(value, 'l', locale, precision);
34
34
  }
35
35
 
36
36
  return React.createElement("div", {
@@ -42,7 +42,8 @@ class CellNumeric extends React.PureComponent {
42
42
  }
43
43
 
44
44
  CellNumeric.defaultProps = {
45
- view: 'm'
45
+ view: 'm',
46
+ locale: 'en'
46
47
  };
47
48
  CellNumeric.propTypes = process.env.NODE_ENV !== "production" ? {
48
49
  /**
@@ -99,7 +99,8 @@ class CellRate extends React.PureComponent {
99
99
  }
100
100
 
101
101
  CellRate.defaultProps = {
102
- isPositive: true
102
+ isPositive: true,
103
+ locale: 'en'
103
104
  };
104
105
  CellRate.propTypes = process.env.NODE_ENV !== "production" ? {
105
106
  /**
@@ -69,7 +69,8 @@ class CellSentinel extends React.PureComponent {
69
69
  const scoreLabel = score > 0 ? `+${score}` : `${score}`;
70
70
  return React.createElement("div", {
71
71
  style: {
72
- textAlign: 'right'
72
+ textAlign: 'right',
73
+ minWidth: '100px'
73
74
  }
74
75
  }, React.createElement(HiColoredLabel, {
75
76
  label: scoreLabel,
@@ -81,7 +81,7 @@ class HiCheckbox extends React.Component {
81
81
  height: size
82
82
  }, style);
83
83
 
84
- const hcolor = ['positive', 'negative', 'middle', 'neutral'].includes(color) ? 'inherit' : color;
84
+ const hcolor = ['positive', 'negative', 'middle', 'neutral', 'inherit'].includes(color) ? 'default' : color;
85
85
  return React.createElement(Checkbox, _extends({
86
86
  classes: {
87
87
  root: classes.root,
@@ -116,9 +116,17 @@ function HiChip(props) {
116
116
  [classes.leftIcon]: icon
117
117
  }),
118
118
  title: title
119
- }, prefix && React.createElement("span", {
119
+ }, icon && React.createElement(HiIcon, {
120
+ className: classNames(classes.icon, {
121
+ [classes.iconClickable]: onIconClick
122
+ }),
123
+ icon: icon,
124
+ size: iconSize,
125
+ onClick: onIconClick,
126
+ title: titleIcon
127
+ }), prefix && React.createElement("span", {
120
128
  className: classes.prefix
121
- }, prefix, " : "), img && React.createElement("img", {
129
+ }, prefix), img && React.createElement("img", {
122
130
  className: classes.badge,
123
131
  src: img,
124
132
  alt: img,
@@ -130,14 +138,6 @@ function HiChip(props) {
130
138
  }
131
139
  },
132
140
  title: titleImg
133
- }), icon && React.createElement(HiIcon, {
134
- className: classNames(classes.icon, {
135
- [classes.iconClickable]: onIconClick
136
- }),
137
- icon: icon,
138
- size: iconSize,
139
- onClick: onIconClick,
140
- title: titleIcon
141
141
  }), onPrevious && React.createElement(HiIcon, {
142
142
  className: classNames(classes.navigate),
143
143
  icon: "arrow_left",
@@ -11,6 +11,7 @@ import FormControl from '@material-ui/core/FormControl';
11
11
  import FormHelperText from '@material-ui/core/FormHelperText';
12
12
  import withStyles from '../styles/withStyles';
13
13
  import HiFormLabel from './HiFormLabel';
14
+ import HiIconButton from '../HiIconButton';
14
15
  import { escapeHTML } from '../utils/helpers';
15
16
  import keycode from 'keycode/index';
16
17
  export const styles = theme => ({
@@ -20,15 +21,24 @@ export const styles = theme => ({
20
21
  textAlign: 'right',
21
22
  marginTop: 2
22
23
  },
23
- errorIcon: {
24
- width: 19,
25
- height: 19,
26
- color: theme.palette.negative.main,
24
+ iconButton: {
27
25
  position: 'absolute',
28
- right: 8,
26
+ right: 5,
29
27
  cursor: 'pointer',
30
- top: '-2px'
28
+ top: '-5px',
29
+ '&$iconButtonError': {
30
+ color: theme.palette.negative.main
31
+ },
32
+ '&$iconButtonInfo': {
33
+ color: theme.palette.neutral.main
34
+ },
35
+ '&$iconButtonInfoActive': {
36
+ color: theme.palette.primary.main
37
+ }
31
38
  },
39
+ iconButtonError: {},
40
+ iconButtonInfo: {},
41
+ iconButtonInfoActive: {},
32
42
  errorDiv: _objectSpread({}, theme.typography.b3, {
33
43
  backgroundColor: theme.palette.negative.main,
34
44
  color: '#FFFFFF',
@@ -36,7 +46,7 @@ export const styles = theme => ({
36
46
  verticalAlign: 'middle',
37
47
  borderRadius: 2,
38
48
  position: 'relative',
39
- marginBottom: 5,
49
+ marginBottom: 8,
40
50
  fontWeight: theme.typography.fontWeightRegular
41
51
  }),
42
52
  arrowDown: {
@@ -47,23 +57,11 @@ export const styles = theme => ({
47
57
  borderTop: '4px solid #000',
48
58
  position: 'absolute',
49
59
  bottom: -4,
50
- right: 14
60
+ right: 13
51
61
  },
52
62
  errorDivArrowDown: {
53
63
  borderTopColor: theme.palette.negative.main
54
64
  },
55
- helperIcon: {
56
- width: 19,
57
- height: 19,
58
- color: theme.palette.neutral.main,
59
- position: 'absolute',
60
- right: 8,
61
- cursor: 'pointer',
62
- top: '-2px'
63
- },
64
- helperIconActive: {
65
- color: theme.palette.primary.main
66
- },
67
65
  helperDiv: _objectSpread({}, theme.typography.b2, {
68
66
  width: '100%',
69
67
  backgroundColor: '#ffffff',
@@ -71,13 +69,16 @@ export const styles = theme => ({
71
69
  padding: '16px 8px',
72
70
  borderRadius: 2,
73
71
  position: 'relative',
74
- marginBottom: 5,
72
+ marginBottom: 8,
75
73
  fontWeight: theme.typography.fontWeightRegular,
76
74
  boxShadow: '0px 1px 7px rgba(0, 0, 0, 0.16)',
77
75
  lineHeight: 1.5
78
76
  }),
79
77
  helperDivArrowDown: {
80
78
  borderTopColor: '#ffffff'
79
+ },
80
+ icon: {
81
+ position: 'absolute'
81
82
  }
82
83
  });
83
84
  /**
@@ -193,19 +194,21 @@ class HiFormControl extends React.PureComponent {
193
194
  required: required,
194
195
  disabled: disabled,
195
196
  focused: !disabled && (focused || hovered)
196
- }, InputLabelProps), error && React.createElement(Warning, {
197
- className: classes.errorIcon,
197
+ }, InputLabelProps), error && React.createElement(HiIconButton, {
198
+ className: classNames(classes.iconButton, classes.iconButtonError),
198
199
  onClick: this.handleHelperClick,
199
- tabIndex: 0,
200
200
  onKeyDown: this.handleKeyDown
201
- }), helperIcon && helperText && !error && React.createElement(Info, {
202
- className: classNames(classes.helperIcon, {
203
- [classes.helperIconActive]: helperOpen
201
+ }, React.createElement(Warning, {
202
+ className: classNames(classes.icon)
203
+ })), helperIcon && helperText && !error && React.createElement(HiIconButton, {
204
+ className: classNames(classes.iconButton, classes.iconButtonInfo, {
205
+ [classes.iconButtonInfoActive]: helperOpen
204
206
  }),
205
207
  onClick: this.handleHelperClick,
206
- tabIndex: 0,
207
208
  onKeyDown: this.handleKeyDown
208
- })), React.createElement("div", {
209
+ }, React.createElement(Info, {
210
+ className: classNames(classes.icon)
211
+ }))), React.createElement("div", {
209
212
  onMouseEnter: this.handleHover(true),
210
213
  onMouseLeave: this.handleHover(false),
211
214
  onFocus: this.handleFocus(true),
@@ -147,6 +147,8 @@ class HiInput extends React.PureComponent {
147
147
  focused: nextProps.focused
148
148
  };
149
149
  }
150
+
151
+ return null;
150
152
  }
151
153
 
152
154
  getInputElement(el) {
@@ -27,9 +27,11 @@ export const styles = theme => ({
27
27
  position: 'relative'
28
28
  },
29
29
  popper: {
30
- width: '100% !important',
31
30
  zIndex: 1200
32
31
  },
32
+ popperWidth: {
33
+ width: '100% !important'
34
+ },
33
35
  paper: {
34
36
  borderRadius: '0px 2px',
35
37
  maxHeight: 440,
@@ -598,7 +600,7 @@ class HiSelect extends React.PureComponent {
598
600
  }
599
601
 
600
602
  const popperClass = classNames(classes.popper, {
601
- [classes.popperClose]: !open
603
+ [classes.popperWidth]: !this.props.containerWidth
602
604
  });
603
605
  let allSelected = false;
604
606
 
@@ -612,6 +614,10 @@ class HiSelect extends React.PureComponent {
612
614
  popperStyle = {
613
615
  width: this.props.containerWidth
614
616
  };
617
+
618
+ if (!staticPosition) {
619
+ popperStyle.position = 'absolute';
620
+ }
615
621
  }
616
622
 
617
623
  if (infiniteScroll && loadingMoreResults) {
@@ -15,6 +15,7 @@ import withStyles from '../styles/withStyles';
15
15
  import { getNextItemSelectable, foldAccents } from '../utils/helpers';
16
16
  import HiIcon from '../HiIcon';
17
17
  import keycode from 'keycode';
18
+ import classNames from "classnames";
18
19
  export const styles = theme => ({
19
20
  root: {
20
21
  backgroundColor: theme.palette.background2,
@@ -23,9 +24,15 @@ export const styles = theme => ({
23
24
  position: 'relative'
24
25
  },
25
26
  popper: {
26
- width: '100% !important',
27
27
  zIndex: 1200
28
28
  },
29
+ popperWidth: {
30
+ width: '100% !important'
31
+ },
32
+ popperRightAlign: {
33
+ right: 0,
34
+ left: 'unset!important'
35
+ },
29
36
  paper: {
30
37
  borderRadius: '0px 2px',
31
38
  maxHeight: 480,
@@ -413,6 +420,22 @@ class HiSelect extends React.PureComponent {
413
420
  itemList,
414
421
  inputValue = this.buildInputValue(options, selectedItemIdList, loading)
415
422
  } = buildSelectProps(options, selectedItemIdList, searchValue, loading);
423
+ let popperStyle = {};
424
+
425
+ if (this.props.containerWidth > 0) {
426
+ popperStyle = {
427
+ width: this.props.containerWidth
428
+ };
429
+
430
+ if (!staticPosition) {
431
+ popperStyle.position = 'absolute';
432
+ }
433
+ }
434
+
435
+ const popperClass = classNames(classes.popper, {
436
+ [classes.popperWidth]: !this.props.containerWidth,
437
+ [classes.popperRightAlign]: this.props.containerWidth
438
+ });
416
439
  const content = React.createElement(ClickAwayListener, {
417
440
  onClickAway: this.handleClickAway
418
441
  }, React.createElement(Grow, {
@@ -477,13 +500,15 @@ class HiSelect extends React.PureComponent {
477
500
  this.inputEl = el;
478
501
  }
479
502
  })), open && staticPosition ? React.createElement("div", {
480
- className: classes.popper
503
+ style: popperStyle,
504
+ className: popperClass
481
505
  }, content) : React.createElement(Popper, {
482
506
  anchorEl: this.inputEl,
483
507
  placement: "bottom-start",
484
508
  open: open,
485
- className: classes.popper,
486
- disablePortal: true
509
+ className: popperClass,
510
+ disablePortal: true,
511
+ style: popperStyle
487
512
  }, content));
488
513
  }
489
514
 
@@ -517,6 +542,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
517
542
  */
518
543
  classes: PropTypes.object,
519
544
 
545
+ /**
546
+ * Popper width
547
+ */
548
+ containerWidth: PropTypes.number,
549
+
520
550
  /**
521
551
  * Inactif
522
552
  */
@@ -76,6 +76,7 @@ export const styles = theme => ({
76
76
  }, theme.typography.b1, {
77
77
  fontWeight: 'inherit',
78
78
  width: '100%',
79
+ minWidth: '50%',
79
80
  padding: '5px 0',
80
81
  '& strong': {
81
82
  fontWeight: theme.typography.fontWeightMedium
@@ -102,11 +103,11 @@ export const styles = theme => ({
102
103
  color: theme.palette.neutral.main,
103
104
  fontWeight: theme.typography.fontWeightLight,
104
105
  fontSize: 12,
105
- whiteSpace: 'nowrap',
106
106
  textOverflow: 'ellipsis',
107
107
  textAlign: 'right',
108
108
  margin: '4px 12px 4px 8px',
109
- alignSelf: 'center'
109
+ alignSelf: 'center',
110
+ width: '100%'
110
111
  }),
111
112
  checkbox: {
112
113
  marginTop: 3
@@ -378,6 +379,11 @@ HiSelectableListItem.propTypes = process.env.NODE_ENV !== "production" ? {
378
379
  */
379
380
  indeterminate: PropTypes.bool,
380
381
 
382
+ /**
383
+ * icon à afficher quand le composant a la prop indeterminate.
384
+ */
385
+ indeterminateIcon: PropTypes.string,
386
+
381
387
  /**
382
388
  * Text d'information affiché à droite de l'élément
383
389
  */
@@ -440,5 +446,5 @@ HiSelectableListItem.propTypes = process.env.NODE_ENV !== "production" ? {
440
446
  } : {};
441
447
  export default withStyles(styles, {
442
448
  hiComponent: true,
443
- name: 'HmuiHiSelectableList'
449
+ name: 'HmuiHiSelectableListItem'
444
450
  })(HiSelectableListItem);