/** * Custom hook for managing tab state and keyboard navigation * * Provides reusable tab state management with full keyboard navigation support * (Arrow keys, Home, End) and accessibility features. * * @module hooks/useTabs */ import { Tab, UseTabsOptions, UseTabsReturn } from '../types/tabs'; /** * Hook for managing tab state with keyboard navigation * * This hook provides: * - Tab selection state management * - Keyboard navigation (Arrow Left/Right, Home, End) * - Focus management for tab buttons * - Support for disabled tabs * * @param tabs - Array of tab configurations * @param options - Optional configuration for initial tab and change callback * @returns Tab state and handlers * * @example * ```tsx * const tabs: Tab[] = [ * { id: 'tab1', label: 'First Tab', content: