@hipay/hipay-material-ui 2.0.0-beta.58 → 2.0.0-beta.59

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/CHANGELOG.md CHANGED
@@ -1,3 +1,62 @@
1
+ <a name="2.0.0-beta.59"></a>
2
+ # [2.0.0-beta.59](https://gitlab.hipay.org/backend/hipay-material-ui/compare/0.0.1...2.0.0-beta.59) (2018-12-27)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **eslint:** remove eslint warrnings in components (ignore test files) ([d236c62](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d236c62))
8
+ * **HiBreadcrumb:** clean eslint warnings ([6db12fb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/6db12fb))
9
+ * **HiDatePicker:** add static positions for custom overlays ([c3edf24](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c3edf24))
10
+ * **HiExpansionPanel:** Fix props type a requirement ([cbc3b48](https://gitlab.hipay.org/backend/hipay-material-ui/commit/cbc3b48))
11
+ * **HiInput:** handle focus state through prop when needed to override default comportment ([9a133cc](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9a133cc))
12
+ * **HiKpiNotice:** eslint clean warnings ([11b5552](https://gitlab.hipay.org/backend/hipay-material-ui/commit/11b5552))
13
+ * **HiSelect:** Fix build of HiSelectContent ([4b87f78](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4b87f78))
14
+ * **HiSelect:** focus on undefined item ([2d084e6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2d084e6))
15
+ * **HiSelect:** handle staticPosition & width properly for HiDateRangeSelector usage ([7b19ffb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7b19ffb))
16
+ * **HiSelectableListItem:** disabled item checkbox color ([9f10552](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9f10552))
17
+ * **HiSelectableListItem:** remove item width ([a913945](https://gitlab.hipay.org/backend/hipay-material-ui/commit/a913945))
18
+ * **HiSelectContent:** Remove compute of input value ([b86db83](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b86db83))
19
+ * **HiSlider:** eslint clean warnings ([08964b1](https://gitlab.hipay.org/backend/hipay-material-ui/commit/08964b1))
20
+ * **HiUploadField:** clean eslint warnings ([c76aaf1](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c76aaf1))
21
+ * **migration:** fix contrast threshold ... ([6fb3b18](https://gitlab.hipay.org/backend/hipay-material-ui/commit/6fb3b18))
22
+ * **package:** add cross-env ([7098fd6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7098fd6))
23
+
24
+
25
+ ### Features
26
+
27
+ * **CellImage:** Handle fallbackImage ([254799d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/254799d))
28
+ * **CellSentinel:** Uniformize cell api with front CellSentinel ([4e2975b](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4e2975b))
29
+ * **CellSentinel:** Update CellSentinel to the new way (split each result in different column) ([efe2711](https://gitlab.hipay.org/backend/hipay-material-ui/commit/efe2711))
30
+ * **CellSentinelScore:** Add CellSentinelScore ([2fff04d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2fff04d))
31
+ * **CellText:** Handle active prop in CellText & column views in HiTable ([4366e60](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4366e60))
32
+ * **HiCells:** Add simple cells types (Address, Date, Icon, Image, Numeric, PinToAction, Rate, Senti ([f688517](https://gitlab.hipay.org/backend/hipay-material-ui/commit/f688517))
33
+ * **HiDatePicker:** BREAKING CHANGE - add local prop to handle calendar translations ([b1b3743](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b1b3743))
34
+ * **HiIcon:** Add mdi-material-ui as available icons via 'mdi_' prefix ([1091d6d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/1091d6d))
35
+ * **HiMap:** unregister fetch on unmount ([0afa931](https://gitlab.hipay.org/backend/hipay-material-ui/commit/0afa931))
36
+ * **HiSelect:** Add (NEW) HiSelect, HiNestedSelect, HiDynamicSelect ([4c6447e](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4c6447e))
37
+ * **HiSelect:** Reset search input on blur & on close ([d9af584](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d9af584))
38
+ * **HiSelectableList:** Add sort props to sort item list on label ([f412ddc](https://gitlab.hipay.org/backend/hipay-material-ui/commit/f412ddc))
39
+ * **HiSelectContent:** Add new HiSelectContent & HiNestedSelectContent ([215ad8f](https://gitlab.hipay.org/backend/hipay-material-ui/commit/215ad8f))
40
+ * **HiSelectContent:** export utils functions ([7c41d87](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7c41d87))
41
+ * **HiUploadField:** rename component HiUploadField ([593f77e](https://gitlab.hipay.org/backend/hipay-material-ui/commit/593f77e))
42
+ * **notice:** Création notice KPI ([bba3f89](https://gitlab.hipay.org/backend/hipay-material-ui/commit/bba3f89))
43
+
44
+
45
+ ### Performance Improvements
46
+
47
+ * **PureFunction:** Use pure & functional components ([220c686](https://gitlab.hipay.org/backend/hipay-material-ui/commit/220c686))
48
+
49
+
50
+ ### BREAKING CHANGES
51
+
52
+ * **HiDatePicker:** Required "local" props (use polyglot, p.currentLocal)
53
+ * **HiUploadField:** Components names changes
54
+ * **HiCells:** Remove CellCountry, CellThirdParty, CellStatus & CellAccount (use generic type
55
+ CellImage & CellText)
56
+ * **HiSelect:** HiSelect API change, use HiNestedSelect or HiDynamicSelect relative to situation
57
+
58
+
59
+
1
60
  # [2.0.0-beta.58](https://gitlab.hipay.org/backend/hipay-material-ui/compare/0.0.1...2.0.0-beta.58) (2018-12-13)
2
61
 
3
62
 
@@ -27,7 +27,7 @@ var _colorManipulator = require("../styles/colorManipulator");
27
27
 
28
28
  var styles = function styles(theme) {
29
29
  return {
30
- root: (0, _extends2.default)({}, theme.typography.b3, {
30
+ root: {
31
31
  display: 'inline-block',
32
32
  alignItems: 'baseline',
33
33
  maxWidth: '100%',
@@ -37,7 +37,12 @@ var styles = function styles(theme) {
37
37
  overflow: 'hidden',
38
38
  whiteSpace: 'nowrap',
39
39
  lineHeight: 1
40
- }),
40
+ },
41
+ body1: (0, _extends2.default)({}, theme.typography.b1),
42
+ body2: (0, _extends2.default)({}, theme.typography.b2),
43
+ body3: (0, _extends2.default)({}, theme.typography.b3),
44
+ body4: (0, _extends2.default)({}, theme.typography.b4),
45
+ body5: (0, _extends2.default)({}, theme.typography.b5),
41
46
  color: {
42
47
  fontWeight: 400
43
48
  },
@@ -135,6 +140,7 @@ function HiColoredLabel(props) {
135
140
 
136
141
  var classes = props.classes,
137
142
  className = props.className,
143
+ fontSize = props.fontSize,
138
144
  label = props.label,
139
145
  color = props.color,
140
146
  active = props.active,
@@ -142,11 +148,11 @@ function HiColoredLabel(props) {
142
148
  fontWeight = props.fontWeight,
143
149
  style = props.style,
144
150
  theme = props.theme,
145
- other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "label", "color", "active", "outlined", "fontWeight", "style", "theme"]);
151
+ other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "fontSize", "label", "color", "active", "outlined", "fontWeight", "style", "theme"]);
146
152
  var isHiColor = ['primary', 'secondary', 'positive', 'negative', 'middle', 'neutral'].includes(color);
147
153
  var isHexColor = !isHiColor && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(color);
148
154
  return _react.default.createElement("div", (0, _extends2.default)({
149
- className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.color, !active), (0, _defineProperty2.default)(_classNames, classes.activeColor, active), (0, _defineProperty2.default)(_classNames, classes.outlined, outlined), (0, _defineProperty2.default)(_classNames, classes["activeColor".concat((0, _helpers.capitalize)(color))], active && isHiColor), (0, _defineProperty2.default)(_classNames, classes["color".concat((0, _helpers.capitalize)(color))], !active && isHiColor), _classNames), className),
155
+ className: (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.color, !active), (0, _defineProperty2.default)(_classNames, classes.activeColor, active), (0, _defineProperty2.default)(_classNames, classes.outlined, outlined), (0, _defineProperty2.default)(_classNames, classes["activeColor".concat((0, _helpers.capitalize)(color))], active && isHiColor), (0, _defineProperty2.default)(_classNames, classes["color".concat((0, _helpers.capitalize)(color))], !active && isHiColor), (0, _defineProperty2.default)(_classNames, classes.body1, fontSize >= 15), (0, _defineProperty2.default)(_classNames, classes.body2, fontSize === 14), (0, _defineProperty2.default)(_classNames, classes.body3, fontSize === 13), (0, _defineProperty2.default)(_classNames, classes.body4, fontSize === 12), (0, _defineProperty2.default)(_classNames, classes.body5, fontSize <= 11), _classNames), className),
150
156
  style: (0, _extends2.default)({}, style, isHexColor && {
151
157
  backgroundColor: active ? color : (0, _colorManipulator.fade)(color, 0.08),
152
158
  color: active ? theme.palette.getContrastText(color) : color
@@ -178,6 +184,11 @@ HiColoredLabel.propTypes = process.env.NODE_ENV !== "production" ? {
178
184
  */
179
185
  color: _propTypes.default.string,
180
186
 
187
+ /**
188
+ * Taille du text
189
+ */
190
+ fontSize: _propTypes.default.number,
191
+
181
192
  /**
182
193
  * Graisse du text
183
194
  */
@@ -196,6 +207,7 @@ HiColoredLabel.propTypes = process.env.NODE_ENV !== "production" ? {
196
207
  HiColoredLabel.defaultProps = {
197
208
  active: false,
198
209
  color: 'primary',
210
+ fontSize: 15,
199
211
  outlined: false
200
212
  };
201
213
 
package/HiForm/HiInput.js CHANGED
@@ -169,6 +169,13 @@ function (_React$PureComponent) {
169
169
 
170
170
  (0, _classCallCheck2.default)(this, HiInput);
171
171
  _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(HiInput).call(this));
172
+
173
+ _this.handleClick = function () {
174
+ if (_this.props.onClick) {
175
+ _this.props.onClick();
176
+ }
177
+ };
178
+
172
179
  _this.state = {
173
180
  focused: false
174
181
  };
@@ -381,6 +388,7 @@ function (_React$PureComponent) {
381
388
  placeholder: placeholder,
382
389
  onFocus: this.handleFocus,
383
390
  onKeyDown: this.props.onKeyDown,
391
+ onClick: this.handleClick,
384
392
  onBlur: this.handleBlur,
385
393
  inputRef: this.getInputElement,
386
394
  disabled: disabled,
@@ -509,6 +517,11 @@ HiInput.propTypes = process.env.NODE_ENV !== "production" ? {
509
517
  */
510
518
  onChange: _propTypes.default.func,
511
519
 
520
+ /**
521
+ * Fonction de callback appelée au click dans l'input
522
+ */
523
+ onClick: _propTypes.default.func,
524
+
512
525
  /**
513
526
  * Fonction de callback appelée au focus du champs
514
527
  */
@@ -205,10 +205,10 @@ function (_React$PureComponent) {
205
205
  options: [],
206
206
  focused: false
207
207
  });
208
- }
209
208
 
210
- if (this.props.onBlurInput) {
211
- this.props.onBlurInput(event);
209
+ if (this.props.onBlurInput) {
210
+ this.props.onBlurInput(event);
211
+ }
212
212
  }
213
213
  }
214
214
  }, {
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.styles = void 0;
8
+ exports.default = exports.styles = exports.filterValue = void 0;
9
9
 
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
 
@@ -76,6 +76,10 @@ function findFinalItemRecursively(itemList, searchId) {
76
76
  });
77
77
  return foundItem;
78
78
  }
79
+
80
+ var filterValue = function filterValue(item, searchValue) {
81
+ return searchValue === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(searchValue.toLowerCase())) !== -1;
82
+ };
79
83
  /**
80
84
  * Build item list by settings item props relative to the nested parent/child situation
81
85
  * Reduce the item list to build specified items (displayed, pinned, disabled, selected, indeterminate)
@@ -94,6 +98,8 @@ function findFinalItemRecursively(itemList, searchId) {
94
98
  */
95
99
 
96
100
 
101
+ exports.filterValue = filterValue;
102
+
97
103
  function buildFilteredItemList(itemList) {
98
104
  var selectedItemIdList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
99
105
  var searchValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
@@ -102,15 +108,16 @@ function buildFilteredItemList(itemList) {
102
108
  var disabledParent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
103
109
  var nbChildrenAsInfo = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
104
110
  var translations = arguments.length > 7 ? arguments[7] : undefined;
111
+ var filterFunc = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : filterValue;
105
112
  return itemList.reduce(function (_ref, item) {
106
113
  var memoItemList = _ref.l,
107
114
  memoSelected = _ref.s,
108
115
  memoUnselected = _ref.u,
109
116
  memoVisible = _ref.v;
110
- var itemVisible = searchValue === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(searchValue.toLowerCase())) !== -1; // Parent item
117
+ var itemVisible = filterFunc(item, searchValue); // Parent item
111
118
 
112
119
  if (item.children) {
113
- var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent),
120
+ var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent, nbChildrenAsInfo, translations, filterFunc),
114
121
  customizedChildren = _buildFilteredItemLis.l,
115
122
  selected = _buildFilteredItemLis.s,
116
123
  unselected = _buildFilteredItemLis.u,
@@ -285,9 +292,10 @@ function (_React$PureComponent) {
285
292
  multiple = _this$props2.multiple,
286
293
  nbChildrenAsInfo = _this$props2.nbChildrenAsInfo,
287
294
  pinnedParent = _this$props2.pinnedParent,
288
- translations = _this$props2.translations; // build item list
295
+ translations = _this$props2.translations,
296
+ filterFunc = _this$props2.filterFunc; // build item list
289
297
 
290
- var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations),
298
+ var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations, filterFunc),
291
299
  filteredItemList = _buildFilteredItemLis2.l,
292
300
  allSelected = _buildFilteredItemLis2.s,
293
301
  allUnselected = _buildFilteredItemLis2.u,
@@ -426,7 +434,8 @@ HiNestedSelect.defaultProps = {
426
434
  one_item_selected: '%s item selected',
427
435
  n_children: '%s',
428
436
  one_child: '%s item'
429
- }
437
+ },
438
+ filterFunc: filterValue
430
439
  };
431
440
  HiNestedSelect.propTypes = process.env.NODE_ENV !== "production" ? {
432
441
  /**
@@ -444,6 +453,11 @@ HiNestedSelect.propTypes = process.env.NODE_ENV !== "production" ? {
444
453
  */
445
454
  displayAsChip: _propTypes.default.bool,
446
455
 
456
+ /*
457
+ * Fonction de filtrage custom
458
+ */
459
+ filterFunc: _propTypes.default.func,
460
+
447
461
  /**
448
462
  * Affiche l'élément 'All'
449
463
  */
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.getRecursiveFinalItemIdList = getRecursiveFinalItemIdList;
9
9
  exports.findFinalItemRecursively = findFinalItemRecursively;
10
- exports.default = void 0;
10
+ exports.default = exports.filterValue = void 0;
11
11
 
12
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
13
 
@@ -72,6 +72,10 @@ function findFinalItemRecursively(itemList, searchId) {
72
72
  });
73
73
  return foundItem;
74
74
  }
75
+
76
+ var filterValue = function filterValue(item, searchValue) {
77
+ return searchValue === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(searchValue.toLowerCase())) !== -1;
78
+ };
75
79
  /**
76
80
  * Build item list by settings item props relative to the nested parent/child situation
77
81
  * Reduce the item list to build specified items (displayed, pinned, disabled, selected, indeterminate)
@@ -90,6 +94,8 @@ function findFinalItemRecursively(itemList, searchId) {
90
94
  */
91
95
 
92
96
 
97
+ exports.filterValue = filterValue;
98
+
93
99
  function buildFilteredItemList(itemList) {
94
100
  var selectedItemIdList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
95
101
  var searchValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
@@ -98,15 +104,16 @@ function buildFilteredItemList(itemList) {
98
104
  var disabledParent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
99
105
  var nbChildrenAsInfo = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
100
106
  var translations = arguments.length > 7 ? arguments[7] : undefined;
107
+ var filterFunc = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : filterValue;
101
108
  return itemList.reduce(function (_ref, item) {
102
109
  var memoItemList = _ref.l,
103
110
  memoSelected = _ref.s,
104
111
  memoUnselected = _ref.u,
105
112
  memoVisible = _ref.v;
106
- var itemVisible = searchValue === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(searchValue.toLowerCase())) !== -1; // Parent item
113
+ var itemVisible = filterFunc(item, searchValue); // Parent item
107
114
 
108
115
  if (item.children) {
109
- var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent),
116
+ var _buildFilteredItemLis = buildFilteredItemList(item.children, selectedItemIdList, searchValue, itemVisible, pinnedParent, disabledParent, nbChildrenAsInfo, translations, filterFunc),
110
117
  customizedChildren = _buildFilteredItemLis.l,
111
118
  selected = _buildFilteredItemLis.s,
112
119
  unselected = _buildFilteredItemLis.u,
@@ -241,9 +248,10 @@ function (_React$PureComponent) {
241
248
  multiple = _this$props2.multiple,
242
249
  nbChildrenAsInfo = _this$props2.nbChildrenAsInfo,
243
250
  pinnedParent = _this$props2.pinnedParent,
244
- translations = _this$props2.translations; // build item list
251
+ translations = _this$props2.translations,
252
+ filterFunc = _this$props2.filterFunc; // build item list
245
253
 
246
- var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations),
254
+ var _buildFilteredItemLis2 = buildFilteredItemList(options, value, search, false, pinnedParent, disabledParent || !multiple, nbChildrenAsInfo, translations, filterFunc),
247
255
  filteredItemList = _buildFilteredItemLis2.l,
248
256
  allSelected = _buildFilteredItemLis2.s,
249
257
  allUnselected = _buildFilteredItemLis2.u,
@@ -334,7 +342,8 @@ HiNestedSelectContent.defaultProps = {
334
342
  search: 'Search',
335
343
  n_children: '%s',
336
344
  one_child: '%s item'
337
- }
345
+ },
346
+ filterFunc: filterValue
338
347
  };
339
348
  HiNestedSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
340
349
  /**
@@ -347,6 +356,11 @@ HiNestedSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
347
356
  */
348
357
  disabledParent: _propTypes.default.bool,
349
358
 
359
+ /*
360
+ * Fonction de filtrage custom
361
+ */
362
+ filterFunc: _propTypes.default.func,
363
+
350
364
  /**
351
365
  * Affiche l'élément 'All'
352
366
  */
@@ -110,6 +110,12 @@ var styles = function styles(theme) {
110
110
  }
111
111
  };
112
112
  };
113
+
114
+ exports.styles = styles;
115
+
116
+ function filterValue(item, search) {
117
+ return search === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(search.toLowerCase())) !== -1;
118
+ }
113
119
  /**
114
120
  *
115
121
  * Utilisé pour tous types de selects dans les formulaires.
@@ -126,8 +132,6 @@ var styles = function styles(theme) {
126
132
  */
127
133
 
128
134
 
129
- exports.styles = styles;
130
-
131
135
  var HiSelect =
132
136
  /*#__PURE__*/
133
137
  function (_React$PureComponent) {
@@ -152,7 +156,7 @@ function (_React$PureComponent) {
152
156
  hideCheckbox: true,
153
157
  label: 'loading'
154
158
  }] : []).concat((0, _toConsumableArray2.default)(search !== '' ? (0, _toConsumableArray2.default)(options.filter(function (item) {
155
- return item.label && (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(search.toLowerCase())) !== -1;
159
+ return _this.props.filterFunc(item, search);
156
160
  })) : (0, _toConsumableArray2.default)(_this.props.hasAll ? [(0, _extends2.default)({
157
161
  id: '_all',
158
162
  label: _this.props.translations.all
@@ -267,20 +271,22 @@ function (_React$PureComponent) {
267
271
  };
268
272
 
269
273
  _this.focusOnSelectedItem = function (selectedValue) {
270
- setTimeout(function () {
271
- // On initialise au premier élément pour être sûr de ne pas se retrouver avec un focus of undefined
272
- var item = _this.overlay.getElementsByTagName('li')[0];
273
-
274
- if (selectedValue && typeof selectedValue === 'string') {
275
- item = _this.overlay.getElementsByTagName('li')[selectedValue];
276
- } else if (selectedValue && typeof selectedValue === 'number') {
277
- item = _this.overlay.getElementsByTagName('li')[selectedValue - 1];
278
- }
274
+ if (_this.overlay && _this.overlay.getElementsByTagName('li')[0]) {
275
+ setTimeout(function () {
276
+ // On initialise au premier élément pour être sûr de ne pas se retrouver avec un focus of undefined
277
+ var item = _this.overlay.getElementsByTagName('li')[0];
279
278
 
280
- if (item) {
281
- item.focus();
282
- }
283
- }, 1);
279
+ if (selectedValue && typeof selectedValue === 'string') {
280
+ item = _this.overlay.getElementsByTagName('li')[selectedValue];
281
+ } else if (selectedValue && typeof selectedValue === 'number') {
282
+ item = _this.overlay.getElementsByTagName('li')[selectedValue - 1];
283
+ }
284
+
285
+ if (item) {
286
+ item.focus();
287
+ }
288
+ }, 1);
289
+ }
284
290
  };
285
291
 
286
292
  _this.handleClickAway = function (event) {
@@ -751,7 +757,8 @@ HiSelect.defaultProps = {
751
757
  n_children: '%s items',
752
758
  one_child: '%s item'
753
759
  },
754
- type: 'text'
760
+ type: 'text',
761
+ filterFunc: filterValue
755
762
  };
756
763
  HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
757
764
  align: _propTypes.default.oneOf(['left', 'right']),
@@ -786,6 +793,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
786
793
  */
787
794
  fallbackImage: _propTypes.default.string,
788
795
 
796
+ /*
797
+ * Fonction de filtrage custom
798
+ */
799
+ filterFunc: _propTypes.default.func,
800
+
789
801
  /**
790
802
  * Affiche l'élément 'All'
791
803
  */
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.styles = void 0;
8
+ exports.default = exports.filterValue = exports.styles = void 0;
9
9
 
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
 
@@ -70,6 +70,12 @@ var styles = function styles(theme) {
70
70
  })
71
71
  };
72
72
  };
73
+
74
+ exports.styles = styles;
75
+
76
+ var filterValue = function filterValue(item, searchValue) {
77
+ return searchValue === '' || (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(searchValue.toLowerCase())) !== -1;
78
+ };
73
79
  /**
74
80
  *
75
81
  * Utilisé pour tous types de selects dans les formulaires.
@@ -86,7 +92,7 @@ var styles = function styles(theme) {
86
92
  */
87
93
 
88
94
 
89
- exports.styles = styles;
95
+ exports.filterValue = filterValue;
90
96
 
91
97
  var HiSelectContent =
92
98
  /*#__PURE__*/
@@ -253,7 +259,7 @@ function (_React$PureComponent) {
253
259
  hideCheckbox: true,
254
260
  label: 'loading'
255
261
  }] : []).concat((0, _toConsumableArray2.default)(search !== '' ? (0, _toConsumableArray2.default)(options.filter(function (item) {
256
- return item.label && (0, _helpers.foldAccents)(item.label.toString().toLowerCase()).search((0, _helpers.foldAccents)(search.toLowerCase())) !== -1;
262
+ return item.label && _this.props.filterFunc(item, search);
257
263
  })) : (0, _toConsumableArray2.default)(_this.props.hasAll ? [(0, _extends2.default)({
258
264
  id: '_all',
259
265
  label: _this.props.translations.all
@@ -395,7 +401,8 @@ HiSelectContent.defaultProps = {
395
401
  n_children: '%s items',
396
402
  one_child: '%s item'
397
403
  },
398
- type: 'text'
404
+ type: 'text',
405
+ filterFunc: filterValue
399
406
  };
400
407
  HiSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
401
408
  autoHeight: _propTypes.default.bool,
@@ -420,6 +427,11 @@ HiSelectContent.propTypes = process.env.NODE_ENV !== "production" ? {
420
427
  */
421
428
  fallbackImage: _propTypes.default.string,
422
429
 
430
+ /*
431
+ * Fonction de filtrage custom
432
+ */
433
+ filterFunc: _propTypes.default.func,
434
+
423
435
  /**
424
436
  * Affiche l'élément 'All'
425
437
  */
@@ -172,8 +172,6 @@ function (_React$PureComponent) {
172
172
 
173
173
  if (_this.props.onKeyDown) {
174
174
  _this.props.onKeyDown(event);
175
-
176
- event.preventDefault();
177
175
  } else if (key === 'down' || key === 'up') {
178
176
  _this.props.onClick();
179
177
  } else if (key === 'enter' && _this.props.onSubmit) {
@@ -215,9 +213,11 @@ function (_React$PureComponent) {
215
213
  _this.handleBlur = function (event) {
216
214
  if ((!_this.input || !_this.input.contains(event.relatedTarget)) && _this.props.onBlur) {
217
215
  _this.props.onBlur(event);
218
- } else if (_this.input && (!_this.resetIcon || !_this.resetIcon.contains(event.relatedTarget))) {
219
- _this.input.focus();
220
216
  }
217
+ /* else if (this.input && (!this.resetIcon || !this.resetIcon.contains(event.relatedTarget))) {
218
+ this.input.focus();
219
+ }*/
220
+
221
221
  };
222
222
 
223
223
  _this.ref = function (el) {
@@ -122,12 +122,13 @@ var styles = function styles(theme) {
122
122
  minWidth: '50%',
123
123
  padding: '5px 0',
124
124
  '&$listItemContentSelected': {
125
- marginBottom: -3,
125
+ marginBottom: 1,
126
126
  marginLeft: -4
127
127
  },
128
128
  '& strong': {
129
129
  fontWeight: theme.typography.fontWeightMedium
130
- }
130
+ },
131
+ display: 'inline-flex'
131
132
  }),
132
133
  listItemContentSelected: {},
133
134
  label: {
@@ -173,7 +174,7 @@ var styles = function styles(theme) {
173
174
  labelContent: {
174
175
  display: 'flex',
175
176
  alignItems: 'center',
176
- maxWidth: '70%',
177
+ maxWidth: '85%',
177
178
  '&$labelWithoutSecondaryInline': {
178
179
  maxWidth: '100%'
179
180
  }
@@ -278,7 +279,8 @@ function (_React$PureComponent) {
278
279
  }
279
280
 
280
281
  return _react.default.createElement("div", {
281
- className: classes.label
282
+ className: classes.label,
283
+ title: label
282
284
  }, label);
283
285
  }
284
286
  }, {
@@ -8,7 +8,7 @@ import withStyles from '../styles/withStyles';
8
8
  import { capitalize } from '../utils/helpers';
9
9
  import { fade } from '../styles/colorManipulator';
10
10
  export const styles = theme => ({
11
- root: _objectSpread({}, theme.typography.b3, {
11
+ root: {
12
12
  display: 'inline-block',
13
13
  alignItems: 'baseline',
14
14
  maxWidth: '100%',
@@ -18,7 +18,12 @@ export const styles = theme => ({
18
18
  overflow: 'hidden',
19
19
  whiteSpace: 'nowrap',
20
20
  lineHeight: 1
21
- }),
21
+ },
22
+ body1: _objectSpread({}, theme.typography.b1),
23
+ body2: _objectSpread({}, theme.typography.b2),
24
+ body3: _objectSpread({}, theme.typography.b3),
25
+ body4: _objectSpread({}, theme.typography.b4),
26
+ body5: _objectSpread({}, theme.typography.b5),
22
27
  color: {
23
28
  fontWeight: 400
24
29
  },
@@ -111,6 +116,7 @@ function HiColoredLabel(props) {
111
116
  const {
112
117
  classes,
113
118
  className,
119
+ fontSize,
114
120
  label,
115
121
  color,
116
122
  active,
@@ -119,7 +125,7 @@ function HiColoredLabel(props) {
119
125
  style,
120
126
  theme
121
127
  } = props,
122
- other = _objectWithoutProperties(props, ["classes", "className", "label", "color", "active", "outlined", "fontWeight", "style", "theme"]);
128
+ other = _objectWithoutProperties(props, ["classes", "className", "fontSize", "label", "color", "active", "outlined", "fontWeight", "style", "theme"]);
123
129
 
124
130
  const isHiColor = ['primary', 'secondary', 'positive', 'negative', 'middle', 'neutral'].includes(color);
125
131
  const isHexColor = !isHiColor && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(color);
@@ -129,7 +135,12 @@ function HiColoredLabel(props) {
129
135
  [classes.activeColor]: active,
130
136
  [classes.outlined]: outlined,
131
137
  [classes[`activeColor${capitalize(color)}`]]: active && isHiColor,
132
- [classes[`color${capitalize(color)}`]]: !active && isHiColor
138
+ [classes[`color${capitalize(color)}`]]: !active && isHiColor,
139
+ [classes.body1]: fontSize >= 15,
140
+ [classes.body2]: fontSize === 14,
141
+ [classes.body3]: fontSize === 13,
142
+ [classes.body4]: fontSize === 12,
143
+ [classes.body5]: fontSize <= 11
133
144
  }, className),
134
145
  style: _objectSpread({}, style, isHexColor && {
135
146
  backgroundColor: active ? color : fade(color, 0.08),
@@ -162,6 +173,11 @@ HiColoredLabel.propTypes = process.env.NODE_ENV !== "production" ? {
162
173
  */
163
174
  color: PropTypes.string,
164
175
 
176
+ /**
177
+ * Taille du text
178
+ */
179
+ fontSize: PropTypes.number,
180
+
165
181
  /**
166
182
  * Graisse du text
167
183
  */
@@ -180,6 +196,7 @@ HiColoredLabel.propTypes = process.env.NODE_ENV !== "production" ? {
180
196
  HiColoredLabel.defaultProps = {
181
197
  active: false,
182
198
  color: 'primary',
199
+ fontSize: 15,
183
200
  outlined: false
184
201
  };
185
202
  export default withStyles(styles, {
@@ -127,6 +127,13 @@ var _ref = React.createElement(HiIcon, {
127
127
  class HiInput extends React.PureComponent {
128
128
  constructor() {
129
129
  super();
130
+
131
+ this.handleClick = () => {
132
+ if (this.props.onClick) {
133
+ this.props.onClick();
134
+ }
135
+ };
136
+
130
137
  this.state = {
131
138
  focused: false
132
139
  };
@@ -347,6 +354,7 @@ class HiInput extends React.PureComponent {
347
354
  placeholder: placeholder,
348
355
  onFocus: this.handleFocus,
349
356
  onKeyDown: this.props.onKeyDown,
357
+ onClick: this.handleClick,
350
358
  onBlur: this.handleBlur,
351
359
  inputRef: this.getInputElement,
352
360
  disabled: disabled,
@@ -466,6 +474,11 @@ HiInput.propTypes = process.env.NODE_ENV !== "production" ? {
466
474
  */
467
475
  onChange: PropTypes.func,
468
476
 
477
+ /**
478
+ * Fonction de callback appelée au click dans l'input
479
+ */
480
+ onClick: PropTypes.func,
481
+
469
482
  /**
470
483
  * Fonction de callback appelée au focus du champs
471
484
  */