{"_id":"@ariada-org/overlay","name":"@ariada-org/overlay","dist-tags":{"latest":"0.2.0"},"versions":{"0.2.0":{"name":"@ariada-org/overlay","version":"0.2.0","description":"Fully abstract in-page finding overlay: the engine resolves findings to live element rectangles; a pluggable painter decides what is drawn (boxes, connector lines to blocks, or a mascot that flies element to element — Dracula, Thumbelina, anyone).","license":"Apache-2.0","author":{"name":"Alexander Brichkin","email":"git@ariada.org","url":"Agonist Development AB"},"repository":{"type":"git","url":"git+https://github.com/ariada-org/ariada.git","directory":"packages/overlay"},"homepage":"https://ariada.org/packages/overlay","bugs":{"url":"https://github.com/ariada-org/ariada/issues"},"type":"module","exports":{".":{"types":"./src/overlay.d.ts","default":"./src/overlay.js"},"./painters":{"types":"./src/painters.d.ts","default":"./src/painters.js"}},"keywords":["accessibility","overlay","a11y","annotation","agonist"],"devDependencies":{"happy-dom":"^20.0.0","vitest":"^4.0.18"},"publishConfig":{"access":"public"},"scripts":{"test":"vitest run","typecheck":"tsc --noEmit -p tsconfig.json"},"_id":"@ariada-org/overlay@0.2.0","_integrity":"sha512-npVNSksi58Xe0UIvp9ALtL5BwyBwLw1wjdwPo7UBYHmZC9Z+3XBCIjzIViY7YYZJSSICsuQdDKfFtxeNyDfYgg==","_resolved":"/private/var/folders/2c/_42xj0l179z8yc7wmp5k91s00000gn/T/f4a74370e05f8c13bd1bafe7d135fa3e/ariada-org-overlay-0.2.0.tgz","_from":"file:ariada-org-overlay-0.2.0.tgz","_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-npVNSksi58Xe0UIvp9ALtL5BwyBwLw1wjdwPo7UBYHmZC9Z+3XBCIjzIViY7YYZJSSICsuQdDKfFtxeNyDfYgg==","shasum":"95890231c82441c90404763eb56eaa038c10b511","tarball":"https://registry.npmjs.org/@ariada-org/overlay/-/overlay-0.2.0.tgz","fileCount":10,"unpackedSize":38778,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCowwn8sdqxKkKTcNhP5Tzq5MsTupSLpmfpruUk/XmAEgIgAa17Ax+UmahYxpdR4O7qeKy6zkg0bbFE92oOXR7Ev9w="}]},"_npmUser":{"name":"agonist","email":"ab@agonist.ai"},"directories":{},"maintainers":[{"name":"agonist","email":"ab@agonist.ai"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/overlay_0.2.0_1787175692926_0.4683165480090177"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-19T21:41:32.735Z","0.2.0":"2026-08-19T21:41:33.072Z","modified":"2026-08-19T21:41:33.379Z"},"maintainers":[{"name":"agonist","email":"ab@agonist.ai"}],"description":"Fully abstract in-page finding overlay: the engine resolves findings to live element rectangles; a pluggable painter decides what is drawn (boxes, connector lines to blocks, or a mascot that flies element to element — Dracula, Thumbelina, anyone).","homepage":"https://ariada.org/packages/overlay","keywords":["accessibility","overlay","a11y","annotation","agonist"],"repository":{"type":"git","url":"git+https://github.com/ariada-org/ariada.git","directory":"packages/overlay"},"author":{"name":"Alexander Brichkin","email":"git@ariada.org","url":"Agonist Development AB"},"bugs":{"url":"https://github.com/ariada-org/ariada/issues"},"license":"Apache-2.0","readme":"<!-- SPDX-License-Identifier: Apache-2.0 -->\n# @ariada-org/overlay\n\nA fully abstract in-page overlay for accessibility findings. The engine only\nresolves findings (`{selector, severity, message}`) to live element rectangles\nand keeps them attached on scroll/resize. **What is drawn is a pluggable\npainter** — you register your own:\n\n- `box` — outlined boxes per element (severity-coloured)\n- `line` — connector lines from a side rail to each block\n- a **mascot** — a character that flies element to element; the glyph is a\n  parameter, so Dracula (`🧛`, draculascan), Thumbelina (`🧚`), or any future\n  visual is a one-line `makeMascotPainter({ glyph })`.\n\n```js\nimport { createOverlay, registerPainter } from '@ariada-org/overlay';\nimport '@ariada-org/overlay/painters';         // box · line · dracula · thumbelina\nconst ov = createOverlay(document);\nov.show(findings, 'dracula');                  // by id\nov.focus(2);                                    // fly to the 3rd finding\n// drop in anything: registerPainter({ id:'mine', paint(anchors, layer){ ... } })\n```\n\nWorks in any page context — a browser-extension content script (live site),\na DOM snapshot, or a proxied page. See `demo.html`.\n","readmeFilename":"README.md","_rev":"1-acfaa1a3d7828445092ae3dcfa2849d8"}