"use client"; /** * pop-string-list 컴포넌트 레지스트리 등록 진입점 * * 이 파일을 import하면 side-effect로 PopComponentRegistry에 자동 등록됨 */ import { PopComponentRegistry } from "../../PopComponentRegistry"; import { PopStringListComponent } from "./PopStringListComponent"; import { PopStringListConfigPanel } from "./PopStringListConfig"; import { PopStringListPreviewComponent } from "./PopStringListPreview"; import type { PopStringListConfig } from "./types"; // 기본 설정값 const defaultConfig: PopStringListConfig = { displayMode: "list", header: { enabled: true, label: "" }, overflow: { visibleRows: 5, mode: "loadMore", showExpandButton: true, loadMoreCount: 5, maxExpandRows: 50, pageSize: 5, paginationStyle: "bottom" }, dataSource: { tableName: "" }, listColumns: [], cardGrid: undefined, }; // 레지스트리 등록 PopComponentRegistry.registerComponent({ id: "pop-string-list", name: "리스트 목록", description: "테이블 데이터를 리스트 또는 카드 형태로 표시", category: "display", icon: "List", component: PopStringListComponent, configPanel: PopStringListConfigPanel, preview: PopStringListPreviewComponent, defaultProps: defaultConfig, connectionMeta: { sendable: [ { key: "selected_row", label: "선택된 행", type: "selected_row", category: "data", description: "사용자가 선택한 행 데이터를 전달" }, ], receivable: [ { key: "filter_condition", label: "필터 조건", type: "filter_value", category: "filter", description: "외부 컴포넌트에서 받은 필터 조건으로 목록 필터링" }, ], }, touchOptimized: true, supportedDevices: ["mobile", "tablet"], });