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.
Crazy that this isn't how this works from day 1. The feature isn't complete without this. No one wants to redo their overrides for every single state on every instance. Makes this feature almost useless.
I am surprised that this feature has so few votes. This is essential!
Padding is nice ! It's now possible to create a button which automatically rezised with my label.
Let's go further now.
I've a component with padding ON. This component has also a hover state. In this hover state I've got a beautiful animation using a mask with the same shape as my button.
Problem is when when I changed my label my button width change but not my mask layer. So my hover state doesn't work anymore.
When the size of my component dynamically changed all layers with responsive mode need to resized also dynamically.
Wojciech Obuchowicz commented
Absolute stopper for starting use xD components. Recreate whole text nodes is unreal. Thanks for fixing this.
Absolutely agree that this needs to be fixed! Current implementation breaks our flow of designing, as we need to manually apply overrides in every state of a component. It currently just costs too much time to work with.
Kalia Hayes commented
This is such a need for me. It's getting so annoying that I'm already on the hunt for alternative programs.
I have the buttons that have different text lengths with the same hover effect. When I resize the default state, the other states need to be resized at the same time, which makes the component more powerful and reusable.
yes when you use a button on both mobile and desktop it's really annoying you have to rescale everything, it's really time consuming
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.