intelicoreact 0.1.1 → 0.1.4
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.
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -0
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +57 -0
- package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +68 -0
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +7 -4
- package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +1 -1
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +59 -0
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +29 -0
- package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +74 -0
- package/dist/Atomic/FormElements/Dropdown/Dropdown.js +9 -4
- package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +4 -0
- package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +4 -2
- package/dist/Atomic/FormElements/Input/Input.js +57 -57
- package/dist/Atomic/FormElements/Input/Input.stories.js +13 -5
- package/dist/Atomic/FormElements/Label/Label.js +7 -2
- package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -1
- package/dist/Atomic/FormElements/NumericInput/NumericInput.js +9 -9
- package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +2 -2
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +77 -21
- package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +23 -4
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +37 -36
- package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +28 -12
- package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +3 -3
- package/dist/Atomic/UI/Button/Button.scss +46 -32
- package/dist/Atomic/UI/Button/Button.stories.js +2 -1
- package/dist/Atomic/UI/Status/Status.scss +2 -1
- package/dist/Constants/index.constants.js +8 -2
- package/dist/Functions/README.txt +9 -0
- package/dist/Functions/fieldValueFormatters.js +119 -0
- package/dist/Functions/inputExecutor.js +16 -17
- package/dist/Molecular/FormElements/FormElement.js +6 -3
- package/dist/Molecular/FormElements/FormElement.stories.js +1 -0
- package/package.json +2 -2
|
@@ -40,8 +40,8 @@ var _default = {
|
|
|
40
40
|
withDelete: {
|
|
41
41
|
description: 'boolean - add clear-cross by hover'
|
|
42
42
|
},
|
|
43
|
-
|
|
44
|
-
description: '
|
|
43
|
+
onlyNumbers: {
|
|
44
|
+
description: 'object - only numbers'
|
|
45
45
|
},
|
|
46
46
|
softStringMode: {
|
|
47
47
|
description: 'boolean - only strings'
|
|
@@ -92,14 +92,19 @@ var _default = {
|
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
94
|
exports.default = _default;
|
|
95
|
+
var styles = {
|
|
96
|
+
with: '200px'
|
|
97
|
+
};
|
|
95
98
|
|
|
96
99
|
var Template = function Template(args) {
|
|
97
100
|
var _useState = (0, _react.useState)(''),
|
|
98
101
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
99
102
|
value = _useState2[0],
|
|
100
|
-
setValue = _useState2[1];
|
|
103
|
+
setValue = _useState2[1]; // useEffect(() => console.log('useEffect - value - ', value), [value]);
|
|
104
|
+
|
|
101
105
|
|
|
102
106
|
return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({}, args, {
|
|
107
|
+
style: styles,
|
|
103
108
|
value: value,
|
|
104
109
|
onChange: setValue
|
|
105
110
|
}));
|
|
@@ -110,14 +115,17 @@ exports.InputTemplate = InputTemplate;
|
|
|
110
115
|
InputTemplate.args = {
|
|
111
116
|
type: 'text',
|
|
112
117
|
isFocusDefault: false,
|
|
113
|
-
|
|
118
|
+
onlyNumbers: {
|
|
119
|
+
type: 'float',
|
|
120
|
+
decimalPlaces: 2
|
|
121
|
+
},
|
|
114
122
|
isOnlyString: false,
|
|
115
123
|
isPriceInput: false,
|
|
116
124
|
isTwoDigitAfterDot: false,
|
|
117
125
|
disabled: false,
|
|
118
126
|
error: '',
|
|
119
127
|
mask: '',
|
|
120
|
-
softStringMode:
|
|
128
|
+
softStringMode: false,
|
|
121
129
|
withDelete: true,
|
|
122
130
|
symbolsLimit: 255,
|
|
123
131
|
placeholder: 'Placeholder',
|
|
@@ -9,6 +9,8 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
|
|
12
14
|
var _Hint = _interopRequireDefault(require("../../UI/Hint/Hint"));
|
|
13
15
|
|
|
14
16
|
require("./Label.scss");
|
|
@@ -16,9 +18,12 @@ require("./Label.scss");
|
|
|
16
18
|
var Label = function Label(_ref) {
|
|
17
19
|
var label = _ref.label,
|
|
18
20
|
hint = _ref.hint,
|
|
19
|
-
isRequired = _ref.isRequired
|
|
21
|
+
isRequired = _ref.isRequired,
|
|
22
|
+
isLabelBolt = _ref.isLabelBolt;
|
|
20
23
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
21
|
-
className:
|
|
24
|
+
className: (0, _classnames.default)('label', {
|
|
25
|
+
'label_bold': isLabelBolt
|
|
26
|
+
})
|
|
22
27
|
}, label, isRequired && /*#__PURE__*/_react.default.createElement("span", {
|
|
23
28
|
className: "label_isRequired"
|
|
24
29
|
}, "*"), hint && /*#__PURE__*/_react.default.createElement(_Hint.default, {
|
|
@@ -25,7 +25,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
25
|
|
|
26
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
27
|
|
|
28
|
-
require('
|
|
28
|
+
require('../../../Functions/customEventListener');
|
|
29
29
|
|
|
30
30
|
var MobileCalendar = function MobileCalendar(_ref) {
|
|
31
31
|
var _ref$min = _ref.min,
|
|
@@ -25,7 +25,7 @@ var _reactInputMask = _interopRequireDefault(require("react-input-mask"));
|
|
|
25
25
|
|
|
26
26
|
var _index = require("../../../Constants/index.constants");
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
|
|
29
29
|
|
|
30
30
|
require("./NumericInput.scss");
|
|
31
31
|
|
|
@@ -107,16 +107,14 @@ var NumericInput = function NumericInput(_ref) {
|
|
|
107
107
|
var _useState13 = (0, _react.useState)(false),
|
|
108
108
|
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
109
109
|
isToHighlightError = _useState14[0],
|
|
110
|
-
setIsToHighlightError = _useState14[1];
|
|
110
|
+
setIsToHighlightError = _useState14[1]; // HANDLES
|
|
111
111
|
|
|
112
|
-
var onlyNumbers = _inputExecutor.formatInput.onlyNumbers;
|
|
113
|
-
var _formatInput$priceInp = _inputExecutor.formatInput.priceInput,
|
|
114
|
-
addCommas = _formatInput$priceInp.addCommas,
|
|
115
|
-
removeComma = _formatInput$priceInp.removeComma; // HANDLES
|
|
116
112
|
|
|
117
113
|
var handle = {
|
|
118
114
|
change: function change(e) {
|
|
119
|
-
var inputValue = e.target ?
|
|
115
|
+
var inputValue = e.target ? (0, _fieldValueFormatters.filterNumeric)(e.target.value, {
|
|
116
|
+
type: 'int'
|
|
117
|
+
}) : e;
|
|
120
118
|
|
|
121
119
|
if (inputValue && (decRef.current.contains(e.target) || incRef.current.contains(e.target))) {
|
|
122
120
|
inputValue = parseFloat(inputValue);
|
|
@@ -195,7 +193,7 @@ var NumericInput = function NumericInput(_ref) {
|
|
|
195
193
|
|
|
196
194
|
(0, _react.useEffect)(function () {
|
|
197
195
|
if (inputValue !== value) setIsFocused(true);
|
|
198
|
-
setInputValueFormated(isPriceInput ? isFocused ?
|
|
196
|
+
setInputValueFormated(isPriceInput ? isFocused ? (0, _fieldValueFormatters.formatToRemoveComa)(inputValue) : (0, _fieldValueFormatters.formatToAddBitDepthPoints)(inputValue) : inputValue);
|
|
199
197
|
setIntMemoVal(parseInt(inputValue));
|
|
200
198
|
if (typeof onChange === 'function') onChange(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toString());
|
|
201
199
|
}, [inputValue]); //On Integer Value Change
|
|
@@ -205,7 +203,9 @@ var NumericInput = function NumericInput(_ref) {
|
|
|
205
203
|
}, [intMemoVal]); //On Focuse Change
|
|
206
204
|
|
|
207
205
|
(0, _react.useEffect)(function () {
|
|
208
|
-
|
|
206
|
+
var formatedValue = inputValue;
|
|
207
|
+
if (isPriceInput) formatedValue = isFocused ? (0, _fieldValueFormatters.formatToRemoveComa)(inputValue) : (0, _fieldValueFormatters.formatToAddBitDepthPoints)(inputValue);
|
|
208
|
+
setInputValueFormated(formatedValue);
|
|
209
209
|
|
|
210
210
|
if (isFocused) {
|
|
211
211
|
var _inputRef$current;
|
|
@@ -17,6 +17,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
19
|
|
|
20
|
+
var _fieldValueFormatters = require("../../../Functions/fieldValueFormatters");
|
|
21
|
+
|
|
20
22
|
var _Input = _interopRequireDefault(require("../Input/Input"));
|
|
21
23
|
|
|
22
24
|
var _Label = _interopRequireDefault(require("../Label/Label"));
|
|
@@ -32,27 +34,65 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
32
34
|
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; }
|
|
33
35
|
|
|
34
36
|
var RangeInputs = function RangeInputs(_ref) {
|
|
37
|
+
var _valueObj$from, _valueObj$to;
|
|
38
|
+
|
|
35
39
|
var label = _ref.label,
|
|
36
40
|
hint = _ref.hint,
|
|
37
|
-
|
|
41
|
+
_ref$value = _ref.value,
|
|
42
|
+
valueObj = _ref$value === void 0 ? {
|
|
43
|
+
from: '',
|
|
44
|
+
to: ''
|
|
45
|
+
} : _ref$value,
|
|
38
46
|
className = _ref.className,
|
|
39
47
|
onChange = _ref.onChange,
|
|
40
|
-
isRequired = _ref.isRequired
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
isRequired = _ref.isRequired,
|
|
49
|
+
_ref$type = _ref.type,
|
|
50
|
+
type = _ref$type === void 0 ? 'int' : _ref$type,
|
|
51
|
+
setInnerError = _ref.setError;
|
|
52
|
+
|
|
53
|
+
var _useState = (0, _react.useState)({
|
|
54
|
+
from: '',
|
|
55
|
+
to: ''
|
|
56
|
+
}),
|
|
43
57
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
44
58
|
error = _useState2[0],
|
|
45
59
|
setError = _useState2[1];
|
|
46
60
|
|
|
47
|
-
var
|
|
48
|
-
|
|
61
|
+
var inputFromRef = (0, _react.useRef)(null);
|
|
62
|
+
var inputToRef = (0, _react.useRef)(null);
|
|
63
|
+
var isValidRange = !!(valueObj !== null && valueObj !== void 0 && valueObj.from && valueObj !== null && valueObj !== void 0 && valueObj.to && +(valueObj === null || valueObj === void 0 ? void 0 : valueObj.from) <= +(valueObj === null || valueObj === void 0 ? void 0 : valueObj.to));
|
|
64
|
+
|
|
65
|
+
var handleChange = function handleChange(prop, val) {
|
|
66
|
+
onChange(_objectSpread(_objectSpread({}, valueObj), {}, (0, _defineProperty2.default)({}, prop, type === 'float' ? (0, _fieldValueFormatters.filterFloat)(val) : (0, _fieldValueFormatters.formatOnlyNumbers)(val))));
|
|
49
67
|
};
|
|
50
68
|
|
|
51
|
-
var rangeValidation = function rangeValidation() {
|
|
52
|
-
|
|
53
|
-
|
|
69
|
+
var rangeValidation = function rangeValidation(e, key) {
|
|
70
|
+
var oppositeKey = key === 'from' ? 'to' : 'from';
|
|
71
|
+
|
|
72
|
+
if (!(valueObj !== null && valueObj !== void 0 && valueObj.from) && !(valueObj !== null && valueObj !== void 0 && valueObj.to)) {
|
|
73
|
+
setError({
|
|
74
|
+
from: '',
|
|
75
|
+
to: ''
|
|
76
|
+
});
|
|
77
|
+
setInnerError === null || setInnerError === void 0 ? void 0 : setInnerError('');
|
|
78
|
+
return e;
|
|
79
|
+
} else if (!valueObj[oppositeKey]) {
|
|
80
|
+
var mustToFocus = key === 'from' ? inputToRef.current : inputFromRef.current;
|
|
81
|
+
mustToFocus.focus();
|
|
82
|
+
} else if (!isValidRange) {
|
|
83
|
+
if (!(valueObj !== null && valueObj !== void 0 && valueObj.from)) setError(_objectSpread(_objectSpread({}, error), {}, {
|
|
84
|
+
from: 'Invalid range'
|
|
85
|
+
}));else setError(_objectSpread(_objectSpread({}, error), {}, {
|
|
86
|
+
to: 'Invalid range'
|
|
87
|
+
}));
|
|
88
|
+
setInnerError === null || setInnerError === void 0 ? void 0 : setInnerError('Invalid range');
|
|
54
89
|
} else {
|
|
55
|
-
setError(
|
|
90
|
+
setError({
|
|
91
|
+
from: '',
|
|
92
|
+
to: ''
|
|
93
|
+
});
|
|
94
|
+
setInnerError === null || setInnerError === void 0 ? void 0 : setInnerError('');
|
|
95
|
+
return e;
|
|
56
96
|
}
|
|
57
97
|
};
|
|
58
98
|
|
|
@@ -70,25 +110,41 @@ var RangeInputs = function RangeInputs(_ref) {
|
|
|
70
110
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
71
111
|
className: "range-inputs__input-label"
|
|
72
112
|
}, "From"), /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
73
|
-
|
|
74
|
-
value:
|
|
113
|
+
ref: inputFromRef,
|
|
114
|
+
value: (_valueObj$from = valueObj === null || valueObj === void 0 ? void 0 : valueObj.from) !== null && _valueObj$from !== void 0 ? _valueObj$from : '',
|
|
75
115
|
className: "mr15",
|
|
76
|
-
onChange: function onChange(
|
|
77
|
-
return handleChange('from',
|
|
116
|
+
onChange: function onChange(val) {
|
|
117
|
+
return handleChange('from', val);
|
|
78
118
|
},
|
|
79
|
-
onBlur:
|
|
119
|
+
onBlur: function onBlur(e) {
|
|
120
|
+
return rangeValidation(e, 'from');
|
|
121
|
+
},
|
|
122
|
+
error: error.from,
|
|
123
|
+
onKeyUp: function onKeyUp(code, e) {
|
|
124
|
+
if (code === 13) {
|
|
125
|
+
if (isValidRange) inputFromRef.current.blur();else {
|
|
126
|
+
inputToRef.current.focus();
|
|
127
|
+
inputToRef.current.select();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
80
131
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
81
132
|
className: "j4 w50"
|
|
82
133
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
83
134
|
className: "range-inputs__input-label"
|
|
84
135
|
}, "To"), /*#__PURE__*/_react.default.createElement(_Input.default, {
|
|
85
|
-
|
|
86
|
-
value:
|
|
87
|
-
onChange: function onChange(
|
|
88
|
-
return handleChange('to',
|
|
136
|
+
ref: inputToRef,
|
|
137
|
+
value: (_valueObj$to = valueObj === null || valueObj === void 0 ? void 0 : valueObj.to) !== null && _valueObj$to !== void 0 ? _valueObj$to : '',
|
|
138
|
+
onChange: function onChange(val) {
|
|
139
|
+
return handleChange('to', val);
|
|
89
140
|
},
|
|
90
|
-
onBlur:
|
|
91
|
-
|
|
141
|
+
onBlur: function onBlur(e) {
|
|
142
|
+
return rangeValidation(e, 'to');
|
|
143
|
+
},
|
|
144
|
+
error: error.to,
|
|
145
|
+
onKeyUp: function onKeyUp(code, e) {
|
|
146
|
+
if (code === 13) inputToRef.current.blur();
|
|
147
|
+
}
|
|
92
148
|
}))));
|
|
93
149
|
};
|
|
94
150
|
|
|
@@ -2,17 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.RangeInputsTemplate = exports.default = void 0;
|
|
9
11
|
|
|
10
|
-
var
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
17
|
|
|
12
18
|
var _RangeInputs = _interopRequireDefault(require("./RangeInputs"));
|
|
13
19
|
|
|
14
20
|
require("./RangeInputs.scss");
|
|
15
21
|
|
|
22
|
+
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); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
+
|
|
16
26
|
global.lng = 'en';
|
|
17
27
|
var _default = {
|
|
18
28
|
title: 'RangeInputs',
|
|
@@ -21,14 +31,23 @@ var _default = {
|
|
|
21
31
|
exports.default = _default;
|
|
22
32
|
|
|
23
33
|
var Template = function Template(args) {
|
|
24
|
-
|
|
34
|
+
var _useState = (0, _react.useState)(),
|
|
35
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
|
+
state = _useState2[0],
|
|
37
|
+
setState = _useState2[1];
|
|
38
|
+
|
|
39
|
+
(0, _react.useEffect)(function () {
|
|
40
|
+
return console.log(state);
|
|
41
|
+
}, [state]);
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(_RangeInputs.default, (0, _extends2.default)({}, args, {
|
|
43
|
+
onChange: setState,
|
|
44
|
+
value: state
|
|
45
|
+
}));
|
|
25
46
|
};
|
|
26
47
|
|
|
27
48
|
var RangeInputsTemplate = Template.bind({});
|
|
28
49
|
exports.RangeInputsTemplate = RangeInputsTemplate;
|
|
29
50
|
RangeInputsTemplate.args = {
|
|
30
51
|
label: 'loanAmount',
|
|
31
|
-
from: 0,
|
|
32
|
-
to: 0,
|
|
33
52
|
hint: 'Hint'
|
|
34
53
|
};
|
|
@@ -35,7 +35,8 @@ var RC = 'tags-dropdown';
|
|
|
35
35
|
|
|
36
36
|
var TagsDropdown = function TagsDropdown(_ref) {
|
|
37
37
|
var options = _ref.options,
|
|
38
|
-
chosenOptions = _ref.chosenOptions,
|
|
38
|
+
_ref$chosenOptions = _ref.chosenOptions,
|
|
39
|
+
chosenOptions = _ref$chosenOptions === void 0 ? [] : _ref$chosenOptions,
|
|
39
40
|
onChange = _ref.onChange,
|
|
40
41
|
className = _ref.className,
|
|
41
42
|
tagClassname = _ref.tagClassname,
|
|
@@ -43,7 +44,9 @@ var TagsDropdown = function TagsDropdown(_ref) {
|
|
|
43
44
|
label = _ref.label,
|
|
44
45
|
isLabelBold = _ref.isLabelBold,
|
|
45
46
|
hint = _ref.hint,
|
|
46
|
-
hintSide = _ref.hintSide
|
|
47
|
+
hintSide = _ref.hintSide,
|
|
48
|
+
disabled = _ref.disabled,
|
|
49
|
+
isValuesInTags = _ref.isValuesInTags;
|
|
47
50
|
|
|
48
51
|
var _useState = (0, _react.useState)(false),
|
|
49
52
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
@@ -56,6 +59,9 @@ var TagsDropdown = function TagsDropdown(_ref) {
|
|
|
56
59
|
setSearchValue = _useState4[1];
|
|
57
60
|
|
|
58
61
|
var dropdownRef = (0, _react.useRef)(null);
|
|
62
|
+
var singleLevelOptions = options.reduce(function (acc, item) {
|
|
63
|
+
return [].concat((0, _toConsumableArray2.default)(acc), (0, _toConsumableArray2.default)(item.groupName ? item.list : [item]));
|
|
64
|
+
}, []);
|
|
59
65
|
|
|
60
66
|
var handleClickOutside = function handleClickOutside(event) {
|
|
61
67
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
@@ -66,7 +72,7 @@ var TagsDropdown = function TagsDropdown(_ref) {
|
|
|
66
72
|
|
|
67
73
|
var deleteChosen = function deleteChosen(value) {
|
|
68
74
|
onChange(chosenOptions.filter(function (item) {
|
|
69
|
-
return item
|
|
75
|
+
return item !== value;
|
|
70
76
|
}), 'chosenOptions');
|
|
71
77
|
};
|
|
72
78
|
|
|
@@ -75,13 +81,13 @@ var TagsDropdown = function TagsDropdown(_ref) {
|
|
|
75
81
|
setSearchValue('');
|
|
76
82
|
|
|
77
83
|
if (chosenOptions.some(function (el) {
|
|
78
|
-
return el
|
|
84
|
+
return el === item.value;
|
|
79
85
|
})) {
|
|
80
86
|
deleteChosen(item.value);
|
|
81
87
|
return;
|
|
82
88
|
}
|
|
83
89
|
|
|
84
|
-
onChange([].concat((0, _toConsumableArray2.default)(chosenOptions), [item]), 'chosenOptions');
|
|
90
|
+
onChange([].concat((0, _toConsumableArray2.default)(chosenOptions), [item.value]), 'chosenOptions');
|
|
85
91
|
};
|
|
86
92
|
|
|
87
93
|
var onSearchHandler = function onSearchHandler(name) {
|
|
@@ -89,21 +95,22 @@ var TagsDropdown = function TagsDropdown(_ref) {
|
|
|
89
95
|
};
|
|
90
96
|
|
|
91
97
|
var getMarkupForElement = function getMarkupForElement(item) {
|
|
92
|
-
|
|
93
|
-
|
|
98
|
+
var title = item.title || item.label;
|
|
99
|
+
return title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || '') ? /*#__PURE__*/_react.default.createElement("button", {
|
|
100
|
+
key: item.value,
|
|
94
101
|
onClick: function onClick() {
|
|
95
102
|
return onChangeHandler(item);
|
|
96
103
|
},
|
|
97
|
-
className: (0, _classnames.default)("".concat(RC, "__list-item"), (0, _defineProperty2.default)({}, "".concat(RC, "__list-item_active"), chosenOptions.some(function (
|
|
98
|
-
return
|
|
104
|
+
className: (0, _classnames.default)("".concat(RC, "__list-item"), (0, _defineProperty2.default)({}, "".concat(RC, "__list-item_active"), chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.some(function (value) {
|
|
105
|
+
return value === item.value;
|
|
99
106
|
})), (0, _defineProperty2.default)({}, "".concat(RC, "__list-item_disabled"), item.disabled))
|
|
100
107
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
101
|
-
className: (0, _classnames.default)("".concat(RC, "__active-icon"), (0, _defineProperty2.default)({}, "".concat(RC, "__active-icon_active"), chosenOptions.some(function (
|
|
102
|
-
return
|
|
108
|
+
className: (0, _classnames.default)("".concat(RC, "__active-icon"), (0, _defineProperty2.default)({}, "".concat(RC, "__active-icon_active"), chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.some(function (value) {
|
|
109
|
+
return value === item.value;
|
|
103
110
|
})))
|
|
104
111
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.Check, {
|
|
105
112
|
className: "color--text"
|
|
106
|
-
})),
|
|
113
|
+
})), title) : null;
|
|
107
114
|
};
|
|
108
115
|
|
|
109
116
|
(0, _react.useEffect)(function () {
|
|
@@ -113,40 +120,34 @@ var TagsDropdown = function TagsDropdown(_ref) {
|
|
|
113
120
|
};
|
|
114
121
|
});
|
|
115
122
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
116
|
-
className: (0, _classnames.default)(RC, className),
|
|
123
|
+
className: (0, _classnames.default)(RC, className, (0, _defineProperty2.default)({}, "".concat(RC, "_disabled"), disabled)),
|
|
117
124
|
ref: dropdownRef
|
|
118
|
-
},
|
|
119
|
-
className: "".concat(RC, "
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
id = _ref2.id;
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
126
|
+
className: "".concat(RC, "__trigger"),
|
|
127
|
+
onClick: function onClick(e) {
|
|
128
|
+
if (e.target.className === "".concat(RC, "__trigger") || e.target.className === "tags-dropdown__arrow" || e.target.tagName === 'svg' && e.target.parentNode.className !== 'tag__button') setIsOpen(!isOpen);else if (e.target.tagName === 'INPUT') setIsOpen(true);
|
|
129
|
+
}
|
|
130
|
+
}, chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.map(function (value) {
|
|
131
|
+
// el.list?.find?.(e => e.value === value)
|
|
132
|
+
var tag = singleLevelOptions === null || singleLevelOptions === void 0 ? void 0 : singleLevelOptions.find(function (el) {
|
|
133
|
+
return el.value === value;
|
|
134
|
+
});
|
|
135
|
+
var label = isValuesInTags ? tag === null || tag === void 0 ? void 0 : tag.value : (tag === null || tag === void 0 ? void 0 : tag.label) || (tag === null || tag === void 0 ? void 0 : tag.name) || (tag === null || tag === void 0 ? void 0 : tag.title);
|
|
130
136
|
return /*#__PURE__*/_react.default.createElement(_Tag.default, {
|
|
131
|
-
key:
|
|
137
|
+
key: value,
|
|
132
138
|
className: tagClassname,
|
|
133
|
-
label:
|
|
139
|
+
label: label,
|
|
134
140
|
removeItem: function removeItem() {
|
|
135
141
|
return deleteChosen(value);
|
|
136
142
|
}
|
|
137
143
|
});
|
|
138
|
-
}), /*#__PURE__*/_react.default.createElement("
|
|
139
|
-
className: "".concat(RC, "__btn"),
|
|
140
|
-
onClick: function onClick() {
|
|
141
|
-
return setIsOpen(true);
|
|
142
|
-
}
|
|
143
|
-
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
144
|
+
}), /*#__PURE__*/_react.default.createElement("input", {
|
|
144
145
|
className: "".concat(RC, "__input"),
|
|
145
146
|
value: searchValue,
|
|
146
147
|
onChange: function onChange(e) {
|
|
147
148
|
return onSearchHandler(e.target.value);
|
|
148
149
|
},
|
|
149
|
-
placeholder: "
|
|
150
|
+
placeholder: "Select from list",
|
|
150
151
|
onKeyDown: function onKeyDown(e) {
|
|
151
152
|
return onKeyPress(e, searchValue);
|
|
152
153
|
}
|
|
@@ -154,9 +155,9 @@ var TagsDropdown = function TagsDropdown(_ref) {
|
|
|
154
155
|
className: (0, _classnames.default)("".concat(RC, "__arrow"), (0, _defineProperty2.default)({}, "".concat(RC, "__arrow_active"), isOpen))
|
|
155
156
|
}, /*#__PURE__*/_react.default.createElement(_reactFeather.ChevronDown, {
|
|
156
157
|
className: "color--text"
|
|
157
|
-
})))
|
|
158
|
+
}))), isOpen && /*#__PURE__*/_react.default.createElement("div", {
|
|
158
159
|
className: "".concat(RC, "__list")
|
|
159
|
-
}, options.map(function (option) {
|
|
160
|
+
}, options === null || options === void 0 ? void 0 : options.map(function (option) {
|
|
160
161
|
var _option$list;
|
|
161
162
|
|
|
162
163
|
return option.groupName ? /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -6,26 +6,31 @@
|
|
|
6
6
|
position: relative;
|
|
7
7
|
width: 100%;
|
|
8
8
|
|
|
9
|
+
&_disabled {
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
opacity: 0.5;
|
|
12
|
+
}
|
|
13
|
+
|
|
9
14
|
&__trigger {
|
|
10
|
-
|
|
11
|
-
border: 1px solid #e2e5ec;
|
|
15
|
+
position: relative;
|
|
12
16
|
box-sizing: border-box;
|
|
13
|
-
border-radius: 3px;
|
|
14
|
-
padding-left: 5px;
|
|
15
17
|
height: 28px;
|
|
16
18
|
display: flex;
|
|
19
|
+
flex-flow: row wrap;
|
|
20
|
+
justify-content: flex-start;
|
|
17
21
|
align-items: center;
|
|
18
|
-
cursor: pointer;
|
|
19
|
-
}
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
height: fit-content;
|
|
24
|
+
min-height: 28px;
|
|
25
|
+
padding: 3px 24px 3px 5px;
|
|
26
|
+
cursor: pointer;
|
|
27
|
+
background: #ffffff;
|
|
28
|
+
border: 1px solid #e2e5ec;
|
|
29
|
+
border-radius: 3px;
|
|
25
30
|
}
|
|
26
31
|
|
|
27
32
|
&__input {
|
|
28
|
-
|
|
33
|
+
flex-grow: 1;
|
|
29
34
|
background: none;
|
|
30
35
|
border: none;
|
|
31
36
|
padding-right: 2px;
|
|
@@ -46,7 +51,7 @@
|
|
|
46
51
|
padding: 8px 0;
|
|
47
52
|
max-height: 320px;
|
|
48
53
|
overflow-y: auto;
|
|
49
|
-
z-index:
|
|
54
|
+
z-index: 3;
|
|
50
55
|
text-align: left;
|
|
51
56
|
&::-webkit-scrollbar {
|
|
52
57
|
width: 4px;
|
|
@@ -88,10 +93,16 @@
|
|
|
88
93
|
}
|
|
89
94
|
|
|
90
95
|
&__arrow {
|
|
96
|
+
position: absolute;
|
|
97
|
+
top: 7.5px;
|
|
98
|
+
right: 5px;
|
|
99
|
+
|
|
91
100
|
display: flex;
|
|
92
101
|
align-items: center;
|
|
93
102
|
margin-right: 5px;
|
|
94
103
|
|
|
104
|
+
cursor: pointer;
|
|
105
|
+
|
|
95
106
|
&_active {
|
|
96
107
|
transform: rotate(180deg);
|
|
97
108
|
}
|
|
@@ -128,4 +139,9 @@
|
|
|
128
139
|
&-label {
|
|
129
140
|
margin-bottom: 5px;
|
|
130
141
|
}
|
|
142
|
+
|
|
143
|
+
.tag {
|
|
144
|
+
margin-bottom: 3px;
|
|
145
|
+
cursor: auto;
|
|
146
|
+
}
|
|
131
147
|
}
|
|
@@ -18,14 +18,14 @@ require("./TextSwitcher.scss");
|
|
|
18
18
|
var RC = 'text-switcher';
|
|
19
19
|
|
|
20
20
|
var TextSwitcher = function TextSwitcher(_ref) {
|
|
21
|
-
var
|
|
22
|
-
isIncluded = _ref$isIncluded === void 0 ? true : _ref$isIncluded,
|
|
21
|
+
var isIncluded = _ref.isIncluded,
|
|
23
22
|
_ref$activeText = _ref.activeText,
|
|
24
23
|
activeText = _ref$activeText === void 0 ? 'is' : _ref$activeText,
|
|
25
24
|
_ref$inactiveText = _ref.inactiveText,
|
|
26
25
|
inactiveText = _ref$inactiveText === void 0 ? 'is not' : _ref$inactiveText,
|
|
27
26
|
onChange = _ref.onChange,
|
|
28
27
|
className = _ref.className;
|
|
28
|
+
var isUndefined = isIncluded === undefined || isIncluded === null;
|
|
29
29
|
return /*#__PURE__*/_react.default.createElement("button", {
|
|
30
30
|
className: (0, _classnames.default)(RC, (0, _defineProperty2.default)({}, "".concat(RC, "_active"), isIncluded), className),
|
|
31
31
|
onClick: function onClick() {
|
|
@@ -35,7 +35,7 @@ var TextSwitcher = function TextSwitcher(_ref) {
|
|
|
35
35
|
className: "".concat(RC, "__btn")
|
|
36
36
|
}, activeText), inactiveText && /*#__PURE__*/_react.default.createElement("span", {
|
|
37
37
|
className: (0, _classnames.default)("".concat(RC, "__btn"), "".concat(RC, "__btn_off"))
|
|
38
|
-
}, inactiveText), /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
+
}, inactiveText), !isUndefined && /*#__PURE__*/_react.default.createElement("div", {
|
|
39
39
|
className: (0, _classnames.default)("".concat(RC, "__slider"), (0, _defineProperty2.default)({}, "".concat(RC, "__slider_inactive"), !isIncluded))
|
|
40
40
|
}));
|
|
41
41
|
};
|