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)(
|
|
94
|
+
var _useState = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2)),
|
|
96
95
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
103
|
-
|
|
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
|
|
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
|
-
|
|
119
|
-
|
|
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
|
-
|
|
124
|
-
|
|
122
|
+
isSearchChanged = _useState10[0],
|
|
123
|
+
setIsSearchChanged = _useState10[1];
|
|
125
124
|
|
|
126
|
-
var _useState11 = (0, _react.useState)(
|
|
125
|
+
var _useState11 = (0, _react.useState)(false),
|
|
127
126
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
isSearchInputFocused = _useState12[0],
|
|
128
|
+
setIsSearchInputFocused = _useState12[1];
|
|
130
129
|
|
|
131
|
-
var _useState13 = (0, _react.useState)(
|
|
130
|
+
var _useState13 = (0, _react.useState)(null),
|
|
132
131
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
isScrollableList = _useState14[0],
|
|
133
|
+
setIsScrollableList = _useState14[1];
|
|
135
134
|
|
|
136
|
-
var _useState15 = (0, _react.useState)(
|
|
135
|
+
var _useState15 = (0, _react.useState)(false),
|
|
137
136
|
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
isFixedMaxHeight = _useState16[0],
|
|
138
|
+
setIsFixedMaxHeight = _useState16[1];
|
|
140
139
|
|
|
141
|
-
var _useState17 = (0, _react.useState)(
|
|
140
|
+
var _useState17 = (0, _react.useState)(0),
|
|
142
141
|
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
143
|
-
|
|
144
|
-
|
|
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)(
|
|
118
|
+
var _useState = (0, _react.useState)(id || fieldKey || Math.random().toString(16).slice(2)),
|
|
120
119
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
121
|
-
|
|
122
|
-
|
|
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
|
-
|
|
127
|
-
|
|
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
|
-
|
|
143
|
-
|
|
141
|
+
initListHeight = _useState8[0],
|
|
142
|
+
setInitListHeight = _useState8[1];
|
|
144
143
|
|
|
145
|
-
var _useState9 = (0, _react.useState)(
|
|
144
|
+
var _useState9 = (0, _react.useState)(null),
|
|
146
145
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
147
|
-
|
|
148
|
-
|
|
146
|
+
isScrollableList = _useState10[0],
|
|
147
|
+
setIsScrollableList = _useState10[1];
|
|
149
148
|
|
|
150
|
-
var _useState11 = (0, _react.useState)(
|
|
149
|
+
var _useState11 = (0, _react.useState)(false),
|
|
151
150
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
isFixedMaxHeight = _useState12[0],
|
|
152
|
+
setIsFixedMaxHeight = _useState12[1];
|
|
154
153
|
|
|
155
|
-
var _useState13 = (0, _react.useState)(
|
|
154
|
+
var _useState13 = (0, _react.useState)(0),
|
|
156
155
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
157
|
-
|
|
158
|
-
|
|
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
|
|
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
|
-
|
|
75
|
-
|
|
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
|
-
|
|
80
|
-
|
|
92
|
+
scrollTop = _useState6[0],
|
|
93
|
+
setScrollTop = _useState6[1];
|
|
81
94
|
|
|
82
|
-
var _useState7 = (0, _react.useState)(
|
|
95
|
+
var _useState7 = (0, _react.useState)(1),
|
|
83
96
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
84
|
-
|
|
85
|
-
|
|
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
|
-
|
|
90
|
-
|
|
102
|
+
query = _useState10[0],
|
|
103
|
+
setQuery = _useState10[1];
|
|
91
104
|
|
|
92
|
-
var _useState11 = (0, _react.useState)(
|
|
105
|
+
var _useState11 = (0, _react.useState)(null),
|
|
93
106
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
94
|
-
|
|
95
|
-
|
|
107
|
+
tempQuery = _useState12[0],
|
|
108
|
+
setTempQuery = _useState12[1];
|
|
96
109
|
|
|
97
|
-
var _useState13 = (0, _react.useState)(
|
|
110
|
+
var _useState13 = (0, _react.useState)(null),
|
|
98
111
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
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
|
|
280
|
+
var _value$street;
|
|
223
281
|
|
|
224
|
-
|
|
225
|
-
if (
|
|
226
|
-
if (
|
|
227
|
-
return
|
|
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)
|
|
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)
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
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: #
|
|
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
|
+
}
|