A big challenge - and the source of lots of redundant theming CSS – is handling the multiple ways Civi does the same thing. There’s at least five ways Accordion menus are produced, and there’s over twice as many ways to create a button. Some preferred UI patterns are listed on docs, but many are outdated. Theme Test is a UI dictionary for how elements are currently rendered in CiviCRM, to allow for a recommended ‘best practice’ canonical version to be flagged (using a JSON attribute on each entity).
-
work-in-progress: https://lab.civicrm.org/extensions/themetest
-
see also flex css & UI Reference Guide