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

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.
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
  /**