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 de lectura • Equip Q2BSTUDIO

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.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.