@restnfeel/agentc-starter-kit
Version:
한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템
153 lines (146 loc) • 3.21 kB
text/typescript
/**
* CMS Editor Module
* Main exports for the editor system
*/
// Export all types
export * from "./types";
// Export context and hooks
export * from "./context";
// Export components
export * from "./components";
// Export drag-and-drop components
export * from "./drag-drop";
// Section Type Configuration with Korean names and descriptions
export const SECTION_TYPE_CONFIG = {
hero: {
name: "히어로 섹션",
description: "메인 배너 영역",
icon: "🎯",
defaultHeight: 500,
},
features: {
name: "기능 섹션",
description: "주요 기능 소개",
icon: "⭐",
defaultHeight: 400,
},
cta: {
name: "CTA 섹션",
description: "행동 유도 버튼",
icon: "🔔",
defaultHeight: 300,
},
pricing: {
name: "가격 섹션",
description: "요금제 표시",
icon: "💰",
defaultHeight: 600,
},
testimonials: {
name: "후기 섹션",
description: "고객 리뷰",
icon: "💬",
defaultHeight: 400,
},
contact: {
name: "연락처 섹션",
description: "문의 정보",
icon: "📞",
defaultHeight: 500,
},
gallery: {
name: "갤러리 섹션",
description: "이미지 갤러리",
icon: "🖼️",
defaultHeight: 600,
},
text: {
name: "텍스트 섹션",
description: "일반 텍스트",
icon: "📝",
defaultHeight: 200,
},
custom: {
name: "커스텀 섹션",
description: "사용자 정의",
icon: "🔧",
defaultHeight: 300,
},
};
// Utility function to create a default section
export const createDefaultSection = (type: string, name: string) => ({
id: `section-${Date.now()}`,
type,
name,
order: 0,
isActive: true,
content: {},
styles: {
background: { type: "color" as const, color: "#ffffff" },
spacing: {
padding: { top: 32, right: 16, bottom: 32, left: 16 },
margin: { top: 0, right: 0, bottom: 0, left: 0 },
},
typography: {
fontFamily: "Inter",
fontSize: 16,
fontWeight: 400,
lineHeight: 1.5,
letterSpacing: 0,
textAlign: "left" as const,
textDecoration: "none" as const,
textTransform: "none" as const,
},
colors: {
primary: "#3b82f6",
secondary: "#64748b",
accent: "#f59e0b",
text: "#1f2937",
textSecondary: "#6b7280",
background: "#ffffff",
border: "#e5e7eb",
},
borders: {
width: 0,
style: "none" as const,
color: "#e5e7eb",
radius: 0,
},
effects: {
shadow: "none",
blur: 0,
opacity: 1,
transform: "none",
transition: "all 0.2s ease",
animation: "none",
},
responsive: {
mobile: {},
tablet: {},
desktop: {},
},
},
settings: {
isVisible: true,
isLocked: false,
animation: {
enabled: false,
type: "fade" as const,
duration: 300,
delay: 0,
easing: "ease-in-out",
trigger: "scroll" as const,
},
seo: {},
accessibility: {
focusable: true,
},
},
metadata: {
createdAt: new Date(),
updatedAt: new Date(),
createdBy: "user",
updatedBy: "user",
version: 1,
},
});