@hipay/hipay-material-ui 1.0.0-beta.23 → 1.0.0-beta.26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. package/HI-CHANGELOG.md +58 -39
  2. package/HiChip/HiChip.js +67 -8
  3. package/HiDatePicker/HiDateRangePicker.js +27 -13
  4. package/HiDatePicker/HiDateRangeSelector.js +13 -2
  5. package/HiForm/HiInput.js +1 -0
  6. package/HiForm/HiPasswordField.js +2 -2
  7. package/HiPins/HiPins.js +6 -4
  8. package/HiSelect/HiSelect.js +28 -20
  9. package/HiSelect/SelectInput.js +3 -8
  10. package/HiSelectableList/HiSelectableList.js +51 -49
  11. package/HiSelectableList/HiSelectableListItem.js +7 -5
  12. package/HiTable/BodyCellBuilder.js +25 -14
  13. package/HiTable/BodyCells/CellAccount.js +13 -15
  14. package/HiTable/BodyCells/CellAccountNumber.js +12 -3
  15. package/HiTable/BodyCells/CellAddress.js +12 -3
  16. package/HiTable/BodyCells/CellCountry.js +12 -3
  17. package/HiTable/BodyCells/CellDate.js +56 -52
  18. package/HiTable/BodyCells/CellIcon.js +12 -3
  19. package/HiTable/BodyCells/CellImage.js +12 -3
  20. package/HiTable/BodyCells/CellNumeric.js +12 -3
  21. package/HiTable/BodyCells/CellRate.js +12 -3
  22. package/HiTable/BodyCells/CellSentinel.js +17 -7
  23. package/HiTable/BodyCells/CellStatus.js +12 -3
  24. package/HiTable/BodyCells/CellText.js +75 -37
  25. package/HiTable/BodyCells/CellThirdPartySecurity.js +12 -3
  26. package/HiTable/BodyRow.js +12 -3
  27. package/HiTable/ColumnFilter.js +1 -4
  28. package/HiTable/HeaderCell.js +21 -11
  29. package/HiTable/HiStickyRow.js +27 -16
  30. package/HiTable/HiTable.js +30 -69
  31. package/HiTable/HiTableBody.js +99 -29
  32. package/HiTable/HiTableContextMenu.js +31 -16
  33. package/HiTable/HiTableFooter.js +9 -0
  34. package/HiTable/HiTableHead.js +15 -7
  35. package/HiTopBar/HiTopBar.js +6 -0
  36. package/README.md +72 -6
  37. package/es/HiChip/HiChip.js +81 -9
  38. package/es/HiDatePicker/HiDateRangePicker.js +25 -12
  39. package/es/HiDatePicker/HiDateRangeSelector.js +12 -2
  40. package/es/HiForm/HiInput.js +1 -0
  41. package/es/HiForm/HiPasswordField.js +2 -2
  42. package/es/HiPins/HiPins.js +4 -4
  43. package/es/HiSelect/HiSelect.js +25 -16
  44. package/es/HiSelect/SelectInput.js +3 -8
  45. package/es/HiSelectableList/HiSelectableList.js +51 -49
  46. package/es/HiSelectableList/HiSelectableListItem.js +7 -5
  47. package/es/HiTable/BodyCellBuilder.js +11 -4
  48. package/es/HiTable/BodyCells/CellAccount.js +7 -5
  49. package/es/HiTable/BodyCells/CellAccountNumber.js +6 -1
  50. package/es/HiTable/BodyCells/CellAddress.js +6 -1
  51. package/es/HiTable/BodyCells/CellCountry.js +6 -1
  52. package/es/HiTable/BodyCells/CellDate.js +35 -40
  53. package/es/HiTable/BodyCells/CellIcon.js +6 -1
  54. package/es/HiTable/BodyCells/CellImage.js +6 -1
  55. package/es/HiTable/BodyCells/CellNumeric.js +6 -1
  56. package/es/HiTable/BodyCells/CellRate.js +6 -1
  57. package/es/HiTable/BodyCells/CellSentinel.js +6 -1
  58. package/es/HiTable/BodyCells/CellStatus.js +6 -1
  59. package/es/HiTable/BodyCells/CellText.js +50 -20
  60. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +6 -1
  61. package/es/HiTable/BodyRow.js +7 -2
  62. package/es/HiTable/ColumnFilter.js +1 -4
  63. package/es/HiTable/HeaderCell.js +16 -9
  64. package/es/HiTable/HiStickyRow.js +21 -14
  65. package/es/HiTable/HiTable.js +4 -40
  66. package/es/HiTable/HiTableBody.js +78 -26
  67. package/es/HiTable/HiTableContextMenu.js +28 -16
  68. package/es/HiTable/HiTableFooter.js +5 -0
  69. package/es/HiTable/HiTableHead.js +11 -6
  70. package/es/HiTopBar/HiTopBar.js +5 -0
  71. package/es/svg-icons/Cancel.js +2 -0
  72. package/es/svg-icons/HiBriefcaseRescue.js +15 -0
  73. package/es/svg-icons/index.js +2 -1
  74. package/es/utils/HiIconBuilder.js +6 -2
  75. package/index.es.js +1 -1
  76. package/index.js +1 -1
  77. package/package.json +7 -1
  78. package/svg-icons/Cancel.js +2 -0
  79. package/svg-icons/HiBriefcaseRescue.js +30 -0
  80. package/svg-icons/index.js +9 -0
  81. package/umd/hipay-material-ui.development.js +110915 -119592
  82. package/umd/hipay-material-ui.production.min.js +5 -5
  83. package/utils/HiIconBuilder.js +6 -2
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.styles = undefined;
7
7
 
