intelicoreact 0.2.3 → 0.2.6

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.
@@ -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,55 @@ var TieredCheckboxes = function TieredCheckboxes(_ref) {
65
81
  }));
66
82
  }
67
83
  };
68
- return /*#__PURE__*/_react.default.createElement("div", {
69
- className: (0, _classnames.default)('tiered-checkboxes', className)
70
- }, items.map(function (parent) {
71
- var datasetProp = isUseParentsClassesAsDataset ? {
72
- 'data-key': parent === null || parent === void 0 ? void 0 : parent.className
73
- } : {};
74
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, datasetProp, {
84
+ var Wrapper = (0, _react.useCallback)(function (_ref4) {
85
+ var children = _ref4.children,
86
+ datasetProp = _ref4.datasetProp,
87
+ parent = _ref4.parent;
88
+ return isUseAccordionForGroup ? /*#__PURE__*/_react.default.createElement(_AccordionWithCheckbox.default, {
75
89
  key: parent.key,
76
- className: (0, _classnames.default)('tiered-checkboxes__parents', (0, _defineProperty2.default)({}, "".concat(parent.className), !isUseParentsClassesAsDataset))
90
+ RC: RC,
91
+ parent: parent,
92
+ datasetProp: datasetProp,
93
+ isUseParentsClassesAsDataset: isUseParentsClassesAsDataset,
94
+ className: "".concat(RC, "__mono-accordion"),
95
+ setIsOpen: function setIsOpen() {
96
+ return handle.changeParent(!parent.isOpen, parent.key, 'isOpen');
97
+ },
98
+ onChange: function onChange(value) {
99
+ return handle.changeParent(value, parent.key);
100
+ },
101
+ 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)}
102
+
103
+ }, children) : /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, datasetProp, {
104
+ key: parent.key,
105
+ className: (0, _classnames.default)("".concat(RC, "__parents"), (0, _defineProperty2.default)({}, "".concat(parent.className), !isUseParentsClassesAsDataset))
77
106
  }), /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
78
107
  isStark: handle.isAllChecked(parent),
79
108
  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
- }),
109
+ value: parent.value,
90
110
  onChange: function onChange(value) {
91
111
  return handle.changeParent(value, parent.key);
92
112
  },
93
- disabled: parent.children.every(function (_ref7) {
94
- var disabled = _ref7.disabled;
113
+ disabled: parent.children.every(function (_ref5) {
114
+ var disabled = _ref5.disabled;
95
115
  return disabled === true;
96
116
  })
97
- }), parent.children && parent.children.map(function (child) {
117
+ }), children);
118
+ }, [isUseAccordionForGroup]);
119
+ return /*#__PURE__*/_react.default.createElement("div", {
120
+ className: (0, _classnames.default)(RC, className)
121
+ }, items.map(function (parent) {
122
+ var datasetProp = isUseParentsClassesAsDataset && parent !== null && parent !== void 0 && parent.className ? {
123
+ 'data-key': parent === null || parent === void 0 ? void 0 : parent.className
124
+ } : {};
125
+ return /*#__PURE__*/_react.default.createElement(Wrapper, {
126
+ key: parent.key,
127
+ datasetProp: datasetProp,
128
+ parent: parent
129
+ }, parent.children && parent.children.map(function (child) {
98
130
  return /*#__PURE__*/_react.default.createElement("div", {
99
131
  key: child.key,
100
- className: "tiered-checkboxes__children"
132
+ className: "".concat(RC, "__children")
101
133
  }, /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
102
134
  label: child.label,
103
135
  value: child.value,
@@ -7,4 +7,50 @@
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
+ box-shadow: inset 0px -1px 0px #EBEFF2;
25
+
26
+ &_is-open {
27
+ border-bottom: 1px solid #EBEFF2;
28
+ }
29
+
30
+ &__head {
31
+ padding: 8px 4px 0 4px;
32
+ }
33
+
34
+ &__icon-container {
35
+ width: 20px;
36
+ height: 20px;
37
+ margin-top: -8px;
38
+ }
39
+
40
+ &__content-wrapper {
41
+ margin-top: 8px;
42
+ padding: 0;
43
+ }
44
+ .tiered-checkboxes__children {
45
+ margin: 0 0 14px 20px;
46
+ }
47
+
48
+ .checkbox-input_disabled + .tiered-checkboxes__description-checked {
49
+ opacity: 0.5;
50
+ }
51
+
52
+ .checkbox-input {
53
+ width: fit-content;
54
+ }
55
+ }
10
56
  }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
16
+ var _MonoAccordion = _interopRequireDefault(require("../../../UI/MonoAccordion/MonoAccordion"));
17
+
18
+ var _CheckboxInput = _interopRequireDefault(require("../../CheckboxInput/CheckboxInput"));
19
+
20
+ require("../TieredCheckboxes.scss");
21
+
22
+ var AccordionWithCheckbox = function AccordionWithCheckbox(_ref) {
23
+ var _parent$children, _parent$children$some, _parent$children2, _parent$children2$eve, _parent$children3, _parent$children4;
24
+
25
+ var children = _ref.children,
26
+ parent = _ref.parent,
27
+ onChange = _ref.onChange,
28
+ className = _ref.className,
29
+ RC = _ref.RC,
30
+ setIsOpen = _ref.setIsOpen,
31
+ icon = _ref.icon,
32
+ disabled = _ref.disabled,
33
+ datasetProp = _ref.datasetProp,
34
+ isUseParentsClassesAsDataset = _ref.isUseParentsClassesAsDataset;
35
+ return /*#__PURE__*/_react.default.createElement(_MonoAccordion.default, {
36
+ datasetProp: datasetProp,
37
+ className: (0, _classnames.default)(className, (0, _defineProperty2.default)({}, "".concat(parent.className), !isUseParentsClassesAsDataset)),
38
+ isOpen: parent.isOpen,
39
+ onClick: setIsOpen,
40
+ icon: icon,
41
+ disabled: disabled // disabled={parent.children?.every?.((child) => child.disabled)}
42
+ ,
43
+ titleJSX: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_CheckboxInput.default, {
44
+ className: "".concat(RC, "__checkbox-input"),
45
+ 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) {
46
+ return item.value;
47
+ })) && !(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) {
48
+ return item.value;
49
+ })),
50
+ label: parent.label,
51
+ value: parent.value,
52
+ onChange: onChange,
53
+ disabled: parent.children.every(function (_ref2) {
54
+ var disabled = _ref2.disabled;
55
+ return disabled === true;
56
+ })
57
+ }), /*#__PURE__*/_react.default.createElement("span", {
58
+ className: "".concat(RC, "__description-checked")
59
+ }, parent !== null && parent !== void 0 && (_parent$children3 = parent.children) !== null && _parent$children3 !== void 0 && _parent$children3.length ? "Selected ".concat(parent.children.filter(function (child) {
60
+ return child.value;
61
+ }).length, " from ").concat((_parent$children4 = parent.children) === null || _parent$children4 === void 0 ? void 0 : _parent$children4.length) : null))
62
+ }, children);
63
+ };
64
+
65
+ var _default = AccordionWithCheckbox;
66
+ 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,97 @@
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 titleRef = (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 (!Array.from(titleRef.current.childNodes).some(function (el) {
65
+ return el.contains(e.target);
66
+ })) {
67
+ onClick();
68
+ e.stopPropagation();
69
+ } else return e;
70
+ };
71
+
72
+ (0, _react.useLayoutEffect)(function () {
73
+ if (!isOpen) setHeight(0);else setHeight();
74
+ }, [isOpen]);
75
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, datasetProp, {
76
+ 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))
77
+ }), /*#__PURE__*/_react.default.createElement("div", {
78
+ className: "".concat(RC, "__head"),
79
+ onClick: handleClick
80
+ }, /*#__PURE__*/_react.default.createElement("div", {
81
+ ref: titleRef,
82
+ className: "".concat(RC, "__tile-container")
83
+ }, titleJSX), /*#__PURE__*/_react.default.createElement("span", {
84
+ className: "".concat(RC, "__icon-container")
85
+ }, icon)), /*#__PURE__*/_react.default.createElement("div", {
86
+ ref: containerRef,
87
+ style: {
88
+ maxHeight: maxHeight
89
+ },
90
+ className: (0, _classnames.default)("".concat(RC, "__container"))
91
+ }, /*#__PURE__*/_react.default.createElement("div", {
92
+ className: "".concat(RC, "__content-wrapper")
93
+ }, children)));
94
+ };
95
+
96
+ var _default = MonoAccordion;
97
+ exports.default = _default;
@@ -0,0 +1,64 @@
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
+ transition: all 0.25s ease-out;
37
+ display: flex;
38
+ flex-direction: column;
39
+ justify-content: center;
40
+ align-items: flex-start;
41
+ overflow: hidden;
42
+ font-size: 13px;
43
+
44
+ @include custom-scroll;
45
+ }
46
+
47
+ &__content-wrapper{
48
+ padding: 0 15px;
49
+ }
50
+
51
+ &_open {
52
+ .mono-accordion__container {
53
+ transition: all 0.25s ease-out;
54
+ padding: 10px 15px;
55
+ }
56
+ .mono-accordion__content-wrapper {
57
+ pointer-events: initial;
58
+ }
59
+ }
60
+
61
+ &_disabled {
62
+ pointer-events: none;
63
+ }
64
+ }
@@ -0,0 +1,39 @@
1
+ .any-outer-class__mono-accordion {
2
+ &.mono-accordion {
3
+ border-radius: 6px 6px 0 0;
4
+ background: #F8FBFF;
5
+ border-bottom: #757F8C solid 1px;
6
+ }
7
+
8
+ .mono-accordion__head {
9
+ border-radius: 6px;
10
+ }
11
+
12
+ .mono-accordion__tile-container span:last-child{
13
+ color: #757F8C;
14
+ }
15
+
16
+ .mono-accordion__icon-container {
17
+ width: 20px;
18
+ height: 20px;
19
+ }
20
+
21
+ .mono-accordion__content-wrapper div{
22
+ font-style: italic;
23
+ cursor: pointer;
24
+
25
+ &:hover {
26
+ text-decoration: underline;
27
+ }
28
+
29
+ &:nth-of-type(1) {
30
+ margin-left: 20px;
31
+ }
32
+ &:nth-of-type(2) {
33
+ margin-left: 40px;
34
+ }
35
+ &:nth-of-type(3) {
36
+ margin-left: 60px;
37
+ }
38
+ }
39
+ }
@@ -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.3",
3
+ "version": "0.2.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [