Reset different aspects of a component
Currently "Reset to master component" resets all aspects of a component including text overwrites and color overwrites.
I'd like to have the option to keep specific overrides of a component on reset. e.g.:
- Keep text overwrites
- Keep color overwrites
- Keep image overwrite
This would help to keep content and design separated and be very helpful. Especially If local adjustments where made and master was changed afterwards
Currently "Reset to master component" is the same as "Delete component" + "Paste master in original position". As a result I need to re-enter everything again.
Scooter Sooz commented
Have just spent an hour creating components in different sizes (with 10 states each, with multiple shapes and colors within), only to learn that when pasted into a new document they revert to the original long out of date component. It's a hugely frustrating moment. I really don't wish to have to recreate everything, but think it may have to happen. Extremely frustrating.
It's obvious I don't know the rules of the program, but assumed it would work a certain way.
It's not intuitive for me.
Przemysław Bagiński commented
Sometimes I would like to reset an instance to the component state but only with one aspect of it - i.e. I want to apply the font style from the master, but keep the content of the text.
Cyrill Studer commented
This would be extremely helpful. Please add this feature!
When you edit a state of a component, it creates an override. There is no way to remove that override. You should be able to remove an override on a property by property basis. Currently, you cannot undo an override in a state at all. You can reverse an override in an instance, but you have to do all of them... That is a horrible way to do it. Also, look at how figma does text overrides... I should not have to set the text for every state of the button instance separately if I set it in the default state.
Thomas Altamirano commented
Please also add an option to reset a component, that has other nested components inside of it, to its master state without resetting its nested components.
I often build master components, that includes other components, which are not in their main state (could for instance be a button with its text changed). If I then dublicate the master component (the one including the nested ones) to create a child of it, overwrite something in it, and then later on regrets it, and chose to reset it to its main state, it will then also reset all the nested components to their individual main state, and not their individually overwritten state i used in the Master Component.
Cyrill Studer commented
Wolfgang Harland commented
So currently, you can use "Reset to Main State" in order to relink all properties back to the main component. It would be great if you could open some sort of checkbox menu that allowed you to relink or unlink all the various property relationships.
This would be helpful when designing for various breakpoints. Maybe my main component is on my smallest breakpoint. Then, I build out my next (medium) breakpoint and I make some changes to this instance (call it instance #2). Then I copy that modified instance #2 to make instance #3. I like most of the modifications that I had made to instance #2, but I realize there are certain properties that I actually want to relink to the main component. Let's say that, in instance #2, I had changed a whole bunch of things, including the stroke weight of an ellipse and it's position. I decide I like that modified position, but I want to relink the stroke weight. I could navigate to that ellipse, right click, select "relink properties" and a menu of checkboxes would pop up. All of the various linked properties would be listed, but I would see that "X,Y Position" and "Stroke Weight" were unchecked. So, I could just check the box for stroke weight, and viola, the ellipse stays in the same position, but the stroke weight is now tied back to the main component.
Viktor Lanneld commented
As a designer I would like to able to see what elements and properties has been overriden on a component instance.
With that feature in place it would also be possible to reset selected parts of an instance to the main state and not only the entire component instance.
Sketch handles this very well.
Overriding a master component is great feature. However, sometimes it's really hard to keep track of all the overwritten styles.
Which style comes from the master component and which one is overrode?
And sometimes I just want to reset a specific style back to the master but keep the rest of my overrides.
A Great solution would be an Idicator in the property inspector which shows what style comes from the master and which one is overrode.
A right-click at the indicator could reveal the option to reset its value to the master components style.
The indicators visibility could be switched on only when needed to prevent the UI from becoming cluttered.
It's true and that's why I don't see much of a difference, between a group and a component at the moment. Unless is a little icon button. But when there is text involved or images, well... good luck with repositioning that!
With the example below, I can't just click on my second (dark-blue) child component and reset it to Master component, in this case all images and texts will be overwritten... this component is used like 50 times... sooo... now what?... now i click every component to readjust all spacing by myself... that's why I say it's not really far from just a simple group...