8
+ var _stringify = require('babel-runtime/core-js/json/stringify');
9
+
10
+ var _stringify2 = _interopRequireDefault(_stringify);
11
+
8
12
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
9
13
 
10
14
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -93,8 +97,8 @@ var styles = exports.styles = function styles(theme) {
93
97
  * En vue small (s) elle affiche uniquement l'image avec une largeur fixe.
94
98
  */
95
99
 
96
- var CellImage = function (_React$PureComponent) {
97
- (0, _inherits3.default)(CellImage, _React$PureComponent);
100
+ var CellImage = function (_React$Component) {
101
+ (0, _inherits3.default)(CellImage, _React$Component);
98
102
 
99
103
  function CellImage() {
100
104
  (0, _classCallCheck3.default)(this, CellImage);
@@ -102,6 +106,11 @@ var CellImage = function (_React$PureComponent) {
102
106
  }
103
107
 
104
108
  (0, _createClass3.default)(CellImage, [{
109
+ key: 'shouldComponentUpdate',
110
+ value: function shouldComponentUpdate(nextProps, nextState) {
111
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
112
+ }
113
+ }, {
105
114
  key: 'render',
106
115
  value: function render() {
107
116
  var _props = this.props,
@@ -168,7 +177,7 @@ var CellImage = function (_React$PureComponent) {
168
177
  }
169
178
  }]);
170
179
  return CellImage;
171
- }(_react2.default.PureComponent);
180
+ }(_react2.default.Component);
172
181
 
173
182
  CellImage.defaultProps = {
174
183
  size: 24
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.styles = undefined;
7
7
 
8
+ var _stringify = require('babel-runtime/core-js/json/stringify');
9
+
10
+ var _stringify2 = _interopRequireDefault(_stringify);
11
+
8
12
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
9
13
 
10
14
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -63,8 +67,8 @@ var styles = exports.styles = function styles(theme) {
63
67
  * Cette cellule permet d'afficher un volume ou un montant avec devise
64
68
  */
65
69
 
66
- var CellNumeric = function (_React$PureComponent) {
67
- (0, _inherits3.default)(CellNumeric, _React$PureComponent);
70
+ var CellNumeric = function (_React$Component) {
71
+ (0, _inherits3.default)(CellNumeric, _React$Component);
68
72
 
69
73
  function CellNumeric() {
70
74
  (0, _classCallCheck3.default)(this, CellNumeric);
@@ -72,6 +76,11 @@ var CellNumeric = function (_React$PureComponent) {
72
76
  }
73
77
 
74
78
  (0, _createClass3.default)(CellNumeric, [{
79
+ key: 'shouldComponentUpdate',
80
+ value: function shouldComponentUpdate(nextProps, nextState) {
81
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
82
+ }
83
+ }, {
75
84
  key: 'render',
76
85
  value: function render() {
77
86
  var _props = this.props,
@@ -109,7 +118,7 @@ var CellNumeric = function (_React$PureComponent) {
109
118
  }
110
119
  }]);
111
120
  return CellNumeric;
112
- }(_react2.default.PureComponent);
121
+ }(_react2.default.Component);
113
122
 
114
123
  CellNumeric.propTypes = process.env.NODE_ENV !== "production" ? {
115
124
  /**
@@ -9,6 +9,10 @@ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
9
 
10
10
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
11
 
12
+ var _stringify = require('babel-runtime/core-js/json/stringify');
13
+
14
+ var _stringify2 = _interopRequireDefault(_stringify);
15
+
12
16
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
17
 
14
18
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -99,8 +103,8 @@ var styles = exports.styles = function styles(theme) {
99
103
  * avec une icône d'évolution (optionnelle) et un indicateur du type de données représentées (optionnel)
100
104
  */
101
105
 
102
- var CellRate = function (_React$PureComponent) {
103
- (0, _inherits3.default)(CellRate, _React$PureComponent);
106
+ var CellRate = function (_React$Component) {
107
+ (0, _inherits3.default)(CellRate, _React$Component);
104
108
 
105
109
  function CellRate() {
106
110
  (0, _classCallCheck3.default)(this, CellRate);
@@ -108,6 +112,11 @@ var CellRate = function (_React$PureComponent) {
108
112
  }
109
113
 
110
114
  (0, _createClass3.default)(CellRate, [{
115
+ key: 'shouldComponentUpdate',
116
+ value: function shouldComponentUpdate(nextProps, nextState) {
117
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
118
+ }
119
+ }, {
111
120
  key: 'render',
112
121
  value: function render() {
113
122
  var _classNames, _classNames2;
@@ -159,7 +168,7 @@ var CellRate = function (_React$PureComponent) {
159
168
  }
160
169
  }]);
161
170
  return CellRate;
162
- }(_react2.default.PureComponent);
171
+ }(_react2.default.Component);
163
172
 
164
173
  CellRate.defaultProps = {
165
174
  isPositive: true
@@ -9,18 +9,22 @@ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
9
9
 
10
10
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
11
11
 
12
- var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
12
+ var _stringify = require('babel-runtime/core-js/json/stringify');
13
13
 
14
- var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
14
+ var _stringify2 = _interopRequireDefault(_stringify);
15
15
 
16
- var _createClass2 = require('babel-runtime/helpers/createClass');
16
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
17
17
 
18
- var _createClass3 = _interopRequireDefault(_createClass2);
18
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
19
19
 
20
20
  var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
21
21
 
22
22
  var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
23
23
 
24
+ var _createClass2 = require('babel-runtime/helpers/createClass');
25
+
26
+ var _createClass3 = _interopRequireDefault(_createClass2);
27
+
24
28
  var _inherits2 = require('babel-runtime/helpers/inherits');
25
29
 
26
30
  var _inherits3 = _interopRequireDefault(_inherits2);
@@ -68,8 +72,14 @@ var styles = exports.styles = {
68
72
  * Cette cellule permet d'afficher le résultat de Sentinel (score & fraudResult & smartDecision)
69
73
  */
70
74
 
71
- var CellSentinel = function (_React$PureComponent) {
72
- (0, _inherits3.default)(CellSentinel, _React$PureComponent);
75
+ var CellSentinel = function (_React$Component) {
76
+ (0, _inherits3.default)(CellSentinel, _React$Component);
77
+ (0, _createClass3.default)(CellSentinel, [{
78
+ key: 'shouldComponentUpdate',
79
+ value: function shouldComponentUpdate(nextProps, nextState) {
80
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
81
+ }
82
+ }]);
73
83
 
74
84
  function CellSentinel(props) {
75
85
  (0, _classCallCheck3.default)(this, CellSentinel);
@@ -184,7 +194,7 @@ var CellSentinel = function (_React$PureComponent) {
184
194
  }
185
195
  }]);
186
196
  return CellSentinel;
187
- }(_react2.default.PureComponent);
197
+ }(_react2.default.Component);
188
198
 
189
199
  CellSentinel.defaultProps = {
190
200
  hideFraudResult: false
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.styles = undefined;
7
7
 
8
+ var _stringify = require('babel-runtime/core-js/json/stringify');
9
+
10
+ var _stringify2 = _interopRequireDefault(_stringify);
11
+
8
12
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
9
13
 
10
14
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -63,8 +67,8 @@ var styles = exports.styles = function styles(theme) {
63
67
  };
64
68
  };
65
69
 
66
- var CellStatus = function (_React$PureComponent) {
67
- (0, _inherits3.default)(CellStatus, _React$PureComponent);
70
+ var CellStatus = function (_React$Component) {
71
+ (0, _inherits3.default)(CellStatus, _React$Component);
68
72
 
69
73
  function CellStatus() {
70
74
  (0, _classCallCheck3.default)(this, CellStatus);
@@ -72,6 +76,11 @@ var CellStatus = function (_React$PureComponent) {
72
76
  }
73
77
 
74
78
  (0, _createClass3.default)(CellStatus, [{
79
+ key: 'shouldComponentUpdate',
80
+ value: function shouldComponentUpdate(nextProps, nextState) {
81
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
82
+ }
83
+ }, {
75
84
  key: 'render',
76
85
  value: function render() {
77
86
  var _props = this.props,
@@ -106,7 +115,7 @@ var CellStatus = function (_React$PureComponent) {
106
115
  }
107
116
  }]);
108
117
  return CellStatus;
109
- }(_react2.default.PureComponent);
118
+ }(_react2.default.Component);
110
119
 
111
120
  CellStatus.defaultProps = {
112
121
  nbOperations: 0
@@ -9,6 +9,10 @@ var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
9
 
10
10
  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
11
 
12
+ var _stringify = require('babel-runtime/core-js/json/stringify');
13
+
14
+ var _stringify2 = _interopRequireDefault(_stringify);
15
+
12
16
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
17
 
14
18
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -49,36 +53,39 @@ var _constants = require('../constants');
49
53
 
50
54
  var cst = _interopRequireWildcard(_constants);
51
55
 
56
+ var _HiColoredLabel = require('../../HiColoredLabel');
57
+
58
+ var _HiColoredLabel2 = _interopRequireDefault(_HiColoredLabel);
59
+
60
+ var _colorManipulator = require('../../styles/colorManipulator');
61
+
52
62
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
53
63
 
54
64
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
55
65
 
56
- var styles = exports.styles = function styles(theme) {
57
- return {
58
- leftEllipsisSpan: {
59
- display: 'inline-block',
60
- overflow: 'hidden',
61
- textOverflow: 'ellipsis',
62
- whiteSpace: 'pre',
63
- direction: 'rtl'
64
- },
65
- rightEllipsisSpan: {
66
- display: 'inline-block',
67
- overflow: 'hidden',
68
- textOverflow: 'ellipsis',
69
- whiteSpace: 'pre',
70
- width: '100%'
71
- },
72
- noEllipsisSpan: {
73
- display: 'inline-block',
74
- overflow: 'hidden',
75
- whiteSpace: 'pre'
76
- }
77
- };
66
+ var styles = exports.styles = {
67
+ leftEllipsisSpan: {
68
+ display: 'inline-block',
69
+ overflow: 'hidden',
70
+ textOverflow: 'ellipsis',
71
+ whiteSpace: 'pre',
72
+ direction: 'rtl'
73
+ },
74
+ rightEllipsisSpan: {
75
+ display: 'inline-block',
76
+ overflow: 'hidden',
77
+ textOverflow: 'ellipsis',
78
+ whiteSpace: 'pre'
79
+ },
80
+ noEllipsisSpan: {
81
+ display: 'inline-block',
82
+ overflow: 'hidden',
83
+ whiteSpace: 'pre'
84
+ }
78
85
  };
79
86
 
80
- var CellText = function (_React$PureComponent) {
81
- (0, _inherits3.default)(CellText, _React$PureComponent);
87
+ var CellText = function (_React$Component) {
88
+ (0, _inherits3.default)(CellText, _React$Component);
82
89
 
83
90
  function CellText(props) {
84
91
  (0, _classCallCheck3.default)(this, CellText);
@@ -102,6 +109,11 @@ var CellText = function (_React$PureComponent) {
102
109
  value: function componentDidMount() {
103
110
  this.buildEllipsis();
104
111
  }
112
+ }, {
113
+ key: 'shouldComponentUpdate',
114
+ value: function shouldComponentUpdate(nextProps, nextState) {
115
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
116
+ }
105
117
  }, {
106
118
  key: 'componentDidUpdate',
107
119
  value: function componentDidUpdate() {
@@ -134,8 +146,9 @@ var CellText = function (_React$PureComponent) {
134
146
 
135
147
  /**
136
148
  * Calcul l'espace pris par les 2 spans (les 2 moitiés du texte),
137
- * si ils dépassent la largeur de la cellule, diminue d'autant et proportionnellement chaque span
138
- * ajoute l'ellipse à gauche de la deuxième moitié du texte.
149
+ * si ils dépassent la largeur de la cellule :
150
+ * - diminue d'autant et proportionnellement chaque span
151
+ * - ajoute l'ellipse à gauche de la deuxième moitié du texte.
139
152
  */
140
153
  if (this.props.ellipsis === cst.ELLIPSIS_MIDDLE) {
141
154
  if (this.cellText !== null) {
@@ -165,7 +178,8 @@ var CellText = function (_React$PureComponent) {
165
178
  var _props = this.props,
166
179
  classes = _props.classes,
167
180
  value = _props.value,
168
- ellipsis = _props.ellipsis;
181
+ ellipsis = _props.ellipsis,
182
+ color = _props.color;
169
183
 
170
184
 
171
185
  var start = void 0,
@@ -185,9 +199,15 @@ var CellText = function (_React$PureComponent) {
185
199
  }
186
200
  valueElement = _react2.default.createElement(
187
201
  'div',
188
- { ref: function ref(div) {
202
+ {
203
+ ref: function ref(div) {
189
204
  _this2.cellText = div;
190
- } },
205
+ },
206
+ style: {
207
+ backgroundColor: color || 'inherit',
208
+ color: color ? (0, _colorManipulator.getContrastedTextColor)(color, '#4C4C4C', '#FFF') : 'inherit'
209
+ }
210
+ },
191
211
  _react2.default.createElement(
192
212
  'span',
193
213
  { className: classes.rightEllipsisSpan },
@@ -207,9 +227,15 @@ var CellText = function (_React$PureComponent) {
207
227
  end = valueString.substr(Math.round(valueString.length / 2));
208
228
  valueElement = _react2.default.createElement(
209
229
  'div',
210
- { ref: function ref(div) {
230
+ {
231
+ ref: function ref(div) {
211
232
  _this2.cellText = div;
212
- } },
233
+ },
234
+ style: {
235
+ backgroundColor: color || 'inherit',
236
+ color: color ? (0, _colorManipulator.getContrastedTextColor)(color, '#4C4C4C', '#FFF') : 'inherit'
237
+ }
238
+ },
213
239
  _react2.default.createElement(
214
240
  'span',
215
241
  { className: classes.noEllipsisSpan },
@@ -224,7 +250,11 @@ var CellText = function (_React$PureComponent) {
224
250
  break;
225
251
 
226
252
  case cst.ELLIPSIS_LEFT:
227
- valueElement = _react2.default.createElement(
253
+ valueElement = color ? _react2.default.createElement(_HiColoredLabel2.default, {
254
+ className: classes.leftEllipsisSpan,
255
+ label: valueString,
256
+ color: color
257
+ }) : _react2.default.createElement(
228
258
  'div',
229
259
  { className: classes.leftEllipsisSpan, style: { width: '100%' } },
230
260
  valueString
@@ -233,7 +263,11 @@ var CellText = function (_React$PureComponent) {
233
263
 
234
264
  case cst.ELLIPSIS_RIGHT:
235
265
  default:
236
- valueElement = _react2.default.createElement(
266
+ valueElement = color ? _react2.default.createElement(_HiColoredLabel2.default, {
267
+ className: classes.rightEllipsisSpan,
268
+ label: valueString,
269
+ color: color
270
+ }) : _react2.default.createElement(
237
271
  'div',
238
272
  { className: classes.rightEllipsisSpan, style: { width: '100%' } },
239
273
  valueString
@@ -249,7 +283,7 @@ var CellText = function (_React$PureComponent) {
249
283
  }
250
284
  }]);
251
285
  return CellText;
252
- }(_react2.default.PureComponent);
286
+ }(_react2.default.Component);
253
287
 
254
288
  CellText.propTypes = process.env.NODE_ENV !== "production" ? {
255
289
  /**
@@ -257,12 +291,16 @@ CellText.propTypes = process.env.NODE_ENV !== "production" ? {
257
291
  */
258
292
  classes: _propTypes2.default.object,
259
293
  /**
260
- * Valeur à afficher
294
+ * Couleur du text & du background
261
295
  */
262
- value: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]).isRequired,
296
+ color: _propTypes2.default.string,
263
297
  /**
264
298
  * Ellipsis
265
299
  */
266
- ellipsis: _propTypes2.default.oneOf(['left', 'right', 'middle', 'name', 'after-first-word'])
300
+ ellipsis: _propTypes2.default.oneOf(['left', 'right', 'middle', 'name', 'after-first-word']),
301
+ /**
302
+ * Valeur à afficher
303
+ */
304
+ value: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]).isRequired
267
305
  } : {};
268
306
  exports.default = (0, _withStyles2.default)(styles, { name: 'HmuiCellText' })(CellText);
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.styles = undefined;
7
7
 
8
+ var _stringify = require('babel-runtime/core-js/json/stringify');
9
+
10
+ var _stringify2 = _interopRequireDefault(_stringify);
11
+
8
12
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
9
13
 
10
14
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -58,8 +62,8 @@ var styles = exports.styles = {
58
62
  */
59
63
  // @inheritedComponent CellLayout
60
64
 
61
- var CellThirdPartySecurity = function (_React$PureComponent) {
62
- (0, _inherits3.default)(CellThirdPartySecurity, _React$PureComponent);
65
+ var CellThirdPartySecurity = function (_React$Component) {
66
+ (0, _inherits3.default)(CellThirdPartySecurity, _React$Component);
63
67
 
64
68
  function CellThirdPartySecurity() {
65
69
  (0, _classCallCheck3.default)(this, CellThirdPartySecurity);
@@ -67,6 +71,11 @@ var CellThirdPartySecurity = function (_React$PureComponent) {
67
71
  }
68
72
 
69
73
  (0, _createClass3.default)(CellThirdPartySecurity, [{
74
+ key: 'shouldComponentUpdate',
75
+ value: function shouldComponentUpdate(nextProps, nextState) {
76
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
77
+ }
78
+ }, {
70
79
  key: 'render',
71
80
  value: function render() {
72
81
  var _props = this.props,
@@ -133,7 +142,7 @@ var CellThirdPartySecurity = function (_React$PureComponent) {
133
142
  }
134
143
  }]);
135
144
  return CellThirdPartySecurity;
136
- }(_react2.default.PureComponent);
145
+ }(_react2.default.Component);
137
146
 
138
147
  CellThirdPartySecurity.propTypes = process.env.NODE_ENV !== "production" ? {
139
148
  /**
@@ -17,6 +17,10 @@ var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProp
17
17
 
18
18
  var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
19
19
 
20
+ var _stringify = require('babel-runtime/core-js/json/stringify');
21
+
22
+ var _stringify2 = _interopRequireDefault(_stringify);
23
+
20
24
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
21
25
 
22
26
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -104,8 +108,8 @@ var styles = exports.styles = function styles(theme) {
104
108
  };
105
109
  };
106
110
 
107
- var BodyRow = function (_React$PureComponent) {
108
- (0, _inherits3.default)(BodyRow, _React$PureComponent);
111
+ var BodyRow = function (_React$Component) {
112
+ (0, _inherits3.default)(BodyRow, _React$Component);
109
113
 
110
114
  function BodyRow(props) {
111
115
  (0, _classCallCheck3.default)(this, BodyRow);
@@ -133,6 +137,11 @@ var BodyRow = function (_React$PureComponent) {
133
137
  }
134
138
 
135
139
  (0, _createClass3.default)(BodyRow, [{
140
+ key: 'shouldComponentUpdate',
141
+ value: function shouldComponentUpdate(nextProps, nextState) {
142
+ return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
143
+ }
144
+ }, {
136
145
  key: 'componentDidMount',
137
146
  value: function componentDidMount() {
138
147
  // Live data animation
@@ -337,7 +346,7 @@ var BodyRow = function (_React$PureComponent) {
337
346
  }
338
347
  }]);
339
348
  return BodyRow;
340
- }(_react2.default.PureComponent);
349
+ }(_react2.default.Component);
341
350
 
342
351
  BodyRow.defaultProps = {
343
352
  selectable: false,
@@ -95,9 +95,6 @@ var styles = exports.styles = function styles(theme) {
95
95
  padding: 10,
96
96
  color: theme.palette.neutral.normal
97
97
  },
98
- menuItemSortable: {
99
- paddingLeft: 8
100
- },
101
98
  menuItemFilter: (0, _extends3.default)({}, theme.typography.body1, {
102
99
  color: theme.palette.neutral.dark,
103
100
  fontWeight: theme.typography.fontWeightMedium,
@@ -299,7 +296,7 @@ var ColumnFilter = function (_React$Component) {
299
296
  ),
300
297
  !!sortable && _react2.default.createElement(
301
298
  'div',
302
- { className: classes.menuItemSortable },
299
+ null,
303
300
  _react2.default.createElement(
304
301
  _MenuItem2.default,
305
302
  {
@@ -9,6 +9,10 @@ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
9
 
10
10
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
11
 
12
+ var _stringify = require('babel-runtime/core-js/json/stringify');
13
+
14
+ var _stringify2 = _interopRequireDefault(_stringify);
15
+
12
16
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
17
 
14
18
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -150,21 +154,22 @@ var styles = exports.styles = function styles(theme) {
150
154
  * Construit une cellule d'entête avec le titre, clickable, triable et filtrable
151
155
  */
152
156
 
153
- var HeaderCell = function (_React$PureComponent) {
154
- (0, _inherits3.default)(HeaderCell, _React$PureComponent);
157
+ var HeaderCell = function (_React$Component) {
158
+ (0, _inherits3.default)(HeaderCell, _React$Component);
155
159
 
156
160
  function HeaderCell(props) {
157
161
  (0, _classCallCheck3.default)(this, HeaderCell);
158
162
 
159
163
  var _this = (0, _possibleConstructorReturn3.default)(this, (HeaderCell.__proto__ || (0, _getPrototypeOf2.default)(HeaderCell)).call(this, props));
160
164
 
165
+ _this.anchorEl = null;
166
+
161
167
  _this.onFilterClick = function (event, columnDataset) {
162
168
  _this.openFilterMenu(event, columnDataset);
163
169
  };
164
170
 
165
171
  _this.state = {
166
172
  filterOpen: false,
167
- anchorEl: null,
168
173
  menuFilters: []
169
174
  };
170
175
 
@@ -177,18 +182,24 @@ var HeaderCell = function (_React$PureComponent) {
177
182
  }
178
183
 
179
184
  (0, _createClass3.default)(HeaderCell, [{
185
+ key: 'shouldComponentUpdate',
186
+ value: function shouldComponentUpdate(nextProps, nextState) {
187
+ return (0, _stringify2.default)(nextProps) !== (0, _stringify2.default)(this.props) || (0, _stringify2.default)(nextState) !== (0, _stringify2.default)(this.state);
188
+ }
189
+ }, {
180
190
  key: 'openFilterMenu',
181
191
  value: function openFilterMenu(event, columnDataset) {
182
192
  this.setState({
183
193
  filterOpen: true,
184
- anchorEl: event.currentTarget,
185
194
  menuFilters: columnDataset
186
195
  });
196
+ this.anchorEl = event.currentTarget;
187
197
  }
188
198
  }, {
189
199
  key: 'handleClose',
190
200
  value: function handleClose() {
191
- this.setState({ filterOpen: false, anchorEl: null, menuFilters: [] });
201
+ this.setState({ filterOpen: false, menuFilters: [] });
202
+ this.anchorEl = null;
192
203
  }
193
204
 
194
205
  /**
@@ -236,7 +247,6 @@ var HeaderCell = function (_React$PureComponent) {
236
247
  translations = _props.translations;
237
248
  var _state = this.state,
238
249
  filterOpen = _state.filterOpen,
239
- anchorEl = _state.anchorEl,
240
250
  menuFilters = _state.menuFilters;
241
251
 
242
252
 
@@ -318,7 +328,6 @@ var HeaderCell = function (_React$PureComponent) {
318
328
  _filterable ? _this2.onFilterClick(event, filterSource) : _this2.handleSort(sortDirection === 'asc' ? 'desc' : 'asc');
319
329
  }
320
330
  },
321
- align === 'right' && _icons,
322
331
  _react2.default.createElement(
323
332
  'span',
324
333
  {
@@ -326,7 +335,7 @@ var HeaderCell = function (_React$PureComponent) {
326
335
  },
327
336
  view !== 's' ? title : smallTitle || title
328
337
  ),
329
- align !== 'right' && _icons
338
+ _icons
330
339
  ) : _react2.default.createElement(
331
340
  'div',
332
341
  {
@@ -353,7 +362,7 @@ var HeaderCell = function (_React$PureComponent) {
353
362
  filterValueList: menuFilters,
354
363
  isOpen: filterOpen,
355
364
  onClose: this.handleClose,
356
- anchorEl: anchorEl,
365
+ anchorEl: this.anchorEl,
357
366
  sortable: sortable,
358
367
  onSort: this.handleSort,
359
368
  onFilterChange: this.handleFilterChange,
@@ -363,7 +372,7 @@ var HeaderCell = function (_React$PureComponent) {
363
372
  }
364
373
  }]);
365
374
  return HeaderCell;
366
- }(_react2.default.PureComponent);
375
+ }(_react2.default.Component);
367
376
 
368
377
  HeaderCell.defaultProps = {
369
378
  selectable: false,
@@ -375,7 +384,8 @@ HeaderCell.defaultProps = {
375
384
  dense: false,
376
385
  fixedColumnWidth: true,
377
386
  sticky: true,
378
- padding: 8
387
+ padding: 8,
388
+ translations: {}
379
389
  };
380
390
  HeaderCell.propTypes = process.env.NODE_ENV !== "production" ? {
381
391
  /**