"use client";

import { TextInputConfig } from "./types";

/**
 * TextInput 컴포넌트 기본 설정
 */
export const TextInputDefaultConfig: TextInputConfig = {
  placeholder: "텍스트를 입력하세요",
  maxLength: 255,
  
  // 공통 기본값
  disabled: false,
  required: false,
  readonly: false,
  variant: "default",
  size: "md",
};

/**
 * TextInput 컴포넌트 설정 스키마
 * 유효성 검사 및 타입 체크에 사용
 */
export const TextInputConfigSchema = {
    placeholder: { type: "string", default: "" },
  maxLength: { type: "number", min: 1 },
  minLength: { type: "number", min: 0 },
  
  // 공통 스키마
  disabled: { type: "boolean", default: false },
  required: { type: "boolean", default: false },
  readonly: { type: "boolean", default: false },
  variant: { 
    type: "enum", 
    values: ["default", "outlined", "filled"], 
    default: "default" 
  },
  size: { 
    type: "enum", 
    values: ["sm", "md", "lg"], 
    default: "md" 
  },
};
