Variantes y propiedades de componentes

Lectura
35 min~14 min lectura
Variantes y propiedades de componentes
CONCEPTO CLAVE: Las variantes y propiedades de componentes en Figma son herramientas fundamentales que te permiten crear sistemas de diseño escalables y consistentes. Una variante es una versión diferente del mismo componente (como un botón primario versus uno secundario), mientras que las propiedades te permiten definir parámetros personalizables que los usuarios pueden modificar sin necesidad de duplicar componentes.

Cuando trabajas en proyectos de diseño de interfaces, especialmente cuando colaboras con equipos de desarrollo, la organización y la escalabilidad son cruciales. Figma revolucionó la forma en que manejamos componentes al introducir el sistema de variantes y propiedades, que nos permite consolidar múltiples estados y versiones de un componente en un solo lugar. Esto no solo reduce el desorden en tu panel de componentes, sino que también facilita el mantenimiento y la consistencia en todo tu proyecto.

Antes de las variantes, los diseñadores solían crear múltiples componentes separados para cada estado o variación de un elemento: botón_primario, botón_secundario, botón_hover, botón_disabled, y así sucesivamente. Este enfoque generaba cientos de componentes difíciles de gestionar y que creaban confusión en los equipos. Con el sistema de variantes actual, puedes tener todo eso organizado bajo un único componente maestro con diferentes configuraciones.

Las propiedades de componentes van un paso más allá. Permiten que quienes usen tus componentes puedan personalizar aspectos específicos sin necesidad de detach (separar) el componente. Por ejemplo, puedes definir que un componente de tarjeta tenga una propiedad de "imagen" que muestre u oculte la imagen, otra propiedad para el "número de íconos", y otra para el "contenido del texto". Todo esto manteniendo la conexión con el componente principal.

¿Por qué necesitas dominar variantes y propiedades?

Dominar las variantes y propiedades de componentes te distingue como un diseñador profesional que entiende arquitectura de diseño. Las empresas que trabajan con sistemas de diseño requieren que sus diseñadores puedan crear y mantener componentes reutilizables de manera eficiente. Además, cuando trabajas con design systems (sistemas de diseño), las variantes y propiedades son el pan de cada día.

Imagina que estás diseñando un sistema de diseño para una aplicación bancaria. Tendrás botones de diferentes colores (primario, secundario, éxito, error), diferentes tamaños (pequeño, mediano, grande), diferentes estados (normal, hover, pressed, disabled, loading) y diferentes variantes de texto (con ícono izquierdo, con ícono derecho, sin ícono). Sin variantes, necesitarías crear docenas de componentes separados. Con variantes, todo esto se organiza de manera lógica y manejable.

Anatomía de un componente con variantes

Para entender mejor cómo funcionan las variantes, vamos a desglosar la estructura de un componente de botón con variantes en Figma:

  • Component Set (Conjunto de componentes): Es el contenedor principal que agrupa todas las variantes. En el panel de capas, aparece como un carpeta con el ícono de componente.
  • Variants (Variantes): Cada versión del componente. Se configuran usando la propiedad "Variant" en el inspector de propiedades.
  • Properties (Propiedades): Los diferentes atributos que puedes definir para cada variante, como el color, el tamaño, o el estado.
  • Component Properties (Propiedades de componente): Las características personalizables que permites que los usuarios modifiquen.

En la práctica, cuando ves un componente de botón en Figma, su nombre aparecería algo como: Button / Primary / Medium / Default. Esto significa que el componente "Button" tiene una variante "Primary" en la propiedad de "Type", "Medium" en la propiedad de "Size", y "Default" en la propiedad de "State".

💡 Tip práctico: Antes de crear variantes, planifica tu estrategia. Define qué propiedades son realmente necesarias y cuáles son solo variaciones visuales. Un buen ejercicio es preguntarte: "¿Necesito que este elemento sea flexible o siempre será igual?" Las propiedades que deben cambiar frecuentemente son candidatas perfectas para variantes, mientras que cambios estéticos menores pueden manejarse con estilos.

Creando tu primer componente con variantes

Vamos a crear un ejemplo práctico paso a paso. Aprenderás a crear un componente de alert o notificación con múltiples variantes y propiedades.

  1. Diseña las versiones base: Crea las diferentes versiones de tu componente que将成为 tus variantes. Para una notificación, diseña versiones de: información (azul), éxito (verde), advertencia (amarillo), y error (rojo).
  2. Seleciona todos los componentes: Mantén presionado Shift y selecciona todos los componentes que quieres convertir en variantes del mismo conjunto.
  3. Crea el component set: Presiona Cmd/Ctrl + Alt + K o haz clic derecho y selecciona "Create component variants". Figma automáticamente los organizará en un component set.
  4. Configura las propiedades: En el panel derecho, verás la sección "Variant properties". Aquí puedes agregar o modificar las propiedades para organizar mejor tus variantes.
  5. Nombra correctamente: Usa el formato "Nombre / Propiedad1 / Valor1 / Valor2" para una navegación clara. Por ejemplo: "Alert / Type / Success / With Icon".
  6. Publica en biblioteca: Si trabajas en equipo, publica el componente en la biblioteca de equipo para que otros puedan acceder a él.
⚠️ Error común: Muchos diseñadores cometen el error de crear demasiadas variantes innecesarias. Por ejemplo, crear variantes separadas para "botón con texto corto" y "botón con texto largo" cuando esto podría manejarse con auto layout y text truncation. Cada variante adicional aumenta la complejidad del sistema. Solo crea variantes cuando hay diferencias funcionales o visuales significativas que no se pueden lograr de otra manera.

Propiedades de componente: texto, booleanos e instancias

Las component properties son herramientas poderosas que te permiten crear componentes verdaderamente flexibles. Hay tres tipos principales:

1. Text Properties (Propiedades de texto): Permiten que los usuarios cambien el contenido de texto del componente. Por ejemplo, el texto de un botón puede ser "Aceptar", "Enviar", "Cancelar", etc. Sin estas propiedades, tendrías que crear un componente por cada texto posible.

2. Boolean Properties (Propiedades booleanas): Son interruptores de encendido/apagado que muestran u ocultan elementos. Un botón puede tener un ícono a la izquierda, a la derecha, o ningún ícono. Estas propiedades son perfectas para elementos opcionales.

3. Instance Swap Properties (Propiedades de intercambio de instancias): Permiten intercambiar una parte del componente por otra instancia. Por ejemplo, en una tarjeta de producto, podrías querer cambiar el tipo de imagen (horizontal, vertical, cuadrada) usando esta propiedad.

4. Component Properties (Propiedades de componente anidado): Permiten incrustar otros componentes completos dentro del componente principal. Por ejemplo, una barra de navegación podría tener una propiedad que permute entre diferentes componentes de menú.

Trabajando con variantes en el editor

Una vez que tienes tus variantes configuradas, el flujo de trabajo en el editor es intuitivo. Selecciona cualquier instancia del componente y en el panel derecho verás todas las propiedades disponibles organizadas en secciones. Puedes:

  • Cambiar entre variantes usando los menús desplegables
  • Activar o desactivar booleanos con interruptores
  • Escribir texto directamente en las propiedades de texto
  • Intercambiar instancias usando las propiedades de swap

Este enfoque mantiene todas las instancias vinculadas al componente maestro, lo que significa que cualquier cambio en el componente principal se propagará a todas las instancias (a menos que hayas hecho overrides específicos).

Expandir: Diferencias entre variantes y propiedades de componente

Es importante entender la distinción conceptual entre variantes y propiedades:

Variantes son versiones predefinidas y fijas del componente que tú, como diseñador del sistema, decides crear. Un usuario no puede crear nuevas variantes; solo puede seleccionar entre las que tú proporcionaste. Las variantes son útiles cuando conoces de antemano todas las combinaciones posibles y quieres mantener control strict sobre ellas.

Propiedades de componente son controles que permiten a los usuarios personalizar aspectos del componente de manera más libre. Mientras que las variantes crean combinaciones predefinidas, las propiedades permiten variaciones dinámicas basadas en las opciones que tú habilitaste.

En la práctica, frecuentemente usarás ambas herramientas juntas. Las variantes manejan las diferencias estructurales (como tipo de botón, tamaño, estado), mientras que las propiedades manejan la personalización de contenido (como texto, imágenes, elementos opcionales).

Auto Layout y variantes: una combinación poderosa

El verdadero poder surge cuando combinas auto layout con variantes y propiedades. Auto layout permite que los componentes se adapten dinámicamente a su contenido, mientras que las variantes proporcionan diferentes configuraciones predefinidas.

Por ejemplo, un componente de "input field" (campo de texto) con auto layout y variantes podría:

  • Ajustar su altura automáticamente si el texto es de una o múltiples líneas
  • Expandirse o contraerse según el contenido
  • Mantener padding consistente sin importar el tamaño del texto
  • Adaptarse cuando cambias entre variantes de diferentes tamaños

Para implementar esto correctamente, asegúrate de que tu auto layout esté configurado en el componente base y que las variantes hereden estas configuraciones. Si una variante específica necesita comportamiento diferente, puedes ajustar el auto layout para esa variante particular.

📌 Dato interesante: Figma permite crear hasta 1,000 variantes en un solo component set. Sin embargo, desde un punto de vista práctico, los sistemas de diseño más complejos raramente superan las 50-100 variantes por componente. Si estás alcanzando números muy altos, considera reorganizar tu arquitectura de componentes o evaluar si realmente necesitas tantas variaciones.

Nombrado y organización de variantes

La organización y el nombramiento de variantes es crucial para la mantenibilidad a largo plazo. Un esquema de nombres consistente facilita la navegación y reduce la confusión, especialmente en equipos grandes.

Patrón de nombreEjemploCuándo usarlo
Categoría / Tipo / Tamaño / EstadoButton / Primary / Large / HoverComponentes con múltiples dimensiones configurables
Nombre / VarianteIcon / Arrow RightVariantes simples de un solo atributo
Tipo / Modificador / PosiciónBadge / Success / LeftElementos con posición variable
Objeto / AcciónToggle / On, Toggle / OffEstados booleanos simples

Además del nombramiento, considera crear una guía de estilo o documentación interna que explique tu sistema de variantes. Esto es especialmente útil cuando trabajas con desarrolladores que necesitarán implementar estas variantes en código.

💡 Tip de organización: Utiliza frames o páginas separadas en Figma para organizar diferentes categorías de componentes. Por ejemplo, una página para componentes atómicos (botones, inputs, badges), otra para componentes compuestos (tarjetas, modales), y otra para patrones de página (headers, footers, navegación). Esto facilita la navegación y el mantenimiento.
Expandir: Mejores prácticas para teams grandes

En equipos de diseño con múltiples miembros trabajando en el mismo archivo o biblioteca, considera estas prácticas adicionales:

Convenciones de equipo: Establece reglas claras sobre cómo nombrar y organizar variantes.文档 todo en un documento de "Sistema de diseño" que todos puedan consultar.

Ownership de componentes: Asigna responsables para cada conjunto de componentes. Si alguien necesita hacer cambios, debe coordinarse con el owner para evitar conflictos o inconsistencias.

versioning semántico: Cuando publiques actualizaciones a tu biblioteca de equipo, usa versionamiento semántico (major.minor.patch) para que los usuarios puedan entender el impacto de las actualizaciones.

Reviews de diseño: Implementa un proceso de revisión donde los cambios en componentes principales pasen por revisión antes de ser publicados. Esto mantiene la consistencia y evita cambios no deseados.

Testing de variantes: Crea páginas de prueba donde puedas ver todas las combinaciones de variantes juntas. Esto facilita identificar inconsistencias o problemas.

Prototipado con variantes

Una ventaja menos conocida de las variantes es su integración con el sistema de prototipado de Figma. Puedes crear interacciones que cambien entre variantes de un mismo componente, lo que es extremadamente útil para demostrar diferentes estados de la interfaz.

Por ejemplo, si tienes un componente de "dropdown" con variantes para los estados "closed" y "open", puedes crear un prototipo donde:

  1. El usuario hace clic en el dropdown
  2. La interacción cambia la instancia de "dropdown closed" a "dropdown open"
  3. El prototipo muestra la animación de transición entre variantes

Esto es mucho más limpio que mantener estados separados o duplicar componentes para prototipos.

⚠️ Advertencia sobre prototipos: Cuando uses variantes en prototipos, recuerda que cualquier cambio que hagas en una instancia de prototipo (como overrides de texto) no afecta al componente maestro. Sin embargo, si modificas las propiedades de la variante directamente en el prototipo, esos cambios podrían persistir. Sé cuidadoso con lo que modificas durante el prototipado para evitar confusiones.

Errores frecuentes y cómo evitarlos

A continuación, una tabla con los errores más comunes al trabajar con variantes y propiedades, junto con sus soluciones:

Error comúnProblema que causaSolución
Crear demasiadas variantesDificultad para mantener y navegarUsa propiedades booleanas y de texto para variaciones menores
No usar auto layoutComponentes rígidos que no se adaptanAplica auto layout desde el componente base
Nombres inconsistentesConfusión en equipos grandesEstablece convenciones de nombrado desde el inicio
Detaching componentes prematuramentePierdes la conexión con el sistemaUsa overrides antes de hacer detach
Propiedades booleanas contradictoriasEstados imposibles o confusosPlanifica todas las combinaciones antes de implementar
📌 Nota sobre detach: Hacer "detach instance" (Cmd/Ctrl + Alt + B) es a veces necesario, pero debe ser tu última opción. Antes de hacer detach, considera si puedes lograr lo que necesitas usando overrides, propiedades de componente, o simplemente creando una nueva variante. Una vez que haces detach, el componente pierde toda conexión con el maestro y los cambios futuros no se propagarán.

Ejercicio práctico: Sistema de botones completo

Vamos a aplicar todo lo aprendido creando un sistema de botones profesional. Este ejercicio te servirá como plantilla para crear tus propios sistemas de componentes.

Propiedades a definir:

  • Type (Tipo): Primary, Secondary, Ghost, Destructive
  • Size (Tamaño): Small (32px), Medium (40px), Large (48px)
  • State (Estado): Default, Hover, Pressed, Disabled, Loading
  • Icon Position (Posición de ícono): None, Left, Right

Esto结果 en 4 × 3 × 5 × 3 = 180 combinaciones posibles, pero con nuestro sistema de variantes y propiedades, solo necesitamos crear 60 variantes base (4 × 3 × 5) y dejar las 3 opciones de ícono como una propiedad booleana.

El número total de variantes que necesitas crear es menor porque muchas combinaciones se pueden lograr dinámicamente con las propiedades:

  • 4 tipos × 3 tamaños × 5 estados = 60 variantes base
  • Las posiciones de ícono se manejan con propiedades booleanas

Esto es significativamente más eficiente que crear 180 componentes separados.

💡 Tip final: Cuando crees sistemas de botones, incluye siempre variantes para todos los estados, incluyendo "loading". El estado de carga es frecuentemente olvidado pero es crucial para cualquier interfaz que se conecte a procesos asíncronos. Considera también agregar variantes con diferentes longitudes de texto para asegurar que el botón funcione bien con textos cortos y largos.

Recursos adicionales para profundizar

Expandir: Plugins y herramientas complementarias

Existen varios plugins que pueden mejorar tu flujo de trabajo con variantes:

Variants Generator: Este plugin te ayuda a generar múltiples variantes basadas en un componente base, útil cuando necesitas crear variaciones sistemáticas.

Iconify: Perfecto para gestionar grandes bibliotecas de íconos y cambiar rápidamente entre diferentes íconos en tus propiedades de swap.

Figmaspec: Te permite documentar tus componentes directamente en Figma, incluyendo información sobre cada variante y propiedad.

Tokens Studio: Si trabajas con design tokens, este plugin facilita la sincronización entre tus tokens y los componentes de Figma.

Recuerda que los plugins son herramientas de apoyo, no sustitutos del dominio de las funcionalidades nativas de Figma.

El verdadero poder de Figma no está en crear interfaces bonita, sino en crear sistemas de diseño que escala elegantemente. Las variantes y propiedades son el fundamento de esa escalabilidad.

Conclusión y próximos pasos

Dominar las variantes y propiedades de componentes es una habilidad fundamental para cualquier diseñador de interfaces moderno. Te permite crear sistemas de diseño escalables, mantener consistencia en proyectos grandes, y colaborar eficientemente con equipos de desarrollo.

Recuerda los puntos clave:

  • Planifica tu arquitectura de variantes antes de crear
  • Usa un esquema de nombramiento consistente
  • Combina variantes con propiedades para máxima flexibilidad
  • Documenta tu sistema para facilitar la colaboración
  • Practica con ejemplos reales para internalizar los conceptos

En la siguiente lección de este módulo, exploraremos cómo crear design systems completos que integren todos los conceptos de componentes, variantes, y propiedades que has aprendido.

🧠 Quiz rápido

Pregunta 1: ¿Cuál es la diferencia principal entre una "Variant" y una "Component Property" en Figma?

  • A) No hay diferencia, son lo mismo
  • B) Las variantes son combinaciones predefinidas fijas, mientras que las propiedades permiten personalización dinámica
  • C) Las propiedades solo funcionan con texto, las variantes con cualquier elemento
  • D) Las variantes son temporales, las propiedades son permanentes
✅ Respuesta correcta: B. Las variantes son versiones predefinidas del componente que el diseñador crea anticipadamente (como diferentes colores o tamaños), mientras que las propiedades de componente son controles que permiten a los usuarios personalizar aspectos de manera más flexible (como cambiar texto o mostrar/ocultar elementos opcionales).
🧠 Quiz rápido

Pregunta 2: ¿Cuántas variantes necesitas crear para un botón con 3 tipos (Primary, Secondary, Ghost), 2 tamaños (Small, Large) y 2 estados (Default, Hover)?

  • A) 3 variantes
  • B) 7 variantes
  • C) 12 variantes
  • D) 6 variantes
✅ Respuesta correcta: C. El cálculo es 3 tipos × 2 tamaños × 2 estados = 12 variantes. Cada combinación de propiedades constituye una variante separada en el sistema de Figma.