Allow component instance overrides to be inherited by all states
Currently (XD 184.108.40.206), 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.
Should be available in the next release! (Xd 37.x.x 🤞)
There are moments where you'd want the instance to have different states that aren't copied. For example if you are trying to do a specific override.
I think this requires a little thought, which is why it's still under review. Maybe if "default" were template instead and you are required to create all states from there.
I already do that in some cases already where I'll leave the default as the true master then create a new default state so if I have to go back and make a change to only the default, it doesn't make that change on all of my other states that I then have to go through and make changes to all the other states to undo it.
That being said. I'd love to be able to make text and size changes on a copied component in that "Default/Template" state and make it transfer to the other states in this instance.
Darya Kruhlyak commented
totally agree with it!
Inherit text changes is the big one for me. Creating buttons is a very laborious task.
This is a must to efficiently work with component states.
For example: I have a component that represents an input. It has a label and an icon which when hovered shows a tooltip. The icon is a component with a hover state and the input component has the following states:
- Default (empty)
- Hover (the border chages color)
- Filled (a value is added)
- Error (shows error messages and changes the label and border color)
- Disabled (changes the backgorund color)
The problem is that, when working with its instances I have to update the label text, icon placement, tooltip text and tooltip size for each one of the states. This behavior makes the usage of component states very painful and almost useless.
The correct behavior should be that if I update the "Default" state on the instance, the other states that has the same elements must follow the same way it is done when we update the "Default" state in a root componet (the original component). With this behavior we can change what is needed only once and the other states will follow.
I really do not understand why it is not already implemented. Not even planned to be implemented.
>>>> please fix this <<<<
Ji Hoo Yoon commented
Why this is still under review ?
Please Adobe, this is a must. The current component / states system is awesome, but this will save us a ton of work. At the very least, states inheriting text changes would be extremely useful.
Tomas As commented
Yes do it!
I wholeheartedly support this request. It's not even a feature request but feels more like a bug. For me the current behaviour is really frustrating and I often find myself using separate components for what should have been states. For example, I can't have one button with disabled, pressed at whatnot states (that only differ by colour) simply because when I place an instance on the comp I have to go and change its label throughout all states and if the label doesn't fit I have to change the instance's width on all states, etc.
For me the best way for this to work is to treat custom states somewhat like instances of the default state – if a parameter is not overriden on the custom state, propagate it's value from the default.
Yes, I've tried to find a workaround so that my design system can include button states, but haven't been able to.
Please fix this asap.
Jon Crowell commented
please fix this. it's a needed improvement
Stephan Lenting commented
I was very unpleasantly surprised this still works horrible...
Why is voice or 3D prototyping a higher priority than a optimal basic workflow for UX design?
Get this right, it's incredibly frustrating!
Please fix this as massively frustrating waste of time, energy and resources to have to update component states.
An additional consideration is nested symbol auto-layout working properly together e.g:
- Parent Button component with a nested background component (to manage hover colour change)
- Background component set to auto size to match size of the button component
Expected / desired behaviour:
- When button resized then all states of the nested component resize at the same time
- Only the state of the nested component that is 'visible' when the parent button is resized resizes - the other states don't 🤦♂️
....please fix this....
Andrew Freire commented
I would like to 643rd this vote. If I edit a component state instance I should be able to save the changes back to the main component state. Very similar to how you can update a text style in word once you've overwritten it. Not having this is making component states extremely frustrating especially when I spend an hour tweaking a component state only to realize I was tweaking the instance and not the master
Our team loves Adobe XD and we have been a huge fan of components!! Unfortunately we keep running into scenarios where we spend lots of time updating component elements across multiple states. Please add the capability for states to inherit overrides.
*Also ... if you want to allow for state re-ordering in the UI panel while you're under the hood it would be very much appreciated.
Thanks for all the hard work you've put into this so far!
Please fix this issue. Makes XD unusable for interfaces that have states
Really??? Come on Adobe... Going back to Sketch seems like the most sensible solution.
YOU MUST BE KIDDING!!!!!!
Just coming over from Sketch (on client's behalf) and having 20 years experiecnce with Adobe Software I was thinking this shouldn't be so hard, but THIS?!!?? One year in the making and this … is … STILL … NOT … FIXED???
I will spell it out once more: IF OVERRIDES TO NOT PROPAGATE TO STATES THE WHOLE CONCEPT OF HAVING COMPONENTS IS USELESS!
I really can't wrap my head around the fact that this has not been fixed in over one year. Probably COVID's fault, too, right?