intelicoreact 1.2.99 → 1.3.1

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.
@@ -90,17 +90,21 @@ var Dropdown = function Dropdown(_ref) {
90
90
  isMobileProp = _useIsMobile.isMobile;
91
91
 
92
92
  var isMobile = isMobileProp && withMobileLogic;
93
- var dropdownId = id || fieldKey || Math.random().toString(16).slice(2);
94
93
 
95
- var _useState = (0, _react.useState)(false),
94
+ var _useState = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2)),
96
95
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
97
- isOpen = _useState2[0],
98
- setIsOpen = _useState2[1];
96
+ dropdownId = _useState2[0],
97
+ setDropdownId = _useState2[1];
99
98
 
100
- var _useState3 = (0, _react.useState)(),
99
+ var _useState3 = (0, _react.useState)(false),
101
100
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
102
- searchValue = _useState4[0],
103
- setSearchValue = _useState4[1];
101
+ isOpen = _useState4[0],
102
+ setIsOpen = _useState4[1];
103
+
104
+ var _useState5 = (0, _react.useState)(),
105
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
106
+ searchValue = _useState6[0],
107
+ setSearchValue = _useState6[1];
104
108
 
105
109
  var dropdownRef = (0, _react.useRef)(null);
106
110
  var dropdownListRef = (0, _react.useRef)(null);
