"use client";

import { createComponentDefinition } from "../../utils/createComponentDefinition";
import { ComponentCategory } from "@/types/component";
import { V2CategoryManagerComponent } from "./V2CategoryManagerComponent";
import { V2CategoryManagerConfigPanel } from "@/components/v2/config-panels/V2CategoryManagerConfigPanel";
import { defaultV2CategoryManagerConfig } from "./types";

/**
 * V2 카테고리 관리 컴포넌트 정의
 * - 트리 구조 기반 카테고리 값 관리
 * - 3단계 계층 구조 지원 (대분류/중분류/소분류)
 */
export const V2CategoryManagerDefinition = createComponentDefinition({
  id: "v2-category-manager",
  name: "카테고리 관리 (V2)",
  nameEng: "Category Manager V2",
  description: "트리 구조 기반 카테고리 값 관리 컴포넌트 (3단계 계층 지원)",
  category: ComponentCategory.DISPLAY,
  webType: "category",
  component: V2CategoryManagerComponent,
  defaultConfig: defaultV2CategoryManagerConfig,
  defaultSize: { width: 1000, height: 600 },
  configPanel: V2CategoryManagerConfigPanel,
  icon: "FolderTree",
  tags: ["카테고리", "트리", "계층", "분류", "관리"],
  version: "2.0.0",
  author: "개발팀",
  documentation: "",
});

// 타입 내보내기
export type { V2CategoryManagerConfig, CategoryValue, ViewMode } from "./types";
export { V2CategoryManagerComponent } from "./V2CategoryManagerComponent";
export { V2CategoryManagerConfigPanel } from "@/components/v2/config-panels/V2CategoryManagerConfigPanel";

