[Quest]: Proper ShadowDOM support
- Dominant language
- TypeScript
- Stars
- 22.6k
- Forks
- 4.2k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 15
Description
Goal:
- support rending in to a shadow-dom
- be able to render in to a shadow-dom in a single render pass (the current way to get around limitations in ember/glimmer to render in to a shadow requires an extra render pass as well as an extra couple elements)
Potentially make this work:
```gjs
const Shadowed =
;
export default
;
```
or, we update our content-tag parser to allow:
```gjs
export default
shadow dom!
;
// representation:
template(`
shadow dom!
`)
```
-------------------------
Currently, `` is not allowed in template-tag:
- [ ] https://github.com/embroider-build/content-tag/pull/66
GlimmerVM doesn't render directly in to a shadow:
- [ ] https://github.com/emberjs/ember.js/issues/20642
- [ ] https://github.com/emberjs/ember.js/issues/20641
- [ ] https://github.com/emberjs/ember.js/issues/20643
- [ ] https://github.com/glimmerjs/glimmer-vm/issues/1195 (closed due to being implemented in the GlimmerVM rewrite, [Glimmer Next](https://github.com/lifeart/glimmer-next/issues/10))
Related
- [ ] https://github.com/emberjs/ember.js/issues/19734
Regressions?
- [ ] https://github.com/emberjs/ember.js/issues/18303 (resolved, but now no longer works, due to https://github.com/emberjs/ember.js/issues/20641)
Contributor guide
Assessment
This issue has not been assessed yet.