@hipay/hipay-material-ui 3.7.0 → 3.7.2

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.
@@ -70,144 +70,165 @@ var HiCellBuilder = /*#__PURE__*/function (_React$PureComponent) {
70
70
  var datacell = typeof rowdata[cell.colId] !== 'undefined' ? rowdata[cell.colId] : rowdata.datas[cell.colId];
71
71
 
72
72
  if (datacell !== null) {
73
- if (cell.data !== undefined) {
74
- var refproperties = cell.data.find(function (el) {
75
- return el.id === datacell.value;
76
- });
77
-
78
- if (refproperties) {
79
- Object.keys(refproperties).forEach(function (key) {
80
- datacell[key] = refproperties[key];
81
- });
82
- }
83
- /* else {
84
- datacell = undefined;
85
- }*/
73
+ // Handle mutliple values (details rows)
74
+ if (datacell.length === 1) {
75
+ datacell = datacell[0];
76
+ } else if (datacell.length > 1) {
77
+ var align;
86
78
 
87
- }
88
-
89
- if (datacell) {
90
79
  switch (cell.type) {
91
80
  case cst.TYPE_NUMERIC:
92
81
  case cst.TYPE_AMOUNT:
93
- return /*#__PURE__*/_react.default.createElement(_CellNumeric.default, {
94
- value: datacell.value,
95
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
96
- precision: cell.precision,
97
- currency: datacell.currency,
98
- locale: datacell.locale || cell.locale || locale,
99
- isButton: datacell.isButton,
100
- onClick: datacell.handleClick,
101
- rowId: rowdata.rowId
102
- });
103
-
104
- case cst.TYPE_COUNTRY:
105
- return /*#__PURE__*/_react.default.createElement(_CellImage.default, {
106
- label: datacell.label,
107
- shortLabel: datacell.id,
108
- path: datacell.img,
109
- size: datacell.size,
110
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
111
- });
112
-
113
- case cst.TYPE_IMAGE:
114
- return /*#__PURE__*/_react.default.createElement(_CellImage.default, {
115
- label: datacell.label || datacell.value,
116
- shortLabel: datacell.id,
117
- path: datacell.img,
118
- size: datacell.size || cell.size,
119
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
120
- fallbackImage: datacell.fallbackImage,
121
- title: cell.title ? cell.title(datacell, cell) : datacell.title
122
- });
123
-
124
- case cst.TYPE_RATE:
125
- return /*#__PURE__*/_react.default.createElement(_CellRate.default, {
126
- indicator: datacell.indicator,
127
- isPositive: datacell.isPositive,
128
- locale: datacell.locale || cell.locale || locale,
129
- value: datacell.value,
130
- trendchip: datacell.trendchip,
131
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
132
- });
133
-
134
- case cst.TYPE_ADDRESS:
135
- return /*#__PURE__*/_react.default.createElement(_CellAddress.default, {
136
- city: datacell.city,
137
- country: datacell.country,
138
- isoCountry: datacell.isoCountry,
139
- name: datacell.name,
140
- postalCode: datacell.postalCode,
141
- streetAddress: datacell.streetAddress,
142
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
143
- });
82
+ align = "right";
83
+ break;
144
84
 
145
- case cst.TYPE_DATE:
146
- return /*#__PURE__*/_react.default.createElement(_CellDate.default, {
147
- date: datacell.date,
148
- displayTime: datacell.displayTime,
149
- formatShort: datacell.formatShort,
150
- locale: datacell.locale || cell.precision || locale,
151
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
152
- });
153
-
154
- case cst.TYPE_ICON:
155
- return /*#__PURE__*/_react.default.createElement(_CellIcon.default, {
156
- align: cell.align,
157
- color: datacell.color,
158
- icon: datacell.icon,
159
- label: datacell.label,
160
- onClick: datacell.handleClick,
161
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
162
- size: cell.size
163
- });
164
-
165
- case cst.TYPE_THIRD_PARTY_SECURITY:
166
- return /*#__PURE__*/_react.default.createElement(_CellIcon.default, {
167
- color: datacell.color,
168
- icon: datacell.icon,
169
- label: datacell.label,
170
- view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
171
- size: cell.size
172
- });
85
+ default:
86
+ align = "center";
87
+ }
173
88
 
174
- case cst.TYPE_SENTINEL:
175
- return /*#__PURE__*/_react.default.createElement(_CellSentinel.default, {
176
- color: datacell.color,
177
- label: datacell.label,
178
- letter: datacell.label2,
179
- active: datacell.active,
180
- reviewer: datacell.reviewer,
181
- outlined: datacell.outlined
182
- });
89
+ return /*#__PURE__*/_react.default.createElement(_CellPinToAction.default, {
90
+ number: datacell.length,
91
+ color: "default",
92
+ align: align
93
+ });
94
+ }
183
95
 
184
- case cst.TYPE_SCORE:
185
- return /*#__PURE__*/_react.default.createElement(_CellSentinelScore.default, {
186
- value: datacell.value,
187
- result: datacell.result,
188
- active: datacell.active
189
- });
96
+ if (datacell !== null) {
97
+ if (cell.data !== undefined) {
98
+ var refproperties = cell.data.find(function (el) {
99
+ return el.id === datacell.value;
100
+ });
190
101
 
191
- case cst.TYPE_PIN_TO_ACTION:
192
- return /*#__PURE__*/_react.default.createElement(_CellPinToAction.default, {
193
- number: datacell.number // eslint-disable-next-line react/jsx-handler-names
194
- ,
195
- onClick: datacell.onClick
102
+ if (refproperties) {
103
+ Object.keys(refproperties).forEach(function (key) {
104
+ datacell[key] = refproperties[key];
196
105
  });
106
+ }
107
+ }
197
108
 
198
- case cst.TYPE_ACCOUNT_NUMBER:
199
- case cst.TYPE_CUSTOMER_ACCOUNT_NUMBER:
200
- default:
201
- return /*#__PURE__*/_react.default.createElement(_CellTextStyled.default, {
202
- active: datacell.active,
203
- color: datacell.color,
204
- label: datacell.label,
205
- isButton: datacell.isButton,
206
- onClick: datacell.handleClick,
207
- title: cell.title ? cell.title(datacell, cell) : datacell.title,
208
- value: datacell.value,
209
- align: cell.align
210
- });
109
+ if (datacell) {
110
+ switch (cell.type) {
111
+ case cst.TYPE_NUMERIC:
112
+ case cst.TYPE_AMOUNT:
113
+ return /*#__PURE__*/_react.default.createElement(_CellNumeric.default, {
114
+ value: datacell.value,
115
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
116
+ precision: cell.precision,
117
+ currency: datacell.currency,
118
+ locale: datacell.locale || cell.locale || locale,
119
+ isButton: datacell.isButton,
120
+ onClick: datacell.handleClick,
121
+ rowId: rowdata.rowId
122
+ });
123
+
124
+ case cst.TYPE_COUNTRY:
125
+ return /*#__PURE__*/_react.default.createElement(_CellImage.default, {
126
+ label: datacell.label,
127
+ shortLabel: datacell.id,
128
+ path: datacell.img,
129
+ size: datacell.size,
130
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
131
+ });
132
+
133
+ case cst.TYPE_IMAGE:
134
+ return /*#__PURE__*/_react.default.createElement(_CellImage.default, {
135
+ label: datacell.label || datacell.value,
136
+ shortLabel: datacell.shortLabel,
137
+ path: datacell.img,
138
+ size: datacell.size || cell.size,
139
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
140
+ fallbackImage: datacell.fallbackImage,
141
+ title: cell.title ? cell.title(datacell, cell) : datacell.title
142
+ });
143
+
144
+ case cst.TYPE_RATE:
145
+ return /*#__PURE__*/_react.default.createElement(_CellRate.default, {
146
+ indicator: datacell.indicator,
147
+ isPositive: datacell.isPositive,
148
+ locale: datacell.locale || cell.locale || locale,
149
+ value: datacell.value,
150
+ trendchip: datacell.trendchip,
151
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
152
+ });
153
+
154
+ case cst.TYPE_ADDRESS:
155
+ return /*#__PURE__*/_react.default.createElement(_CellAddress.default, {
156
+ city: datacell.city,
157
+ country: datacell.country,
158
+ isoCountry: datacell.isoCountry,
159
+ name: datacell.name,
160
+ postalCode: datacell.postalCode,
161
+ streetAddress: datacell.streetAddress,
162
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
163
+ });
164
+
165
+ case cst.TYPE_DATE:
166
+ return /*#__PURE__*/_react.default.createElement(_CellDate.default, {
167
+ date: datacell.date,
168
+ displayTime: datacell.displayTime,
169
+ formatShort: datacell.formatShort,
170
+ locale: datacell.locale || cell.precision || locale,
171
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type]
172
+ });
173
+
174
+ case cst.TYPE_ICON:
175
+ return /*#__PURE__*/_react.default.createElement(_CellIcon.default, {
176
+ align: cell.align,
177
+ color: datacell.color,
178
+ icon: datacell.icon,
179
+ label: datacell.label,
180
+ onClick: datacell.handleClick,
181
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
182
+ size: cell.size
183
+ });
184
+
185
+ case cst.TYPE_THIRD_PARTY_SECURITY:
186
+ return /*#__PURE__*/_react.default.createElement(_CellIcon.default, {
187
+ color: datacell.color,
188
+ icon: datacell.icon,
189
+ label: datacell.label,
190
+ view: cell.view ? cell.view : cst.DEFAULT_VIEWS[cell.type],
191
+ size: cell.size
192
+ });
193
+
194
+ case cst.TYPE_SENTINEL:
195
+ return /*#__PURE__*/_react.default.createElement(_CellSentinel.default, {
196
+ color: datacell.color,
197
+ label: datacell.label,
198
+ letter: datacell.label2,
199
+ active: datacell.active,
200
+ reviewer: datacell.reviewer,
201
+ outlined: datacell.outlined
202
+ });
203
+
204
+ case cst.TYPE_SCORE:
205
+ return /*#__PURE__*/_react.default.createElement(_CellSentinelScore.default, {
206
+ value: datacell.value,
207
+ result: datacell.result,
208
+ active: datacell.active
209
+ });
210
+
211
+ case cst.TYPE_PIN_TO_ACTION:
212
+ return /*#__PURE__*/_react.default.createElement(_CellPinToAction.default, {
213
+ number: datacell.number // eslint-disable-next-line react/jsx-handler-names
214
+ ,
215
+ onClick: datacell.onClick
216
+ });
217
+
218
+ case cst.TYPE_ACCOUNT_NUMBER:
219
+ case cst.TYPE_CUSTOMER_ACCOUNT_NUMBER:
220
+ default:
221
+ return /*#__PURE__*/_react.default.createElement(_CellTextStyled.default, {
222
+ active: datacell.active,
223
+ color: datacell.color,
224
+ label: datacell.label,
225
+ isButton: datacell.isButton,
226
+ onClick: datacell.handleClick,
227
+ title: cell.title ? cell.title(datacell, cell) : datacell.title,
228
+ value: datacell.value,
229
+ align: cell.align
230
+ });
231
+ }
211
232
  }
212
233
  }
213
234
  }
@@ -83,8 +83,8 @@ var CellImage = /*#__PURE__*/function (_React$PureComponent) {
83
83
  view = _this$props.view,
84
84
  size = _this$props.size,
85
85
  fallbackImage = _this$props.fallbackImage,
86
- title = _this$props.title,
87
- value = _this$props.value;
86
+ title = _this$props.title;
87
+ var displayedLabel = shortLabel && view === 'm' ? shortLabel : label;
88
88
  return /*#__PURE__*/_react.default.createElement("div", {
89
89
  className: classes.wrapper,
90
90
  title: label
@@ -95,11 +95,9 @@ var CellImage = /*#__PURE__*/function (_React$PureComponent) {
95
95
  className: classes.img,
96
96
  width: size,
97
97
  onError: handleError(fallbackImage)
98
- }), shortLabel && view === 'm' && /*#__PURE__*/_react.default.createElement("span", {
98
+ }), /*#__PURE__*/_react.default.createElement("span", {
99
99
  className: classes.label
100
- }, shortLabel), label && (view === 'l' || view === 'm' && !shortLabel) && /*#__PURE__*/_react.default.createElement("span", {
101
- className: classes.label
102
- }, label));
100
+ }, displayedLabel));
103
101
  }
