@lifi/widget
Version:
LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.
32 lines • 1.24 kB
JavaScript
import { useCallback, useLayoutEffect, useState } from 'react';
import { getScrollableContainer } from '../utils/elements.js';
import { useDefaultElementId } from './useDefaultElementId.js';
export const useGetScrollableContainer = () => {
const elementId = useDefaultElementId();
const getContainer = useCallback(() => getScrollableContainer(elementId), [elementId]);
return getContainer;
};
export const useScrollableContainer = (elementId) => {
const [containerElement, setContainerElement] = useState(() => getScrollableContainer(elementId));
useLayoutEffect(() => {
if (!containerElement) {
setContainerElement(getScrollableContainer(elementId));
}
}, [containerElement, elementId]);
return containerElement;
};
export const useScrollableOverflowHidden = () => {
const elementId = useDefaultElementId();
useLayoutEffect(() => {
const element = getScrollableContainer(elementId);
if (element) {
element.style.overflowY = 'hidden';
}
return () => {
if (element) {
element.style.overflowY = 'auto';
}
};
}, [elementId]);
};
//# sourceMappingURL=useScrollableContainer.js.map