Access bound Figma variable names in Template API
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
- Área
- developer-experience
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
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de figma/code-connect
-
normalizePropName strips `#` characters from Figma property names instead of only the `#id` suffixAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
figma/code-connect#419 ·
-
feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
figma/code-connect#403 ·
-
feature request
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
figma/code-connect#414 ·
-
feature request
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
figma/code-connect#413 · 1 comentario ·
-
feature request
Dificultad 4/5 3-5 días Aptitud para principiantes 54/100
figma/code-connect#412 · 1 comentario ·
Todos los issues de figma/code-connect
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vercel-labs/ui#540 ·
Los mantenedores suelen responder en 1 día
-
accepted ai-dev ai-implementing
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
livesport/homer#218 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Negative values skip k/M abbreviation and medium decimal format on line, stacked-area, and tooltipAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
britecharts/britecharts#1255 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
jeanibarz/knowledge-base-mcp-server#1268 ·
Los mantenedores suelen responder en 1 día