104
102
  }]);
105
103
  return CellImage;
@@ -28,9 +28,15 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
28
28
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
29
29
 
30
30
  var styles = {
31
- wrapper: {
31
+ wrapperLeft: {
32
32
  maxWidth: '100%',
33
33
  display: 'inline-flex'
34
+ },
35
+ wrapperRigth: {
36
+ textAlign: 'right'
37
+ },
38
+ wrapperCenter: {
39
+ textAlign: 'center'
34
40
  }
35
41
  };
36
42
  /**
@@ -57,12 +63,22 @@ var CellPinToAction = /*#__PURE__*/function (_React$PureComponent) {
57
63
  var _this$props = this.props,
58
64
  classes = _this$props.classes,
59
65
  onClick = _this$props.onClick,
60
- number = _this$props.number;
66
+ number = _this$props.number,
67
+ color = _this$props.color,
68
+ align = _this$props.align;
61
69
  if (number === undefined) return '';
70
+ var wrapperClass = classes.wrapperLeft;
71
+
72
+ if (align === "right") {
73
+ wrapperClass = classes.wrapperRigth;
74
+ } else if (align === "center") {
75
+ wrapperClass = classes.wrapperCenter;
76
+ }
77
+
62
78
  return /*#__PURE__*/_react.default.createElement("div", {
63
- className: classes.wrapper
79
+ className: wrapperClass
64
80
  }, number === 0 ? _ref : /*#__PURE__*/_react.default.createElement(_HiPin.default, {
65
- color: "primary",
81
+ color: color,
66
82
  onClick: onClick
67
83
  }, number));
68
84
  }
@@ -70,6 +86,11 @@ var CellPinToAction = /*#__PURE__*/function (_React$PureComponent) {
70
86
  return CellPinToAction;
71
87
  }(_react.default.PureComponent);
72
88
 
89
+ CellPinToAction.defaultProps = {
90
+ color: "primary",
91
+ align: "left"
92
+ };
93
+
73
94
  var _default = (0, _styles.withStyles)(styles, {
74
95
  name: 'HmuiCellPin'
75
96
  })(CellPinToAction);
@@ -415,7 +415,8 @@ var HiDateRangeSelector = /*#__PURE__*/function (_React$Component) {
415
415
  type: PRESET_PERIOD_LIST.includes(selectedPreset) ? "primary-highlight" : "highlight",
416
416
  pinned: true,
417
417
  icon: _ref2,
418
- label: translations.preset_periods
418
+ label: translations.preset_periods,
419
+ selectable: false
419
420
  });
