"use client";

import React from "react";
import { createComponentDefinition } from "../../utils/createComponentDefinition";
import { ComponentCategory } from "@/types/component";
import type { WebType } from "@/types/screen";
import { TextareaBasicWrapper } from "./TextareaBasicComponent";
import { TextareaBasicConfigPanel } from "./TextareaBasicConfigPanel";
import { TextareaBasicConfig } from "./types";

/**
 * TextareaBasic 컴포넌트 정의
 * textarea-basic 컴포넌트입니다
 */
export const TextareaBasicDefinition = createComponentDefinition({
  id: "textarea-basic",
  name: "텍스트 영역",
  nameEng: "TextareaBasic Component",
  description: "여러 줄 텍스트 입력을 위한 텍스트 영역 컴포넌트",
  category: ComponentCategory.INPUT,
  webType: "textarea",
  component: TextareaBasicWrapper,
  defaultConfig: {
    placeholder: "내용을 입력하세요",
    rows: 3,
    maxLength: 1000,
  },
  defaultSize: { width: 400, height: 100 },
  configPanel: TextareaBasicConfigPanel,
  icon: "Edit",
  tags: [],
  version: "1.0.0",
  author: "개발팀",
  documentation: "https://docs.example.com/components/textarea-basic",
});

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

// 컴포넌트 내보내기
export { TextareaBasicComponent } from "./TextareaBasicComponent";
export { TextareaBasicRenderer } from "./TextareaBasicRenderer";
