import type { ComponentConfig } from "@/lib/registry/types";

export const relatedDataButtonsConfig: ComponentConfig = {
  id: "related-data-buttons",
  name: "연관 데이터 버튼",
  description: "좌측 패널에서 선택한 데이터를 기반으로 연관 테이블의 데이터를 버튼으로 표시합니다. 예: 품목 선택 → 라우팅 버전 버튼들",
  category: "data",
  webType: "container",
  version: "1.0.0",
  icon: "LayoutList",
  defaultConfig: {
    sourceMapping: {
      sourceTable: "",
      sourceColumn: "",
    },
    headerDisplay: {
      show: true,
      titleColumn: "",
      subtitleColumn: "",
    },
    buttonDataSource: {
      tableName: "",
      filterColumn: "",
      displayColumn: "",
      valueColumn: "id",
      orderColumn: "created_date",
      orderDirection: "ASC",
    },
    buttonStyle: {
      variant: "outline",
      activeVariant: "default",
      size: "default",
      defaultIndicator: {
        column: "",
        showStar: true,
      },
    },
    addButton: {
      show: false,
      label: "+ 버전 추가",
      position: "header",
    },
    events: {
      targetTable: "",
      targetFilterColumn: "",
    },
    autoSelectFirst: true,
    emptyMessage: "데이터가 없습니다",
  },
  configPanelComponent: "RelatedDataButtonsConfigPanel",
  rendererComponent: "RelatedDataButtonsRenderer",
};

