NAC3 v2.3 -- Open Shadow DOM

v2.3 stable  The runtime walks el.shadowRoot recursively (cap depth 10). Zero glue code on the component author's side.

How this works

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.

1) Single open shadow root

2) Two nested open shadow roots

3) Three nested open shadow roots


Event log

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.