Skip to main content

TL:DR


To ensure the interaction override of a specific state within a component’s instance, it must correspond to the state displayed during the preview launch of your prototype. If any other state is active, the override will be disregarded, and the default behavior will prevail. Ideally, I would like the instance to retain any override, regardless of its current state.


IN DEEP


Let take a simple button with three states: default, hover, selected



We’ve got a “while hovering” from default to hover,

A " on click" from hover to selected and from selected to hover

An finally a “mouse leave” from hover to default


Consider a scenario where three instances of this component exist, with the condition that two of them cannot be selected simultaneously. Suppose we choose the first instance, A, and then select instance B. In this case, when instance B is clicked, instance A should revert to its default state.


In this example we will create some spaghetti flow (similar results can be achieved with variables). Given that our component includes a hover state, we need to toggle it to override the ‘on click’ interaction. Once every instance’s ‘on click’ state has been override, we can revert them to their default states. Surprisingly, upon launching the prototype, none of the overrides are retained.



However, if we toggle each instance to display their ‘hover’ state at launch, the overrides work as intended.

It appears that only the state currently active when the prototype is initialized/launched retains its interaction override.

Therefore, we aim for instances to retain a record of their overrides."

Thanks for the feedback! We’ll pass this onto our team for future consideration.


Reply