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.
Files changed (32) hide show
  1. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.js +38 -0
  2. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.scss +57 -0
  3. package/dist/Atomic/FormElements/AdvancedStatus/AdvancedStatus.stories.js +68 -0
  4. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.js +7 -4
  5. package/dist/Atomic/FormElements/CheckboxInput/CheckboxInput.stories.js +1 -1
  6. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.js +59 -0
  7. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.scss +29 -0
  8. package/dist/Atomic/FormElements/CheckboxesLine/CheckboxesLine.stories.js +74 -0
  9. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +9 -4
  10. package/dist/Atomic/FormElements/Dropdown/Dropdown.scss +4 -0
  11. package/dist/Atomic/FormElements/Dropdown/Dropdown.stories.js +4 -2
  12. package/dist/Atomic/FormElements/Input/Input.js +57 -57
  13. package/dist/Atomic/FormElements/Input/Input.stories.js +13 -5
  14. package/dist/Atomic/FormElements/Label/Label.js +7 -2
  15. package/dist/Atomic/FormElements/MobileCalendar/MobileCalendar.js +1 -1
  16. package/dist/Atomic/FormElements/NumericInput/NumericInput.js +9 -9
  17. package/dist/Atomic/FormElements/NumericInput/NumericInput.stories.js +2 -2
  18. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.js +77 -21
  19. package/dist/Atomic/FormElements/RangeInputs/RangeInputs.stories.js +23 -4
  20. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.js +37 -36
  21. package/dist/Atomic/FormElements/TagsDropdown/TagsDropdown.scss +28 -12
  22. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.js +3 -3
  23. package/dist/Atomic/UI/Button/Button.scss +46 -32
  24. package/dist/Atomic/UI/Button/Button.stories.js +2 -1
  25. package/dist/Atomic/UI/Status/Status.scss +2 -1
  26. package/dist/Constants/index.constants.js +8 -2
  27. package/dist/Functions/README.txt +9 -0
  28. package/dist/Functions/fieldValueFormatters.js +119 -0
  29. package/dist/Functions/inputExecutor.js +16 -17
  30. package/dist/Molecular/FormElements/FormElement.js +6 -3
  31. package/dist/Molecular/FormElements/FormElement.stories.js +1 -0
  32. 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
- isOnlyNumber: {
44
- description: 'boolean - only numbers'
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
- isOnlyNumber: false,
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: true,
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: "label"
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('./../../../../src/Functions/customEventListener');
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 _inputExecutor = require("../../../Functions/inputExecutor");
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 ? onlyNumbers(e.target.value) : e;
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 ? removeComma(inputValue) : addCommas(inputValue) : inputValue);
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
- setInputValueFormated(isPriceInput ? isFocused ? removeComma(inputValue) : addCommas(inputValue) : inputValue);
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;
@@ -112,6 +112,6 @@ NumericInputTemplate.args = {
112
112
  min: '0',
113
113
  max: '15000',
114
114
  symbolsLimit: 5,
115
- placeholder: 'Placeholder',
116
- icon: /*#__PURE__*/_react.default.createElement(_reactFeather.User, null)
115
+ placeholder: 'Placeholder' // icon: <User />
116
+
117
117
  };
@@ -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
- items = _ref.items,
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
- var _useState = (0, _react.useState)(''),
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 handleChange = function handleChange(prop, value) {
48
- onChange(_objectSpread(_objectSpread({}, items), {}, (0, _defineProperty2.default)({}, prop, value)));
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
- if (items !== null && items !== void 0 && items.from && items !== null && items !== void 0 && items.to && (items === null || items === void 0 ? void 0 : items.from) > (items === null || items === void 0 ? void 0 : items.to) || !(items !== null && items !== void 0 && items.to)) {
53
- setError('Invalid range');
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
- type: "number",
74
- value: items === null || items === void 0 ? void 0 : items.from,
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(value) {
77
- return handleChange('from', value);
116
+ onChange: function onChange(val) {
117
+ return handleChange('from', val);
78
118
  },
79
- onBlur: rangeValidation
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
- type: "number",
86
- value: items === null || items === void 0 ? void 0 : items.to,
87
- onChange: function onChange(value) {
88
- return handleChange('to', value);
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: rangeValidation,
91
- error: error
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 _react = _interopRequireDefault(require("react"));
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
- return /*#__PURE__*/_react.default.createElement(_RangeInputs.default, args);
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.value !== value;
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.value === item.value;
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
- return item.title.toLowerCase().includes((searchValue === null || searchValue === void 0 ? void 0 : searchValue.toLowerCase()) || '') ? /*#__PURE__*/_react.default.createElement("button", {
93
- key: item.id,
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 (el) {
98
- return el.value === item.value;
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 (el) {
102
- return el.value === item.value;
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
- })), item.title) : null;
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
- }, label && /*#__PURE__*/_react.default.createElement(_Label.default, {
119
- className: "".concat(RC, "-label"),
120
- isBold: isLabelBold,
121
- label: label,
122
- hint: hint,
123
- hintSide: hintSide
124
- }), /*#__PURE__*/_react.default.createElement("div", {
125
- className: "".concat(RC, "__trigger")
126
- }, chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.map(function (_ref2) {
127
- var title = _ref2.title,
128
- value = _ref2.value,
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: id,
137
+ key: value,
132
138
  className: tagClassname,
133
- label: title,
139
+ label: label,
134
140
  removeItem: function removeItem() {
135
141
  return deleteChosen(value);
136
142
  }
137
143
  });
138
- }), /*#__PURE__*/_react.default.createElement("button", {
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: "Type or select tags from list",
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
- })))), isOpen && /*#__PURE__*/_react.default.createElement("div", {
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
- background: #ffffff;
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
- &__btn {
22
- display: flex;
23
- align-items: center;
24
- width: 100%;
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
- width: 100%;
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: 2;
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 _ref$isIncluded = _ref.isIncluded,
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
  };