@hipay/hipay-material-ui 2.0.0-beta.76 → 2.1.0

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,80 @@
1
+ # [2.1.0](https://gitlab.hipay.org/backend/hipay-material-ui/compare/0.0.1...2.1.0) (2019-08-29)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **eslint:** remove eslint warrnings in components (ignore test files) ([d236c62](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d236c62))
7
+ * **HiAlertModal:** Correct styles and buttons positions ([2cfa2a9](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2cfa2a9))
8
+ * **HiAlertModal:** Title is not required anymore and will not create warning ([4019d33](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4019d33))
9
+ * **HiBreadcrumb:** clean eslint warnings ([6db12fb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/6db12fb))
10
+ * **HiDatePicker:** add static positions for custom overlays ([c3edf24](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c3edf24))
11
+ * **HiDynamicSelect:** remove onSelect override ([b803044](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b803044))
12
+ * **HiExpansionPanel:** fix props propagation collapseDisable || expanded ([eb18a96](https://gitlab.hipay.org/backend/hipay-material-ui/commit/eb18a96))
13
+ * **HiExpansionPanel:** Fix props type a requirement ([cbc3b48](https://gitlab.hipay.org/backend/hipay-material-ui/commit/cbc3b48))
14
+ * **HiInput:** forward event in onClick ([be94fe0](https://gitlab.hipay.org/backend/hipay-material-ui/commit/be94fe0))
15
+ * **HiInput:** handle focus state through prop when needed to override default comportment ([9a133cc](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9a133cc))
16
+ * **HiInput:** rename prop to spellCheck ([c11939f](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c11939f))
17
+ * **HiKpiNotice:** eslint clean warnings ([11b5552](https://gitlab.hipay.org/backend/hipay-material-ui/commit/11b5552))
18
+ * **HiSelect:** Fix build of HiSelectContent ([4b87f78](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4b87f78))
19
+ * **HiSelect:** focus on undefined item ([2d084e6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2d084e6))
20
+ * **HiSelect:** Forward event in onBlur ([76c6778](https://gitlab.hipay.org/backend/hipay-material-ui/commit/76c6778))
21
+ * **HiSelect:** handle staticPosition & width properly for HiDateRangeSelector usage ([7b19ffb](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7b19ffb))
22
+ * **HiSelect:** remove HiSelectNew calls ([cc5397d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/cc5397d))
23
+ * **HiSelectableList:** Add lazy props to activate lazyloading (default true) and fix unit tests ([b41f8d2](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b41f8d2))
24
+ * **HiSelectableListItem:** disabled item checkbox color ([9f10552](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9f10552))
25
+ * **HiSelectableListItem:** remove item width ([a913945](https://gitlab.hipay.org/backend/hipay-material-ui/commit/a913945))
26
+ * **HiSelectContent:** Remove compute of input value ([b86db83](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b86db83))
27
+ * **HiSlider:** eslint clean warnings ([08964b1](https://gitlab.hipay.org/backend/hipay-material-ui/commit/08964b1))
28
+ * **HiTable:** Fix test ([9a009a8](https://gitlab.hipay.org/backend/hipay-material-ui/commit/9a009a8))
29
+ * **HiUploadField:** clean eslint warnings ([c76aaf1](https://gitlab.hipay.org/backend/hipay-material-ui/commit/c76aaf1))
30
+ * **migration:** fix contrast threshold ... ([6fb3b18](https://gitlab.hipay.org/backend/hipay-material-ui/commit/6fb3b18))
31
+ * **package:** add cross-env ([7098fd6](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7098fd6))
32
+
33
+
34
+ ### Code Refactoring
35
+
36
+ * deleting the old HiSelect and replacing it by the new (PSYCHE-1382) ([d5fc252](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d5fc252))
37
+
38
+
39
+ ### Features
40
+
41
+ * **CellImage:** Handle fallbackImage ([254799d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/254799d))
42
+ * **CellSentinel:** Uniformize cell api with front CellSentinel ([4e2975b](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4e2975b))
43
+ * **CellSentinel:** Update CellSentinel to the new way (split each result in different column) ([efe2711](https://gitlab.hipay.org/backend/hipay-material-ui/commit/efe2711))
44
+ * **CellSentinelScore:** Add CellSentinelScore ([2fff04d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/2fff04d))
45
+ * **CellText:** Handle active prop in CellText & column views in HiTable ([4366e60](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4366e60))
46
+ * **HiCells:** Add simple cells types (Address, Date, Icon, Image, Numeric, PinToAction, Rate, Senti ([f688517](https://gitlab.hipay.org/backend/hipay-material-ui/commit/f688517))
47
+ * **HiDatePicke:** add timezone props ([18360a5](https://gitlab.hipay.org/backend/hipay-material-ui/commit/18360a5))
48
+ * **HiDatePicker:** BREAKING CHANGE - add local prop to handle calendar translations ([b1b3743](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b1b3743))
49
+ * **HiIcon:** Add mdi-material-ui as available icons via 'mdi_' prefix ([1091d6d](https://gitlab.hipay.org/backend/hipay-material-ui/commit/1091d6d))
50
+ * **HiInput:** Add inputProps to enable passing props directly to input element ([d57466c](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d57466c))
51
+ * **HiInput:** add spellcheck property ([b2feac3](https://gitlab.hipay.org/backend/hipay-material-ui/commit/b2feac3))
52
+ * **HiMap:** unregister fetch on unmount ([0afa931](https://gitlab.hipay.org/backend/hipay-material-ui/commit/0afa931))
53
+ * **HiSelect:** Add (NEW) HiSelect, HiNestedSelect, HiDynamicSelect ([4c6447e](https://gitlab.hipay.org/backend/hipay-material-ui/commit/4c6447e))
54
+ * **HiSelect:** Reset search input on blur & on close ([d9af584](https://gitlab.hipay.org/backend/hipay-material-ui/commit/d9af584))
55
+ * **HiSelectableList:** Add sort props to sort item list on label ([f412ddc](https://gitlab.hipay.org/backend/hipay-material-ui/commit/f412ddc))
56
+ * **HiSelectContent:** Add new HiSelectContent & HiNestedSelectContent ([215ad8f](https://gitlab.hipay.org/backend/hipay-material-ui/commit/215ad8f))
57
+ * **HiSelectContent:** export utils functions ([7c41d87](https://gitlab.hipay.org/backend/hipay-material-ui/commit/7c41d87))
58
+ * **HiUploadField:** rename component HiUploadField ([593f77e](https://gitlab.hipay.org/backend/hipay-material-ui/commit/593f77e))
59
+ * **notice:** Création notice KPI ([bba3f89](https://gitlab.hipay.org/backend/hipay-material-ui/commit/bba3f89))
60
+
61
+
62
+ ### Performance Improvements
63
+
64
+ * **PureFunction:** Use pure & functional components ([220c686](https://gitlab.hipay.org/backend/hipay-material-ui/commit/220c686))
65
+
66
+
67
+ ### BREAKING CHANGES
68
+
69
+ * HiSelectNew no longer exist, make sure you're importing HiSelect instead
70
+ * **HiDatePicker:** Required "local" props (use polyglot, p.currentLocal)
71
+ * **HiUploadField:** Components names changes
72
+ * **HiCells:** Remove CellCountry, CellThirdParty, CellStatus & CellAccount (use generic type
73
+ CellImage & CellText)
74
+ * **HiSelect:** HiSelect API change, use HiNestedSelect or HiDynamicSelect relative to situation
75
+
76
+
77
+
1
78
  # [2.0.0-beta.76](https://gitlab.hipay.org/backend/hipay-material-ui/compare/0.0.1...2.0.0-beta.76) (2019-07-18)
2
79
 
3
80
 
@@ -59,10 +59,6 @@ var _stylesheet = _interopRequireDefault(require("./stylesheet"));
59
59
 
60
60
  var _reactDeviceDetect = require("react-device-detect");
61
61
 
62
- var _classnames = _interopRequireDefault(require("classnames"));
63
-
64
- var _HiFormControl = _interopRequireDefault(require("../HiForm/HiFormControl"));
65
-
66
62
  var _HiDatePickerMobile = _interopRequireDefault(require("./HiDatePickerMobile"));
67
63
 
68
64
  var HiDatePicker =
@@ -43,11 +43,14 @@ var _classnames = _interopRequireDefault(require("classnames"));
43
43
  var styles = function styles(theme) {
44
44
  return {
45
45
  summaryContent: {
46
- display: 'inline-block',
46
+ display: 'flex',
47
+ alignItems: 'baseline',
48
+ justifyContent: 'space-between',
47
49
  border: 'none',
48
50
  '&$expanded': {
49
51
  margin: 'initial'
50
- }
52
+ },
53
+ maxWidth: '100%'
51
54
  },
52
55
  summaryRoot: {
53
56
  borderBottom: '1px solid #E3E6E7',
@@ -77,17 +80,21 @@ var styles = function styles(theme) {
77
80
  display: 'flex',
78
81
  alignItems: 'center',
79
82
  fontSize: 11,
80
- lineHeight: '24px',
81
- float: 'right',
82
- marginRight: 32,
83
83
  '&>svg': {
84
84
  fontSize: 18,
85
85
  marginLeft: 3
86
86
  },
87
- "&>button": {
87
+ '&>button': {
88
88
  marginRight: -12
89
- }
89
+ },
90
+ marginLeft: 24,
91
+ overflow: 'hidden'
90
92
  }),
93
+ secondaryHeadingSpan: {
94
+ overflow: 'hidden',
95
+ whiteSpace: 'nowrap',
96
+ textOverflow: 'ellipsis'
97
+ },
91
98
  panel: {
92
99
  boxShadow: 'none',
93
100
  border: 'none'
@@ -156,10 +163,12 @@ function (_React$PureComponent) {
156
163
  className: (0, _classnames.default)((0, _defineProperty2.default)({}, classes.collapseDisable, collapseDisable)),
157
164
  expandIcon: !collapseDisable && _ref
158
165
  }, _react.default.createElement("div", {
159
- className: classes.secondaryHeading
160
- }, !effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled, secondaryHeadingIcon), _react.default.createElement("div", {
161
166
  className: classes.heading
162
- }, heading)), !!children && _react.default.createElement(_ExpansionPanelDetails.default, {
167
+ }, heading), _react.default.createElement("div", {
168
+ className: classes.secondaryHeading
169
+ }, _react.default.createElement("span", {
170
+ className: classes.secondaryHeadingSpan
171
+ }, !effectiveDisabled ? secondaryHeading : secondaryHeadingDisabled), secondaryHeadingIcon)), !!children && _react.default.createElement(_ExpansionPanelDetails.default, {
163
172
  className: classes.panelDetails
164
173
  }, children));
165
174
  }
package/HiForm/index.js CHANGED
@@ -59,6 +59,18 @@ Object.defineProperty(exports, "HiTextField", {
59
59
  return _HiTextField.default;
60
60
  }
61
61
  });
62
+ Object.defineProperty(exports, "HiUpload", {
63
+ enumerable: true,
64
+ get: function get() {
65
+ return _HiUpload.default;
66
+ }
67
+ });
68
+ Object.defineProperty(exports, "HiUploadField", {
69
+ enumerable: true,
70
+ get: function get() {
71
+ return _HiUploadField.default;
72
+ }
73
+ });
62
74
 
63
75
  var _HiAddressField = _interopRequireDefault(require("./HiAddressField"));
64
76
 
@@ -76,4 +88,8 @@ var _HiSearchField = _interopRequireDefault(require("./HiSearchField"));
76
88
 
77
89
  var _HiSlider = _interopRequireDefault(require("./HiSlider"));
78
90
 
79
- var _HiTextField = _interopRequireDefault(require("./HiTextField"));
91
+ var _HiTextField = _interopRequireDefault(require("./HiTextField"));
92
+
93
+ var _HiUpload = _interopRequireDefault(require("./HiUpload"));
94
+
95
+ var _HiUploadField = _interopRequireDefault(require("./HiUploadField"));
package/HiNotice/HiKPI.js CHANGED
@@ -45,7 +45,11 @@ var styles = function styles(theme) {
45
45
  textAlign: 'center',
46
46
  flexDirection: 'column',
47
47
  alignItems: 'center',
48
- fontFamily: theme.typography.fontFamily
48
+ fontFamily: theme.typography.fontFamily,
49
+ transition: 'height .5s ease-out'
50
+ },
51
+ rootDisable: {
52
+ cursor: 'default'
49
53
  },
50
54
  error: {
51
55
  boxShadow: '0px 2px 4px 0px rgba(213, 0, 0, 0.24)',
@@ -149,20 +153,20 @@ function (_React$Component) {
149
153
  id = _this$props.id,
150
154
  tooltip = _this$props.tooltip,
151
155
  disable = _this$props.disable;
152
- var rootclass = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.inherit, color === 'inherit' && !disable), (0, _defineProperty2.default)(_classNames, classes.warning, color === 'warning' && !disable), (0, _defineProperty2.default)(_classNames, classes.error, color === 'error' && !disable), (0, _defineProperty2.default)(_classNames, classes.positive, color === 'positive' && !disable), (0, _defineProperty2.default)(_classNames, classes.active, active), (0, _defineProperty2.default)(_classNames, classes.minify, minify), _classNames));
153
- return _react.default.createElement(_Collapse.default, {
154
- in: !minify,
155
- timeout: "auto",
156
- collapsedHeight: "88px"
157
- }, _react.default.createElement(_ButtonBase.default, {
156
+ var rootclass = (0, _classnames.default)(classes.root, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.inherit, color === 'inherit' && !disable), (0, _defineProperty2.default)(_classNames, classes.warning, color === 'warning' && !disable), (0, _defineProperty2.default)(_classNames, classes.error, color === 'error' && !disable), (0, _defineProperty2.default)(_classNames, classes.positive, color === 'positive' && !disable), (0, _defineProperty2.default)(_classNames, classes.active, active), (0, _defineProperty2.default)(_classNames, classes.minify, minify), (0, _defineProperty2.default)(_classNames, classes.rootDisable, disable), _classNames));
157
+ return _react.default.createElement(_ButtonBase.default, {
158
158
  className: rootclass,
159
159
  onClick: !disable ? this.handleClick(id) : undefined,
160
- title: tooltip
160
+ title: tooltip,
161
+ disableRipple: disable
161
162
  }, title && _react.default.createElement("h3", {
162
163
  className: classes.title
163
164
  }, title), _react.default.createElement("div", {
164
165
  className: classes.body
165
- }, minify && bodyMinify ? bodyMinify : body), subtitle && minify === false && _react.default.createElement("div", {
166
+ }, minify && bodyMinify ? bodyMinify : body), _react.default.createElement(_Collapse.default, {
167
+ in: !minify,
168
+ timeout: 'auto'
169
+ }, _react.default.createElement("div", {
166
170
  className: classes.subtitle
167
171
  }, subtitle)));
168
172
  }
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.styles = void 0;
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -301,6 +303,8 @@ function (_React$Component) {
301
303
  _this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(HiPaymentMeans)).call.apply(_getPrototypeOf2, [this].concat(args)));
302
304
 
303
305
  _this.buildPaymentLayoutByType = function () {
306
+ var _classNames;
307
+
304
308
  var _this$props = _this.props,
305
309
  businessName = _this$props.businessName,
306
310
  cardNumber = _this$props.cardNumber,
@@ -317,7 +321,8 @@ function (_React$Component) {
317
321
  theme = _this$props.theme,
318
322
  translations = _this$props.translations,
319
323
  type = _this$props.type,
320
- yearMember = _this$props.yearMember;
324
+ yearMember = _this$props.yearMember,
325
+ fallbackImage = _this$props.fallbackImage;
321
326
  var formatNumber;
322
327
 
323
328
  if (type === 'credit-card' || type === 'debit-card' || type === 'prepaid-card') {
@@ -348,7 +353,25 @@ function (_React$Component) {
348
353
  username = "".concat(translations.gender_male, " ").concat(cardUser);
349
354
  }
350
355
 
351
- var creditDebit = translations.credit && translations.debit && (credit ? translations.credit : translations.debit).toUpperCase();
356
+ var creditDebit = null;
357
+
358
+ if (translations.credit && translations.debit) {
359
+ creditDebit = (credit ? translations.credit : translations.debit).toUpperCase();
360
+ }
361
+
362
+ var imgComponent = _react.default.createElement("img", {
363
+ src: brandLogo,
364
+ alt: '',
365
+ className: (0, _classnames.default)(classes.logo, (_classNames = {}, (0, _defineProperty2.default)(_classNames, classes.logoLeft, ['ewallet', 'open-invoice', 'payment-reference', 'credit-consumption', 'realtime-banking'].indexOf(type) >= 0), (0, _defineProperty2.default)(_classNames, classes.logoRight, ['ewallet', 'open-invoice', 'payment-reference', 'credit-consumption', 'realtime-banking'].indexOf(type) < 0), _classNames)),
366
+ onError: function onError(e) {
367
+ if (fallbackImage) {
368
+ e.target.src = "".concat(fallbackImage);
369
+ } else {
370
+ e.target.style.display = 'none';
371
+ }
372
+ }
373
+ });
374
+
352
375
  var cardLayout;
353
376
 
354
377
  switch (type) {
@@ -368,11 +391,7 @@ function (_React$Component) {
368
391
  className: (0, _classnames.default)(classes.labelLarge, classes.userNameWallet)
369
392
  }, username), _react.default.createElement("span", {
370
393
  className: (0, _classnames.default)(classes.stripe, classes.stripeBottomLeft)
371
- }, _react.default.createElement("img", {
372
- src: brandLogo,
373
- alt: '',
374
- className: (0, _classnames.default)(classes.logo, classes.logoLeft)
375
- })), _react.default.createElement("span", {
394
+ }, imgComponent), _react.default.createElement("span", {
376
395
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeBottomLeft, classes.stripeGradientBottomLeft)
377
396
  })));
378
397
  break;
@@ -386,11 +405,7 @@ function (_React$Component) {
386
405
  }
387
406
  }, _react.default.createElement("span", {
388
407
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
389
- }, _react.default.createElement("img", {
390
- src: brandLogo,
391
- alt: '',
392
- className: (0, _classnames.default)(classes.logo, classes.logoRight)
393
- })), _react.default.createElement("span", {
408
+ }, imgComponent), _react.default.createElement("span", {
394
409
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeTopRight, classes.stripeGradientTopRight)
395
410
  }), _react.default.createElement("div", {
396
411
  className: (0, _classnames.default)(classes.number, classes.cardNumber)
@@ -413,11 +428,7 @@ function (_React$Component) {
413
428
  }
414
429
  }, _react.default.createElement("span", {
415
430
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
416
- }, _react.default.createElement("img", {
417
- src: brandLogo,
418
- alt: '',
419
- className: (0, _classnames.default)(classes.logo, classes.logoRight)
420
- })), _react.default.createElement("span", {
431
+ }, imgComponent), _react.default.createElement("span", {
421
432
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeTopRight, classes.stripeGradientTopRight)
422
433
  }, _react.default.createElement("div", {
423
434
  className: classes.corporateLabel,
@@ -454,11 +465,7 @@ function (_React$Component) {
454
465
  }
455
466
  }, _react.default.createElement("span", {
456
467
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopLeft)
457
- }, _react.default.createElement("img", {
458
- src: brandLogo,
459
- alt: '',
460
- className: (0, _classnames.default)(classes.logo, classes.logoLeft)
461
- })), _react.default.createElement("span", {
468
+ }, imgComponent), _react.default.createElement("span", {
462
469
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeTopLeft, classes.stripeGradientTopLeft)
463
470
  }), cardNumber && _react.default.createElement("div", {
464
471
  className: (0, _classnames.default)(classes.labelMedium, classes.ibanLabel)
@@ -479,11 +486,7 @@ function (_React$Component) {
479
486
  }
480
487
  }, _react.default.createElement("span", {
481
488
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
482
- }, _react.default.createElement("img", {
483
- src: brandLogo,
484
- alt: '',
485
- className: (0, _classnames.default)(classes.logo, classes.logoRight)
486
- })), _react.default.createElement("span", {
489
+ }, imgComponent), _react.default.createElement("span", {
487
490
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeTopRight, classes.stripeGradientTopRight)
488
491
  }, _react.default.createElement("img", {
489
492
  src: logoMerchant,
@@ -506,11 +509,7 @@ function (_React$Component) {
506
509
  }
507
510
  }, _react.default.createElement("span", {
508
511
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
509
- }, _react.default.createElement("img", {
510
- src: brandLogo,
511
- alt: '',
512
- className: (0, _classnames.default)(classes.logo, classes.logoRight)
513
- })), _react.default.createElement("span", {
512
+ }, imgComponent), _react.default.createElement("span", {
514
513
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeTopRight, classes.stripeGradientTopRight)
515
514
  }), _react.default.createElement("div", {
516
515
  className: (0, _classnames.default)(classes.number, classes.cardNumber)
@@ -622,6 +621,11 @@ HiPaymentMeans.propTypes = process.env.NODE_ENV !== "production" ? {
622
621
  */
623
622
  credit: _propTypes.default.bool,
624
623
 
624
+ /**
625
+ * Chemin vers l'image à afficher par défaut si le logo n'est pas trouvé
626
+ */
627
+ fallbackImage: _propTypes.default.string,
628
+
625
629
  /**
626
630
  * Logo du moyen de paiement
627
631
  */
@@ -19,8 +19,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
19
19
 
20
20
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
21
 
22
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
23
-
24
22
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
23
 
26
24
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -210,6 +208,7 @@ function (_React$PureComponent) {
210
208
  className: classes.selectIconLabel
211
209
  }, _react.default.createElement(_HiIcon.default, {
212
210
  className: classes.labelIcon,
211
+ color: item.color,
213
212
  icon: item.icon
214
213
  }), item.label);
215
214
  } else if (type === 'image' || item.type === 'image') {
@@ -512,6 +511,20 @@ function (_React$PureComponent) {
512
511
  }, '');
513
512
  };
514
513
 
514
+ _this.getLengthItemList = function (itemList) {
515
+ var itemListLength = 0;
516
+ itemList.forEach(function (parent) {
517
+ if (parent.displayed !== false) {
518
+ itemListLength += 1;
519
+
520
+ if (parent.children) {
521
+ itemListLength += _this.getLengthItemList(parent.children);
522
+ }
523
+ }
524
+ });
525
+ return itemListLength;
526
+ };
527
+
515
528
  _this.state = {
516
529
  alertOpen: false,
517
530
  open: false,
@@ -521,16 +534,6 @@ function (_React$PureComponent) {
521
534
  openDown: true,
522
535
  overlayWidth: 0
523
536
  };
524
- _this.handleBlur = _this.handleBlur.bind((0, _assertThisInitialized2.default)(_this));
525
- _this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2.default)(_this));
526
- _this.handleClose = _this.handleClose.bind((0, _assertThisInitialized2.default)(_this));
527
- _this.handleClickAway = _this.handleClickAway.bind((0, _assertThisInitialized2.default)(_this));
528
- _this.handleFocus = _this.handleFocus.bind((0, _assertThisInitialized2.default)(_this));
529
- _this.handleSearch = _this.handleSearch.bind((0, _assertThisInitialized2.default)(_this));
530
- _this.handleSearchReset = _this.handleSearchReset.bind((0, _assertThisInitialized2.default)(_this));
531
- _this.handleSelect = _this.handleSelect.bind((0, _assertThisInitialized2.default)(_this));
532
- _this.handleSuggestions = _this.handleSuggestions.bind((0, _assertThisInitialized2.default)(_this));
533
- _this.getInputElement = _this.getInputElement.bind((0, _assertThisInitialized2.default)(_this));
534
537
  return _this;
535
538
  }
536
539
 
@@ -547,28 +550,11 @@ function (_React$PureComponent) {
547
550
  });
548
551
  }
549
552
  }
550
- }, {
551
- key: "getLengthItemList",
552
- value: function getLengthItemList(itemList) {
553
- var _this2 = this;
554
-
555
- var itemListLength = 0;
556
- itemList.forEach(function (parent) {
557
- if (parent.displayed !== false) {
558
- itemListLength += 1;
559
-
560
- if (parent.children) {
561
- itemListLength += _this2.getLengthItemList(parent.children);
562
- }
563
- }
564
- });
565
- return itemListLength;
566
- }
567
553
  }, {
568
554
  key: "render",
569
555
  value: function render() {
570
556
  var _classNames,
571
- _this3 = this;
557
+ _this2 = this;
572
558
 
573
559
  var _this$props4 = this.props,
574
560
  alert = _this$props4.alert,
@@ -594,6 +580,7 @@ function (_React$PureComponent) {
594
580
  searchValue = _this$props4$searchVa === void 0 ? this.state.searchValue : _this$props4$searchVa,
595
581
  startAdornment = _this$props4.startAdornment,
596
582
  staticPosition = _this$props4.staticPosition,
583
+ maxOptionsDisplayed = _this$props4.maxOptionsDisplayed,
597
584
  _this$props4$buildSel = _this$props4.buildSelectProps,
598
585
  buildSelectProps = _this$props4$buildSel === void 0 ? this.buildSelectProps : _this$props4$buildSel;
599
586
  var _this$state = this.state,
@@ -637,10 +624,10 @@ function (_React$PureComponent) {
637
624
  return _react.default.createElement(_HiInput.default, (0, _extends2.default)({
638
625
  value: searchValue,
639
626
  autoFocus: true,
640
- inputRef: _this3.getInputElement,
641
- onKeyDown: _this3.handleKeyDownSearch,
642
- onChange: _this3.handleSearch,
643
- onReset: _this3.handleSearchReset,
627
+ inputRef: _this2.getInputElement,
628
+ onKeyDown: _this2.handleKeyDownSearch,
629
+ onChange: _this2.handleSearch,
630
+ onReset: _this2.handleSearchReset,
644
631
  placeholder: translations.search,
645
632
  startAdornment: 'search',
646
633
  tabIndex: 0,
@@ -656,7 +643,7 @@ function (_React$PureComponent) {
656
643
  // In case we have a nested list
657
644
  var itemListLength = this.getLengthItemList(itemList); // +1 for search input
658
645
 
659
- var nbItems = itemListLength <= 10 ? itemListLength + 1 : 11;
646
+ var nbItems = itemListLength <= maxOptionsDisplayed - 2 ? itemListLength + 1 : maxOptionsDisplayed - 1;
660
647
  popperStyle.transform = "translate3d(-1px, -".concat(nbItems * 40 + 2, "px, 0px)");
661
648
  } else if (this.placement && this.placement.indexOf('top') < 0 && !!searchable) {
662
649
  popperStyle.transform = 'translate3d(-1px, 40px, 0px)';
@@ -665,12 +652,14 @@ function (_React$PureComponent) {
665
652
  var content = function content(_ref) {
666
653
  var placement = _ref.placement;
667
654
 
668
- if (placement !== _this3.placement) {
669
- _this3.placement = placement;
655
+ if (placement !== _this2.placement) {
656
+ _this2.placement = placement;
670
657
  }
671
658
 
659
+ var nbItemsDisplayed = !!searchable ? maxOptionsDisplayed - 1 : maxOptionsDisplayed;
660
+ var autoHeightMax = nbItemsDisplayed * 40 - 10;
672
661
  return _react.default.createElement(_ClickAwayListener.default, {
673
- onClickAway: _this3.handleClickAway
662
+ onClickAway: _this2.handleClickAway
674
663
  }, _react.default.createElement(_Grow.default, {
675
664
  in: open,
676
665
  id: "menu-list",
@@ -678,30 +667,33 @@ function (_React$PureComponent) {
678
667
  transformOrigin: '0 0 0'
679
668
  }
680
669
  }, _react.default.createElement(_Paper.default, {
670
+ style: maxOptionsDisplayed < 12 ? {
671
+ maxHeight: 40 * maxOptionsDisplayed
672
+ } : {},
681
673
  className: classes.paper
682
- }, (_this3.placement && _this3.placement.indexOf('bottom') >= 0 || staticPosition) && searchInput('bottom'), startAdornment, _react.default.createElement(_reactCustomScrollbars.default, (0, _extends2.default)({
674
+ }, (_this2.placement && _this2.placement.indexOf('bottom') >= 0 || staticPosition) && searchInput('bottom'), startAdornment, _react.default.createElement(_reactCustomScrollbars.default, (0, _extends2.default)({
683
675
  ref: function ref(contentEl) {
684
- _this3.optionsContent = contentEl;
676
+ _this2.optionsContent = contentEl;
685
677
  },
686
678
  autoHeight: true,
687
- autoHeightMax: 430
679
+ autoHeightMax: autoHeightMax
688
680
  }, onScrollReachBottom && {
689
- onScroll: _this3.handleScroll
681
+ onScroll: _this2.handleScroll
690
682
  }), _react.default.createElement(_HiSelectableList.default, (0, _extends2.default)({
691
683
  type: type,
692
684
  itemList: itemList,
693
- onSelect: _this3.handleSelect,
685
+ onSelect: _this2.handleSelect,
694
686
  selectedItemIdList: selectedItemIdList,
695
- fallbackImage: _this3.props.fallbackImage,
696
- overlay: _this3.overlay,
687
+ fallbackImage: _this2.props.fallbackImage,
688
+ overlay: _this2.overlay,
697
689
  value: value
698
- }, hiSelectableListProps))), _this3.placement && _this3.placement.indexOf('top') >= 0 && !staticPosition && searchInput('top'))));
690
+ }, hiSelectableListProps))), _this2.placement && _this2.placement.indexOf('top') >= 0 && !staticPosition && searchInput('top'))));
699
691
  };
700
692
 
701
693
  return !_reactDeviceDetect.isMobile ? _react.default.createElement("div", {
702
694
  className: classes.root,
703
695
  ref: function ref(el) {
704
- _this3.overlay = el;
696
+ _this2.overlay = el;
705
697
  },
706
698
  onKeyDown: this.handleKeyDown,
707
699
  onKeyDownCapture: this.handleKeyDownCapture
@@ -734,7 +726,7 @@ function (_React$PureComponent) {
734
726
  placeholder: placeholder
735
727
  }, hiSelectInputProps, {
736
728
  refElement: function refElement(el) {
737
- _this3.inputEl = el;
729
+ _this2.inputEl = el;
738
730
  }
739
731
  })), open && staticPosition ? _react.default.createElement("div", {
740
732
  style: popperStyle,
@@ -748,7 +740,7 @@ function (_React$PureComponent) {
748
740
  style: popperStyle
749
741
  }, content)) : _react.default.createElement("div", {
750
742
  ref: function ref(el) {
751
- _this3.overlay = el;
743
+ _this2.overlay = el;
752
744
  }
753
745
  }, _react.default.createElement(_HiSelectInput.default, (0, _extends2.default)({
754
746
  id: id,
@@ -767,7 +759,7 @@ function (_React$PureComponent) {
767
759
  placeholder: placeholder
768
760
  }, hiSelectInputProps, {
769
761
  refElement: function refElement(el) {
770
- _this3.inputEl = el;
762
+ _this2.inputEl = el;
771
763
  }
772
764
  })), _react.default.createElement(_HiSelectMobile.default, {
773
765
  onChange: this.handleSelect,
@@ -826,7 +818,8 @@ HiSelect.defaultProps = {
826
818
  one_child: '%s item'
827
819
  },
828
820
  type: 'text',
829
- filterFunc: filterValue
821
+ filterFunc: filterValue,
822
+ maxOptionsDisplayed: 12
830
823
  };
831
824
  HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
832
825
  /**
@@ -910,6 +903,11 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
910
903
  */
911
904
  loading: _propTypes.default.bool,
912
905
 
906
+ /**
907
+ * Nombre max d'items affichés
908
+ */
909
+ maxOptionsDisplayed: _propTypes.default.number,
910
+
913
911
  /**
914
912
  * Autorise la sélection de plusieurs valeurs
915
913
  */