intelicoreact 0.1.19 → 0.1.22

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 (38) hide show
  1. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +7 -1
  2. package/dist/Atomic/FormElements/RadioInput/RadioInput.js +1 -1
  3. package/dist/Atomic/FormElements/RangeList/RangeList.js +296 -0
  4. package/dist/Atomic/FormElements/RangeList/RangeList.scss +124 -0
  5. package/dist/Atomic/FormElements/RangeList/RangeList.stories.js +101 -0
  6. package/dist/Atomic/FormElements/RangeList/partial/AnyOuterClass.scss +31 -0
  7. package/dist/Atomic/FormElements/Switcher/Switcher.stories.js +2 -2
  8. package/dist/Atomic/FormElements/Switcher/partial/{inner-class.scss → AnyOuterClass.scss} +1 -1
  9. package/dist/Atomic/FormElements/TextSwitcher/TextSwitcher.stories.js +2 -2
  10. package/dist/Atomic/FormElements/TextSwitcher/partial/{inner-class.module.scss → AnyOuterClass.scss} +1 -1
  11. package/dist/Atomic/UI/Status/Status.scss +2 -0
  12. package/dist/Functions/useFormTools/form-drivers/ArrayWithObjects.js +69 -0
  13. package/dist/Functions/useFormTools/form-drivers/ObjectWithIterableObjects.js +166 -0
  14. package/dist/Functions/useFormTools/form-drivers/ObjectWithNamedKeyObjects.js +89 -0
  15. package/dist/Functions/useFormTools/functions/General.js +158 -0
  16. package/dist/Functions/useFormTools/functions/RenderFields.js +113 -0
  17. package/dist/Functions/useFormTools/functions/usePrevious.js +19 -0
  18. package/dist/Functions/useFormTools/index.js +759 -0
  19. package/dist/Molecular/SwitcherHide/SwitcherHide.stories.js +2 -2
  20. package/dist/Molecular/SwitcherHide/partial/{inner-class.scss → AnyOuterClass.scss} +1 -1
  21. package/dist/Molecular/SwitcherRadio/SwitcherRadio.js +23 -15
  22. package/dist/Molecular/SwitcherRadio/SwitcherRadio.scss +19 -15
  23. package/dist/Molecular/SwitcherRadio/SwitcherRadio.stories.js +26 -13
  24. package/dist/Molecular/SwitcherRadio/partial/AnyOuterClass.scss +6 -0
  25. package/dist/Molecular/SwitcherRangeList/SwitcherRangeList.js +16 -0
  26. package/dist/Molecular/SwitcherRangeList/SwitcherRangeList.scss +12 -0
  27. package/dist/Molecular/SwitcherRangeList/SwitcherRangeList.stories.js +19 -0
  28. package/dist/Molecular/SwitcherRangeList/partial/AnyOuterClass.scss +6 -0
  29. package/dist/Molecular/{FilterSelect/FilterSelect.js → SwitcherTagsDropdown/SwitcherTagsDropdown.js} +82 -43
  30. package/dist/Molecular/SwitcherTagsDropdown/SwitcherTagsDropdown.scss +48 -0
  31. package/dist/Molecular/SwitcherTagsDropdown/SwitcherTagsDropdown.stories.js +109 -0
  32. package/dist/Molecular/SwitcherTagsDropdown/partial/AnyOuterClass.scss +12 -0
  33. package/dist/Molecular/SwitcherTextarea/SwitcherTextarea.stories.js +2 -2
  34. package/dist/Molecular/SwitcherTextarea/partial/{inner-class.scss → AnyOuterClass.scss} +1 -1
  35. package/package.json +1 -1
  36. package/dist/Functions/useFormTools.js +0 -429
  37. package/dist/Molecular/FilterSelect/FilterSelect.scss +0 -39
  38. package/dist/Molecular/FilterSelect/FilterSelect.stories.js +0 -81
@@ -17,7 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _SwitcherHide = _interopRequireDefault(require("./SwitcherHide"));
19
19
 
20
- require("./partial/inner-class.scss");
20
+ require("./partial/AnyOuterClass.scss");
21
21
 
22
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
23
 
@@ -50,5 +50,5 @@ SwitcherHideTemplate.args = {
50
50
  // className '',
51
51
  disabled: false,
52
52
  isLabelBold: true,
53
- className: 'inner-class__switcher-hide'
53
+ className: 'any-outer-class__switcher-hide'
54
54
  };
@@ -1,4 +1,4 @@
1
- .inner-class__switcher-hide {
1
+ .any-outer-class__switcher-hide {
2
2
  font-style: normal;
3
3
  font-size: 12px;
4
4
  line-height: 20px;
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
11
 
14
12
  var _react = _interopRequireDefault(require("react"));
@@ -19,41 +17,51 @@ var _SwitcherHide = _interopRequireDefault(require("../SwitcherHide/SwitcherHide
19
17
 
20
18
  var _RadioInput = _interopRequireDefault(require("../../Atomic/FormElements/RadioInput/RadioInput"));
21
19
 
22
- // import SwitcherHide from '../SwitcherHide/SwitcherHide';
23
- // import RadioInput from '../../Atomic/FormElements/RadioInput/RadioInput';
20
+ require("./SwitcherRadio.scss");
21
+
24
22
  var RC = 'switcher-radio';
25
23
 
26
24
  var SwitcherRadio = function SwitcherRadio(_ref) {
25
+ var _options$;
26
+
27
27
  var options = _ref.options,
28
28
  label = _ref.label,
29
29
  hint = _ref.hint,
30
+ hintSide = _ref.hintSide,
30
31
  isLabelBold = _ref.isLabelBold,
31
32
  direction = _ref.direction,
32
33
  className = _ref.className,
33
34
  value = _ref.value,
34
35
  _ref$onChange = _ref.onChange,
35
- onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
36
+ _onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
36
37
  _ref$isActive = _ref.isActive,
37
38
  isActive = _ref$isActive === void 0 ? true : _ref$isActive,
38
39
  _ref$setIsActive = _ref.setIsActive,
39
40
  setIsActive = _ref$setIsActive === void 0 ? function () {} : _ref$setIsActive;
40
- // children, label, hint, className, isActive = true, onChange = () => {}
41
+
42
+ var safelyValue = value || (options === null || options === void 0 ? void 0 : (_options$ = options[0]) === null || _options$ === void 0 ? void 0 : _options$.value) || '';
41
43
  return /*#__PURE__*/_react.default.createElement(_SwitcherHide.default, {
44
+ isActive: isActive,
42
45
  label: label,
43
46
  hint: hint,
44
- isLabelBold: isLabelBold,
45
- isActive: isActive,
47
+ hintSide: hintSide,
46
48
  onChange: setIsActive,
47
- className: className
49
+ isLabelBold: isLabelBold,
50
+ className: (0, _classnames.default)(RC, className)
48
51
  }, /*#__PURE__*/_react.default.createElement("div", {
49
- className: (0, _classnames.default)('switcher-radio', "".concat(className, "__switcher-radio"), (0, _defineProperty2.default)({}, "switcher-radio__".concat(direction), direction))
50
- }, options.map(function (option) {
51
- return /*#__PURE__*/_react.default.createElement(_RadioInput.default, (0, _extends2.default)({}, option, {
52
+ className: (0, _classnames.default)("".concat(RC, "__wrap"), (0, _defineProperty2.default)({}, "switcher-radio_".concat(direction), direction))
53
+ }, options === null || options === void 0 ? void 0 : options.map(function (option) {
54
+ return /*#__PURE__*/_react.default.createElement(_RadioInput.default, {
52
55
  key: option.id,
53
56
  className: "switcher-radio__radio",
54
- checked: value,
55
- onChange: onChange
56
- }));
57
+ value: option.value,
58
+ name: option.name,
59
+ checked: safelyValue,
60
+ label: option.label,
61
+ onChange: function onChange(val) {
62
+ return _onChange(val);
63
+ }
64
+ });
57
65
  })));
58
66
  };
59
67
 
@@ -1,27 +1,31 @@
1
1
  // @import '../../scss/main.scss';
2
2
 
3
3
  .switcher-radio {
4
+ &__wrap {
4
5
  display: flex;
5
- margin-top: 5px;
6
+ }
6
7
 
7
- &__radio:not(:last-child) {
8
- margin-right: 15px;
8
+ &__radio {
9
+ margin-bottom: 10px;
10
+ &:not(:last-child) {
11
+ margin-right: 29px;
9
12
  }
13
+ }
10
14
 
11
- &__row {
12
- align-items: center;
13
- margin-top: 8px;
14
- }
15
+ &_row {
16
+ align-items: center;
17
+ flex-wrap: wrap;
18
+ }
15
19
 
16
- &__col {
17
- flex-direction: column;
20
+ &_col {
21
+ flex-direction: column;
18
22
 
19
- .radio-input {
20
- margin-bottom: 8px;
21
- }
23
+ .radio-input {
24
+ margin-bottom: 8px;
25
+ }
22
26
 
23
- .switcher-radio__radio {
24
- margin-right: 0;
25
- }
27
+ .switcher-radio__radio {
28
+ margin-right: 0;
26
29
  }
30
+ }
27
31
  }
@@ -11,18 +11,24 @@ exports.SwitcherRadioTemplate = exports.default = void 0;
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
14
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
17
 
16
18
  var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _SwitcherRadio = _interopRequireDefault(require("./SwitcherRadio"));
19
21
 
20
- require("./SwitcherRadio.scss");
22
+ require("./partial/AnyOuterClass.scss");
21
23
 
22
24
  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
25
 
24
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; }
25
27
 
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ 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; }
31
+
26
32
  global.lng = 'en';
27
33
  var _default = {
28
34
  title: 'SwitcherRadio',
@@ -39,30 +45,37 @@ var _default = {
39
45
  exports.default = _default;
40
46
 
41
47
  var Template = function Template(args) {
42
- var _useState = (0, _react.useState)(),
48
+ var _useState = (0, _react.useState)({
49
+ isActive: true,
50
+ value: ''
51
+ }),
43
52
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
44
- isActive = _useState2[0],
45
- setIsActive = _useState2[1];
53
+ values = _useState2[0],
54
+ setValues = _useState2[1];
46
55
 
47
- var _useState3 = (0, _react.useState)(),
48
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
49
- value = _useState4[0],
50
- setValue = _useState4[1];
56
+ var handleChange = function handleChange(val, prop) {
57
+ return setValues(_objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2.default)({}, prop, val)));
58
+ };
51
59
 
52
60
  return /*#__PURE__*/_react.default.createElement(_SwitcherRadio.default, (0, _extends2.default)({}, args, {
53
- isActive: isActive,
54
- setIsActive: setIsActive,
55
- value: value,
56
- onChange: setValue
61
+ isActive: values.isActive,
62
+ setIsActive: function setIsActive(val) {
63
+ return handleChange(val, 'isActive');
64
+ },
65
+ value: values.value,
66
+ onChange: function onChange(val) {
67
+ return handleChange(val, 'value');
68
+ }
57
69
  }));
58
70
  };
59
71
 
60
72
  var SwitcherRadioTemplate = Template.bind({});
61
73
  exports.SwitcherRadioTemplate = SwitcherRadioTemplate;
62
74
  SwitcherRadioTemplate.args = {
75
+ className: 'any-outer-class__switcher-radio',
63
76
  label: 'label test',
64
77
  isLabelBold: true,
65
- direction: 'row',
78
+ direction: 'col',
66
79
  hint: 'hint',
67
80
  options: [{
68
81
  id: 1,
@@ -0,0 +1,6 @@
1
+ .any-outer-class__switcher-radio {
2
+ font-style: normal;
3
+ font-size: 12px;
4
+ line-height: 20px;
5
+ color: #1E1E2D;
6
+ }
@@ -0,0 +1,16 @@
1
+ // import SwitcherHide from '../SwitcherHide/SwitcherHide';
2
+ // import RangeList from '../../Atomic/FormElements/RangeResult/RangeList';
3
+ // import './SwitcherRangeList.scss';
4
+ // const RC = 'switcher-range-list';
5
+ // const SwitcherRangeList = ({ item, onChange }) => {
6
+ // const { label, hint, value, fields, isActive, listType, isInteger, id, isLabelBold } = item;
7
+ // return (
8
+ // <SwitcherHide isActive={isActive} onChange={onChange} label={label} hint={hint} isLabelBold={isLabelBold} className={RC}>
9
+ // <div className="switcher-range-list__row">
10
+ // <RangeList {...item} onChange={(e) => onChange(e, 'value')} className={`${RC}__range-list`}/>
11
+ // </div>
12
+ // </SwitcherHide>
13
+ // );
14
+ // };
15
+ // export default SwitcherRangeList;
16
+ "use strict";
@@ -0,0 +1,12 @@
1
+ // .switcher-range-list {
2
+ // &__row {
3
+ // display: flex;
4
+ // align-items: center;
5
+ // }
6
+
7
+ // // &__range-list {
8
+ // // display: inline-flex;
9
+ // // min-height: 26px;
10
+ // // align-items: center;
11
+ // // }
12
+ // }
@@ -0,0 +1,19 @@
1
+ // import React, { useState } from 'react';
2
+ // import SwitcherRangeList from './SwitcherRangeList';
3
+ // import { useEffect } from 'react';
4
+ // import './partial/AnyOuterClass.scss'
5
+ // global.lng = 'en';
6
+ // export default {
7
+ // title: 'SwitcherRangeList',
8
+ // component: SwitcherRangeList
9
+ // };
10
+ // const Template = args => {
11
+ // const [value, setValue] = useState(true);
12
+ // return (
13
+ // <SwitcherRangeList item={field} onChange={handle.change} />
14
+ // );
15
+ // };
16
+ // export const SwitcherRangeListTemplate = Template.bind({});
17
+ // SwitcherRangeListTemplate.args = {
18
+ // };
19
+ "use strict";
@@ -0,0 +1,6 @@
1
+ .any-outer-class__switcher-radio {
2
+ font-style: normal;
3
+ font-size: 12px;
4
+ line-height: 20px;
5
+ color: #1E1E2D;
6
+ }
@@ -29,94 +29,132 @@ var _Textarea = _interopRequireDefault(require("../../Atomic/FormElements/Textar
29
29
 
30
30
  var _Button = _interopRequireDefault(require("../../Atomic/UI/Button/Button"));
31
31
 
32
- require("./FilterSelect.scss");
32
+ require("./SwitcherTagsDropdown.scss");
33
33
 
34
34
  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); }
35
35
 
36
36
  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; }
37
37
 
38
- var RC = 'filter-select';
39
-
40
- var FilterSelect = function FilterSelect(_ref) {
41
- var label = _ref.label,
42
- options = _ref.options,
43
- chosenOptions = _ref.chosenOptions,
44
- onChange = _ref.onChange;
45
-
46
- var _useState = (0, _react.useState)(true),
38
+ var RC = 'switcher-tags-dropdown';
39
+
40
+ var SwitcherTagsDropdown = function SwitcherTagsDropdown(_ref) {
41
+ var className = _ref.className,
42
+ label = _ref.label,
43
+ isLabelBold = _ref.isLabelBold,
44
+ isValuesInTags = _ref.isValuesInTags,
45
+ isActive = _ref.isActive,
46
+ isIncluded = _ref.isIncluded,
47
+ _ref$options = _ref.options,
48
+ options = _ref$options === void 0 ? [] : _ref$options,
49
+ _ref$chosenOptions = _ref.chosenOptions,
50
+ chosenOptions = _ref$chosenOptions === void 0 ? [] : _ref$chosenOptions,
51
+ _ref$setIsActive = _ref.setIsActive,
52
+ setIsActive = _ref$setIsActive === void 0 ? function () {} : _ref$setIsActive,
53
+ _ref$setIsIncluded = _ref.setIsIncluded,
54
+ setIsIncluded = _ref$setIsIncluded === void 0 ? function () {} : _ref$setIsIncluded,
55
+ _ref$onChange = _ref.onChange,
56
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange;
57
+
58
+ var _useState = (0, _react.useState)(false),
47
59
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
48
- is = _useState2[0],
49
- setIs = _useState2[1];
60
+ listView = _useState2[0],
61
+ setListView = _useState2[1];
50
62
 
51
- var _useState3 = (0, _react.useState)(false),
63
+ var _useState3 = (0, _react.useState)(),
52
64
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
53
- listView = _useState4[0],
54
- setListView = _useState4[1];
65
+ textValue = _useState4[0],
66
+ setTextValue = _useState4[1];
55
67
 
56
- var _useState5 = (0, _react.useState)(),
57
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
58
- textValue = _useState6[0],
59
- setTextValue = _useState6[1];
68
+ var singleLevelOptions = (0, _react.useMemo)(function () {
69
+ return options.reduce(function (acc, item) {
70
+ return [].concat((0, _toConsumableArray2.default)(acc), (0, _toConsumableArray2.default)(item.groupName ? item.list : [item]));
71
+ }, []);
72
+ }, [options]);
60
73
 
61
74
  var apply = function apply() {
62
- var textToArray = textValue.split(', ');
63
- var newOptions = options.filter(function (item) {
64
- return textToArray.find(function (el) {
65
- return (el === null || el === void 0 ? void 0 : el.toLowerCase()) === (item === null || item === void 0 ? void 0 : item.title.toLowerCase()) && !item.disabled;
66
- });
75
+ var _textValue$split;
76
+
77
+ var getFilterFunction = function getFilterFunction(valuesArr) {
78
+ return function (item) {
79
+ return valuesArr.find(function (el) {
80
+ var itemValue = item === null || item === void 0 ? void 0 : item.value.toString().toLowerCase();
81
+ var itemLabel = (item.title || item.label || item.name || item.value).toString().toLowerCase();
82
+ var chosenOption = el.toString().toLowerCase();
83
+ return (chosenOption === itemValue || chosenOption === itemLabel) && !item.disabled;
84
+ });
85
+ };
86
+ };
87
+
88
+ var textToArray = (textValue === null || textValue === void 0 ? void 0 : (_textValue$split = textValue.split) === null || _textValue$split === void 0 ? void 0 : _textValue$split.call(textValue, ',')).map(function (item) {
89
+ return item.toString().trim();
90
+ }).filter(function (item) {
91
+ return !!item;
92
+ });
93
+ var newOptions = options.filter(getFilterFunction(textToArray)).map(function (option) {
94
+ return option.value;
67
95
  });
68
- onChange(newOptions);
96
+ onChange(newOptions, 'chosenOptions');
69
97
  setListView(false);
70
98
  };
71
99
 
72
100
  var enterHandler = function enterHandler(e, value) {
73
101
  if (e.keyCode === 13) {
74
- var option = options.find(function (item) {
102
+ var option = options === null || options === void 0 ? void 0 : options.find(function (item) {
75
103
  var _item$title;
76
104
 
77
105
  return (item === null || item === void 0 ? void 0 : (_item$title = item.title) === null || _item$title === void 0 ? void 0 : _item$title.toLowerCase()) === (value === null || value === void 0 ? void 0 : value.toLowerCase()) && !item.disabled;
78
106
  });
79
- var isOptionChecked = chosenOptions.some(function (item) {
107
+ var isOptionChecked = chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.some(function (item) {
80
108
  var _item$title2, _option$title;
81
109
 
82
110
  return (item === null || item === void 0 ? void 0 : (_item$title2 = item.title) === null || _item$title2 === void 0 ? void 0 : _item$title2.toLowerCase()) === (option === null || option === void 0 ? void 0 : (_option$title = option.title) === null || _option$title === void 0 ? void 0 : _option$title.toLowerCase());
83
111
  });
84
- if (option && !isOptionChecked) onChange([].concat((0, _toConsumableArray2.default)(chosenOptions), [option]));
112
+ if (option && !isOptionChecked) onChange([].concat((0, _toConsumableArray2.default)(chosenOptions), [option]), 'chosenOptions');
85
113
  }
86
114
  };
87
115
 
88
116
  (0, _react.useEffect)(function () {
89
- setTextValue(chosenOptions.map(function (item) {
90
- return item.title;
91
- }).join(', '));
117
+ var getLabel = function getLabel(el) {
118
+ return el.title || el.label || el.name || el.value;
119
+ };
120
+
121
+ var valuesArr = chosenOptions === null || chosenOptions === void 0 ? void 0 : chosenOptions.map(function (item) {
122
+ return isValuesInTags ? item : getLabel(singleLevelOptions.find(function (option) {
123
+ return option.value === item;
124
+ }));
125
+ });
126
+ setTextValue(valuesArr.join(', '));
92
127
  }, [chosenOptions, listView]);
93
128
  return /*#__PURE__*/_react.default.createElement(_SwitcherHide.default, {
129
+ isActive: isActive,
130
+ onChange: setIsActive,
94
131
  label: label,
95
- className: RC
132
+ className: (0, _classnames.default)(RC, className),
133
+ isLabelBold: isLabelBold
96
134
  }, /*#__PURE__*/_react.default.createElement("div", {
97
- className: "".concat(RC, "__wrap")
135
+ className: "".concat(RC, "__wrap switcher-hide__content")
98
136
  }, /*#__PURE__*/_react.default.createElement(_TextSwitcher.default, {
99
137
  activeText: "is",
100
138
  inactiveText: "is not",
101
- isActive: is,
102
- onChange: function onChange(value) {
103
- return setIs(value);
104
- },
139
+ isActive: isIncluded !== null && isIncluded !== void 0 ? isIncluded : true,
140
+ onChange: setIsIncluded,
105
141
  className: "".concat(RC, "__text-switcher")
106
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("button", {
142
+ }), /*#__PURE__*/_react.default.createElement("div", {
143
+ className: "filter-select__wrap--buttons"
144
+ }, /*#__PURE__*/_react.default.createElement("button", {
107
145
  onClick: function onClick() {
108
146
  return setListView(!listView);
109
147
  },
110
148
  className: "".concat(RC, "__btn")
111
149
  }, listView ? 'Close' : 'List view'), listView && /*#__PURE__*/_react.default.createElement(_Button.default, {
112
- text: "Apply",
150
+ label: "Apply",
113
151
  className: "".concat(RC, "__apply"),
114
152
  onClick: function onClick() {
115
153
  return apply();
116
154
  }
117
155
  }), /*#__PURE__*/_react.default.createElement("button", {
118
156
  onClick: function onClick() {
119
- return onChange([]);
157
+ return onChange([], 'chosenOptions');
120
158
  },
121
159
  className: "".concat(RC, "__btn")
122
160
  }, "Clear"))), listView ? /*#__PURE__*/_react.default.createElement(_Textarea.default, {
@@ -128,13 +166,14 @@ var FilterSelect = function FilterSelect(_ref) {
128
166
  options: options,
129
167
  chosenOptions: chosenOptions,
130
168
  onChange: onChange,
131
- className: "".concat(RC, "__dropdown"),
169
+ className: "".concat(RC, "__tags-dropdown"),
132
170
  onKeyPress: function onKeyPress(e, value) {
133
171
  return enterHandler(e, value);
134
172
  },
135
- tagClassname: (0, _classnames.default)("".concat(RC, "__tag"), (0, _defineProperty2.default)({}, "".concat(RC, "__tag_inactive"), !is))
173
+ tagClassname: (0, _classnames.default)("".concat(RC, "__tag"), (0, _defineProperty2.default)({}, "".concat(RC, "__tag_inactive"), !isIncluded)),
174
+ isValuesInTags: isValuesInTags
136
175
  }));
137
176
  };
138
177
 
139
- var _default = FilterSelect;
178
+ var _default = SwitcherTagsDropdown;
140
179
  exports.default = _default;
@@ -0,0 +1,48 @@
1
+ @import '../../scss/vars';
2
+
3
+ .switcher-tags-dropdown {
4
+ //width: 550px;
5
+
6
+ &__wrap {
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: space-between;
10
+ flex-wrap: wrap;
11
+ }
12
+
13
+ &__btn {
14
+ color: $color--primary;
15
+ font-size: 12px;
16
+ cursor: pointer;
17
+
18
+ &:not(:last-child) {
19
+ margin-right: 8px;
20
+ }
21
+ }
22
+
23
+ &__tags-dropdown {
24
+ width: 100%;
25
+
26
+ .tags-dropdown__trigger {
27
+ position: static;
28
+ }
29
+
30
+ .switcher-tags-dropdown__tag {
31
+ background-color: $color--green-light;
32
+
33
+ &_inactive {
34
+ background-color: $color--error-bg;
35
+ }
36
+ }
37
+
38
+ .tags-dropdown__arrow {
39
+ top: 6px;
40
+ right: 5px;
41
+ }
42
+ }
43
+
44
+ &__apply {
45
+ height: 20px;
46
+ margin-right: 8px;
47
+ }
48
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.SwitcherTagsDropdownTemplate = exports.default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _SwitcherTagsDropdown = _interopRequireDefault(require("./SwitcherTagsDropdown"));
21
+
22
+ require("./partial/AnyOuterClass.scss");
23
+
24
+ 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); }
25
+
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
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ 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; }
31
+
32
+ global.lng = 'en';
33
+ var _default = {
34
+ title: 'SwitcherTagsDropdown',
35
+ component: _SwitcherTagsDropdown.default
36
+ };
37
+ exports.default = _default;
38
+
39
+ var Template = function Template(args) {
40
+ var options = [{
41
+ id: 1,
42
+ title: 'Tags Dropdown1',
43
+ value: 'drop1',
44
+ disabled: false
45
+ }, {
46
+ id: 2,
47
+ title: 'Tags Dropdown2',
48
+ value: 'drop2',
49
+ disabled: false
50
+ }, {
51
+ id: 3,
52
+ title: 'Tags Dropdown3',
53
+ value: 'drop3',
54
+ disabled: true
55
+ }, {
56
+ id: 4,
57
+ title: 'Tags Dropdown4',
58
+ value: 'drop4',
59
+ disabled: false
60
+ }, {
61
+ id: 5,
62
+ title: 'Tags Dropdown5',
63
+ value: 'drop5',
64
+ disabled: false
65
+ }, {
66
+ id: 6,
67
+ title: 'Tags Dropdown6',
68
+ value: 'drop6',
69
+ disabled: false
70
+ }];
71
+
72
+ var _useState = (0, _react.useState)({
73
+ isActive: true,
74
+ isIncluded: true,
75
+ value: []
76
+ }),
77
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
78
+ values = _useState2[0],
79
+ setValues = _useState2[1];
80
+
81
+ var handleChange = function handleChange(val, prop) {
82
+ setValues(_objectSpread(_objectSpread({}, values), {}, (0, _defineProperty2.default)({}, prop, val)));
83
+ };
84
+
85
+ return /*#__PURE__*/_react.default.createElement(_SwitcherTagsDropdown.default, (0, _extends2.default)({}, args, {
86
+ options: options,
87
+ isActive: values.isActive,
88
+ setIsActive: function setIsActive(val) {
89
+ return handleChange(val, 'isActive');
90
+ },
91
+ isIncluded: values.isIncluded,
92
+ setIsIncluded: function setIsIncluded(val) {
93
+ return handleChange(val, 'isIncluded');
94
+ },
95
+ chosenOptions: values.value,
96
+ onChange: function onChange(val) {
97
+ return handleChange(val, 'value');
98
+ }
99
+ }));
100
+ };
101
+
102
+ var SwitcherTagsDropdownTemplate = Template.bind({});
103
+ exports.SwitcherTagsDropdownTemplate = SwitcherTagsDropdownTemplate;
104
+ SwitcherTagsDropdownTemplate.args = {
105
+ label: 'State',
106
+ isLabelBold: true,
107
+ isValuesInTags: true,
108
+ className: 'any-outer-class__switcher-tags-dropdown'
109
+ };
@@ -0,0 +1,12 @@
1
+ .any-outer-class__switcher-tags-dropdown {
2
+ font-style: normal;
3
+ font-size: 12px;
4
+ line-height: 20px;
5
+ color: #1E1E2D;
6
+
7
+ .text-switcher {
8
+ height: 20px;
9
+ font-size: 10px;
10
+ }
11
+ }
12
+