emberjs / emberjs/ember.js

[Quest]: Proper ShadowDOM support

Open
#20,644 1 comment 2 reactions 2 assignees Claimed by @NullVoxPopuli View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.