Skip to main content

Hello,

I’ve developed a plugin that creates lines between two rectangles in Figma, and I’d like to apply or assign an existing color variable to this new line. I’ve tried using this code,

    // Create the line as a vector
     const line = figma.createVector();

    // Set line properties
    line.resizeWithoutConstraints(1, 1);
    line.strokes = [{ type: 'SOLID', color: { r: 0.616, g: 0.651, b: 0.725 } }];
    line.opacity = 0.6;
    line.strokeWeight = Math.floor(Math.random() * (8 - 1) + 1);

    // Try to assign an existing variable to the newly created line
    const fillsCopy = line.clone(line.strokes);
    const variable = figma.variables.getVariableById("VariableID:1303:9577");
    
    const newStrokes = figma.variables.setBoundVariableForPaint(fillsCopy, 'color', variable)
    line.strokes = newStrokes

but I’m struggling to pinpoint the issue. Here’s the error that’s being displayed:

Error: in setBoundVariableForPaint: Expected "paintCopy.type" to be one of the allowed values for this property

Any ideas on how to fix this? Thanks!

figma.com

Thank you for your response; it’s much clearer now. I’ve updated my code, and it’s working perfectly! 👌