"use client";

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

/**
 * DateInput 컴포넌트 설정 타입
 */
export interface DateInputConfig extends ComponentConfig {
  // date 관련 설정
  placeholder?: string;

  // 공통 설정
  disabled?: boolean;
  required?: boolean;
  readonly?: boolean;
  helperText?: string;

  // 자동생성 및 숨김 기능
  autoGeneration?: AutoGenerationConfig;
  hidden?: boolean;

  // 스타일 관련
  variant?: "default" | "outlined" | "filled";
  size?: "sm" | "md" | "lg";

  // 이벤트 관련
  onChange?: (value: any) => void;
  onFocus?: () => void;
  onBlur?: () => void;
  onClick?: () => void;
}

/**
 * DateInput 컴포넌트 Props 타입
 */
export interface DateInputProps {
  id?: string;
  name?: string;
  value?: any;
  config?: DateInputConfig;
  className?: string;
  style?: React.CSSProperties;

  // 이벤트 핸들러
  onChange?: (value: any) => void;
  onFocus?: () => void;
  onBlur?: () => void;
  onClick?: () => void;
}