420
421
  presetOptionsAvailable.forEach(function (option) {
421
422
  options.push(_this2.options.find(function (_option) {
@@ -430,7 +431,8 @@ var HiDateRangeSelector = /*#__PURE__*/function (_React$Component) {
430
431
  type: CUSTOM_PERIOD_LIST.includes(selectedPreset) ? "primary-highlight" : "highlight",
431
432
  pinned: true,
432
433
  icon: _ref3,
433
- label: translations.custom_periods
434
+ label: translations.custom_periods,
435
+ selectable: false
434
436
  });
435
437
  customOptionsAvailable.forEach(function (option) {
436
438
  options.push(_this2.options.find(function (_option) {
@@ -467,7 +469,8 @@ var HiDateRangeSelector = /*#__PURE__*/function (_React$Component) {
467
469
  classes = _this$props2.classes,
468
470
  selectProps = _this$props2.selectProps,
469
471
  staticPosition = _this$props2.staticPosition,
470
- props = (0, _objectWithoutProperties2.default)(_this$props2, ["availableOptionKeys", "disabled", "enableTime", "errorText", "fromError", "toError", "helperIcon", "helperText", "idRange", "idSelect", "minimumDate", "label", "from", "onChange", "required", "to", "translations", "classes", "selectProps", "staticPosition"]);
472
+ className = _this$props2.className,
473
+ props = (0, _objectWithoutProperties2.default)(_this$props2, ["availableOptionKeys", "disabled", "enableTime", "errorText", "fromError", "toError", "helperIcon", "helperText", "idRange", "idSelect", "minimumDate", "label", "from", "onChange", "required", "to", "translations", "classes", "selectProps", "staticPosition", "className"]);
471
474
  var _this$state = this.state,
472
475
  selectedPreset = _this$state.selectedPreset,
473
476
  containerWidth = _this$state.containerWidth;
@@ -484,6 +487,7 @@ var HiDateRangeSelector = /*#__PURE__*/function (_React$Component) {
484
487
  errorText: errorText,
485
488
  error: !!(fromError || toError),
486
489
  label: ' ',
490
+ className: className,
487
491
  InputLabelProps: {
488
492
  className: classes.formControlLabel
489
493
  }
@@ -134,7 +134,8 @@ var styles = function styles(theme) {
134
134
  },
135
135
  icon: {
136
136
  position: 'absolute',
137
- fontSize: 20
137
+ fontSize: 20,
138
+ top: 4
138
139
  }
139
140
  };
140
141
  };
@@ -52,7 +52,8 @@ var HiUploadField = /*#__PURE__*/function (_React$PureComponent) {
52
52
  values = _this$props.values,
53
53
  fullWidth = _this$props.fullWidth,
54
54
  required = _this$props.required,
55
- others = (0, _objectWithoutProperties2.default)(_this$props, ["className", "label", "helperIcon", "helperText", "values", "fullWidth", "required"]);
55
+ HiInputLabelProps = _this$props.HiInputLabelProps,
56
+ others = (0, _objectWithoutProperties2.default)(_this$props, ["className", "label", "helperIcon", "helperText", "values", "fullWidth", "required", "HiInputLabelProps"]);
56
57
  var empty = true;
57
58
  var error = false;
58
59
  var errorText = '';
@@ -75,7 +76,8 @@ var HiUploadField = /*#__PURE__*/function (_React$PureComponent) {
75
76
  helperIcon: helperIcon,
76
77
  helperText: helperText,
77
78
  fullWidth: fullWidth,
78
- required: required
79
+ required: required,
80
+ InputLabelProps: HiInputLabelProps
79
81
  }, /*#__PURE__*/_react.default.createElement(_HiUpload.default, (0, _extends2.default)({
80
82
  values: values
81
83
  }, others)));
@@ -13,6 +13,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/exten
13
13
 
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
15
15
 
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
17
+
16
18
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
17
19
 
18
20
  var _react = _interopRequireWildcard(require("react"));
@@ -54,6 +56,11 @@ var HiIcon = _react.default.forwardRef(function (props, ref) {
54
56
  color = props.color,
55
57
  other = (0, _objectWithoutProperties2.default)(props, ["children", "className", "icon", "size", "color"]);
56
58
  var classes = useStyles(props);
59
+
60
+ if ((0, _typeof2.default)(icon) === "object") {
61
+ return icon;
62
+ }
63
+
57
64
  var iconName = icon !== null ? icon : children;
58
65
  var iconType = (0, _react.useMemo)(function () {
59
66
  if (iconName && iconName.indexOf('fa-') === 0) {
@@ -413,7 +413,8 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
413
413
  className: classes.walletShadow,
414
414
  style: {
415
415
  backgroundImage: "url(\"".concat(svgPath, "Wallet_shape.svg\")")
416
- }
416
+ },
417
+ "data-name": "ewallet"
417
418
  }, /*#__PURE__*/_react.default.createElement("div", {
418
419
  className: classes.wallet,
419
420
  style: {
@@ -422,7 +423,8 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
422
423
  }
423
424
  }, /*#__PURE__*/_react.default.createElement("div", {
424
425
  className: (0, _classnames.default)(classes.labelLarge, classes.userNameWallet),
425
- title: username
426
+ title: username,
427
+ "data-name": "card_name"
426
428
  }, username), /*#__PURE__*/_react.default.createElement("span", {
427
429
  className: (0, _classnames.default)(classes.stripe, classes.stripeBottomLeft)
428
430
  }, imgComponent), /*#__PURE__*/_react.default.createElement("span", {
@@ -435,20 +437,24 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
435
437
  className: (0, _classnames.default)(classes.bankCard, classes.shadow),
436
438
  style: {
437
439
  background: "linear-gradient(".concat(color1, ", ").concat(color2 || color1, ")")
438
- }
440
+ },
441
+ "data-name": "card"
439
442
  }, /*#__PURE__*/_react.default.createElement("span", {
440
443
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
441
444
  }, imgComponent), /*#__PURE__*/_react.default.createElement("span", {
442
445
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeTopRight, classes.stripeGradientTopRight)
443
446
  }), /*#__PURE__*/_react.default.createElement("div", {
444
- className: (0, _classnames.default)(classes.number, classes.cardNumber)
447
+ className: (0, _classnames.default)(classes.number, classes.cardNumber),
448
+ "data-name": "card_number"
445
449
  }, formatNumber), cardNumber && /*#__PURE__*/_react.default.createElement("div", {
446
450
  className: (0, _classnames.default)(classes.labelMedium, classes.cardNumberLabel)
447
451
  }, "Card number"), /*#__PURE__*/_react.default.createElement("div", {
448
452
  className: (0, _classnames.default)(classes.labelLarge, classes.userNameCard),
449
- title: username
453
+ title: username,
454
+ "data-name": "card_name"
450
455
  }, username), /*#__PURE__*/_react.default.createElement("div", {
451
- className: classes.dateValid
456
+ className: classes.dateValid,
457
+ "data-name": "card_validity"
452
458
  }, cardValidity), cardValidity && /*#__PURE__*/_react.default.createElement("div", {
453
459
  className: classes.validThru
454
460
  }, "Valid Thru"));
@@ -458,7 +464,8 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
458
464
  className: (0, _classnames.default)(classes.bankCard, classes.shadow),
459
465
  style: {
460
466
  background: "linear-gradient(".concat(color1, ", ").concat(color2 || color1, ")")
461
- }
467
+ },
468
+ "data-name": "corporate"
462
469
  }, /*#__PURE__*/_react.default.createElement("span", {
463
470
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
464
471
  }, imgComponent), /*#__PURE__*/_react.default.createElement("span", {
@@ -471,21 +478,26 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
471
478
  }, "CORPORATE")), cardNumber && /*#__PURE__*/_react.default.createElement("div", {
472
479
  className: (0, _classnames.default)(classes.labelMedium, classes.corporateNumberLabel)
473
480
  }, "Card number"), /*#__PURE__*/_react.default.createElement("div", {
474
- className: (0, _classnames.default)(classes.number, classes.corporateNumber)
481
+ className: (0, _classnames.default)(classes.number, classes.corporateNumber),
482
+ "data-name": "card_number"
475
483
  }, cardNumber), yearMember && /*#__PURE__*/_react.default.createElement("div", {
476
484
  className: classes.memberSince
477
485
  }, "Member Since"), /*#__PURE__*/_react.default.createElement("div", {
478
- className: classes.yearMember
486
+ className: classes.yearMember,
487
+ "data-name": "year_member"
479
488
  }, yearMember), /*#__PURE__*/_react.default.createElement("div", {
480
- className: classes.dateValid
489
+ className: classes.dateValid,
490
+ "data-name": "card_validity"
481
491
  }, cardValidity), cardValidity && /*#__PURE__*/_react.default.createElement("div", {
482
492
  className: classes.validThru
483
493
  }, "Valid Thru"), /*#__PURE__*/_react.default.createElement("div", {
484
494
  className: (0, _classnames.default)(classes.labelLarge, classes.userNameCorporate),
485
- title: cardUser
495
+ title: cardUser,
496
+ "data-name": "card_name"
486
497
  }, cardUser), /*#__PURE__*/_react.default.createElement("div", {
487
498
  className: (0, _classnames.default)(classes.labelLarge, classes.businessName),
488
- title: businessName
499
+ title: businessName,
500
+ "data-name": "business_name"
489
501
  }, businessName));
490
502
 
491
503
  case OPEN_INVOICE:
@@ -496,7 +508,8 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
496
508
  className: (0, _classnames.default)(classes.sepa, classes.shadow),
497
509
  style: {
498
510
  background: "linear-gradient(".concat(color1, ", ").concat(color2 || color1, ")")
499
- }
511
+ },
512
+ "data-name": "sepa"
500
513
  }, /*#__PURE__*/_react.default.createElement("span", {
501
514
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopLeft)
502
515
  }, imgComponent), /*#__PURE__*/_react.default.createElement("span", {
@@ -504,12 +517,15 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
504
517
  }), cardNumber && /*#__PURE__*/_react.default.createElement("div", {
505
518
  className: (0, _classnames.default)(classes.labelMedium, classes.ibanLabel)
506
519
  }, PAYMENT_REFERENCE === type ? "REFERENCE" : "IBAN"), /*#__PURE__*/_react.default.createElement("div", {
507
- className: (0, _classnames.default)(classes.number, classes.ibanNumber)
520
+ className: (0, _classnames.default)(classes.number, classes.ibanNumber),
521
+ "data-name": "card_number"
508
522
  }, formatNumber), /*#__PURE__*/_react.default.createElement("div", {
509
523
  className: (0, _classnames.default)(classes.labelLarge, classes.userNameSepa),
510
- title: username
524
+ title: username,
525
+ "data-name": "card_name"
511
526
  }, username), /*#__PURE__*/_react.default.createElement("div", {
512
- className: (0, _classnames.default)(classes.labelLarge, classes.labelDebitCredit)
527
+ className: (0, _classnames.default)(classes.labelLarge, classes.labelDebitCredit),
528
+ "data-name": "type_iban"
513
529
  }, creditDebit));
514
530
 
515
531
  case "prepaid-card":
@@ -517,7 +533,8 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
517
533
  className: (0, _classnames.default)(classes.bankCard, classes.shadow),
518
534
  style: {
519
535
  background: "url(\"".concat(svgPath, "Gift_shape.svg\"), linear-gradient(").concat(color1, ", ").concat(color2 || color1, ")")
520
- }
536
+ },
537
+ "data-name": "prepaid-card"
521
538
  }, /*#__PURE__*/_react.default.createElement("span", {
522
539
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
523
540
  }, imgComponent), /*#__PURE__*/_react.default.createElement("span", {
@@ -529,7 +546,8 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
529
546
  })), cardNumber && /*#__PURE__*/_react.default.createElement("div", {
530
547
  className: (0, _classnames.default)(classes.labelMedium, classes.giftCardNumberLabel)
531
548
  }, "Card number"), /*#__PURE__*/_react.default.createElement("div", {
532
- className: (0, _classnames.default)(classes.number, classes.giftCardNumber)
549
+ className: (0, _classnames.default)(classes.number, classes.giftCardNumber),
550
+ "data-name": "card_number"
533
551
  }, cardNumber), /*#__PURE__*/_react.default.createElement("div", {
534
552
  className: (0, _classnames.default)(classes.labelLarge, classes.labelDebitCredit)
535
553
  }, translations.gift_card));
