Skip to content

[Quest]: Proper ShadowDOM support #20644

@NullVoxPopuli

Description

@NullVoxPopuli

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:

const Shadowed = 
  <template shadowmoderoot="open">

  </template>;

export default
  <template>
    <Shadowed>
      
    </Shadowed>
  </template>;

or, we update our content-tag parser to allow:

export default
  <template>
    <template shadowmoderoot="open">
      shadow dom!
    </template>
  </template>;

// representation:
template(`
   <template shadowmoderoot="open">
      shadow dom!
   </template>
`)

Currently, <template shadowrootmode="open"> is not allowed in template-tag:

GlimmerVM doesn't render directly in to a shadow:

Related

Regressions?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions