To address some other bits of your post:
Surface is an amazing project that has 1000% pushed LiveView in the right direction. If I were building a component library today, however, I would absolutely target HEEx/LiveView/Phoenix.Component. I think that last one is especially interesting, a component library that supports some sense of “progressive enhancement” — components that can work in dead views via Phoenix.Component, but that might add interactivity in a LiveView context.






















