
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
🧩 DaemonUI Componentes UI reutilizables para React + Tailwind, inspirados en shadcn/ui GitHub • <
DaemonUI es una librería de componentes UI moderna para proyectos en React + Tailwind CSS. Diseñada con instalación modular vía CLI, te permite agregar únicamente los componentes que necesitas, manteniendo tu bundle optimizado.
npm install daemonui
Usa el CLI para agregar cualquier componente:
npx daemonui add <nombre-componente>
Esto automáticamente:
src/components/ui/# Agregar un botón
npx daemonui add button
# Agregar el recortador de imágenes
npx daemonui add imagecropper
| Componente | Descripción | Casos de uso |
|---|---|---|
button | Botón versátil con múltiples variantes | Acciones primarias, secundarias, enlaces |
imagecropper | Editor avanzado de imágenes con recorte | Avatares, thumbnails, procesamiento de imágenes |
src/
└── components/
└── ui/
├── button/
│ └── component.tsx
└── imagecropper/
└── component.tsx
import { Button } from "./components/ui/button/button";
export default function ButtonDemo() {
return (
<div className="flex gap-4 items-center flex-wrap">
{/* Variantes básicas */}
<Button>Default</Button>
<Button variant="secondary">Secondary</Button>
<Button variant="outline">Outline</Button>
<Button variant="ghost">Ghost</Button>
{/* Estados especiales */}
<Button variant="destructive">Delete</Button>
<Button variant="link">Link Style</Button>
{/* Tamaños */}
<Button size="sm">Small</Button>
<Button size="lg">Large</Button>
{/* Estado de carga */}
<Button isLoading disabled>
Processing...
</Button>
</div>
);
}
import { useState } from "react";
import { ImageCropper } from "./components/ui/imagecropper/imagecropper";
export default function ImageCropperDemo() {
const [croppedImage, setCroppedImage] = useState<string>("");
const handleImageCropped = (base64: string) => {
setCroppedImage(base64);
console.log("Imagen recortada:", base64);
};
const handleFileCropped = (file: File) => {
console.log("Archivo recortado:", file);
// Aquí puedes subir el archivo a tu servidor
};
return (
<div className="space-y-8">
<div className="space-y-4">
<h2 className="text-2xl font-bold">Avatar Circular</h2>
<ImageCropper
width={200}
height={200}
type="dragging"
circle={true}
onGetBase64={handleImageCropped}
onGetFile={handleFileCropped}
/>
</div>
<div className="space-y-4">
<h2 className="text-2xl font-bold">Banner Rectangular</h2>
<ImageCropper
width={400}
height={200}
type="button"
circle={false}
onGetBase64={handleImageCropped}
onGetFile={handleFileCropped}
/>
</div>
{/* Previsualización del resultado */}
{croppedImage && (
<div className="space-y-4">
<h3 className="text-lg font-semibold">Imagen recortada:</h3>
<img src={croppedImage} alt="Cropped result" />
</div>
)}
</div>
);
}
Todos los componentes se copian directamente a tu proyecto, lo que significa que puedes:
// Modifica src/components/ui/button/button.tsx
const buttonVariants = cva("inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors", {
variants: {
variant: {
default: "bg-primary text-primary-foreground hover:bg-primary/90",
// 🎨 Agrega tu variante personalizada
gradient: "bg-gradient-to-r from-purple-500 to-pink-500 text-white hover:from-purple-600 hover:to-pink-600",
},
},
});
| Característica | DaemonUI | Material-UI | Ant Design | Chakra UI |
|---|---|---|---|---|
| Bundle size | ✅ Solo lo que uses | ❌ Todo incluido | ❌ Todo incluido | ❌ Todo incluido |
| Personalización | ✅ Código editable | ⚠️ Limitado | ⚠️ Limitado | ✅ Flexible |
| Tailwind CSS | ✅ Nativo | ❌ No compatible | ❌ No compatible | ❌ CSS-in-JS |
| TypeScript | ✅ 100% | ✅ Sí | ✅ Sí | ✅ Sí |
input - Campos de entrada con validaciónmodal - Modales accesibles y responsivostable - Tablas con sorting y paginaciónform - Formularios con validación integradacalendar - Selector de fechasdropdown - Menús desplegables¡Las contribuciones son bienvenidas! Si tienes ideas para nuevos componentes o mejoras:
MIT License - siéntete libre de usar DaemonUI en proyectos personales y comerciales.
Henry Mosquera Guaman
Si DaemonUI te ayuda en tus proyectos, ¡considera darle una ⭐ en GitHub!
Hecho con ❤️ para la comunidad de desarrolladores
FAQs
🧩 DaemonUI Componentes UI reutilizables para React + Tailwind, inspirados en shadcn/ui GitHub • <
We found that daemonui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.