intelicoreact 0.2.2 → 0.2.5

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.
@@ -36,7 +36,9 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
36
36
  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; }
37
37
 
38
38
  var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
39
- var isSelect = _ref.isSelect,
39
+ var _ref$autocomplete = _ref.autocomplete,
40
+ autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
41
+ isSelect = _ref.isSelect,
40
42
  _ref$onChange = _ref.onChange,
41
43
  onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
42
44
  _ref$onBlur = _ref.onBlur,
@@ -222,7 +224,8 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
222
224
  }));
223
225
  return /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({}, uniProps, {
224
226
  ref: inputRef,
225
- type: isPriceInput ? 'text' : type
227
+ type: isPriceInput ? 'text' : type,
228
+ autoComplete: autocomplete
226
229
  }));
227
230
  }
228
231
 
@@ -2,6 +2,8 @@
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
  });
@@ -13,36 +15,50 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
15
 
14
16
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
17
 
16
- var _react = _interopRequireDefault(require("react"));
18
+ var _react = _interopRequireWildcard(require("react"));
17
19
 
18
20
  var _classnames = _interopRequireDefault(require("classnames"));
19
21
 
20
22
  var _CheckboxInput = _interopRequireDefault(require("../CheckboxInput/CheckboxInput"));
21
23
 
24
+ var _AccordionWithCheckbox = _interopRequireDefault(require("./partial/AccordionWithCheckbox"));
25
+
22
26
  require("./TieredCheckboxes.scss");
23
27
 
28
+ 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); }
29
+
30
+ 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; }
31
+
32
+ var RC = 'tiered-checkboxes';
33
+
24
34
  var TieredCheckboxes = function TieredCheckboxes(_ref) {
25
35
  var items = _ref.items,
26
36
  className = _ref.className,
27
37
  onChange = _ref.onChange,
28
- isUseParentsClassesAsDataset = _ref.isUseParentsClassesAsDataset;
38
+ isUseParentsClassesAsDataset = _ref.isUseParentsClassesAsDataset,
39
+ isUseAccordionForGroup = _ref.isUseAccordionForGroup,
40
+ accordionIcons = _ref.accordionIcons;
29
41
  var handle = {
30
- changeParent: function changeParent(value, key) {
42
+ changeParent: function changeParent(value, key, prop) {
31
43
  var parent = items.find(function (item) {
32
44
  return item.key === key;
33
45
  });
34
- parent.value = value;
35
- if (value) parent.children.filter(function (_ref2) {
36
- var disabled = _ref2.disabled;
37
- return !disabled;
38
- }).forEach(function (item) {
39
- return item.value = true;
40
- });else parent.children.filter(function (_ref3) {
41
- var disabled = _ref3.disabled;
42
- return !disabled;
43
- }).forEach(function (item) {
44
- return item.value = false;
45
- });
46
+ if (prop) parent[prop] = value;else parent.value = value;
47
+
48
+ if (!prop) {
49
+ if (value) parent.children.filter(function (_ref2) {
50
+ var disabled = _ref2.disabled;
51
+ return !disabled;
52
+ }).forEach(function (item) {
53
+ return item.value = true;
54
+ });else parent.children.filter(function (_ref3) {
55
+ var disabled = _ref3.disabled;
56
+ return !disabled;
57
+ }).forEach(function (item) {
58
+ return item.value = false;
59
+ });
60
+ }
61
+
46
62
  onChange((0, _toConsumableArray2.default)(items));
47
63
  },
48
64
  changeChild: function changeChild(value, key, parentKey) {
@@ -65,39 +81,60 @@ var TieredCheckboxes = function TieredCheckboxes(_ref) {
65
81
  }));
66
82
  }
67
83
  };
