Summary
When a nested instance has its variant property bound to a variable, changing the variable's value (via mode switch) correctly switches the variant but resets instance swap overrides to their defaults.
Steps to reproduce
- Create a component set
Buttonwith:- Variant property:
State(enabled, disabled) - Exposed instance swap property:
Icon(default: any icon) - Add a text varinat
- Variant property:
- Create a variable collection with two modes (e.g. "rest" and "disabled")
- Add a string variable
button/statewith values: rest → "enabled", disabled → "disabled" - Create a second component
Wrapperand place aButtoninstance inside it - Inside
Wrapper, override the Button'sIconto a different icon, and update the text string - Inside
Wrapper, bind the Button'sStatevariant to thebutton/statevariable - Place an instance of
Wrapperon the canvas - Switch modes on the
Wrapperinstance
Expected
Button switches State. Icon/Text override persists.
Actual
Button switches State. Icon override resets to the component default.
Notes
- Manual variant switching on the same nested instance preserves the override
- Variable-driven switching on a top-level instance (not nested) preserves the override
- Only the combination of variable-driven + nested instance loses overrides
Â
