@atom-learning/components 8.0.1 → 8.0.3
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.cjs.js +16 -6
- package/dist/index.cjs.js.map +1 -1
- package/dist/utilities/hooks/useCallbackRef.js +5 -1
- package/dist/utilities/hooks/useCallbackRef.js.map +1 -1
- package/dist/utilities/hooks/useResizeObserver.js +5 -1
- package/dist/utilities/hooks/useResizeObserver.js.map +1 -1
- package/dist/utilities/hooks/useScrollPosition.js +1 -1
- package/dist/utilities/hooks/useScrollPosition.js.map +1 -1
- package/dist/utilities/hooks/useSize.js +5 -3
- package/dist/utilities/hooks/useSize.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -1369,8 +1369,12 @@ var useCallbackRef = () => {
|
|
|
1369
1369
|
};
|
|
1370
1370
|
var useCallbackRefState = () => {
|
|
1371
1371
|
const [elRef, setElRef] = react.useState(null);
|
|
1372
|
+
const hasElement = react.useRef(false);
|
|
1372
1373
|
return [elRef, react.useCallback((el) => {
|
|
1373
|
-
if (el)
|
|
1374
|
+
if (el && !hasElement.current) {
|
|
1375
|
+
hasElement.current = true;
|
|
1376
|
+
setElRef(el);
|
|
1377
|
+
}
|
|
1374
1378
|
}, [])];
|
|
1375
1379
|
};
|
|
1376
1380
|
//#endregion
|
|
@@ -1506,7 +1510,11 @@ var createResizeObserver = (callback) => {
|
|
|
1506
1510
|
}
|
|
1507
1511
|
};
|
|
1508
1512
|
var useResizeObserver = ({ delay = 500, elements, onResize }) => {
|
|
1509
|
-
const
|
|
1513
|
+
const onResizeRef = react.useRef(onResize);
|
|
1514
|
+
react.useLayoutEffect(() => {
|
|
1515
|
+
onResizeRef.current = onResize;
|
|
1516
|
+
});
|
|
1517
|
+
const observer = react.useMemo(() => createResizeObserver((0, throttle_debounce.debounce)(delay, (entries) => onResizeRef.current(entries))), [delay]);
|
|
1510
1518
|
react.useEffect(() => {
|
|
1511
1519
|
elements.forEach((element) => {
|
|
1512
1520
|
if (element) observer?.observe(element);
|
|
@@ -9702,7 +9710,7 @@ var useScrollPosition = ({ element, delay = 500, delayMethod = "throttle" }) =>
|
|
|
9702
9710
|
(0, react.useEffect)(() => {
|
|
9703
9711
|
if (!element) return;
|
|
9704
9712
|
const handleScroll = delayMethodFn(delay, () => {
|
|
9705
|
-
setScrollPosition({
|
|
9713
|
+
setScrollPosition((prev) => prev.left === element.scrollLeft && prev.top === element.scrollTop ? prev : {
|
|
9706
9714
|
left: element.scrollLeft,
|
|
9707
9715
|
top: element.scrollTop
|
|
9708
9716
|
});
|
|
@@ -9726,9 +9734,11 @@ var useSize = ({ element, delay = 500 }) => {
|
|
|
9726
9734
|
height: void 0
|
|
9727
9735
|
});
|
|
9728
9736
|
const handleResize = (0, react.useCallback)(() => {
|
|
9729
|
-
|
|
9730
|
-
|
|
9731
|
-
|
|
9737
|
+
const width = element?.clientWidth;
|
|
9738
|
+
const height = element?.clientHeight;
|
|
9739
|
+
setSize((prev) => prev.width === width && prev.height === height ? prev : {
|
|
9740
|
+
width,
|
|
9741
|
+
height
|
|
9732
9742
|
});
|
|
9733
9743
|
}, [element]);
|
|
9734
9744
|
useResizeObserver({
|