84
+ (0, _react.useEffect)(function () {
85
+ return console.log(items);
86
+ }, [items]);
68
87
  return /*#__PURE__*/_react.default.createElement("div", {
69
- className: (0, _classnames.default)('tiered-checkboxes', className)
88
+ className: (0, _classnames.default)(RC, className)
70
89
  }, items.map(function (parent) {
71
90
  var datasetProp = isUseParentsClassesAsDataset ? {
72
91
  'data-key': parent === null || parent === void 0 ? void 0 : parent.className
73
92
  } : {};
74
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, datasetProp, {
93
+ return isUseAccordionForGroup ? /*#__PURE__*/_react.default.createElement(_AccordionWithCheckbox.default, {
94
+ key: parent.key,
95
+ RC: RC,
96
+ parent: parent,
97
+ datasetProp: datasetProp,
98
+ isUseParentsClassesAsDataset: isUseParentsClassesAsDataset,
99
+ className: "".concat(RC, "__mono-accordion"),
100
+ setIsOpen: function setIsOpen() {
101
+ return handle.changeParent(!parent.isOpen, parent.key, 'isOpen');
102
+ },
103
+ onChange: function onChange(value) {
104
+ return handle.changeParent(value, parent.key);
105
+ },
106
+ icon: !parent.isOpen ? (accordionIcons === null || accordionIcons === void 0 ? void 0 : accordionIcons[0]) || null : (accordionIcons === null || accordionIcons === void 0 ? void 0 : accordionIcons[1]) || null // disabled={parent.children?.every?.((child) => child.disabled)}
107
+
108
+ }, parent.children && parent.children.map(function (child) {
109
+ return /*#__PURE__*/_react.default.createElement("div", {
110
+ key: child.key,
111
+ className: "".concat(RC, "__children")
112
+ }, /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
113
+ label: child.label,
114
+ value: child.value,
115
+ disabled: child === null || child === void 0 ? void 0 : child.disabled,
116
+ onChange: function onChange(value) {
117
+ return handle.changeChild(value, child.key, parent.key);
118
+ }
119
+ }));
120
+ })) : /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, datasetProp, {
75
121
  key: parent.key,
76
- className: (0, _classnames.default)('tiered-checkboxes__parents', (0, _defineProperty2.default)({}, "".concat(parent.className), !isUseParentsClassesAsDataset))
122
+ className: (0, _classnames.default)("".concat(RC, "__parents"), (0, _defineProperty2.default)({}, "".concat(parent.className), !isUseParentsClassesAsDataset))
77
123
  }), /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
78
124
  isStark: handle.isAllChecked(parent),
79
125
  label: parent.label,
80
- value: parent.children.filter(function (_ref4) {
81
- var disabled = _ref4.disabled;
82
- return !disabled;
83
- }).length && parent.children.filter(function (_ref5) {
84
- var disabled = _ref5.disabled;
85
- return !disabled;
86
- }).every(function (_ref6) {
87
- var value = _ref6.value;
88
- return value;
89
- }),
126
+ value: parent.value,
90
127
  onChange: function onChange(value) {
91
128
  return handle.changeParent(value, parent.key);
92
129
  },
93
- disabled: parent.children.every(function (_ref7) {
94
- var disabled = _ref7.disabled;
130
+ disabled: parent.children.every(function (_ref4) {
131
+ var disabled = _ref4.disabled;
95
132
  return disabled === true;
96
133
  })
97
134
  }), parent.children && parent.children.map(function (child) {
98
135
  return /*#__PURE__*/_react.default.createElement("div", {
99
136
  key: child.key,
100
- className: "tiered-checkboxes__children"
137
+ className: "".concat(RC, "__children")
101
138
  }, /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
102
139
  label: child.label,
103
140
  value: child.value,
@@ -7,4 +7,55 @@
7
7
  margin-top: 10px;
8
8
  margin-left: 10px;
9
9
  }
10
+
11
+ &__description-checked {
12
+ padding-left: 21px;
13
+ font-style: normal;
14
+ font-weight: 400;
15
+ font-size: 10px;
16
+ line-height: 18px;
17
+ letter-spacing: 0.2px;
18
+ color: #757F8C;
19
+
20
+
21
+ }
22
+
23
+ .mono-accordion,
24
+ .mono-accordion_is-open {
25
+ // box-shadow: inset 0px -1px 0px #EBEFF2;
26
+ }
27
+
28
+ .mono-accordion {
29
+ box-shadow: inset 0px -1px 0px #EBEFF2;
30
+
31
+ &_is-open {
32
+ border-bottom: 1px solid #EBEFF2;
33
+ }
34
+
35
+ &__head {
36
+ padding: 8px 4px 0 4px;
37
+ }
38
+
39
+ &__icon-container {
40
+ width: 20px;
41
+ height: 20px;
42
+ margin-top: -8px;
43
+ }
44
+
45
+ &__content-wrapper {
46
+ margin-top: 8px;
47
+ padding: 0;
48
+ }
49
+ .tiered-checkboxes__children {
50
+ margin: 0 0 14px 20px;
51
+ }
52
+
53
+ .checkbox-input_disabled + .tiered-checkboxes__description-checked {
54
+ opacity: 0.5;
55
+ }
56
+
57
+ .checkbox-input {
58
+ width: fit-content;
59
+ }
60
+ }
10
61
  }
@@ -0,0 +1,72 @@
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.default = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _MonoAccordion = _interopRequireDefault(require("../../../UI/MonoAccordion/MonoAccordion"));
19
+
20
+ var _CheckboxInput = _interopRequireDefault(require("../../CheckboxInput/CheckboxInput"));
21
+
22
+ require("../TieredCheckboxes.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
+ var AccordionWithCheckbox = function AccordionWithCheckbox(_ref) {
29
+ var _parent$children, _parent$children$some, _parent$children2, _parent$children2$eve, _parent$children3, _parent$children4;
30
+
31
+ var children = _ref.children,
32
+ parent = _ref.parent,
33
+ onChange = _ref.onChange,
34
+ className = _ref.className,
35
+ RC = _ref.RC,
36
+ setIsOpen = _ref.setIsOpen,
37
+ icon = _ref.icon,
38
+ disabled = _ref.disabled,
39
+ datasetProp = _ref.datasetProp,
40
+ isUseParentsClassesAsDataset = _ref.isUseParentsClassesAsDataset;
41
+ return /*#__PURE__*/_react.default.createElement(_MonoAccordion.default, {
42
+ datasetProp: datasetProp,
43
+ className: (0, _classnames.default)(className, (0, _defineProperty2.default)({}, "".concat(parent.className), !isUseParentsClassesAsDataset)),
44
+ isOpen: parent.isOpen,
45
+ onClick: setIsOpen,
46
+ icon: icon,
47
+ disabled: disabled // disabled={parent.children?.every?.((child) => child.disabled)}
48
+ ,
49
+ titleJSX: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
50
+ className: "".concat(RC, "__checkbox-input"),
51
+ isStark: (parent === null || parent === void 0 ? void 0 : (_parent$children = parent.children) === null || _parent$children === void 0 ? void 0 : (_parent$children$some = _parent$children.some) === null || _parent$children$some === void 0 ? void 0 : _parent$children$some.call(_parent$children, function (item) {
52
+ return item.value;
53
+ })) && !(parent !== null && parent !== void 0 && (_parent$children2 = parent.children) !== null && _parent$children2 !== void 0 && (_parent$children2$eve = _parent$children2.every) !== null && _parent$children2$eve !== void 0 && _parent$children2$eve.call(_parent$children2, function (item) {
54
+ return item.value;
55
+ })),
56
+ label: parent.label,
57
+ value: parent.value,
58
+ onChange: onChange,
59
+ disabled: parent.children.every(function (_ref2) {
60
+ var disabled = _ref2.disabled;
61
+ return disabled === true;
62
+ })
63
+ }), /*#__PURE__*/_react.default.createElement("span", {
64
+ className: "".concat(RC, "__description-checked")
65
+ }, parent !== null && parent !== void 0 && (_parent$children3 = parent.children) !== null && _parent$children3 !== void 0 && _parent$children3.length ? "Selected ".concat(parent.children.filter(function (child) {
66
+ return child.value;
67
+ }).length, " from ").concat((_parent$children4 = parent.children) === null || _parent$children4 === void 0 ? void 0 : _parent$children4.length) : null))
68
+ }, children);
69
+ };
70
+
71
+ var _default = AccordionWithCheckbox;
72
+ exports.default = _default;
@@ -38,7 +38,8 @@ var AdvTag = function AdvTag(_ref) {
38
38
  merchants = item.merchants,
39
39
  warnLeft = item.warnLeft,
40
40
  warnLeftMsg = item.warnLeftMsg,
41
- warnRightMsg = item.warnRightMsg;
41
+ warnRightMsg = item.warnRightMsg,
42
+ noPingTree = item.noPingTree;
42
43
 
43
44
  var _useState = (0, _react.useState)(false),
44
45
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -34,7 +34,7 @@
34
34
  min-width: 80px;
35
35
  padding: 8px;
36
36
  z-index: 2;
37
-
37
+ white-space: nowrap;
38
38
  &:before {
39
39
  content: '';
40
40
  position: absolute;
@@ -0,0 +1,95 @@
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.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 _classnames = _interopRequireDefault(require("classnames"));
21
+
22
+ require("./MonoAccordion.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
+ var RC = 'mono-accordion';
29
+
30
+ var MonoAccordion = function MonoAccordion(_ref) {
31
+ var _cn;
32
+
33
+ var titleJSX = _ref.titleJSX,
34
+ icon = _ref.icon,
35
+ children = _ref.children,
36
+ isOpen = _ref.isOpen,
37
+ onClick = _ref.onClick,
38
+ className = _ref.className,
39
+ disabled = _ref.disabled,
40
+ _ref$datasetProp = _ref.datasetProp,
41
+ datasetProp = _ref$datasetProp === void 0 ? {} : _ref$datasetProp;
42
+
43
+ var _useState = (0, _react.useState)(),
44
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
+ maxHeight = _useState2[0],
46
+ setMaxHeight = _useState2[1];
47
+
48
+ var headRef = (0, _react.useRef)();
49
+ var containerRef = (0, _react.useRef)();
50
+
51
+ var setHeight = function setHeight(value) {
52
+ if (value !== undefined) setMaxHeight(function (state) {
53
+ return "".concat(value, "px");
54
+ });else setMaxHeight(function (state) {
55
+ var _Array$from, _Array$from$reduce, _containerRef$current;
56
+
57
+ return "".concat((_Array$from = Array.from((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.childNodes)) === null || _Array$from === void 0 ? void 0 : (_Array$from$reduce = _Array$from.reduce) === null || _Array$from$reduce === void 0 ? void 0 : _Array$from$reduce.call(_Array$from, function (acc, el) {
58
+ return acc + el.offsetHeight;
59
+ }, 0), "px");
60
+ });
61
+ };
62
+
63
+ var handleClick = function handleClick(e) {
64
+ if (e.target !== titleJSX) {
65
+ onClick();
66
+ e.stopPropagation();
67
+ } else return e;
68
+ };
69
+
70
+ (0, _react.useLayoutEffect)(function () {
71
+ if (!isOpen) setHeight(0);else setHeight();
72
+ }, [isOpen]);
73
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, datasetProp, {
74
+ className: (0, _classnames.default)(RC, className, (_cn = {}, (0, _defineProperty2.default)(_cn, "".concat(RC, "_is-open"), isOpen), (0, _defineProperty2.default)(_cn, "".concat(RC, "_disabled"), disabled), _cn))
75
+ }), /*#__PURE__*/_react.default.createElement("div", {
76
+ ref: headRef,
77
+ className: "".concat(RC, "__head"),
78
+ onClick: handleClick
79
+ }, /*#__PURE__*/_react.default.createElement("div", {
80
+ className: "".concat(RC, "__tile-container")
81
+ }, titleJSX), /*#__PURE__*/_react.default.createElement("span", {
82
+ className: "".concat(RC, "__icon-container")
83
+ }, icon)), /*#__PURE__*/_react.default.createElement("div", {
84
+ ref: containerRef,
85
+ style: {
86
+ maxHeight: maxHeight
87
+ },
88
+ className: (0, _classnames.default)("".concat(RC, "__container"))
89
+ }, /*#__PURE__*/_react.default.createElement("div", {
90
+ className: "".concat(RC, "__content-wrapper")
91
+ }, children)));
92
+ };
93
+
94
+ var _default = MonoAccordion;
95
+ exports.default = _default;
@@ -0,0 +1,65 @@
1
+ @import "../../../scss/vars";
2
+ @import "../../../scss/mixins";
3
+
4
+ .mono-accordion {
5
+ height: fit-content;
6
+
7
+ &__head {
8
+ height: fit-content;
9
+ padding: 10px 15px;
10
+
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: space-between;
14
+ cursor: pointer;
15
+
16
+ &:hover {
17
+ background-color: $color--gray-gentel;
18
+ }
19
+ }
20
+
21
+ &__icon-container {
22
+ width: fit-content;
23
+ height: 100%;
24
+
25
+ display: flex;
26
+ flex-flow: row nowrap;
27
+ justify-content: center;
28
+ align-items: center;
29
+ }
30
+
31
+ &__tile-container {
32
+ flex-grow: 1;
33
+ }
34
+
35
+ &__container {
36
+ background: #fff;
37
+ transition: all 0.25s ease-out;
38
+ display: flex;
39
+ flex-direction: column;
40
+ justify-content: center;
41
+ align-items: flex-start;
42
+ overflow: hidden;
43
+ font-size: 13px;
44
+
45
+ @include custom-scroll;
46
+ }
47
+
48
+ &__content-wrapper{
49
+ padding: 0 15px;
50
+ }
51
+
52
+ &_open {
53
+ .mono-accordion__container {
54
+ transition: all 0.25s ease-out;
55
+ padding: 10px 15px;
56
+ }
57
+ .mono-accordion__content-wrapper {
58
+ pointer-events: initial;
59
+ }
60
+ }
61
+
62
+ &_disabled {
63
+ pointer-events: none;
64
+ }
65
+ }
@@ -11,6 +11,10 @@ exports.default = void 0;
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _toArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toArray"));
17
+
14
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
19
 
16
20
  var _react = _interopRequireWildcard(require("react"));
@@ -83,6 +87,52 @@ var NavLine = function NavLine(_ref) {
83
87
  navLineFirstItemOffset = _useState12[0],
84
88
  setNavLineFirstItemOffset = _useState12[1];
85
89
 
90
+ var _useState13 = (0, _react.useState)([]),
91
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
92
+ scrollQueue = _useState14[0],
93
+ setScrollQueue = _useState14[1];
94
+
95
+ var popScrollTask = function popScrollTask() {
96
+ if (!scrollQueue.length) return null;
97
+
98
+ var _scrollQueue = (0, _toArray2.default)(scrollQueue),
99
+ task = _scrollQueue[0],
100
+ rest = _scrollQueue.slice(1);
101
+
102
+ setScrollQueue(rest);
103
+ return task;
104
+ };
105
+
106
+ var pushScrollTask = function pushScrollTask(task) {
107
+ return setScrollQueue(function (queue) {
108
+ return [].concat((0, _toConsumableArray2.default)(queue), [task]);
109
+ });
110
+ };
111
+
112
+ (0, _react.useEffect)(function () {
113
+ if (!scrollQueue.length) return false;
114
+ var task = popScrollTask();
115
+ if (!task) return false;
116
+
117
+ switch (task) {
118
+ case 'next':
119
+ scrollToNextItem();
120
+ break;
121
+
122
+ case 'prev':
123
+ scrollToPrevItem();
124
+ break;
125
+
126
+ default:
127
+ break;
128
+ }
129
+ }, [scrollQueue]);
130
+
131
+ var _useState15 = (0, _react.useState)(false),
132
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
133
+ isScrollBlocked = _useState16[0],
134
+ setScrollBlocked = _useState16[1];
135
+
86
136
  var getVisibleNavLineItems = function getVisibleNavLineItems() {
87
137
  var wrapperInner = wrapperInnerRef === null || wrapperInnerRef === void 0 ? void 0 : wrapperInnerRef.current;
88
138
  var wrapperInnerProps = wrapperInner.getBoundingClientRect();
@@ -117,13 +167,22 @@ var NavLine = function NavLine(_ref) {
117
167
 
118
168
  var scroll = function scroll() {
119
169
  var offset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
170
+ if (isScrollBlocked) return false;
171
+ setScrollBlocked(true);
120
172
  var wrapperInner = wrapperInnerRef === null || wrapperInnerRef === void 0 ? void 0 : wrapperInnerRef.current;
121
173
  var wrapperInnerProps = wrapperInner.getBoundingClientRect();
122
174
  var leftOffset = wrapperInner.scrollLeft;
123
- setTotalScrolledItems(function (state) {
124
- return offset > 0 ? ++state : --state;
175
+ wrapperInner === null || wrapperInner === void 0 ? void 0 : wrapperInner.addEventListener('scroll', function () {
176
+ setTotalScrolledItems(function (state) {
177
+ return offset > 0 ? ++state : --state;
178
+ });
179
+ setScrollLeft(leftOffset + offset);
180
+ setTimeout(function () {
181
+ return setScrollBlocked(false);
182
+ }, 200);
183
+ }, {
184
+ once: true
125
185
  });
126
- setScrollLeft(leftOffset + offset);
127
186
  wrapperInner === null || wrapperInner === void 0 ? void 0 : wrapperInner.scrollBy({
128
187
  left: offset,
129
188
  behavior: 'smooth'
@@ -133,6 +192,7 @@ var NavLine = function NavLine(_ref) {
133
192
  var scrollToPrevItem = function scrollToPrevItem() {
134
193
  var _prevItem$ref, _prevItem$ref$current;
135
194
 
195
+ if (isScrollBlocked) return false;
136
196
  var wrapperInner = wrapperInnerRef === null || wrapperInnerRef === void 0 ? void 0 : wrapperInnerRef.current;
137
197
  var navLineUnvisibleItems = getUnvisibleLeftSideNavLineItems();
138
198
 
@@ -161,8 +221,23 @@ var NavLine = function NavLine(_ref) {
161
221
  var secondVisibleItemProps = secondVisibleItem === null || secondVisibleItem === void 0 ? void 0 : (_secondVisibleItem$re = secondVisibleItem.ref) === null || _secondVisibleItem$re === void 0 ? void 0 : (_secondVisibleItem$re2 = _secondVisibleItem$re.current) === null || _secondVisibleItem$re2 === void 0 ? void 0 : _secondVisibleItem$re2.getBoundingClientRect();
162
222
  var scrollOffset = secondVisibleItemProps.x - wrapperInnerProps.x;
163
223
  scroll(scrollOffset);
164
- }; // Count Total NavLine Items Width
224
+ };
225
+
226
+ var onWheel = function onWheel(e) {
227
+ e.preventDefault();
228
+ e.stopPropagation();
229
+ var deltaY = e.deltaY;
230
+ deltaY > 0 ? pushScrollTask('next') : pushScrollTask('prev');
231
+ };
165
232
 
233
+ (0, _react.useEffect)(function () {
234
+ var _wrapperRef$current;
235
+
236
+ if (!(wrapperRef !== null && wrapperRef !== void 0 && wrapperRef.current)) return false;
237
+ wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.addEventListener("mousewheel", onWheel, {
238
+ passive: false
239
+ });
240
+ }, [wrapperRef]); // Count Total NavLine Items Width
166
241
 
167
242
  (0, _react.useEffect)(function () {
168
243
  var _navLineItems$0$ref$c, _navLineItems$, _navLineItems$$ref, _navLineItems$$ref$cu;
@@ -186,9 +261,9 @@ var NavLine = function NavLine(_ref) {
186
261
  }, [navLineItems === null || navLineItems === void 0 ? void 0 : navLineItems.length]); // Count Wrapper Width
187
262
 
188
263
  (0, _react.useEffect)(function () {
189
- var _wrapperRef$current$g, _wrapperRef$current, _wrapperRef$current$g2;
264
+ var _wrapperRef$current$g, _wrapperRef$current2, _wrapperRef$current2$;
190
265
 
191
- setWrapperRefWidth((_wrapperRef$current$g = wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : (_wrapperRef$current$g2 = _wrapperRef$current.getBoundingClientRect()) === null || _wrapperRef$current$g2 === void 0 ? void 0 : _wrapperRef$current$g2.width) !== null && _wrapperRef$current$g !== void 0 ? _wrapperRef$current$g : 0);
266
+ setWrapperRefWidth((_wrapperRef$current$g = wrapperRef === null || wrapperRef === void 0 ? void 0 : (_wrapperRef$current2 = wrapperRef.current) === null || _wrapperRef$current2 === void 0 ? void 0 : (_wrapperRef$current2$ = _wrapperRef$current2.getBoundingClientRect()) === null || _wrapperRef$current2$ === void 0 ? void 0 : _wrapperRef$current2$.width) !== null && _wrapperRef$current$g !== void 0 ? _wrapperRef$current$g : 0);
192
267
  }, [wrapperRef]); //Init NavLine Items
193
268
 
194
269
  (0, _react.useEffect)(function () {
@@ -0,0 +1,49 @@
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.default = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _reactDom = _interopRequireDefault(require("react-dom"));
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ var Portal = function Portal(_ref) {
23
+ var children = _ref.children,
24
+ parentSelector = _ref.parentSelector;
25
+
26
+ var _useState = (0, _react.useState)(function () {
27
+ return document.createElement('div');
28
+ }),
29
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
30
+ container = _useState2[0];
31
+
32
+ (0, _react.useEffect)(function () {
33
+ var _parent;
34
+
35
+ var parent;
36
+ if (parentSelector) parent = document.querySelector(parentSelector);else parent = document.body;
37
+ (_parent = parent) === null || _parent === void 0 ? void 0 : _parent.appendChild(container);
38
+ return function () {
39
+ var _parent2;
40
+
41
+ (_parent2 = parent) === null || _parent2 === void 0 ? void 0 : _parent2.removeChild(container);
42
+ };
43
+ }, []);
44
+ return /*#__PURE__*/_reactDom.default.createPortal(children, container);
45
+ };
46
+
47
+ var _default = /*#__PURE__*/_react.default.memo(Portal);
48
+
49
+ exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "0.2.2",
3
+ "version": "0.2.5",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [