import { ComponentProps } from 'react'; import { TextTabRootProps, TextTabProps, TextTabPanelProps } from './TextTab.types'; /** * TextTab의 Root 컴포넌트입니다. * TextTab의 상태를 관리합니다. * * @param {Object} props * @param {React.ReactNode} props.children - 자식 컴포넌트 * @param {number} [props.currentActiveTab=0] - 현재 활성화된 탭의 인덱스 * @param {boolean} [props.isFit=true] - 탭의 너비를 컨텐츠에 맞출지 여부 * @param {boolean} [props.hasPadding=false] - 좌우 패딩 적용 여부 * @param {boolean} [props.isFull=false] - 탭이 전체 너비를 차지할지 여부 * @param {string} [props.barColor='bg-w-gray-900'] - 선택 표시줄의 색상 * @param {(index: number) => void} [props.onChange] - 탭 변경 시 호출되는 콜백 함수 * * @example * console.log(index)}> * * 첫 번째 탭 * 두 번째 탭 * * 첫 번째 패널 내용 * 두 번째 패널 내용 * */ declare const Root: ({ children, currentActiveTab, isFit, hasPadding, isFull, barColor, onChange, }: TextTabRootProps) => import("react/jsx-runtime").JSX.Element; /** * 탭 목록을 감싸는 컨테이너 컴포넌트입니다. * * @param {Object} props * @param {React.ReactNode} props.children - 탭 컴포넌트들 * @param {string} [props.className] - 추가 스타일 클래스 * * @example * * 첫 번째 탭 * 두 번째 탭 * */ declare const Tabs: ({ children, className }: ComponentProps<"div">) => import("react/jsx-runtime").JSX.Element; /** * 개별 탭 컴포넌트입니다. * * @param {Object} props * @param {React.ReactNode} props.children - 탭의 레이블 * @param {number} props.index - 탭의 인덱스 * @param {string} [props.className] - 추가 스타일 클래스 * @param {string} [props.barColor] - 선택 표시줄의 색상 * @param {boolean} [props.disabled=false] - 탭 비활성화 여부 * @param {number} [props.badgeNumber] - 뱃지에 표시될 숫자 * @param {string} [props.iconName] - 탭에 표시될 아이콘 이름 * * @example * * 홈 * */ declare const Tab: ({ children, index, className, disabled, badgeNumber, iconName, href, }: TextTabProps) => import("react/jsx-runtime").JSX.Element; /** * 탭 패널 컴포넌트입니다. * 해당 탭이 선택되었을 때만 내용을 표시합니다. * * @param {Object} props * @param {React.ReactNode} props.children - 패널의 내용 * @param {number} props.index - 패널의 인덱스 (연결된 탭의 인덱스와 일치해야 함) * * @example * * 첫 번째 탭의 내용입니다. * */ declare const Panel: ({ children, index }: TextTabPanelProps) => false | import("react/jsx-runtime").JSX.Element; export { Root, Tabs, Tab, Panel };