diff --git a/CLAUDE.md b/CLAUDE.md index ce83bb35..714d969a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -369,6 +369,55 @@ export async function getItems(params: SearchParams) { --- +## FormField 사용 규칙 (신규 폼 필수) +**Priority**: 🟡 + +### 적용 범위 +- **신규 폼**: `Label + Input` 수동 조합 대신 `FormField` molecule 필수 사용 +- **기존 폼**: 건드리지 않음 (해당 파일 수정 시에만 선택적 전환) + +### 사용 패턴 +```typescript +import { FormField } from '@/components/molecules/FormField'; + +// ✅ 올바른 패턴 - FormField 사용 + handleChange('companyName', value)} + placeholder="회사명" + disabled={!isEditMode} +/> + +// ❌ 잘못된 패턴 - Label + Input 수동 조합 +
+ + handleChange('companyName', e.target.value)} + placeholder="회사명" + disabled={!isEditMode} + /> +
+``` + +### FormField 지원 타입 +| type | 설명 | 대체 컴포넌트 | +|------|------|---------------| +| `text` (기본값) | 일반 텍스트 입력 | Label + Input | +| `number` | 숫자 입력 | Label + Input[type=number] | +| `email` | 이메일 입력 | Label + Input[type=email] | +| `tel` | 전화번호 (자동 포맷) | Label + PhoneInput | +| `businessNumber` | 사업자등록번호 (자동 포맷) | Label + BusinessNumberInput | +| `textarea` | 여러 줄 텍스트 | Label + Textarea | + +### FormField로 대체하지 않는 경우 +- **특수 컴포넌트 필드**: Select, DatePicker, ImageUpload, FileInput, AccountNumberInput 등 +- **복합 레이아웃 필드**: 주소 검색(버튼+입력), 다중 입력 조합 +- **커스텀 인터랙션**: 편집/읽기 모드가 다른 컴포넌트(예: 결제일 Select↔Input 전환) + +--- + ## User Environment **Priority**: 🟢 diff --git a/claudedocs/architecture/[GUIDE] component-tier-definition.md b/claudedocs/architecture/[GUIDE] component-tier-definition.md new file mode 100644 index 00000000..dafbf5e5 --- /dev/null +++ b/claudedocs/architecture/[GUIDE] component-tier-definition.md @@ -0,0 +1,153 @@ +# Component Tier 정의 + +> SAM 프로젝트의 컴포넌트 계층(tier) 기준 정의. +> 새 컴포넌트 작성 시 어디에 배치할지 판단하는 기준 문서. + +## Tier 구조 요약 + +``` +ui 원시 빌딩블록 (HTML 래퍼, 단일 기능) + ↓ 조합 +atoms 최소 단위 UI 조각 (ui 1~2개 조합) + ↓ 조합 +molecules 의미 있는 UI 패턴 (atoms/ui 여러 개 조합) + ↓ 조합 +organisms 페이지 섹션 단위 (molecules/atoms 조합, 레이아웃 포함) + ↓ 사용 +domain 도메인별 비즈니스 컴포넌트 (organisms/molecules 사용) +``` + +## Tier별 정의 + +### ui (원시 빌딩블록) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/ui/` | +| 역할 | HTML 요소를 감싼 최소 단위. 스타일링 + 접근성만 담당 | +| 특징 | 비즈니스 로직 없음, 범용적, Radix UI 래퍼 포함 | +| 예시 | Button, Input, Select, Badge, Dialog, DatePicker, EmptyState | +| 판단 기준 | "이 컴포넌트가 다른 프로젝트에 그대로 복사해도 동작하는가?" → Yes면 ui | + +### atoms (최소 UI 조각) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/atoms/` | +| 역할 | ui 1~2개를 조합한 작은 패턴. 단일 목적 | +| 특징 | props 2~5개, 상태 관리 최소 | +| 예시 | BadgeSm, TabChip, ScrollableButtonGroup | +| 판단 기준 | "ui 하나로는 부족하지만, 독립적인 의미 단위인가?" → Yes면 atoms | + +### molecules (의미 있는 UI 패턴) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/molecules/` | +| 역할 | atoms/ui 여러 개를 조합하여 하나의 기능 패턴을 구성 | +| 특징 | Label + Input + Error 같은 조합, 내부 상태 가능 | +| 예시 | FormField, StatusBadge, DateRangeSelector, StandardDialog, TableActions | +| 판단 기준 | "여러 ui/atoms의 조합이고, 재사용 가능한 패턴인가?" → Yes면 molecules | + +### organisms (페이지 섹션) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/organisms/` | +| 역할 | 페이지의 독립적인 섹션. molecules/atoms를 조합하여 레이아웃 포함 | +| 특징 | 데이터 테이블, 검색 필터, 폼 섹션 등 페이지 구성 단위 | +| 예시 | DataTable, PageHeader, StatCards, FormSection, SearchableSelectionModal | +| 판단 기준 | "페이지에서 하나의 영역으로 독립 가능한가?" → Yes면 organisms | + +### common (공용 페이지/레이아웃) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/common/` | +| 역할 | 에러 페이지, 권한 없음 페이지 등 전역 공통 화면 | +| 특징 | 라우터 사용, 전체 페이지 레이아웃 | +| 예시 | AccessDenied, EmptyPage, ServerErrorPage | +| 판단 기준 | "전체 화면을 차지하는 공통 페이지인가?" → Yes면 common | + +### layout (레이아웃 구조) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/layout/` | +| 역할 | 앱 전체 레이아웃 골격 (사이드바, 헤더, 네비게이션) | +| 예시 | AuthenticatedLayout, Sidebar, TopNav | + +### dev (개발 도구) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/dev/` | +| 역할 | 개발 환경 전용 도구 (프로덕션 미포함) | +| 예시 | DevToolbar | + +### domain (도메인 비즈니스) +| 항목 | 기준 | +|------|------| +| 위치 | `src/components/{도메인명}/` (hr, sales, accounting 등) | +| 역할 | 특정 도메인의 비즈니스 로직이 포함된 컴포넌트 | +| 특징 | API 호출, 도메인 타입, 비즈니스 규칙 포함 | +| 예시 | EmployeeManagement, OrderRegistration, BillDetail | +| 판단 기준 | "특정 도메인에서만 사용되는가?" → Yes면 domain | + +## 자주 혼동되는 케이스 + +| 상황 | 올바른 tier | 이유 | +|------|-------------|------| +| EmptyState (프리셋/variant 있음) | **ui** | 범용 빌딩블록, 비즈니스 로직 없음 | +| StatusBadge (icon/dot/색상 커스텀) | **molecules** | Badge + BadgeSm 조합, DataTable 연동 | +| ConfirmDialog (삭제/저장 확인) | **ui** | AlertDialog 래퍼, 범용적 | +| StandardDialog (범용 컨테이너) | **molecules** | Dialog + Header + Footer 조합 패턴 | +| DataTable (정렬/페이지네이션/선택) | **organisms** | 페이지 섹션 단위, 다수 하위 컴포넌트 | +| SearchableSelectionModal | **organisms** | 검색+선택 완결 기능, 독립 섹션 | + +## 중복 방지 규칙 + +1. **새 컴포넌트 작성 전**: 같은 이름/기능이 다른 tier에 이미 있는지 확인 +2. **ui에 이미 있으면**: molecules/organisms에 동일 컴포넌트 만들지 않음. 필요하면 ui를 확장 +3. **re-export 허용**: organisms/index.ts에서 ui 컴포넌트를 re-export 가능 (편의성) +4. **확인(Confirm) 다이얼로그**: `ui/confirm-dialog.tsx` 하나만 사용 (52개 파일 사용 중) + +## StatusBadge 역할 구분 + +이름이 같지만 tier와 용도가 다른 두 컴포넌트. **둘 다 유지**. + +### `ui/status-badge.tsx` — 범용 상태 배지 + +| 항목 | 내용 | +|------|------| +| import | `import { StatusBadge } from '@/components/ui/status-badge'` | +| 용도 | `createStatusConfig`와 연동하는 **config 기반** 상태 표시 | +| API | `children` 또는 `status + config` 자동 라벨/스타일 | +| 특화 기능 | `mode` (badge/text), `ConfiguredStatusBadge` 제네릭 | +| 사용 예시 | 템플릿/유틸과 연동하는 범용 상태 표시 | + +```tsx +// config 기반 사용 + + +// children 기반 사용 +완료 +``` + +### `molecules/StatusBadge.tsx` — DataTable 특화 배지 + +| 항목 | 내용 | +|------|------| +| import | `import { StatusBadge } from '@/components/molecules/StatusBadge'` | +| 용도 | DataTable 셀에서 상태를 **아이콘/도트와 함께** 표시 | +| API | `label` 필수, `variant`로 색상 지정 | +| 특화 기능 | `icon` (LucideIcon), `showDot`, 커스텀 `bgColor/textColor/borderColor` | +| 기반 | Badge + BadgeSm 조합 (size="sm"일 때 BadgeSm으로 자동 전환) | + +```tsx +// DataTable 셀 렌더링 + + +``` + +### 선택 기준 + +| 상황 | 사용할 컴포넌트 | +|------|----------------| +| `createStatusConfig` 결과와 연동 | **ui** StatusBadge | +| DataTable 컬럼 셀 렌더링 | **molecules** StatusBadge | +| 아이콘이나 도트가 필요한 배지 | **molecules** StatusBadge | +| 단순 텍스트 상태 표시 (badge/text 모드) | **ui** StatusBadge | diff --git a/src/app/[locale]/(protected)/dev/component-registry/ComponentRegistryClient.tsx b/src/app/[locale]/(protected)/dev/component-registry/ComponentRegistryClient.tsx index 009d3581..2d76ee40 100644 --- a/src/app/[locale]/(protected)/dev/component-registry/ComponentRegistryClient.tsx +++ b/src/app/[locale]/(protected)/dev/component-registry/ComponentRegistryClient.tsx @@ -14,36 +14,9 @@ import { Loader2, X, } from 'lucide-react'; -import { getComponentSource } from './actions'; +import { getComponentSource, type RegistryData, type ComponentEntry } from './actions'; import { UI_PREVIEWS } from './previews'; -interface ComponentEntry { - name: string; - fileName: string; - filePath: string; - tier: string; - category: string; - subcategory: string | null; - exportType: 'default' | 'named' | 'both' | 'none'; - hasProps: boolean; - propsName: string | null; - isClientComponent: boolean; - lineCount: number; -} - -interface CategorySummary { - tier: string; - category: string; - count: number; -} - -export interface RegistryData { - generatedAt: string; - totalCount: number; - categories: CategorySummary[]; - components: ComponentEntry[]; -} - interface ComponentRegistryClientProps { registry: RegistryData; } @@ -166,9 +139,12 @@ function ComponentCard({ : 'border-gray-200 dark:border-gray-700 hover:border-blue-400 dark:hover:border-blue-500 hover:shadow-sm' }`}> {/* Card Header */} - + {/* Expanded Content */} {isExpanded && ( @@ -406,10 +382,10 @@ export default function ComponentRegistryClient({ registry }: ComponentRegistryC return counts; }, [registry.components]); - // Count of previewable components + // Count of previewable components (all tiers) const previewCount = useMemo(() => { return registry.components.filter( - (c) => c.tier === 'ui' && UI_PREVIEWS[c.fileName] + (c) => !!UI_PREVIEWS[c.fileName] ).length; }, [registry.components]); @@ -430,8 +406,8 @@ export default function ComponentRegistryClient({ registry }: ComponentRegistryC

- 생성: {generatedDate} · npm run gen:components로 갱신 - · 카드 클릭: 소스코드 보기 · UI 프리뷰: {previewCount}개 + 스캔: {generatedDate} · 새로고침으로 갱신 (실시간 스캔) + · 카드 클릭: 소스코드 보기 · 프리뷰: {previewCount}개

