aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
41 lines (38 loc) • 908 B
JavaScript
import { useState, useCallback } from 'react';
const useTabAnimations = (initialIndex = 0) => {
const [state, setState] = useState({
activeIndex: initialIndex,
isAnimating: false,
selectorPosition: 0,
selectorWidth: 0
});
const animateToTab = useCallback((index, position, width) => {
setState(prev => ({
...prev,
activeIndex: index,
isAnimating: true,
selectorPosition: position,
selectorWidth: width
}));
// Simulate animation end
setTimeout(() => {
setState(prev => ({
...prev,
isAnimating: false
}));
}, 300);
}, []);
const setActiveTab = useCallback(index => {
setState(prev => ({
...prev,
activeIndex: index
}));
}, []);
return {
...state,
animateToTab,
setActiveTab
};
};
export { useTabAnimations as default };
//# sourceMappingURL=useTabAnimations.js.map