Access bound Figma variable names in Template API

Abierto
#390 0 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
figma, typescript

Línea de trabajo

Start by reading the Template API entry points for getString(), getBoolean(), getEnum(), and getInstanceSwap(), then trace how visual properties such as fills and strokes are exposed from a Figma instance. Check existing Template API tests and identify how they verify property access. Done means templates can read a bound variable name for the requested property and the behavior is covered by tests.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

feature request

Problem

The Template API provides getString(), getBoolean(), getEnum(), getInstanceSwap() — but has no way to read bound Figma variables on visual properties (fills, strokes, text color).

When a component's fill color is set via a Figma variable (e.g. errorColor), the template cannot access that variable name to generate the correct code token.

Use Case

We have a Flutter Badge component where background color is controlled by bound Figma variables. The variable can be any color from our full design system palette — primaryColor, errorColor, successColor, warningColor, and many others. In code, these map directly to theme accessors:

PbBadge(
  value: 'Text',
  color: context.theme.primaryColor,
)

PbBadge(
  value: 'Error',
  color: context.theme.errorColor,
)

Currently the template cannot output color: at all — developers must manually look up the correct token.

Proposed API

instance.getBoundVariable('fills')    // → "primaryColor"
instance.getBoundVariable('strokes')  // → "borderColor"

Template usage (Flutter example):

const fillVar = instance.getBoundVariable('fills');
const colorPart = fillVar ? `\n  color: context.theme.${fillVar},` : "";

export default {
  example: figma.code`PbBadge(
  value: "${value}",${colorPart}
)`,
};

This would generate:

PbBadge(
  value: 'TextValue',
  color: context.theme.primaryColor,
)
Lenguaje dominante
TypeScript
Estrellas
1.6k
Forks
126
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de figma/code-connect

Todos los issues de figma/code-connect

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.