[radix] · animate-ui / radix-ui / lucide-react
Files
Explorador de archivos accesible (accordion de Radix) con carpetas anidadas, estados git y highlight.
animate-uiradix-uilucide-react
@/components/animate-ui/components/radix/filesFiles
app.jsx
Umain.css
package.json
app.jsx
Umain.css
package.json
1import * as React from 'react';2import { FolderIcon, FolderOpenIcon, FileIcon } from 'lucide-react';3 4import {5 Files as FilesPrimitive,6 FilesHighlight as FilesHighlightPrimitive,7 FolderItem as FolderItemPrimitive,8 FolderHeader as FolderHeaderPrimitive,9 FolderTrigger as FolderTriggerPrimitive,10 FolderHighlight as FolderHighlightPrimitive,11 Folder as FolderPrimitive,12 FolderIcon as FolderIconPrimitive,13 FileLabel as FileLabelPrimitive,14 FolderContent as FolderContentPrimitive,15 FileHighlight as FileHighlightPrimitive,16 File as FilePrimitive,17 FileIcon as FileIconPrimitive,18} from '@/components/animate-ui/primitives/radix/files';19import { cn } from '@/lib/utils';20 21function Files({22 className,23 children,24 ...props25}) {26 return (27 <FilesPrimitive className={cn('p-2 w-full', className)} {...props}>28 <FilesHighlightPrimitive className="bg-accent rounded-lg pointer-events-none">29 {children}30 </FilesHighlightPrimitive>31 </FilesPrimitive>32 );33}34 35function SubFiles(props) {36 return <FilesPrimitive {...props} />;37}38 39function FolderItem(props) {40 return <FolderItemPrimitive {...props} />;41}42 43function FolderTrigger({44 children,45 className,46 gitStatus,47 ...props48}) {49 return (50 <FolderHeaderPrimitive>51 <FolderTriggerPrimitive className="w-full text-start">52 <FolderHighlightPrimitive>53 <FolderPrimitive54 className="flex items-center justify-between gap-2 p-2 pointer-events-none">55 <div56 className={cn(57 'flex items-center gap-2',58 gitStatus === 'untracked' && 'text-green-400',59 gitStatus === 'modified' && 'text-amber-400',60 gitStatus === 'deleted' && 'text-red-400'61 )}>62 <FolderIconPrimitive63 closeIcon={<FolderIcon className="size-4.5" />}64 openIcon={<FolderOpenIcon className="size-4.5" />} />65 <FileLabelPrimitive className={cn('text-sm', className)} {...props}>66 {children}67 </FileLabelPrimitive>68 </div>69 70 {gitStatus && (71 <span72 className={cn(73 'rounded-full size-2',74 gitStatus === 'untracked' && 'bg-green-400',75 gitStatus === 'modified' && 'bg-amber-400',76 gitStatus === 'deleted' && 'bg-red-400'77 )} />78 )}79 </FolderPrimitive>80 </FolderHighlightPrimitive>81 </FolderTriggerPrimitive>82 </FolderHeaderPrimitive>83 );84}85 86function FolderContent(props) {87 return (88 <div89 className="relative ml-6 before:absolute before:-left-2 before:inset-y-0 before:w-px before:h-full before:bg-border">90 <FolderContentPrimitive {...props} />91 </div>92 );93}94 95function FileItem({96 icon: Icon = FileIcon,97 className,98 children,99 gitStatus,100 ...props101}) {102 return (103 <FileHighlightPrimitive>104 <FilePrimitive105 className={cn(106 'flex items-center justify-between gap-2 p-2 pointer-events-none',107 gitStatus === 'untracked' && 'text-green-400',108 gitStatus === 'modified' && 'text-amber-400',109 gitStatus === 'deleted' && 'text-red-400'110 )}>111 <div className="flex items-center gap-2">112 <FileIconPrimitive>113 <Icon className="size-4.5" />114 </FileIconPrimitive>115 <FileLabelPrimitive className={cn('text-sm', className)} {...props}>116 {children}117 </FileLabelPrimitive>118 </div>119 120 {gitStatus && (121 <span className="text-sm font-medium">122 {gitStatus === 'untracked' && 'U'}123 {gitStatus === 'modified' && 'M'}124 {gitStatus === 'deleted' && 'D'}125 </span>126 )}127 </FilePrimitive>128 </FileHighlightPrimitive>129 );130}131 132export { Files, FolderItem, FolderTrigger, FolderContent, FileItem, SubFiles };133 Uso
Props
PropTipoDefaultDescripción
defaultOpenstring[][]Carpetas abiertas.
FolderItem valuestring—Identificador de la carpeta.
gitStatusU|M|D—Estado git del archivo.
← Anterior
RadialChart
Gráfica circular
Dock
Navegación flotante
All Items
PinList
Lista con fijados
CodeTabs
Tabs de código
SparklesText
Texto con destellos
[comunidad]PinList
Siguiente →[animación]CodeTabs
Acciones del componente
Search for a command to run...
Potenciá tu negocio con SFESS
Software a medida, IA integrada y ciberseguridad avanzada para empresas.
0años de ingeniería
0proyectos entregados
0% uptime
Servicios destacados
Consultoría SEO Avanzado & Analítica
Auditoría técnica profunda para posicionar tu negocio en los primeros resultados de Google.
SEO TécnicoGA4Páginas Web Corporativas Complejas
Plataformas empresariales masivas con múltiples secciones y animaciones fluidas.
Framer MotionMulti-pageIntegración de Inteligencia Artificial en Negocios
Automatizamos la atención, las reservas y las ventas de tu negocio con agentes de IA.
AI AgentsChatbots
Nuestro ecosistema
Ver todos los serviciosWORKENTA_OSSFESS_SOLUTIONSPRANALUZ_YOGAREMY_AI