@@ -108,40 +112,40 @@ var Dropdown = function Dropdown(_ref) {
108
112
  var searchInputRef = (0, _react.useRef)(null);
109
113
  var wrapperRef = (0, _react.useRef)(null);
110
114
 
111
- var _useState5 = (0, _react.useState)(null),
112
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
113
- initListHeight = _useState6[0],
114
- setInitListHeight = _useState6[1];
115
-
116
- var _useState7 = (0, _react.useState)(false),
115
+ var _useState7 = (0, _react.useState)(null),
117
116
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
118
- isSearchChanged = _useState8[0],
119
- setIsSearchChanged = _useState8[1];
117
+ initListHeight = _useState8[0],
118
+ setInitListHeight = _useState8[1];
120
119
 
121
120
  var _useState9 = (0, _react.useState)(false),
122
121
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
123
- isSearchInputFocused = _useState10[0],
124
- setIsSearchInputFocused = _useState10[1];
122
+ isSearchChanged = _useState10[0],
123
+ setIsSearchChanged = _useState10[1];
125
124
 
126
- var _useState11 = (0, _react.useState)(null),
125
+ var _useState11 = (0, _react.useState)(false),
127
126
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
128
- isScrollableList = _useState12[0],
129
- setIsScrollableList = _useState12[1];
127
+ isSearchInputFocused = _useState12[0],
128
+ setIsSearchInputFocused = _useState12[1];
130
129
 
131
- var _useState13 = (0, _react.useState)(false),
130
+ var _useState13 = (0, _react.useState)(null),
132
131
  _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
133
- isFixedMaxHeight = _useState14[0],
134
- setIsFixedMaxHeight = _useState14[1];
132
+ isScrollableList = _useState14[0],
133
+ setIsScrollableList = _useState14[1];
135
134
 
136
- var _useState15 = (0, _react.useState)(0),
135
+ var _useState15 = (0, _react.useState)(false),
137
136
  _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
138
- scrollTop = _useState16[0],
139
- setScrollTop = _useState16[1];
137
+ isFixedMaxHeight = _useState16[0],
138
+ setIsFixedMaxHeight = _useState16[1];
140
139
 
141
- var _useState17 = (0, _react.useState)(1),
140
+ var _useState17 = (0, _react.useState)(0),
142
141
  _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
143
- scrollHeight = _useState18[0],
144
- setScrollHeight = _useState18[1];
142
+ scrollTop = _useState18[0],
143
+ setScrollTop = _useState18[1];
144
+
145
+ var _useState19 = (0, _react.useState)(1),
146
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
147
+ scrollHeight = _useState20[0],
148
+ setScrollHeight = _useState20[1];
145
149
 
146
150
  if (!options) return null;
147
151
  var getTotalOptions = (0, _react.useCallback)(function () {
@@ -374,8 +378,16 @@ var Dropdown = function Dropdown(_ref) {
374
378
  (_getListContainer2 = getListContainer()) === null || _getListContainer2 === void 0 ? void 0 : _getListContainer2.remove();
375
379
  } finally {
376
380
  if (isMobile) {
381
+ try {
382
+ var _document$getElementB;
383
+
384
+ (_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();
385
+ } catch (e) {}
386
+
387
+ ;
377
388
  var dropdownMobileListWrapper = document.createElement('div');
378
389
  dropdownMobileListWrapper.classList.add('dropdown-mobile');
390
+ dropdownMobileListWrapper.setAttribute('id', "mlw-".concat(dropdownId));
379
391
  dropdownMobileListWrapper.append(dropdownList);
380
392
  getParentNode().append(dropdownMobileListWrapper);
381
393
  } else {
@@ -114,17 +114,21 @@ var TagsDropdown = function TagsDropdown(_ref) {
114
114
  isMobileProp = _useIsMobile.isMobile;
115
115
 
116
116
  var isMobile = isMobileProp && withMobileLogic;
117
- var dropdownId = fieldKey || id || Math.random().toString(16).slice(2);
118
117
 
119
- var _useState = (0, _react.useState)(false),
118
+ var _useState = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2)),
120
119
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
121
- isOpen = _useState2[0],
122
- setIsOpen = _useState2[1];
120
+ dropdownId = _useState2[0],
121
+ setDropdownId = _useState2[1];
123
122
 
124
- var _useState3 = (0, _react.useState)(''),
123
+ var _useState3 = (0, _react.useState)(false),
125
124
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
126
- searchValue = _useState4[0],
127
- setSearchValue = _useState4[1];
125
+ isOpen = _useState4[0],
126
+ setIsOpen = _useState4[1];
127
+
128
+ var _useState5 = (0, _react.useState)(''),
129
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
130
+ searchValue = _useState6[0],
131
+ setSearchValue = _useState6[1];
128
132
 
129
133
  var dropdownRef = (0, _react.useRef)(null);
130
134
  var dropdownListRef = (0, _react.useRef)(null);
@@ -132,30 +136,30 @@ var TagsDropdown = function TagsDropdown(_ref) {
132
136
  var inputRef = (0, _react.useRef)(null);
133
137
  var wrapperRef = (0, _react.useRef)(null);
134
138
 
135
- var _useState5 = (0, _react.useState)(null),
136
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
137
- initListHeight = _useState6[0],
138
- setInitListHeight = _useState6[1];
139
-
140
139
  var _useState7 = (0, _react.useState)(null),
141
140
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
142
- isScrollableList = _useState8[0],
143
- setIsScrollableList = _useState8[1];
141
+ initListHeight = _useState8[0],
142
+ setInitListHeight = _useState8[1];
144
143
 
145
- var _useState9 = (0, _react.useState)(false),
144
+ var _useState9 = (0, _react.useState)(null),
146
145
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
147
- isFixedMaxHeight = _useState10[0],
148
- setIsFixedMaxHeight = _useState10[1];
146
+ isScrollableList = _useState10[0],
147
+ setIsScrollableList = _useState10[1];
149
148
 
150
- var _useState11 = (0, _react.useState)(0),
149
+ var _useState11 = (0, _react.useState)(false),
151
150
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
152
- scrollTop = _useState12[0],
153
- setScrollTop = _useState12[1];
151
+ isFixedMaxHeight = _useState12[0],
152
+ setIsFixedMaxHeight = _useState12[1];
154
153
 
155
- var _useState13 = (0, _react.useState)(1),
154
+ var _useState13 = (0, _react.useState)(0),
156
155
  _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
157
- scrollHeight = _useState14[0],
158
- setScrollHeight = _useState14[1];
156
+ scrollTop = _useState14[0],
157
+ setScrollTop = _useState14[1];
158
+
159
+ var _useState15 = (0, _react.useState)(1),
160
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
161
+ scrollHeight = _useState16[0],
162
+ setScrollHeight = _useState16[1];
159
163
 
160
164
  var singleLevelOptions = options === null || options === void 0 ? void 0 : options.reduce(function (acc, item) {
161
165
  return [].concat((0, _toConsumableArray2.default)(acc), (0, _toConsumableArray2.default)(item.groupName ? item.list : [item]));
@@ -315,8 +319,16 @@ var TagsDropdown = function TagsDropdown(_ref) {
315
319
  }
316
320
 
317
321
  if (isMobile) {
322
+ try {
323
+ var _document$getElementB;
324
+
325
+ (_document$getElementB = document.getElementById("mlw-".concat(dropdownId))) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();
326
+ } catch (e) {}
327
+
328
+ ;
318
329
  var dropdownMobileListWrapper = document.createElement('div');
319
330
  dropdownMobileListWrapper.classList.add('tags-dropdown-mobile');
331
+ dropdownMobileListWrapper.setAttribute('id', "mlw-".concat(dropdownId));
320
332
  dropdownMobileListWrapper.append(dropdownList);
321
333
  getParentNode().append(dropdownMobileListWrapper);
322
334
  } else {
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = void 0;
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
15
 
14
16
  var _react = _interopRequireWildcard(require("react"));
@@ -17,6 +19,8 @@ var _reactFeather = require("react-feather");
17
19
 
18
20
  var _classnames = _interopRequireDefault(require("classnames"));
19
21
 
22
+ var _useIsMobile2 = _interopRequireDefault(require("../../Functions/useIsMobile"));
23
+
20
24
  var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
21
25
 
22
26
  var _Hint = _interopRequireDefault(require("../../Atomic/UI/Hint/Hint"));
@@ -29,9 +33,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
29
33
 
30
34
  var throttleTimeout = null;
31
35
  var DEFAULT_HINT_MESSAGE = 'Select the correct address from the list of suggestions (must contains house number and street name)';
36
+ var RC = "input-address";
32
37
 
33
38
  var InputAddress = function InputAddress(_ref) {
34
- var _ref$className = _ref.className,
39
+ var label = _ref.label,
40
+ _ref$className = _ref.className,
35
41
  className = _ref$className === void 0 ? '' : _ref$className,
36
42
  _ref$isClearable = _ref.isClearable,
37
43
  isClearable = _ref$isClearable === void 0 ? true : _ref$isClearable,
@@ -61,8 +67,15 @@ var InputAddress = function InputAddress(_ref) {
61
67
  renderListItem = _ref.renderListItem,
62
68
  renderHintMessage = _ref.renderHintMessage,
63
69
  attributesOfNativeInput = _ref.attributesOfNativeInput;
70
+
71
+ var _useIsMobile = (0, _useIsMobile2.default)(),
72
+ isMobile = _useIsMobile.isMobile;
73
+
64
74
  var inputRef = (0, _react.useRef)(null);
65
75
  var listRef = (0, _react.useRef)(null);
76
+ var listOverlayRef = (0, _react.useRef)(null);
77
+ var listWrapperRef = (0, _react.useRef)(null);
78
+ var listHeaderRef = (0, _react.useRef)(null);
66
79
 
67
80
  var _useState = (0, _react.useState)(false),
68
81
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -71,33 +84,58 @@ var InputAddress = function InputAddress(_ref) {
71
84
 
72
85
  var _useState3 = (0, _react.useState)(null),
73
86
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
74
- query = _useState4[0],
75
- setQuery = _useState4[1];
87
+ isScrollableList = _useState4[0],
88
+ setIsScrollableList = _useState4[1];
76
89
 
77
- var _useState5 = (0, _react.useState)([]),
90
+ var _useState5 = (0, _react.useState)(0),
78
91
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
79
- listItems = _useState6[0],
80
- setListItems = _useState6[1];
92
+ scrollTop = _useState6[0],
93
+ setScrollTop = _useState6[1];
81
94
 
82
- var _useState7 = (0, _react.useState)(false),
95
+ var _useState7 = (0, _react.useState)(1),
83
96
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
84
- isLoading = _useState8[0],
85
- setIsLoading = _useState8[1];
97
+ scrollHeight = _useState8[0],
98
+ setScrollHeight = _useState8[1];
86
99
 
87
100
  var _useState9 = (0, _react.useState)(null),
88
101
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
89
- hightlightedIndex = _useState10[0],
90
- setHightlightedIndex = _useState10[1];
102
+ query = _useState10[0],
103
+ setQuery = _useState10[1];
91
104
 
92
- var _useState11 = (0, _react.useState)(false),
105
+ var _useState11 = (0, _react.useState)(null),
93
106
  _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
94
- isFocused = _useState12[0],
95
- setIsFocused = _useState12[1];
107
+ tempQuery = _useState12[0],
108
+ setTempQuery = _useState12[1];
96
109
 
97
- var _useState13 = (0, _react.useState)(false),
110
+ var _useState13 = (0, _react.useState)(null),
98
111
  _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
99
- isListVisible = _useState14[0],
100
- setIsListVisible = _useState14[1];
112
+ tempValue = _useState14[0],
113
+ setTempValue = _useState14[1];
114
+
115
+ var _useState15 = (0, _react.useState)([]),
116
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
117
+ listItems = _useState16[0],
118
+ setListItems = _useState16[1];
119
+
120
+ var _useState17 = (0, _react.useState)(false),
121
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
122
+ isLoading = _useState18[0],
123
+ setIsLoading = _useState18[1];
124
+
125
+ var _useState19 = (0, _react.useState)(null),
126
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
127
+ hightlightedIndex = _useState20[0],
128
+ setHightlightedIndex = _useState20[1];
129
+
130
+ var _useState21 = (0, _react.useState)(false),
131
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
132
+ isFocused = _useState22[0],
133
+ setIsFocused = _useState22[1];
134
+
135
+ var _useState23 = (0, _react.useState)(false),
136
+ _useState24 = (0, _slicedToArray2.default)(_useState23, 2),
137
+ isListVisible = _useState24[0],
138
+ setIsListVisible = _useState24[1];
101
139
 
102
140
  var isWrongAddress = (0, _react.useMemo)(function () {
103
141
  var _query$street;
@@ -114,7 +152,11 @@ var InputAddress = function InputAddress(_ref) {
114
152
  var setQueryAsItem = function setQueryAsItem(e, item) {
115
153
  if (e) e === null || e === void 0 ? void 0 : e.stopPropagation();
116
154
  setTimeout(function () {
117
- return setQuery(item);
155
+ setQuery(item);
156
+
157
+ if (isMobile) {
158
+ setIsListVisible(false);
159
+ }
118
160
  }, 1);
119
161
  };
120
162
 
@@ -131,17 +173,33 @@ var InputAddress = function InputAddress(_ref) {
131
173
  }, throttle);
132
174
  };
133
175
 
134
- var onClearClick = function onClearClick() {
176
+ var onClearClick = function onClearClick(e) {
135
177
  var _inputRef$current;
136
178
 
179
+ e.preventDefault();
180
+ e.stopPropagation();
181
+
182
+ if (!isMobile) {
183
+ setIsListVisible(false);
184
+ }
185
+
137
186
  setQuery('');
138
187
  inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
139
- setIsListVisible(false);
140
188
  setTimeout(function () {
141
189
  return setIsFocused(true);
142
190
  }, 50);
143
191
  };
144
192
 
193
+ var onOverlayClick = function onOverlayClick(e) {
194
+ if (e.target === (listOverlayRef === null || listOverlayRef === void 0 ? void 0 : listOverlayRef.current)) {
195
+ e.stopPropagation();
196
+ e.preventDefault();
197
+ setIsListVisible(false);
198
+ setQuery(tempQuery);
199
+ onChange(typeof query === 'string' || !onChangeValueTransformer || typeof onChangeValueTransformer !== 'function' ? query : onChangeValueTransformer(query));
200
+ }
201
+ };
202
+
145
203
  var onKeyDown = function onKeyDown(keyCode) {
146
204
  if (!isListVisible || !isKeyboardControlled) return false;
147
205
 
@@ -205,7 +263,7 @@ var InputAddress = function InputAddress(_ref) {
205
263
  }
206
264
  }
207
265
 
208
- setHightlightedIndex(newHightlightedIndex);
266
+ if (!isMobile) setHightlightedIndex(newHightlightedIndex);
209
267
  }
210
268
  };
211
269
 
@@ -219,12 +277,13 @@ var InputAddress = function InputAddress(_ref) {
219
277
  };
220
278
 
221
279
  var getSelectedItemLabel = function getSelectedItemLabel() {
222
- var _query$street2;
280
+ var _value$street;
223
281
 
224
- if (query === null) return '';
225
- if (typeof query === 'string') return query;
226
- if (!renderSelectedItem || typeof renderSelectedItem !== 'function') return "".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) || '');
227
- return renderSelectedItem(query);
282
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : query;
283
+ if (value === null) return '';
284
+ if (typeof value === 'string') return value;
285
+ if (!renderSelectedItem || typeof renderSelectedItem !== 'function') return "".concat((value === null || value === void 0 ? void 0 : value.streetNumber) || '', " ").concat((value === null || value === void 0 ? void 0 : (_value$street = value.street) === null || _value$street === void 0 ? void 0 : _value$street.fullName) || '');
286
+ return renderSelectedItem(value);
228
287
  };
229
288
 
230
289
  var getListItemLabel = function getListItemLabel(item) {
@@ -233,6 +292,24 @@ var InputAddress = function InputAddress(_ref) {
233
292
  return renderListItem(item);
234
293
  };
235
294
 
295
+ var setListHeight = function setListHeight() {
296
+ if (listWrapperRef !== null && listWrapperRef !== void 0 && listWrapperRef.current && listHeaderRef !== null && listHeaderRef !== void 0 && listHeaderRef.current && listRef.current) {
297
+ var _listWrapperRef$curre, _listWrapperRef$curre2, _listHeaderRef$curren, _listHeaderRef$curren2;
298
+
299
+ var listWrapperHeight = listWrapperRef === null || listWrapperRef === void 0 ? void 0 : (_listWrapperRef$curre = listWrapperRef.current) === null || _listWrapperRef$curre === void 0 ? void 0 : (_listWrapperRef$curre2 = _listWrapperRef$curre.getBoundingClientRect()) === null || _listWrapperRef$curre2 === void 0 ? void 0 : _listWrapperRef$curre2.height;
300
+ var listWrapperStyles = getComputedStyle(listWrapperRef === null || listWrapperRef === void 0 ? void 0 : listWrapperRef.current);
301
+ var listHeaderHeight = listHeaderRef === null || listHeaderRef === void 0 ? void 0 : (_listHeaderRef$curren = listHeaderRef.current) === null || _listHeaderRef$curren === void 0 ? void 0 : (_listHeaderRef$curren2 = _listHeaderRef$curren.getBoundingClientRect()) === null || _listHeaderRef$curren2 === void 0 ? void 0 : _listHeaderRef$curren2.height;
302
+ var listHeight = listWrapperHeight - listHeaderHeight - parseInt(listWrapperStyles.paddingBottom);
303
+ listRef.current.style.maxHeight = "".concat(listHeight, "px");
304
+ }
305
+ };
306
+
307
+ var resetListHeight = function resetListHeight() {
308
+ if (listRef.current) {
309
+ listRef.current.style.maxHeight = "initial";
310
+ }
311
+ };
312
+
236
313
  var preparedValue = (0, _react.useMemo)(function () {
237
314
  if (!value) return '';
238
315
  if (typeof value === 'string') return value === null || value === void 0 ? void 0 : value.trim();
@@ -244,16 +321,26 @@ var InputAddress = function InputAddress(_ref) {
244
321
  getData();
245
322
  }
246
323
 
247
- if (JSON.stringify(preparedValue) !== JSON.stringify(query) && query !== null) onChange(typeof query === 'string' || !onChangeValueTransformer || typeof onChangeValueTransformer !== 'function' ? query : onChangeValueTransformer(query));
324
+ if (JSON.stringify(preparedValue) !== JSON.stringify(query) && query !== null) {
325
+ onChange(typeof query === 'string' || !onChangeValueTransformer || typeof onChangeValueTransformer !== 'function' ? query : onChangeValueTransformer(query));
326
+ }
248
327
  }, [query]);
249
328
  (0, _react.useEffect)(function () {
250
- if (!isFocused) {
329
+ if (!isFocused && !isMobile) {
251
330
  setIsListVisible(false);
252
331
  setHightlightedIndex(null);
253
332
  }
254
333
  }, [isFocused]);
255
334
  (0, _react.useEffect)(function () {
256
- if (!isListVisible) setListItems([]);
335
+ if (!isListVisible) {
336
+ setListItems([]);
337
+ resetListHeight();
338
+ }
339
+
340
+ if (isMobile && isListVisible) {
341
+ setTempQuery(query);
342
+ setListHeight();
343
+ }
257
344
  }, [isListVisible]);
258
345
  (0, _react.useEffect)(function () {
259
346
  if (JSON.stringify(preparedValue) !== JSON.stringify(query) || !isValueInited) {
@@ -264,7 +351,7 @@ var InputAddress = function InputAddress(_ref) {
264
351
  }
265
352
  }, [preparedValue]);
266
353
 
267
- var renderInput = function renderInput() {
354
+ var renderSearchableInput = function renderSearchableInput() {
268
355
  var value = getSelectedItemLabel();
269
356
  return /*#__PURE__*/_react.default.createElement("div", {
270
357
  className: (0, _classnames.default)('input-address__input-wrapper')
@@ -274,8 +361,8 @@ var InputAddress = function InputAddress(_ref) {
274
361
  className: (0, _classnames.default)('input-address__input', className),
275
362
  value: value,
276
363
  onChange: onChangeInternal,
277
- onFocus: function onFocus() {
278
- return setIsFocused(true);
364
+ onFocus: function onFocus(e) {
365
+ setIsFocused(true);
279
366
  },
280
367
  onBlur: function onBlur() {
281
368
  return setIsFocused(false);
@@ -300,6 +387,29 @@ var InputAddress = function InputAddress(_ref) {
300
387
  })));
301
388
  };
302
389
 
390
+ var renderInput = function renderInput() {
391
+ var value = getSelectedItemLabel(isListVisible ? tempQuery : query);
392
+ return /*#__PURE__*/_react.default.createElement("div", {
393
+ className: (0, _classnames.default)('input-address__input-wrapper')
394
+ }, /*#__PURE__*/_react.default.createElement(_Input.default, {
395
+ testId: "inputAddress--input--key-".concat(testId || fieldKey),
396
+ className: (0, _classnames.default)('input-address__input', className),
397
+ value: value,
398
+ onChange: onChangeInternal,
399
+ onFocus: function onFocus(e) {
400
+ var _e$target;
401
+
402
+ setIsListVisible(true);
403
+ e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.blur();
404
+ setTimeout(function () {
405
+ var _inputRef$current3;
406
+
407
+ return inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.focus();
408
+ }, 200);
409
+ }
410
+ }));
411
+ };
412
+
303
413
  var renderLoader = function renderLoader() {
304
414
  return /*#__PURE__*/_react.default.createElement("div", {
305
415
  className: "input-address__list--loader"
@@ -322,20 +432,61 @@ var InputAddress = function InputAddress(_ref) {
322
432
  var renderNoItems = function renderNoItems() {
323
433
  return /*#__PURE__*/_react.default.createElement("div", {
324
434
  className: "input-address__list--no-items"
325
- }, noItemsMessage || 'No Items');
435
+ }, isMobile ? 'Please begin entering your address' : noItemsMessage || 'No Items');
326
436
  };
327
437
 
328
- return /*#__PURE__*/_react.default.createElement("div", {
329
- className: "input-address__list",
330
- ref: listRef
331
- }, isLoading ? renderLoader() : listItems !== null && listItems !== void 0 && listItems.length ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems());
438
+ var renderListDesktop = function renderListDesktop() {
439
+ return /*#__PURE__*/_react.default.createElement("div", {
440
+ className: "input-address__list-wrapper",
441
+ ref: listWrapperRef
442
+ }, /*#__PURE__*/_react.default.createElement("div", {
443
+ className: "input-address__list",
444
+ ref: listRef
445
+ }, isLoading ? renderLoader() : listItems !== null && listItems !== void 0 && listItems.length ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems()));
446
+ };
447
+
448
+ var renderListMobile = function renderListMobile() {
449
+ var _cn;
450
+
451
+ return /*#__PURE__*/_react.default.createElement("div", {
452
+ className: "input-address__list-overlay",
453
+ ref: listOverlayRef,
454
+ onClick: onOverlayClick
455
+ }, /*#__PURE__*/_react.default.createElement("div", {
456
+ className: "input-address__list-wrapper",
457
+ ref: listWrapperRef
458
+ }, isMobile && /*#__PURE__*/_react.default.createElement("div", {
459
+ ref: listHeaderRef,
460
+ className: (0, _classnames.default)("".concat(RC, "__list-header"), (_cn = {}, (0, _defineProperty2.default)(_cn, "".concat(RC, "__list-header-with-shadow"), isScrollableList && isMobile), (0, _defineProperty2.default)(_cn, "".concat(RC, "__list-header-with-shadow-hidden"), scrollTop === 0), _cn))
461
+ }, /*#__PURE__*/_react.default.createElement("div", {
462
+ className: (0, _classnames.default)("".concat(RC, "__list-header-row"))
463
+ }, /*#__PURE__*/_react.default.createElement("div", {
464
+ className: (0, _classnames.default)("".concat(RC, "__list-label"))
465
+ }, label || 'Address'), /*#__PURE__*/_react.default.createElement("div", {
466
+ className: (0, _classnames.default)("".concat(RC, "__list-close-icon")),
467
+ onClick: function onClick() {
468
+ return setIsListVisible(false);
469
+ }
470
+ }, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
471
+ onClick: function onClick() {
472
+ return setIsListVisible(false);
473
+ }
474
+ }))), /*#__PURE__*/_react.default.createElement("div", {
475
+ className: (0, _classnames.default)("".concat(RC, "__list-header-row"))
476
+ }, renderSearchableInput())), /*#__PURE__*/_react.default.createElement("div", {
477
+ className: "input-address__list",
478
+ ref: listRef
479
+ }, isLoading ? renderLoader() : listItems !== null && listItems !== void 0 && listItems.length ? listItems === null || listItems === void 0 ? void 0 : listItems.map(renderListItem) : renderNoItems())));
480
+ };
481
+
482
+ return isMobile ? renderListMobile() : renderListDesktop();
332
483
  };
333
484
 
334
485
  return /*#__PURE__*/_react.default.createElement("div", {
335
486
  className: (0, _classnames.default)('input-address', {
336
487
  'input-address--error': error || isWrongAddress && !isFocused
337
488
  })
338
- }, renderInput(), isListVisible && renderList());
489
+ }, isMobile ? renderInput() : renderSearchableInput(), isListVisible && renderList());
339
490
  };
340
491
 
341
492
  var _default = InputAddress;
@@ -1,3 +1,5 @@
1
+ @import "../../scss/vars";
2
+
1
3
  .input-address {
2
4
  position: relative;
3
5
  width: 100%;
@@ -78,8 +80,279 @@
78
80
 
79
81
  &:hover,
80
82
  &-hightlighted {
81
- background: #E2E5EC;
83
+ background: #F0F1F4;
82
84
  }
83
85
  }
84
86
  }
85
87
  }
88
+
89
+ @media (max-width: 767px) {
90
+ .input-address {
91
+ &__list {
92
+ box-sizing: border-box;
93
+ position: relative;
94
+ margin: 0;
95
+ max-height: 100%;
96
+ padding-bottom: 40px;
97
+ overflow-y: auto;
98
+ z-index: 1;
99
+
100
+ background-color: unset;
101
+ border: unset;
102
+ border-radius: unset;
103
+
104
+ padding: 0 $spacing-m;
105
+
106
+ &--no-items {
107
+ color: #757F8C;
108
+ font-family: Sarabun;
109
+ font-size: 16px;
110
+ font-style: normal;
111
+ font-weight: 400;
112
+ line-height: 24px;
113
+ letter-spacing: 0.2px;
114
+ }
115
+
116
+ &--item {
117
+ display: flex;
118
+ padding: 10px 8px;
119
+ align-items: center;
120
+ gap: 16px;
121
+ align-self: stretch;
122
+ border-radius: 6px;
123
+ color: var(--Black-black, #171D33);
124
+ font-family: Sarabun;
125
+ font-size: 16px;
126
+ font-style: normal;
127
+ font-weight: 400;
128
+ line-height: 24px; /* 150% */
129
+ letter-spacing: 0.2px;
130
+
131
+ &:hover {
132
+ background: none;
133
+ }
134
+
135
+ &:focus {
136
+ background: #F0F1F4;
137
+ }
138
+ }
139
+
140
+ &--with-bottom-shadow::after {
141
+ content: "";
142
+ width: 100%;
143
+ height: 15px;
144
+ position: absolute;
145
+ bottom: 0;
146
+ background: linear-gradient(180deg, rgba(212, 218, 230, 0.50) 0%, rgba(212, 218, 230, 0.30) 21.35%, rgba(247, 248, 250, 0.00) 100%);
147
+ z-index: 6;
148
+ transform: rotate(180deg);
149
+ opacity: 1;
150
+ transition: all 0.2s;
151
+ }
152
+
153
+ &--with-bottom-shadow-hidden::after {
154
+ opacity: 0;
155
+ }
156
+
157
+ &-overlay {
158
+ width: 100dvw;
159
+ height: 100dvh;
160
+ max-height: 100dvh;
161
+ position: fixed;
162
+ left: 0!important;
163
+ top: 0!important;
164
+ background: rgba(23, 29, 51, 0.50);
165
+ animation-name: fadeIn;
166
+ animation-duration: 0.25s;
167
+ animation-timing-function: ease;
168
+ animation-fill-mode: forwards;
169
+ }
170
+
171
+ &-wrapper {
172
+ box-sizing: border-box;
173
+ position: absolute;
174
+ padding-bottom: 40px;
175
+ top: auto;
176
+ bottom: 0;
177
+ width: calc(100% - $spacing-m);
178
+ height: 500px;
179
+ max-height: 500px;
180
+ margin: 0 $spacing-s $spacing-s;
181
+ z-index: 2;
182
+ animation-duration: 0.4s;
183
+ animation-name: slideup;
184
+
185
+ border-radius: $radii-l;
186
+ background: $color--light;
187
+ box-shadow: 0px 24px 50px -10px rgba(0, 0, 0, 0.25);
188
+ }
189
+
190
+ &-header {
191
+ position: relative;
192
+ display: flex;
193
+ flex-direction: column;
194
+ justify-content: space-between;
195
+ padding: $spacing-m;
196
+ color: #3B414B;
197
+ font-size: 16px;
198
+ font-weight: 600;
199
+ line-height: 24px;
200
+ letter-spacing: 0.1px;
201
+ gap: $spacing-m;
202
+
203
+ &-row {
204
+ display: flex;
205
+ flex-direction: row;
206
+ align-items: center;
207
+ min-height: 24px;
208
+ box-sizing: border-box;
209
+
210
+ &:first-child {
211
+ padding-right: 50px;
212
+ }
213
+
214
+ .input__wrap {
215
+ width: 100%;
216
+ display: flex;
217
+ align-items: center;
218
+ padding-right: $spacing-s;
219
+ border-radius: 6px;
220
+ border: 1px solid var(--form-input-border, #E1E8F1);
221
+ background: var(--black-bg-color, #F8FBFF)!important;
222
+
223
+ input {
224
+ background: unset!important;
225
+ }
226
+ }
227
+
228
+
229
+ .input__close {
230
+ padding: $spacing-xs;
231
+ border-radius: 2px;
232
+ background: var(--bg-gray-box, #F0F1F4);
233
+ width: 24px;
234
+ min-width: 24px;
235
+ height: 24px;
236
+ box-sizing: border-box;
237
+ display: flex;
238
+ align-items: center;
239
+
240
+ &::before,
241
+ &::after {
242
+ height: 12px;
243
+ top: 50%;
244
+ transform: translateY(-50%) rotate(45deg);
245
+ border-radius: 8px;
246
+ background-color: #171D33;
247
+ }
248
+ &::after {
249
+ transform: translateY(-50%) rotate(-45deg);
250
+ }
251
+ }
252
+ }
253
+
254
+ &-with-shadow::after {
255
+ content: "";
256
+ position: absolute;
257
+ left: 0;
258
+ bottom: -15px;
259
+ width: 100%;
260
+ height: 15px;
261
+ background: linear-gradient(180deg, rgba(212, 218, 230, 0.50) 0%, rgba(212, 218, 230, 0.30) 21.35%, rgba(247, 248, 250, 0.00) 100%);
262
+ z-index: 10;
263
+ opacity: 1;
264
+ transition: all 0.2s;
265
+ }
266
+
267
+ &-with-shadow-hidden::after {
268
+ opacity: 0;
269
+ }
270
+
271
+ .input-address__input-wrapper {
272
+ width: 100%;
273
+ }
274
+ }
275
+
276
+ &-close-icon {
277
+ display: flex;
278
+ align-items: center;
279
+ justify-content: center;
280
+ position: absolute;
281
+ top: 0;
282
+ right: 0;
283
+ height: 100%;
284
+ padding: $spacing-m;
285
+ width: 50px;
286
+ height: 50px;
287
+ box-sizing: border-box;
288
+
289
+ svg {
290
+ width: 16px;
291
+ height: 16px;
292
+ color: #A0A4B0;
293
+ }
294
+ }
295
+ }
296
+
297
+ &__input {
298
+ &-wrapper {
299
+ position: relative;
300
+
301
+ .input__wrap {
302
+ display: flex;
303
+ height: 40px;
304
+ padding: 0px 8px;
305
+ padding-right: 40px;
306
+ box-sizing: border-box;
307
+ justify-content: flex-end;
308
+ align-items: center;
309
+ gap: 8px;
310
+ align-self: stretch;
311
+ border-radius: 6px;
312
+ border: 1px solid var(--Form-Input-Border, #E1E8F1);
313
+ background: var(--Black-BG-color, #F8FBFF);
314
+
315
+ input {
316
+ padding: 8px 0;
317
+ height: 100%;
318
+ box-sizing: border-box;
319
+ }
320
+ }
321
+ }
322
+ }
323
+
324
+ &__clear-query {
325
+ display: flex;
326
+ width: 24px;
327
+ height: 24px;
328
+ box-sizing: border-box;
329
+ padding: 4px;
330
+ justify-content: center;
331
+ align-items: center;
332
+ gap: 10px;
333
+ border-radius: 2px;
334
+ background: var(--BG-gray-box, #F0F1F4);
335
+ right: 8px;
336
+ }
337
+ }
338
+ }
339
+
340
+ @keyframes slideup {
341
+ from {
342
+ transform: translateY(100%);
343
+ }
344
+
345
+ to {
346
+ transform: translateY(0);
347
+ }
348
+ }
349
+
350
+ @keyframes fadeIn {
351
+ from {
352
+ opacity: 0;
353
+ }
354
+
355
+ to {
356
+ opacity: 1;
357
+ }
358
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "1.2.99",
3
+ "version": "1.3.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [