Skip to main content
JaroslawM
Participant
November 7, 2019
Answered

Feature Request-States do not inherit component instance default state modifications

  • November 7, 2019
  • 44 replies
  • 28568 views

Hi, so the scenario is as follows:

  1. You make a button template component, that has a body shape with fill and border, and a text label.
  2. For that component you add a state - let's say Hover, but any state works the same
  3. You make an instance of the component. You adjust the button width and change the button's label (standard component usecase I suppose?)
  4. You test the hover effect: of course the interaction is applied, but the instance adjustments were not inherited in any way for the instance's states - on hover the button's label changes back to the default placeholder, and the button auto-animates to the master's size.

I suppose the solution is to apply instance modifications to each of the instance's states separately, but that seems like something the component feature should address rather than require the user to do manually for every element.

The new states feature has been especially disappointing with an ongoing app design, where I already have most of the design system established. It was initially logical to me that I could add a Hover state to the component's master and all the instances, across the artboards in the entire prototype would "simply" inherit it, but alas - I found they only show the master's state on hover. Needed to undo all of that since it basically broke the prototype for any kind of use, and I definietely do not have the time to go instance-by-instance and apply all the component edits again.

 

Unless I missed something and am doing this wrong.

This topic has been closed for replies.
Correct answer Sherif Assaf

Hi All -

 

Apologies for the inconvenience around the effort required to manually change states in component instances.

 

We're actively working on addressing this issue so that changes made to the Default State in an instance would propagate to other states within that instance.

 

Stay Tuned.

 

Thanks,

Sherif

 

 

44 replies

Atul_Saini
Community Manager
Community Manager
November 8, 2019

Hi Everyone,

 

Sorry for the delay in response. I certainly understand your frustration about this situation and I'd also like to inform you that I have highlight your feedback to the related team already. 

 

There are a couple of things which I would like to bring up here. To propagate changes to all states, you must edit the default state. As long as the other states haven't overridden the same element property, then all states will receive the update. You also have an ability reset the instance's of components states to Master. 

 

Hopefully this should ease things a little, feel free to update this discussion in case you need further clarification. 

 

Thanks,

Atul_Saini

Known Participant
November 8, 2019

Well, hmm, ahem, er, actually... no. I just confirmed my original assessment. I copied a button component, edited the default text from "OK" to "Cancel" then flipped the copy instance to Hover Sate and lo and behold, the Hover state still says "OK" not "Cancel". That is exactly the behavior we're all complaining about. You say it's not happening. I say it is. One of us is missing something.

Participant
November 8, 2019

Yes, this is driving me crazy! Component states are not helpful if you have to manually edit each state for every instance. It happens with instances from linked asset libraries too. It seems that for each state there should be options for what to inherit or not inherit from the default state or the master - similar to the Manage Overrides feature in Sketch.

Known Participant
November 8, 2019

Yes, Adobe is still playing a half-hearted game of catchup. Thinking about the resources Adobe could apply if they were so inclined, its hard to see XDs shortcomings as anything other than corporate complacency. If Sketch would climb down off its high horse and release a Windows version, XDs market share would shrink to near-zero in a heartbeat. They'd deserve it, too. When first released, components themselves were a malformed disaster that broke most of my symbols, costing me scores of hours and my employer $KK in lost time. But instead of learning a lesson, Adobe has released yet another half-built feature. Oh well, at least this isn't as actively destructive as components were. Perhaps I should count my blessings. Or perhaps I should go buy a Mac and a Sketch license to go with it.

Known Participant
November 8, 2019

Spot on! Obvious missing behavior. Feels to me like the component states feature was rushed half-baked into the product to meet the release date. Adobe, you must have completing this feature already on your roadmap, please complete the work asap! Nothing much to brag about right now.

simont39699304
Participant
November 7, 2019

I agree - I've also been disappointed by this. Basically, on hover the component reverts back to the default settings, including text, styles, colours and positioning of elements. If you've got multiple components say, like a card element for example, then each one of those cards I have to manually adjust the hover state to match the content of the specific card. It's quite time consuming.