技能 shadcn-ui
📦

shadcn-ui

安全

Construir interfaces de usuario accesibles con shadcn/ui

也可从以下获取: google-labs-code

Construir interfaces de usuario de React accesibles requiere aprender los patrones de shadcn/ui, la instalación de componentes y la personalización de Tailwind. Esta habilidad proporciona una guía integral para instalar componentes, implementar formularios con validación y crear patrones de interfaz accesibles como diálogos, menús desplegables y tablas.

支持: Claude Codex Code(CC)
⚠️ 68
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“shadcn-ui”。 ¿Cómo agrego el componente button?

预期结果:

  • Para agregar el componente button a tu proyecto shadcn/ui:
  •  
  • ```bash
  • npx shadcn@latest add button
  • ```
  •  
  • Esto instala el componente button y sus dependencias.
  •  
  • Uso básico:
  •  
  • ```tsx
  • import { Button } from "@/components/ui/button"
  •  
  • export default function MyComponent() {
  • return <Button>Haz clic en mí</Button>
  • }
  • ```

正在使用“shadcn-ui”。 Crear un formulario con validación de correo electrónico

预期结果:

  • Aquí tienes un formulario simple con validación de correo electrónico usando React Hook Form y Zod:
  •  
  • ```tsx
  • import { useForm } from "react-hook-form"
  • import { z } from "zod"
  • import { zodResolver } from "@hookform/resolvers/zod"
  • import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"
  • import { Input } from "@/components/ui/input"
  • import { Button } from "@/components/ui/button"
  •  
  • const formSchema = z.object({
  • email: z.string().email({ message: "Dirección de correo inválida" }),
  • })
  •  
  • export function EmailForm() {
  • const form = useForm({
  • resolver: zodResolver(formSchema),
  • defaultValues: { email: "" }
  • })
  •  
  • function onSubmit(values) {
  • console.log(values)
  • }
  •  
  • return (
  • <Form {...form}>
  • <form onSubmit={form.handleSubmit(onSubmit)}>
  • <FormField
  • control={form.control}
  • name="email"
  • render={({ field }) => (
  • <FormItem>
  • <FormLabel>Correo</FormLabel>
  • <FormControl><Input placeholder="tu@ejemplo.com" {...field} /></FormControl>
  • <FormMessage />
  • </FormItem>
  • )}
  • />
  • <Button type="submit">Enviar</Button>
  • </form>
  • </Form>
  • )
  • }
  • ```

安全审计

安全
v1 • 1/28/2026

This is a pure documentation skill containing markdown files with shadcn/ui component library guidance. All 1163 static findings are FALSE POSITIVITIES caused by the scanner misinterpreting documentation patterns. The 'external_commands' detections are markdown code block delimiters and inline code references, not shell execution. The 'weak cryptographic algorithm' detections are Tailwind CSS HSL color values. Network and filesystem detections are example URLs and paths in documentation. This skill poses no security risk.

5
已扫描文件
5,651
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
21
社区
100
安全
78
规范符合性

你能构建什么

Configuración de nuevo proyecto

Inicializar un nuevo proyecto Next.js con shadcn/ui, configurar TypeScript, Tailwind CSS e instalar componentes esenciales como button, input y card.

Implementación de formularios

Construir formularios validados usando React Hook Form, validación de esquemas Zod y componentes de formulario shadcn/ui con accesibilidad adecuada.

Personalización de componentes

Personalizar el estilo de componentes shadcn/ui, crear temas de modo oscuro y extender componentes para requisitos de sistemas de diseño.

试试这些提示

Configuración de nuevo proyecto
Ayúdame a configurar un nuevo proyecto Next.js con shadcn/ui. Quiero usar TypeScript, Tailwind CSS e instalar los componentes button, input, form, card y dialog.
Formulario con validación
Crear un formulario de contacto usando React Hook Form, validación Zod y componentes shadcn/ui. Incluir mensajes de error adecuados y atributos de accesibilidad.
Componente de diálogo
Muéstrame cómo implementar un diálogo modal usando el componente Dialog de shadcn/ui. Incluir gestión de estado abierto, manejadores de cierre y características de accesibilidad.
Tabla de datos
Construir un componente de tabla de datos usando la tabla shadcn/ui con características de ordenamiento, paginación y selección de filas. Incluir interfaces TypeScript para la estructura de datos.

最佳实践

  • Usa la CLI de shadcn/ui para la instalación de componentes para garantizar la gestión adecuada de dependencias
  • Aprovecha las primitivas de Radix UI para características de accesibilidad integradas como navegación por teclado y gestión de foco
  • Personaliza componentes copiándolos a tu proyecto en lugar de depender de paquetes externos
  • Usa React Hook Form con Zod para validación de formularios segura en cuanto a tipos

避免

  • Evita modificar node_modules directamente en lugar de copiar componentes a tu proyecto
  • No omitas la validación de formularios al recopilar entrada de usuarios
  • Evita codificar estilos de componentes en lugar de usar utilidades de Tailwind CSS
  • No ignores los requisitos de accesibilidad al personalizar componentes

常见问题

¿Cuál es la diferencia entre shadcn/ui y otras bibliotecas de componentes?
shadcn/ui no es un paquete npm tradicional. En su lugar, copias los componentes a tu proyecto y posees el código. Esto permite una personalización completa mientras se beneficia de componentes accesibles bien diseñados construidos sobre primitivas de Radix UI.
¿Cómo actualizo los componentes de shadcn/ui?
Dado que los componentes se copian a tu proyecto, los actualizas reemplazando el código del componente con la versión más reciente del registro shadcn/ui o usando la CLI para re-agregar el componente.
¿Puedo usar shadcn/ui con frameworks diferentes a Next.js?
Sí, shadcn/ui funciona con cualquier framework de React incluyendo Vite, Create React App y Remix. Puede que necesites ajustar alguna configuración para tu framework específico.
¿Cómo agrego el tema de modo oscuro?
Configura el modo oscuro en tailwind.config.js usando la estrategia 'class'. Define variables CSS para ambos modos claro y oscuro en tu archivo globals.css, luego usa la clase .dark en el elemento HTML o body.
¿Qué biblioteca de validación funciona mejor con los formularios de shadcn/ui?
React Hook Form combinado con Zod proporciona una validación excelente segura en cuanto a tipos e integra perfectamente con los componentes de formulario shadcn/ui a través de zodResolver.
¿Cómo creo variantes personalizadas de los componentes shadcn/ui?
Usa la biblioteca class-variance-authority (cva) con la que están construidos los componentes shadcn/ui. Define tipos de variantes y aplícalos usando la utilidad cn() para la fusión condicional de clases.