@@ -513,7 +489,7 @@ export default function ComponentRegistryClient({ registry }: ComponentRegistryC {/* Footer */}

- 데이터 소스: src/generated/component-registry.json + 실시간 스캔: src/components/**/*.tsx

diff --git a/src/app/[locale]/(protected)/dev/component-registry/actions.ts b/src/app/[locale]/(protected)/dev/component-registry/actions.ts index 6ea939f5..4e490ca8 100644 --- a/src/app/[locale]/(protected)/dev/component-registry/actions.ts +++ b/src/app/[locale]/(protected)/dev/component-registry/actions.ts @@ -1,10 +1,13 @@ 'use server'; -import { readFile } from 'node:fs/promises'; -import { join } from 'node:path'; +import { readFile, readdir } from 'node:fs/promises'; +import { join, relative, basename, extname } from 'node:path'; + +// ============================================================ +// 소스코드 조회 (기존) +// ============================================================ export async function getComponentSource(filePath: string): Promise<{ source: string | null; error: string | null }> { - // filePath는 "src/components/ui/button.tsx" 형태 if (!filePath.startsWith('src/components/') || !filePath.endsWith('.tsx')) { return { source: null, error: 'Invalid file path' }; } @@ -17,3 +20,200 @@ export async function getComponentSource(filePath: string): Promise<{ source: st return { source: null, error: 'File not found' }; } } + +// ============================================================ +// 컴포넌트 레지스트리 실시간 스캔 +// ============================================================ + +export interface ComponentEntry { + name: string; + fileName: string; + filePath: string; + tier: string; + category: string; + subcategory: string | null; + exportType: 'default' | 'named' | 'both' | 'none'; + hasProps: boolean; + propsName: string | null; + isClientComponent: boolean; + lineCount: number; +} + +interface CategorySummary { + tier: string; + category: string; + count: number; +} + +export interface RegistryData { + generatedAt: string; + totalCount: number; + categories: CategorySummary[]; + components: ComponentEntry[]; +} + +// Tier mapping +const TIER_MAP: Record = { + ui: 'ui', + atoms: 'atoms', + molecules: 'molecules', + organisms: 'organisms', + common: 'common', + layout: 'layout', + dev: 'dev', +}; + +// Skip patterns +const SKIP_FILES = new Set([ + 'index.ts', 'index.tsx', 'actions.ts', 'actions.tsx', + 'types.ts', 'types.tsx', 'utils.ts', 'utils.tsx', + 'constants.ts', 'constants.tsx', 'schema.ts', 'schema.tsx', +]); + +const SKIP_PATTERNS = [ + /\.test\./, + /\.spec\./, + /\.stories\./, + /^use[A-Z].*\.ts$/, // hooks (useXxx.ts only, not .tsx) +]; + +function shouldSkip(fileName: string): boolean { + if (SKIP_FILES.has(fileName)) return true; + return SKIP_PATTERNS.some(p => p.test(fileName)); +} + +function getTier(relPath: string): string { + const firstDir = relPath.split('/')[0]; + return TIER_MAP[firstDir] || 'domain'; +} + +function getCategory(relPath: string): string { + return relPath.split('/')[0]; +} + +function getSubcategory(relPath: string): string | null { + const parts = relPath.split('/'); + return parts.length > 2 ? parts[1] : null; +} + +function extractComponentInfo(content: string, fileName: string) { + const isClient = /^['"]use client['"];?/m.test(content); + + let name: string | null = null; + let exportType: 'default' | 'named' | 'both' | 'none' = 'none'; + + const defaultFuncMatch = content.match(/export\s+default\s+function\s+([A-Z]\w*)/); + const defaultConstMatch = content.match(/export\s+default\s+([A-Z]\w*)/); + const namedFuncMatches = [...content.matchAll(/export\s+(?:async\s+)?function\s+([A-Z]\w*)/g)]; + const namedConstMatches = [...content.matchAll(/export\s+(?:const|let)\s+([A-Z]\w*)/g)]; + + const hasDefault = !!(defaultFuncMatch || defaultConstMatch); + const namedExports = [ + ...namedFuncMatches.map(m => m[1]), + ...namedConstMatches.map(m => m[1]), + ].filter((n): n is string => n !== undefined); + + if (defaultFuncMatch) { + name = defaultFuncMatch[1]; + } else if (defaultConstMatch) { + name = defaultConstMatch[1]; + } + + const hasNamed = namedExports.length > 0; + + if (hasDefault && hasNamed) { + exportType = 'both'; + } else if (hasDefault) { + exportType = 'default'; + } else if (hasNamed) { + exportType = 'named'; + name = namedExports[0]; + } + + if (!name) { + const base = basename(fileName, extname(fileName)); + name = base + .split(/[-_]/) + .map(s => s.charAt(0).toUpperCase() + s.slice(1)) + .join(''); + } + + const hasProps = /(?:interface|type)\s+\w*Props/.test(content); + const propsNameMatch = content.match(/(?:interface|type)\s+(\w*Props)/); + const propsName = propsNameMatch ? propsNameMatch[1] : null; + + const lineCount = content.split('\n').length; + + return { name, exportType, hasProps, propsName, isClientComponent: isClient, lineCount }; +} + +async function scanDirectory(dir: string, componentsRoot: string): Promise { + const entries = await readdir(dir, { withFileTypes: true }); + const results: ComponentEntry[] = []; + + for (const entry of entries) { + const fullPath = join(dir, entry.name); + + if (entry.isDirectory()) { + results.push(...await scanDirectory(fullPath, componentsRoot)); + } else if (entry.isFile() && entry.name.endsWith('.tsx')) { + if (shouldSkip(entry.name)) continue; + + const relPath = relative(componentsRoot, fullPath); + const content = await readFile(fullPath, 'utf-8'); + const info = extractComponentInfo(content, entry.name); + + results.push({ + name: info.name, + fileName: entry.name, + filePath: `src/components/${relPath}`, + tier: getTier(relPath), + category: getCategory(relPath), + subcategory: getSubcategory(relPath), + exportType: info.exportType, + hasProps: info.hasProps, + propsName: info.propsName, + isClientComponent: info.isClientComponent, + lineCount: info.lineCount, + }); + } + } + + return results; +} + +function buildCategories(components: ComponentEntry[]): CategorySummary[] { + const map = new Map(); + for (const comp of components) { + const key = `${comp.tier}::${comp.category}`; + if (!map.has(key)) { + map.set(key, { tier: comp.tier, category: comp.category, count: 0 }); + } + map.get(key)!.count++; + } + return [...map.values()].sort((a, b) => + a.tier.localeCompare(b.tier) || a.category.localeCompare(b.category) + ); +} + +/** + * 컴포넌트 레지스트리 실시간 스캔 + * + * src/components/ 하위 .tsx 파일을 스캔하여 레지스트리 데이터를 반환합니다. + * 페이지 방문 시마다 최신 상태를 반영합니다. + */ +export async function scanComponentRegistry(): Promise { + const componentsRoot = join(process.cwd(), 'src', 'components'); + + const components = await scanDirectory(componentsRoot, componentsRoot); + components.sort((a, b) => + a.tier.localeCompare(b.tier) || a.category.localeCompare(b.category) || a.name.localeCompare(b.name) + ); + + return { + generatedAt: new Date().toISOString(), + totalCount: components.length, + categories: buildCategories(components), + components, + }; +} diff --git a/src/app/[locale]/(protected)/dev/component-registry/page.tsx b/src/app/[locale]/(protected)/dev/component-registry/page.tsx index 03320afd..7ce02e77 100644 --- a/src/app/[locale]/(protected)/dev/component-registry/page.tsx +++ b/src/app/[locale]/(protected)/dev/component-registry/page.tsx @@ -1,8 +1,37 @@ 'use client'; -import registry from '@/generated/component-registry.json'; -import ComponentRegistryClient, { type RegistryData } from './ComponentRegistryClient'; +import { useEffect, useState } from 'react'; +import { scanComponentRegistry, type RegistryData } from './actions'; +import ComponentRegistryClient from './ComponentRegistryClient'; export default function ComponentRegistryPage() { - return ; + const [registry, setRegistry] = useState(null); + const [isLoading, setIsLoading] = useState(true); + + useEffect(() => { + scanComponentRegistry() + .then(setRegistry) + .finally(() => setIsLoading(false)); + }, []); + + if (isLoading) { + return ( +
+
+
+

컴포넌트 스캔 중...

+
+
+ ); + } + + if (!registry) { + return ( +
+

스캔에 실패했습니다.

+
+ ); + } + + return ; } diff --git a/src/app/[locale]/(protected)/dev/component-registry/previews.tsx b/src/app/[locale]/(protected)/dev/component-registry/previews.tsx index 45e8b20b..6e13786a 100644 --- a/src/app/[locale]/(protected)/dev/component-registry/previews.tsx +++ b/src/app/[locale]/(protected)/dev/component-registry/previews.tsx @@ -73,7 +73,7 @@ import { DateRangeSelector } from '@/components/molecules/DateRangeSelector'; import { YearQuarterFilter } from '@/components/molecules/YearQuarterFilter'; import { MobileFilter } from '@/components/molecules/MobileFilter'; // Organisms -import { EmptyState as OrganismEmptyState } from '@/components/organisms/EmptyState'; +import { EmptyState as OrganismEmptyState } from '@/components/ui/empty-state'; import { FormActions } from '@/components/organisms/FormActions'; import { FormSection } from '@/components/organisms/FormSection'; import { PageHeader } from '@/components/organisms/PageHeader'; @@ -1087,7 +1087,7 @@ export const UI_PREVIEWS: Record = { label: 'Variants', render: () => (
- + } message="데이터 없음" description="등록된 항목이 없습니다." />
), }, diff --git a/src/components/molecules/StandardDialog.tsx b/src/components/molecules/StandardDialog.tsx index 8e1a8b2a..914ae90d 100644 --- a/src/components/molecules/StandardDialog.tsx +++ b/src/components/molecules/StandardDialog.tsx @@ -18,7 +18,6 @@ import { DialogHeader, DialogTitle, } from "@/components/ui/dialog"; -import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; export interface StandardDialogProps { @@ -84,136 +83,3 @@ export function StandardDialog({ ); } -/** - * 확인 다이얼로그 - */ -export interface ConfirmDialogProps { - open: boolean; - onOpenChange: (open: boolean) => void; - title: string; - description: string; - onConfirm: () => void; - confirmText?: string; - cancelText?: string; - confirmVariant?: - | "default" - | "destructive" - | "outline" - | "secondary" - | "ghost" - | "link"; - loading?: boolean; -} - -export function ConfirmDialog({ - open, - onOpenChange, - title, - description, - onConfirm, - confirmText = "확인", - cancelText = "취소", - confirmVariant = "default", - loading = false, -}: ConfirmDialogProps) { - const handleConfirm = () => { - onConfirm(); - onOpenChange(false); - }; - - return ( - - - - {title} - {description} - - -
- - - - - -
-
- ); -} - -/** - * 폼 다이얼로그 - */ -export interface FormDialogProps { - open: boolean; - onOpenChange: (open: boolean) => void; - title: string; - description?: string; - children: React.ReactNode; - onSave: () => void; - onCancel?: () => void; - saveText?: string; - cancelText?: string; - size?: "sm" | "md" | "lg" | "xl" | "full"; - loading?: boolean; - disabled?: boolean; -} - -export function FormDialog({ - open, - onOpenChange, - title, - description, - children, - onSave, - onCancel, - saveText = "저장", - cancelText = "취소", - size = "md", - loading = false, - disabled = false, -}: FormDialogProps) { - const handleCancel = () => { - if (onCancel) { - onCancel(); - } - onOpenChange(false); - }; - - const handleSave = () => { - onSave(); - }; - - return ( - - - - {title} - {description && {description}} - - -
{children}
- - - - - -
-
- ); -} \ No newline at end of file diff --git a/src/components/molecules/index.ts b/src/components/molecules/index.ts index 45531d36..bbde8a3a 100644 --- a/src/components/molecules/index.ts +++ b/src/components/molecules/index.ts @@ -6,8 +6,8 @@ export { IconWithBadge } from "./IconWithBadge"; export { TableActions } from "./TableActions"; export type { TableAction } from "./TableActions"; -export { StandardDialog, ConfirmDialog, FormDialog } from "./StandardDialog"; -export type { StandardDialogProps, ConfirmDialogProps, FormDialogProps } from "./StandardDialog"; +export { StandardDialog } from "./StandardDialog"; +export type { StandardDialogProps } from "./StandardDialog"; export { YearQuarterFilter } from "./YearQuarterFilter"; export type { Quarter } from "./YearQuarterFilter"; \ No newline at end of file diff --git a/src/components/organisms/EmptyState.tsx b/src/components/organisms/EmptyState.tsx deleted file mode 100644 index 00cc0004..00000000 --- a/src/components/organisms/EmptyState.tsx +++ /dev/null @@ -1,37 +0,0 @@ -"use client"; - -import { LucideIcon } from "lucide-react"; -import { Button } from "@/components/ui/button"; - -interface EmptyStateProps { - icon?: LucideIcon; - title: string; - description?: string; - action?: { - label: string; - onClick: () => void; - }; -} - -export function EmptyState({ icon: Icon, title, description, action }: EmptyStateProps) { - return ( -
- {Icon && ( -
- -
- )} -

{title}

- {description && ( -

- {description} -

- )} - {action && ( - - )} -
- ); -} diff --git a/src/components/organisms/index.ts b/src/components/organisms/index.ts index 19dd1193..0b817c71 100644 --- a/src/components/organisms/index.ts +++ b/src/components/organisms/index.ts @@ -6,7 +6,7 @@ export { DataTable } from "./DataTable"; export type { Column, CellType } from "./DataTable"; export { MobileCard, ListMobileCard, InfoField } from "./MobileCard"; export type { MobileCardProps, InfoFieldProps } from "./MobileCard"; -export { EmptyState } from "./EmptyState"; +export { EmptyState, TableEmptyState } from "@/components/ui/empty-state"; export { ScreenVersionHistory } from "./ScreenVersionHistory"; export { SearchableSelectionModal } from "./SearchableSelectionModal"; export type { SearchableSelectionModalProps, SingleSelectProps, MultipleSelectProps } from "./SearchableSelectionModal"; diff --git a/src/components/settings/CompanyInfoManagement/index.tsx b/src/components/settings/CompanyInfoManagement/index.tsx index 8c1d0807..7b20f926 100644 --- a/src/components/settings/CompanyInfoManagement/index.tsx +++ b/src/components/settings/CompanyInfoManagement/index.tsx @@ -6,7 +6,7 @@ import { Building2, Plus, Save, X, Loader2 } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; -import { BusinessNumberInput } from '@/components/ui/business-number-input'; +import { FormField } from '@/components/molecules/FormField'; import { AccountNumberInput } from '@/components/ui/account-number-input'; import { ImageUpload } from '@/components/ui/image-upload'; import { FileInput } from '@/components/ui/file-input'; @@ -213,50 +213,38 @@ export function CompanyInfoManagement() { {/* 회사명 / 대표자명 */}
-
- - handleChange('companyName', e.target.value)} - placeholder="회사명" - disabled={!isEditMode} - /> -
-
- - handleChange('representativeName', e.target.value)} - placeholder="대표자명" - disabled={!isEditMode} - /> -
+ handleChange('companyName', value)} + placeholder="회사명" + disabled={!isEditMode} + /> + handleChange('representativeName', value)} + placeholder="대표자명" + disabled={!isEditMode} + />
{/* 업태 / 업종 */}
-
- - handleChange('businessType', e.target.value)} - placeholder="업태명" - disabled={!isEditMode} - /> -
-
- - handleChange('businessCategory', e.target.value)} - placeholder="업종명" - disabled={!isEditMode} - /> -
+ handleChange('businessType', value)} + placeholder="업태명" + disabled={!isEditMode} + /> + handleChange('businessCategory', value)} + placeholder="업종명" + disabled={!isEditMode} + />
{/* 주소 */} @@ -290,28 +278,20 @@ export function CompanyInfoManagement() { {/* 이메일 / 세금계산서 이메일 */}
-
- - handleChange('email', e.target.value)} - placeholder="abc@email.com" - disabled={!isEditMode} - /> -
-
- - handleChange('taxInvoiceEmail', e.target.value)} - placeholder="abc@email.com" - disabled={!isEditMode} - /> -
+ handleChange('email', value)} + placeholder="abc@email.com" + disabled={!isEditMode} + /> + handleChange('taxInvoiceEmail', value)} + placeholder="abc@email.com" + disabled={!isEditMode} + />
{/* 담당자명 / 담당자 연락처 - 임시 주석처리 (추후 사용 가능) */} @@ -352,16 +332,14 @@ export function CompanyInfoManagement() { placeholder="파일을 선택하세요" />
-
- - handleChange('businessNumber', value)} - placeholder="123-12-12345" - disabled={!isEditMode} - /> -
+ handleChange('businessNumber', value)} + placeholder="123-12-12345" + disabled={!isEditMode} + /> @@ -374,16 +352,13 @@ export function CompanyInfoManagement() { {/* 결제 은행 / 계좌 */}
-
- - handleChange('paymentBank', e.target.value)} - placeholder="은행명" - disabled={!isEditMode} - /> -
+ handleChange('paymentBank', value)} + placeholder="은행명" + disabled={!isEditMode} + />
-
- - handleChange('paymentAccountHolder', e.target.value)} - placeholder="예금주명" - disabled={!isEditMode} - /> -
+ handleChange('paymentAccountHolder', value)} + placeholder="예금주명" + disabled={!isEditMode} + />
{isEditMode ? ( diff --git a/src/generated/component-registry.json b/src/generated/component-registry.json deleted file mode 100644 index 7d083081..00000000 --- a/src/generated/component-registry.json +++ /dev/null @@ -1,6691 +0,0 @@ -{ - "generatedAt": "2026-02-12T01:56:50.520Z", - "totalCount": 501, - "categories": [ - { - "tier": "atoms", - "category": "atoms", - "count": 3 - }, - { - "tier": "common", - "category": "common", - "count": 16 - }, - { - "tier": "dev", - "category": "dev", - "count": 2 - }, - { - "tier": "domain", - "category": "accounting", - "count": 19 - }, - { - "tier": "domain", - "category": "approval", - "count": 11 - }, - { - "tier": "domain", - "category": "attendance", - "count": 2 - }, - { - "tier": "domain", - "category": "auth", - "count": 2 - }, - { - "tier": "domain", - "category": "board", - "count": 8 - }, - { - "tier": "domain", - "category": "business", - "count": 97 - }, - { - "tier": "domain", - "category": "checklist-management", - "count": 7 - }, - { - "tier": "domain", - "category": "clients", - "count": 3 - }, - { - "tier": "domain", - "category": "customer-center", - "count": 9 - }, - { - "tier": "domain", - "category": "document-system", - "count": 11 - }, - { - "tier": "domain", - "category": "hr", - "count": 24 - }, - { - "tier": "domain", - "category": "items", - "count": 65 - }, - { - "tier": "domain", - "category": "LanguageSelect.tsx", - "count": 1 - }, - { - "tier": "domain", - "category": "material", - "count": 13 - }, - { - "tier": "domain", - "category": "orders", - "count": 10 - }, - { - "tier": "domain", - "category": "outbound", - "count": 11 - }, - { - "tier": "domain", - "category": "pricing", - "count": 5 - }, - { - "tier": "domain", - "category": "pricing-distribution", - "count": 3 - }, - { - "tier": "domain", - "category": "pricing-table-management", - "count": 3 - }, - { - "tier": "domain", - "category": "process-management", - "count": 12 - }, - { - "tier": "domain", - "category": "production", - "count": 31 - }, - { - "tier": "domain", - "category": "quality", - "count": 11 - }, - { - "tier": "domain", - "category": "quotes", - "count": 15 - }, - { - "tier": "domain", - "category": "settings", - "count": 16 - }, - { - "tier": "domain", - "category": "templates", - "count": 11 - }, - { - "tier": "domain", - "category": "ThemeSelect.tsx", - "count": 1 - }, - { - "tier": "domain", - "category": "vehicle-management", - "count": 3 - }, - { - "tier": "layout", - "category": "layout", - "count": 3 - }, - { - "tier": "molecules", - "category": "molecules", - "count": 8 - }, - { - "tier": "organisms", - "category": "organisms", - "count": 12 - }, - { - "tier": "ui", - "category": "ui", - "count": 53 - } - ], - "components": [ - { - "name": "BadgeSm", - "fileName": "BadgeSm.tsx", - "filePath": "src/components/atoms/BadgeSm.tsx", - "tier": "atoms", - "category": "atoms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "BadgeSmProps", - "isClientComponent": true, - "lineCount": 117 - }, - { - "name": "ScrollableButtonGroup", - "fileName": "ScrollableButtonGroup.tsx", - "filePath": "src/components/atoms/ScrollableButtonGroup.tsx", - "tier": "atoms", - "category": "atoms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ScrollableButtonGroupProps", - "isClientComponent": false, - "lineCount": 53 - }, - { - "name": "TabChip", - "fileName": "TabChip.tsx", - "filePath": "src/components/atoms/TabChip.tsx", - "tier": "atoms", - "category": "atoms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "TabChipProps", - "isClientComponent": true, - "lineCount": 72 - }, - { - "name": "AccessDenied", - "fileName": "AccessDenied.tsx", - "filePath": "src/components/common/AccessDenied.tsx", - "tier": "common", - "category": "common", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "AccessDeniedProps", - "isClientComponent": true, - "lineCount": 68 - }, - { - "name": "CalendarHeader", - "fileName": "CalendarHeader.tsx", - "filePath": "src/components/common/ScheduleCalendar/CalendarHeader.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 148 - }, - { - "name": "DayCell", - "fileName": "DayCell.tsx", - "filePath": "src/components/common/ScheduleCalendar/DayCell.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": true, - "propsName": "DayCellProps", - "isClientComponent": true, - "lineCount": 93 - }, - { - "name": "DayTimeView", - "fileName": "DayTimeView.tsx", - "filePath": "src/components/common/ScheduleCalendar/DayTimeView.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 167 - }, - { - "name": "EditableTable", - "fileName": "EditableTable.tsx", - "filePath": "src/components/common/EditableTable/EditableTable.tsx", - "tier": "common", - "category": "common", - "subcategory": "EditableTable", - "exportType": "both", - "hasProps": true, - "propsName": "EditableTableProps", - "isClientComponent": true, - "lineCount": 333 - }, - { - "name": "EmptyPage", - "fileName": "EmptyPage.tsx", - "filePath": "src/components/common/EmptyPage.tsx", - "tier": "common", - "category": "common", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "EmptyPageProps", - "isClientComponent": true, - "lineCount": 150 - }, - { - "name": "MonthView", - "fileName": "MonthView.tsx", - "filePath": "src/components/common/ScheduleCalendar/MonthView.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": true, - "propsName": "WeekRowProps", - "isClientComponent": true, - "lineCount": 264 - }, - { - "name": "MorePopover", - "fileName": "MorePopover.tsx", - "filePath": "src/components/common/ScheduleCalendar/MorePopover.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": true, - "propsName": "MorePopoverProps", - "isClientComponent": true, - "lineCount": 45 - }, - { - "name": "NoticePopupModal", - "fileName": "NoticePopupModal.tsx", - "filePath": "src/components/common/NoticePopupModal/NoticePopupModal.tsx", - "tier": "common", - "category": "common", - "subcategory": "NoticePopupModal", - "exportType": "named", - "hasProps": true, - "propsName": "NoticePopupModalProps", - "isClientComponent": true, - "lineCount": 171 - }, - { - "name": "ParentMenuRedirect", - "fileName": "ParentMenuRedirect.tsx", - "filePath": "src/components/common/ParentMenuRedirect.tsx", - "tier": "common", - "category": "common", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ParentMenuRedirectProps", - "isClientComponent": true, - "lineCount": 82 - }, - { - "name": "PermissionGuard", - "fileName": "PermissionGuard.tsx", - "filePath": "src/components/common/PermissionGuard.tsx", - "tier": "common", - "category": "common", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "PermissionGuardProps", - "isClientComponent": true, - "lineCount": 44 - }, - { - "name": "ScheduleBar", - "fileName": "ScheduleBar.tsx", - "filePath": "src/components/common/ScheduleCalendar/ScheduleBar.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": true, - "propsName": "ScheduleBarProps", - "isClientComponent": true, - "lineCount": 96 - }, - { - "name": "ScheduleCalendar", - "fileName": "ScheduleCalendar.tsx", - "filePath": "src/components/common/ScheduleCalendar/ScheduleCalendar.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 194 - }, - { - "name": "ServerErrorPage", - "fileName": "ServerErrorPage.tsx", - "filePath": "src/components/common/ServerErrorPage.tsx", - "tier": "common", - "category": "common", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ServerErrorPageProps", - "isClientComponent": true, - "lineCount": 140 - }, - { - "name": "WeekTimeView", - "fileName": "WeekTimeView.tsx", - "filePath": "src/components/common/ScheduleCalendar/WeekTimeView.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 217 - }, - { - "name": "WeekView", - "fileName": "WeekView.tsx", - "filePath": "src/components/common/ScheduleCalendar/WeekView.tsx", - "tier": "common", - "category": "common", - "subcategory": "ScheduleCalendar", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 211 - }, - { - "name": "DevFillProvider", - "fileName": "DevFillContext.tsx", - "filePath": "src/components/dev/DevFillContext.tsx", - "tier": "dev", - "category": "dev", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "DevFillProviderProps", - "isClientComponent": true, - "lineCount": 179 - }, - { - "name": "DevToolbar", - "fileName": "DevToolbar.tsx", - "filePath": "src/components/dev/DevToolbar.tsx", - "tier": "dev", - "category": "dev", - "subcategory": null, - "exportType": "both", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 499 - }, - { - "name": "BadDebtDetail", - "fileName": "BadDebtDetail.tsx", - "filePath": "src/components/accounting/BadDebtCollection/BadDebtDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "BadDebtCollection", - "exportType": "named", - "hasProps": true, - "propsName": "BadDebtDetailProps", - "isClientComponent": true, - "lineCount": 963 - }, - { - "name": "BadDebtDetailClientV2", - "fileName": "BadDebtDetailClientV2.tsx", - "filePath": "src/components/accounting/BadDebtCollection/BadDebtDetailClientV2.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "BadDebtCollection", - "exportType": "named", - "hasProps": true, - "propsName": "BadDebtDetailClientV2Props", - "isClientComponent": true, - "lineCount": 136 - }, - { - "name": "BillDetail", - "fileName": "BillDetail.tsx", - "filePath": "src/components/accounting/BillManagement/BillDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "BillManagement", - "exportType": "named", - "hasProps": true, - "propsName": "BillDetailProps", - "isClientComponent": true, - "lineCount": 540 - }, - { - "name": "BillManagementClient", - "fileName": "BillManagementClient.tsx", - "filePath": "src/components/accounting/BillManagement/BillManagementClient.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "BillManagement", - "exportType": "named", - "hasProps": true, - "propsName": "BillManagementClientProps", - "isClientComponent": true, - "lineCount": 522 - }, - { - "name": "CardTransactionDetailClient", - "fileName": "CardTransactionDetailClient.tsx", - "filePath": "src/components/accounting/CardTransactionInquiry/CardTransactionDetailClient.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "CardTransactionInquiry", - "exportType": "default", - "hasProps": true, - "propsName": "CardTransactionDetailClientProps", - "isClientComponent": true, - "lineCount": 139 - }, - { - "name": "CreditAnalysisDocument", - "fileName": "CreditAnalysisDocument.tsx", - "filePath": "src/components/accounting/VendorManagement/CreditAnalysisModal/CreditAnalysisDocument.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "VendorManagement", - "exportType": "named", - "hasProps": true, - "propsName": "CreditAnalysisDocumentProps", - "isClientComponent": true, - "lineCount": 210 - }, - { - "name": "CreditSignal", - "fileName": "CreditSignal.tsx", - "filePath": "src/components/accounting/VendorManagement/CreditAnalysisModal/CreditSignal.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "VendorManagement", - "exportType": "named", - "hasProps": true, - "propsName": "CreditSignalProps", - "isClientComponent": true, - "lineCount": 58 - }, - { - "name": "DepositDetail", - "fileName": "DepositDetail.tsx", - "filePath": "src/components/accounting/DepositManagement/DepositDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "DepositManagement", - "exportType": "named", - "hasProps": true, - "propsName": "DepositDetailProps", - "isClientComponent": true, - "lineCount": 327 - }, - { - "name": "DepositDetailClientV2", - "fileName": "DepositDetailClientV2.tsx", - "filePath": "src/components/accounting/DepositManagement/DepositDetailClientV2.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "DepositManagement", - "exportType": "default", - "hasProps": true, - "propsName": "DepositDetailClientV2Props", - "isClientComponent": true, - "lineCount": 144 - }, - { - "name": "PurchaseDetail", - "fileName": "PurchaseDetail.tsx", - "filePath": "src/components/accounting/PurchaseManagement/PurchaseDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "PurchaseManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PurchaseDetailProps", - "isClientComponent": true, - "lineCount": 697 - }, - { - "name": "PurchaseDetailModal", - "fileName": "PurchaseDetailModal.tsx", - "filePath": "src/components/accounting/PurchaseManagement/PurchaseDetailModal.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "PurchaseManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PurchaseDetailModalProps", - "isClientComponent": true, - "lineCount": 402 - }, - { - "name": "RiskRadarChart", - "fileName": "RiskRadarChart.tsx", - "filePath": "src/components/accounting/VendorManagement/CreditAnalysisModal/RiskRadarChart.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "VendorManagement", - "exportType": "named", - "hasProps": true, - "propsName": "RiskRadarChartProps", - "isClientComponent": true, - "lineCount": 95 - }, - { - "name": "SalesDetail", - "fileName": "SalesDetail.tsx", - "filePath": "src/components/accounting/SalesManagement/SalesDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "SalesManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SalesDetailProps", - "isClientComponent": true, - "lineCount": 579 - }, - { - "name": "VendorDetail", - "fileName": "VendorDetail.tsx", - "filePath": "src/components/accounting/VendorManagement/VendorDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "VendorManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VendorDetailProps", - "isClientComponent": true, - "lineCount": 684 - }, - { - "name": "VendorDetailClient", - "fileName": "VendorDetailClient.tsx", - "filePath": "src/components/accounting/VendorManagement/VendorDetailClient.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "VendorManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VendorDetailClientProps", - "isClientComponent": true, - "lineCount": 586 - }, - { - "name": "VendorLedgerDetail", - "fileName": "VendorLedgerDetail.tsx", - "filePath": "src/components/accounting/VendorLedger/VendorLedgerDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "VendorLedger", - "exportType": "named", - "hasProps": true, - "propsName": "VendorLedgerDetailProps", - "isClientComponent": true, - "lineCount": 386 - }, - { - "name": "VendorManagementClient", - "fileName": "VendorManagementClient.tsx", - "filePath": "src/components/accounting/VendorManagement/VendorManagementClient.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "VendorManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VendorManagementClientProps", - "isClientComponent": true, - "lineCount": 574 - }, - { - "name": "WithdrawalDetail", - "fileName": "WithdrawalDetail.tsx", - "filePath": "src/components/accounting/WithdrawalManagement/WithdrawalDetail.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "WithdrawalManagement", - "exportType": "named", - "hasProps": true, - "propsName": "WithdrawalDetailProps", - "isClientComponent": true, - "lineCount": 327 - }, - { - "name": "WithdrawalDetailClientV2", - "fileName": "WithdrawalDetailClientV2.tsx", - "filePath": "src/components/accounting/WithdrawalManagement/WithdrawalDetailClientV2.tsx", - "tier": "domain", - "category": "accounting", - "subcategory": "WithdrawalManagement", - "exportType": "default", - "hasProps": true, - "propsName": "WithdrawalDetailClientV2Props", - "isClientComponent": true, - "lineCount": 144 - }, - { - "name": "ApprovalLineBox", - "fileName": "ApprovalLineBox.tsx", - "filePath": "src/components/approval/DocumentDetail/ApprovalLineBox.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentDetail", - "exportType": "named", - "hasProps": true, - "propsName": "ApprovalLineBoxProps", - "isClientComponent": true, - "lineCount": 85 - }, - { - "name": "ApprovalLineSection", - "fileName": "ApprovalLineSection.tsx", - "filePath": "src/components/approval/DocumentCreate/ApprovalLineSection.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentCreate", - "exportType": "named", - "hasProps": true, - "propsName": "ApprovalLineSectionProps", - "isClientComponent": true, - "lineCount": 108 - }, - { - "name": "BasicInfoSection", - "fileName": "BasicInfoSection.tsx", - "filePath": "src/components/approval/DocumentCreate/BasicInfoSection.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentCreate", - "exportType": "named", - "hasProps": true, - "propsName": "BasicInfoSectionProps", - "isClientComponent": true, - "lineCount": 81 - }, - { - "name": "DocumentDetailModalV2", - "fileName": "DocumentDetailModalV2.tsx", - "filePath": "src/components/approval/DocumentDetail/DocumentDetailModalV2.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentDetail", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 94 - }, - { - "name": "ExpenseEstimateDocument", - "fileName": "ExpenseEstimateDocument.tsx", - "filePath": "src/components/approval/DocumentDetail/ExpenseEstimateDocument.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentDetail", - "exportType": "named", - "hasProps": true, - "propsName": "ExpenseEstimateDocumentProps", - "isClientComponent": true, - "lineCount": 130 - }, - { - "name": "ExpenseEstimateForm", - "fileName": "ExpenseEstimateForm.tsx", - "filePath": "src/components/approval/DocumentCreate/ExpenseEstimateForm.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentCreate", - "exportType": "named", - "hasProps": true, - "propsName": "ExpenseEstimateFormProps", - "isClientComponent": true, - "lineCount": 167 - }, - { - "name": "ExpenseReportDocument", - "fileName": "ExpenseReportDocument.tsx", - "filePath": "src/components/approval/DocumentDetail/ExpenseReportDocument.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentDetail", - "exportType": "named", - "hasProps": true, - "propsName": "ExpenseReportDocumentProps", - "isClientComponent": true, - "lineCount": 138 - }, - { - "name": "ExpenseReportForm", - "fileName": "ExpenseReportForm.tsx", - "filePath": "src/components/approval/DocumentCreate/ExpenseReportForm.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentCreate", - "exportType": "named", - "hasProps": true, - "propsName": "ExpenseReportFormProps", - "isClientComponent": true, - "lineCount": 243 - }, - { - "name": "ProposalDocument", - "fileName": "ProposalDocument.tsx", - "filePath": "src/components/approval/DocumentDetail/ProposalDocument.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentDetail", - "exportType": "named", - "hasProps": true, - "propsName": "ProposalDocumentProps", - "isClientComponent": true, - "lineCount": 117 - }, - { - "name": "ProposalForm", - "fileName": "ProposalForm.tsx", - "filePath": "src/components/approval/DocumentCreate/ProposalForm.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentCreate", - "exportType": "named", - "hasProps": true, - "propsName": "ProposalFormProps", - "isClientComponent": true, - "lineCount": 234 - }, - { - "name": "ReferenceSection", - "fileName": "ReferenceSection.tsx", - "filePath": "src/components/approval/DocumentCreate/ReferenceSection.tsx", - "tier": "domain", - "category": "approval", - "subcategory": "DocumentCreate", - "exportType": "named", - "hasProps": true, - "propsName": "ReferenceSectionProps", - "isClientComponent": true, - "lineCount": 109 - }, - { - "name": "AttendanceComplete", - "fileName": "AttendanceComplete.tsx", - "filePath": "src/components/attendance/AttendanceComplete.tsx", - "tier": "domain", - "category": "attendance", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "AttendanceCompleteProps", - "isClientComponent": true, - "lineCount": 83 - }, - { - "name": "GoogleMap", - "fileName": "GoogleMap.tsx", - "filePath": "src/components/attendance/GoogleMap.tsx", - "tier": "domain", - "category": "attendance", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "GoogleMapProps", - "isClientComponent": true, - "lineCount": 309 - }, - { - "name": "LoginPage", - "fileName": "LoginPage.tsx", - "filePath": "src/components/auth/LoginPage.tsx", - "tier": "domain", - "category": "auth", - "subcategory": null, - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 301 - }, - { - "name": "SignupPage", - "fileName": "SignupPage.tsx", - "filePath": "src/components/auth/SignupPage.tsx", - "tier": "domain", - "category": "auth", - "subcategory": null, - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 763 - }, - { - "name": "BoardDetail", - "fileName": "BoardDetail.tsx", - "filePath": "src/components/board/BoardManagement/BoardDetail.tsx", - "tier": "domain", - "category": "board", - "subcategory": "BoardManagement", - "exportType": "named", - "hasProps": true, - "propsName": "BoardDetailProps", - "isClientComponent": true, - "lineCount": 120 - }, - { - "name": "BoardDetailClientV2", - "fileName": "BoardDetailClientV2.tsx", - "filePath": "src/components/board/BoardManagement/BoardDetailClientV2.tsx", - "tier": "domain", - "category": "board", - "subcategory": "BoardManagement", - "exportType": "named", - "hasProps": true, - "propsName": "BoardDetailClientV2Props", - "isClientComponent": true, - "lineCount": 308 - }, - { - "name": "BoardForm", - "fileName": "BoardForm.tsx", - "filePath": "src/components/board/BoardManagement/BoardForm.tsx", - "tier": "domain", - "category": "board", - "subcategory": "BoardManagement", - "exportType": "named", - "hasProps": true, - "propsName": "BoardFormProps", - "isClientComponent": true, - "lineCount": 271 - }, - { - "name": "BoardListUnified", - "fileName": "BoardListUnified.tsx", - "filePath": "src/components/board/BoardList/BoardListUnified.tsx", - "tier": "domain", - "category": "board", - "subcategory": "BoardList", - "exportType": "both", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 372 - }, - { - "name": "CommentItem", - "fileName": "CommentItem.tsx", - "filePath": "src/components/board/CommentSection/CommentItem.tsx", - "tier": "domain", - "category": "board", - "subcategory": "CommentSection", - "exportType": "both", - "hasProps": true, - "propsName": "CommentItemProps", - "isClientComponent": true, - "lineCount": 161 - }, - { - "name": "DynamicBoardCreateForm", - "fileName": "DynamicBoardCreateForm.tsx", - "filePath": "src/components/board/DynamicBoard/DynamicBoardCreateForm.tsx", - "tier": "domain", - "category": "board", - "subcategory": "DynamicBoard", - "exportType": "named", - "hasProps": true, - "propsName": "DynamicBoardCreateFormProps", - "isClientComponent": true, - "lineCount": 166 - }, - { - "name": "DynamicBoardEditForm", - "fileName": "DynamicBoardEditForm.tsx", - "filePath": "src/components/board/DynamicBoard/DynamicBoardEditForm.tsx", - "tier": "domain", - "category": "board", - "subcategory": "DynamicBoard", - "exportType": "named", - "hasProps": true, - "propsName": "DynamicBoardEditFormProps", - "isClientComponent": true, - "lineCount": 253 - }, - { - "name": "MenuBar", - "fileName": "MenuBar.tsx", - "filePath": "src/components/board/RichTextEditor/MenuBar.tsx", - "tier": "domain", - "category": "board", - "subcategory": "RichTextEditor", - "exportType": "named", - "hasProps": true, - "propsName": "MenuBarProps", - "isClientComponent": true, - "lineCount": 289 - }, - { - "name": "BiddingDetailForm", - "fileName": "BiddingDetailForm.tsx", - "filePath": "src/components/business/construction/bidding/BiddingDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "BiddingDetailFormProps", - "isClientComponent": true, - "lineCount": 533 - }, - { - "name": "BiddingListClient", - "fileName": "BiddingListClient.tsx", - "filePath": "src/components/business/construction/bidding/BiddingListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "BiddingListClientProps", - "isClientComponent": true, - "lineCount": 385 - }, - { - "name": "CalendarSection", - "fileName": "CalendarSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/CalendarSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "CalendarSectionProps", - "isClientComponent": true, - "lineCount": 421 - }, - { - "name": "CardManagementSection", - "fileName": "CardManagementSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/CardManagementSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "CardManagementSectionProps", - "isClientComponent": true, - "lineCount": 71 - }, - { - "name": "CategoryDialog", - "fileName": "CategoryDialog.tsx", - "filePath": "src/components/business/construction/category-management/CategoryDialog.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 89 - }, - { - "name": "CEODashboard", - "fileName": "CEODashboard.tsx", - "filePath": "src/components/business/CEODashboard/CEODashboard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 407 - }, - { - "name": "ConstructionDashboard", - "fileName": "ConstructionDashboard.tsx", - "filePath": "src/components/business/construction/ConstructionDashboard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 19 - }, - { - "name": "ConstructionDetailCard", - "fileName": "ConstructionDetailCard.tsx", - "filePath": "src/components/business/construction/order-management/cards/ConstructionDetailCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ConstructionDetailCardProps", - "isClientComponent": true, - "lineCount": 83 - }, - { - "name": "ConstructionDetailClient", - "fileName": "ConstructionDetailClient.tsx", - "filePath": "src/components/business/construction/management/ConstructionDetailClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ConstructionDetailClientProps", - "isClientComponent": true, - "lineCount": 732 - }, - { - "name": "ConstructionMainDashboard", - "fileName": "ConstructionMainDashboard.tsx", - "filePath": "src/components/business/construction/ConstructionMainDashboard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 196 - }, - { - "name": "ConstructionManagementListClient", - "fileName": "ConstructionManagementListClient.tsx", - "filePath": "src/components/business/construction/management/ConstructionManagementListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ConstructionManagementListClientProps", - "isClientComponent": true, - "lineCount": 540 - }, - { - "name": "ContractDetailForm", - "fileName": "ContractDetailForm.tsx", - "filePath": "src/components/business/construction/contract/ContractDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ContractDetailFormProps", - "isClientComponent": true, - "lineCount": 541 - }, - { - "name": "ContractDocumentModal", - "fileName": "ContractDocumentModal.tsx", - "filePath": "src/components/business/construction/contract/modals/ContractDocumentModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ContractDocumentModalProps", - "isClientComponent": true, - "lineCount": 64 - }, - { - "name": "ContractInfoCard", - "fileName": "ContractInfoCard.tsx", - "filePath": "src/components/business/construction/order-management/cards/ContractInfoCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ContractInfoCardProps", - "isClientComponent": true, - "lineCount": 169 - }, - { - "name": "ContractInfoCard", - "fileName": "ContractInfoCard.tsx", - "filePath": "src/components/business/construction/progress-billing/cards/ContractInfoCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ContractInfoCardProps", - "isClientComponent": true, - "lineCount": 58 - }, - { - "name": "ContractListClient", - "fileName": "ContractListClient.tsx", - "filePath": "src/components/business/construction/contract/ContractListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ContractListClientProps", - "isClientComponent": true, - "lineCount": 399 - }, - { - "name": "DailyReportSection", - "fileName": "DailyReportSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/DailyReportSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "DailyReportSectionProps", - "isClientComponent": true, - "lineCount": 37 - }, - { - "name": "Dashboard", - "fileName": "Dashboard.tsx", - "filePath": "src/components/business/Dashboard.tsx", - "tier": "domain", - "category": "business", - "subcategory": null, - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 33 - }, - { - "name": "DashboardSettingsDialog", - "fileName": "DashboardSettingsDialog.tsx", - "filePath": "src/components/business/CEODashboard/dialogs/DashboardSettingsDialog.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "DashboardSettingsDialogProps", - "isClientComponent": true, - "lineCount": 744 - }, - { - "name": "DashboardSwitcher", - "fileName": "DashboardSwitcher.tsx", - "filePath": "src/components/business/DashboardSwitcher.tsx", - "tier": "domain", - "category": "business", - "subcategory": null, - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 89 - }, - { - "name": "DebtCollectionSection", - "fileName": "DebtCollectionSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/DebtCollectionSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "DebtCollectionSectionProps", - "isClientComponent": true, - "lineCount": 62 - }, - { - "name": "DetailAccordion", - "fileName": "DetailAccordion.tsx", - "filePath": "src/components/business/construction/management/DetailAccordion.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "DetailAccordionProps", - "isClientComponent": true, - "lineCount": 199 - }, - { - "name": "DetailCard", - "fileName": "DetailCard.tsx", - "filePath": "src/components/business/construction/management/DetailCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "DetailCardProps", - "isClientComponent": true, - "lineCount": 69 - }, - { - "name": "DetailModal", - "fileName": "DetailModal.tsx", - "filePath": "src/components/business/CEODashboard/modals/DetailModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "DetailModalProps", - "isClientComponent": true, - "lineCount": 763 - }, - { - "name": "DirectConstructionContent", - "fileName": "DirectConstructionContent.tsx", - "filePath": "src/components/business/construction/progress-billing/modals/DirectConstructionContent.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "DirectConstructionContentProps", - "isClientComponent": true, - "lineCount": 157 - }, - { - "name": "DirectConstructionModal", - "fileName": "DirectConstructionModal.tsx", - "filePath": "src/components/business/construction/progress-billing/modals/DirectConstructionModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "DirectConstructionModalProps", - "isClientComponent": true, - "lineCount": 60 - }, - { - "name": "ElectronicApprovalModal", - "fileName": "ElectronicApprovalModal.tsx", - "filePath": "src/components/business/construction/common/modals/ElectronicApprovalModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ElectronicApprovalModalProps", - "isClientComponent": true, - "lineCount": 299 - }, - { - "name": "ElectronicApprovalModal", - "fileName": "ElectronicApprovalModal.tsx", - "filePath": "src/components/business/construction/estimates/modals/ElectronicApprovalModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": false, - "lineCount": 2 - }, - { - "name": "EnhancedDailyReportSection", - "fileName": "EnhancedSections.tsx", - "filePath": "src/components/business/CEODashboard/sections/EnhancedSections.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "EnhancedDailyReportSectionProps", - "isClientComponent": true, - "lineCount": 534 - }, - { - "name": "EntertainmentSection", - "fileName": "EntertainmentSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/EntertainmentSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "EntertainmentSectionProps", - "isClientComponent": true, - "lineCount": 53 - }, - { - "name": "EstimateDetailForm", - "fileName": "EstimateDetailForm.tsx", - "filePath": "src/components/business/construction/estimates/EstimateDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "EstimateDetailFormProps", - "isClientComponent": true, - "lineCount": 761 - }, - { - "name": "EstimateDetailTableSection", - "fileName": "EstimateDetailTableSection.tsx", - "filePath": "src/components/business/construction/estimates/sections/EstimateDetailTableSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "EstimateDetailTableSectionProps", - "isClientComponent": true, - "lineCount": 657 - }, - { - "name": "EstimateDocumentContent", - "fileName": "EstimateDocumentContent.tsx", - "filePath": "src/components/business/construction/estimates/modals/EstimateDocumentContent.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "EstimateDocumentContentProps", - "isClientComponent": true, - "lineCount": 286 - }, - { - "name": "EstimateDocumentModal", - "fileName": "EstimateDocumentModal.tsx", - "filePath": "src/components/business/construction/estimates/modals/EstimateDocumentModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "EstimateDocumentModalProps", - "isClientComponent": true, - "lineCount": 88 - }, - { - "name": "EstimateInfoSection", - "fileName": "EstimateInfoSection.tsx", - "filePath": "src/components/business/construction/estimates/sections/EstimateInfoSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "EstimateInfoSectionProps", - "isClientComponent": true, - "lineCount": 262 - }, - { - "name": "EstimateListClient", - "fileName": "EstimateListClient.tsx", - "filePath": "src/components/business/construction/estimates/EstimateListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "EstimateListClientProps", - "isClientComponent": true, - "lineCount": 376 - }, - { - "name": "EstimateSummarySection", - "fileName": "EstimateSummarySection.tsx", - "filePath": "src/components/business/construction/estimates/sections/EstimateSummarySection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "EstimateSummarySectionProps", - "isClientComponent": true, - "lineCount": 182 - }, - { - "name": "ExpenseDetailSection", - "fileName": "ExpenseDetailSection.tsx", - "filePath": "src/components/business/construction/estimates/sections/ExpenseDetailSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ExpenseDetailSectionProps", - "isClientComponent": true, - "lineCount": 197 - }, - { - "name": "HandoverReportDetailForm", - "fileName": "HandoverReportDetailForm.tsx", - "filePath": "src/components/business/construction/handover-report/HandoverReportDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "HandoverReportDetailFormProps", - "isClientComponent": true, - "lineCount": 694 - }, - { - "name": "HandoverReportDocumentModal", - "fileName": "HandoverReportDocumentModal.tsx", - "filePath": "src/components/business/construction/handover-report/modals/HandoverReportDocumentModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "HandoverReportDocumentModalProps", - "isClientComponent": true, - "lineCount": 236 - }, - { - "name": "HandoverReportListClient", - "fileName": "HandoverReportListClient.tsx", - "filePath": "src/components/business/construction/handover-report/HandoverReportListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "HandoverReportListClientProps", - "isClientComponent": true, - "lineCount": 387 - }, - { - "name": "IndirectConstructionContent", - "fileName": "IndirectConstructionContent.tsx", - "filePath": "src/components/business/construction/progress-billing/modals/IndirectConstructionContent.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "IndirectConstructionContentProps", - "isClientComponent": true, - "lineCount": 143 - }, - { - "name": "IndirectConstructionModal", - "fileName": "IndirectConstructionModal.tsx", - "filePath": "src/components/business/construction/progress-billing/modals/IndirectConstructionModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "IndirectConstructionModalProps", - "isClientComponent": true, - "lineCount": 60 - }, - { - "name": "IssueDetailForm", - "fileName": "IssueDetailForm.tsx", - "filePath": "src/components/business/construction/issue-management/IssueDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "IssueDetailFormProps", - "isClientComponent": true, - "lineCount": 625 - }, - { - "name": "IssueManagementListClient", - "fileName": "IssueManagementListClient.tsx", - "filePath": "src/components/business/construction/issue-management/IssueManagementListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "IssueManagementListClientProps", - "isClientComponent": true, - "lineCount": 514 - }, - { - "name": "ItemDetailClient", - "fileName": "ItemDetailClient.tsx", - "filePath": "src/components/business/construction/item-management/ItemDetailClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ItemDetailClientProps", - "isClientComponent": true, - "lineCount": 487 - }, - { - "name": "ItemManagementClient", - "fileName": "ItemManagementClient.tsx", - "filePath": "src/components/business/construction/item-management/ItemManagementClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ItemManagementClientProps", - "isClientComponent": true, - "lineCount": 618 - }, - { - "name": "KanbanColumn", - "fileName": "KanbanColumn.tsx", - "filePath": "src/components/business/construction/management/KanbanColumn.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "KanbanColumnProps", - "isClientComponent": true, - "lineCount": 53 - }, - { - "name": "LaborDetailClient", - "fileName": "LaborDetailClient.tsx", - "filePath": "src/components/business/construction/labor-management/LaborDetailClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "LaborDetailClientProps", - "isClientComponent": true, - "lineCount": 121 - }, - { - "name": "LaborManagementClient", - "fileName": "LaborManagementClient.tsx", - "filePath": "src/components/business/construction/labor-management/LaborManagementClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "LaborManagementClientProps", - "isClientComponent": true, - "lineCount": 372 - }, - { - "name": "MainDashboard", - "fileName": "MainDashboard.tsx", - "filePath": "src/components/business/MainDashboard.tsx", - "tier": "domain", - "category": "business", - "subcategory": null, - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": false, - "lineCount": 2652 - }, - { - "name": "MonthlyExpenseSection", - "fileName": "MonthlyExpenseSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/MonthlyExpenseSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "MonthlyExpenseSectionProps", - "isClientComponent": true, - "lineCount": 38 - }, - { - "name": "OrderDetailForm", - "fileName": "OrderDetailForm.tsx", - "filePath": "src/components/business/construction/order-management/OrderDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "OrderDetailFormProps", - "isClientComponent": true, - "lineCount": 276 - }, - { - "name": "OrderDetailItemTable", - "fileName": "OrderDetailItemTable.tsx", - "filePath": "src/components/business/construction/order-management/tables/OrderDetailItemTable.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "OrderDetailItemTableProps", - "isClientComponent": true, - "lineCount": 445 - }, - { - "name": "OrderDialogs", - "fileName": "OrderDialogs.tsx", - "filePath": "src/components/business/construction/order-management/dialogs/OrderDialogs.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "OrderDialogsProps", - "isClientComponent": true, - "lineCount": 66 - }, - { - "name": "OrderDocumentModal", - "fileName": "OrderDocumentModal.tsx", - "filePath": "src/components/business/construction/order-management/modals/OrderDocumentModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "OrderDocumentModalProps", - "isClientComponent": true, - "lineCount": 311 - }, - { - "name": "OrderInfoCard", - "fileName": "OrderInfoCard.tsx", - "filePath": "src/components/business/construction/order-management/cards/OrderInfoCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "OrderInfoCardProps", - "isClientComponent": true, - "lineCount": 143 - }, - { - "name": "OrderManagementListClient", - "fileName": "OrderManagementListClient.tsx", - "filePath": "src/components/business/construction/order-management/OrderManagementListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "OrderManagementListClientProps", - "isClientComponent": true, - "lineCount": 608 - }, - { - "name": "OrderManagementUnified", - "fileName": "OrderManagementUnified.tsx", - "filePath": "src/components/business/construction/order-management/OrderManagementUnified.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "both", - "hasProps": true, - "propsName": "OrderManagementUnifiedProps", - "isClientComponent": true, - "lineCount": 641 - }, - { - "name": "OrderMemoCard", - "fileName": "OrderMemoCard.tsx", - "filePath": "src/components/business/construction/order-management/cards/OrderMemoCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "OrderMemoCardProps", - "isClientComponent": true, - "lineCount": 29 - }, - { - "name": "OrderScheduleCard", - "fileName": "OrderScheduleCard.tsx", - "filePath": "src/components/business/construction/order-management/cards/OrderScheduleCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "OrderScheduleCardProps", - "isClientComponent": true, - "lineCount": 42 - }, - { - "name": "PartnerForm", - "fileName": "PartnerForm.tsx", - "filePath": "src/components/business/construction/partners/PartnerForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "PartnerFormProps", - "isClientComponent": true, - "lineCount": 642 - }, - { - "name": "PartnerListClient", - "fileName": "PartnerListClient.tsx", - "filePath": "src/components/business/construction/partners/PartnerListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "PartnerListClientProps", - "isClientComponent": true, - "lineCount": 335 - }, - { - "name": "PhotoDocumentContent", - "fileName": "PhotoDocumentContent.tsx", - "filePath": "src/components/business/construction/progress-billing/modals/PhotoDocumentContent.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "PhotoDocumentContentProps", - "isClientComponent": true, - "lineCount": 130 - }, - { - "name": "PhotoDocumentModal", - "fileName": "PhotoDocumentModal.tsx", - "filePath": "src/components/business/construction/progress-billing/modals/PhotoDocumentModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "PhotoDocumentModalProps", - "isClientComponent": true, - "lineCount": 60 - }, - { - "name": "PhotoTable", - "fileName": "PhotoTable.tsx", - "filePath": "src/components/business/construction/progress-billing/tables/PhotoTable.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "PhotoTableProps", - "isClientComponent": true, - "lineCount": 153 - }, - { - "name": "PriceAdjustmentSection", - "fileName": "PriceAdjustmentSection.tsx", - "filePath": "src/components/business/construction/estimates/sections/PriceAdjustmentSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "PriceAdjustmentSectionProps", - "isClientComponent": true, - "lineCount": 150 - }, - { - "name": "PricingDetailClient", - "fileName": "PricingDetailClient.tsx", - "filePath": "src/components/business/construction/pricing-management/PricingDetailClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "PricingDetailClientProps", - "isClientComponent": true, - "lineCount": 135 - }, - { - "name": "PricingListClient", - "fileName": "PricingListClient.tsx", - "filePath": "src/components/business/construction/pricing-management/PricingListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "PricingListClientProps", - "isClientComponent": true, - "lineCount": 477 - }, - { - "name": "ProgressBillingDetailForm", - "fileName": "ProgressBillingDetailForm.tsx", - "filePath": "src/components/business/construction/progress-billing/ProgressBillingDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProgressBillingDetailFormProps", - "isClientComponent": true, - "lineCount": 193 - }, - { - "name": "ProgressBillingInfoCard", - "fileName": "ProgressBillingInfoCard.tsx", - "filePath": "src/components/business/construction/progress-billing/cards/ProgressBillingInfoCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ProgressBillingInfoCardProps", - "isClientComponent": true, - "lineCount": 78 - }, - { - "name": "ProgressBillingItemTable", - "fileName": "ProgressBillingItemTable.tsx", - "filePath": "src/components/business/construction/progress-billing/tables/ProgressBillingItemTable.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "named", - "hasProps": true, - "propsName": "ProgressBillingItemTableProps", - "isClientComponent": true, - "lineCount": 193 - }, - { - "name": "ProgressBillingManagementListClient", - "fileName": "ProgressBillingManagementListClient.tsx", - "filePath": "src/components/business/construction/progress-billing/ProgressBillingManagementListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProgressBillingManagementListClientProps", - "isClientComponent": true, - "lineCount": 343 - }, - { - "name": "ProjectCard", - "fileName": "ProjectCard.tsx", - "filePath": "src/components/business/construction/management/ProjectCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProjectCardProps", - "isClientComponent": true, - "lineCount": 89 - }, - { - "name": "ProjectDetailClient", - "fileName": "ProjectDetailClient.tsx", - "filePath": "src/components/business/construction/management/ProjectDetailClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProjectDetailClientProps", - "isClientComponent": true, - "lineCount": 197 - }, - { - "name": "ProjectEndDialog", - "fileName": "ProjectEndDialog.tsx", - "filePath": "src/components/business/construction/management/ProjectEndDialog.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProjectEndDialogProps", - "isClientComponent": true, - "lineCount": 192 - }, - { - "name": "ProjectGanttChart", - "fileName": "ProjectGanttChart.tsx", - "filePath": "src/components/business/construction/management/ProjectGanttChart.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProjectGanttChartProps", - "isClientComponent": true, - "lineCount": 367 - }, - { - "name": "ProjectKanbanBoard", - "fileName": "ProjectKanbanBoard.tsx", - "filePath": "src/components/business/construction/management/ProjectKanbanBoard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProjectKanbanBoardProps", - "isClientComponent": true, - "lineCount": 244 - }, - { - "name": "ProjectListClient", - "fileName": "ProjectListClient.tsx", - "filePath": "src/components/business/construction/management/ProjectListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "ProjectListClientProps", - "isClientComponent": true, - "lineCount": 629 - }, - { - "name": "ReceivableSection", - "fileName": "ReceivableSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/ReceivableSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "ReceivableSectionProps", - "isClientComponent": true, - "lineCount": 69 - }, - { - "name": "ScheduleDetailModal", - "fileName": "ScheduleDetailModal.tsx", - "filePath": "src/components/business/CEODashboard/modals/ScheduleDetailModal.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "ScheduleDetailModalProps", - "isClientComponent": true, - "lineCount": 290 - }, - { - "name": "SECTION_THEME_STYLES", - "fileName": "components.tsx", - "filePath": "src/components/business/CEODashboard/components.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 434 - }, - { - "name": "SiteBriefingForm", - "fileName": "SiteBriefingForm.tsx", - "filePath": "src/components/business/construction/site-briefings/SiteBriefingForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "SiteBriefingFormProps", - "isClientComponent": true, - "lineCount": 957 - }, - { - "name": "SiteBriefingListClient", - "fileName": "SiteBriefingListClient.tsx", - "filePath": "src/components/business/construction/site-briefings/SiteBriefingListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "SiteBriefingListClientProps", - "isClientComponent": true, - "lineCount": 362 - }, - { - "name": "SiteDetailClientV2", - "fileName": "SiteDetailClientV2.tsx", - "filePath": "src/components/business/construction/site-management/SiteDetailClientV2.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "both", - "hasProps": true, - "propsName": "SiteDetailClientV2Props", - "isClientComponent": true, - "lineCount": 141 - }, - { - "name": "SiteDetailForm", - "fileName": "SiteDetailForm.tsx", - "filePath": "src/components/business/construction/site-management/SiteDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "SiteDetailFormProps", - "isClientComponent": true, - "lineCount": 386 - }, - { - "name": "SiteManagementListClient", - "fileName": "SiteManagementListClient.tsx", - "filePath": "src/components/business/construction/site-management/SiteManagementListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "SiteManagementListClientProps", - "isClientComponent": true, - "lineCount": 338 - }, - { - "name": "StageCard", - "fileName": "StageCard.tsx", - "filePath": "src/components/business/construction/management/StageCard.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "StageCardProps", - "isClientComponent": true, - "lineCount": 89 - }, - { - "name": "StatusBoardSection", - "fileName": "StatusBoardSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/StatusBoardSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "StatusBoardSectionProps", - "isClientComponent": true, - "lineCount": 72 - }, - { - "name": "StructureReviewDetailClientV2", - "fileName": "StructureReviewDetailClientV2.tsx", - "filePath": "src/components/business/construction/structure-review/StructureReviewDetailClientV2.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "both", - "hasProps": true, - "propsName": "StructureReviewDetailClientV2Props", - "isClientComponent": true, - "lineCount": 149 - }, - { - "name": "StructureReviewDetailForm", - "fileName": "StructureReviewDetailForm.tsx", - "filePath": "src/components/business/construction/structure-review/StructureReviewDetailForm.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "StructureReviewDetailFormProps", - "isClientComponent": true, - "lineCount": 390 - }, - { - "name": "StructureReviewListClient", - "fileName": "StructureReviewListClient.tsx", - "filePath": "src/components/business/construction/structure-review/StructureReviewListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "StructureReviewListClientProps", - "isClientComponent": true, - "lineCount": 375 - }, - { - "name": "TodayIssueSection", - "fileName": "TodayIssueSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/TodayIssueSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "TodayIssueSectionProps", - "isClientComponent": true, - "lineCount": 453 - }, - { - "name": "UtilityManagementListClient", - "fileName": "UtilityManagementListClient.tsx", - "filePath": "src/components/business/construction/utility-management/UtilityManagementListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "UtilityManagementListClientProps", - "isClientComponent": true, - "lineCount": 395 - }, - { - "name": "VatSection", - "fileName": "VatSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/VatSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "VatSectionProps", - "isClientComponent": true, - "lineCount": 38 - }, - { - "name": "WelfareSection", - "fileName": "WelfareSection.tsx", - "filePath": "src/components/business/CEODashboard/sections/WelfareSection.tsx", - "tier": "domain", - "category": "business", - "subcategory": "CEODashboard", - "exportType": "named", - "hasProps": true, - "propsName": "WelfareSectionProps", - "isClientComponent": true, - "lineCount": 53 - }, - { - "name": "WorkerStatusListClient", - "fileName": "WorkerStatusListClient.tsx", - "filePath": "src/components/business/construction/worker-status/WorkerStatusListClient.tsx", - "tier": "domain", - "category": "business", - "subcategory": "construction", - "exportType": "default", - "hasProps": true, - "propsName": "WorkerStatusListClientProps", - "isClientComponent": true, - "lineCount": 416 - }, - { - "name": "ChecklistDetail", - "fileName": "ChecklistDetail.tsx", - "filePath": "src/components/checklist-management/ChecklistDetail.tsx", - "tier": "domain", - "category": "checklist-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ChecklistDetailProps", - "isClientComponent": true, - "lineCount": 316 - }, - { - "name": "ChecklistDetailClient", - "fileName": "ChecklistDetailClient.tsx", - "filePath": "src/components/checklist-management/ChecklistDetailClient.tsx", - "tier": "domain", - "category": "checklist-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ChecklistDetailClientProps", - "isClientComponent": true, - "lineCount": 123 - }, - { - "name": "ChecklistForm", - "fileName": "ChecklistForm.tsx", - "filePath": "src/components/checklist-management/ChecklistForm.tsx", - "tier": "domain", - "category": "checklist-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ChecklistFormProps", - "isClientComponent": true, - "lineCount": 173 - }, - { - "name": "ChecklistListClient", - "fileName": "ChecklistListClient.tsx", - "filePath": "src/components/checklist-management/ChecklistListClient.tsx", - "tier": "domain", - "category": "checklist-management", - "subcategory": null, - "exportType": "default", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 520 - }, - { - "name": "ItemDetail", - "fileName": "ItemDetail.tsx", - "filePath": "src/components/checklist-management/ItemDetail.tsx", - "tier": "domain", - "category": "checklist-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ItemDetailProps", - "isClientComponent": true, - "lineCount": 224 - }, - { - "name": "ItemDetailClient", - "fileName": "ItemDetailClient.tsx", - "filePath": "src/components/checklist-management/ItemDetailClient.tsx", - "tier": "domain", - "category": "checklist-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ItemDetailClientProps", - "isClientComponent": true, - "lineCount": 111 - }, - { - "name": "ItemForm", - "fileName": "ItemForm.tsx", - "filePath": "src/components/checklist-management/ItemForm.tsx", - "tier": "domain", - "category": "checklist-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ItemFormProps", - "isClientComponent": true, - "lineCount": 351 - }, - { - "name": "ClientDetail", - "fileName": "ClientDetail.tsx", - "filePath": "src/components/clients/ClientDetail.tsx", - "tier": "domain", - "category": "clients", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ClientDetailProps", - "isClientComponent": true, - "lineCount": 254 - }, - { - "name": "ClientDetailClientV2", - "fileName": "ClientDetailClientV2.tsx", - "filePath": "src/components/clients/ClientDetailClientV2.tsx", - "tier": "domain", - "category": "clients", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ClientDetailClientV2Props", - "isClientComponent": true, - "lineCount": 253 - }, - { - "name": "ClientRegistration", - "fileName": "ClientRegistration.tsx", - "filePath": "src/components/clients/ClientRegistration.tsx", - "tier": "domain", - "category": "clients", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ClientRegistrationProps", - "isClientComponent": true, - "lineCount": 468 - }, - { - "name": "EventDetail", - "fileName": "EventDetail.tsx", - "filePath": "src/components/customer-center/EventManagement/EventDetail.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "EventManagement", - "exportType": "both", - "hasProps": true, - "propsName": "EventDetailProps", - "isClientComponent": true, - "lineCount": 102 - }, - { - "name": "EventList", - "fileName": "EventList.tsx", - "filePath": "src/components/customer-center/EventManagement/EventList.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "EventManagement", - "exportType": "both", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 261 - }, - { - "name": "FAQList", - "fileName": "FAQList.tsx", - "filePath": "src/components/customer-center/FAQManagement/FAQList.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "FAQManagement", - "exportType": "both", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 172 - }, - { - "name": "InquiryDetail", - "fileName": "InquiryDetail.tsx", - "filePath": "src/components/customer-center/InquiryManagement/InquiryDetail.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "InquiryManagement", - "exportType": "both", - "hasProps": true, - "propsName": "InquiryDetailProps", - "isClientComponent": true, - "lineCount": 359 - }, - { - "name": "InquiryDetailClientV2", - "fileName": "InquiryDetailClientV2.tsx", - "filePath": "src/components/customer-center/InquiryManagement/InquiryDetailClientV2.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "InquiryManagement", - "exportType": "both", - "hasProps": true, - "propsName": "InquiryDetailClientV2Props", - "isClientComponent": true, - "lineCount": 224 - }, - { - "name": "InquiryForm", - "fileName": "InquiryForm.tsx", - "filePath": "src/components/customer-center/InquiryManagement/InquiryForm.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "InquiryManagement", - "exportType": "both", - "hasProps": true, - "propsName": "InquiryFormProps", - "isClientComponent": true, - "lineCount": 237 - }, - { - "name": "InquiryList", - "fileName": "InquiryList.tsx", - "filePath": "src/components/customer-center/InquiryManagement/InquiryList.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "InquiryManagement", - "exportType": "both", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 292 - }, - { - "name": "NoticeDetail", - "fileName": "NoticeDetail.tsx", - "filePath": "src/components/customer-center/NoticeManagement/NoticeDetail.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "NoticeManagement", - "exportType": "both", - "hasProps": true, - "propsName": "NoticeDetailProps", - "isClientComponent": true, - "lineCount": 102 - }, - { - "name": "NoticeList", - "fileName": "NoticeList.tsx", - "filePath": "src/components/customer-center/NoticeManagement/NoticeList.tsx", - "tier": "domain", - "category": "customer-center", - "subcategory": "NoticeManagement", - "exportType": "both", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 227 - }, - { - "name": "ApprovalLine", - "fileName": "ApprovalLine.tsx", - "filePath": "src/components/document-system/components/ApprovalLine.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "ApprovalLineProps", - "isClientComponent": true, - "lineCount": 170 - }, - { - "name": "ConstructionApprovalTable", - "fileName": "ConstructionApprovalTable.tsx", - "filePath": "src/components/document-system/components/ConstructionApprovalTable.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "ConstructionApprovalTableProps", - "isClientComponent": true, - "lineCount": 116 - }, - { - "name": "DocumentContent", - "fileName": "DocumentContent.tsx", - "filePath": "src/components/document-system/viewer/DocumentContent.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "viewer", - "exportType": "named", - "hasProps": true, - "propsName": "DocumentContentProps", - "isClientComponent": true, - "lineCount": 59 - }, - { - "name": "DocumentHeader", - "fileName": "DocumentHeader.tsx", - "filePath": "src/components/document-system/components/DocumentHeader.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "DocumentHeaderProps", - "isClientComponent": true, - "lineCount": 248 - }, - { - "name": "DocumentToolbar", - "fileName": "DocumentToolbar.tsx", - "filePath": "src/components/document-system/viewer/DocumentToolbar.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "viewer", - "exportType": "named", - "hasProps": true, - "propsName": "DocumentToolbarProps", - "isClientComponent": true, - "lineCount": 327 - }, - { - "name": "DocumentViewer", - "fileName": "DocumentViewer.tsx", - "filePath": "src/components/document-system/viewer/DocumentViewer.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "viewer", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 378 - }, - { - "name": "InfoTable", - "fileName": "InfoTable.tsx", - "filePath": "src/components/document-system/components/InfoTable.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "InfoTableProps", - "isClientComponent": true, - "lineCount": 95 - }, - { - "name": "LotApprovalTable", - "fileName": "LotApprovalTable.tsx", - "filePath": "src/components/document-system/components/LotApprovalTable.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "LotApprovalTableProps", - "isClientComponent": true, - "lineCount": 122 - }, - { - "name": "QualityApprovalTable", - "fileName": "QualityApprovalTable.tsx", - "filePath": "src/components/document-system/components/QualityApprovalTable.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "QualityApprovalTableProps", - "isClientComponent": true, - "lineCount": 123 - }, - { - "name": "SectionHeader", - "fileName": "SectionHeader.tsx", - "filePath": "src/components/document-system/components/SectionHeader.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "SectionHeaderProps", - "isClientComponent": true, - "lineCount": 46 - }, - { - "name": "SignatureSection", - "fileName": "SignatureSection.tsx", - "filePath": "src/components/document-system/components/SignatureSection.tsx", - "tier": "domain", - "category": "document-system", - "subcategory": "components", - "exportType": "named", - "hasProps": true, - "propsName": "SignatureSectionProps", - "isClientComponent": true, - "lineCount": 107 - }, - { - "name": "AttendanceInfoDialog", - "fileName": "AttendanceInfoDialog.tsx", - "filePath": "src/components/hr/AttendanceManagement/AttendanceInfoDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "AttendanceManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 301 - }, - { - "name": "CardDetail", - "fileName": "CardDetail.tsx", - "filePath": "src/components/hr/CardManagement/_legacy/CardDetail.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "CardManagement", - "exportType": "named", - "hasProps": true, - "propsName": "CardDetailProps", - "isClientComponent": true, - "lineCount": 132 - }, - { - "name": "CardForm", - "fileName": "CardForm.tsx", - "filePath": "src/components/hr/CardManagement/_legacy/CardForm.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "CardManagement", - "exportType": "named", - "hasProps": true, - "propsName": "CardFormProps", - "isClientComponent": true, - "lineCount": 246 - }, - { - "name": "CardManagementUnified", - "fileName": "CardManagementUnified.tsx", - "filePath": "src/components/hr/CardManagement/CardManagementUnified.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "CardManagement", - "exportType": "named", - "hasProps": true, - "propsName": "CardManagementUnifiedProps", - "isClientComponent": true, - "lineCount": 267 - }, - { - "name": "CSVUploadDialog", - "fileName": "CSVUploadDialog.tsx", - "filePath": "src/components/hr/EmployeeManagement/CSVUploadDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": true, - "propsName": "CSVUploadDialogProps", - "isClientComponent": true, - "lineCount": 252 - }, - { - "name": "CSVUploadPage", - "fileName": "CSVUploadPage.tsx", - "filePath": "src/components/hr/EmployeeManagement/CSVUploadPage.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": true, - "propsName": "CSVUploadPageProps", - "isClientComponent": true, - "lineCount": 355 - }, - { - "name": "DepartmentDialog", - "fileName": "DepartmentDialog.tsx", - "filePath": "src/components/hr/DepartmentManagement/DepartmentDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "DepartmentManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 92 - }, - { - "name": "DepartmentStats", - "fileName": "DepartmentStats.tsx", - "filePath": "src/components/hr/DepartmentManagement/DepartmentStats.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "DepartmentManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 18 - }, - { - "name": "DepartmentToolbar", - "fileName": "DepartmentToolbar.tsx", - "filePath": "src/components/hr/DepartmentManagement/DepartmentToolbar.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "DepartmentManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 60 - }, - { - "name": "DepartmentTree", - "fileName": "DepartmentTree.tsx", - "filePath": "src/components/hr/DepartmentManagement/DepartmentTree.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "DepartmentManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 70 - }, - { - "name": "DepartmentTreeItem", - "fileName": "DepartmentTreeItem.tsx", - "filePath": "src/components/hr/DepartmentManagement/DepartmentTreeItem.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "DepartmentManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 118 - }, - { - "name": "EmployeeDetail", - "fileName": "EmployeeDetail.tsx", - "filePath": "src/components/hr/EmployeeManagement/EmployeeDetail.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": true, - "propsName": "EmployeeDetailProps", - "isClientComponent": true, - "lineCount": 222 - }, - { - "name": "EmployeeDialog", - "fileName": "EmployeeDialog.tsx", - "filePath": "src/components/hr/EmployeeManagement/EmployeeDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 582 - }, - { - "name": "EmployeeForm", - "fileName": "EmployeeForm.tsx", - "filePath": "src/components/hr/EmployeeManagement/EmployeeForm.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": true, - "propsName": "EmployeeFormProps", - "isClientComponent": true, - "lineCount": 1052 - }, - { - "name": "EmployeeToolbar", - "fileName": "EmployeeToolbar.tsx", - "filePath": "src/components/hr/EmployeeManagement/EmployeeToolbar.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": true, - "propsName": "EmployeeToolbarProps", - "isClientComponent": true, - "lineCount": 82 - }, - { - "name": "FieldSettingsDialog", - "fileName": "FieldSettingsDialog.tsx", - "filePath": "src/components/hr/EmployeeManagement/FieldSettingsDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": true, - "propsName": "FieldSettingsDialogProps", - "isClientComponent": true, - "lineCount": 259 - }, - { - "name": "ReasonInfoDialog", - "fileName": "ReasonInfoDialog.tsx", - "filePath": "src/components/hr/AttendanceManagement/ReasonInfoDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "AttendanceManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 140 - }, - { - "name": "SalaryDetailDialog", - "fileName": "SalaryDetailDialog.tsx", - "filePath": "src/components/hr/SalaryManagement/SalaryDetailDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "SalaryManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SalaryDetailDialogProps", - "isClientComponent": true, - "lineCount": 420 - }, - { - "name": "UserInviteDialog", - "fileName": "UserInviteDialog.tsx", - "filePath": "src/components/hr/EmployeeManagement/UserInviteDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "EmployeeManagement", - "exportType": "named", - "hasProps": true, - "propsName": "UserInviteDialogProps", - "isClientComponent": true, - "lineCount": 116 - }, - { - "name": "VacationAdjustDialog", - "fileName": "VacationAdjustDialog.tsx", - "filePath": "src/components/hr/VacationManagement/VacationAdjustDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "VacationManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VacationAdjustDialogProps", - "isClientComponent": true, - "lineCount": 225 - }, - { - "name": "VacationGrantDialog", - "fileName": "VacationGrantDialog.tsx", - "filePath": "src/components/hr/VacationManagement/VacationGrantDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "VacationManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VacationGrantDialogProps", - "isClientComponent": true, - "lineCount": 202 - }, - { - "name": "VacationRegisterDialog", - "fileName": "VacationRegisterDialog.tsx", - "filePath": "src/components/hr/VacationManagement/VacationRegisterDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "VacationManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VacationRegisterDialogProps", - "isClientComponent": true, - "lineCount": 201 - }, - { - "name": "VacationRequestDialog", - "fileName": "VacationRequestDialog.tsx", - "filePath": "src/components/hr/VacationManagement/VacationRequestDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "VacationManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VacationRequestDialogProps", - "isClientComponent": true, - "lineCount": 208 - }, - { - "name": "VacationTypeSettingsDialog", - "fileName": "VacationTypeSettingsDialog.tsx", - "filePath": "src/components/hr/VacationManagement/VacationTypeSettingsDialog.tsx", - "tier": "domain", - "category": "hr", - "subcategory": "VacationManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VacationTypeSettingsDialogProps", - "isClientComponent": true, - "lineCount": 192 - }, - { - "name": "AssemblyPartForm", - "fileName": "AssemblyPartForm.tsx", - "filePath": "src/components/items/ItemForm/forms/parts/AssemblyPartForm.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "AssemblyPartFormProps", - "isClientComponent": false, - "lineCount": 337 - }, - { - "name": "AttributeTabContent", - "fileName": "AttributeTabContent.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/components/AttributeTabContent.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "AttributeTabContentProps", - "isClientComponent": true, - "lineCount": 453 - }, - { - "name": "BendingDiagramSection", - "fileName": "BendingDiagramSection.tsx", - "filePath": "src/components/items/ItemForm/BendingDiagramSection.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "BendingDiagramSectionProps", - "isClientComponent": false, - "lineCount": 477 - }, - { - "name": "BendingPartForm", - "fileName": "BendingPartForm.tsx", - "filePath": "src/components/items/ItemForm/forms/parts/BendingPartForm.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "BendingPartFormProps", - "isClientComponent": false, - "lineCount": 304 - }, - { - "name": "BOMManagementSection", - "fileName": "BOMManagementSection.tsx", - "filePath": "src/components/items/BOMManagementSection.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "BOMManagementSectionProps", - "isClientComponent": true, - "lineCount": 293 - }, - { - "name": "BOMSection", - "fileName": "BOMSection.tsx", - "filePath": "src/components/items/ItemForm/BOMSection.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "BOMSectionProps", - "isClientComponent": false, - "lineCount": 366 - }, - { - "name": "CheckboxField", - "fileName": "CheckboxField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/CheckboxField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 47 - }, - { - "name": "ColumnDialog", - "fileName": "ColumnDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/ColumnDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ColumnDialogProps", - "isClientComponent": true, - "lineCount": 124 - }, - { - "name": "ColumnManageDialog", - "fileName": "ColumnManageDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/ColumnManageDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ColumnManageDialogProps", - "isClientComponent": true, - "lineCount": 210 - }, - { - "name": "ComputedField", - "fileName": "ComputedField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/ComputedField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 136 - }, - { - "name": "ConditionalDisplayUI", - "fileName": "ConditionalDisplayUI.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/components/ConditionalDisplayUI.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ConditionalDisplayUIProps", - "isClientComponent": false, - "lineCount": 349 - }, - { - "name": "CurrencyField", - "fileName": "CurrencyField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/CurrencyField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 127 - }, - { - "name": "DateField", - "fileName": "DateField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/DateField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 45 - }, - { - "name": "DraggableField", - "fileName": "DraggableField.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/components/DraggableField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "DraggableFieldProps", - "isClientComponent": false, - "lineCount": 130 - }, - { - "name": "DraggableSection", - "fileName": "DraggableSection.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/components/DraggableSection.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "DraggableSectionProps", - "isClientComponent": false, - "lineCount": 140 - }, - { - "name": "DrawingCanvas", - "fileName": "DrawingCanvas.tsx", - "filePath": "src/components/items/DrawingCanvas.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "DrawingCanvasProps", - "isClientComponent": true, - "lineCount": 404 - }, - { - "name": "DropdownField", - "fileName": "DropdownField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/DropdownField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 141 - }, - { - "name": "DuplicateCodeDialog", - "fileName": "DuplicateCodeDialog.tsx", - "filePath": "src/components/items/DynamicItemForm/components/DuplicateCodeDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": true, - "propsName": "DuplicateCodeDialogProps", - "isClientComponent": true, - "lineCount": 49 - }, - { - "name": "DynamicBOMSection", - "fileName": "DynamicBOMSection.tsx", - "filePath": "src/components/items/DynamicItemForm/sections/DynamicBOMSection.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "DynamicBOMSectionProps", - "isClientComponent": true, - "lineCount": 515 - }, - { - "name": "DynamicFieldRenderer", - "fileName": "DynamicFieldRenderer.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/DynamicFieldRenderer.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 86 - }, - { - "name": "DynamicTableSection", - "fileName": "DynamicTableSection.tsx", - "filePath": "src/components/items/DynamicItemForm/sections/DynamicTableSection.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "DynamicTableSectionProps", - "isClientComponent": true, - "lineCount": 200 - }, - { - "name": "ErrorAlertDialog", - "fileName": "ErrorAlertDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/components/ErrorAlertDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ErrorAlertDialogProps", - "isClientComponent": true, - "lineCount": 51 - }, - { - "name": "ErrorAlertProvider", - "fileName": "ErrorAlertContext.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/contexts/ErrorAlertContext.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ErrorAlertProviderProps", - "isClientComponent": true, - "lineCount": 94 - }, - { - "name": "FieldDialog", - "fileName": "FieldDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/FieldDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "FieldDialogProps", - "isClientComponent": true, - "lineCount": 478 - }, - { - "name": "FieldDrawer", - "fileName": "FieldDrawer.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/FieldDrawer.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "FieldDrawerProps", - "isClientComponent": true, - "lineCount": 682 - }, - { - "name": "FileField", - "fileName": "FileField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/FileField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 200 - }, - { - "name": "FileUpload", - "fileName": "FileUpload.tsx", - "filePath": "src/components/items/FileUpload.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "FileUploadProps", - "isClientComponent": true, - "lineCount": 233 - }, - { - "name": "FileUploadFields", - "fileName": "FileUploadFields.tsx", - "filePath": "src/components/items/DynamicItemForm/components/FileUploadFields.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": true, - "propsName": "FileUploadFieldsProps", - "isClientComponent": true, - "lineCount": 240 - }, - { - "name": "FormHeader", - "fileName": "FormHeader.tsx", - "filePath": "src/components/items/DynamicItemForm/components/FormHeader.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": true, - "propsName": "FormHeaderProps", - "isClientComponent": true, - "lineCount": 31 - }, - { - "name": "FormHeader", - "fileName": "FormHeader.tsx", - "filePath": "src/components/items/ItemForm/FormHeader.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "FormHeaderProps", - "isClientComponent": false, - "lineCount": 62 - }, - { - "name": "ImportFieldDialog", - "fileName": "ImportFieldDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/ImportFieldDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ImportFieldDialogProps", - "isClientComponent": true, - "lineCount": 279 - }, - { - "name": "ImportSectionDialog", - "fileName": "ImportSectionDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/ImportSectionDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ImportSectionDialogProps", - "isClientComponent": true, - "lineCount": 221 - }, - { - "name": "ItemDetailClient", - "fileName": "ItemDetailClient.tsx", - "filePath": "src/components/items/ItemDetailClient.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "ItemDetailClientProps", - "isClientComponent": true, - "lineCount": 638 - }, - { - "name": "ItemDetailEdit", - "fileName": "ItemDetailEdit.tsx", - "filePath": "src/components/items/ItemDetailEdit.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ItemDetailEditProps", - "isClientComponent": true, - "lineCount": 390 - }, - { - "name": "ItemDetailView", - "fileName": "ItemDetailView.tsx", - "filePath": "src/components/items/ItemDetailView.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ItemDetailViewProps", - "isClientComponent": true, - "lineCount": 275 - }, - { - "name": "ItemFormContext", - "fileName": "ItemFormContext.tsx", - "filePath": "src/components/items/ItemForm/context/ItemFormContext.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "both", - "hasProps": true, - "propsName": "ItemFormProviderProps", - "isClientComponent": true, - "lineCount": 77 - }, - { - "name": "ItemListClient", - "fileName": "ItemListClient.tsx", - "filePath": "src/components/items/ItemListClient.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "default", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 607 - }, - { - "name": "ItemMasterDataManagement", - "fileName": "ItemMasterDataManagement.tsx", - "filePath": "src/components/items/ItemMasterDataManagement.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 1006 - }, - { - "name": "ItemMasterDialogs", - "fileName": "ItemMasterDialogs.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/components/ItemMasterDialogs.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ItemMasterDialogsProps", - "isClientComponent": true, - "lineCount": 968 - }, - { - "name": "ItemTypeSelect", - "fileName": "ItemTypeSelect.tsx", - "filePath": "src/components/items/ItemTypeSelect.tsx", - "tier": "domain", - "category": "items", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "ItemTypeSelectProps", - "isClientComponent": true, - "lineCount": 76 - }, - { - "name": "LoadTemplateDialog", - "fileName": "LoadTemplateDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/LoadTemplateDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "LoadTemplateDialogProps", - "isClientComponent": true, - "lineCount": 103 - }, - { - "name": "MasterFieldDialog", - "fileName": "MasterFieldDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/MasterFieldDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "MasterFieldDialogProps", - "isClientComponent": true, - "lineCount": 306 - }, - { - "name": "MaterialForm", - "fileName": "MaterialForm.tsx", - "filePath": "src/components/items/ItemForm/forms/MaterialForm.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "MaterialFormProps", - "isClientComponent": false, - "lineCount": 354 - }, - { - "name": "MultiSelectField", - "fileName": "MultiSelectField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/MultiSelectField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 192 - }, - { - "name": "NumberField", - "fileName": "NumberField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/NumberField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 58 - }, - { - "name": "OptionDialog", - "fileName": "OptionDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/OptionDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "OptionDialogProps", - "isClientComponent": true, - "lineCount": 262 - }, - { - "name": "PageDialog", - "fileName": "PageDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/PageDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PageDialogProps", - "isClientComponent": true, - "lineCount": 107 - }, - { - "name": "PartForm", - "fileName": "PartForm.tsx", - "filePath": "src/components/items/ItemForm/forms/PartForm.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "PartFormProps", - "isClientComponent": false, - "lineCount": 273 - }, - { - "name": "PathEditDialog", - "fileName": "PathEditDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/PathEditDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PathEditDialogProps", - "isClientComponent": true, - "lineCount": 86 - }, - { - "name": "ProductForm", - "fileName": "ProductForm.tsx", - "filePath": "src/components/items/ItemForm/forms/ProductForm.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "both", - "hasProps": true, - "propsName": "ProductFormProps", - "isClientComponent": false, - "lineCount": 307 - }, - { - "name": "PurchasedPartForm", - "fileName": "PurchasedPartForm.tsx", - "filePath": "src/components/items/ItemForm/forms/parts/PurchasedPartForm.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "PurchasedPartFormProps", - "isClientComponent": false, - "lineCount": 336 - }, - { - "name": "RadioField", - "fileName": "RadioField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/RadioField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 92 - }, - { - "name": "ReferenceField", - "fileName": "ReferenceField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/ReferenceField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 168 - }, - { - "name": "SectionDialog", - "fileName": "SectionDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/SectionDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SectionDialogProps", - "isClientComponent": true, - "lineCount": 335 - }, - { - "name": "SectionsTab", - "fileName": "SectionsTab.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/tabs/SectionsTab.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SectionsTabProps", - "isClientComponent": true, - "lineCount": 363 - }, - { - "name": "SectionTemplateDialog", - "fileName": "SectionTemplateDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/SectionTemplateDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SectionTemplateDialogProps", - "isClientComponent": true, - "lineCount": 180 - }, - { - "name": "TableCellRenderer", - "fileName": "TableCellRenderer.tsx", - "filePath": "src/components/items/DynamicItemForm/sections/TableCellRenderer.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": true, - "propsName": "TableCellRendererProps", - "isClientComponent": true, - "lineCount": 85 - }, - { - "name": "TabManagementDialogs", - "fileName": "TabManagementDialogs.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/TabManagementDialogs.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "TabManagementDialogsProps", - "isClientComponent": true, - "lineCount": 409 - }, - { - "name": "TemplateFieldDialog", - "fileName": "TemplateFieldDialog.tsx", - "filePath": "src/components/items/ItemMasterDataManagement/dialogs/TemplateFieldDialog.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemMasterDataManagement", - "exportType": "named", - "hasProps": true, - "propsName": "TemplateFieldDialogProps", - "isClientComponent": true, - "lineCount": 392 - }, - { - "name": "TextareaField", - "fileName": "TextareaField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/TextareaField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 51 - }, - { - "name": "TextField", - "fileName": "TextField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/TextField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 48 - }, - { - "name": "ToggleField", - "fileName": "ToggleField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/ToggleField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 62 - }, - { - "name": "UnitValueField", - "fileName": "UnitValueField.tsx", - "filePath": "src/components/items/DynamicItemForm/fields/UnitValueField.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 129 - }, - { - "name": "ValidationAlert", - "fileName": "ValidationAlert.tsx", - "filePath": "src/components/items/DynamicItemForm/components/ValidationAlert.tsx", - "tier": "domain", - "category": "items", - "subcategory": "DynamicItemForm", - "exportType": "named", - "hasProps": true, - "propsName": "ValidationAlertProps", - "isClientComponent": true, - "lineCount": 42 - }, - { - "name": "ValidationAlert", - "fileName": "ValidationAlert.tsx", - "filePath": "src/components/items/ItemForm/ValidationAlert.tsx", - "tier": "domain", - "category": "items", - "subcategory": "ItemForm", - "exportType": "default", - "hasProps": true, - "propsName": "ValidationAlertProps", - "isClientComponent": false, - "lineCount": 50 - }, - { - "name": "LanguageSelect", - "fileName": "LanguageSelect.tsx", - "filePath": "src/components/LanguageSelect.tsx", - "tier": "domain", - "category": "LanguageSelect.tsx", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "LanguageSelectProps", - "isClientComponent": true, - "lineCount": 90 - }, - { - "name": "ImportInspectionInputModal", - "fileName": "ImportInspectionInputModal.tsx", - "filePath": "src/components/material/ReceivingManagement/ImportInspectionInputModal.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ImportInspectionInputModalProps", - "isClientComponent": true, - "lineCount": 798 - }, - { - "name": "InspectionCreate", - "fileName": "InspectionCreate.tsx", - "filePath": "src/components/material/ReceivingManagement/InspectionCreate.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 364 - }, - { - "name": "InventoryAdjustmentDialog", - "fileName": "InventoryAdjustmentDialog.tsx", - "filePath": "src/components/material/ReceivingManagement/InventoryAdjustmentDialog.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 236 - }, - { - "name": "ReceivingDetail", - "fileName": "ReceivingDetail.tsx", - "filePath": "src/components/material/ReceivingManagement/ReceivingDetail.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 921 - }, - { - "name": "ReceivingList", - "fileName": "ReceivingList.tsx", - "filePath": "src/components/material/ReceivingManagement/ReceivingList.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 467 - }, - { - "name": "ReceivingProcessDialog", - "fileName": "ReceivingProcessDialog.tsx", - "filePath": "src/components/material/ReceivingManagement/ReceivingProcessDialog.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 238 - }, - { - "name": "ReceivingReceiptContent", - "fileName": "ReceivingReceiptContent.tsx", - "filePath": "src/components/material/ReceivingManagement/ReceivingReceiptContent.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ReceivingReceiptContentProps", - "isClientComponent": true, - "lineCount": 132 - }, - { - "name": "ReceivingReceiptDialog", - "fileName": "ReceivingReceiptDialog.tsx", - "filePath": "src/components/material/ReceivingManagement/ReceivingReceiptDialog.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 46 - }, - { - "name": "StockAuditModal", - "fileName": "StockAuditModal.tsx", - "filePath": "src/components/material/StockStatus/StockAuditModal.tsx", - "tier": "domain", - "category": "material", - "subcategory": "StockStatus", - "exportType": "named", - "hasProps": true, - "propsName": "StockAuditModalProps", - "isClientComponent": true, - "lineCount": 237 - }, - { - "name": "StockStatusDetail", - "fileName": "StockStatusDetail.tsx", - "filePath": "src/components/material/StockStatus/StockStatusDetail.tsx", - "tier": "domain", - "category": "material", - "subcategory": "StockStatus", - "exportType": "named", - "hasProps": true, - "propsName": "StockStatusDetailProps", - "isClientComponent": true, - "lineCount": 313 - }, - { - "name": "StockStatusList", - "fileName": "StockStatusList.tsx", - "filePath": "src/components/material/StockStatus/StockStatusList.tsx", - "tier": "domain", - "category": "material", - "subcategory": "StockStatus", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 473 - }, - { - "name": "SuccessDialog", - "fileName": "SuccessDialog.tsx", - "filePath": "src/components/material/ReceivingManagement/SuccessDialog.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 49 - }, - { - "name": "SupplierSearchModal", - "fileName": "SupplierSearchModal.tsx", - "filePath": "src/components/material/ReceivingManagement/SupplierSearchModal.tsx", - "tier": "domain", - "category": "material", - "subcategory": "ReceivingManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SupplierSearchModalProps", - "isClientComponent": true, - "lineCount": 161 - }, - { - "name": "ContractDocument", - "fileName": "ContractDocument.tsx", - "filePath": "src/components/orders/documents/ContractDocument.tsx", - "tier": "domain", - "category": "orders", - "subcategory": "documents", - "exportType": "named", - "hasProps": true, - "propsName": "ContractDocumentProps", - "isClientComponent": true, - "lineCount": 246 - }, - { - "name": "ItemAddDialog", - "fileName": "ItemAddDialog.tsx", - "filePath": "src/components/orders/ItemAddDialog.tsx", - "tier": "domain", - "category": "orders", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ItemAddDialogProps", - "isClientComponent": true, - "lineCount": 317 - }, - { - "name": "OrderDocumentModal", - "fileName": "OrderDocumentModal.tsx", - "filePath": "src/components/orders/documents/OrderDocumentModal.tsx", - "tier": "domain", - "category": "orders", - "subcategory": "documents", - "exportType": "named", - "hasProps": true, - "propsName": "OrderDocumentModalProps", - "isClientComponent": true, - "lineCount": 207 - }, - { - "name": "OrderRegistration", - "fileName": "OrderRegistration.tsx", - "filePath": "src/components/orders/OrderRegistration.tsx", - "tier": "domain", - "category": "orders", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "OrderRegistrationProps", - "isClientComponent": true, - "lineCount": 1087 - }, - { - "name": "OrderSalesDetailEdit", - "fileName": "OrderSalesDetailEdit.tsx", - "filePath": "src/components/orders/OrderSalesDetailEdit.tsx", - "tier": "domain", - "category": "orders", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "OrderSalesDetailEditProps", - "isClientComponent": true, - "lineCount": 735 - }, - { - "name": "OrderSalesDetailView", - "fileName": "OrderSalesDetailView.tsx", - "filePath": "src/components/orders/OrderSalesDetailView.tsx", - "tier": "domain", - "category": "orders", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "OrderSalesDetailViewProps", - "isClientComponent": true, - "lineCount": 824 - }, - { - "name": "PurchaseOrderDocument", - "fileName": "PurchaseOrderDocument.tsx", - "filePath": "src/components/orders/documents/PurchaseOrderDocument.tsx", - "tier": "domain", - "category": "orders", - "subcategory": "documents", - "exportType": "named", - "hasProps": true, - "propsName": "PurchaseOrderDocumentProps", - "isClientComponent": true, - "lineCount": 223 - }, - { - "name": "QuotationSelectDialog", - "fileName": "QuotationSelectDialog.tsx", - "filePath": "src/components/orders/QuotationSelectDialog.tsx", - "tier": "domain", - "category": "orders", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuotationSelectDialogProps", - "isClientComponent": true, - "lineCount": 114 - }, - { - "name": "SalesOrderDocument", - "fileName": "SalesOrderDocument.tsx", - "filePath": "src/components/orders/documents/SalesOrderDocument.tsx", - "tier": "domain", - "category": "orders", - "subcategory": "documents", - "exportType": "named", - "hasProps": true, - "propsName": "SalesOrderDocumentProps", - "isClientComponent": true, - "lineCount": 638 - }, - { - "name": "TransactionDocument", - "fileName": "TransactionDocument.tsx", - "filePath": "src/components/orders/documents/TransactionDocument.tsx", - "tier": "domain", - "category": "orders", - "subcategory": "documents", - "exportType": "named", - "hasProps": true, - "propsName": "TransactionDocumentProps", - "isClientComponent": true, - "lineCount": 226 - }, - { - "name": "DeliveryConfirmation", - "fileName": "DeliveryConfirmation.tsx", - "filePath": "src/components/outbound/ShipmentManagement/documents/DeliveryConfirmation.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": true, - "propsName": "DeliveryConfirmationProps", - "isClientComponent": true, - "lineCount": 18 - }, - { - "name": "ShipmentCreate", - "fileName": "ShipmentCreate.tsx", - "filePath": "src/components/outbound/ShipmentManagement/ShipmentCreate.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 772 - }, - { - "name": "ShipmentDetail", - "fileName": "ShipmentDetail.tsx", - "filePath": "src/components/outbound/ShipmentManagement/ShipmentDetail.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ShipmentDetailProps", - "isClientComponent": true, - "lineCount": 671 - }, - { - "name": "ShipmentEdit", - "fileName": "ShipmentEdit.tsx", - "filePath": "src/components/outbound/ShipmentManagement/ShipmentEdit.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ShipmentEditProps", - "isClientComponent": true, - "lineCount": 791 - }, - { - "name": "ShipmentList", - "fileName": "ShipmentList.tsx", - "filePath": "src/components/outbound/ShipmentManagement/ShipmentList.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 399 - }, - { - "name": "ShipmentOrderDocument", - "fileName": "ShipmentOrderDocument.tsx", - "filePath": "src/components/outbound/ShipmentManagement/documents/ShipmentOrderDocument.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ShipmentOrderDocumentProps", - "isClientComponent": true, - "lineCount": 647 - }, - { - "name": "ShippingSlip", - "fileName": "ShippingSlip.tsx", - "filePath": "src/components/outbound/ShipmentManagement/documents/ShippingSlip.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ShippingSlipProps", - "isClientComponent": true, - "lineCount": 18 - }, - { - "name": "TransactionStatement", - "fileName": "TransactionStatement.tsx", - "filePath": "src/components/outbound/ShipmentManagement/documents/TransactionStatement.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "ShipmentManagement", - "exportType": "named", - "hasProps": true, - "propsName": "TransactionStatementProps", - "isClientComponent": true, - "lineCount": 154 - }, - { - "name": "VehicleDispatchDetail", - "fileName": "VehicleDispatchDetail.tsx", - "filePath": "src/components/outbound/VehicleDispatchManagement/VehicleDispatchDetail.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "VehicleDispatchManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VehicleDispatchDetailProps", - "isClientComponent": true, - "lineCount": 181 - }, - { - "name": "VehicleDispatchEdit", - "fileName": "VehicleDispatchEdit.tsx", - "filePath": "src/components/outbound/VehicleDispatchManagement/VehicleDispatchEdit.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "VehicleDispatchManagement", - "exportType": "named", - "hasProps": true, - "propsName": "VehicleDispatchEditProps", - "isClientComponent": true, - "lineCount": 399 - }, - { - "name": "VehicleDispatchList", - "fileName": "VehicleDispatchList.tsx", - "filePath": "src/components/outbound/VehicleDispatchManagement/VehicleDispatchList.tsx", - "tier": "domain", - "category": "outbound", - "subcategory": "VehicleDispatchManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 331 - }, - { - "name": "PricingFinalizeDialog", - "fileName": "PricingFinalizeDialog.tsx", - "filePath": "src/components/pricing/PricingFinalizeDialog.tsx", - "tier": "domain", - "category": "pricing", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "PricingFinalizeDialogProps", - "isClientComponent": true, - "lineCount": 95 - }, - { - "name": "PricingFormClient", - "fileName": "PricingFormClient.tsx", - "filePath": "src/components/pricing/PricingFormClient.tsx", - "tier": "domain", - "category": "pricing", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "PricingFormClientProps", - "isClientComponent": true, - "lineCount": 780 - }, - { - "name": "PricingHistoryDialog", - "fileName": "PricingHistoryDialog.tsx", - "filePath": "src/components/pricing/PricingHistoryDialog.tsx", - "tier": "domain", - "category": "pricing", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "PricingHistoryDialogProps", - "isClientComponent": true, - "lineCount": 170 - }, - { - "name": "PricingListClient", - "fileName": "PricingListClient.tsx", - "filePath": "src/components/pricing/PricingListClient.tsx", - "tier": "domain", - "category": "pricing", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "PricingListClientProps", - "isClientComponent": true, - "lineCount": 387 - }, - { - "name": "PricingRevisionDialog", - "fileName": "PricingRevisionDialog.tsx", - "filePath": "src/components/pricing/PricingRevisionDialog.tsx", - "tier": "domain", - "category": "pricing", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "PricingRevisionDialogProps", - "isClientComponent": true, - "lineCount": 95 - }, - { - "name": "PriceDistributionDetail", - "fileName": "PriceDistributionDetail.tsx", - "filePath": "src/components/pricing-distribution/PriceDistributionDetail.tsx", - "tier": "domain", - "category": "pricing-distribution", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 539 - }, - { - "name": "PriceDistributionDocumentModal", - "fileName": "PriceDistributionDocumentModal.tsx", - "filePath": "src/components/pricing-distribution/PriceDistributionDocumentModal.tsx", - "tier": "domain", - "category": "pricing-distribution", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "Props", - "isClientComponent": true, - "lineCount": 158 - }, - { - "name": "PriceDistributionList", - "fileName": "PriceDistributionList.tsx", - "filePath": "src/components/pricing-distribution/PriceDistributionList.tsx", - "tier": "domain", - "category": "pricing-distribution", - "subcategory": null, - "exportType": "both", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 328 - }, - { - "name": "PricingTableDetailClient", - "fileName": "PricingTableDetailClient.tsx", - "filePath": "src/components/pricing-table-management/PricingTableDetailClient.tsx", - "tier": "domain", - "category": "pricing-table-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "PricingTableDetailClientProps", - "isClientComponent": true, - "lineCount": 93 - }, - { - "name": "PricingTableForm", - "fileName": "PricingTableForm.tsx", - "filePath": "src/components/pricing-table-management/PricingTableForm.tsx", - "tier": "domain", - "category": "pricing-table-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "PricingTableFormProps", - "isClientComponent": true, - "lineCount": 486 - }, - { - "name": "PricingTableListClient", - "fileName": "PricingTableListClient.tsx", - "filePath": "src/components/pricing-table-management/PricingTableListClient.tsx", - "tier": "domain", - "category": "pricing-table-management", - "subcategory": null, - "exportType": "default", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 381 - }, - { - "name": "InspectionPreviewModal", - "fileName": "InspectionPreviewModal.tsx", - "filePath": "src/components/process-management/InspectionPreviewModal.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "InspectionPreviewModalProps", - "isClientComponent": true, - "lineCount": 265 - }, - { - "name": "InspectionSettingModal", - "fileName": "InspectionSettingModal.tsx", - "filePath": "src/components/process-management/InspectionSettingModal.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "InspectionSettingModalProps", - "isClientComponent": true, - "lineCount": 294 - }, - { - "name": "ProcessDetail", - "fileName": "ProcessDetail.tsx", - "filePath": "src/components/process-management/ProcessDetail.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ProcessDetailProps", - "isClientComponent": true, - "lineCount": 451 - }, - { - "name": "ProcessDetailClientV2", - "fileName": "ProcessDetailClientV2.tsx", - "filePath": "src/components/process-management/ProcessDetailClientV2.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ProcessDetailClientV2Props", - "isClientComponent": true, - "lineCount": 137 - }, - { - "name": "ProcessForm", - "fileName": "ProcessForm.tsx", - "filePath": "src/components/process-management/ProcessForm.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ProcessFormProps", - "isClientComponent": true, - "lineCount": 829 - }, - { - "name": "ProcessListClient", - "fileName": "ProcessListClient.tsx", - "filePath": "src/components/process-management/ProcessListClient.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "ProcessListClientProps", - "isClientComponent": true, - "lineCount": 546 - }, - { - "name": "ProcessWorkLogContent", - "fileName": "ProcessWorkLogContent.tsx", - "filePath": "src/components/process-management/ProcessWorkLogContent.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ProcessWorkLogContentProps", - "isClientComponent": true, - "lineCount": 136 - }, - { - "name": "ProcessWorkLogPreviewModal", - "fileName": "ProcessWorkLogPreviewModal.tsx", - "filePath": "src/components/process-management/ProcessWorkLogPreviewModal.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ProcessWorkLogPreviewModalProps", - "isClientComponent": true, - "lineCount": 45 - }, - { - "name": "RuleModal", - "fileName": "RuleModal.tsx", - "filePath": "src/components/process-management/RuleModal.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "RuleModalProps", - "isClientComponent": true, - "lineCount": 352 - }, - { - "name": "StepDetail", - "fileName": "StepDetail.tsx", - "filePath": "src/components/process-management/StepDetail.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "StepDetailProps", - "isClientComponent": true, - "lineCount": 212 - }, - { - "name": "StepDetailClient", - "fileName": "StepDetailClient.tsx", - "filePath": "src/components/process-management/StepDetailClient.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "StepDetailClientProps", - "isClientComponent": true, - "lineCount": 115 - }, - { - "name": "StepForm", - "fileName": "StepForm.tsx", - "filePath": "src/components/process-management/StepForm.tsx", - "tier": "domain", - "category": "process-management", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "StepFormProps", - "isClientComponent": true, - "lineCount": 397 - }, - { - "name": "AssigneeSelectModal", - "fileName": "AssigneeSelectModal.tsx", - "filePath": "src/components/production/WorkOrders/AssigneeSelectModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "AssigneeSelectModalProps", - "isClientComponent": true, - "lineCount": 317 - }, - { - "name": "BendingInspectionContent", - "fileName": "BendingInspectionContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/BendingInspectionContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "BendingInspectionContentProps", - "isClientComponent": true, - "lineCount": 490 - }, - { - "name": "BendingWipInspectionContent", - "fileName": "BendingWipInspectionContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/BendingWipInspectionContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "BendingWipInspectionContentProps", - "isClientComponent": true, - "lineCount": 304 - }, - { - "name": "BendingWorkLogContent", - "fileName": "BendingWorkLogContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/BendingWorkLogContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "BendingWorkLogContentProps", - "isClientComponent": true, - "lineCount": 194 - }, - { - "name": "CompletionConfirmDialog", - "fileName": "CompletionConfirmDialog.tsx", - "filePath": "src/components/production/WorkerScreen/CompletionConfirmDialog.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "CompletionConfirmDialogProps", - "isClientComponent": true, - "lineCount": 64 - }, - { - "name": "CompletionToast", - "fileName": "CompletionToast.tsx", - "filePath": "src/components/production/WorkerScreen/CompletionToast.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "CompletionToastProps", - "isClientComponent": true, - "lineCount": 28 - }, - { - "name": "InspectionCheckbox", - "fileName": "inspection-shared.tsx", - "filePath": "src/components/production/WorkOrders/documents/inspection-shared.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 282 - }, - { - "name": "InspectionInputModal", - "fileName": "InspectionInputModal.tsx", - "filePath": "src/components/production/WorkerScreen/InspectionInputModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "InspectionInputModalProps", - "isClientComponent": true, - "lineCount": 978 - }, - { - "name": "InspectionReportModal", - "fileName": "InspectionReportModal.tsx", - "filePath": "src/components/production/WorkOrders/documents/InspectionReportModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "InspectionReportModalProps", - "isClientComponent": true, - "lineCount": 409 - }, - { - "name": "IssueReportModal", - "fileName": "IssueReportModal.tsx", - "filePath": "src/components/production/WorkerScreen/IssueReportModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "IssueReportModalProps", - "isClientComponent": true, - "lineCount": 178 - }, - { - "name": "MaterialInputModal", - "fileName": "MaterialInputModal.tsx", - "filePath": "src/components/production/WorkerScreen/MaterialInputModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "MaterialInputModalProps", - "isClientComponent": true, - "lineCount": 333 - }, - { - "name": "ProcessDetailSection", - "fileName": "ProcessDetailSection.tsx", - "filePath": "src/components/production/WorkerScreen/ProcessDetailSection.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "ProcessDetailSectionProps", - "isClientComponent": true, - "lineCount": 392 - }, - { - "name": "SalesOrderSelectModal", - "fileName": "SalesOrderSelectModal.tsx", - "filePath": "src/components/production/WorkOrders/SalesOrderSelectModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "SalesOrderSelectModalProps", - "isClientComponent": true, - "lineCount": 102 - }, - { - "name": "ScreenInspectionContent", - "fileName": "ScreenInspectionContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/ScreenInspectionContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "ScreenInspectionContentProps", - "isClientComponent": true, - "lineCount": 310 - }, - { - "name": "ScreenWorkLogContent", - "fileName": "ScreenWorkLogContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/ScreenWorkLogContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "ScreenWorkLogContentProps", - "isClientComponent": true, - "lineCount": 201 - }, - { - "name": "SlatInspectionContent", - "fileName": "SlatInspectionContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/SlatInspectionContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "SlatInspectionContentProps", - "isClientComponent": true, - "lineCount": 297 - }, - { - "name": "SlatJointBarInspectionContent", - "fileName": "SlatJointBarInspectionContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/SlatJointBarInspectionContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "SlatJointBarInspectionContentProps", - "isClientComponent": true, - "lineCount": 311 - }, - { - "name": "SlatWorkLogContent", - "fileName": "SlatWorkLogContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/SlatWorkLogContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "SlatWorkLogContentProps", - "isClientComponent": true, - "lineCount": 198 - }, - { - "name": "TemplateInspectionContent", - "fileName": "TemplateInspectionContent.tsx", - "filePath": "src/components/production/WorkOrders/documents/TemplateInspectionContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "TemplateInspectionContentProps", - "isClientComponent": true, - "lineCount": 719 - }, - { - "name": "WipProductionModal", - "fileName": "WipProductionModal.tsx", - "filePath": "src/components/production/WorkOrders/WipProductionModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "WipProductionModalProps", - "isClientComponent": true, - "lineCount": 272 - }, - { - "name": "WorkCard", - "fileName": "WorkCard.tsx", - "filePath": "src/components/production/WorkerScreen/WorkCard.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "WorkCardProps", - "isClientComponent": true, - "lineCount": 188 - }, - { - "name": "WorkCompletionResultDialog", - "fileName": "WorkCompletionResultDialog.tsx", - "filePath": "src/components/production/WorkerScreen/WorkCompletionResultDialog.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "WorkCompletionResultDialogProps", - "isClientComponent": true, - "lineCount": 85 - }, - { - "name": "WorkItemCard", - "fileName": "WorkItemCard.tsx", - "filePath": "src/components/production/WorkerScreen/WorkItemCard.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "WorkItemCardProps", - "isClientComponent": true, - "lineCount": 382 - }, - { - "name": "WorkLogContent", - "fileName": "WorkLogContent.tsx", - "filePath": "src/components/production/WorkerScreen/WorkLogContent.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "WorkLogContentProps", - "isClientComponent": true, - "lineCount": 195 - }, - { - "name": "WorkLogModal", - "fileName": "WorkLogModal.tsx", - "filePath": "src/components/production/WorkerScreen/WorkLogModal.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "WorkLogModalProps", - "isClientComponent": true, - "lineCount": 152 - }, - { - "name": "WorkOrderCreate", - "fileName": "WorkOrderCreate.tsx", - "filePath": "src/components/production/WorkOrders/WorkOrderCreate.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 545 - }, - { - "name": "WorkOrderDetail", - "fileName": "WorkOrderDetail.tsx", - "filePath": "src/components/production/WorkOrders/WorkOrderDetail.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "WorkOrderDetailProps", - "isClientComponent": true, - "lineCount": 656 - }, - { - "name": "WorkOrderEdit", - "fileName": "WorkOrderEdit.tsx", - "filePath": "src/components/production/WorkOrders/WorkOrderEdit.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": true, - "propsName": "WorkOrderEditProps", - "isClientComponent": true, - "lineCount": 656 - }, - { - "name": "WorkOrderList", - "fileName": "WorkOrderList.tsx", - "filePath": "src/components/production/WorkOrders/WorkOrderList.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkOrders", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 460 - }, - { - "name": "WorkOrderListPanel", - "fileName": "WorkOrderListPanel.tsx", - "filePath": "src/components/production/WorkerScreen/WorkOrderListPanel.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkerScreen", - "exportType": "named", - "hasProps": true, - "propsName": "WorkOrderListPanelProps", - "isClientComponent": true, - "lineCount": 132 - }, - { - "name": "WorkResultList", - "fileName": "WorkResultList.tsx", - "filePath": "src/components/production/WorkResults/WorkResultList.tsx", - "tier": "domain", - "category": "production", - "subcategory": "WorkResults", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 374 - }, - { - "name": "InspectionCreate", - "fileName": "InspectionCreate.tsx", - "filePath": "src/components/quality/InspectionManagement/InspectionCreate.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 695 - }, - { - "name": "InspectionDetail", - "fileName": "InspectionDetail.tsx", - "filePath": "src/components/quality/InspectionManagement/InspectionDetail.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "InspectionDetailProps", - "isClientComponent": true, - "lineCount": 1126 - }, - { - "name": "InspectionList", - "fileName": "InspectionList.tsx", - "filePath": "src/components/quality/InspectionManagement/InspectionList.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 388 - }, - { - "name": "InspectionReportDocument", - "fileName": "InspectionReportDocument.tsx", - "filePath": "src/components/quality/InspectionManagement/documents/InspectionReportDocument.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "InspectionReportDocumentProps", - "isClientComponent": true, - "lineCount": 416 - }, - { - "name": "InspectionReportModal", - "fileName": "InspectionReportModal.tsx", - "filePath": "src/components/quality/InspectionManagement/documents/InspectionReportModal.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "InspectionReportModalProps", - "isClientComponent": true, - "lineCount": 170 - }, - { - "name": "InspectionRequestDocument", - "fileName": "InspectionRequestDocument.tsx", - "filePath": "src/components/quality/InspectionManagement/documents/InspectionRequestDocument.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "InspectionRequestDocumentProps", - "isClientComponent": true, - "lineCount": 258 - }, - { - "name": "InspectionRequestModal", - "fileName": "InspectionRequestModal.tsx", - "filePath": "src/components/quality/InspectionManagement/documents/InspectionRequestModal.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "InspectionRequestModalProps", - "isClientComponent": true, - "lineCount": 40 - }, - { - "name": "MemoModal", - "fileName": "MemoModal.tsx", - "filePath": "src/components/quality/PerformanceReportManagement/MemoModal.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "PerformanceReportManagement", - "exportType": "named", - "hasProps": true, - "propsName": "MemoModalProps", - "isClientComponent": true, - "lineCount": 92 - }, - { - "name": "OrderSelectModal", - "fileName": "OrderSelectModal.tsx", - "filePath": "src/components/quality/InspectionManagement/OrderSelectModal.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "OrderSelectModalProps", - "isClientComponent": true, - "lineCount": 111 - }, - { - "name": "PerformanceReportList", - "fileName": "PerformanceReportList.tsx", - "filePath": "src/components/quality/PerformanceReportManagement/PerformanceReportList.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "PerformanceReportManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 604 - }, - { - "name": "ProductInspectionInputModal", - "fileName": "ProductInspectionInputModal.tsx", - "filePath": "src/components/quality/InspectionManagement/ProductInspectionInputModal.tsx", - "tier": "domain", - "category": "quality", - "subcategory": "InspectionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "ProductInspectionInputModalProps", - "isClientComponent": true, - "lineCount": 486 - }, - { - "name": "DiscountModal", - "fileName": "DiscountModal.tsx", - "filePath": "src/components/quotes/DiscountModal.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "DiscountModalProps", - "isClientComponent": true, - "lineCount": 232 - }, - { - "name": "FormulaViewModal", - "fileName": "FormulaViewModal.tsx", - "filePath": "src/components/quotes/FormulaViewModal.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "FormulaViewModalProps", - "isClientComponent": true, - "lineCount": 316 - }, - { - "name": "ItemSearchModal", - "fileName": "ItemSearchModal.tsx", - "filePath": "src/components/quotes/ItemSearchModal.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ItemSearchModalProps", - "isClientComponent": true, - "lineCount": 114 - }, - { - "name": "LocationDetailPanel", - "fileName": "LocationDetailPanel.tsx", - "filePath": "src/components/quotes/LocationDetailPanel.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "LocationDetailPanelProps", - "isClientComponent": true, - "lineCount": 827 - }, - { - "name": "LocationEditModal", - "fileName": "LocationEditModal.tsx", - "filePath": "src/components/quotes/LocationEditModal.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "LocationEditModalProps", - "isClientComponent": true, - "lineCount": 283 - }, - { - "name": "LocationListPanel", - "fileName": "LocationListPanel.tsx", - "filePath": "src/components/quotes/LocationListPanel.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "LocationListPanelProps", - "isClientComponent": true, - "lineCount": 575 - }, - { - "name": "PurchaseOrderDocument", - "fileName": "PurchaseOrderDocument.tsx", - "filePath": "src/components/quotes/PurchaseOrderDocument.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "PurchaseOrderDocumentProps", - "isClientComponent": false, - "lineCount": 265 - }, - { - "name": "QuoteDocument", - "fileName": "QuoteDocument.tsx", - "filePath": "src/components/quotes/QuoteDocument.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuoteDocumentProps", - "isClientComponent": false, - "lineCount": 409 - }, - { - "name": "QuoteFooterBar", - "fileName": "QuoteFooterBar.tsx", - "filePath": "src/components/quotes/QuoteFooterBar.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuoteFooterBarProps", - "isClientComponent": true, - "lineCount": 236 - }, - { - "name": "QuoteManagementClient", - "fileName": "QuoteManagementClient.tsx", - "filePath": "src/components/quotes/QuoteManagementClient.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuoteManagementClientProps", - "isClientComponent": true, - "lineCount": 713 - }, - { - "name": "QuotePreviewContent", - "fileName": "QuotePreviewContent.tsx", - "filePath": "src/components/quotes/QuotePreviewContent.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuotePreviewContentProps", - "isClientComponent": true, - "lineCount": 434 - }, - { - "name": "QuotePreviewModal", - "fileName": "QuotePreviewModal.tsx", - "filePath": "src/components/quotes/QuotePreviewModal.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuotePreviewModalProps", - "isClientComponent": true, - "lineCount": 132 - }, - { - "name": "QuoteRegistration", - "fileName": "QuoteRegistration.tsx", - "filePath": "src/components/quotes/QuoteRegistration.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuoteRegistrationProps", - "isClientComponent": true, - "lineCount": 1023 - }, - { - "name": "QuoteSummaryPanel", - "fileName": "QuoteSummaryPanel.tsx", - "filePath": "src/components/quotes/QuoteSummaryPanel.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuoteSummaryPanelProps", - "isClientComponent": true, - "lineCount": 277 - }, - { - "name": "QuoteTransactionModal", - "fileName": "QuoteTransactionModal.tsx", - "filePath": "src/components/quotes/QuoteTransactionModal.tsx", - "tier": "domain", - "category": "quotes", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "QuoteTransactionModalProps", - "isClientComponent": true, - "lineCount": 324 - }, - { - "name": "AccountDetail", - "fileName": "AccountDetail.tsx", - "filePath": "src/components/settings/AccountManagement/AccountDetail.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "AccountManagement", - "exportType": "named", - "hasProps": true, - "propsName": "AccountDetailProps", - "isClientComponent": true, - "lineCount": 356 - }, - { - "name": "AccountDetail", - "fileName": "AccountDetail.tsx", - "filePath": "src/components/settings/AccountManagement/_legacy/AccountDetail.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "AccountManagement", - "exportType": "named", - "hasProps": true, - "propsName": "AccountDetailProps", - "isClientComponent": true, - "lineCount": 369 - }, - { - "name": "AddCompanyDialog", - "fileName": "AddCompanyDialog.tsx", - "filePath": "src/components/settings/CompanyInfoManagement/AddCompanyDialog.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "CompanyInfoManagement", - "exportType": "named", - "hasProps": true, - "propsName": "AddCompanyDialogProps", - "isClientComponent": true, - "lineCount": 149 - }, - { - "name": "ItemSettingsDialog", - "fileName": "ItemSettingsDialog.tsx", - "filePath": "src/components/settings/NotificationSettings/ItemSettingsDialog.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "NotificationSettings", - "exportType": "named", - "hasProps": true, - "propsName": "ItemSettingsDialogProps", - "isClientComponent": true, - "lineCount": 336 - }, - { - "name": "PaymentHistoryClient", - "fileName": "PaymentHistoryClient.tsx", - "filePath": "src/components/settings/PaymentHistoryManagement/PaymentHistoryClient.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PaymentHistoryManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PaymentHistoryClientProps", - "isClientComponent": true, - "lineCount": 255 - }, - { - "name": "PermissionDetail", - "fileName": "PermissionDetail.tsx", - "filePath": "src/components/settings/PermissionManagement/PermissionDetail.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PermissionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PermissionDetailProps", - "isClientComponent": true, - "lineCount": 456 - }, - { - "name": "PermissionDetailClient", - "fileName": "PermissionDetailClient.tsx", - "filePath": "src/components/settings/PermissionManagement/PermissionDetailClient.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PermissionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PermissionDetailClientProps", - "isClientComponent": true, - "lineCount": 700 - }, - { - "name": "PermissionDialog", - "fileName": "PermissionDialog.tsx", - "filePath": "src/components/settings/PermissionManagement/PermissionDialog.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PermissionManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 109 - }, - { - "name": "PopupDetail", - "fileName": "PopupDetail.tsx", - "filePath": "src/components/settings/PopupManagement/PopupDetail.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PopupManagement", - "exportType": "both", - "hasProps": true, - "propsName": "PopupDetailProps", - "isClientComponent": true, - "lineCount": 125 - }, - { - "name": "PopupDetailClientV2", - "fileName": "PopupDetailClientV2.tsx", - "filePath": "src/components/settings/PopupManagement/PopupDetailClientV2.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PopupManagement", - "exportType": "named", - "hasProps": true, - "propsName": "PopupDetailClientV2Props", - "isClientComponent": true, - "lineCount": 199 - }, - { - "name": "PopupForm", - "fileName": "PopupForm.tsx", - "filePath": "src/components/settings/PopupManagement/PopupForm.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PopupManagement", - "exportType": "both", - "hasProps": true, - "propsName": "PopupFormProps", - "isClientComponent": true, - "lineCount": 319 - }, - { - "name": "PopupList", - "fileName": "PopupList.tsx", - "filePath": "src/components/settings/PopupManagement/PopupList.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "PopupManagement", - "exportType": "both", - "hasProps": true, - "propsName": "PopupListProps", - "isClientComponent": true, - "lineCount": 198 - }, - { - "name": "RankDialog", - "fileName": "RankDialog.tsx", - "filePath": "src/components/settings/RankManagement/RankDialog.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "RankManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 89 - }, - { - "name": "SubscriptionClient", - "fileName": "SubscriptionClient.tsx", - "filePath": "src/components/settings/SubscriptionManagement/SubscriptionClient.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "SubscriptionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SubscriptionClientProps", - "isClientComponent": true, - "lineCount": 242 - }, - { - "name": "SubscriptionManagement", - "fileName": "SubscriptionManagement.tsx", - "filePath": "src/components/settings/SubscriptionManagement/SubscriptionManagement.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "SubscriptionManagement", - "exportType": "named", - "hasProps": true, - "propsName": "SubscriptionManagementProps", - "isClientComponent": true, - "lineCount": 250 - }, - { - "name": "TitleDialog", - "fileName": "TitleDialog.tsx", - "filePath": "src/components/settings/TitleManagement/TitleDialog.tsx", - "tier": "domain", - "category": "settings", - "subcategory": "TitleManagement", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 90 - }, - { - "name": "DetailActions", - "fileName": "DetailActions.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/DetailActions.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailActionsProps", - "isClientComponent": true, - "lineCount": 172 - }, - { - "name": "DetailField", - "fileName": "DetailField.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/DetailField.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailFieldProps", - "isClientComponent": true, - "lineCount": 91 - }, - { - "name": "DetailFieldSkeleton", - "fileName": "DetailFieldSkeleton.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/skeletons/DetailFieldSkeleton.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailFieldSkeletonProps", - "isClientComponent": true, - "lineCount": 48 - }, - { - "name": "DetailGrid", - "fileName": "DetailGrid.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/DetailGrid.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailGridProps", - "isClientComponent": true, - "lineCount": 63 - }, - { - "name": "DetailGridSkeleton", - "fileName": "DetailGridSkeleton.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/skeletons/DetailGridSkeleton.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailGridSkeletonProps", - "isClientComponent": true, - "lineCount": 61 - }, - { - "name": "DetailSection", - "fileName": "DetailSection.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/DetailSection.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailSectionProps", - "isClientComponent": true, - "lineCount": 97 - }, - { - "name": "DetailSectionSkeleton", - "fileName": "DetailSectionSkeleton.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/skeletons/DetailSectionSkeleton.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailSectionSkeletonProps", - "isClientComponent": true, - "lineCount": 53 - }, - { - "name": "DetailSectionSkeleton", - "fileName": "skeletons.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/components/skeletons.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "DetailFieldSkeletonProps", - "isClientComponent": true, - "lineCount": 183 - }, - { - "name": "FieldInput", - "fileName": "FieldInput.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/FieldInput.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "both", - "hasProps": true, - "propsName": "FieldInputProps", - "isClientComponent": true, - "lineCount": 408 - }, - { - "name": "FieldRenderer", - "fileName": "FieldRenderer.tsx", - "filePath": "src/components/templates/IntegratedDetailTemplate/FieldRenderer.tsx", - "tier": "domain", - "category": "templates", - "subcategory": "IntegratedDetailTemplate", - "exportType": "named", - "hasProps": true, - "propsName": "FieldRendererProps", - "isClientComponent": true, - "lineCount": 390 - }, - { - "name": "IntegratedListTemplateV2", - "fileName": "IntegratedListTemplateV2.tsx", - "filePath": "src/components/templates/IntegratedListTemplateV2.tsx", - "tier": "domain", - "category": "templates", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "IntegratedListTemplateV2Props", - "isClientComponent": true, - "lineCount": 1087 - }, - { - "name": "ThemeSelect", - "fileName": "ThemeSelect.tsx", - "filePath": "src/components/ThemeSelect.tsx", - "tier": "domain", - "category": "ThemeSelect.tsx", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ThemeSelectProps", - "isClientComponent": true, - "lineCount": 82 - }, - { - "name": "Config", - "fileName": "config.tsx", - "filePath": "src/components/vehicle-management/ForkliftDetail/config.tsx", - "tier": "domain", - "category": "vehicle-management", - "subcategory": "ForkliftDetail", - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 431 - }, - { - "name": "Config", - "fileName": "config.tsx", - "filePath": "src/components/vehicle-management/VehicleDetail/config.tsx", - "tier": "domain", - "category": "vehicle-management", - "subcategory": "VehicleDetail", - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 479 - }, - { - "name": "Config", - "fileName": "config.tsx", - "filePath": "src/components/vehicle-management/VehicleLogDetail/config.tsx", - "tier": "domain", - "category": "vehicle-management", - "subcategory": "VehicleLogDetail", - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 266 - }, - { - "name": "CommandMenuSearch", - "fileName": "CommandMenuSearch.tsx", - "filePath": "src/components/layout/CommandMenuSearch.tsx", - "tier": "layout", - "category": "layout", - "subcategory": null, - "exportType": "default", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 199 - }, - { - "name": "HeaderFavoritesBar", - "fileName": "HeaderFavoritesBar.tsx", - "filePath": "src/components/layout/HeaderFavoritesBar.tsx", - "tier": "layout", - "category": "layout", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "HeaderFavoritesBarProps", - "isClientComponent": true, - "lineCount": 156 - }, - { - "name": "Sidebar", - "fileName": "Sidebar.tsx", - "filePath": "src/components/layout/Sidebar.tsx", - "tier": "layout", - "category": "layout", - "subcategory": null, - "exportType": "default", - "hasProps": true, - "propsName": "SidebarProps", - "isClientComponent": false, - "lineCount": 390 - }, - { - "name": "DateRangeSelector", - "fileName": "DateRangeSelector.tsx", - "filePath": "src/components/molecules/DateRangeSelector.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "DateRangeSelectorProps", - "isClientComponent": true, - "lineCount": 217 - }, - { - "name": "FormField", - "fileName": "FormField.tsx", - "filePath": "src/components/molecules/FormField.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "FormFieldProps", - "isClientComponent": false, - "lineCount": 296 - }, - { - "name": "IconWithBadge", - "fileName": "IconWithBadge.tsx", - "filePath": "src/components/molecules/IconWithBadge.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "IconWithBadgeProps", - "isClientComponent": true, - "lineCount": 51 - }, - { - "name": "MobileFilter", - "fileName": "MobileFilter.tsx", - "filePath": "src/components/molecules/MobileFilter.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "MobileFilterProps", - "isClientComponent": true, - "lineCount": 335 - }, - { - "name": "StandardDialog", - "fileName": "StandardDialog.tsx", - "filePath": "src/components/molecules/StandardDialog.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "StandardDialogProps", - "isClientComponent": true, - "lineCount": 219 - }, - { - "name": "StatusBadge", - "fileName": "StatusBadge.tsx", - "filePath": "src/components/molecules/StatusBadge.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "StatusBadgeProps", - "isClientComponent": true, - "lineCount": 111 - }, - { - "name": "TableActions", - "fileName": "TableActions.tsx", - "filePath": "src/components/molecules/TableActions.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "TableActionsProps", - "isClientComponent": true, - "lineCount": 89 - }, - { - "name": "YearQuarterFilter", - "fileName": "YearQuarterFilter.tsx", - "filePath": "src/components/molecules/YearQuarterFilter.tsx", - "tier": "molecules", - "category": "molecules", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "YearQuarterFilterProps", - "isClientComponent": true, - "lineCount": 98 - }, - { - "name": "DataTable", - "fileName": "DataTable.tsx", - "filePath": "src/components/organisms/DataTable.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "DataTableProps", - "isClientComponent": true, - "lineCount": 363 - }, - { - "name": "EmptyState", - "fileName": "EmptyState.tsx", - "filePath": "src/components/organisms/EmptyState.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "EmptyStateProps", - "isClientComponent": true, - "lineCount": 38 - }, - { - "name": "FormActions", - "fileName": "FormActions.tsx", - "filePath": "src/components/organisms/FormActions.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "FormActionsProps", - "isClientComponent": false, - "lineCount": 74 - }, - { - "name": "FormFieldGrid", - "fileName": "FormFieldGrid.tsx", - "filePath": "src/components/organisms/FormFieldGrid.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "FormFieldGridProps", - "isClientComponent": false, - "lineCount": 35 - }, - { - "name": "FormSection", - "fileName": "FormSection.tsx", - "filePath": "src/components/organisms/FormSection.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "FormSectionProps", - "isClientComponent": false, - "lineCount": 62 - }, - { - "name": "MobileCard", - "fileName": "MobileCard.tsx", - "filePath": "src/components/organisms/MobileCard.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "InfoFieldProps", - "isClientComponent": true, - "lineCount": 347 - }, - { - "name": "PageHeader", - "fileName": "PageHeader.tsx", - "filePath": "src/components/organisms/PageHeader.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "PageHeaderProps", - "isClientComponent": true, - "lineCount": 42 - }, - { - "name": "PageLayout", - "fileName": "PageLayout.tsx", - "filePath": "src/components/organisms/PageLayout.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "PageLayoutProps", - "isClientComponent": true, - "lineCount": 32 - }, - { - "name": "ScreenVersionHistory", - "fileName": "ScreenVersionHistory.tsx", - "filePath": "src/components/organisms/ScreenVersionHistory.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ScreenVersionHistoryProps", - "isClientComponent": true, - "lineCount": 75 - }, - { - "name": "SearchableSelectionModal", - "fileName": "SearchableSelectionModal.tsx", - "filePath": "src/components/organisms/SearchableSelectionModal/SearchableSelectionModal.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": "SearchableSelectionModal", - "exportType": "named", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 253 - }, - { - "name": "SearchFilter", - "fileName": "SearchFilter.tsx", - "filePath": "src/components/organisms/SearchFilter.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "SearchFilterProps", - "isClientComponent": true, - "lineCount": 58 - }, - { - "name": "StatCards", - "fileName": "StatCards.tsx", - "filePath": "src/components/organisms/StatCards.tsx", - "tier": "organisms", - "category": "organisms", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "StatCardsProps", - "isClientComponent": true, - "lineCount": 67 - }, - { - "name": "Accordion", - "fileName": "accordion.tsx", - "filePath": "src/components/ui/accordion.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 66 - }, - { - "name": "AccountNumberInput", - "fileName": "account-number-input.tsx", - "filePath": "src/components/ui/account-number-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "AccountNumberInputProps", - "isClientComponent": true, - "lineCount": 95 - }, - { - "name": "Alert", - "fileName": "alert.tsx", - "filePath": "src/components/ui/alert.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "VariantProps", - "isClientComponent": false, - "lineCount": 59 - }, - { - "name": "AlertDialog", - "fileName": "alert-dialog.tsx", - "filePath": "src/components/ui/alert-dialog.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 158 - }, - { - "name": "Badge", - "fileName": "badge.tsx", - "filePath": "src/components/ui/badge.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "VariantProps", - "isClientComponent": false, - "lineCount": 47 - }, - { - "name": "BusinessNumberInput", - "fileName": "business-number-input.tsx", - "filePath": "src/components/ui/business-number-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "BusinessNumberInputProps", - "isClientComponent": true, - "lineCount": 114 - }, - { - "name": "Button", - "fileName": "button.tsx", - "filePath": "src/components/ui/button.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "VariantProps", - "isClientComponent": false, - "lineCount": 62 - }, - { - "name": "Calendar", - "fileName": "calendar.tsx", - "filePath": "src/components/ui/calendar.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 138 - }, - { - "name": "Card", - "fileName": "card.tsx", - "filePath": "src/components/ui/card.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": false, - "lineCount": 93 - }, - { - "name": "CardNumberInput", - "fileName": "card-number-input.tsx", - "filePath": "src/components/ui/card-number-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "CardNumberInputProps", - "isClientComponent": true, - "lineCount": 95 - }, - { - "name": "ChartWrapper", - "fileName": "chart-wrapper.tsx", - "filePath": "src/components/ui/chart-wrapper.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ChartWrapperProps", - "isClientComponent": false, - "lineCount": 66 - }, - { - "name": "Checkbox", - "fileName": "checkbox.tsx", - "filePath": "src/components/ui/checkbox.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 33 - }, - { - "name": "Collapsible", - "fileName": "collapsible.tsx", - "filePath": "src/components/ui/collapsible.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 33 - }, - { - "name": "Command", - "fileName": "command.tsx", - "filePath": "src/components/ui/command.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 177 - }, - { - "name": "ConfirmDialog", - "fileName": "confirm-dialog.tsx", - "filePath": "src/components/ui/confirm-dialog.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "ConfirmDialogProps", - "isClientComponent": true, - "lineCount": 226 - }, - { - "name": "CurrencyInput", - "fileName": "currency-input.tsx", - "filePath": "src/components/ui/currency-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "CurrencyInputProps", - "isClientComponent": true, - "lineCount": 220 - }, - { - "name": "DatePicker", - "fileName": "date-picker.tsx", - "filePath": "src/components/ui/date-picker.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "DatePickerProps", - "isClientComponent": true, - "lineCount": 279 - }, - { - "name": "Dialog", - "fileName": "dialog.tsx", - "filePath": "src/components/ui/dialog.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 137 - }, - { - "name": "Drawer", - "fileName": "drawer.tsx", - "filePath": "src/components/ui/drawer.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 133 - }, - { - "name": "DropdownMenu", - "fileName": "dropdown-menu.tsx", - "filePath": "src/components/ui/dropdown-menu.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 258 - }, - { - "name": "EmptyState", - "fileName": "empty-state.tsx", - "filePath": "src/components/ui/empty-state.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "ButtonProps", - "isClientComponent": true, - "lineCount": 227 - }, - { - "name": "ErrorCard", - "fileName": "error-card.tsx", - "filePath": "src/components/ui/error-card.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ErrorCardProps", - "isClientComponent": true, - "lineCount": 196 - }, - { - "name": "ErrorMessage", - "fileName": "error-message.tsx", - "filePath": "src/components/ui/error-message.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "ErrorMessageProps", - "isClientComponent": false, - "lineCount": 38 - }, - { - "name": "FileDropzone", - "fileName": "file-dropzone.tsx", - "filePath": "src/components/ui/file-dropzone.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "FileDropzoneProps", - "isClientComponent": true, - "lineCount": 227 - }, - { - "name": "FileInput", - "fileName": "file-input.tsx", - "filePath": "src/components/ui/file-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "FileInputProps", - "isClientComponent": true, - "lineCount": 226 - }, - { - "name": "FileList", - "fileName": "file-list.tsx", - "filePath": "src/components/ui/file-list.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "FileListProps", - "isClientComponent": true, - "lineCount": 276 - }, - { - "name": "ImageUpload", - "fileName": "image-upload.tsx", - "filePath": "src/components/ui/image-upload.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "ImageUploadProps", - "isClientComponent": true, - "lineCount": 309 - }, - { - "name": "Input", - "fileName": "input.tsx", - "filePath": "src/components/ui/input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": false, - "lineCount": 22 - }, - { - "name": "Label", - "fileName": "label.tsx", - "filePath": "src/components/ui/label.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 25 - }, - { - "name": "LoadingSpinner", - "fileName": "loading-spinner.tsx", - "filePath": "src/components/ui/loading-spinner.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "LoadingSpinnerProps", - "isClientComponent": false, - "lineCount": 114 - }, - { - "name": "MultiSelectCombobox", - "fileName": "multi-select-combobox.tsx", - "filePath": "src/components/ui/multi-select-combobox.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "MultiSelectComboboxProps", - "isClientComponent": true, - "lineCount": 128 - }, - { - "name": "NumberInput", - "fileName": "number-input.tsx", - "filePath": "src/components/ui/number-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "NumberInputProps", - "isClientComponent": true, - "lineCount": 280 - }, - { - "name": "PersonalNumberInput", - "fileName": "personal-number-input.tsx", - "filePath": "src/components/ui/personal-number-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "PersonalNumberInputProps", - "isClientComponent": true, - "lineCount": 101 - }, - { - "name": "PhoneInput", - "fileName": "phone-input.tsx", - "filePath": "src/components/ui/phone-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "PhoneInputProps", - "isClientComponent": true, - "lineCount": 95 - }, - { - "name": "Popover", - "fileName": "popover.tsx", - "filePath": "src/components/ui/popover.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 53 - }, - { - "name": "Progress", - "fileName": "progress.tsx", - "filePath": "src/components/ui/progress.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 32 - }, - { - "name": "QuantityInput", - "fileName": "quantity-input.tsx", - "filePath": "src/components/ui/quantity-input.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "QuantityInputProps", - "isClientComponent": true, - "lineCount": 271 - }, - { - "name": "RadioGroup", - "fileName": "radio-group.tsx", - "filePath": "src/components/ui/radio-group.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 46 - }, - { - "name": "ScrollArea", - "fileName": "scroll-area.tsx", - "filePath": "src/components/ui/scroll-area.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 53 - }, - { - "name": "SearchableSelect", - "fileName": "searchable-select.tsx", - "filePath": "src/components/ui/searchable-select.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "named", - "hasProps": true, - "propsName": "SearchableSelectProps", - "isClientComponent": true, - "lineCount": 219 - }, - { - "name": "Select", - "fileName": "select.tsx", - "filePath": "src/components/ui/select.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 192 - }, - { - "name": "Separator", - "fileName": "separator.tsx", - "filePath": "src/components/ui/separator.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "SeparatorProps", - "isClientComponent": true, - "lineCount": 32 - }, - { - "name": "Sheet", - "fileName": "sheet.tsx", - "filePath": "src/components/ui/sheet.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 146 - }, - { - "name": "Skeleton", - "fileName": "skeleton.tsx", - "filePath": "src/components/ui/skeleton.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "SkeletonProps", - "isClientComponent": true, - "lineCount": 679 - }, - { - "name": "Slider", - "fileName": "slider.tsx", - "filePath": "src/components/ui/slider.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": false, - "lineCount": 26 - }, - { - "name": "StatusBadge", - "fileName": "status-badge.tsx", - "filePath": "src/components/ui/status-badge.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "both", - "hasProps": true, - "propsName": "StatusBadgeProps", - "isClientComponent": true, - "lineCount": 123 - }, - { - "name": "Switch", - "fileName": "switch.tsx", - "filePath": "src/components/ui/switch.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 32 - }, - { - "name": "Table", - "fileName": "table.tsx", - "filePath": "src/components/ui/table.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": false, - "lineCount": 117 - }, - { - "name": "Tabs", - "fileName": "tabs.tsx", - "filePath": "src/components/ui/tabs.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 66 - }, - { - "name": "Textarea", - "fileName": "textarea.tsx", - "filePath": "src/components/ui/textarea.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": false, - "lineCount": 25 - }, - { - "name": "TimePicker", - "fileName": "time-picker.tsx", - "filePath": "src/components/ui/time-picker.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": true, - "propsName": "TimePickerProps", - "isClientComponent": true, - "lineCount": 191 - }, - { - "name": "Tooltip", - "fileName": "tooltip.tsx", - "filePath": "src/components/ui/tooltip.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 48 - }, - { - "name": "VisuallyHidden", - "fileName": "visually-hidden.tsx", - "filePath": "src/components/ui/visually-hidden.tsx", - "tier": "ui", - "category": "ui", - "subcategory": null, - "exportType": "none", - "hasProps": false, - "propsName": null, - "isClientComponent": true, - "lineCount": 14 - } - ] -} \ No newline at end of file diff --git a/src/hooks/useDaumPostcode.ts b/src/hooks/useDaumPostcode.ts index 26a08019..d1009c3b 100644 --- a/src/hooks/useDaumPostcode.ts +++ b/src/hooks/useDaumPostcode.ts @@ -83,7 +83,7 @@ export function useDaumPostcode(options?: UseDaumPostcodeOptions) { // 스크립트 추가 const script = document.createElement('script'); script.src = - '//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js'; + 'https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js'; script.async = true; script.onload = () => setIsScriptLoaded(true); document.head.appendChild(script); diff --git a/src/middleware.ts b/src/middleware.ts index 83672782..821d5ee3 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -300,11 +300,12 @@ export async function middleware(request: NextRequest) { intlResponse.headers.set('Referrer-Policy', 'strict-origin-when-cross-origin'); intlResponse.headers.set('Content-Security-Policy', [ "default-src 'self'", - "script-src 'self' 'unsafe-inline' 'unsafe-eval' https://maps.googleapis.com", + "script-src 'self' 'unsafe-inline' 'unsafe-eval' https://maps.googleapis.com *.daumcdn.net", "style-src 'self' 'unsafe-inline'", "img-src 'self' data: blob: https:", "font-src 'self' data: https://fonts.gstatic.com", - "connect-src 'self' https://maps.googleapis.com", + "connect-src 'self' https://maps.googleapis.com *.daum.net *.daumcdn.net", + "frame-src *.daum.net *.daumcdn.net", "frame-ancestors 'none'", "base-uri 'self'", "form-action 'self'",