It is a nice Vanilla JS solution that could be combined with Web Components to provide similar functionality to customisation based on React properties.
I've taken an interest in Web Components recently and therefore the Block Protocol seems interesting.
Natively this is now provided through the use of Web Components.