+ {/* Header */}
+
+
+
+
+ Component Registry
+
+
+ {registry.totalCount}개
+
+
+
+ 생성: {generatedDate} · npm run gen:components로 갱신
+ · 카드 클릭: 소스코드 보기 · UI 프리뷰: {previewCount}개
+
+
+
+ {/* Search */}
+
+
+ setSearchTerm(e.target.value)}
+ className="w-full pl-10 pr-4 py-2 rounded-lg border border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-800 text-gray-900 dark:text-white focus:ring-2 focus:ring-blue-500 focus:border-transparent"
+ />
+ {searchTerm && (
+
+ )}
+
+
+ {/* Tier Filter Chips */}
+
+ {ALL_TIERS.map((tier) => {
+ const isActive = activeTier === tier;
+ const count = tierCounts[tier] || 0;
+ if (tier !== '전체' && count === 0) return null;
+
+ return (
+
+ );
+ })}
+
+
+ {/* Results count */}
+ {(searchTerm || activeTier !== '전체') && (
+
+ {filtered.length}개 결과
+
+ )}
+
+ {/* Component List */}
+
+ {groupedByCategory.map(([category, { tier, components }]) => (
+
+ ))}
+
+
+ {/* Empty State */}
+ {filtered.length === 0 && (
+
+ )}
+
+ {/* Footer */}
+
+
+ 데이터 소스: src/generated/component-registry.json
+
+
+