"use client"; import type { KeyboardEvent, ReactNode, Ref } from "react"; import { cx } from "../../utils"; export interface FoxTabItemProps { children: ReactNode; /** 이 탭을 가리키는 값. `FoxTab`의 `value`와 같으면 고른 탭이 된다. */ value: string; /** * 주면 ``가 된다 — 주소가 바뀌는 탭(라우팅)일 때 쓴다. 그때는 목록이 탭 역할을 * 갖지 않는다(그건 `FoxTab`이 판단한다). */ href?: string; /** 고른 탭이 보여 줄 영역의 id. `role="tab"`일 때만 쓰인다. */ controls?: string; disabled?: boolean; /** 참이면 렌더하지 않는다(DOM에 남지 않는다). */ hidden?: boolean; /** 배치 조정용. */ className?: string; /** FoxTab이 채운다 — 고른 탭인지. 직접 넘기지 않는다. */ active?: boolean; /** FoxTab이 채운다 — 탭 역할을 갖는 목록인지. 직접 넘기지 않는다. */ tabRole?: boolean; /** FoxTab이 채운다. 직접 넘기지 않는다. */ onSelect?: (value: string) => void; /** FoxTab이 채운다 — 화살표 이동. 직접 넘기지 않는다. */ onNavigate?: (event: KeyboardEvent) => void; /** FoxTab이 채운다. 직접 넘기지 않는다. */ ref?: Ref; } /** * @fox 탭 하나. 고른 상태는 `FoxTab`이 소유한다 — 항목이 스스로 뒤집지 않는다. * * `href`를 주면 ``가 되고, 없으면 ` ); }