indicator-ui 0.0.263 → 0.0.265
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
|
@@ -29136,12 +29136,13 @@ function Dropdown(_ref) {
|
|
|
29136
29136
|
};
|
|
29137
29137
|
var getItem = function getItem(curItem, idx) {
|
|
29138
29138
|
var value = getValue(curItem);
|
|
29139
|
+
var active = isActive === null || isActive === void 0 ? void 0 : isActive(value);
|
|
29139
29140
|
if (_typeof(curItem) === 'object' && 'customComponent' in curItem) {
|
|
29140
29141
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(curItem.customComponent, {
|
|
29141
29142
|
onClick: function onClick() {
|
|
29142
29143
|
return handleClick(curItem);
|
|
29143
29144
|
},
|
|
29144
|
-
active:
|
|
29145
|
+
active: active,
|
|
29145
29146
|
key: idx
|
|
29146
29147
|
});
|
|
29147
29148
|
}
|
|
@@ -29151,7 +29152,7 @@ function Dropdown(_ref) {
|
|
|
29151
29152
|
onClick: function onClick() {
|
|
29152
29153
|
return handleClick(curItem);
|
|
29153
29154
|
},
|
|
29154
|
-
selected:
|
|
29155
|
+
selected: active
|
|
29155
29156
|
}, curItem), {}, {
|
|
29156
29157
|
key: idx
|
|
29157
29158
|
}));
|
|
@@ -35598,7 +35599,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
35598
35599
|
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
|
|
35599
35600
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
|
|
35600
35601
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
35601
|
-
var _excluded = ["onScroll", "onScrollTop", "onScrollBottom", "accuracy", "wrapper"];
|
|
35602
|
+
var _excluded = ["onScroll", "onScrollTop", "onScrollBottom", "accuracy", "wrapper", "onWheelTopUp", "onWheelBottomDown"];
|
|
35602
35603
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
35603
35604
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35604
35605
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -35620,8 +35621,13 @@ var ScrollProvider = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardR
|
|
|
35620
35621
|
accuracy = _props$accuracy === void 0 ? 10 : _props$accuracy,
|
|
35621
35622
|
_props$wrapper = props.wrapper,
|
|
35622
35623
|
wrapper = _props$wrapper === void 0 ? (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {}) : _props$wrapper,
|
|
35624
|
+
onWheelTopUp = props.onWheelTopUp,
|
|
35625
|
+
onWheelBottomDown = props.onWheelBottomDown,
|
|
35623
35626
|
componentProps = _objectWithoutProperties(props, _excluded);
|
|
35627
|
+
var lastScrollHeightRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(undefined);
|
|
35624
35628
|
var elementRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);
|
|
35629
|
+
var isTopTriggeredRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);
|
|
35630
|
+
var isBottomTriggeredRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(false);
|
|
35625
35631
|
(0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(function () {
|
|
35626
35632
|
if (elementRef.current) {
|
|
35627
35633
|
var handleScroll = function handleScroll(_event) {
|
|
@@ -35630,12 +35636,9 @@ var ScrollProvider = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardR
|
|
|
35630
35636
|
var scrollTop = Math.abs(el.scrollTop);
|
|
35631
35637
|
var clientHeight = el.clientHeight;
|
|
35632
35638
|
var scrollHeight = el.scrollHeight;
|
|
35633
|
-
|
|
35634
|
-
|
|
35635
|
-
|
|
35636
|
-
if (onScrollBottom && scrollTop + clientHeight + accuracy >= scrollHeight) {
|
|
35637
|
-
onScrollBottom();
|
|
35638
|
-
}
|
|
35639
|
+
var prevScrollHeight = lastScrollHeightRef.current;
|
|
35640
|
+
lastScrollHeightRef.current = scrollHeight;
|
|
35641
|
+
// Обработка обычного скролла
|
|
35639
35642
|
if (onScroll) {
|
|
35640
35643
|
if (typeof onScroll === "function") {
|
|
35641
35644
|
onScroll(scrollTop);
|
|
@@ -35653,15 +35656,37 @@ var ScrollProvider = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.forwardR
|
|
|
35653
35656
|
}
|
|
35654
35657
|
}
|
|
35655
35658
|
}
|
|
35659
|
+
// Сброс флагов при выходе за границы accuracy
|
|
35660
|
+
if (scrollTop > accuracy) {
|
|
35661
|
+
isTopTriggeredRef.current = false;
|
|
35662
|
+
}
|
|
35663
|
+
if (scrollTop + clientHeight < scrollHeight - accuracy) {
|
|
35664
|
+
isBottomTriggeredRef.current = false;
|
|
35665
|
+
}
|
|
35666
|
+
// Обработка верхней границы
|
|
35667
|
+
if (onScrollTop && scrollTop <= accuracy) {
|
|
35668
|
+
var shouldSkipDueToHeightChange = prevScrollHeight !== undefined && scrollHeight > prevScrollHeight;
|
|
35669
|
+
if (!shouldSkipDueToHeightChange && !isTopTriggeredRef.current) {
|
|
35670
|
+
onScrollTop();
|
|
35671
|
+
isTopTriggeredRef.current = true;
|
|
35672
|
+
}
|
|
35673
|
+
}
|
|
35674
|
+
// Обработка нижней границы
|
|
35675
|
+
if (onScrollBottom && scrollTop + clientHeight + accuracy >= scrollHeight) {
|
|
35676
|
+
var _shouldSkipDueToHeightChange = prevScrollHeight !== undefined && scrollHeight < prevScrollHeight;
|
|
35677
|
+
if (!_shouldSkipDueToHeightChange && !isBottomTriggeredRef.current) {
|
|
35678
|
+
onScrollBottom();
|
|
35679
|
+
isBottomTriggeredRef.current = true;
|
|
35680
|
+
}
|
|
35681
|
+
}
|
|
35656
35682
|
};
|
|
35657
|
-
// Добавляем слушатель события scroll
|
|
35658
35683
|
elementRef.current.addEventListener("scroll", handleScroll);
|
|
35659
35684
|
return function () {
|
|
35660
35685
|
var _elementRef$current;
|
|
35661
35686
|
(_elementRef$current = elementRef.current) === null || _elementRef$current === void 0 || _elementRef$current.removeEventListener("scroll", handleScroll);
|
|
35662
35687
|
};
|
|
35663
35688
|
}
|
|
35664
|
-
}, [onScroll, onScrollTop, onScrollBottom]);
|
|
35689
|
+
}, [onScroll, onScrollTop, onScrollBottom, accuracy]);
|
|
35665
35690
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default().cloneElement(wrapper, _objectSpread({
|
|
35666
35691
|
ref: function ref(node) {
|
|
35667
35692
|
elementRef.current = node;
|