Isn’t the problem that this is recursive? i.e. if you use a component which itself contains a component that contains a button and that button should be styled should the intermediate components be worrying about it? And does the end consuming application need to care when new widgets are added to components nested two deep?
It is almost like the need for styling necessitates all the old dependency injection and factory gunk that older frameworks became notorious for.