새로운 그룹화 레이아웃 컴포넌트 2종 추가: - Section Card: 제목+테두리 기반 명확한 섹션 구분 - Section Paper: 배경색 기반 미니멀한 섹션 구분 주요 변경사항: - 새 컴포넌트 등록 (각 4개 파일: Component, ConfigPanel, Renderer, index) - UnifiedPropertiesPanel에 인라인 설정 UI 추가 (280줄) - DetailSettingsPanel ConfigPanel 인터페이스 통일화 (config → componentConfig) - getComponentConfigPanel에 동적 import 매핑 추가 - 기존 컴포넌트 타입 정리 (autocomplete, entity-search, modal-repeater) 특징: - shadcn/ui 기반 일관된 디자인 시스템 준수 - 중첩 박스 금지 원칙 적용 - 반응형 지원 (모바일 우선) - collapsible 기능 지원 (Section Card)
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
"use client";
|
|
|
|
import { createComponentDefinition } from "../../utils/createComponentDefinition";
|
|
import { ComponentCategory } from "@/types/component";
|
|
import { SectionCardComponent } from "./SectionCardComponent";
|
|
import { SectionCardConfigPanel } from "./SectionCardConfigPanel";
|
|
|
|
/**
|
|
* Section Card 컴포넌트 정의
|
|
* 제목과 테두리가 있는 명확한 그룹화 컨테이너
|
|
*/
|
|
export const SectionCardDefinition = createComponentDefinition({
|
|
id: "section-card",
|
|
name: "Section Card",
|
|
nameEng: "Section Card",
|
|
description: "제목과 테두리가 있는 명확한 그룹화 컨테이너",
|
|
category: ComponentCategory.LAYOUT,
|
|
webType: "custom",
|
|
component: SectionCardComponent,
|
|
defaultConfig: {
|
|
title: "섹션 제목",
|
|
description: "",
|
|
showHeader: true,
|
|
padding: "md",
|
|
backgroundColor: "default",
|
|
borderStyle: "solid",
|
|
collapsible: false,
|
|
defaultOpen: true,
|
|
},
|
|
defaultSize: { width: 800, height: 250 },
|
|
configPanel: SectionCardConfigPanel,
|
|
icon: "LayoutPanelTop",
|
|
tags: ["섹션", "그룹", "카드", "컨테이너", "제목", "card"],
|
|
version: "1.0.0",
|
|
author: "WACE",
|
|
});
|
|
|
|
// 컴포넌트는 SectionCardRenderer에서 자동 등록됩니다
|
|
|
|
export { SectionCardComponent } from "./SectionCardComponent";
|
|
export { SectionCardConfigPanel } from "./SectionCardConfigPanel";
|
|
export { SectionCardRenderer } from "./SectionCardRenderer";
|
|
|