intelicoreact 1.1.39 → 1.1.41

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.
@@ -43,7 +43,8 @@ var Hint = function Hint(_ref) {
43
43
  onClickCallback = _ref.onClickCallback,
44
44
  key = _ref.key,
45
45
  id = _ref.id,
46
- children = _ref.children;
46
+ children = _ref.children,
47
+ icon = _ref.icon;
47
48
  var hintId = (_ref2 = key !== null && key !== void 0 ? key : id) !== null && _ref2 !== void 0 ? _ref2 : time;
48
49
 
49
50
  var _useState = (0, _react.useState)(false),
@@ -140,7 +141,7 @@ var Hint = function Hint(_ref) {
140
141
  className: (0, _classnames.default)('hint__button', {
141
142
  hint__button_active: isOpen
142
143
  })
143
- }, variant === 'outlined' && /*#__PURE__*/_react.default.createElement(_reactFeather.HelpCircle, {
144
+ }, icon || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, variant === 'outlined' && /*#__PURE__*/_react.default.createElement(_reactFeather.HelpCircle, {
144
145
  width: 16,
145
146
  height: 16,
146
147
  className: "hint__icon outlined"
@@ -171,7 +172,7 @@ var Hint = function Hint(_ref) {
171
172
  color: '#F06D8D',
172
173
  width: 16,
173
174
  height: 16
174
- }), label && /*#__PURE__*/_react.default.createElement("span", {
175
+ })), label && /*#__PURE__*/_react.default.createElement("span", {
175
176
  className: (0, _classnames.default)('hint__label', {
176
177
  'color--primary': isOpen
177
178
  })
@@ -19,6 +19,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
21
21
 
22
+ var _Hint = _interopRequireDefault(require("../../Atomic/UI/Hint/Hint"));
23
+
22
24
  require("./InputAddress.scss");
23
25
 
24
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -99,6 +101,16 @@ var InputAddress = function InputAddress(_ref) {
99
101
  isListVisible = _useState18[0],
100
102
  setIsListVisible = _useState18[1];
101
103
 
104
+ var isWrongAddress = (0, _react.useMemo)(function () {
105
+ var _query$street;
106
+
107
+ if (query === '') return false;
108
+ if (!isSelectedFromList) return true;
109
+ if (!(query !== null && query !== void 0 && query.hasOwnProperty('streetNumber')) || !(query !== null && query !== void 0 && query.streetNumber)) return true;
110
+ if (!(query !== null && query !== void 0 && query.hasOwnProperty('street')) || !(query !== null && query !== void 0 && (_query$street = query.street) !== null && _query$street !== void 0 && _query$street.fullName)) return true;
111
+ return false;
112
+ }, [query]);
113
+
102
114
  var setQueryAsItem = function setQueryAsItem(e, item) {
103
115
  if (e) e === null || e === void 0 ? void 0 : e.stopPropagation();
104
116
  setIsSelectedFromList(true);
@@ -211,7 +223,6 @@ var InputAddress = function InputAddress(_ref) {
211
223
 
212
224
  var onBlur = function onBlur() {
213
225
  if (typeof query === 'string' && !isSelectedFromList) {
214
- setQuery('');
215
226
  onChange('');
216
227
  setInternalError(true);
217
228
  }
@@ -246,9 +257,9 @@ var InputAddress = function InputAddress(_ref) {
246
257
  }, [value]);
247
258
 
248
259
  var renderInput = function renderInput() {
249
- var _query$street;
260
+ var _query$street2;
250
261
 
251
- var value = typeof query === "string" ? query : "".concat((query === null || query === void 0 ? void 0 : query.streetNumber) || '', " ").concat((query === null || query === void 0 ? void 0 : (_query$street = query.street) === null || _query$street === void 0 ? void 0 : _query$street.fullName) || '');
262
+ var value = typeof query === "string" ? query : "".concat((query === null || query === void 0 ? void 0 : query.streetNumber) || '', " ").concat((query === null || query === void 0 ? void 0 : (_query$street2 = query.street) === null || _query$street2 === void 0 ? void 0 : _query$street2.fullName) || '');
252
263
  return /*#__PURE__*/_react.default.createElement("div", {
253
264
  className: (0, _classnames.default)('input-address__input-wrapper')
254
265
  }, /*#__PURE__*/_react.default.createElement(_Input.default, {
@@ -260,13 +271,22 @@ var InputAddress = function InputAddress(_ref) {
260
271
  onFocus: onFocus,
261
272
  onBlur: onBlur,
262
273
  onKeyDown: onKeyDown
263
- }), isClearable && /*#__PURE__*/_react.default.createElement("div", {
274
+ }), isWrongAddress && /*#__PURE__*/_react.default.createElement("div", {
275
+ className: (0, _classnames.default)('input-address__alert', {
276
+ 'input-address__alert--visible': !isFocused
277
+ })
278
+ }, /*#__PURE__*/_react.default.createElement(_Hint.default, {
279
+ side: "left",
280
+ hint: "Select the correct address from the list of suggestions (must contains house number and street name)",
281
+ icon: /*#__PURE__*/_react.default.createElement(_reactFeather.AlertTriangle, null),
282
+ handleOpenType: "hover"
283
+ })), isClearable && (isWrongAddress && !isFocused ? null : /*#__PURE__*/_react.default.createElement("div", {
264
284
  className: (0, _classnames.default)('input-address__clear-query', {
265
285
  'input-address__clear-query--input-focused': isFocused
266
286
  })
267
287
  }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
268
288
  onClick: onClearClick
269
- })));
289
+ }))));
270
290
  };
271
291
 
272
292
  var renderLoader = function renderLoader() {
@@ -279,6 +299,7 @@ var InputAddress = function InputAddress(_ref) {
279
299
  var renderListItem = function renderListItem(item, i) {
280
300
  var fullPrediction = item.fullPrediction;
281
301
  return /*#__PURE__*/_react.default.createElement("div", {
302
+ key: "input-address__list-item".concat(i),
282
303
  className: (0, _classnames.default)('input-address__list--item', {
283
304
  'input-address__list--item-hightlighted': i === hightlightedIndex
284
305
  }),
@@ -302,7 +323,7 @@ var InputAddress = function InputAddress(_ref) {
302
323
 
303
324
  return /*#__PURE__*/_react.default.createElement("div", {
304
325
  className: (0, _classnames.default)('input-address', {
305
- 'input-address--error': error || internalError
326
+ 'input-address--error': error || internalError || isWrongAddress && !isFocused
306
327
  })
307
328
  }, renderInput(), isListVisible && renderList());
308
329
  };
@@ -16,6 +16,26 @@
16
16
  cursor: pointer;
17
17
  }
18
18
 
19
+ &__alert {
20
+ visibility: hidden;
21
+ position: absolute;
22
+ display: flex;
23
+ top: 50%;
24
+ right: 8px;
25
+ transform: translateY(-50%);
26
+ cursor: pointer;
27
+
28
+ &--visible {
29
+ visibility: visible;
30
+ }
31
+
32
+ svg {
33
+ height: 16px;
34
+ width: 16px;
35
+ color: #FA564C;
36
+ }
37
+ }
38
+
19
39
  &__input-wrapper:hover &__clear-query,
20
40
  &__clear-query--input-focused {
21
41
  visibility: visible;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "1.1.39",
3
+ "version": "1.1.41",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [