Propiedades de los componentes de Figma

Relay reconoce las propiedades de los componentes de Figma definidas en los componentes empaquetados. Desde el punto de vista conceptual, las propiedades de los componentes de Figma son similares a los parámetros de Relay, aunque hay algunas diferencias.

Diagrama: Capas vectoriales a VectorDrawable a Image

En general, las propiedades de los componentes de Figma no requieren que el complemento Relay se configure y use, por lo que es preferible usarlo en los parámetros de Relay cuando hay superposición. Sin embargo, ten en cuenta que los parámetros de Relay permiten un comentario descriptivo, que se transfiere al código generado, mientras que las propiedades de los componentes de Figma no lo hacen.

A continuación, obtén más detalles sobre los diferentes tipos de propiedades de los componentes y cómo los interpreta Relay.

Propiedades booleanas

Las propiedades booleanas controlan si los elementos se muestran en un diseño en particular. Pueden reducir drásticamente la cantidad de variantes que un componente necesita definir. Por ejemplo, un botón con un ícono opcional no necesita variantes separadas para el estado que se muestra y el ícono oculto.

Relay respeta los parámetros booleanos en los componentes empaquetados y genera la firma de la función @Composable adecuada.

Propiedades del texto

Las propiedades de texto son casi idénticas a los parámetros de contenido de texto de Relay; la única diferencia es la compatibilidad con comentarios de documentación. Si tanto los parámetros de Relay como las propiedades de texto se declaran en la misma capa, Relay usa la definición del parámetro para permitir comentarios. Sin embargo, en este caso, se debe tener cuidado para evitar confusiones al usar una denominación coherente.

Si los comentarios no son necesarios para un parámetro en particular, te recomendamos usar una propiedad de texto de Figma para que sea más simple.

Propiedades de intercambio de instancias

Las propiedades de intercambio de instancias permiten a los clientes de un componente intercambiar instancias dentro de un elemento secundario. En teoría, es similar a los parámetros secundarios de Relay, pero hay algunas diferencias críticas:

Aplicabilidad: Las propiedades de intercambio de instancias solo se pueden aplicar a capas de instancias. Sin embargo, los parámetros secundarios de retransmisión se pueden aplicar a instancias, marcos o grupos. Como resultado, el uso de propiedades de intercambio de instancias requiere que el contenido intercambiado sea un componente en sí mismo, mientras que Relay permite que el contenido sea cualquier subjerarquía de capas.

Alcance: Las propiedades de intercambio de instancias solo pueden tener su valor establecido en el componente de nivel superior de una jerarquía de componentes. Por el contrario, los parámetros secundarios de retransmisión se establecen en cualquier nivel de la jerarquía en el que el parámetro no se expone en el nivel superior.

Relay reconoce las propiedades de intercambio de instancias declaradas en los componentes empaquetados y las trata, en la medida de lo posible, de la misma manera que los parámetros secundarios (por ejemplo, emitir la misma firma de función en el código generado). Si se declara un parámetro secundario de Relay en una capa de instancia, su definición tiene prioridad sobre la propiedad de intercambio de instancias (si la hay) declarada en esa capa.

Al igual que con las propiedades de texto, el uso de una propiedad de componente de Figma y un parámetro de Relay en la misma capa puede causar confusión si los nombres no son coherentes. Sin embargo, debido a que los parámetros secundarios tienen diferencias significativas en la capacidad de las propiedades de intercambio de instancias, no tenemos una recomendación general sobre cuál usar y dónde. Ambas son posibilidades. El uso previsto del componente determinará esta decisión.

Propiedades de las variantes

Las propiedades de variantes se crean de manera implícita cuando los componentes tienen más de una variante. Relay admite propiedades de variantes traduciendo a valores enum en el código generado.

Los diseñadores también pueden declarar los parámetros de retransmisión que exponen las propiedades de las variantes para las capas de instancia en un componente empaquetado.