import type { ReactNode } from "react";
import { cx } from "../../utils";
import { FoxFormLabel } from "../fox-form-label";
export interface FoxDescriptionItem {
/** 목록 안에서 고유해야 한다. */
key: string;
/** 항목 이름. */
term: ReactNode;
/** 값. 글자든 토글이든 무엇이든 온다. */
description: ReactNode;
/** 참이면 이 줄만 렌더하지 않는다. */
hidden?: boolean;
}
export interface FoxDescriptionListProps {
items: FoxDescriptionItem[];
hidden?: boolean;
className?: string;
}
/**
* @fox 조회 목록 — 이름과 값을 한 쌍씩 세로로 쌓는다. 조회 팝업·상세 화면이 쓰는 모양이다.
*
* 마크업 계약 (React 밖 소비자용):
*
*
*
이름
*
홍길동
*
*
*
* `
`로 그린다 — 이름·값 쌍이라는 관계가 보조기술에 그대로 전달된다. 이름 쪽은 `
` 안에
* `FoxFormLabel`을 `span`으로 넣어 서식을 디자인시스템과 맞춘다(`