"use client";

import { NumberInputConfig } from "./types";

/**
 * NumberInput 컴포넌트 기본 설정
 */
export const NumberInputDefaultConfig: NumberInputConfig = {
  min: 0,
  max: 999999,
  step: 1,
  
  // 공통 기본값
  disabled: false,
  required: false,
  readonly: false,
  variant: "default",
  size: "md",
};

/**
 * NumberInput 컴포넌트 설정 스키마
 * 유효성 검사 및 타입 체크에 사용
 */
export const NumberInputConfigSchema = {
    min: { type: "number" },
  max: { type: "number" },
  step: { type: "number", default: 1, min: 0.01 },
  
  // 공통 스키마
  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" 
  },
};
