aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
30 lines (28 loc) • 988 B
JavaScript
const calculateVisibleTabs = (tabs, containerWidth, tabWidth = 120) => {
const maxVisibleTabs = Math.floor(containerWidth / tabWidth);
const visibleTabs = tabs.slice(0, maxVisibleTabs);
const hiddenTabs = tabs.slice(maxVisibleTabs);
return {
visibleTabs,
hiddenTabs
};
};
const scrollTabIntoView = (tabElement, containerElement, behavior = 'smooth') => {
const containerRect = containerElement.getBoundingClientRect();
const tabRect = tabElement.getBoundingClientRect();
if (tabRect.left < containerRect.left) {
// Tab is to the left of the container
containerElement.scrollBy({
left: tabRect.left - containerRect.left - 16,
behavior
});
} else if (tabRect.right > containerRect.right) {
// Tab is to the right of the container
containerElement.scrollBy({
left: tabRect.right - containerRect.right + 16,
behavior
});
}
};
export { calculateVisibleTabs, scrollTabIntoView };
//# sourceMappingURL=tabUtils.js.map