`figma connect preview` support for nested components props
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 54/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- figma, typescript
- Domain
- developer-experience
Research direction
Start by locating the figma connect preview command and the code that builds the --inspect and --output json property lists. Check how nested component instances are represented in the Figma data and compare that with the current boolean output for “Assistive text.” Done means both preview formats report nested component properties accurately so they can be used to test templates.
Written by the indexing model from the issue text.
Description
Recently I started to experiment with the CLI preview feature and notice it can only receive props that belong strictly to the component.
Often my team designers share components that rely on nested instances. See in the image below the "Assistive text" nested component:
As you can see in the image below, the nested component value is a relevant prop for the component code:
When I run the preview command with the --inspect flag, Assistive text is represented as a boolean, which is not the case - it's a nested component.
● components.figma.batch.json (198:33673)
Name Type Options Default
------------------------ ------- ------------------------------------------- ---------
[𝐓] Label Text "Label"
Trailing label (Default) Boolean true | false true
Assistive text Boolean true | false false
Leading label Boolean true | false false
Selection Variant None | Selected | Partial "None"
State Variant Default | Hover | Active | Focus | Disabled "Default"
Error Variant True | False "False"
Similar output is generated with --output json:
[
{
"filePath": "components.figma.batch.json",
"nodeId": "198:33673",
"availableProperties": [
{
"name": "[𝐓] Label",
"type": "TEXT",
"default": "Label"
},
{
"name": "Trailing label (Default)",
"type": "BOOLEAN",
"default": true
},
{
"name": "Assistive text",
"type": "BOOLEAN",
"default": false
},
{
"name": "Leading label",
"type": "BOOLEAN",
"default": false
},
{
"name": "Selection",
"type": "VARIANT",
"variantOptions": [
"None", "Selected",
"Partial"
],
"default": "None"
},
{
"name": "State",
"type": "VARIANT",
"variantOptions": [
"Default",
"Hover",
"Active",
"Focus",
"Disabled"
],
"default": "Default"
},
{
"name": "Error",
"type": "VARIANT",
"variantOptions": [
"True",
"False"
],
"default": "False"
} ]
}
]
Being able to test the templates with the nested component values is quite relevant for our team to ensure these are working as we designed them.
- Dominant language
- TypeScript
- Stars
- 1.6k
- Forks
- 126
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from figma/code-connect
-
normalizePropName strips `#` characters from Figma property names instead of only the `#id` suffixOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
figma/code-connect#419 ·
-
feature request
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
figma/code-connect#403 ·
-
feature request
Difficulty 5/5 Over a week Newbie friendliness 38/100
figma/code-connect#414 ·
-
feature request
Difficulty 4/5 3-5 days Newbie friendliness 48/100
figma/code-connect#413 · 1 comment ·
-
API question
Difficulty 4/5 3-5 days Newbie friendliness 48/100
figma/code-connect#408 · 3 comments ·
All issues in figma/code-connect
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
jeanibarz/knowledge-base-mcp-server#1268 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Koenkk/zigbee-herdsman-converters#13820 ·
Maintainers usually reply within 2 days
-
A live recovery copy treats a large whole number and text with the same digits as the same valueOpenbug sharing & sync
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Maintainers usually reply within 1 day
-
[prefer-expect-resolves] autofix leaves a stray ")" when the awaited expression is parenthesizedOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
jest-community/eslint-plugin-jest#2052 ·