light, shadow, flattened DOM
Last updated
Last updated
Shadow DOM, if exists, is rendered instead of light DOM.
The markup a user of your component writes. This DOM lives outside the component's shadow DOM. It is the element's actual children.
If we’d like to track internal modifications of light DOM from JavaScript, use: MutationObserver.
The result of the browser distributing the user's light DOM into your shadow DOM, rendering the final product. The flattened tree is what you ultimately see in the DevTools and what's rendered on the page.
the flattened DOM exists only for rendering and event-handling purposes. It’s kind of “virtual”. That’s how things are shown. But the nodes in the document are actually not moved around❗️
The process of rendering slotted elements inside their slots is called “composition”.