intelicoreact 1.3.0 → 1.3.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.
Files changed (73) hide show
  1. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +2 -2
  2. package/dist/Atomic/FormElements/FileLoader/partial/LoadedContent.js +2 -2
  3. package/dist/Atomic/FormElements/FileLoaderLocalGroup/FileLoaderLocalGroup.js +2 -2
  4. package/dist/Atomic/FormElements/Input/Input.js +2 -2
  5. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +2 -2
  6. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +2 -2
  7. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +3 -3
  8. package/dist/Atomic/FormElements/InputMask/InputMask.js +3 -2
  9. package/dist/Atomic/FormElements/InputMask/functions.js +1 -1
  10. package/dist/Atomic/FormElements/InputMask2/InputMask2.js +2 -2
  11. package/dist/Atomic/FormElements/InputMask2/functions.js +1 -1
  12. package/dist/Atomic/FormElements/InputMask3/InputMask3.js +2 -2
  13. package/dist/Atomic/FormElements/InputMask3/functions.js +1 -1
  14. package/dist/Atomic/FormElements/InputsRow/InputsRow.js +2 -2
  15. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +2 -2
  16. package/dist/Atomic/FormElements/RadioGroup/RadioGroup.js +2 -2
  17. package/dist/Atomic/FormElements/RadioGroupWithInput/RadioGroupWithInput.js +2 -2
  18. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +2 -2
  19. package/dist/Atomic/FormElements/RangeList/RangeList.js +2 -2
  20. package/dist/Atomic/FormElements/RangeSlider/RangeSlider.js +2 -2
  21. package/dist/Atomic/FormElements/RangeSlider2/RangeSlider2.js +2 -2
  22. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +2 -2
  23. package/dist/Atomic/FormElements/Text/Text.js +2 -2
  24. package/dist/Atomic/FormElements/VariantsListRadio/VariantsListRadio.js +2 -2
  25. package/dist/Atomic/FormElements/VariantsListRadio/partials/VariantsListRadioItem.js +2 -2
  26. package/dist/Atomic/FormElements/WidgetPseudoTable/WidgetPseudoTable.js +2 -2
  27. package/dist/Atomic/FormElements/WidgetWithSwitchableRows/WidgetWithSwitchableRows.js +2 -2
  28. package/dist/Atomic/UI/AccordionTable/AccordionTable.js +2 -2
  29. package/dist/Atomic/UI/Chart/partial/Chart.constants.js +1 -1
  30. package/dist/Atomic/UI/Chart/partial/datasetSetters.js +3 -3
  31. package/dist/Atomic/UI/Chart/partial/optionsConstructor.js +3 -3
  32. package/dist/Atomic/UI/Chart/partial/optionsSetters.js +2 -2
  33. package/dist/Atomic/UI/Chart/partial/utils.js +3 -3
  34. package/dist/Atomic/UI/ExampleChartIntegration/ExampleChartIntegration.js +2 -2
  35. package/dist/Atomic/UI/ExampleChartIntegration/partial/utils.js +1 -1
  36. package/dist/Atomic/UI/Modal/Modal.js +1 -1
  37. package/dist/Atomic/UI/Modal/partials/useMobileModal.js +2 -2
  38. package/dist/Atomic/UI/ModalBackup/Modal.js +1 -1
  39. package/dist/Atomic/UI/NavLine/NavLine.js +2 -2
  40. package/dist/Atomic/UI/Table/Partials/TdCell.js +2 -2
  41. package/dist/Atomic/UI/Table/Partials/TdRow.js +2 -2
  42. package/dist/Atomic/UI/TagList/TagList.js +2 -2
  43. package/dist/Classes/AbortableFetch.js +2 -2
  44. package/dist/Classes/AnimatedHandler.js +4 -4
  45. package/dist/Classes/RESTAPI/index.js +2 -2
  46. package/dist/Classes/RESTAPI/partials/AbortableFetch.js +2 -2
  47. package/dist/Classes/RESTAPI/partials/ApiBase.js +3 -1
  48. package/dist/Classes/RESTAPI/partials/ApiRequestCreators.js +2 -2
  49. package/dist/Classes/RESTAPI/partials/ApiUtils.js +2 -2
  50. package/dist/Classes/RESTAPI/partials/CredentialsProcessing.js +2 -2
  51. package/dist/Classes/RESTAPI/partials/Utils.js +2 -2
  52. package/dist/Classes/RESTAPI/partials/_utils.js +5 -4
  53. package/dist/Constants/index.constants.js +1 -1
  54. package/dist/Functions/fieldValueFormatters.js +2 -1
  55. package/dist/Functions/hooks/useFormFieldsChangesManager.js +2 -2
  56. package/dist/Functions/locale/createTranslator.js +2 -2
  57. package/dist/Functions/presets/mobileKeyboardTypesPresets.js +1 -1
  58. package/dist/Functions/useFieldFocus.js +2 -2
  59. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +2 -2
  60. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +2 -2
  61. package/dist/Functions/useFormTools/functions/General.js +2 -2
  62. package/dist/Functions/useFormTools/functions/RenderFields.js +2 -2
  63. package/dist/Functions/useFormTools/index.js +2 -2
  64. package/dist/Functions/useInputHighlightError.js +1 -1
  65. package/dist/Functions/useIsMobile.js +2 -2
  66. package/dist/Functions/useLocationParams.js +2 -2
  67. package/dist/Functions/useMetaInfo.js +1 -1
  68. package/dist/Functions/usePasswordChecker.js +2 -2
  69. package/dist/Functions/utils.js +8 -6
  70. package/dist/Molecular/InputAddress/InputAddress.js +189 -38
  71. package/dist/Molecular/InputAddress/InputAddress.scss +275 -1
  72. package/package.json +1 -1
  73. package/dist/Functions/presets/inputMaskPreset.js +0 -176
