Many designers have multiple themes, such as light and dark. These are typically implemented as component variants. Managing multi-level variant changes is tedious. I know it can be eased with plugins, but there should be a better way.
- Allow variant property to get its value from its parent. So the value is either manually selected, or inherited from parent (perhaps more alternatives in the future).
So, a button has variant with property value Theme = Inherited from parent. The container, its container etc have the same property (as deep as the designer wants).
Then, the designer changes the value on one level, and it is applied to all child elements which have the same property.
This way, when creating an instance inside one design, it inherits that theme. And when creating in another design, the theme may be different. When dragging an element to a different theme, it automatically inherits this property from the parent element of the target design.
In essence, this is very similar to how CSS works.