"use client";

import { ComponentConfig } from "@/types/component";

/**
 * Title 컴포넌트 통합 설정 타입
 *
 * v2-text-display + text-display(legacy) 를 흡수한 통합 규격.
 * 제목/텍스트 표시용. fontSize / fontWeight / color / textAlign 을 제공하며
 * variant 로 h1~h6 / body / caption 의 시맨틱 프리셋을 제공한다.
 */

export type TitleTextAlign = "left" | "center" | "right" | "justify";
export type TitleVariant =
  | "h1"
  | "h2"
  | "h3"
  | "h4"
  | "h5"
  | "h6"
  | "body"
  | "caption";

export interface TitleConfig extends ComponentConfig {
  /** 표시 텍스트. 기본 '텍스트를 입력하세요'. */
  text?: string;
  /** 시맨틱 프리셋 (h1/body 등). 설정 시 fontSize/fontWeight 자동 보정. */
  variant?: TitleVariant;
  /** 폰트 크기 (CSS). 기본 '14px'. variant 가 있으면 override. */
  fontSize?: string;
  /** 폰트 두께 (CSS). 기본 'normal'. */
  fontWeight?: string;
  /** 텍스트 색상 (CSS). 기본 '#212121'. */
  color?: string;
  /** 정렬. 기본 'left'. */
  textAlign?: TitleTextAlign;
  /** 줄 간격. 기본 'normal'. */
  lineHeight?: string;
  /** 글자 간격. 기본 '0'. */
  letterSpacing?: string;
  /** 말줄임 여부. 기본 false. */
  truncate?: boolean;
}
