Figma Support Forum

Nested variant component override controls

it would be nice if the inspector would list overrideable / swappable nested components without one having to drill down into the component’s layers.

This would allow to quickly select multiple components and change an override for all of them. Currently I have to click through the relevant layers of all marked components to adjust the overrides in bulk: E.g. changing an icon override for multiple components.

6 Likes

Agree so much with this, as it would massively improve the usability of components as well as reduce the work required. At the moment, I’m creating components with nested variants, but in order to make it obvious what the component can do I’m creating variants of the top level component that changes the inner variants. A lot of work, but otherwise the nested capabilities are hidden/lost when people go to use the component :cry:

3 Likes

Am curious to see how you are achieving this as I am having the same issue. Love auto layout and everything I can do with it be when our designers use the components the nested components require too many clicks

If you use a variant component as a base component in another variant component, you can just change variations of the top-level component.
in order to get rid of making a huge number of buttons/inputs to have a variant button component, It’s good to show nested variation to change.

At this time if you have a nested variant component you should double click to go inside and edit change variation overrides.
nested-variant-component

I’m looking for something. like this

3 Likes

I do exaclt the same thing, where I work with layered/nested “base” components. I currently structure everything so that the color-variation is on “top”. But often, for example with buttons, I have to go many layers of components deep to hide an icon, or change some variant there. It would be great if we were able to just see options related to nested components from the top layer.

1 Like

This idea can help the user to see nested properties without the need to click inside of an instance.

Here is an example of what I try to explain

Does anyone else find this useful?

13 Likes

I have built multiple components that contain nested components, all of which have variants. It would be fantastic if there was a way to see all variant controls for nested components within the selected “parent” component.

This way you don’t need variations just to control nested components.

6 Likes

@Moderators please merge these feedback all seems to be the same request

3 Likes

@devs This is one of the most peculiar thing that I observed, I mean you still can dig through the nested comps and switch variants so, why not have it up-front ? I’m very curious to know what technical or more likely UX block preventing this to be implemented.

5 Likes

well @devs ?

+1
This is an obvious evolution of the variants I am just waiting for the dev team to do this. Cannot comment on architecture and performance implications, but from the UX perspective of us users this is an necessity. I cringed when reading about poor souls creating components with 3000 variants. No way I am going near that.

3 Likes

Here is example of my ‘icon button’, which has nested ‘icon’ component within its master

soo when I want to change icon inside to something i have to click inside and change it… so a lot of clicking…

I would kill for this kind of ‘Subvariant’ dropdown in right panel

I know this is dummy example but imagine if you have more nested components - example input fields

now it is done in 2 column way but imagine if you could create one component for area of text make 5 states of it… and create other component for different types of inputs… and make VARIABLE INTERACTIONS only for this states component… it would much more cleaner

I would kill for this feature :smiley:

1 Like

Agreed, would love to have the variables of nested components surfaced when you click the main component. Would remove so many unnecessary clicks.

2 Likes

This is the feature everybody that pushes variants up to the limit needs. We need this!

3 Likes

okay now I’m real curious @devs

1 Like

I’m working on a plugin that would surface all variants in selection and allow you to control them in one panel — I need your feedback. What do you think of the following UI options, which one would you prefer? Both views can be useful in different scenarios, so I also added a combined view.

  1. First one shows all separate variant components and their properties (good for working with nested variants).

  2. Second one simply shows all properties (they can be the same on different components, and you would be able to toggle them all at once for all components).

If you have any ideas or improvements for this UI, feel free to add your feedback or design your own screen in this file: https://figma.fun/4JilUV. You will also find a more detailed explanation of the options there.

Tagging the most involved people in this thread: @Saeed_Alipoor @Kenny_Estrada @Phil_Larsen @raghavdesi9ns @Kamila_Owsianka @Federico_Romano

6 Likes

That’s great. Last week I started making a plugin like this too. I will get in touch on the Figma file. Is this going to be open source?

1 Like

Wow, what a coincidence! I’d love to chat with you more about this, feel free to DM me here or on Twitter. Not sure about open source yet.

1 Like

wow, this is just great, 2nd option never occurred to me.
I always prefer more control so I would go with the combined version, but I love the intuitiveness of idea 2.

perhaps there could be a way out for the designer to dictate which of the parameters to be combined which of them not. it could be as simple as adding a ‘-’ prefix to the property or simply name the property something else.

Or properties could be nested in idea 2.
Looks like someone beat me to this idea in your file :ok_hand:

1 Like

I would really like variant properties to propagate when I create new components and use existing components to do this.

Take this example; Here I use the existing Text Field component to create a drop down list. As you can see, the text field component has multiple properties. But once I create the new component, these properties are no longer visible. The only way to “access” these properties is by double clicking the component

Text Field


New Component

I hope this is a feature that is not too difficult to implement.

2 Likes