To work on more complex components, we came up a matrix to give us a systematic and consistent approach.
For each component, we considered types, interaction states, system content, user input content, destination and intent. We then looked at attributes and variations as well as positioning and groups.