# 컴포넌트 개발 규칙 > **참조**: [프론트엔드 가이드 인덱스](./index.md) --- ## TL;DR (5초 요약) ```text 1. HTML 태그 직접 사용 금지 (
→ Div, {t('admin.users.pagination_info', { from: 1, to: 10, total: 100 })} ``` → [상세 문서](components-patterns.md#다국어-번역-g7coret) ### 컴포넌트 이벤트 통신 ```tsx // 이벤트 구독 const unsubscribe = G7Core.componentEvent.on('eventName', callback); // 이벤트 발생 G7Core.componentEvent.emit('triggerUpload:logo_uploader'); ``` → [상세 문서](components-advanced.md#컴포넌트-간-이벤트-통신-g7corecomponentevent) ### 아이콘 사용 (Font Awesome) ```tsx import { Icon, IconName } from '../basic/Icon'; ``` ```text 주의: Font Awesome Pro 전용 아이콘 사용 금지 (Light, Thin, Duotone) 주의: 다른 아이콘 라이브러리 직접 import 금지 ``` → [상세 문서](components-advanced.md#아이콘-사용-규칙-font-awesome) ### 컴포넌트 등록 체크리스트 ```text 필수: 새 컴포넌트 생성 시 아래 4개 파일에 등록 □ 컴포넌트 파일 생성: templates/[vendor-template]/src/components/{type}/{Name}.tsx □ index.ts export 추가: templates/[vendor-template]/src/components/{type}/index.ts □ components.json 등록: templates/[vendor-template]/components.json □ 테스트 파일 생성: templates/[vendor-template]/src/components/{type}/__tests__/{Name}.test.tsx ``` → [상세 문서](components-advanced.md#컴포넌트-개발-체크리스트) --- ## 관련 문서 - [g7core-api.md](g7core-api.md) - G7Core 전역 API 레퍼런스 - [레이아웃 JSON 스키마](./layout-json.md) - 컴포넌트를 레이아웃 JSON에서 사용하는 방법 - [데이터 바인딩](./data-binding.md) - props에서 데이터 바인딩 사용법 - [sirsoft-admin_basic 컴포넌트](./templates/sirsoft-admin_basic/components.md) - Admin 컴포넌트 목록 (111개) - [sirsoft-basic 컴포넌트](./templates/sirsoft-basic/components.md) - User 컴포넌트 목록 (58개) - [다크 모드](./dark-mode.md) - 컴포넌트 다크 모드 지원 가이드 - [상태 관리](./state-management.md) - 전역/로컬 상태 관리 및 동기화 패턴