@@ -7,12 +7,14 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.transformUTCTimeToLocal = transformUTCTimeToLocal;
11
- exports.transformUTCHoursToLocal = transformUTCHoursToLocal;
10
+ exports.disableDefaultBehavior = exports.debounce = exports.compareAlphabetical = exports.compare = exports.clone = exports.checkedRef = exports.changeMeta = exports.capitalized = exports.addBitDepthPoints = void 0;
11
+ exports.downloadEmulation = downloadEmulation;
12
+ exports.throttle = exports.setCarretToEnd = exports.renderFileSize = exports.omitKeys = exports.logout = exports.handleObjectChange = exports.getUniqueFileExtensions = exports.getStyles = exports.getResponseClone = exports.getOS = exports.getIsOnlyAnObject = exports.getCorrectTestId = exports.getColorById = exports.getBase64 = exports.firstLetterCapital = exports.downloadFile = void 0;
12
13
  exports.transformDateOrTimeOrTogetherToFormat = transformDateOrTimeOrTogetherToFormat;
13
14
  exports.transformDateOrTimeOrTogetherToFormattedLocal = transformDateOrTimeOrTogetherToFormattedLocal;
14
- exports.downloadEmulation = downloadEmulation;
15
- exports.getCorrectTestId = exports.disableDefaultBehavior = exports.getOS = exports.getUniqueFileExtensions = exports.renderFileSize = exports.getBase64 = exports.compareAlphabetical = exports.setCarretToEnd = exports.compare = exports.downloadFile = exports.checkedRef = exports.capitalized = exports.firstLetterCapital = exports.changeMeta = exports.addBitDepthPoints = exports.throttle = exports.debounce = exports.getColorById = exports.getStyles = exports.logout = exports.omitKeys = exports.getResponseClone = exports.clone = exports.useOutsideToggle = exports.handleObjectChange = exports.getIsOnlyAnObject = void 0;
15
+ exports.transformUTCHoursToLocal = transformUTCHoursToLocal;
16
+ exports.transformUTCTimeToLocal = transformUTCTimeToLocal;
17
+ exports.useOutsideToggle = void 0;
16
18
 
17
19
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
18
20
 
@@ -36,9 +38,9 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
36
38
 
