According to Safari devs, Apple wanted declarative web components, but lost to Google: https://x.com/rniwa_dev/status/1352322006448947203
On top of that it took the web components people until 2022 to finally acknowledge the problems (everyone had already told them since at least 2015) and to have any sort of roadmap https://w3c.github.io/webcomponents-cg/2022.html
And yes, people in the web components space are either clueless, oblivious, or incompetent when it comes to web and web frameworks.
In 2020 Lea Verou writes about "the failed promise of web components" https://lea.verou.me/blog/2020/09/the-failed-promise-of-web-components/, then the Web Components CG is born to arrive at the report linked above.
Here's Rich Harris in 2019 calling out all the issues mentioned in the report: https://x.com/Rich_Harris/status/1198332398561353728
In 2024 Lea Verou keeps calling people like him haters: https://x.com/LeaVerou/status/1840134654852247765
@tolmasky You can, but you have to use manual slot assignment: https://knowler.dev/demos/hrLXPG1?codepen
Not super pretty, but in theory a pattern like this could be added to the platform.
@tolmasky Good ideas. I think I’ll probably write something about manual slot assignment too because I think it’s fairly unexplored even by those who use custom elements.
For mutation observers, I know that for use in custom elements you need the element definition to occur before the body HTML is parsed otherwise it’ll miss the children and to avoid that you need to call something to find existing children when the element connects. iirc the `slotchange` event for regular slotting doesn’t suffer from this issue (i.e. it’s called when the shadow root is attached).