Skip to content

How to transform string values from Figma before passing them to example? #320

@mryechkin

Description

@mryechkin

Is there a way to perform operations on the prop values coming from Figma, before they're passed to example?

My scenario is as follows:

  • We have an Errors component that accepts an array of error messages (as strings), ie. <Errors errors={['Error 1', 'Error 2']} />
  • The design component in Figma has a single text property, where the error messages are specified

Currently I have the following in my Code Connect file:

import figma from '@figma/code-connect';

import { Errors } from 'src/components';

figma.connect(
  Errors,
  '[redacted]',
  {
    props: {
      errors: figma.string('text'), // I'd like to transform this to an array, ie. `[figma.string('text')]`
    },
    example: ({ errors }) => <Errors errors={errors} />,
  },
);

Since the Errors component only accepts an array of strings, and not a single string, the above doesn't work. I need to be able to put figma.string('text') into an array, however nothing I tried seems to work.

If I do the following, then Figma renders it as-is, without using the actual value of errors:

example: ({ errors }) => <Errors errors={[errors]} />,

And if I try putting figma.string('text') into an array before passing it to example, then I get <Errors errors={[undefined]} /> output in Figma.

Is there a way to accomplish this? If not currently, is this something that is on the roadmap? Not being able to perform operations on the values coming from Figma is pretty limiting IMO.

Code Connect version: 1.3.5
OS: MacOS 26 (Tahoe)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions