Frustración con los selectores de color de React y mi solución

Descubre react-beautiful-color, un selector de color modular para React que respeta el formato de color, se integra con Tailwind y EyeDropper, y facilita diseño flexible en TypeScript.

1 sept 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Tras construir decenas de aplicaciones con React, pensé que elegir un selector de color sería cuestión de instalar una librería popular y seguir adelante. La realidad fue otra: cada solución existente me obligaba a pelear con decisiones rígidas de diseño y a escribir hacks frágiles. Esa frustración me llevó a crear una librería nueva y aquí cuento por qué.

El problema que lo inició todo fue el enfoque monolítico. Muchas librerías de selectores de color ofrecen un único componente grande y rígido. No puedes mover el control de tono encima del área de saturación, ni insertar controles propios entre el selector y los deslizadores, ni montar un diseño horizontal compacto para móvil. Cada sistema de diseño es distinto, pero estas librerías te fuerzan a aceptar su visión o a remendarla con CSS frágil.

La inflexibilidad de layout fue aún peor en proyectos con requisitos que cambiaban a menudo. A veces necesitaba un diseño vertical, otras uno horizontal, y en otras ocasiones quería incluir una paleta de presets personalizada entre el área de saturación y los deslizadores. Mover el control de alfa por encima del de tono no era posible y cualquier ajuste dependía de trucos con CSS que se rompían al mínimo cambio.

Otra fuente de dolor fue la guerra contra los estilos. La mayoría de selectores traen su CSS y terminas luchando por adaptar el borde, el espaciado o el modo oscuro. Entre especificidad, cascada y important, se va más tiempo arreglando estilos que construyendo funcionalidades. Un selector debería integrarse con tu sistema de diseño, no ir en su contra.

La gestión de estado también resultó frustrante. Si trabajas con valores HSL, muchas librerías convierten internamente a RGB o HSV y devuelven un HSL distinto por redondeo. Ese pequeño desfase obliga a manejar discrepancias entre lo que el usuario introduce y lo que recibes a la salida, complicando lógica y pruebas. Si necesito iniciar en HSL y conservar exactamente ese formato, no debería pelearme con la librería.

Para resolverlo creé react-beautiful-color, pensando en composición real, control total del layout y respeto del formato de color de entrada.

Primero, componentes compuestos que de verdad componen. En vez de un bloque único, ofrece piezas como Saturation, Hue, Alpha y EyeDropper que puedes ordenar, alinear y agrupar a tu gusto. Si quieres el control de tono arriba, lo pones arriba. Si necesitas intercalar tus propios controles o indicadores, simplemente los insertas. El layout lo controlas tú.

Segundo, una arquitectura de componentes que prioriza la independencia. Cada parte es autónoma, estilable y posicionable. Esto facilita integrar el selector en cualquier sistema de diseño con requisitos específicos de espaciado, densidad o responsividad, sin hacks ni dependencias ocultas.

Tercero, preservación de formato sin deriva. Con el hook de estado, si tu entrada es HSL, se mantiene HSL; a la vez, tienes disponibles al instante las representaciones en HEX, RGB y HSV. Así evitas conversiones innecesarias y errores de redondeo, simplificando la lógica y mejorando la precisión.

Cuarto, un enfoque de estilos centrado en Tailwind. No se envía CSS propio, solo clases utilitarias, por lo que encaja de forma natural con tokens, temas y modo oscuro. Sin overrides, sin peleas de especificidad, sin conflictos.

Quinto, soporte de APIs modernas del navegador. La integración con EyeDropper permite capturar colores directamente de la pantalla sin dependencias complejas ni polyfills extra en entornos compatibles.

Sexto, base en TypeScript desde el primer día. Las uniones discriminadas ofrecen seguridad de tipos, mejor autocompletado y refactorizaciones seguras. Los errores de formato de color se detectan en compilación, no en producción.

El resultado es una experiencia de desarrollo mucho más agradable. En lugar de luchar contra una librería rígida, compones exactamente lo que tu interfaz necesita. Desde entradas simples hasta herramientas de diseño complejas, el patrón de componentes compuestos evita atajos frágiles y hace que el selector se adapte a tu sistema y no al revés.

Si te interesa ver el enfoque en detalle, documentación y ejemplos están disponibles en react-beautiful-color.dev.

En Q2BSTUDIO vivimos estos retos a diario al construir aplicaciones a medida y plataformas escalables. Somos una empresa de desarrollo de software experta en software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio con power bi, ia para empresas, automatización de procesos y agentes IA. Si tu organización necesita un selector de color flexible, un frontend sólido o una solución integral de producto digital, podemos ayudarte. Descubre cómo abordamos proyectos de aplicaciones a medida con calidad, rendimiento y diseño centrado en el usuario en desarrollo de software y aplicaciones a medida, y cómo aplicamos inteligencia artificial práctica y medible para crear ventajas competitivas en IA para empresas.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.