intelicoreact 1.1.40 → 1.1.42
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.
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
16
|
+
require("./Text.scss");
|
|
17
|
+
|
|
18
|
+
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; }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
var RC = 'text';
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* @param value
|
|
26
|
+
* @param className
|
|
27
|
+
* @param classesObj
|
|
28
|
+
* @param icon
|
|
29
|
+
* @param link
|
|
30
|
+
* @param align
|
|
31
|
+
* @param testId
|
|
32
|
+
* @return {JSX.Element|null}
|
|
33
|
+
* @constructor
|
|
34
|
+
*/
|
|
35
|
+
//? Прототип лежит на проекте кабинета src\JS\Components\Atomic\FormElements\Text\Text.js
|
|
36
|
+
//? Что поменял?
|
|
37
|
+
//? - в верстке убрал дополнительную вложенность
|
|
38
|
+
//? (теперь только 1 внешний контейнер, доп. классы назначаются рядом с className)
|
|
39
|
+
//? - убрал пропы as и isTitle, они были для работы с предзаданными классами связанными с токенизацией
|
|
40
|
+
//? возможность прокинуть доп. классы объектом с условиями оставил через пропу classesObj
|
|
41
|
+
//? - заменил пропу text на value
|
|
42
|
+
//? - заменил пропу iconMain на icon
|
|
43
|
+
//? - переработал пропу link, может быть строкой или объектом
|
|
44
|
+
//? если это объект, то у него могут быть свойства
|
|
45
|
+
//? - path - значение для href
|
|
46
|
+
//? - target - значение для атрибута target, имеет смысл передавать, если не передаются onClick или redirect
|
|
47
|
+
//? - onClick - альтернативный обработчик нажатия, если он есть то он будет ипользован в приоритете,
|
|
48
|
+
//? ф-я будет вызвана с 1 аргументом - props, в объекте props будет свойство ev (event) и все содержание link,
|
|
49
|
+
//? по умолчанию до использования onClick будут вызваны e.preventDefault() и e.stopPropagation
|
|
50
|
+
//? - redirect - альтернативный исполнитель редиректа (например history.push),
|
|
51
|
+
//? если есть и нет onClick - будет вызван с одним аргументом (link.path)
|
|
52
|
+
//? - isNoPreventDefault - отключает вызов e.preventDefault перед вызовом onClick или redirect
|
|
53
|
+
//? - isNoStopPropagation - отключает вызов e.preventDefault перед вызовом onClick или redirect
|
|
54
|
+
|
|
55
|
+
var Text = function Text(_ref) {
|
|
56
|
+
var _objectSpread2;
|
|
57
|
+
|
|
58
|
+
var value = _ref.value,
|
|
59
|
+
className = _ref.className,
|
|
60
|
+
classesObj = _ref.classesObj,
|
|
61
|
+
icon = _ref.icon,
|
|
62
|
+
link = _ref.link,
|
|
63
|
+
_ref$align = _ref.align,
|
|
64
|
+
align = _ref$align === void 0 ? 'left' : _ref$align,
|
|
65
|
+
_ref$testId = _ref.testId,
|
|
66
|
+
testId = _ref$testId === void 0 ? 'text-lib-component' : _ref$testId;
|
|
67
|
+
if (!value) return null;
|
|
68
|
+
var isLinkAsObj = link instanceof Object && !Array.isArray(link);
|
|
69
|
+
var isLinkAsString = typeof link === 'string';
|
|
70
|
+
var isLink = isLinkAsObj || isLinkAsString;
|
|
71
|
+
var linkObj = isLinkAsObj ? link : {};
|
|
72
|
+
var _linkObj$path = linkObj.path,
|
|
73
|
+
path = _linkObj$path === void 0 ? '' : _linkObj$path,
|
|
74
|
+
target = linkObj.target,
|
|
75
|
+
redirect = linkObj.redirect,
|
|
76
|
+
onClickInner = linkObj.onClick,
|
|
77
|
+
isNoPreventDefault = linkObj.isNoPreventDefault,
|
|
78
|
+
isNoStopPropagation = linkObj.isNoStopPropagation;
|
|
79
|
+
|
|
80
|
+
var preparedPath = function () {
|
|
81
|
+
if (!isLink) return '';
|
|
82
|
+
return isLinkAsObj ? path : link;
|
|
83
|
+
}();
|
|
84
|
+
|
|
85
|
+
var atributes = {};
|
|
86
|
+
|
|
87
|
+
if (typeof onClickInner === 'function' || typeof redirect === 'function') {
|
|
88
|
+
atributes.onClick = function onClick(ev) {
|
|
89
|
+
if (!isNoPreventDefault) ev.preventDefault();
|
|
90
|
+
if (!isNoStopPropagation) ev.stopPropagation(); //? если переданы и onClick, и redirect, то onClick считается приоритетнее redirect
|
|
91
|
+
|
|
92
|
+
if (onClickInner) {
|
|
93
|
+
onClickInner(_objectSpread({
|
|
94
|
+
ev: ev
|
|
95
|
+
}, link));
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
redirect(preparedPath);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
var mainInner = /*#__PURE__*/React.createElement(React.Fragment, null, icon && /*#__PURE__*/React.createElement("div", {
|
|
104
|
+
className: "".concat(RC, "__icon-container")
|
|
105
|
+
}, icon), value);
|
|
106
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
107
|
+
"data-testid": "text--".concat(testId),
|
|
108
|
+
className: (0, _classnames.default)(RC, className, _objectSpread((_objectSpread2 = {}, (0, _defineProperty2.default)(_objectSpread2, "".concat(RC, "-left"), align === 'left'), (0, _defineProperty2.default)(_objectSpread2, "".concat(RC, "-center"), align === 'center'), (0, _defineProperty2.default)(_objectSpread2, "".concat(RC, "-right"), align === 'right'), (0, _defineProperty2.default)(_objectSpread2, "".concat(RC, "-justify"), align === 'justify'), _objectSpread2), classesObj))
|
|
109
|
+
}, isLink ? /*#__PURE__*/React.createElement("a", (0, _extends2.default)({}, atributes, {
|
|
110
|
+
href: preparedPath,
|
|
111
|
+
target: target !== null && target !== void 0 ? target : '_self',
|
|
112
|
+
rel: "noreferrer"
|
|
113
|
+
}), mainInner) : mainInner);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var _default = Text;
|
|
117
|
+
exports.default = _default;
|
|
@@ -43,7 +43,8 @@ var Hint = function Hint(_ref) {
|
|
|
43
43
|
onClickCallback = _ref.onClickCallback,
|
|
44
44
|
key = _ref.key,
|
|
45
45
|
id = _ref.id,
|
|
46
|
-
children = _ref.children
|
|
46
|
+
children = _ref.children,
|
|
47
|
+
icon = _ref.icon;
|
|
47
48
|
var hintId = (_ref2 = key !== null && key !== void 0 ? key : id) !== null && _ref2 !== void 0 ? _ref2 : time;
|
|
48
49
|
|
|
49
50
|
var _useState = (0, _react.useState)(false),
|
|
@@ -140,7 +141,7 @@ var Hint = function Hint(_ref) {
|
|
|
140
141
|
className: (0, _classnames.default)('hint__button', {
|
|
141
142
|
hint__button_active: isOpen
|
|
142
143
|
})
|
|
143
|
-
}, variant === 'outlined' && /*#__PURE__*/_react.default.createElement(_reactFeather.HelpCircle, {
|
|
144
|
+
}, icon || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, variant === 'outlined' && /*#__PURE__*/_react.default.createElement(_reactFeather.HelpCircle, {
|
|
144
145
|
width: 16,
|
|
145
146
|
height: 16,
|
|
146
147
|
className: "hint__icon outlined"
|
|
@@ -171,7 +172,7 @@ var Hint = function Hint(_ref) {
|
|
|
171
172
|
color: '#F06D8D',
|
|
172
173
|
width: 16,
|
|
173
174
|
height: 16
|
|
174
|
-
}), label && /*#__PURE__*/_react.default.createElement("span", {
|
|
175
|
+
})), label && /*#__PURE__*/_react.default.createElement("span", {
|
|
175
176
|
className: (0, _classnames.default)('hint__label', {
|
|
176
177
|
'color--primary': isOpen
|
|
177
178
|
})
|
|
@@ -19,6 +19,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
19
19
|
|
|
20
20
|
var _Input = _interopRequireDefault(require("../../Atomic/FormElements/Input/Input"));
|
|
21
21
|
|
|
22
|
+
var _Hint = _interopRequireDefault(require("../../Atomic/UI/Hint/Hint"));
|
|
23
|
+
|
|
22
24
|
require("./InputAddress.scss");
|
|
23
25
|
|
|
24
26
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -99,6 +101,15 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
99
101
|
isListVisible = _useState18[0],
|
|
100
102
|
setIsListVisible = _useState18[1];
|
|
101
103
|
|
|
104
|
+
var isWrongAddress = (0, _react.useMemo)(function () {
|
|
105
|
+
var _query$street;
|
|
106
|
+
|
|
107
|
+
if (query === '') return false;
|
|
108
|
+
if (!(query !== null && query !== void 0 && query.hasOwnProperty('streetNumber')) || !(query !== null && query !== void 0 && query.streetNumber)) return true;
|
|
109
|
+
if (!(query !== null && query !== void 0 && query.hasOwnProperty('street')) || !(query !== null && query !== void 0 && (_query$street = query.street) !== null && _query$street !== void 0 && _query$street.fullName)) return true;
|
|
110
|
+
return false;
|
|
111
|
+
}, [query]);
|
|
112
|
+
|
|
102
113
|
var setQueryAsItem = function setQueryAsItem(e, item) {
|
|
103
114
|
if (e) e === null || e === void 0 ? void 0 : e.stopPropagation();
|
|
104
115
|
setIsSelectedFromList(true);
|
|
@@ -211,7 +222,6 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
211
222
|
|
|
212
223
|
var onBlur = function onBlur() {
|
|
213
224
|
if (typeof query === 'string' && !isSelectedFromList) {
|
|
214
|
-
setQuery('');
|
|
215
225
|
onChange('');
|
|
216
226
|
setInternalError(true);
|
|
217
227
|
}
|
|
@@ -246,9 +256,9 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
246
256
|
}, [value]);
|
|
247
257
|
|
|
248
258
|
var renderInput = function renderInput() {
|
|
249
|
-
var _query$
|
|
259
|
+
var _query$street2;
|
|
250
260
|
|
|
251
|
-
var value = typeof query === "string" ? query : "".concat((query === null || query === void 0 ? void 0 : query.streetNumber) || '', " ").concat((query === null || query === void 0 ? void 0 : (_query$
|
|
261
|
+
var value = typeof query === "string" ? query : "".concat((query === null || query === void 0 ? void 0 : query.streetNumber) || '', " ").concat((query === null || query === void 0 ? void 0 : (_query$street2 = query.street) === null || _query$street2 === void 0 ? void 0 : _query$street2.fullName) || '');
|
|
252
262
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
253
263
|
className: (0, _classnames.default)('input-address__input-wrapper')
|
|
254
264
|
}, /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
@@ -260,13 +270,22 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
260
270
|
onFocus: onFocus,
|
|
261
271
|
onBlur: onBlur,
|
|
262
272
|
onKeyDown: onKeyDown
|
|
263
|
-
}),
|
|
273
|
+
}), isWrongAddress && /*#__PURE__*/_react.default.createElement("div", {
|
|
274
|
+
className: (0, _classnames.default)('input-address__alert', {
|
|
275
|
+
'input-address__alert--visible': !isFocused
|
|
276
|
+
})
|
|
277
|
+
}, /*#__PURE__*/_react.default.createElement(_Hint.default, {
|
|
278
|
+
side: "left",
|
|
279
|
+
hint: "Select the correct address from the list of suggestions (must contains house number and street name)",
|
|
280
|
+
icon: /*#__PURE__*/_react.default.createElement(_reactFeather.AlertTriangle, null),
|
|
281
|
+
handleOpenType: "hover"
|
|
282
|
+
})), isClearable && (isWrongAddress && !isFocused ? null : /*#__PURE__*/_react.default.createElement("div", {
|
|
264
283
|
className: (0, _classnames.default)('input-address__clear-query', {
|
|
265
284
|
'input-address__clear-query--input-focused': isFocused
|
|
266
285
|
})
|
|
267
286
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.X, {
|
|
268
287
|
onClick: onClearClick
|
|
269
|
-
})));
|
|
288
|
+
}))));
|
|
270
289
|
};
|
|
271
290
|
|
|
272
291
|
var renderLoader = function renderLoader() {
|
|
@@ -303,7 +322,7 @@ var InputAddress = function InputAddress(_ref) {
|
|
|
303
322
|
|
|
304
323
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
305
324
|
className: (0, _classnames.default)('input-address', {
|
|
306
|
-
'input-address--error': error || internalError
|
|
325
|
+
'input-address--error': error || internalError || isWrongAddress && !isFocused
|
|
307
326
|
})
|
|
308
327
|
}, renderInput(), isListVisible && renderList());
|
|
309
328
|
};
|
|
@@ -16,6 +16,26 @@
|
|
|
16
16
|
cursor: pointer;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
&__alert {
|
|
20
|
+
visibility: hidden;
|
|
21
|
+
position: absolute;
|
|
22
|
+
display: flex;
|
|
23
|
+
top: 50%;
|
|
24
|
+
right: 8px;
|
|
25
|
+
transform: translateY(-50%);
|
|
26
|
+
cursor: pointer;
|
|
27
|
+
|
|
28
|
+
&--visible {
|
|
29
|
+
visibility: visible;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
svg {
|
|
33
|
+
height: 16px;
|
|
34
|
+
width: 16px;
|
|
35
|
+
color: #FA564C;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
19
39
|
&__input-wrapper:hover &__clear-query,
|
|
20
40
|
&__clear-query--input-focused {
|
|
21
41
|
visibility: visible;
|