37
39
  function _toPrimitive(input, hint) { if (_typeof3(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof3(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
38
40
 
39
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
41
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
40
42
 
41
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
43
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
42
44
 
43
45
  var getIsOnlyAnObject = function getIsOnlyAnObject(input) {
44
46
  return (0, _typeof2.default)(input) === 'object' && input instanceof Object && !Array.isArray(input);
@@ -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,280 @@
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
+ z-index: 999;
170
+ }
171
+
172
+ &-wrapper {
173
+ box-sizing: border-box;
174
+ position: absolute;
175
+ padding-bottom: 40px;
176
+ top: auto;
177
+ bottom: 0;
178
+ width: calc(100% - $spacing-m);
179
+ height: 500px;
180
+ max-height: 500px;
181
+ margin: 0 $spacing-s $spacing-s;
182
+ z-index: 2;
183
+ animation-duration: 0.4s;
184
+ animation-name: slideup;
185
+
186
+ border-radius: $radii-l;
187
+ background: $color--light;
188
+ box-shadow: 0px 24px 50px -10px rgba(0, 0, 0, 0.25);
189
+ }
190
+
191
+ &-header {
192
+ position: relative;
193
+ display: flex;
194
+ flex-direction: column;
195
+ justify-content: space-between;
196
+ padding: $spacing-m;
197
+ color: #3B414B;
198
+ font-size: 16px;
199
+ font-weight: 600;
200
+ line-height: 24px;
201
+ letter-spacing: 0.1px;
202
+ gap: $spacing-m;
203
+
204
+ &-row {
205
+ display: flex;
206
+ flex-direction: row;
207
+ align-items: center;
208
+ min-height: 24px;
209
+ box-sizing: border-box;
210
+
211
+ &:first-child {
212
+ padding-right: 50px;
213
+ }
214
+
215
+ .input__wrap {
216
+ width: 100%;
217
+ display: flex;
218
+ align-items: center;
219
+ padding-right: $spacing-s;
220
+ border-radius: 6px;
221
+ border: 1px solid var(--form-input-border, #E1E8F1);
222
+ background: var(--black-bg-color, #F8FBFF)!important;
223
+
224
+ input {
225
+ background: unset!important;
226
+ }
227
+ }
228
+
229
+
230
+ .input__close {
231
+ padding: $spacing-xs;
232
+ border-radius: 2px;
233
+ background: var(--bg-gray-box, #F0F1F4);
234
+ width: 24px;
235
+ min-width: 24px;
236
+ height: 24px;
237
+ box-sizing: border-box;
238
+ display: flex;
239
+ align-items: center;
240
+
241
+ &::before,
242
+ &::after {
243
+ height: 12px;
244
+ top: 50%;
245
+ transform: translateY(-50%) rotate(45deg);
246
+ border-radius: 8px;
247
+ background-color: #171D33;
248
+ }
249
+ &::after {
250
+ transform: translateY(-50%) rotate(-45deg);
251
+ }
252
+ }
253
+ }
254
+
255
+ &-with-shadow::after {
256
+ content: "";
257
+ position: absolute;
258
+ left: 0;
259
+ bottom: -15px;
260
+ width: 100%;
261
+ height: 15px;
262
+ 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%);
263
+ z-index: 10;
264
+ opacity: 1;
265
+ transition: all 0.2s;
266
+ }
267
+
268
+ &-with-shadow-hidden::after {
269
+ opacity: 0;
270
+ }
271
+
272
+ .input-address__input-wrapper {
273
+ width: 100%;
274
+ }
275
+ }
276
+
277
+ &-close-icon {
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: center;
281
+ position: absolute;
282
+ top: 0;
283
+ right: 0;
284
+ height: 100%;
285
+ padding: $spacing-m;
286
+ width: 50px;
287
+ height: 50px;
288
+ box-sizing: border-box;
289
+
290
+ svg {
291
+ width: 16px;
292
+ height: 16px;
293
+ color: #A0A4B0;
294
+ }
295
+ }
296
+ }
297
+
298
+ &__input {
299
+ &-wrapper {
300
+ position: relative;
301
+
302
+ .input__wrap {
303
+ display: flex;
304
+ height: 40px;
305
+ padding: 0px 8px;
306
+ padding-right: 40px;
307
+ box-sizing: border-box;
308
+ justify-content: flex-end;
309
+ align-items: center;
310
+ gap: 8px;
311
+ align-self: stretch;
312
+ border-radius: 6px;
313
+ border: 1px solid var(--Form-Input-Border, #E1E8F1);
314
+ background: var(--Black-BG-color, #F8FBFF);
315
+
316
+ input {
317
+ padding: 8px 0;
318
+ height: 100%;
319
+ box-sizing: border-box;
320
+ }
321
+ }
322
+ }
323
+ }
324
+
325
+ &__clear-query {
326
+ display: flex;
327
+ width: 24px;
328
+ height: 24px;
329
+ box-sizing: border-box;
330
+ padding: 4px;
331
+ justify-content: center;
332
+ align-items: center;
333
+ gap: 10px;
334
+ border-radius: 2px;
335
+ background: var(--BG-gray-box, #F0F1F4);
336
+ right: 8px;
337
+ }
338
+ }
339
+ }
340
+
341
+ @keyframes slideup {
342
+ from {
343
+ transform: translateY(100%);
344
+ }
345
+
346
+ to {
347
+ transform: translateY(0);
348
+ }
349
+ }
350
+
351
+ @keyframes fadeIn {
352
+ from {
353
+ opacity: 0;
354
+ }
355
+
356
+ to {
357
+ opacity: 1;
358
+ }
359
+ }