{"_id":"@atomic-testing/component-driver-reka-ui-v2","_rev":"6-054d990b911befbe9ccfc4364d49ff74","name":"@atomic-testing/component-driver-reka-ui-v2","dist-tags":{"latest":"0.104.0"},"versions":{"0.0.0":{"name":"@atomic-testing/component-driver-reka-ui-v2","version":"0.0.0","_id":"@atomic-testing/component-driver-reka-ui-v2@0.0.0","maintainers":[{"name":"tangent","email":"tangent@usa.net"}],"homepage":"https://github.com/atomic-testing/atomic-testing#readme","bugs":{"url":"https://github.com/atomic-testing/atomic-testing/issues"},"dist":{"shasum":"b2326688627b0361452a78316442883e6e20dbd6","tarball":"https://registry.npmjs.org/@atomic-testing/component-driver-reka-ui-v2/-/component-driver-reka-ui-v2-0.0.0.tgz","fileCount":29,"integrity":"sha512-v6Zhk5kR6+1nKV77K98RSjaIZ41Vw+q+kasSQ7KyypY4Yj/XWDyFUTPxFhpTfuJFiopuxhUMIrmIkvqHtYVhbQ==","signatures":[{"sig":"MEUCIQDsxv+PyZ3bg/bvx4N1aBY9o4S1wkh1sX7b4iMPZrduwAIgawwfNI1g83+4il/+wUx7wA00Zs2zKo/00K/wyIdqTs8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":434873},"main":"dist/index.cjs","_from":"file:atomic-testing-component-driver-reka-ui-v2-0.0.0.tgz","types":"dist/index.d.cts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"tsdown","check:type":"tsc --noEmit"},"_npmUser":{"name":"tangent","email":"tangent@usa.net"},"_resolved":"/private/var/folders/ym/rk90d3y11pxfm4ln15f2mtqw0000gn/T/616def72c10782af6f1ff2641fd32a8e/atomic-testing-component-driver-reka-ui-v2-0.0.0.tgz","_integrity":"sha512-v6Zhk5kR6+1nKV77K98RSjaIZ41Vw+q+kasSQ7KyypY4Yj/XWDyFUTPxFhpTfuJFiopuxhUMIrmIkvqHtYVhbQ==","repository":{"url":"git+https://github.com/atomic-testing/atomic-testing.git","type":"git","directory":"packages/component-driver-reka-ui-v2"},"_npmVersion":"11.18.0","description":"Component driver for Reka UI primitives (reka-ui v2, Vue 3)","directories":{},"_nodeVersion":"22.17.0","dependencies":{"@atomic-testing/core":"0.99.0","@atomic-testing/component-driver-html":"0.99.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","reka-ui":"^2.0.0"},"peerDependencies":{"vue":">=3.0.0","reka-ui":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/component-driver-reka-ui-v2_0.0.0_1785637078874_0.25581131821435443","host":"s3://npm-registry-packages-npm-production"}},"0.100.0":{"name":"@atomic-testing/component-driver-reka-ui-v2","version":"0.100.0","_id":"@atomic-testing/component-driver-reka-ui-v2@0.100.0","maintainers":[{"name":"tangent","email":"tangent@usa.net"}],"homepage":"https://github.com/atomic-testing/atomic-testing#readme","bugs":{"url":"https://github.com/atomic-testing/atomic-testing/issues"},"dist":{"shasum":"6b96f1b4d7b3ae2ea7cfb197f21e60818e7b1b72","tarball":"https://registry.npmjs.org/@atomic-testing/component-driver-reka-ui-v2/-/component-driver-reka-ui-v2-0.100.0.tgz","fileCount":29,"integrity":"sha512-M+ORe6ywEgkUZ/Z7Wg51t4TAJMNH/eq1bdSz6udFFGdX7D9wIPsezWc4LijMqSDzmbFdvTRBeP8pY11Rjw4OUg==","signatures":[{"sig":"MEUCIHFvI7lH7a+3LqrDdjSN7bCFNqZVgzYJkQt3ie09quMZAiEAhQs8POtap2oHl8xdWEnpMoL2S30v62QMUmURZzACef0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atomic-testing%2fcomponent-driver-reka-ui-v2@0.100.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":432852},"main":"dist/index.cjs","_from":"file:atomic-testing-component-driver-reka-ui-v2-0.100.0.tgz","types":"dist/index.d.cts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"build":"tsdown","check:type":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63c9535a-54b2-4365-a8f3-e10ff49032c2"}},"_resolved":"/tmp/e52a9161c4064c3f036c31c898704942/atomic-testing-component-driver-reka-ui-v2-0.100.0.tgz","_integrity":"sha512-M+ORe6ywEgkUZ/Z7Wg51t4TAJMNH/eq1bdSz6udFFGdX7D9wIPsezWc4LijMqSDzmbFdvTRBeP8pY11Rjw4OUg==","repository":{"url":"git+https://github.com/atomic-testing/atomic-testing.git","type":"git","directory":"packages/component-driver-reka-ui-v2"},"_npmVersion":"11.19.0","description":"Component driver for Reka UI primitives (reka-ui v2, Vue 3)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@atomic-testing/core":"0.100.0","@atomic-testing/component-driver-html":"0.100.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","reka-ui":"^2.0.0"},"peerDependencies":{"vue":">=3.0.0","reka-ui":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/component-driver-reka-ui-v2_0.100.0_1785637444737_0.5515752503805187","host":"s3://npm-registry-packages-npm-production"}},"0.101.0":{"name":"@atomic-testing/component-driver-reka-ui-v2","version":"0.101.0","license":"MIT","_id":"@atomic-testing/component-driver-reka-ui-v2@0.101.0","maintainers":[{"name":"tangent","email":"tangent@usa.net"}],"homepage":"https://github.com/atomic-testing/atomic-testing#readme","bugs":{"url":"https://github.com/atomic-testing/atomic-testing/issues"},"dist":{"shasum":"337d07a1ee5872aed626a4c955285ab0f18e74ab","tarball":"https://registry.npmjs.org/@atomic-testing/component-driver-reka-ui-v2/-/component-driver-reka-ui-v2-0.101.0.tgz","fileCount":29,"integrity":"sha512-vR8OCDDWINqhSLV74/3jhhly8KkIhC6Ih3VCX5MJsjU+4P/SlokXKFpXSOq/e0N1fR0HIHk0Us+xicPTu5/iQw==","signatures":[{"sig":"MEQCIHeVIdiMIUY7Lo4LIavpa7znwFAnK86TYXa/tl8XttLBAiAHH1k46MrsdV7jzzsBpM0amvt/6WP1+h7nPNOzWEERrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atomic-testing%2fcomponent-driver-reka-ui-v2@0.101.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":433016},"main":"dist/index.cjs","_from":"file:atomic-testing-component-driver-reka-ui-v2-0.101.0.tgz","types":"dist/index.d.cts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsdown","check:type":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63c9535a-54b2-4365-a8f3-e10ff49032c2"}},"_resolved":"/tmp/b912aa5506f454dfb1434eab1511e373/atomic-testing-component-driver-reka-ui-v2-0.101.0.tgz","_integrity":"sha512-vR8OCDDWINqhSLV74/3jhhly8KkIhC6Ih3VCX5MJsjU+4P/SlokXKFpXSOq/e0N1fR0HIHk0Us+xicPTu5/iQw==","repository":{"url":"git+https://github.com/atomic-testing/atomic-testing.git","type":"git","directory":"packages/component-driver-reka-ui-v2"},"_npmVersion":"11.19.0","description":"Component driver for Reka UI primitives (reka-ui v2, Vue 3)","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@atomic-testing/core":"0.101.0","@atomic-testing/component-driver-html":"0.101.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","reka-ui":"^2.0.0"},"peerDependencies":{"vue":">=3.0.0","reka-ui":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/component-driver-reka-ui-v2_0.101.0_1786103299446_0.4777749196107277","host":"s3://npm-registry-packages-npm-production"}},"0.102.0":{"name":"@atomic-testing/component-driver-reka-ui-v2","version":"0.102.0","license":"MIT","_id":"@atomic-testing/component-driver-reka-ui-v2@0.102.0","maintainers":[{"name":"tangent","email":"tangent@usa.net"}],"homepage":"https://github.com/atomic-testing/atomic-testing#readme","bugs":{"url":"https://github.com/atomic-testing/atomic-testing/issues"},"dist":{"shasum":"106ebf99c7cef909caf5c82434fcfd960e51785a","tarball":"https://registry.npmjs.org/@atomic-testing/component-driver-reka-ui-v2/-/component-driver-reka-ui-v2-0.102.0.tgz","fileCount":29,"integrity":"sha512-qMdc8Do30QBOcGFE9yB0W15q/dxpz5AsJpuNhvdZ8BRGHwXsjMFXV4WC6jWSB4JpTbzrXeRPtsXx4NXs610EzQ==","signatures":[{"sig":"MEUCIQDIRKgJkwZi3jn/BACtFHEnExcK1yAppTDBnb9c2bTeLwIgQRSXPByXd5L+iM6atj+GjZw1hyjNHaR0GPEt7E7nuPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atomic-testing%2fcomponent-driver-reka-ui-v2@0.102.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":433142},"main":"dist/index.cjs","_from":"file:atomic-testing-component-driver-reka-ui-v2-0.102.0.tgz","types":"dist/index.d.cts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsdown","check:type":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63c9535a-54b2-4365-a8f3-e10ff49032c2"}},"_resolved":"/tmp/8846e94f30ef25c7cad8e3bf6b190a0c/atomic-testing-component-driver-reka-ui-v2-0.102.0.tgz","_integrity":"sha512-qMdc8Do30QBOcGFE9yB0W15q/dxpz5AsJpuNhvdZ8BRGHwXsjMFXV4WC6jWSB4JpTbzrXeRPtsXx4NXs610EzQ==","repository":{"url":"git+https://github.com/atomic-testing/atomic-testing.git","type":"git","directory":"packages/component-driver-reka-ui-v2"},"_npmVersion":"11.19.0","description":"Component driver for Reka UI primitives (reka-ui v2, Vue 3)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@atomic-testing/core":"0.102.0","@atomic-testing/component-driver-html":"0.102.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","reka-ui":"^2.0.0"},"peerDependencies":{"vue":">=3.0.0","reka-ui":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/component-driver-reka-ui-v2_0.102.0_1786959870711_0.3228196314187033","host":"s3://npm-registry-packages-npm-production"}},"0.103.0":{"name":"@atomic-testing/component-driver-reka-ui-v2","version":"0.103.0","license":"MIT","_id":"@atomic-testing/component-driver-reka-ui-v2@0.103.0","maintainers":[{"name":"tangent","email":"tangent@usa.net"}],"homepage":"https://github.com/atomic-testing/atomic-testing#readme","bugs":{"url":"https://github.com/atomic-testing/atomic-testing/issues"},"dist":{"shasum":"509512c983cc29f52e3c1470392fa78dd2c875f0","tarball":"https://registry.npmjs.org/@atomic-testing/component-driver-reka-ui-v2/-/component-driver-reka-ui-v2-0.103.0.tgz","fileCount":29,"integrity":"sha512-uLUyQ3kzeMnFCOaWtmeZ0+zrgloELawv7rivv3YOkmFwx8f8Jxdm5OZCAENyufXjLJuJScv1KuaRjlWqh3zpTQ==","signatures":[{"sig":"MEQCIDl6Cb9TRCwJOcCk90IDTlrMiNESlf62ZXGe/oUJOV0YAiBmaIkKhNyxQfrb+vbRq6URD0lFarrLMvudZcwJQ9WygA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atomic-testing%2fcomponent-driver-reka-ui-v2@0.103.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":433142},"main":"dist/index.cjs","_from":"file:atomic-testing-component-driver-reka-ui-v2-0.103.0.tgz","types":"dist/index.d.cts","module":"dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"build":"tsdown","check:type":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63c9535a-54b2-4365-a8f3-e10ff49032c2"}},"_resolved":"/tmp/cb828511864e40d026843499470bb55b/atomic-testing-component-driver-reka-ui-v2-0.103.0.tgz","_integrity":"sha512-uLUyQ3kzeMnFCOaWtmeZ0+zrgloELawv7rivv3YOkmFwx8f8Jxdm5OZCAENyufXjLJuJScv1KuaRjlWqh3zpTQ==","repository":{"url":"git+https://github.com/atomic-testing/atomic-testing.git","type":"git","directory":"packages/component-driver-reka-ui-v2"},"_npmVersion":"11.19.0","description":"Component driver for Reka UI primitives (reka-ui v2, Vue 3)","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@atomic-testing/core":"0.103.0","@atomic-testing/component-driver-html":"0.103.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.40","reka-ui":"^2.0.0"},"peerDependencies":{"vue":">=3.0.0","reka-ui":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/component-driver-reka-ui-v2_0.103.0_1787012610083_0.6901260098075059","host":"s3://npm-registry-packages-npm-production"}},"0.104.0":{"name":"@atomic-testing/component-driver-reka-ui-v2","version":"0.104.0","description":"Component driver for Reka UI primitives (reka-ui v2, Vue 3)","license":"MIT","repository":{"type":"git","url":"git+https://github.com/atomic-testing/atomic-testing.git","directory":"packages/component-driver-reka-ui-v2"},"main":"dist/index.cjs","module":"dist/index.mjs","types":"dist/index.d.cts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"publishConfig":{"access":"public"},"dependencies":{"@atomic-testing/component-driver-html":"0.104.0","@atomic-testing/core":"0.104.0"},"devDependencies":{"reka-ui":"^2.0.0","vue":"^3.5.40"},"peerDependencies":{"reka-ui":"^2.0.0","vue":">=3.0.0"},"scripts":{"build":"tsdown","check:type":"tsc --noEmit"},"_id":"@atomic-testing/component-driver-reka-ui-v2@0.104.0","bugs":{"url":"https://github.com/atomic-testing/atomic-testing/issues"},"homepage":"https://github.com/atomic-testing/atomic-testing#readme","_integrity":"sha512-6IjmjldbemsrePEi9PnwywxDaHHKfCpMJco/4emMeL5DYmnccXC+fqiCbvMJltOxpeV/A9TkdCyeChwx1+4CVA==","_resolved":"/tmp/94a6316322e4513826d833e0c994045d/atomic-testing-component-driver-reka-ui-v2-0.104.0.tgz","_from":"file:atomic-testing-component-driver-reka-ui-v2-0.104.0.tgz","_nodeVersion":"22.23.2","_npmVersion":"11.19.0","dist":{"integrity":"sha512-6IjmjldbemsrePEi9PnwywxDaHHKfCpMJco/4emMeL5DYmnccXC+fqiCbvMJltOxpeV/A9TkdCyeChwx1+4CVA==","shasum":"4e689235a2bfa591a4b4386ebb1251c6c65c81a7","tarball":"https://registry.npmjs.org/@atomic-testing/component-driver-reka-ui-v2/-/component-driver-reka-ui-v2-0.104.0.tgz","fileCount":29,"unpackedSize":444949,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atomic-testing%2fcomponent-driver-reka-ui-v2@0.104.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDA4nn+dq52jxeqfzcMhgPe5cT2f0TXHLBlBhBWNBvfswIgQgLih0TBN+MIMAsfW+18T7EsleO2oKMdd8J/YstSLiY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:63c9535a-54b2-4365-a8f3-e10ff49032c2"}},"directories":{},"maintainers":[{"name":"tangent","email":"tangent@usa.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/component-driver-reka-ui-v2_0.104.0_1787232023810_0.8434116524831798"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-02T02:17:58.754Z","modified":"2026-08-20T13:20:24.374Z","0.0.0":"2026-08-02T02:17:59.008Z","0.100.0":"2026-08-02T02:24:04.871Z","0.101.0":"2026-08-07T11:48:19.599Z","0.102.0":"2026-08-17T09:44:30.891Z","0.103.0":"2026-08-18T00:23:30.244Z","0.104.0":"2026-08-20T13:20:23.996Z"},"bugs":{"url":"https://github.com/atomic-testing/atomic-testing/issues"},"license":"MIT","homepage":"https://github.com/atomic-testing/atomic-testing#readme","repository":{"type":"git","url":"git+https://github.com/atomic-testing/atomic-testing.git","directory":"packages/component-driver-reka-ui-v2"},"description":"Component driver for Reka UI primitives (reka-ui v2, Vue 3)","maintainers":[{"name":"tangent","email":"tangent@usa.net"}],"readme":"# @atomic-testing/component-driver-reka-ui-v2\n\nComponent drivers for [Reka UI](https://reka-ui.com) primitives (the Vue port of Radix UI Primitives). Component drivers expose simple APIs for unit tests or end-to-end tests to interact with Reka-based components — reading state and driving actions — so test engineers focus on test flows instead of the component internals.\n\n## The problem\n\nReka primitives are unstyled: consumers style them with whatever they like, so class names are **not stable test anchors**. Reka is ARIA-first and additionally exposes machine-readable state through `data-*` attributes, mirroring Radix's own contract. The stable anchors, in priority order, are:\n\n1. **`role` + accessible name** (Reka renders correct ARIA roles on every part)\n2. **Reka state attributes** — `data-state`, `data-orientation`, `data-disabled`, …\n3. Never utility classes.\n\n## The solution\n\nThe drivers in this package locate Reka parts by those stable anchors and expose high-level interactions. Combined with `@atomic-testing/vue-3`, the same scene definitions run across DOM (jsdom) and end-to-end (Playwright) tests.\n\n## Relationship to `component-driver-radix-v1`\n\nReka UI is a near-mechanical relabel of Radix's own DOM/ARIA output — same WAI-ARIA-pattern roles, same `data-state` semantics. Every driver here is ported from `@atomic-testing/component-driver-radix-v1`, but **each was re-audited against Reka's actual rendered DOM** (SSR-rendered, primitive by primitive) rather than assumed identical — see each driver's own \"DOM audit\" note. One confirmed, non-cosmetic delta so far: Reka's `CheckboxRoot` does not forward a `value` attribute onto its root element at all (Radix's does), so this package's `CheckboxDriver` has no `getValue()` — a genuine per-component difference, not a renaming exercise.\n\n## Target package & version pin\n\nThis driver targets **Reka UI 2** and is declared as a **peer dependency pinned to `^2.0.0`**: consumers bring their own Reka UI. Reka UI requires **Vue 3**, so test with `@atomic-testing/vue-3` to match your app.\n\n## Installation\n\n```bash\nnpm install @atomic-testing/core @atomic-testing/vue-3 \\\n  @atomic-testing/component-driver-html @atomic-testing/component-driver-reka-ui-v2 \\\n  reka-ui --save-dev\n```\n\nRefer to the [documentation](https://atomic-testing.dev/) for usage patterns and examples.\n\n## Drivers\n\nEvery primitive from the wave's original scope is now landed: the simplest portal-free primitives (Separator/Switch/Checkbox/Toggle/ToggleGroup/RadioGroup/Tabs/Slider) plus the portal-based overlays (Dialog/Popover/Tooltip/Select/DropdownMenu). Each was re-audited against Reka's actual rendered DOM rather than assumed identical to radix-v1 — see the relationship note above and each driver's own \"DOM audit\" JSDoc for what was verified.\n\n| Driver                                      | Reka primitive                                                             | Notes                                                                                                                                                                                                                                                                                                   |\n| ------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `SeparatorDriver`                           | `Separator`                                                                | `getOrientation` (`data-orientation`), `isDecorative` (`role=\"none\"` vs `\"separator\"`).                                                                                                                                                                                                                 |\n| `SwitchDriver`                              | `SwitchRoot`                                                               | `<button role=\"switch\">`, `data-state`/`aria-checked`, native `disabled`; `getValue` reads the `value` attribute (defaults `\"on\"`).                                                                                                                                                                     |\n| `CheckboxDriver`                            | `CheckboxRoot`                                                             | `<button role=\"checkbox\">`, `data-state` (`checked`/`unchecked`/`indeterminate`); no `getValue` — see the relationship note above.                                                                                                                                                                      |\n| `ToggleDriver`                              | `Toggle`                                                                   | Extends `HTMLButtonDriver`; `<button aria-pressed data-state=\"on\"/\"off\">`.                                                                                                                                                                                                                              |\n| `ToggleGroupDriver`                         | `ToggleGroupRoot`/`ToggleGroupItem`                                        | List of `ToggleDriver` items (index/label lookup only — Radix never reflects `value`, but Reka's `ToggleGroupItem` DOES, a possible future follow-up); root is `role=\"group\"` in both `single`/`multiple` modes (unlike Radix's `radiogroup`/`toolbar`).                                                |\n| `RadioGroupDriver` / `RadioGroupItemDriver` | `RadioGroupRoot`/`RadioGroupItem`                                          | Group exposes `IInputDriver<string \\| null>` (value-by-checked-item) + `IDisableableDriver`/`IRequirableDriver`; items are `<button role=\"radio\">` with `value`/`data-state`/`aria-checked`. Byte-for-byte match with radix-v1.                                                                         |\n| `TabsDriver` / `TabDriver`                  | `TabsRoot`/`TabsList`/`TabsTrigger`/`TabsContent`                          | Extends `ListComponentDriver`; `TabDriver` extends `HTMLButtonDriver` (`role=\"tab\"`/`aria-selected`/`data-state`); `getPanelText` resolves `aria-controls` → `role=\"tabpanel\"` at read time.                                                                                                            |\n| `SliderDriver`                              | `SliderRoot`/`SliderTrack`/`SliderRange`/`SliderThumb`                     | Single-thumb (no verified index-addressable attribute for multi-thumb, same scope limit as radix-v1); keyboard-driven `setValue`, E2E-only `dragBy`. No native `<input type=\"range\">`.                                                                                                                  |\n| `DialogDriver`                              | `DialogRoot`/`DialogContent`                                               | Interior reached with `within(parts)`; portal re-root (`overriddenParentLocator`/`overrideLocatorRelativePosition` → `byRole('dialog', 'Root')`/`'Same'`) to the document-level `[role=\"dialog\"]`. `getTitle`, `closeByEscape`, `waitForOpen`/`waitForClose`, `isOpen`.                                 |\n| `PopoverDriver`                             | `PopoverRoot`                                                              | Anchored at the trigger, not the portalled content (`role=\"dialog\"` collides with `DialogDriver`'s own content); resolves content via `aria-controls`/`byLinkedElement`. `isOpen`/`open`/`close`/`waitForOpen`/`waitForClose`/`closeByEscape`.                                                          |\n| `TooltipDriver`                             | `TooltipRoot`                                                              | Trigger-anchored (portalled content is role-less); `isOpen`/`getState` read the trigger's `data-state`, `getContent` follows `aria-describedby` to the hidden `role=\"tooltip\"` span, `open()` hovers, `dismiss()` closes via Escape.                                                                    |\n| `SelectDriver`                              | `SelectRoot`/`SelectTrigger`/`SelectContent`/`SelectViewport`/`SelectItem` | Label-based `getValue`/`setValue` (no `data-value` on `SelectItem`, same as radix-v1). Needs the `hasPointerCapture` jsdom polyfill in the test package's `jest.setup.ts` — jsdom has no Pointer Events capture API at all, so the trigger's `onPointerDown` throws on the very first click without it. |\n| `DropdownMenuDriver`                        | `DropdownMenuRoot`/`DropdownMenuContent`                                   | Extends the shared `MenuContentDriverBase` (`getMenuItemByLabel`/`selectByLabel`/`getMenuItemCount`/`getMenuItemByIndex` via `childListHelper`, not `listHelper` — separators share the item's tag); portal re-root like `DialogDriver`.                                                                |\n\nFor more in-depth information, visit [https://atomic-testing.dev](https://atomic-testing.dev).\n","readmeFilename":"README.md"}