Keep elements properties between states (propagate text)
It would be awesome to be able to mark some elements inside a compontent to not change some properties on its states, for example, text. If I change the text on the main state, it would change the text inside the other states. With that, I would be able to improve my work on making hover buttons all over my prototype. The way it is now, I need to change the text inside all the states, what makes it impossible.
Edu Couchez commented
Same here... one of those typical XD stress creators and time waster... each time I've to do a single text change in a menu or button, I've to manually copy paste it again in all the descedant states. When it is a complex component, with high hierarchy logical components structure, is absolutelly impossible to predict results.
After weeks of work, I've always to break everything and start to build again each component, wasting hundreds of hours, and most important: health... cognitive frictions, rigid and unintuitive UI, estress and lots of errors due to bad user workflow.
XD is still a beta app, we pay to work as betatesters. Worst of all... we have to vote to get common sense!! Where are the UX designers at Adobe?
Tobias Frithiofsson commented
When using a component (the same one) in a list it would be great if you could highlight multiple and change their view state
ex. have a button component with two states (default and hover).
I use the component to make two buttons (Cancel and Save).
I first change the text for "Cancel" in Default State then i jump to Hover State and add the same text there.
I then change the text for the next button to "Save" in Default State then jump to Hover state and add the same text there.
The two buttons are now in the same state (Hoover state) and i would like to highlight them both and say: Go to Default state.
Antoine G. commented
Still no answers from Adobe. It would be nice to have an update on this feature, please. This feature would be very much appreciated for high-fidelity mockups using a design system.
Andrés Sanz commented
It is something very heavy to be continually changing the text for each version of the component. If it is changed in the father, it should be changed to his children. And I mean the parent component but not the main one, otherwise we don't earn much.
Gerald Wildmoser commented
I fully agree. It would be a great plus and swift XD forward as a tool for design systems.
Juho Röyhy commented
Currently updating highly interactive component contents is a mess. For each instance you need to go through all of the states and update contents & size as there's is no propagation possibilities.
Currently changes done to main component propagate to all instances of component if there hasnt been done any overrides in instances regarding updated parameters. This sort of propagation should be applied to component instances default state as well to easily update all of the child states with proper content / size.
See attached picture describing the issue and solution in the best possible way.
Come on Adobe - Jump to it. Your button interactions HAVE TO separate content from design otherwise the workflow on this is SO tedious. Has anyone worked out a way around this?
Eshkar Galili commented
Sometimes I edit an object inside a component it changes the object in all other states, and when I delete or add an object and it deletes or adds it to the rest of the states in unpredictable ways.
I would like for there to be a way for me to check a box saying weather I am changing the object only for the current state or for all of the states.
Secondly, I would love it if there was an onion layer option like there is in Adobe Animate where I can see all states at once, where the inactive states are transparent and the active state is full opacity.
Rafael Lopes commented
When create hover state for a text component and replicate it I have to change the text of copies two times (main and hover). I'd like change text of main state of copy and XD change text of hover state automatically.
Maybe we can have it when you right click a component and select "Force changes through all states"?
Dunno if someone has requested this or if already possible somehow, but this would save me sooo much time.
Example: If I make a button component (or whatever) with multiple states. If I change the button text in default state it will change the other states as well of this master component. Can we have the same for child components please?
Kit Grose commented
I often design something as a component and make many instances of it before realising I need a variation of the component that substitutes something like an icon (using a nested component).
So I edit the main component for my element, add a new state, swap out the icon with another component and then go back to the specific instance of the component and apply the new state only to find all my text overrides are reset.
This is hugely painful and requires a huge amount of manual correcting.
When editting a Text in a component on Default State also edit on the rest of the States.
Adam CLark commented
It is frustrating when placing a component instance, specifically a button, on the artboard and change the buttons label for every state.
This can be a very time consuming and manual process.
Could we have an override of some fashion to fix the label of all states? Something in the instance properties perhaps and a text field to set the label of the button?
Moises Lopez commented
I have component where the Default state of my text link has a font family as Regular, and in State 2, I changed the font weight to bold, it becomes very painful to reuse that component because I have to re-write the copy in every state. Imagine doing that for 20 links on a main navigation panel... not very fun to maintain either.
Axel Grollemund commented
When using the states for a button or any other component using text.
When using the states for design systems and use it across different features, I need to be able to change the text without having to change every states. Its really time consuming.
Would be great if we could have a text overwrite that replace all the texts keeping the styling of every state.
Matt Playford commented
when creating rollovers it would be nice to create a component with rollover state. The reuse component - changing text in default state, then it automatically being updated in rollover state. I thought it did this but its not doing for me. Which makes creating repeatable simple rollovers pointless.
There is a huge problem with child component and you should take it into consideration.
In my design system I defined a button, my master. This button is made of a background color and a label. There are different state for my button : normal, hover, pressed, disabled, error. So the background or the border and even the color of my label change depending of the state.
When I changed the label's value text on the main state all the other state are changed accordingly. Wonderfull !!!
It's exactly what I want for all childrens in all my different prototypes using this button. But it's not possible... If I change label's text in the main state of a child button I have to change manually all the other state ! And it's huge ! So much time lost... And I don't speak about the fact that if I change the master component children will not take the change.
So may be one solution could be to tag my label's text as overriden element so the value of the label is not part of the component.
If your have questions :)
Melissa Sanchez commented
To have the ability to select which content is kept throughout the different states (text, size, colors, etc), sometimes for example text content is not always auto-updated and has to be changed on all states of each instance.
Components are meant to be used multiple times. Most of the time, when a component, for example a Picture-Text-Link, is used many times we need to change the text und the picture. This has to be done for every state of the copied component manually (default state, hover state, ...). This takes a lot of time and can be slightly annoying.
It would be a great update if changing the text and picture in the default state of a copied component would automatically be adapted in every state of the copied component.