디자인 시스템 컴포넌트 확장 및 버그 수정
- 디자인 시스템에 누락된 컴포넌트 추가 (109개 총 등록) - Molecules: 17개 (ActionButtonGroup, ValidationErrorSummary 등) - Organisms: 21개 (DetailSection, ResponsiveDataTable 등) - Templates: 18개 (CRUDPageTemplate, DetailViewTemplate 등) - Widgets: 21개 (대시보드 위젯 전체) - ShippingManagement 컴포넌트 누락 파일 추가 - App.tsx Calculator 중복 import 에러 수정 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -146,7 +146,6 @@ import {
|
||||
Truck,
|
||||
Car,
|
||||
MessageSquare,
|
||||
Calculator,
|
||||
Shield,
|
||||
Server,
|
||||
Activity,
|
||||
|
||||
@@ -287,7 +287,7 @@ const INITIAL_COMPONENTS: ComponentItem[] = [
|
||||
{ id: "atom-31", name: "Toggle", displayName: "토글", category: "atoms", path: "/components/ui/toggle.tsx", description: "토글 버튼", status: "stable", responsive: true },
|
||||
{ id: "atom-32", name: "ToggleGroup", displayName: "토글 그룹", category: "atoms", path: "/components/ui/toggle-group.tsx", description: "토글 그룹", status: "stable", responsive: true },
|
||||
|
||||
// ==================== MOLECULES - 9개 ====================
|
||||
// ==================== MOLECULES - 15개 ====================
|
||||
{ id: "mol-1", name: "FormField", displayName: "폼 필드", category: "molecules", path: "/components/molecules/FormField.tsx", description: "레이블 + 입력필드 조합 (필수 표시 지원)", status: "stable", responsive: true },
|
||||
{ id: "mol-2", name: "SearchBar", displayName: "검색바", category: "molecules", path: "/components/molecules/SearchBar.tsx", description: "검색 아이콘 + 입력필드", status: "stable", responsive: true },
|
||||
{ id: "mol-3", name: "StatCard", displayName: "통계 카드", category: "molecules", path: "/components/molecules/StatCard.tsx", description: "아이콘 + 통계 + 트렌드 카드", status: "stable", responsive: true },
|
||||
@@ -297,8 +297,16 @@ const INITIAL_COMPONENTS: ComponentItem[] = [
|
||||
{ id: "mol-7", name: "StandardDialog", displayName: "표준 다이얼로그", category: "molecules", path: "/components/molecules/StandardDialog.tsx", description: "표준 다이얼로그 - 일관된 마진과 스타일 적용", status: "stable", responsive: true },
|
||||
{ id: "mol-8", name: "ConfirmDialog", displayName: "확인 다이얼로그", category: "molecules", path: "/components/molecules/StandardDialog.tsx", description: "확인/취소 다이얼로그", status: "stable", responsive: true },
|
||||
{ id: "mol-9", name: "FormDialog", displayName: "폼 다이얼로그", category: "molecules", path: "/components/molecules/StandardDialog.tsx", description: "폼 입력용 다이얼로그", status: "stable", responsive: true },
|
||||
{ id: "mol-10", name: "ActionButtonGroup", displayName: "액션 버튼 그룹", category: "molecules", path: "/components/molecules/ActionButtonGroup.tsx", description: "버튼 그룹 조합 (저장, 취소, 삭제 등)", status: "stable", responsive: true },
|
||||
{ id: "mol-11", name: "EmptyStateMolecule", displayName: "빈 상태 (Molecule)", category: "molecules", path: "/components/molecules/EmptyStateMolecule.tsx", description: "빈 데이터 상태 표시", status: "stable", responsive: true },
|
||||
{ id: "mol-12", name: "FormulaHelper", displayName: "수식 도우미", category: "molecules", path: "/components/molecules/FormulaHelper.tsx", description: "견적 수식 입력 도우미", status: "stable", responsive: true },
|
||||
{ id: "mol-13", name: "MultiStageSelector", displayName: "다단계 선택기", category: "molecules", path: "/components/molecules/MultiStageSelector.tsx", description: "다단계 옵션 선택 컴포넌트", status: "stable", responsive: true },
|
||||
{ id: "mol-14", name: "StageRuleInput", displayName: "단계 규칙 입력", category: "molecules", path: "/components/molecules/StageRuleInput.tsx", description: "단계별 규칙 입력 폼", status: "stable", responsive: true },
|
||||
{ id: "mol-15", name: "TableHeaderMolecule", displayName: "테이블 헤더", category: "molecules", path: "/components/molecules/TableHeaderMolecule.tsx", description: "테이블 헤더 (정렬, 필터 지원)", status: "stable", responsive: true },
|
||||
{ id: "mol-16", name: "TabNavigationMolecule", displayName: "탭 네비게이션", category: "molecules", path: "/components/molecules/TabNavigationMolecule.tsx", description: "탭 네비게이션 바", status: "stable", responsive: true },
|
||||
{ id: "mol-17", name: "ValidationErrorSummary", displayName: "유효성 오류 요약", category: "molecules", path: "/components/molecules/ValidationErrorSummary.tsx", description: "폼 유효성 검사 오류 요약", status: "stable", responsive: true },
|
||||
|
||||
// ==================== ORGANISMS - 8개 ====================
|
||||
// ==================== ORGANISMS - 21개 ====================
|
||||
{ id: "org-1", name: "PageHeader", displayName: "페이지 헤더", category: "organisms", path: "/components/organisms/PageHeader.tsx", description: "표준 페이지 헤더 (아이콘 + 제목 + 부제목 + 액션)", status: "stable", responsive: true },
|
||||
{ id: "org-2", name: "StatCards", displayName: "통계 카드 그리드", category: "organisms", path: "/components/organisms/StatCards.tsx", description: "4개 통계 카드 그리드 레이아웃", status: "stable", responsive: true },
|
||||
{ id: "org-3", name: "SearchFilter", displayName: "검색 필터", category: "organisms", path: "/components/organisms/SearchFilter.tsx", description: "검색바 + 다중 필터 조합", status: "stable", responsive: true },
|
||||
@@ -307,8 +315,21 @@ const INITIAL_COMPONENTS: ComponentItem[] = [
|
||||
{ id: "org-6", name: "FormSection", displayName: "폼 섹션", category: "organisms", path: "/components/organisms/FormSection.tsx", description: "접을 수 있는 폼 섹션 (에러 표시, 카운트 지원)", status: "stable", responsive: true },
|
||||
{ id: "org-7", name: "MobileCard", displayName: "모바일 카드", category: "organisms", path: "/components/organisms/MobileCard.tsx", description: "모바일용 카드 뷰 (반응형 테이블 대체)", status: "stable", responsive: true },
|
||||
{ id: "org-8", name: "PageLayout", displayName: "페이지 레이아웃", category: "organisms", path: "/components/organisms/PageLayout.tsx", description: "페이지 레이아웃 래퍼 (최대 너비, 여백 관리)", status: "stable", responsive: true },
|
||||
{ id: "org-9", name: "DetailSection", displayName: "상세 섹션", category: "organisms", path: "/components/organisms/DetailSection.tsx", description: "상세 정보 표시 섹션", status: "stable", responsive: true },
|
||||
{ id: "org-10", name: "DetailViewActions", displayName: "상세 뷰 액션", category: "organisms", path: "/components/organisms/DetailViewActions.tsx", description: "상세 화면 액션 버튼 모음", status: "stable", responsive: true },
|
||||
{ id: "org-11", name: "FormActions", displayName: "폼 액션", category: "organisms", path: "/components/organisms/FormActions.tsx", description: "폼 하단 저장/취소 버튼", status: "stable", responsive: true },
|
||||
{ id: "org-12", name: "FormFieldGrid", displayName: "폼 필드 그리드", category: "organisms", path: "/components/organisms/FormFieldGrid.tsx", description: "반응형 폼 필드 그리드 레이아웃", status: "stable", responsive: true },
|
||||
{ id: "org-13", name: "ListActions", displayName: "목록 액션", category: "organisms", path: "/components/organisms/ListActions.tsx", description: "목록 상단 액션 버튼 모음", status: "stable", responsive: true },
|
||||
{ id: "org-14", name: "ListMobileCard", displayName: "목록 모바일 카드", category: "organisms", path: "/components/organisms/ListMobileCard.tsx", description: "목록용 모바일 카드 뷰", status: "stable", responsive: true },
|
||||
{ id: "org-15", name: "ListTableRow", displayName: "목록 테이블 행", category: "organisms", path: "/components/organisms/ListTableRow.tsx", description: "목록 테이블 행 컴포넌트", status: "stable", responsive: true },
|
||||
{ id: "org-16", name: "MobileItemCard", displayName: "모바일 아이템 카드", category: "organisms", path: "/components/organisms/MobileItemCard.tsx", description: "모바일용 아이템 카드", status: "stable", responsive: true },
|
||||
{ id: "org-17", name: "ResponsiveDataTable", displayName: "반응형 데이터 테이블", category: "organisms", path: "/components/organisms/ResponsiveDataTable.tsx", description: "반응형 데이터 테이블 (데스크톱/모바일 자동 전환)", status: "stable", responsive: true },
|
||||
{ id: "org-18", name: "ScreenVersionHistory", displayName: "화면 버전 히스토리", category: "organisms", path: "/components/organisms/ScreenVersionHistory.tsx", description: "화면 버전 이력 관리", status: "stable", responsive: true },
|
||||
{ id: "org-19", name: "TableActionButtons", displayName: "테이블 액션 버튼", category: "organisms", path: "/components/organisms/TableActionButtons.tsx", description: "테이블 상단 액션 버튼 그룹", status: "stable", responsive: true },
|
||||
{ id: "org-20", name: "TabViewContainer", displayName: "탭 뷰 컨테이너", category: "organisms", path: "/components/organisms/TabViewContainer.tsx", description: "탭 기반 뷰 전환 컨테이너", status: "stable", responsive: true },
|
||||
{ id: "org-21", name: "VersionHistoryCard", displayName: "버전 히스토리 카드", category: "organisms", path: "/components/organisms/VersionHistoryCard.tsx", description: "버전 이력 카드 컴포넌트", status: "stable", responsive: true },
|
||||
|
||||
// ==================== TEMPLATES - 10개 ====================
|
||||
// ==================== TEMPLATES - 17개 ====================
|
||||
{ id: "tmpl-1", name: "ResponsiveListTemplate", displayName: "반응형 목록 템플릿", category: "templates", path: "/components/templates/ResponsiveListTemplate.tsx", description: "기본 목록 템플릿 - 데스크톱/태블릿/모바일 반응형 (품목관리 스타일)", status: "stable", responsive: true },
|
||||
{ id: "tmpl-2", name: "IntegratedListTemplateV2", displayName: "통합 목록 템플릿 V2", category: "templates", path: "/components/templates/IntegratedListTemplateV2.tsx", description: "기본 통합 목록_버젼2 - PageHeader + 통계 + 검색 + 탭 + 테이블/카드", status: "stable", responsive: true },
|
||||
{ id: "tmpl-3", name: "ResponsiveFormTemplate", displayName: "반응형 폼 템플릿", category: "templates", path: "/components/templates/ResponsiveFormTemplate.tsx", description: "기본 등록_데스크톱/태블릿/모바일 통합 템플릿", status: "stable", responsive: true },
|
||||
@@ -319,6 +340,37 @@ const INITIAL_COMPONENTS: ComponentItem[] = [
|
||||
{ id: "tmpl-6", name: "ListPageTemplate", displayName: "목록 페이지 템플릿", category: "templates", path: "/components/templates/ListPageTemplate.tsx", description: "목록 페이지 표준 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-7", name: "FormPageTemplate", displayName: "폼 페이지 템플릿", category: "templates", path: "/components/templates/FormPageTemplate.tsx", description: "폼 페이지 표준 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-8", name: "TabbedPageTemplate", displayName: "탭 페이지 템플릿", category: "templates", path: "/components/templates/TabbedPageTemplate.tsx", description: "탭 페이지 표준 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-11", name: "BasicDesktopListTemplate", displayName: "기본 데스크톱 목록", category: "templates", path: "/components/templates/BasicDesktopListTemplate.tsx", description: "데스크톱용 기본 목록 템플릿", status: "stable", responsive: false },
|
||||
{ id: "tmpl-12", name: "BasicListTemplate", displayName: "기본 목록 템플릿", category: "templates", path: "/components/templates/BasicListTemplate.tsx", description: "기본 목록 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-13", name: "BasicRegistrationTemplate", displayName: "기본 등록 템플릿", category: "templates", path: "/components/templates/BasicRegistrationTemplate.tsx", description: "기본 등록 폼 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-14", name: "CRUDPageTemplate", displayName: "CRUD 페이지 템플릿", category: "templates", path: "/components/templates/CRUDPageTemplate.tsx", description: "생성/읽기/수정/삭제 통합 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-15", name: "DetailViewTemplate", displayName: "상세 뷰 템플릿", category: "templates", path: "/components/templates/DetailViewTemplate.tsx", description: "상세 정보 뷰 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-16", name: "MobileItemListTemplate", displayName: "모바일 아이템 목록", category: "templates", path: "/components/templates/MobileItemListTemplate.tsx", description: "모바일용 아이템 목록 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-17", name: "TabbedTableTemplate", displayName: "탭 테이블 템플릿", category: "templates", path: "/components/templates/TabbedTableTemplate.tsx", description: "탭 + 테이블 통합 템플릿", status: "stable", responsive: true },
|
||||
{ id: "tmpl-18", name: "QuoteListTemplate", displayName: "견적 목록 템플릿", category: "templates", path: "/components/templates/QuoteListTemplate.tsx", description: "견적 관리용 목록 템플릿", status: "stable", responsive: true },
|
||||
|
||||
// ==================== WIDGETS - 21개 ====================
|
||||
{ id: "widget-1", name: "ApprovalStatusWidget", displayName: "결재 현황 위젯", category: "templates", path: "/components/widgets/ApprovalStatusWidget.tsx", description: "결재 요청/승인 현황 표시 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-2", name: "CashFlowWidget", displayName: "현금 흐름 위젯", category: "templates", path: "/components/widgets/CashFlowWidget.tsx", description: "현금 유입/유출 현황 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-3", name: "DailySummaryWidget", displayName: "일일 요약 위젯", category: "templates", path: "/components/widgets/DailySummaryWidget.tsx", description: "일일 업무 요약 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-4", name: "HRStatusWidget", displayName: "인사 현황 위젯", category: "templates", path: "/components/widgets/HRStatusWidget.tsx", description: "인사 현황 표시 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-5", name: "InventoryStatusWidget", displayName: "재고 현황 위젯", category: "templates", path: "/components/widgets/InventoryStatusWidget.tsx", description: "재고 현황 표시 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-6", name: "NotificationsWidget", displayName: "알림 위젯", category: "templates", path: "/components/widgets/NotificationsWidget.tsx", description: "알림 목록 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-7", name: "ProcessOverviewWidget", displayName: "공정 현황 위젯", category: "templates", path: "/components/widgets/ProcessOverviewWidget.tsx", description: "생산 공정 현황 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-8", name: "ProductionStatusWidget", displayName: "생산 현황 위젯", category: "templates", path: "/components/widgets/ProductionStatusWidget.tsx", description: "생산 현황 표시 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-9", name: "PurchaseStatusWidget", displayName: "구매 현황 위젯", category: "templates", path: "/components/widgets/PurchaseStatusWidget.tsx", description: "구매 현황 표시 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-10", name: "QualityStatusWidget", displayName: "품질 현황 위젯", category: "templates", path: "/components/widgets/QualityStatusWidget.tsx", description: "품질 검사 현황 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-11", name: "QuickActionsWidget", displayName: "빠른 실행 위젯", category: "templates", path: "/components/widgets/QuickActionsWidget.tsx", description: "자주 사용하는 기능 바로가기", status: "stable", responsive: true },
|
||||
{ id: "widget-12", name: "ReceivablesTrendWidget", displayName: "미수금 추이 위젯", category: "templates", path: "/components/widgets/ReceivablesTrendWidget.tsx", description: "미수금 추이 차트 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-13", name: "ReceivablesWidget", displayName: "미수금 위젯", category: "templates", path: "/components/widgets/ReceivablesWidget.tsx", description: "미수금 현황 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-14", name: "SalesAchievementWidget", displayName: "영업 실적 위젯", category: "templates", path: "/components/widgets/SalesAchievementWidget.tsx", description: "영업 실적 달성률 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-15", name: "SalesOverviewWidget", displayName: "영업 개요 위젯", category: "templates", path: "/components/widgets/SalesOverviewWidget.tsx", description: "영업 현황 개요 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-16", name: "SalesTrendChartWidget", displayName: "영업 추이 차트", category: "templates", path: "/components/widgets/SalesTrendChartWidget.tsx", description: "영업 추이 차트 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-17", name: "SalesTrendWidget", displayName: "영업 추이 위젯", category: "templates", path: "/components/widgets/SalesTrendWidget.tsx", description: "영업 추이 표시 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-18", name: "ScheduleCalendarWidget", displayName: "일정 캘린더 위젯", category: "templates", path: "/components/widgets/ScheduleCalendarWidget.tsx", description: "일정 달력 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-19", name: "ShippingStatusWidget", displayName: "출하 현황 위젯", category: "templates", path: "/components/widgets/ShippingStatusWidget.tsx", description: "출하 현황 표시 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-20", name: "TopCustomersWidget", displayName: "우수 고객 위젯", category: "templates", path: "/components/widgets/TopCustomersWidget.tsx", description: "상위 거래처 목록 위젯", status: "stable", responsive: true },
|
||||
{ id: "widget-21", name: "VehicleStatusWidget", displayName: "차량 현황 위젯", category: "templates", path: "/components/widgets/VehicleStatusWidget.tsx", description: "차량 현황 표시 위젯", status: "stable", responsive: true },
|
||||
];
|
||||
|
||||
const INITIAL_TOKENS: TokenItem[] = [
|
||||
|
||||
4
src/components/ShippingManagement.tsx
Normal file
4
src/components/ShippingManagement.tsx
Normal file
@@ -0,0 +1,4 @@
|
||||
// ShippingManagement - 출고관리 컴포넌트
|
||||
// ShippingScheduleManagement를 ShippingManagement로 re-export
|
||||
|
||||
export { ShippingScheduleManagement as ShippingManagement } from "./ShippingScheduleManagement";
|
||||
Reference in New Issue
Block a user