Completely agree with everything here.
It's not documented yet, but our frontend components leverage an API that was built with the expectation that some developers won't like our designs, or will need something custom we can't accommodate.
In those cases, using the API directly should offer the flexibility you need.