moai-library-shadcn
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseQuick Reference
快速参考
Enterprise shadcn/ui Component Library Expert
Comprehensive shadcn/ui expertise with AI-powered design system architecture, Context7 integration, and intelligent component orchestration for modern React applications.
Core Capabilities:
- AI-Powered Component Architecture using Context7 MCP
- Intelligent Design System with automated theme customization
- Advanced Component Orchestration with accessibility and performance
- Enterprise UI Framework with zero-configuration design tokens
- Predictive Component Analytics with usage insights
When to Use:
- shadcn/ui component library discussions
- React component architecture planning
- Tailwind CSS integration and design tokens
- Accessibility implementation
- Design system customization
Module Organization:
- Core Concepts: This file covers shadcn/ui overview, architecture, and ecosystem
- Components: The shadcn-components.md module covers component library and advanced patterns
- Theming: The shadcn-theming.md module covers theme system and customization
- Advanced Patterns: The advanced-patterns.md module covers complex implementations
- Optimization: The optimization.md module covers performance tuning
企业级shadcn/ui组件库专家
为现代React应用提供全面的shadcn/ui专业支持,包括AI驱动的设计系统架构、Context7集成以及智能组件编排。
核心能力:
- 基于Context7 MCP的AI驱动组件架构
- 支持自动主题定制的智能设计系统
- 兼顾无障碍性与性能的高级组件编排
- 零配置设计令牌的企业级UI框架
- 带使用洞察的预测性组件分析
适用场景:
- shadcn/ui组件库相关讨论
- React组件架构规划
- Tailwind CSS集成与设计令牌配置
- 无障碍功能实现
- 设计系统定制
模块组织:
- 核心概念:本文件涵盖shadcn/ui概述、架构与生态系统
- 组件:shadcn-components.md模块涵盖组件库与高级模式
- 主题:shadcn-theming.md模块涵盖主题系统与定制
- 高级模式:advanced-patterns.md模块涵盖复杂实现方案
- 优化:optimization.md模块涵盖性能调优
Implementation Guide
实施指南
shadcn/ui Overview
shadcn/ui概述
shadcn/ui is a collection of re-usable components built with Radix UI and Tailwind CSS. Unlike traditional component libraries, it is not an npm package but rather a collection of components you copy into your project.
Key Benefits include full control and ownership of components, zero dependencies beyond Radix UI primitives, complete customization with Tailwind CSS, TypeScript-first design with excellent type safety, and built-in accessibility with WCAG 2.1 AA compliance.
Architecture Philosophy: shadcn/ui components are built on top of Radix UI Primitives which provide unstyled accessible primitives. Tailwind CSS provides utility-first styling. TypeScript ensures type safety throughout. Your customization layer provides full control over the final implementation.
shadcn/ui是一套基于Radix UI和Tailwind CSS构建的可复用组件集合。与传统组件库不同,它并非npm包,而是您可以复制到项目中的组件集合。
核心优势包括:完全控制和拥有组件、除Radix UI primitives外无其他依赖、可通过Tailwind CSS完全定制、TypeScript优先设计确保出色的类型安全、内置符合WCAG 2.1 AA标准的无障碍支持。
架构理念:shadcn/ui组件构建于Radix UI Primitives之上,后者提供无样式的无障碍基础组件。Tailwind CSS提供实用优先的样式方案。TypeScript确保全程类型安全。您的定制层可完全控制最终实现效果。
Core Component Categories
核心组件分类
Form Components include Input, Select, Checkbox, Radio, and Textarea. Form validation integrates with react-hook-form and Zod. Accessibility is ensured through proper ARIA labels.
Display Components include Card, Dialog, Sheet, Drawer, and Popover. Responsive design patterns are built in. Dark mode support is included.
Navigation Components include Navigation Menu, Breadcrumb, Tabs, and Pagination. Keyboard navigation support is built in. Focus management is handled automatically.
Data Components include Table, Calendar, DatePicker, and Charts. Virtual scrolling is available for large datasets. TanStack Table integration is supported.
Feedback Components include Alert, Toast, Progress, Badge, and Avatar. Loading states and skeletons are available. Error boundaries are supported.
表单组件包括Input、Select、Checkbox、Radio和Textarea。表单验证可与react-hook-form和Zod集成。通过正确的ARIA标签确保无障碍性。
展示组件包括Card、Dialog、Sheet、Drawer和Popover。内置响应式设计模式,支持深色模式。
导航组件包括Navigation Menu、Breadcrumb、Tabs和Pagination。内置键盘导航支持,自动处理焦点管理。
数据组件包括Table、Calendar、DatePicker和Charts。支持大型数据集的虚拟滚动,兼容TanStack Table集成。
反馈组件包括Alert、Toast、Progress、Badge和Avatar。提供加载状态和骨架屏,支持错误边界。
Installation and Setup
安装与设置
Step 1: Initialize shadcn/ui by running the shadcn-ui init command with npx using the latest version.
Step 2: Configure components.json with the schema URL pointing to ui.shadcn.com/schema.json. Set the style to default and enable RSC and TSX. Configure Tailwind settings including the config path, CSS path, base color, CSS variables enabled, and optional prefix. Set up aliases for components, utils, and ui paths.
Step 3: Add components individually using the shadcn-ui add command with npx, specifying component names such as button, form, or dialog.
步骤1:使用npx运行最新版本的shadcn-ui init命令初始化shadcn/ui。
步骤2:配置components.json,将schema URL指向ui.shadcn.com/schema.json。设置样式为默认,启用RSC和TSX。配置Tailwind设置,包括配置路径、CSS路径、基础颜色、启用CSS变量以及可选前缀。为components、utils和ui路径设置别名。
步骤3:使用npx运行shadcn-ui add命令单独添加组件,指定组件名称如button、form或dialog。
Foundation Technologies
基础技术栈
React 19 features include Server Components support, concurrent rendering features, automatic batching improvements, and streaming SSR enhancements.
TypeScript 5.5 provides full type safety across components, improved inference for generics, better error messages, and enhanced developer experience.
Tailwind CSS 3.4 includes JIT compilation, CSS variable support, dark mode variants, and container queries.
Radix UI provides unstyled accessible primitives, keyboard navigation, focus management, and ARIA attributes.
Integration Stack includes React Hook Form for form state management, Zod for schema validation, class-variance-authority for variant management, Framer Motion for animation library, and Lucide React for icon library.
React 19特性包括Server Components支持、并发渲染功能、自动批处理改进以及流式SSR增强。
TypeScript 5.5提供全组件类型安全、改进的泛型推断、更友好的错误提示以及增强的开发者体验。
Tailwind CSS 3.4包括JIT编译、CSS变量支持、深色模式变体和容器查询。
Radix UI提供无样式的无障碍基础组件、键盘导航、焦点管理和ARIA属性。
集成栈包括用于表单状态管理的React Hook Form、用于Schema验证的Zod、用于变体管理的class-variance-authority、用于动画库的Framer Motion以及用于图标库的Lucide React。
AI-Powered Architecture Design
AI驱动的架构设计
The ShadcnUIArchitectOptimizer class uses Context7 MCP integration to design optimal shadcn/ui architectures. It initializes a Context7 client, component analyzer, and theme optimizer. The design_optimal_shadcn_architecture method takes design system requirements and fetches latest shadcn/ui and React documentation via Context7. It then optimizes component selection based on UI components and user needs, optimizes theme configuration based on brand guidelines and accessibility requirements, and returns a complete ShadcnUIArchitecture including component library, theme system, accessibility compliance, performance optimization, integration patterns, and customization strategy.
ShadcnUIArchitectOptimizer类通过Context7 MCP集成设计最优的shadcn/ui架构。它初始化Context7客户端、组件分析器和主题优化器。design_optimal_shadcn_architecture方法接收设计系统需求,并通过Context7获取最新的shadcn/ui和React文档。然后根据UI组件和用户需求优化组件选择,根据品牌指南和无障碍需求优化主题配置,并返回完整的ShadcnUIArchitecture,包括组件库、主题系统、无障碍合规性、性能优化、集成模式和定制策略。
Best Practices
最佳实践
Requirements include using CSS variables for theme customization, implementing proper TypeScript types, following accessibility guidelines for WCAG 2.1 AA compliance, using Radix UI primitives for complex interactions, testing components with React Testing Library, optimizing bundle size with tree-shaking, and implementing responsive design patterns.
Critical Implementation Standards:
[HARD] Use CSS variables exclusively for color values. This enables dynamic theming, supports dark mode transitions, and maintains design system consistency across all components. Without CSS variables, theme changes require code modifications, dark mode fails, and brand customization becomes unmaintainable.
[HARD] Include accessibility attributes on all interactive elements. This ensures WCAG 2.1 AA compliance, screen reader compatibility, and inclusive user experience for users with disabilities. Missing accessibility attributes excludes users with disabilities, violates legal compliance requirements, and reduces application usability.
[HARD] Implement keyboard navigation for all interactive components. This provides essential navigation method for keyboard users, supports assistive technologies, and improves overall user experience efficiency. Without keyboard navigation, power users cannot efficiently use the application and accessibility compliance fails.
[SOFT] Provide loading states for asynchronous operations. This communicates operation progress to users, reduces perceived latency, and improves user confidence in application responsiveness.
[HARD] Implement error boundaries around component trees. This prevents entire application crashes from isolated component failures, enables graceful error recovery, and maintains application stability.
[HARD] Apply Tailwind CSS classes instead of inline styles. This maintains consistency with design system, enables JIT compilation benefits, supports responsive design variants, and improves bundle size optimization.
[SOFT] Implement dark mode support across all components. This provides user preference respect, reduces eye strain in low-light environments, and aligns with modern UI expectations.
要求包括使用CSS变量进行主题定制、实现正确的TypeScript类型、遵循WCAG 2.1 AA无障碍指南、使用Radix UI primitives处理复杂交互、用React Testing Library测试组件、通过tree-shaking优化包大小以及实现响应式设计模式。
关键实施标准:
[硬性要求] 仅使用CSS变量定义颜色值。这支持动态主题、深色模式过渡,并在所有组件中保持设计系统一致性。如果不使用CSS变量,主题变更需要修改代码,深色模式无法正常工作,品牌定制将难以维护。
[硬性要求] 所有交互元素都要包含无障碍属性。这确保符合WCAG 2.1 AA标准、兼容屏幕阅读器,并为残障用户提供包容性的用户体验。缺少无障碍属性会将残障用户排除在外,违反合规要求,并降低应用可用性。
[硬性要求] 为所有交互组件实现键盘导航。这为键盘用户提供必要的导航方式,支持辅助技术,并提高整体用户体验效率。没有键盘导航,高级用户无法高效使用应用,且无法满足无障碍合规要求。
[软性建议] 为异步操作提供加载状态。这向用户传达操作进度,减少感知延迟,并提升用户对应用响应性的信心。
[硬性要求] 在组件树周围实现错误边界。这防止单个组件故障导致整个应用崩溃,实现优雅的错误恢复,并保持应用稳定性。
[硬性要求] 使用Tailwind CSS类而非内联样式。这保持与设计系统的一致性,发挥JIT编译优势,支持响应式设计变体,并优化包大小。
[软性建议] 在所有组件中实现深色模式支持。这尊重用户偏好,减少低光环境下的眼睛疲劳,并符合现代UI的预期。
Performance Optimization
性能优化
Bundle Size optimization includes tree-shaking to remove unused components, code splitting for large components, lazy loading with React.lazy, and dynamic imports for heavy dependencies.
Runtime Performance optimization includes React.memo for expensive components, useMemo and useCallback for computations, virtual scrolling for large lists, and debouncing user interactions.
Accessibility includes ARIA attributes for all interactive elements, keyboard navigation support, focus management, and screen reader testing.
包大小优化包括tree-shaking移除未使用组件、大型组件代码分割、使用React.lazy懒加载以及动态导入重型依赖。
运行时性能优化包括对昂贵组件使用React.memo、对计算使用useMemo和useCallback、大型列表使用虚拟滚动以及对用户交互进行防抖处理。
无障碍性包括为所有交互元素添加ARIA属性、支持键盘导航、焦点管理以及屏幕阅读器测试。
Advanced Patterns
高级模式
Component Composition
组件组合
The composable pattern involves importing Card, CardHeader, CardTitle, and CardContent from the ui/card components. A DashboardCard component accepts a title and children props, wrapping them in the Card structure with CardHeader containing CardTitle and CardContent containing the children.
组合模式涉及从ui/card组件导入Card、CardHeader、CardTitle和CardContent。DashboardCard组件接收title和children属性,将它们包裹在Card结构中,CardHeader包含CardTitle,CardContent包含children。
Form Validation
表单验证
The Zod and React Hook Form integration pattern involves importing useForm from react-hook-form, zodResolver from hookform/resolvers/zod, and z from zod. Define a formSchema with z.object containing field validations such as z.string().email() for email and z.string().min(8) for password. Infer the FormValues type from the schema. The form component uses useForm with zodResolver passing the formSchema. The form element uses form.handleSubmit with an onSubmit handler.
Zod与React Hook Form集成模式涉及从react-hook-form导入useForm,从hookform/resolvers/zod导入zodResolver,以及从zod导入z。定义包含字段验证的formSchema,如z.string().email()用于邮箱验证,z.string().min(8)用于密码验证。从Schema推断FormValues类型。表单组件使用useForm并传入带formSchema的zodResolver。表单元素使用form.handleSubmit和onSubmit处理函数。
Works Well With
兼容模块
- shadcn-components.md module for advanced component patterns and implementation
- shadcn-theming.md module for theme system and customization strategies
- moai-domain-uiux for design system architecture and principles
- moai-lang-typescript for TypeScript best practices
- code-frontend for frontend development patterns
- shadcn-components.md模块:高级组件模式与实现
- shadcn-theming.md模块:主题系统与定制策略
- moai-domain-uiux:设计系统架构与原则
- moai-lang-typescript:TypeScript最佳实践
- code-frontend:前端开发模式
Context7 Integration
Context7集成
Related Libraries:
- shadcn/ui at /shadcn-ui/ui provides re-usable components built with Radix UI and Tailwind
- Radix UI at /radix-ui/primitives provides unstyled accessible component primitives
- Tailwind CSS at /tailwindlabs/tailwindcss provides utility-first CSS framework
Official Documentation:
- shadcn/ui Documentation at ui.shadcn.com/docs
- API Reference at ui.shadcn.com/docs/components
- Radix UI Documentation at radix-ui.com
- Tailwind CSS Documentation at tailwindcss.com
Latest Versions as of November 2025:
- React 19
- TypeScript 5.5
- Tailwind CSS 3.4
- Radix UI Latest
Last Updated: 2026-01-11
Status: Production Ready
相关库:
- shadcn/ui:/shadcn-ui/ui提供基于Radix UI和Tailwind的可复用组件
- Radix UI:/radix-ui/primitives提供无样式的无障碍组件基础
- Tailwind CSS:/tailwindlabs/tailwindcss提供实用优先的CSS框架
官方文档:
- shadcn/ui文档:ui.shadcn.com/docs
- API参考:ui.shadcn.com/docs/components
- Radix UI文档:radix-ui.com
- Tailwind CSS文档:tailwindcss.com
截至2025年11月的最新版本:
- React 19
- TypeScript 5.5
- Tailwind CSS 3.4
- Radix UI 最新版本
最后更新:2026-01-11
状态:生产就绪