@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
package/HI-CHANGELOG.md CHANGED
@@ -1,58 +1,77 @@
1
- ## HEAD
1
+ <a name="1.0.0-beta.26"></a>
2
+ # 1.0.0-beta.26 (2018-08-24)
2
3
 
3
- Changes. Changes everywhere!
4
4
 
5
- ## 1.0.0-beta.10
6
- ###### *17 mai 2018*
5
+ ### Bug Fixes
7
6
 
8
- - Correction du HiSelect
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))
9
25
 
10
- ### Breaking change
11
26
 
12
- - N/A
27
+ ### Features
13
28
 
14
- #### Component Fixes / Enhancements
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))
15
34
 
16
- - [HiSelect] Ajout d'un param staticPosition dans le HiSelect pour afficher dans une div plutot qu'une popper
17
- - [HiSelect] Fermeture du select au click sur le bouton
18
- - [SelectInput] cursor pointer si noButton
19
- - [HiDateRangeSelector] Suppression du last 24h
20
35
 
21
- ## 1.0.0-beta.4
22
- ###### *06 avril 2018*
23
36
 
24
- - Corrections de styles sur quelques composants
25
- - Fix sur le composant HiSelect avec une value vide
37
+ <a name="1.0.0-beta.25"></a>
38
+ # 1.0.0-beta.25 (2018-08-16)
26
39
 
27
- ### Breaking change
28
40
 
29
- - N/A
41
+ ### Bug Fixes
30
42
 
