Assign variables to variant properties of the main components & nested instances

Yes, totally agree. I feel like this shouldn’t be a choice.

Running into this issue trying to assign a boolean variable to a boolean property in a nested component. In order to achieve this, I need to break the component link which breaks the whole point of having things built in a component.

I would agree with this as well; something I just ran into myself. I started looking into nested components and updating the properties in the nested components, but that doesn’t seem to be a win as a workaround for this topic since those can only be updated via the instance selected, and you can’t attach variables to those properties created either (which I think could be a good supplement to the variables feature). Would love for this to get fixed since nesting components is widely used, especially for any dropdown, navbar, or menu!

2 Likes

Also running into the nested component issue with variables.

It feels like one of the major hurdles that needs resolving to fully adopt a variable workflow.

I would say this is more important than any other variables issue right now. Anyone building a design system will have used nested components and will have hit this issue after building out all their design system components, only to find they can’t set variables to nested components, frequently used in Dropdowns, Overlays/Popovers, Lists, Menus etc

very much looking forward to getting support for this.

edit - workaround right now is to just not make a collection of Components into a Component, but just keep them in a frame and copy and paste it. Feels a bit wrong and updating it would mean replacing all of the instances of that duplicated Frame if you need to make changes. Workaround is basically more manual work :smiley:

1 Like

I might be talking nonsense - or this might already be possible :thinking:, but hear me out.

What if we could set a variable to a component property? :grimacing:

I was working with a dropdown and thought this could be useful since I have a main component for the dropdown and I want to use it in multiple instances with different text and different placeholders.

Just a thought :thought_balloon:

1 Like

In need of this feature asap, without the ability of setting variables to nested instances I still get cluttered screens because of having to duplicating everything unnecessarily and the workflow is really awful that way. Same with an option to switch variable modes through prototype to make it interactive without workarounds.

1 Like
    1. As a user I want to be able to assign variable values to nested components so that I can significantly reduce the number of instances of a complex component.

Yup, I really need this as well. Seems counter-intuitive that I’d have to detach an instance to assign variables to the nested instances…

+1 from my side.

+1 from my side as well, I would love to have this feature asap :wink:

Cannot tell you how much this, or the lack of, frustrates me. We are like THIS close to tell the component instances to switch to the right variant depending on variant modes!!!

1 Like

I would like to use a string variable to display which component is currently being utilized with a variant interaction.

I have 100 instances of a component. The component has a property called “Component Name”. When the mouse enters one of these components, I would like the prototype variable to be updated to the instance value of the property.

It would be preferable to define this in the component definition, rather than on each of the 100 instances.

Is it possible currently to create a variant interaction:

  • Mouse Enter
  • Set Variable
  • Variable Target: # Component Name
  • to: Component Name
    ?

Hi @Jonathan_Brown, Thanks for reaching out!
I found other community members asking for something similar here.
So I’ve merged your topic with an existing feature request from others in the community to have all the thoughts in one place! Thanks,

any news regarding this?

Hello. What do you mean by “topmost component instance”? I am seeing the ability to set a variable to a component property but only on components I import from another library and not the ones I create locally. I am confused…cheers.

Our team needs the ability of assigning string variables to components text properties.
Now we can’t use variables for localization. Let’s look on buttons as an example:

  • We have button component in our design system file. This button has a text property for its label with a default value “Button label”.
  • This component is shared between all the files in our entire project
  • Of course in all instances of the button the label property is overridden
  • Now I can’t apply string variables to the property at all
  • The only workaround for me to use variables is to delete the text label property in the main component in the design system. But if I delete the property in the main component then all the button instances’ labels in all my files in the entire project will reset to the default value “Button label”. And of course I don’t want to lose all my button labels.
    So for now I don’t see a way to fully localise my files with a variables feature.

Hope to see the ability of assigning string variables to components text properties in the future updates as well as the fix for this “delete text property-> reset to default values” behavior.

1 Like

This issue is now killing me…it seems the variables don’t work well with having sub-components even at the top level. If you assign a conditional at the top level component, nested components interactions regular behavior also seem to stop working. It’s a total nightmare :frowning: It’s almost like we have to go back to not using component interactions to be able to use variables at the moment.

Variables are so limited and yet you already put stuff behind massive paywalls (e.g. 4+ modes). Such a joke.