@hipay/hipay-material-ui 1.0.0-beta.25 → 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.
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
  */