31
- #### Component Fixes / Enhancements
43
+ * **BodyRow:** add locale vars to child BodyRow ([9252382](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9252382))
44
+ * **CellDate:** Handle date with moment & use prop format ([7fa8bf5](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7fa8bf5))
45
+ * **HeaderCell:** set sort icons always on the right of the title ([0704619](https://gitlab.hipay.org/backend/hipay-material-ui/commit/0704619))
46
+ * **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))
47
+ * **HiDateRangePicker:** Reset date range picker input to ([b1a66f3](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b1a66f3))
48
+ * **HiDateRangeSelector:** UPD select value from parent component (defaultPreset property) ([90bb994](https://gitlab.hipay.org/backend/hipay-material-ui/commit/90bb994))
49
+ * **HiInput:** Keep focus on reset HiInput ([a84edab](https://gitlab.hipay.org/backend/hipay-material-ui/commit/a84edab))
50
+ * **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))
51
+ * **HiSelect:** Display option label instead of all for selects with 1 option ([e47574a](https://gitlab.hipay.org/backend/hipay-material-ui/commit/e47574a))
52
+ * **HiSelect:** Don't try to display unique selected options item when still loading ([116a72a](https://gitlab.hipay.org/backend/hipay-material-ui/commit/116a72a))
53
+ * **HiSelectableList:** item displayed only if item.displayed != false ([e65b865](https://gitlab.hipay.org/backend/hipay-material-ui/commit/e65b865))
54
+ * **HiTable:** Add default translations object to HeaderCell ([4ed766f](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4ed766f))
55
+ * **HiTable:** Performance optimization ([3ca60d3](https://gitlab.hipay.org/backend/hipay-material-ui/commit/3ca60d3))
56
+ * **HiTable:** remove anchorEls from state to remove circular structure in JSON compares ([c064ce9](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c064ce9))
57
+ * **SelectInput:** selected choice label not overflowing on right arrow of HiSelect ([a7d7058](https://gitlab.hipay.org/backend/hipay-material-ui/commit/a7d7058))
32
58
 
33
- - [HiTopBar] Ajout d'une props refButtons poutr récupérer la div contenant les boutons "menu" et "back"
34
- - [HiSelect] Gestion d'une value vide
35
- - [HiSelect] Ajout du focus sur l'élement SelectInput à la fermeture du select
36
- - [HiSelectField] Ajout de la props className
37
- - [HiSuggestSelectField] Ajout de la props className
38
- - [HiSuggestSelect] Gestion du focus et du open des suggestions
39
- - [SelectInput] Suppression du soulignage bleu au hover quand champs en erreur
40
- - [HiFormControl] Stop de l'event click sur error pour ne pas ouvrir le select
41
59
 
42
- ## 1.0.0-beta.3
43
- ###### *28 mars 2018*
60
+ ### Features
44
61
 
45
- - Ajout d'un CHANGELOG HiPay ! (HI-CHANGELOG.md)
46
- - Corrections de styles sur quelques composants
62
+ * **HiDateRangePicker:** Add onBlur prop function to handle date errors properly ([df79494](https://gitlab.hipay.org/backend/hipay-material-ui/commit/df79494))
63
+ * **HiTableContextMenu:** handle hide lookup/exclude menu item for each column ([03e00cb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/03e00cb))
64
+ * **workflow:** Add HI-CHANGELOG generation from commits ([edee0f6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/edee0f6))
47
65
 
48
- ### Breaking change
49
66
 
50
- - [HiTopBar] Ajout d'une props "searchInput" obligatoire
51
67
 
52
- #### Component Fixes / Enhancements
68
+ <a name="1.0.0-beta.24"></a>
69
+ # 1.0.0-beta.24 (2018-07-26)
70
+
71
+
72
+ ### Features
73
+
74
+ * **workflow:** Add HI-CHANGELOG generation from commits ([edee0f6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/edee0f6))
75
+
76
+
53
77
 
54
- - [HiTopBar] Ajout du style "overflow: 'inherit'" sur le Collapse si pas "hideable", afin de ne pas cacher les suggestions
55
- - [HiTopBar] Gestion du focus en props plutôt qu'en state
56
- - [HiTopBar] Ajout d'une props "searchInput" obligatoire
57
- - [HiChipSwitch] Ajout d'un title sur la sélection
58
- - [HiDateRangePicker] Correction du focus
package/HiChip/HiChip.js CHANGED
@@ -58,14 +58,24 @@ var styles = exports.styles = function styles(theme) {
58
58
  },
59
59
  '&$deletable': {
60
60
  paddingRight: 4
61
+ },
62
+ '&$leftIccon': {
63
+ paddingLeft: 4
61
64
  }
62
65
  }),
63
66
  leftNavigation: {},
64
67
  rightNavigation: {},
65
68
  deletable: {},
69
+ leftIccon: {},
66
70
  icon: {
67
71
  marginRight: 4
68
72
  },
73
+ iconClickable: {
74
+ cursor: 'pointer',
75
+ '&:hover, &:focus': {
76
+ color: theme.palette.business.primary.normal
77
+ }
78
+ },
69
79
  eraseIcon: {
70
80
  // Remove grey highlight
71
81
  WebkitTapHighlightColor: 'transparent',
@@ -120,14 +130,22 @@ function HiChip(props) {
120
130
  onPrevious = props.onPrevious,
121
131
  onNext = props.onNext,
122
132
  onDelete = props.onDelete,
123
- prefix = props.prefix;
133
+ prefix = props.prefix,
134
+ onIconClick = props.onIconClick,
135
+ title = props.title,
136
+ titleDelete = props.titleDelete,
137
+ titleIcon = props.titleIcon,
138
+ titleImg = props.titleImg,
139
+ titleNext = props.titleNext,
140
+ titlePrevious = props.titlePrevious;
124
141
 
125
142
 
126
143
  return _react2.default.createElement(
127
144
  'div',
128
145
  {
129
146
  id: id,
130
- 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), _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
131
149
  },
132
150
  prefix && _react2.default.createElement(
133
151
  'span',
@@ -135,13 +153,20 @@ function HiChip(props) {
135
153
  prefix,
136
154
  ' : '
137
155
  ),
138
- img && _react2.default.createElement('img', { className: classes.badge, src: img, alt: img }),
139
- icon && _react2.default.createElement(_HiIconBuilder2.default, { className: classes.icon, icon: icon, size: 16 }),
156
+ img && _react2.default.createElement('img', { className: classes.badge, src: img, alt: img, title: titleImg }),
157
+ icon && _react2.default.createElement(_HiIconBuilder2.default, {
158
+ className: (0, _classnames2.default)(classes.icon, (0, _defineProperty3.default)({}, classes.iconClickable, onIconClick)),
159
+ icon: icon,
160
+ size: 16,
161
+ onClick: onIconClick,
162
+ title: titleIcon
163
+ }),
140
164
  onPrevious && _react2.default.createElement(_HiIconBuilder2.default, {
141
165
  className: (0, _classnames2.default)(classes.navigate),
142
166
  icon: 'menuLeft',
143
167
  onClick: onPrevious,
144
- size: 16
168
+ size: 16,
169
+ title: titlePrevious
145
170
  }),
146
171
  _react2.default.createElement(
147
172
  'span',
@@ -152,13 +177,15 @@ function HiChip(props) {
152
177
  className: (0, _classnames2.default)(classes.navigate),
153
178
  icon: 'menuRight',
154
179
  onClick: onNext,
155
- size: 16
180
+ size: 16,
181
+ title: titleNext
156
182
  }),
157
183
  onDelete && _react2.default.createElement(_HiIconBuilder2.default, {
158
184
  classes: { root: classes.eraseIcon },
159
185
  icon: 'closeCircle',
160
186
  onClick: onDelete,
161
- size: 16
187
+ size: 16,
188
+ title: titleDelete
162
189
  })
163
190
  );
164
191
  }
@@ -188,6 +215,10 @@ HiChip.propTypes = process.env.NODE_ENV !== "production" ? {
188
215
  * Fonction de callback au clic sur l'icon close si cancelable = true
189
216
  */
190
217
  onDelete: _propTypes2.default.func,
218
+ /**
219
+ * Fonction de callback au clic sur l'icon à gauche
220
+ */
221
+ onIconClick: _propTypes2.default.func,
191
222
  /**
192
223
  * Fonction de callback au clic sur l'icon next
193
224
  */
@@ -195,7 +226,35 @@ HiChip.propTypes = process.env.NODE_ENV !== "production" ? {
195
226
  /**
196
227
  * Fonction de callback au clic sur l'icon previous
197
228
  */
198
- onPrevious: _propTypes2.default.func
229
+ onPrevious: _propTypes2.default.func,
230
+ /**
231
+ * Préfixe dans le HiChip
232
+ */
233
+ prefix: _propTypes2.default.string,
234
+ /**
235
+ * Titre du chip
236
+ */
237
+ title: _propTypes2.default.string,
238
+ /**
239
+ * Titre de l'icône supprimer
240
+ */
241
+ titleDelete: _propTypes2.default.string,
242
+ /**
243
+ * Titre de l'icône
244
+ */
245
+ titleIcon: _propTypes2.default.string,
246
+ /**
247
+ * Titre de la balise img
248
+ */
249
+ titleImg: _propTypes2.default.string,
250
+ /**
251
+ * Titre de la navigation suivante
252
+ */
253
+ titleNext: _propTypes2.default.string,
254
+ /**
255
+ * Titre de la navigation précédente
256
+ */
257
+ titlePrevious: _propTypes2.default.string
199
258
  } : {};
200
259
 
201
260
  exports.default = (0, _withStyles2.default)(styles, { name: 'HmuiHiChip' })(HiChip);
@@ -112,6 +112,7 @@ var HiDateRangePicker = function (_React$Component) {
112
112
 
113
113
  _this.handleInputChange = function (inputName) {
114
114
  return function (event) {
115
+ _this.event = event;
115
116
  _this.props.onChange(inputName, event.target.value);
116
117
  };
117
118
  };
@@ -122,6 +123,15 @@ var HiDateRangePicker = function (_React$Component) {
122
123
  };
123
124
  };
124
125
 
126
+ _this.handleDayPickerBlur = function (name) {
127
+ return function () {
128
+ _this.setState({ focusedInput: '' });
129
+ if (_this.props.onBlur) {
130
+ _this.props.onBlur(name);
131
+ }
132
+ };
133
+ };
134
+
125
135
  _this.state = {
126
136
  fromCurrentMonth: props.from ? props.from : new Date(),
127
137
  toCurrentMonth: props.to ? props.to : new Date(),
@@ -197,11 +207,7 @@ var HiDateRangePicker = function (_React$Component) {
197
207
  value: function handleReset(name) {
198
208
  var _this3 = this;
199
209
 
200
- if (name === 'from') {
201
- this.handleCurrentMonthChange(name, new Date());
202
- } else {
203
- this.handleCurrentMonthChange(name, this.props.from);
204
- }
210
+ this.handleCurrentMonthChange(name, new Date());
205
211
 
206
212
  this.timeout = setTimeout(function () {
207
213
  if (_this3.props.onReset) {
@@ -222,7 +228,12 @@ var HiDateRangePicker = function (_React$Component) {
222
228
  if (name === 'from' && this.toInput) {
223
229
  this.toInput.getInput().focus();
224
230
  } else if (name === 'to') {
225
- document.activeElement.blur();
231
+ if (typeof this.event === 'undefined' || this.event && this.event.type !== 'change') {
232
+ // trigger blur only if user clicks on date into calendar
233
+ // else keep focus to see day selection into calendar
234
+ document.activeElement.blur();
235
+ }
236
+ delete this.event;
226
237
  }
227
238
  }
228
239
  } else {
@@ -350,11 +361,6 @@ var HiDateRangePicker = function (_React$Component) {
350
361
  document.activeElement.blur();
351
362
  }
352
363
  }
353
- }, {
354
- key: 'handleDayPickerBlur',
355
- value: function handleDayPickerBlur() {
356
- this.setState({ focusedInput: '' });
357
- }
358
364
  }, {
359
365
  key: 'openPanel',
360
366
  value: function openPanel(name, panel) {
@@ -635,7 +641,7 @@ var HiDateRangePicker = function (_React$Component) {
635
641
  {
636
642
  className: classes.fromInput,
637
643
  onFocus: this.handleDayPickerFocus('from'),
638
- onBlur: this.handleDayPickerBlur
644
+ onBlur: this.handleDayPickerBlur('from')
639
645
  },
640
646
  _react2.default.createElement(
641
647
  'div',
@@ -663,7 +669,7 @@ var HiDateRangePicker = function (_React$Component) {
663
669
  {
664
670
  className: toClass,
665
671
  onFocus: this.handleDayPickerFocus('to'),
666
- onBlur: this.handleDayPickerBlur
672
+ onBlur: this.handleDayPickerBlur('to')
667
673
  },
668
674
  _react2.default.createElement(_DayPickerInput2.default, {
669
675
  ref: function ref(el) {
@@ -762,10 +768,18 @@ HiDateRangePicker.propTypes = process.env.NODE_ENV !== "production" ? {
762
768
  minimumDate: _propTypes2.default.instanceOf(Date),
763
769
  /**
764
770
  * Callback à la sélection d'une date
771
+ * @param {string} nom de l'input
772
+ */
773
+ onBlur: _propTypes2.default.func,
774
+ /**
775
+ * Callback à la sélection d'une date
776
+ * @param {string} nom du champs
777
+ * @param {string} nouvelle valeur du champs
765
778
  */
766
779
  onChange: _propTypes2.default.func,
767
780
  /**
768
781
  * Callback au reset de l'input
782
+ * @param {string} nom du champs réinitialisé
769
783
  */
770
784
  onReset: _propTypes2.default.func,
771
785
  /**
@@ -100,13 +100,13 @@ function buildDateRangeOptionByKey(key, t, format) {
100
100
  label = t.current_week;
101
101
  from = (0, _moment2.default)().startOf('week');
102
102
  to = (0, _moment2.default)();
103
- info = t.week + ' ' + from.format('w') + ', \n ' + from.format(format) + ' ' + t.to_now;
103
+ info = '' + t.short_week + from.format('w') + ', \n ' + from.format(format) + ' ' + t.to_now;
104
104
  break;
105
105
  case 'pw':
106
106
  label = t.previous_week;
107
107
  from = (0, _moment2.default)().subtract(1, 'week').startOf('week');
108
108
  to = (0, _moment2.default)().subtract(1, 'week').endOf('week');
109
- info = t.week + ' ' + from.format('w') + ', ' + from.format(format) + ' ' + t.to + ' ' + to.format(format);
109
+ info = '' + t.short_week + from.format('w') + ', ' + from.format(format) + ' ' + t.to + ' ' + to.format(format);
110
110
  break;
111
111
  case 'cm':
112
112
  label = t.current_month;
@@ -308,6 +308,16 @@ var HiDateRangeSelector = function (_React$Component) {
308
308
  )
309
309
  );
310
310
  }
311
+ }], [{
312
+ key: 'getDerivedStateFromProps',
313
+ value: function getDerivedStateFromProps(props, state) {
314
+ if (props.defaultPreset && props.returnSelectValue) {
315
+ return {
316
+ selectedPreset: props.defaultPreset
317
+ };
318
+ }
319
+ return null;
320
+ }
311
321
  }]);
312
322
  return HiDateRangeSelector;
313
323
  }(_react2.default.Component);
@@ -327,6 +337,7 @@ HiDateRangeSelector.defaultProps = {
327
337
  month: 'Month',
328
338
  quarter: 'Quarter',
329
339
  week: 'Week',
340
+ short_week: 'W',
330
341
  year: 'Year',
331
342
  days: 'days',
332
343
  custom_period: 'Custom Period',
package/HiForm/HiInput.js CHANGED
@@ -219,6 +219,7 @@ var HiInput = function (_React$PureComponent) {
219
219
  if (this.props.onReset) {
220
220
  this.props.onReset();
221
221
  }
222
+ this.inputElement.focus();
222
223
  }
223
224
  }, {
224
225
  key: 'handleBlur',
@@ -63,9 +63,9 @@ var styles = exports.styles = function styles(theme) {
63
63
  return {
64
64
  inputPassword: {
65
65
  fontWeight: 'bolder',
66
- fontFamily: 'Verdana, sans-serif',
66
+ fontFamily: 'inherit',
67
67
  letterSpacing: '4px',
68
- fontSize: 25
68
+ fontSize: '1.6rem'
69
69
  }
70
70
  };
71
71
  };
package/HiPins/HiPins.js CHANGED
@@ -37,7 +37,7 @@ var styles = exports.styles = function styles(theme) {
37
37
  display: 'inline-block',
38
38
  padding: '0 9px',
39
39
  height: 16,
40
- lineHeight: '16px',
40
+ lineHeight: '18px',
41
41
  minWidth: 25,
42
42
  textAlign: 'center',
43
43
  borderRadius: '45px',
@@ -64,13 +64,15 @@ var styles = exports.styles = function styles(theme) {
64
64
 
65
65
  function HiPins(props) {
66
66
  var classes = props.classes,
67
+ theme = props.theme,
67
68
  children = props.children,
68
- color = props.color,
69
+ _props$color = props.color,
70
+ color = _props$color === undefined ? props.theme.palette.business.primary.normal : _props$color,
69
71
  onClick = props.onClick,
70
72
  className = props.className;
71
73
 
72
74
 
73
- var textColor = (0, _colorManipulator.getContrastedTextColor)(color, props.theme.palette.neutral.dark, '#FFF');
75
+ var textColor = (0, _colorManipulator.getContrastedTextColor)(color, theme.palette.neutral.dark, '#FFF');
74
76
 
75
77
  var divProps = {
76
78
  style: { backgroundColor: color, color: textColor }
@@ -92,7 +94,7 @@ HiPins.propTypes = process.env.NODE_ENV !== "production" ? {
92
94
  children: _propTypes2.default.node.isRequired,
93
95
  classes: _propTypes2.default.object.isRequired,
94
96
  className: _propTypes2.default.string,
95
- color: _propTypes2.default.string.isRequired,
97
+ color: _propTypes2.default.string,
96
98
  onClick: _propTypes2.default.func
97
99
  } : {};
98
100
  exports.default = (0, _styles.withStyles)(styles, { withTheme: true, name: 'HmuiHiPins' })(HiPins);
@@ -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
 
@@ -314,11 +314,13 @@ var HiSelect = function (_React$PureComponent) {
314
314
  id = _props.id,
315
315
  placeholder = _props.placeholder,
316
316
  staticPosition = _props.staticPosition,
317
- pinnedItem = _props.pinnedItem;
317
+ pinnedItem = _props.pinnedItem,
318
+ hasAll = _props.hasAll;
318
319
  var _state = this.state,
319
320
  open = _state.open,
320
321
  suggestions = _state.suggestions,
321
- focused = _state.focused;
322
+ focused = _state.focused,
323
+ dynamic = _state.dynamic;
322
324
 
323
325
 
324
326
  var display = '';
@@ -342,30 +344,29 @@ var HiSelect = function (_React$PureComponent) {
342
344
  });
343
345
  }
344
346
 
345
- if (this.state.dynamic && selectedIdList.length === 1) {
346
- display = translations.one_item_selected.replace('%s', selectedIdList.length);
347
- } else if (this.state.nbOptions !== selectedIdList.length && selectedIdList.length > 1) {
347
+ if ((dynamic || loading) && selectedIdList.length === 1) {
348
+ display = translations.one_item_selected;
349
+ } else if ((this.state.nbOptions !== selectedIdList.length || !hasAll) && selectedIdList.length > 1) {
348
350
  display = translations.n_items_selected.replace('%s', selectedIdList.length);
349
- } else if (this.state.nbOptions === selectedIdList.length && this.state.nbOptions >= 1) {
351
+ } else if (this.state.nbOptions === selectedIdList.length && this.state.nbOptions > 1) {
350
352
  display = translations.all;
351
353
  } else if (selectedIdList.length === 1) {
352
- if (type !== 'icon') {
353
- var item = options.find(function (o) {
354
- return o.id === selectedIdList[0];
355
- });
356
- 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) {
357
361
  item = pinnedItem;
358
362
  }
359
363
  display = item.label;
360
364
  } else {
361
- var optionSelected = options.find(function (o) {
362
- return o.id === selectedIdList[0];
363
- });
364
365
  display = _react2.default.createElement(
365
366
  'span',
366
367
  { className: classes.selectIconLabel },
367
- _react2.default.createElement(_HiIconBuilder2.default, { icon: optionSelected.icon, className: classes.labelIcon }),
368
- optionSelected.label
368
+ _react2.default.createElement(_HiIconBuilder2.default, { icon: item.icon, className: classes.labelIcon }),
369
+ item.label
369
370
  );
370
371
  }
371
372
  }
@@ -499,6 +500,7 @@ HiSelect.defaultProps = {
499
500
  hierarchic: false,
500
501
  parentItemSelectable: false,
501
502
  displayAsChip: false,
503
+ dynamic: false,
502
504
  icon: _react2.default.createElement(_mdiMaterialUi.CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
503
505
  parentIcon: _react2.default.createElement(_mdiMaterialUi.CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
504
506
  hoverIcon: _react2.default.createElement(_mdiMaterialUi.CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
@@ -741,9 +743,9 @@ var _initialiseProps = function _initialiseProps() {
741
743
  }
742
744
  }
743
745
  _this3.setState({ hierarchySelected: hiSelected });
744
- onChange(event, valueList);
746
+ onChange(event, valueList, item);
745
747
  } else {
746
- onChange(event, item.id);
748
+ onChange(event, item.id, item);
747
749
  _this3.handleClose();
748
750
  }
749
751
  };
@@ -818,6 +820,12 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
818
820
  * Option permettant d'afficher les sélection sous forme de Chip.
819
821
  */
820
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,
821
829
  /**
822
830
  * Applique le style error
823
831
  */
@@ -67,7 +67,8 @@ var styles = exports.styles = function styles(theme) {
67
67
  width: '100%',
68
68
  height: 40,
69
69
  maxWidth: 500,
70
- justifyContent: 'flex-start',
70
+ display: 'flex',
71
+ justifyContent: 'center',
71
72
  padding: 8,
72
73
  cursor: 'pointer'
73
74
  },
@@ -142,18 +143,12 @@ var styles = exports.styles = function styles(theme) {
142
143
  label: (0, _extends3.default)({
143
144
  whiteSpace: 'nowrap',
144
145
  overflow: 'hidden',
145
- textOverflow: 'ellipsis',
146
- paddingRight: 16
146
+ textOverflow: 'ellipsis'
147
147
  }, theme.typography.body1, {
148
148
  display: 'inline-flex',
149
149
  width: '100%'
150
150
  }),
151
151
  icon: {
152
- position: 'absolute',
153
- display: 'flex',
154
- alignItems: 'center',
155
- right: 0,
156
- height: 40,
157
152
  transition: theme.transitions.create(['opacity', 'transform'], {
158
153
  duration: theme.transitions.duration.shorter
159
154
  })