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

Sign up to get free protection for your applications and to get access to all the features.
package/HI-CHANGELOG.md CHANGED
@@ -1,3 +1,39 @@
1
+ <a name="1.0.0-beta.26"></a>
2
+ # 1.0.0-beta.26 (2018-08-24)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **BodyRow:** add locale vars to child BodyRow ([9252382](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9252382))
8
+ * **CellDate:** Handle date with moment & use prop format ([7fa8bf5](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7fa8bf5))
9
+ * **HeaderCell:** set sort icons always on the right of the title ([0704619](https://gitlab.hipay.org/backend/hipay-material-ui/commit/0704619))
10
+ * **HiDateRangePicker:** Keep focus on change dateTo if user types directly into the input to see date selection into calendar ([e998c60](https://gitlab.hipay.org/backend/hipay-material-ui/commit/e998c60))
11
+ * **HiDateRangePicker:** Reset date range picker input to ([b1a66f3](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b1a66f3))
12
+ * **HiDateRangeSelector:** UPD select value from parent component (defaultPreset property) ([90bb994](https://gitlab.hipay.org/backend/hipay-material-ui/commit/90bb994))
13
+ * **HiInput:** Keep focus on reset HiInput ([a84edab](https://gitlab.hipay.org/backend/hipay-material-ui/commit/a84edab))
14
+ * **HiPins:** Add theme business primary color as default background color for HiPins and fix line-height ([23aa2d9](https://gitlab.hipay.org/backend/hipay-material-ui/commit/23aa2d9))
15
+ * **HiSelect:** add dynamic prop to handle dynamic select with initial options ([c668b90](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c668b90))
16
+ * **HiSelect:** Display option label instead of all for selects with 1 option ([e47574a](https://gitlab.hipay.org/backend/hipay-material-ui/commit/e47574a))
17
+ * **HiSelect:** Don't try to display unique selected options item when still loading ([116a72a](https://gitlab.hipay.org/backend/hipay-material-ui/commit/116a72a))
18
+ * **HiSelect:** Enable to handle hierarchic padding via options prop level ([dc4e5d8](https://gitlab.hipay.org/backend/hipay-material-ui/commit/dc4e5d8))
19
+ * **HiSelect:** Handle unique and undefined selected item ([8dbb542](https://gitlab.hipay.org/backend/hipay-material-ui/commit/8dbb542))
20
+ * **HiSelectableList:** item displayed only if item.displayed != false ([e65b865](https://gitlab.hipay.org/backend/hipay-material-ui/commit/e65b865))
21
+ * **HiTable:** Add default translations object to HeaderCell ([4ed766f](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4ed766f))
22
+ * **HiTable:** Performance optimization ([3ca60d3](https://gitlab.hipay.org/backend/hipay-material-ui/commit/3ca60d3))
23
+ * **HiTable:** remove anchorEls from state to remove circular structure in JSON compares ([c064ce9](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c064ce9))
24
+ * **SelectInput:** selected choice label not overflowing on right arrow of HiSelect ([a7d7058](https://gitlab.hipay.org/backend/hipay-material-ui/commit/a7d7058))
25
+
26
+
27
+ ### Features
28
+
29
+ * **CellText:** add color props ([ff2bba8](https://gitlab.hipay.org/backend/hipay-material-ui/commit/ff2bba8))
30
+ * **HiChip:** enable to display tooltip on HiChip via the prop 'title' ([6b15ca6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/6b15ca6))
31
+ * **HiDateRangePicker:** Add onBlur prop function to handle date errors properly ([df79494](https://gitlab.hipay.org/backend/hipay-material-ui/commit/df79494))
32
+ * **HiTableContextMenu:** handle hide lookup/exclude menu item for each column ([03e00cb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/03e00cb))
33
+ * **workflow:** Add HI-CHANGELOG generation from commits ([edee0f6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/edee0f6))
34
+
35
+
36
+
1
37
  <a name="1.0.0-beta.25"></a>
2
38
  # 1.0.0-beta.25 (2018-08-16)
3
39
 
package/HiChip/HiChip.js CHANGED
@@ -132,6 +132,7 @@ function HiChip(props) {
132
132
  onDelete = props.onDelete,
133
133
  prefix = props.prefix,
134
134
  onIconClick = props.onIconClick,
135
+ title = props.title,
135
136
  titleDelete = props.titleDelete,
136
137
  titleIcon = props.titleIcon,
137
138
  titleImg = props.titleImg,
@@ -143,7 +144,8 @@ function HiChip(props) {
143
144
  'div',
144
145
  {
145
146
  id: id,
146
- className: (0, _classnames2.default)(classes.root, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.leftNavigation, onPrevious), (0, _defineProperty3.default)(_classNames, classes.rightNavigation, onNext), (0, _defineProperty3.default)(_classNames, classes.deletable, onDelete), (0, _defineProperty3.default)(_classNames, classes.leftIccon, icon), _classNames))
147
+ className: (0, _classnames2.default)(classes.root, (_classNames = {}, (0, _defineProperty3.default)(_classNames, classes.leftNavigation, onPrevious), (0, _defineProperty3.default)(_classNames, classes.rightNavigation, onNext), (0, _defineProperty3.default)(_classNames, classes.deletable, onDelete), (0, _defineProperty3.default)(_classNames, classes.leftIccon, icon), _classNames)),
148
+ title: title
147
149
  },
148
150
  prefix && _react2.default.createElement(
149
151
  'span',
@@ -157,14 +159,14 @@ function HiChip(props) {
157
159
  icon: icon,
158
160
  size: 16,
159
161
  onClick: onIconClick,
160
- titleAccess: titleIcon
162
+ title: titleIcon
161
163
  }),
162
164
  onPrevious && _react2.default.createElement(_HiIconBuilder2.default, {
163
165
  className: (0, _classnames2.default)(classes.navigate),
164
166
  icon: 'menuLeft',
165
167
  onClick: onPrevious,
166
168
  size: 16,
167
- titleAccess: titlePrevious
169
+ title: titlePrevious
168
170
  }),
169
171
  _react2.default.createElement(
170
172
  'span',
@@ -176,14 +178,14 @@ function HiChip(props) {
176
178
  icon: 'menuRight',
177
179
  onClick: onNext,
178
180
  size: 16,
179
- titleAccess: titleNext
181
+ title: titleNext
180
182
  }),
181
183
  onDelete && _react2.default.createElement(_HiIconBuilder2.default, {
182
184
  classes: { root: classes.eraseIcon },
183
185
  icon: 'closeCircle',
184
186
  onClick: onDelete,
185
187
  size: 16,
186
- titleAccess: titleDelete
188
+ title: titleDelete
187
189
  })
188
190
  );
189
191
  }
@@ -229,6 +231,10 @@ HiChip.propTypes = process.env.NODE_ENV !== "production" ? {
229
231
  * Préfixe dans le HiChip
230
232
  */
231
233
  prefix: _propTypes2.default.string,
234
+ /**
235
+ * Titre du chip
236
+ */
237
+ title: _propTypes2.default.string,
232
238
  /**
233
239
  * Titre de l'icône supprimer
234
240
  */
@@ -162,7 +162,7 @@ var HiSelect = function (_React$PureComponent) {
162
162
  hierarchySelected: {},
163
163
  hierarchy: {},
164
164
  nbOptions: 0,
165
- dynamic: false
165
+ dynamic: props.dynamic || false
166
166
  };
167
167
 
168
168
  // Check if value is in options
@@ -205,7 +205,7 @@ var HiSelect = function (_React$PureComponent) {
205
205
  }
206
206
  });
207
207
  _this.state.nbOptions = optionsLength;
208
- } else {
208
+ } else if (!props.dynamic) {
209
209
  _this.state.dynamic = true;
210
210
  }
211
211
 
@@ -345,29 +345,28 @@ var HiSelect = function (_React$PureComponent) {
345
345
  }
346
346
 
347
347
  if ((dynamic || loading) && selectedIdList.length === 1) {
348
- display = translations.one_item_selected.replace('%s', selectedIdList.length);
348
+ display = translations.one_item_selected;
349
349
  } else if ((this.state.nbOptions !== selectedIdList.length || !hasAll) && selectedIdList.length > 1) {
350
350
  display = translations.n_items_selected.replace('%s', selectedIdList.length);
351
351
  } else if (this.state.nbOptions === selectedIdList.length && this.state.nbOptions > 1) {
352
352
  display = translations.all;
353
353
  } else if (selectedIdList.length === 1) {
354
- if (type !== 'icon') {
355
- var item = options.find(function (o) {
356
- return o.id === selectedIdList[0];
357
- });
358
- if (!item && pinnedItem) {
354
+ var item = options.find(function (o) {
355
+ return o.id === selectedIdList[0];
356
+ });
357
+ if (item === undefined) {
358
+ display = translations.one_item_selected;
359
+ } else if (type !== 'icon') {
360
+ if (pinnedItem) {
359
361
  item = pinnedItem;
360
362
  }
361
363
  display = item.label;
362
364
  } else {
363
- var optionSelected = options.find(function (o) {
364
- return o.id === selectedIdList[0];
365
- });
366
365
  display = _react2.default.createElement(
367
366
  'span',
368
367
  { className: classes.selectIconLabel },
369
- _react2.default.createElement(_HiIconBuilder2.default, { icon: optionSelected.icon, className: classes.labelIcon }),
370
- optionSelected.label
368
+ _react2.default.createElement(_HiIconBuilder2.default, { icon: item.icon, className: classes.labelIcon }),
369
+ item.label
371
370
  );
372
371
  }
373
372
  }
@@ -501,6 +500,7 @@ HiSelect.defaultProps = {
501
500
  hierarchic: false,
502
501
  parentItemSelectable: false,
503
502
  displayAsChip: false,
503
+ dynamic: false,
504
504
  icon: _react2.default.createElement(_mdiMaterialUi.CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
505
505
  parentIcon: _react2.default.createElement(_mdiMaterialUi.CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
506
506
  hoverIcon: _react2.default.createElement(_mdiMaterialUi.CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
@@ -743,9 +743,9 @@ var _initialiseProps = function _initialiseProps() {
743
743
  }
744
744
  }
745
745
  _this3.setState({ hierarchySelected: hiSelected });
746
- onChange(event, valueList);
746
+ onChange(event, valueList, item);
747
747
  } else {
748
- onChange(event, item.id);
748
+ onChange(event, item.id, item);
749
749
  _this3.handleClose();
750
750
  }
751
751
  };
@@ -820,6 +820,12 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
820
820
  * Option permettant d'afficher les sélection sous forme de Chip.
821
821
  */
822
822
  displayAsChip: _propTypes2.default.bool,
823
+ /**
824
+ * Option permettant de définir si les options du select sont dynamiques.
825
+ * Si les options du select sont initialisées à vide, alors ce sera mis à true
826
+ * automatiquement.
827
+ */
828
+ dynamic: _propTypes2.default.bool.isRequired,
823
829
  /**
824
830
  * Applique le style error
825
831
  */
@@ -163,7 +163,7 @@ var HiSelectableList = function (_React$PureComponent) {
163
163
  hoverIcon: hoverIcon,
164
164
  checkedIcon: checkedIcon,
165
165
  checkbox: checkbox,
166
- level: parents.length,
166
+ level: item.level ? item.level : parents.length,
167
167
  disabled: disabledIds ? disabledIds.includes(item.id) : false
168
168
  }, others));
169
169
  }
@@ -398,7 +398,7 @@ var HiSelectableListItem = function (_React$Component) {
398
398
 
399
399
  if (leftPadding) {
400
400
  paddingLeft = leftPadding;
401
- } else if (!hierarchic) {
401
+ } else if (!hierarchic && level === 0) {
402
402
  // Si pas de hiérarchie et sans checkbox, padding de 8px
403
403
  if (!effectiveCheckbox) {
404
404
  paddingLeft = 8;
@@ -415,9 +415,9 @@ var HiSelectableListItem = function (_React$Component) {
415
415
  }
416
416
  } else if (level > 0) {
417
417
  if (effectiveCheckbox) {
418
- paddingLeft = 16 * (level - 1);
419
- } else {
420
418
  paddingLeft = 16 * level;
419
+ } else {
420
+ paddingLeft = 16 * (level + 1);
421
421
  }
422
422
  } else if (!effectiveCheckbox) {
423
423
  if (item.id === '_all') {
@@ -299,10 +299,11 @@ var BodyCellBuilder = function (_React$Component) {
299
299
  default:
300
300
  cellElement = _react2.default.createElement(_BodyCells.CellText, {
301
301
  ukey: ukey,
302
- value: data.value,
302
+ value: data.label ? data.label : data.value,
303
303
  ellipsis: ellipsis,
304
304
  view: view,
305
- sticky: sticky
305
+ sticky: sticky,
306
+ color: data.color
306
307
  });
307
308
  break;
308
309
  }
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.styles = undefined;
7
6
 
8
7
  var _stringify = require('babel-runtime/core-js/json/stringify');
9
8
 
@@ -45,21 +44,11 @@ var _HiColoredLabel = require('../../HiColoredLabel');
45
44
 
46
45
  var _HiColoredLabel2 = _interopRequireDefault(_HiColoredLabel);
47
46
 
48
- var _withStyles = require('../../styles/withStyles');
49
-
50
- var _withStyles2 = _interopRequireDefault(_withStyles);
51
-
52
47
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53
48
 
54
- var styles = exports.styles = function styles(theme) {
55
- return {};
56
- };
57
-
58
49
  /**
59
50
  * Cette cellule permet d'afficher le nom d'un compte sous la forme d'un label coloré.
60
51
  */
61
-
62
-
63
52
  var CellAccount = function (_React$Component) {
64
53
  (0, _inherits3.default)(CellAccount, _React$Component);
65
54
 
@@ -106,4 +95,4 @@ CellAccount.propTypes = process.env.NODE_ENV !== "production" ? {
106
95
  */
107
96
  value: _propTypes2.default.string.isRequired
108
97
  } : {};
109
- exports.default = (0, _withStyles2.default)(styles, { name: 'HmuiCellAccount' })(CellAccount);
98
+ exports.default = CellAccount;
@@ -59,16 +59,14 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
59
59
 
60
60
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
61
61
 
62
- var styles = exports.styles = function styles(theme) {
63
- return {
64
- rightEllipsisSpan: {
65
- display: 'inline-block',
66
- overflow: 'hidden',
67
- textOverflow: 'ellipsis',
68
- whiteSpace: 'pre',
69
- width: '100%'
70
- }
71
- };
62
+ var styles = exports.styles = {
63
+ rightEllipsisSpan: {
64
+ display: 'inline-block',
65
+ overflow: 'hidden',
66
+ textOverflow: 'ellipsis',
67
+ whiteSpace: 'pre',
68
+ width: '100%'
69
+ }
72
70
  };
73
71
 
74
72
  /**
@@ -110,9 +108,9 @@ var CellDate = function (_React$Component) {
110
108
 
111
109
 
112
110
  var date = (0, _moment2.default)(value);
113
- _moment2.default.locale(locale);
111
+ date.locale(locale);
114
112
 
115
- var titleValue = displayTime ? date.format(this.formatLong) : date.format(this.formatLong.replace('HH:mm:ss', ''));
113
+ var titleValue = displayTime ? date.format(this.formatLong) : date.format(this.formatLong.replace(' HH:mm:ss', ''));
116
114
  var displayedValue = titleValue;
117
115
  if (view === cst.VIEWS.SMALL) {
118
116
  displayedValue = displayTime ? date.format(formatShort.replace('YYYY', 'YY') + ' HH:mm:ss') : date.format(formatShort.replace('YYYY', 'YY'));
@@ -166,6 +164,11 @@ CellDate.propTypes = process.env.NODE_ENV !== "production" ? {
166
164
  * Locale moment
167
165
  */
168
166
  locale: _propTypes2.default.string,
167
+ /**
168
+ * True si la colonne est la première colonne et
169
+ * doit avoir un comportement "sticky" lors du scroll horizontal
170
+ */
171
+ sticky: _propTypes2.default.bool,
169
172
  /**
170
173
  * Date as string
171
174
  */
@@ -9,26 +9,26 @@ var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
9
9
 
10
10
  var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
11
11
 
12
- var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
13
-
14
- var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
15
-
16
12
  var _stringify = require('babel-runtime/core-js/json/stringify');
17
13
 
18
14
  var _stringify2 = _interopRequireDefault(_stringify);
19
15
 
20
- var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
16
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
21
17
 
22
- var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
18
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
23
19
 
24
- var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
20
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
25
21
 
26
- var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
22
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
27
23
 
28
24
  var _createClass2 = require('babel-runtime/helpers/createClass');
29
25
 
30
26
  var _createClass3 = _interopRequireDefault(_createClass2);
31
27
 
28
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
29
+
30
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
31
+
32
32
  var _inherits2 = require('babel-runtime/helpers/inherits');
33
33
 
34
34
  var _inherits3 = _interopRequireDefault(_inherits2);
@@ -53,42 +53,39 @@ var _constants = require('../constants');
53
53
 
54
54
  var cst = _interopRequireWildcard(_constants);
55
55
 
56
+ var _HiColoredLabel = require('../../HiColoredLabel');
57
+
58
+ var _HiColoredLabel2 = _interopRequireDefault(_HiColoredLabel);
59
+
60
+ var _colorManipulator = require('../../styles/colorManipulator');
61
+
56
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; } }
57
63
 
58
64
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
59
65
 
60
- var styles = exports.styles = function styles(theme) {
61
- return {
62
- leftEllipsisSpan: {
63
- display: 'inline-block',
64
- overflow: 'hidden',
65
- textOverflow: 'ellipsis',
66
- whiteSpace: 'pre',
67
- direction: 'rtl'
68
- },
69
- rightEllipsisSpan: {
70
- display: 'inline-block',
71
- overflow: 'hidden',
72
- textOverflow: 'ellipsis',
73
- whiteSpace: 'pre',
74
- width: '100%'
75
- },
76
- noEllipsisSpan: {
77
- display: 'inline-block',
78
- overflow: 'hidden',
79
- whiteSpace: 'pre'
80
- }
81
- };
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
+ }
82
85
  };
83
86
 
84
87
  var CellText = function (_React$Component) {
85
88
  (0, _inherits3.default)(CellText, _React$Component);
86
- (0, _createClass3.default)(CellText, [{
87
- key: 'shouldComponentUpdate',
88
- value: function shouldComponentUpdate(nextProps, nextState) {
89
- return (0, _stringify2.default)(this.props) !== (0, _stringify2.default)(nextProps) || (0, _stringify2.default)(this.state) !== (0, _stringify2.default)(nextState);
90
- }
91
- }]);
92
89
 
93
90
  function CellText(props) {
94
91
  (0, _classCallCheck3.default)(this, CellText);
@@ -112,6 +109,11 @@ var CellText = function (_React$Component) {
112
109
  value: function componentDidMount() {
113
110
  this.buildEllipsis();
114
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
+ }
115
117
  }, {
116
118
  key: 'componentDidUpdate',
117
119
  value: function componentDidUpdate() {
@@ -144,8 +146,9 @@ var CellText = function (_React$Component) {
144
146
 
145
147
  /**
146
148
  * Calcul l'espace pris par les 2 spans (les 2 moitiés du texte),
147
- * si ils dépassent la largeur de la cellule, diminue d'autant et proportionnellement chaque span
148
- * 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.
149
152
  */
150
153
  if (this.props.ellipsis === cst.ELLIPSIS_MIDDLE) {
151
154
  if (this.cellText !== null) {
@@ -175,7 +178,8 @@ var CellText = function (_React$Component) {
175
178
  var _props = this.props,
176
179
  classes = _props.classes,
177
180
  value = _props.value,
178
- ellipsis = _props.ellipsis;
181
+ ellipsis = _props.ellipsis,
182
+ color = _props.color;
179
183
 
180
184
 
181
185
  var start = void 0,
@@ -195,9 +199,15 @@ var CellText = function (_React$Component) {
195
199
  }
196
200
  valueElement = _react2.default.createElement(
197
201
  'div',
198
- { ref: function ref(div) {
202
+ {
203
+ ref: function ref(div) {
199
204
  _this2.cellText = div;
200
- } },
205
+ },
206
+ style: {
207
+ backgroundColor: color || 'inherit',
208
+ color: color ? (0, _colorManipulator.getContrastedTextColor)(color, '#4C4C4C', '#FFF') : 'inherit'
209
+ }
210
+ },
201
211
  _react2.default.createElement(
202
212
  'span',
203
213
  { className: classes.rightEllipsisSpan },
@@ -217,9 +227,15 @@ var CellText = function (_React$Component) {
217
227
  end = valueString.substr(Math.round(valueString.length / 2));
218
228
  valueElement = _react2.default.createElement(
219
229
  'div',
220
- { ref: function ref(div) {
230
+ {
231
+ ref: function ref(div) {
221
232
  _this2.cellText = div;
222
- } },
233
+ },
234
+ style: {
235
+ backgroundColor: color || 'inherit',
236
+ color: color ? (0, _colorManipulator.getContrastedTextColor)(color, '#4C4C4C', '#FFF') : 'inherit'
237
+ }
238
+ },
223
239
  _react2.default.createElement(
224
240
  'span',
225
241
  { className: classes.noEllipsisSpan },
@@ -234,7 +250,11 @@ var CellText = function (_React$Component) {
234
250
  break;
235
251
 
236
252
  case cst.ELLIPSIS_LEFT:
237
- 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(
238
258
  'div',
239
259
  { className: classes.leftEllipsisSpan, style: { width: '100%' } },
240
260
  valueString
@@ -243,7 +263,11 @@ var CellText = function (_React$Component) {
243
263
 
244
264
  case cst.ELLIPSIS_RIGHT:
245
265
  default:
246
- 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(
247
271
  'div',
248
272
  { className: classes.rightEllipsisSpan, style: { width: '100%' } },
249
273
  valueString
@@ -267,12 +291,16 @@ CellText.propTypes = process.env.NODE_ENV !== "production" ? {
267
291
  */
268
292
  classes: _propTypes2.default.object,
269
293
  /**
270
- * Valeur à afficher
294
+ * Couleur du text & du background
271
295
  */
272
- value: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]).isRequired,
296
+ color: _propTypes2.default.string,
273
297
  /**
274
298
  * Ellipsis
275
299
  */
276
- 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
277
305
  } : {};
278
306
  exports.default = (0, _withStyles2.default)(styles, { name: 'HmuiCellText' })(CellText);
@@ -133,8 +133,8 @@ var styles = exports.styles = function styles(theme) {
133
133
 
134
134
  var ONCHANGE_ERROR_MESSAGE = exports.ONCHANGE_ERROR_MESSAGE = 'Vous devez saisir la propriété "onChange" pour les lignes "selectable"';
135
135
 
136
- var HiStickyRow = function (_React$PureComponent) {
137
- (0, _inherits3.default)(HiStickyRow, _React$PureComponent);
136
+ var HiStickyRow = function (_React$Component) {
137
+ (0, _inherits3.default)(HiStickyRow, _React$Component);
138
138
 
139
139
  function HiStickyRow() {
140
140
  (0, _classCallCheck3.default)(this, HiStickyRow);
@@ -241,7 +241,7 @@ var HiStickyRow = function (_React$PureComponent) {
241
241
  }
242
242
  }]);
243
243
  return HiStickyRow;
244
- }(_react2.default.PureComponent);
244
+ }(_react2.default.Component);
245
245
 
246
246
  HiStickyRow.defaultProps = {
247
247
  dense: false,
package/README.md CHANGED
@@ -224,13 +224,14 @@ Le projet est publié sur un repo privé npm : https://www.npmjs.com/package/@hi
224
224
  Avoir installé [conventional-changelog-cli](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-cli) pour générer le CHANGELOG à partir des commits git.
225
225
  ```sh
226
226
  npm install -g conventional-changelog-cli
227
+ npm install -g cz-conventional-changelog
227
228
  ```
228
229
 
229
230
  1. Changer la version dans package.json
230
231
  2. Générer le fichier HI-CHANGELOG.md : ```npm run changelog```
231
232
  3. Commiter la release : ```git ci -am "chore(release): VERSION DATE```
232
233
  4. Build : ```npm run build```
233
- 5. Publish :
234
+ 5. Publish :
234
235
 
235
236
  ```sh
236
237
  cd build
@@ -99,6 +99,7 @@ function HiChip(props) {
99
99
  onDelete,
100
100
  prefix,
101
101
  onIconClick,
102
+ title,
102
103
  titleDelete,
103
104
  titleIcon,
104
105
  titleImg,
@@ -115,7 +116,8 @@ function HiChip(props) {
115
116
  [classes.rightNavigation]: onNext,
116
117
  [classes.deletable]: onDelete,
117
118
  [classes.leftIccon]: icon
118
- })
119
+ }),
120
+ title: title
119
121
  },
120
122
  prefix && React.createElement(
121
123
  'span',
@@ -131,14 +133,14 @@ function HiChip(props) {
131
133
  icon: icon,
132
134
  size: 16,
133
135
  onClick: onIconClick,
134
- titleAccess: titleIcon
136
+ title: titleIcon
135
137
  }),
136
138
  onPrevious && React.createElement(HiIconBuilder, {
137
139
  className: classNames(classes.navigate),
138
140
  icon: 'menuLeft',
139
141
  onClick: onPrevious,
140
142
  size: 16,
141
- titleAccess: titlePrevious
143
+ title: titlePrevious
142
144
  }),
143
145
  React.createElement(
144
146
  'span',
@@ -150,14 +152,14 @@ function HiChip(props) {
150
152
  icon: 'menuRight',
151
153
  onClick: onNext,
152
154
  size: 16,
153
- titleAccess: titleNext
155
+ title: titleNext
154
156
  }),
155
157
  onDelete && React.createElement(HiIconBuilder, {
156
158
  classes: { root: classes.eraseIcon },
157
159
  icon: 'closeCircle',
158
160
  onClick: onDelete,
159
161
  size: 16,
160
- titleAccess: titleDelete
162
+ title: titleDelete
161
163
  })
162
164
  );
163
165
  }
@@ -203,6 +205,10 @@ HiChip.propTypes = process.env.NODE_ENV !== "production" ? {
203
205
  * Préfixe dans le HiChip
204
206
  */
205
207
  prefix: PropTypes.string,
208
+ /**
209
+ * Titre du chip
210
+ */
211
+ title: PropTypes.string,
206
212
  /**
207
213
  * Titre de l'icône supprimer
208
214
  */