v2.3 stable
The runtime walks el.shadowRoot recursively
(cap depth 10). Zero glue code on the component author's side.
Three Web Components are mounted below. Each one uses
attachShadow({mode:'open'}) and renders a
checkbox + delete button (with data-nac-*
attributes) inside the shadow root. The deeper components
nest the shallower ones.
The buttons on the right call NAC.click(...)
against the elements inside the shadow boundaries.
No special manifest declaration is needed -- the runtime
sees through open shadow roots automatically.
Every nac:action:succeeded / :failed
received at the document level is shown here. Events from inside
shadow roots bubble up because the runtime sets
composed: true on every emission.