@@ -539,20 +557,24 @@ var HiPaymentMeans = function HiPaymentMeans(props) {
539
557
  className: (0, _classnames.default)(classes.bankCard, classes.shadow),
540
558
  style: {
541
559
  background: "linear-gradient(".concat(color1, ", ").concat(color2 || color1, ")")
542
- }
560
+ },
561
+ "data-name": "card"
543
562
  }, /*#__PURE__*/_react.default.createElement("span", {
544
563
  className: (0, _classnames.default)(classes.stripe, classes.stripeTopRight)
545
564
  }, imgComponent), /*#__PURE__*/_react.default.createElement("span", {
546
565
  className: (0, _classnames.default)(classes.stripeGradient, classes.stripeTopRight, classes.stripeGradientTopRight)
547
566
  }), /*#__PURE__*/_react.default.createElement("div", {
548
- className: (0, _classnames.default)(classes.number, classes.cardNumber)
567
+ className: (0, _classnames.default)(classes.number, classes.cardNumber),
568
+ "data-name": "card_number"
549
569
  }, cardNumber), cardNumber && /*#__PURE__*/_react.default.createElement("div", {
550
570
  className: (0, _classnames.default)(classes.labelMedium, classes.cardNumberLabel)
551
571
  }, "Card number"), /*#__PURE__*/_react.default.createElement("div", {
552
572
  className: (0, _classnames.default)(classes.labelLarge, classes.userNameCard),
553
- title: username
573
+ title: username,
574
+ "data-name": "card_name"
554
575
  }, username), /*#__PURE__*/_react.default.createElement("div", {
555
- className: classes.dateValid
576
+ className: classes.dateValid,
577
+ "data-name": "card_validity"
556
578
  }, cardValidity), cardValidity && /*#__PURE__*/_react.default.createElement("div", {
557
579
  className: classes.validThru
558
580
  }, "Valid Thru"));
@@ -134,6 +134,18 @@ var HiSuggestSelect = /*#__PURE__*/function (_React$PureComponent) {
134
134
  nextItem = (0, _helpers.getNextItemSelectable)(document.activeElement, 'up');
135
135
  } else if (key === 'tab') {
136
136
  document.body.style.overflow = 'auto';
137
+
138
+ if ((0, _helpers.getNextItemSelectable)(document.activeElement, 'down') === null) {
139
+ _this.setState({
140
+ options: [],
141
+ focused: false,
142
+ suggestionFocusIndex: -1
143
+ });
144
+
145
+ if (_this.props.onBlurInput) {
146
+ _this.props.onBlurInput(event);
147
+ }
148
+ }
137
149
  } else if (key === 'escape' || 'enter') {
138
150
  event.preventDefault();
139
151