Allow component instance overrides to be inherited by all states
Currently (XD 126.96.36.199), if I drop an instance of a component and then adjust part of it (text in a button, size of the instance, etc.), that override is only applied to the selected state of the instance. So, if I have a button with many states (normal, hover, disabled, active, default action, etc.) I have to manually apply that override to each state of the instance. This is extremely tedious and error prone.
Please provide the ability to have an override of an instance be inherited by all states in that component instance.
Jack Minogue commented
I absolutely need this functionality. Its killing me to re-create text overrides across all states of my components. Please put it in the next release!
Luke Mazza commented
This is a breaking issue and an obvious bug in my opinion.
What's the point of a component (and states) if you can't change the text/color/styles without unsyncing the various states from each other?
We started rolling out states in our design system but had to roll it all back because it was breaking our prototypes.
Cyrill Studer commented
Shame on you, Adobe. Your new "component state" feature can't even support a simple button use case. *sigh* I had high hopes for XD but it seems like the team at Adobe are creating a mess.
Agree with everyone's comments. Design systems created with states can't work without this functionality.
Matt Talebi commented
OMG, I am dying because of this 🤪
Spas Kakarchev commented
It's so weird that isn't the default behavior. It looks more like a bug rather than how it was intended, considering menus with many items with different texts is probably the most common use of that feature.
I can't even think of a situation where you wouldn't want instance overrides to carry over to all of their states.
I can't add state without breaking my click-through demo.
My button instances inherit from a generic button with a label "Primary". All instances label have been customized "OK", "Update" etc. If I add an hover state to the master, all the instances will display "Primary" on hover instead of displaying the custom label.
Same goes for color. I don't want to fix dozens of buttons instances I have.
100% agree, it's so tedious having to change every single state of a component when I apply a different text or color.
Thanks but I saw that when you resize le main state, it doesn’t work every time but the real thing is that when you create for exemple a text menu, it is not interesting to change the main object but each copy to fit
Thanks for your feedback.
If you resized the Default State in the Master component all other states will change to reflect that new size.
However, if you created an instance of the master component and changed the size of its default state, the other states won't change in size. This is an area that we're working to improve the experience in so stay tuned.
when you resize a component with multiples states (for exemple a button with his hover and clicked) it would be great to resize automatically each states in a same time.
Yep it sucks... I have a button master component with a hover state... and each time I create instance I have to resize it twice and rewrite the text inside the button also twice... which makes me question -> why not to use simple group instead?
Niklas Drugge commented
This should really be the default behavior of the component state functionality.
How can I resize all component states?
When I resize the component, it changes the size only of this state, is there any way to resize all states simultaneously?
Hatem Riahi commented
Components with States combined in Repeat grid makes very tricky results, not only because of the multiple texts and images edits needed through States but when switching between States it updates all other elements of the grid repeat Component Instances according to the last edited Instance Component's State data. Ungrouping resolves the updates, but the Repeat Grid's advantage gets lost.
Lucas Matos commented
I have animated icons with auto animate and wish to use them in two sizes: Small size in the menu and big size in the features page.
When I scale up or down the component it only scale that one specific state. We need it a way to scale all states so we can have a few less components. and a fast workflow.
When using states for controls, there is no logic in making each states a different size or label. It would save a lot of time and mistakes to lock some attributes that will always be identical between states.
Harun Alikadić commented
Yes. Component states should behave like components. This includes interactions to be copied to all states. This is essential for a menu component in which each state is active state of each menu item. But if I change the default state all should inherit.
Armando Scuro commented
man i was so happy to try out states feature, only to realize that now i have to change text, images, size for every component again. defeats the whole purpose of doing states on the MASTER component.