While I really really like the new variant feature, and have been using it a lot, what I don’t enjoy is how complex my components are becoming, specially with nesting if I want to manage my variants on multiple levels for example:
say I have a master component, and would like to manage its state with variants on top of which I also wanted to manage another set of variants say type, the results as you can imagine will either be
an amalgamation of what I can only describe as a ‘wrapper hell’ of several components with the master wrapped in a state frame and a type frame, which inevitably means a high cost to managing each wrapper for each individual variant separately (e.g. resizing, auto-layout properties…etc)
or a plethora of components completely disassociated with each other if I detach the master component -another hell in itself when universal changes are applied
I really think the best solution for the above is to allow instances to be combined as variants, thus allowing designers to keep that tidiness when it comes to nesting component; at the same time fully benefit from the wonderful things variants is bringing to us.