"use client";

import React from "react";
import { createComponentDefinition } from "../../utils/createComponentDefinition";
import { ComponentCategory } from "@/types/component";
import type { WebType } from "@/types/screen";
import { NumberInputWrapper } from "./NumberInputComponent";
import { NumberInputConfigPanel } from "./NumberInputConfigPanel";
import { NumberInputConfig } from "./types";

/**
 * NumberInput 컴포넌트 정의
 * number-input 컴포넌트입니다
 */
export const NumberInputDefinition = createComponentDefinition({
  id: "number-input",
  name: "숫자 입력",
  nameEng: "NumberInput Component",
  description: "숫자 값 입력을 위한 숫자 입력 컴포넌트",
  category: ComponentCategory.INPUT,
  webType: "number",
  component: NumberInputWrapper,
  defaultConfig: {
    min: 0,
    max: 999999,
    step: 1,
  },
  defaultSize: { width: 200, height: 40 },
  configPanel: NumberInputConfigPanel,
  icon: "Edit",
  tags: [],
  version: "1.0.0",
  author: "개발팀",
  documentation: "https://docs.example.com/components/number-input",
});

// 타입 내보내기
export type { NumberInputConfig } from "./types";

// 컴포넌트 내보내기
export { NumberInputComponent } from "./NumberInputComponent";
export { NumberInputRenderer } from "./NumberInputRenderer";
