{"_id":"device-navigation","_rev":"46-7824c46f2f5e9a7ab8bd9de06a6dfaac","name":"device-navigation","dist-tags":{"latest":"5.0.0","beta":"5.0.0-beta.0"},"versions":{"0.0.0":{"name":"device-navigation","version":"0.0.0","keywords":[],"author":"","license":"MIT","_id":"device-navigation@0.0.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"dist":{"shasum":"c5110ee9ffdb54430a11017c68e96c96b0e391d6","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-0.0.0.tgz","fileCount":1,"integrity":"sha512-B9tvFAvo463gMBCX9UdGJPALqjmG73+GjBccrpHN7zY4jLZOk7AH+TEWIEW6nsfLceTS/MFfz2WPxlQMeka1Cw==","signatures":[{"sig":"MEUCIHpq9D9hrBlpvwtKcqa1JJJRv7x3fa5MzdHI9xqZoNsrAiEAuWaHgoy4taiXja6yHCPTzjR7cOOiZcOxiuLVJoHwFQI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":231},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"_npmVersion":"10.2.4","directories":{},"_nodeVersion":"20.5.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/device-navigation_0.0.0_1700863920596_0.8904115662661984","host":"s3://npm-registry-packages"}},"0.0.1":{"name":"device-navigation","version":"0.0.1","keywords":[],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@0.0.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"51765a350fec90397a854b94dd093cf416af8bbe","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-0.0.1.tgz","fileCount":76,"integrity":"sha512-Wto9w97eh42u8u1BOJ6f321mZklgYyEtPwM7mpi20NmtCUhcfjOhsWawY7m7ENarkFjqxFydKJFFC3QiaQmngQ==","signatures":[{"sig":"MEUCIQCHaLd8JG9am19hK3JOveEt5G6+zRrNEVFpV9cDMR7FbAIgR/Pv5/btlSKYhDOKb5bbgiuZaOs9vnQ32BuQWKcHhhk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":982606},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"bd02c6e1dc9771577a643d7e03fad0ec6b7d6c80","scripts":{"docs":"virmator docs","test":"virmator test-web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"npm install && virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish \"npm run compile && npm run test:all\"","test:all":"concurrently --colors --kill-others-on-fail -c auto --names types,tests,spelling,format,docs,deps \"npm run test:types\" \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:types":"tsc --noEmit","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.2.4","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"20.5.1","dependencies":{"type-fest":"^4.8.3","element-vir":"^17.0.3","@augment-vir/common":"^22.1.0","run-time-assertions":"^0.2.1","@augment-vir/browser":"^22.1.0","@augment-vir/browser-testing":"^22.1.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.5.0","cspell":"^8.1.3","esbuild":"^0.19.8","typedoc":"^0.25.4","prettier":"^3.1.0","virmator":"^11.1.4","typescript":"5.2.2","@types/mocha":"^10.0.6","@open-wc/testing":"^4.0.0","@web/test-runner":"^0.18.0","npm-check-updates":"~16.12.3","dependency-cruiser":"^15.5.0","vite-tsconfig-paths":"^4.2.2","@augment-vir/node-js":"^22.1.0","prettier-plugin-toml":"^2.0.1","prettier-plugin-jsdoc":"^1.1.1","@web/dev-server-esbuild":"^1.0.1","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^3.1.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.4.7","istanbul-smart-text-reporter":"^1.1.3","markdown-code-example-inserter":"^0.3.3","prettier-plugin-multiline-arrays":"^3.0.1","prettier-plugin-organize-imports":"^3.2.4","@web/test-runner-visual-regression":"^0.9.0","prettier-plugin-interpolated-html-tags":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_0.0.1_1702562075430_0.7883295266600145","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"device-navigation","version":"0.0.2","keywords":[],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@0.0.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"7493d6646acfff05377009365556d43c28aaa986","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-0.0.2.tgz","fileCount":77,"integrity":"sha512-8PNWCtTdilMOy+P/p/DeWkO0OaRdjyy/Q/dTbsSaf/MrL97Xz3kZFMK/9ZpWSYciErsPNQa8scx/oYAQCd12jw==","signatures":[{"sig":"MEUCIErDdYDqSN848bJ9IwJbzVnLQAA4FhIzmIMVhIuPzn6jAiEA2JeviuQljxWuwjB959QiY68t1pCJ1klcJhXCnVIz4fo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":983369},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"81a9223e9991cfae5e799675f36a7760ba88636b","scripts":{"docs":"virmator docs","test":"virmator test-web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"npm install && virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish \"npm run compile && npm run test:all\"","test:all":"concurrently --colors --kill-others-on-fail -c auto --names types,tests,spelling,format,docs,deps \"npm run test:types\" \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:types":"tsc --noEmit","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.2.5","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"type-fest":"^4.17.0","element-vir":"^22.1.3","@augment-vir/common":"^27.0.0","run-time-assertions":"^1.2.0","@augment-vir/browser":"^27.0.0","@augment-vir/browser-testing":"^27.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.5.0","cspell":"^8.7.0","esbuild":"^0.20.2","typedoc":"^0.25.13","prettier":"^3.2.5","virmator":"^11.5.2","typescript":"^5.3.3","@types/mocha":"^10.0.6","@open-wc/testing":"^4.0.0","@web/test-runner":"^0.18.1","npm-check-updates":"~16.12.3","dependency-cruiser":"^16.3.1","vite-tsconfig-paths":"^4.3.2","@augment-vir/node-js":"^27.0.0","prettier-plugin-toml":"^2.0.1","prettier-plugin-jsdoc":"^1.3.0","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.0","istanbul-smart-text-reporter":"^1.1.4","markdown-code-example-inserter":"^1.0.0","prettier-plugin-multiline-arrays":"^3.0.4","prettier-plugin-organize-imports":"^3.2.4","@web/test-runner-visual-regression":"^0.9.0","prettier-plugin-interpolated-html-tags":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_0.0.2_1713988981998_0.19997296227476213","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"device-navigation","version":"1.0.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@1.0.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"070d1125819c46a63baca0a5f304c70a326bb5f4","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-1.0.0.tgz","fileCount":77,"integrity":"sha512-zBilei0QRS+xpmiL82kh9M3YGpjlOE4KY2KtX9kbvFIZFrco5/Mtwnsj3Dytd1Psd9ryDmJ6Q1W9O2EsQZGEDg==","signatures":[{"sig":"MEQCIEPFifA2VcJOfYq6JbsMjtLL4K4YIzCwdnMHiObVHohVAiBVLfkZPugmezijTtNlY2FMRKZ9YMZUdcC1nGd3aD9CxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":979078},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"ced7003583aa721fec41439c69c3d1cf86199022","scripts":{"docs":"virmator docs","test":"virmator test-web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"npm install && virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish \"npm run compile && npm run test:all\"","test:all":"concurrently --colors --kill-others-on-fail -c auto --names types,tests,spelling,format,docs,deps \"npm run test:types\" \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:types":"tsc --noEmit","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.2.5","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"20.10.0","dependencies":{"type-fest":"^4.17.0","element-vir":"^22.1.3","@augment-vir/common":"^27.0.0","run-time-assertions":"^1.2.0","@augment-vir/browser":"^27.0.0","@augment-vir/browser-testing":"^27.0.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.5.0","cspell":"^8.7.0","esbuild":"^0.20.2","typedoc":"^0.25.13","prettier":"^3.2.5","virmator":"^11.5.2","typescript":"^5.3.3","@types/mocha":"^10.0.6","@open-wc/testing":"^4.0.0","@web/test-runner":"^0.18.1","npm-check-updates":"~16.12.3","dependency-cruiser":"^16.3.1","vite-tsconfig-paths":"^4.3.2","@augment-vir/node-js":"^27.0.0","prettier-plugin-toml":"^2.0.1","prettier-plugin-jsdoc":"^1.3.0","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.0","istanbul-smart-text-reporter":"^1.1.4","markdown-code-example-inserter":"^1.0.0","prettier-plugin-multiline-arrays":"^3.0.4","prettier-plugin-organize-imports":"^3.2.4","@web/test-runner-visual-regression":"^0.9.0","prettier-plugin-interpolated-html-tags":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_1.0.0_1714080121381_0.7397665033614333","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"device-navigation","version":"1.0.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@1.0.1","homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"1dd09e6c5c21f95c10a4d8687fdb439babbaf22c","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-1.0.1.tgz","fileCount":76,"integrity":"sha512-9ks6c89PC1pJd0D/i8rOWRhcM02Ze8NaSln2wz9vkMh29f/ygra8L1I3jjS4Nl/2UV4iHqGKPm+wfwBsPthisw==","signatures":[{"sig":"MEYCIQD3SQ6a8DeepSPIhsd27cnTWaD4k63v13jDhdiHOK35IgIhAP497k3oTyqH+a9Z1xjaNg3P4mM+trVIEXOKQFd2Qogz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":978811},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"772d4bbfdd82bcc4bb488a3a959e16fc39ee4fe2","scripts":{"docs":"virmator docs","test":"virmator test-web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"npm install && virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish \"npm run compile && npm run test:all\"","test:all":"concurrently --colors --kill-others-on-fail -c auto --names types,tests,spelling,format,docs,deps \"npm run test:types\" \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:types":"tsc --noEmit","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.7.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"20.15.0","dependencies":{"type-fest":"^4.20.1","element-vir":"^22.2.2","@augment-vir/common":"^29.1.5","run-time-assertions":"^1.5.1","@augment-vir/browser":"^29.1.5","@augment-vir/browser-testing":"^29.1.5"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.5.0","cspell":"^8.9.1","esbuild":"^0.21.5","typedoc":"^0.26.2","prettier":"^3.3.2","virmator":"^12.0.2","typescript":"^5.5.2","@types/mocha":"^10.0.7","@open-wc/testing":"^4.0.0","@web/test-runner":"^0.18.2","npm-check-updates":"~16.12.3","dependency-cruiser":"^16.3.3","vite-tsconfig-paths":"^4.3.2","@augment-vir/node-js":"^29.1.5","prettier-plugin-toml":"^2.0.1","prettier-plugin-jsdoc":"^1.3.0","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.0","istanbul-smart-text-reporter":"^1.1.4","markdown-code-example-inserter":"^1.0.0","prettier-plugin-multiline-arrays":"^3.0.6","prettier-plugin-organize-imports":"^3.2.4","@web/test-runner-visual-regression":"^0.9.0","prettier-plugin-interpolated-html-tags":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_1.0.1_1719494608889_0.9791937193785247","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"device-navigation","version":"2.0.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@2.0.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"3956000f9084f12a5e1b3d8310ec89010266b8d8","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-2.0.0.tgz","fileCount":76,"integrity":"sha512-VkmK+7pSi0sKjI4PdQcg19naDPfqdXN5uh5eoyspMyHkx0cu0WoHOlIz64DEoZC/NbnFF+/2CGj9pmgEI54Chw==","signatures":[{"sig":"MEYCIQCZW+D/EXqIta30cBHggYjPZhilq5r+2wjwWRsPoNeFMwIhAKEFMbXkNrDaqQx5XfUsY/24W3Q0JIFIdF7Hym0koVpY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":993836},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"59b825e6f091ccf08c05ab3ad65b590f81908c43","scripts":{"docs":"virmator docs","test":"virmator test-web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"npm install && virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish \"npm run compile && npm run test:all\"","test:all":"concurrently --colors --kill-others-on-fail -c auto --names types,tests,spelling,format,docs,deps \"npm run test:types\" \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:types":"tsc --noEmit","test:watch":"web-test-runner --only-one-browser --watch --color --config configs/web-test-runner.config.mjs","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.8.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.3.0","dependencies":{"type-fest":"^4.21.0","element-vir":"^22.2.2","@augment-vir/common":"^29.1.7","run-time-assertions":"^1.5.1","@augment-vir/browser":"^29.1.7","@augment-vir/browser-testing":"^29.1.7"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.5.0","cspell":"^8.10.2","esbuild":"^0.23.0","typedoc":"^0.26.3","prettier":"^3.3.2","virmator":"^12.0.2","typescript":"^5.5.3","@types/mocha":"^10.0.7","@open-wc/testing":"^4.0.0","@web/test-runner":"^0.18.2","npm-check-updates":"~16.12.3","dependency-cruiser":"^16.3.5","vite-tsconfig-paths":"^4.3.2","@augment-vir/node-js":"^29.1.7","prettier-plugin-toml":"^2.0.1","prettier-plugin-jsdoc":"^1.3.0","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.0","istanbul-smart-text-reporter":"^1.1.4","markdown-code-example-inserter":"^1.0.0","prettier-plugin-multiline-arrays":"^3.0.6","prettier-plugin-organize-imports":"^4.0.0","@web/test-runner-visual-regression":"^0.9.0","prettier-plugin-interpolated-html-tags":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_2.0.0_1720215107773_0.5773694371420335","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"device-navigation","version":"2.0.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@2.0.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"1aca459c451ea250b28f7db6c42b1ccb8a67132b","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-2.0.1.tgz","fileCount":76,"integrity":"sha512-Y1c7PmwVJpZwBMabYe4mvMefh8J60M6O9BRDJ/xh0/20gsEKm2KHQmSLTkY1l8rdq9o6MNZM3nXJ2DSPS2sKow==","signatures":[{"sig":"MEQCICfTL7/8e0yNf3GPnrnmRP6WOfOWiIi7HTV6JffDM1WTAiBurSyB6xDZMxBaUuAX5n1DB1hxVvTvTgIzIouuM2CiJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":993746},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"784035d1a7084f20d63676b27f3ba6c84b347cc3","scripts":{"docs":"virmator docs","test":"virmator test-web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"npm install && virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish \"npm run compile && npm run test:all\"","test:all":"concurrently --colors --kill-others-on-fail -c auto --names types,tests,spelling,format,docs,deps \"npm run test:types\" \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:types":"tsc --noEmit","test:watch":"web-test-runner --only-one-browser --watch --color --config configs/web-test-runner.config.mjs","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.8.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.3.0","dependencies":{"type-fest":"^4.21.0","element-vir":"^22.2.2","@augment-vir/common":"^29.1.7","run-time-assertions":"^1.5.1","@augment-vir/browser":"^29.1.7","@augment-vir/browser-testing":"^29.1.7"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.5.0","cspell":"^8.10.2","esbuild":"^0.23.0","typedoc":"^0.26.3","prettier":"^3.3.2","virmator":"^12.0.2","typescript":"^5.5.3","@types/mocha":"^10.0.7","@open-wc/testing":"^4.0.0","@web/test-runner":"^0.18.2","npm-check-updates":"~16.12.3","dependency-cruiser":"^16.3.5","vite-tsconfig-paths":"^4.3.2","@augment-vir/node-js":"^29.1.7","prettier-plugin-toml":"^2.0.1","prettier-plugin-jsdoc":"^1.3.0","@web/dev-server-esbuild":"^1.0.2","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.0","istanbul-smart-text-reporter":"^1.1.4","markdown-code-example-inserter":"^1.0.0","prettier-plugin-multiline-arrays":"^3.0.6","prettier-plugin-organize-imports":"^4.0.0","@web/test-runner-visual-regression":"^0.9.0","prettier-plugin-interpolated-html-tags":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_2.0.1_1720267702715_0.8248341726240593","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"device-navigation","version":"3.0.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@3.0.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"4a6b81b9e03704c72b119ff1fea748f9d2e72e4e","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-3.0.0.tgz","fileCount":74,"integrity":"sha512-VFN1+qAtStWTbeOxdfIdQDRV3D+aE8XMlBExyTAPQwJzaII71Qe9FVNeUhAkj9v9Ot0OK1+kMt7hOLPHI0W3dg==","signatures":[{"sig":"MEQCIF+Cp7JIzGQkhf00MdljrDpPtWv3YxLmpla/YbIXdl4RAiBt8xG6Rdz1IHVN0CaiTwxd683k/ytEz6COzczdLlKN7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":994768},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"f248467e74fcb8b5fac13a888c1aa795d21c701a","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.8.3","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.9.0","dependencies":{"type-fest":"^4.26.1","element-vir":"^22.2.2","@augment-vir/web":"^30.2.0","@augment-vir/assert":"^30.2.0","@augment-vir/common":"^30.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","cspell":"^8.14.4","eslint":"^9.12.0","esbuild":"^0.24.0","typedoc":"^0.26.8","prettier":"^3.3.3","virmator":"^13.4.1","@eslint/js":"^9.12.0","typescript":"^5.6.2","@eslint/eslintrc":"^3.1.0","@web/test-runner":"^0.19.0","@augment-vir/test":"^30.2.0","npm-check-updates":"^17.1.3","typescript-eslint":"^8.8.0","dependency-cruiser":"^16.4.2","eslint-plugin-jsdoc":"^50.3.1","vite-tsconfig-paths":"^5.0.1","prettier-plugin-toml":"^2.0.1","eslint-plugin-sonarjs":"^2.0.3","eslint-plugin-unicorn":"^56.0.0","prettier-plugin-jsdoc":"^1.3.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@web/dev-server-esbuild":"^1.0.2","@stylistic/eslint-plugin":"^2.9.0","eslint-plugin-playwright":"^1.6.2","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^2.9.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.0","@typescript-eslint/eslint-plugin":"^8.8.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^3.0.6","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_3.0.0_1728306391770_0.5661186609857396","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"device-navigation","version":"3.0.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@3.0.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"615e25bffd42b73baa0be53eea1c4af5124e854f","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-3.0.1.tgz","fileCount":87,"integrity":"sha512-WuN85BipYapqfMyyPqVXRqFNodxPaGhisN5/133PqL3rg3XCVjijQkKsr8swI1npG2di3VGA8rcGaZlQaQx0mw==","signatures":[{"sig":"MEQCIEA6WK45aRxqDZShFQWVr8yXFlqcTx96UHxeYWbj7TOKAiBdILm2Kg53XoxdroGSsK/FbWSZNGuwcBPbdqN7RhKSWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730732},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"a38c19f780b2a4a68b950d047363a79d36d96ba2","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.8.3","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.9.0","dependencies":{"type-fest":"^4.26.1","element-vir":"^22.2.2","@augment-vir/web":"^30.2.0","@augment-vir/assert":"^30.2.0","@augment-vir/common":"^30.2.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","cspell":"^8.14.4","eslint":"^9.12.0","esbuild":"^0.24.0","typedoc":"^0.26.8","prettier":"^3.3.3","virmator":"^13.5.2","@eslint/js":"^9.12.0","typescript":"^5.6.2","@eslint/eslintrc":"^3.1.0","@web/test-runner":"^0.19.0","@augment-vir/test":"^30.2.0","npm-check-updates":"^17.1.3","typescript-eslint":"^8.8.1","dependency-cruiser":"^16.4.2","eslint-plugin-jsdoc":"^50.3.1","vite-tsconfig-paths":"^5.0.1","prettier-plugin-toml":"^2.0.1","eslint-plugin-sonarjs":"^2.0.3","eslint-plugin-unicorn":"^56.0.0","prettier-plugin-jsdoc":"^1.3.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@web/dev-server-esbuild":"^1.0.2","@stylistic/eslint-plugin":"^2.9.0","eslint-plugin-playwright":"^1.6.2","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^2.9.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.0","@typescript-eslint/eslint-plugin":"^8.8.1","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^3.0.6","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_3.0.1_1728394632779_0.41445721077553666","host":"s3://npm-registry-packages"}},"3.0.2":{"name":"device-navigation","version":"3.0.2","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@3.0.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"bdf889fa9ad50579093bd18167adb3cf23e1896b","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-3.0.2.tgz","fileCount":87,"integrity":"sha512-nlUXNtqKYmz7JeZ8UTQMx7GjsKuI5cVNapVDWmtWTLy9MZ7dN1zALcD0bnNzyyfQ/MPsuKlvo7znEOWaFHI5NA==","signatures":[{"sig":"MEUCIQC67vR/pH66Zb+AFkk4e4tCxl1PZ6nXFhGRdhHzgJ9HYgIgHPLdJu6uphJhSRwVPh0oBx9eCAk2d6yNercTPlSEVhc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730730},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"9c0f379c249853b4c6bacdb8c08110f1b98b975c","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.9.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.9.0","dependencies":{"type-fest":"^4.30.0","element-vir":"^23.0.0","@augment-vir/web":"^31.0.1","@augment-vir/assert":"^31.0.1","@augment-vir/common":"^31.0.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.3","cspell":"^8.16.1","eslint":"^9.16.0","esbuild":"^0.24.0","typedoc":"^0.27.4","prettier":"^3.4.2","virmator":"^13.10.4","@eslint/js":"^9.16.0","typescript":"^5.7.2","@eslint/eslintrc":"^3.2.0","@web/test-runner":"^0.19.0","@augment-vir/test":"^31.0.1","npm-check-updates":"^17.1.11","typescript-eslint":"^8.18.0","dependency-cruiser":"^16.7.0","eslint-plugin-jsdoc":"^50.6.0","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.1","eslint-plugin-sonarjs":"^3.0.1","eslint-plugin-unicorn":"^56.0.1","prettier-plugin-jsdoc":"^1.3.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@web/dev-server-esbuild":"^1.0.3","@stylistic/eslint-plugin":"^2.12.0","eslint-plugin-playwright":"^2.1.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^2.12.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.6","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.2","@typescript-eslint/eslint-plugin":"^8.18.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^3.0.6","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_3.0.2_1733793649740_0.17614560865594076","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"device-navigation","version":"3.0.3","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@3.0.3","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"3f94117c1b512fc183e2dfda8309b227304d3ddd","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-3.0.3.tgz","fileCount":87,"integrity":"sha512-XG+RhNKhfAxdtiHUOebUI6YQZhfpPPy96/aBDkmDS8fNI1a0+4TSE4BpM5YiIqjHTLQmqE5ta5DCvdgePSvtdw==","signatures":[{"sig":"MEYCIQDf1/U8mNmHZRSABqqp51O5KLPBAu6xkYf8SQgrE9WXqQIhAPzmXfk3NV/oXtBFrAthE/9r3YdbSJjcH6lC0SuCGWSd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":730772},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"2c66cb768775a0764cf191adcfca0f7bd2e85aa3","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"10.9.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.9.0","dependencies":{"type-fest":"^4.30.2","element-vir":"^23.1.1","@augment-vir/web":"^31.1.1","@augment-vir/assert":"^31.1.1","@augment-vir/common":"^31.1.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.3","cspell":"^8.17.1","eslint":"^9.16.0","esbuild":"^0.24.0","typedoc":"^0.27.5","prettier":"^3.4.2","virmator":"^13.11.0","@eslint/js":"^9.16.0","typescript":"^5.7.2","@eslint/eslintrc":"^3.2.0","@web/test-runner":"^0.19.0","@augment-vir/test":"^31.1.1","npm-check-updates":"^17.1.11","typescript-eslint":"^8.18.1","dependency-cruiser":"^16.8.0","eslint-plugin-jsdoc":"^50.6.1","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.1","eslint-plugin-sonarjs":"^3.0.1","eslint-plugin-unicorn":"^56.0.1","prettier-plugin-jsdoc":"^1.3.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","@web/dev-server-esbuild":"^1.0.3","@stylistic/eslint-plugin":"^2.12.1","eslint-plugin-playwright":"^2.1.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.0.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^2.12.1","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.6","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.18.1","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.1","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_3.0.3_1734408501839_0.177472374706938","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"device-navigation","version":"3.1.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@3.1.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"df39354dd63dd3f7c462a8b72db4b26fa0c83dd7","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-3.1.0.tgz","fileCount":36,"integrity":"sha512-/NjAJ7blowbSrVKRzScE2HYf8dgCR1J4Rq7rPQzDT+OGulyRdkH8OM4UqrZ1Y9MQTgEPpPTrB+cr0XGd6TzSSA==","signatures":[{"sig":"MEQCIAvtmdZ4K7PYvG36bY+L6X4jAVn8rdfwWfC4PcQyOa4jAiB8SBntZ/Fml4DctktMj4Q/YGPvxBNa0NqlkLwiQwI5yA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77898},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"73b4d89a179080bac9f0d88b3ab3cb6a79c28b5b","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.0.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"type-fest":"^4.37.0","element-vir":"^23.4.2","@augment-vir/web":"^31.10.0","typed-event-target":"^4.0.3","@augment-vir/assert":"^31.10.0","@augment-vir/common":"^31.10.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.1","cspell":"^8.17.5","eslint":"^9.22.0","esbuild":"^0.25.1","typedoc":"^0.27.9","prettier":"~3.3.3","virmator":"^13.13.1","@eslint/js":"^9.22.0","typescript":"^5.8.2","@eslint/eslintrc":"^3.3.0","@web/test-runner":"^0.20.0","@augment-vir/test":"^31.10.0","npm-check-updates":"^17.1.15","typescript-eslint":"^8.26.1","dependency-cruiser":"^16.10.0","eslint-plugin-jsdoc":"^50.6.3","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.2","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.1","eslint-plugin-prettier":"^5.2.3","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.10","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.2","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_3.1.0_1741638003511_0.07368132937228289","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"device-navigation","version":"3.1.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@3.1.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"9b46454674a79eca078117527bd83fb56011c936","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-3.1.1.tgz","fileCount":36,"integrity":"sha512-/LVBMDYwCgtifVIshXhqwFo9wg8ahvJvOha/L3jo9RYlnRUYPCKkywtN15mPDoEN/QNcyA6JaVnPtk1gcQLezw==","signatures":[{"sig":"MEUCIQDYz2rBXlldtzZ2dFwnHPXBHFYy0bmYAUfmzZDdv21L0gIgJwTfWAglIGdEIcFLHtPXhnDd0ej7rnWf32PZbUg5R34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77961},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"845eb19c5d7a01be1cef310a20172e400f0a91b2","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test:coverage\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.0.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"type-fest":"^4.37.0","@augment-vir/web":"^31.10.1","typed-event-target":"^4.0.3","@augment-vir/assert":"^31.10.1","@augment-vir/common":"^31.10.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.2.2","cspell":"^8.17.5","eslint":"^9.22.0","esbuild":"^0.25.1","typedoc":"^0.28.0","prettier":"~3.3.3","virmator":"^13.13.1","@eslint/js":"^9.22.0","typescript":"^5.8.2","element-vir":"^25.1.0","@eslint/eslintrc":"^3.3.0","@web/test-runner":"^0.20.0","@augment-vir/test":"^31.10.1","npm-check-updates":"^17.1.15","typescript-eslint":"^8.26.1","dependency-cruiser":"^16.10.0","eslint-plugin-jsdoc":"^50.6.6","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.2","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^57.0.0","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.1","eslint-plugin-prettier":"^5.2.3","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.10","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.26.1","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_3.1.1_1742048252087_0.900428826920374","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"device-navigation","version":"4.0.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.0.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"792f89cd35608576c803a2a6f83042e76b7d3812","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.0.0.tgz","fileCount":36,"integrity":"sha512-kAJfEY7+da+sEg8UMXVKZBo/uml83BhPQjN38IsR2GUQLIP8DbRP/+UfXouS6z+yRbuUzV0/bexAtloIINeuYA==","signatures":[{"sig":"MEQCIDLZT5L1LDuAySSM3gkaT+DRcoKEzXn2lsPqmWjCMxB9AiB1C8zS+5MLRkZ4LHDoEiZfLgN/oCEJYzR0vxdmf+YolQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73772},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"bde8844ec484368212606021f27edd4cd9c96b94","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.0.0_1747091476118_0.8415168495013972","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"name":"device-navigation","version":"4.0.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.0.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"8099770b8d4d776aa3ac420dd32f45566e25fb71","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.0.1.tgz","fileCount":36,"integrity":"sha512-h8PWzlDHq6Xp7q5K0GVjQL5KmPFxTi9UnmJGV2qpAEToOVLCR4A7BEb1C3fdU9CZNe4cY8BXX1unAZXpTDJMXA==","signatures":[{"sig":"MEUCIDdc83XixvfA/fnzJlUFHyn37/EcDEK7FQZb1xdVKnonAiEAnMkCdw4xq6ROXvdCEMbRHqJMiUOY0F/82Gdfa3XHXYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73786},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"460099d1eb6473a3935e5b9ad857c43a200b1d0c","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.0.1_1747092875095_0.3026021656333733","host":"s3://npm-registry-packages-npm-production"}},"4.0.2":{"name":"device-navigation","version":"4.0.2","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.0.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"acef9b8672ec8a6c953220d56d59405b2ff05c54","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.0.2.tgz","fileCount":36,"integrity":"sha512-O7prgiLUbkrzlScTu+9+kXKkT+NPxLNyHRPHuG+klBM+1yWuGiPM9RcSQ5XA81w5WxjhVMkauUz05ANuhtK/hA==","signatures":[{"sig":"MEYCIQDMz1FTevOahuCF7Pp86mOsGwYIJeOG+3S44/iMvmlbNgIhAOtXvzpoxSP9GLRfVCiWYWhC6N4slI4c6TADsFL+iAop","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":75649},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"6a5a5a6b050cb3066714993e6665cf30c76ff2be","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.0.2_1747095907138_0.3656811439948662","host":"s3://npm-registry-packages-npm-production"}},"4.1.0":{"name":"device-navigation","version":"4.1.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.1.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"7219f21c6cd7306a22e54f4a67e99a3c35f2b6f4","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.1.0.tgz","fileCount":36,"integrity":"sha512-9NOze/e+XYFErCVrfLRl7GEBZSVJTnEjQR1FpaigXz6SMmMuA+ydA6ceW5hvd6/AfECjg3ta9vL5jouOlpJg6A==","signatures":[{"sig":"MEUCIQCfCMkpJ95V8zy20nG97O1TTRhCmoiEehpzfaU9wNPKQwIgBcaneKl5HzA1bEs9w+5alHVkUs805nuI7QIDgvZEHi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76498},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"5b519ef595a5e91d53d8ba02a2a2408a6c74c9b7","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.1.0_1747137945931_0.5933263968131159","host":"s3://npm-registry-packages-npm-production"}},"4.1.1":{"name":"device-navigation","version":"4.1.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.1.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"6581c94ade8e06e7baac82145121eba12dff86a5","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.1.1.tgz","fileCount":36,"integrity":"sha512-isCBdAd82OzjzclbyeW2OJ+73JTOR4oPJviPsh6Cu5hQ/vivLHZAp2gnxVSOWu5UW1+mV/PXcJUZdGG0Qv+lFQ==","signatures":[{"sig":"MEUCID951OKSCwpgQUym2R2AEfLm4EyjGaZmBm4rzGvfoT9fAiEA5NjPaNo0aeM1kCpR6YK6o+cd3hpJnfoDLFrv0G7SvL4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76483},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"b3c1acab0cd867eba28750401df4885f2faa5b0d","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.1.1_1747140372938_0.319348392313199","host":"s3://npm-registry-packages-npm-production"}},"4.1.2":{"name":"device-navigation","version":"4.1.2","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.1.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"7cb8348520a77f0b16cfb23432df0e9dcd6486bf","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.1.2.tgz","fileCount":36,"integrity":"sha512-63Zmm8035Jav30CXnUlyepOpQBN1HhmaP7M8DJ1xLGNWPn503A00z7+Ql8DwjfFyQTVN82GqOAY0PDrF37M1+Q==","signatures":[{"sig":"MEUCIQChMkb7XQ224Vw4UxM48f+atoX5bBZSKcNgkZfpXAe6jgIgQAdYMo2nHy99urrwbKeme0Fn++SEFK4Sdfkft3aXu+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76369},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"a05fd29f1ef8f1f10566acc42e36c05d9b4a62b4","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.1.2_1747141238337_0.9383571581436716","host":"s3://npm-registry-packages-npm-production"}},"4.2.0":{"name":"device-navigation","version":"4.2.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.2.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"f5f7754886c2d20d390bfdb009792a5496132592","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.2.0.tgz","fileCount":36,"integrity":"sha512-+eyuNwW+uXpbGcSYobOcQaMfzQ/O2JhPTRmf73t3ZxWjnfhMX5m6d93L8NfQYvgD0w3vEY87qAIsVP1/z3KPPQ==","signatures":[{"sig":"MEUCIGYUa/29sDI8nqTBaBf+9znypGk5egaQ6y8nMvFVnAF7AiEAlKrJ1UtReYgRDhFpMCA+RLMiWqvN5uwceuZhvALHFas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77365},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"1a37873ea07170b3732d0c7175493b0f9c390d60","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.2.0_1747143648747_0.29587697949268166","host":"s3://npm-registry-packages-npm-production"}},"4.3.0":{"name":"device-navigation","version":"4.3.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.3.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"80ff22d22ac2f1e530ff84a7527d3786552e2667","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.3.0.tgz","fileCount":36,"integrity":"sha512-eSxNiw3C7jCEZjBdSFj5mNK50S4sokvbfJu4eDBtLM6g38qs7+me0az7+itpD6i8AluAYJubpVWg/LbBZXW7sQ==","signatures":[{"sig":"MEYCIQC2XmlDavcWNxnPn/+sD57hgMw2EH20C+vGU86DcLIlwgIhAIldcpqZ6zmhAImqudtGLLrxQtn7OmOkSru/dozbdEct","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79107},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"645f00a799e5f4721d2e64f53e1c39333f12079e","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.3.0_1747152946971_0.8584830686876546","host":"s3://npm-registry-packages-npm-production"}},"4.3.1":{"name":"device-navigation","version":"4.3.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.3.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"db3ef23fd0414049187ec141634f650a17a0a010","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.3.1.tgz","fileCount":36,"integrity":"sha512-M5UX8oBj1FYw58PzzrVaZ7IkAdJjJuLle+ecOlYKmyNKK33PvFHlk85MxP4L7qKgHnLN7PBrWIXUu0kHWzzlIQ==","signatures":[{"sig":"MEQCIHy5vbB/eOsfA/S7/cHjOudd9JzkVzDC0/v8l0a2MO6qAiAsdW5c3eiTypDJ9hAt+n3rj0XD8wet+I6jx6U+MUTDLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79333},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"40f449d3a04143ba5caf4ff07d2ef152b609c193","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.3.1_1747172682589_0.7081212581746352","host":"s3://npm-registry-packages-npm-production"}},"4.4.0":{"name":"device-navigation","version":"4.4.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.4.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"a05710d7ac5da5c53a8af9d5c620af66bb095850","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.4.0.tgz","fileCount":36,"integrity":"sha512-pRaTT+nCBxi+qhf7NxIY5EQMdFe4uoVbNpZBHqOCEeyxjx1VjIQq0y0YdDvb1bE44WRZsSsJ+PuwqTTPLK3UBA==","signatures":[{"sig":"MEQCIF6dv3GlqgxdgaMF25AVcnnzpY51wIzUekkvnaWGr1gTAiABzHhJv257wtOiQ6Y2zbNyUMxHTp0d9xBYAH1io0Biuw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79513},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"d9f822adcb3c17a91e9f70c2d6a15abf877c9a9c","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.3.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.18.0","typed-event-target":"^4.0.4","@augment-vir/assert":"^31.18.0","@augment-vir/common":"^31.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.1","eslint":"^9.26.0","esbuild":"^0.25.4","typedoc":"^0.28.4","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.26.0","typescript":"^5.8.3","element-vir":"^25.3.0","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.1","@augment-vir/test":"^31.18.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.32.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.14","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.2.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.2.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.12","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.32.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.4.0_1747174623164_0.22449186449832204","host":"s3://npm-registry-packages-npm-production"}},"4.4.1":{"name":"device-navigation","version":"4.4.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.4.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"5b876be416dceb4e68abbd720459015ca982e609","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.4.1.tgz","fileCount":36,"integrity":"sha512-m20em/PZZfAjr4U5w8k5gH8HYtd1MMgiWmRqxTVIMvVYTQu/tNwt2PBOJbMGHJu7CdbABkfkIymhZpOJUvC+ow==","signatures":[{"sig":"MEUCICKkeWcjX06OIEim61/8QaeOx+Rk8ZRMuQK3+9JVtG0nAiEAw0Jk/JWFUcmCaabS1Z7siy9Q+x1GkIkc0Cv6wlbWWIs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79952},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"9810cc525847e0f40eca2d3c77ec0ef3e159d1ef","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.4.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.20.1","typed-event-target":"^4.1.0","@augment-vir/assert":"^31.20.1","@augment-vir/common":"^31.20.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.2","eslint":"^9.27.0","esbuild":"^0.25.5","typedoc":"^0.28.5","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.27.0","typescript":"^5.8.3","element-vir":"^25.7.3","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.20.1","npm-check-updates":"^18.0.1","typescript-eslint":"^8.33.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.17","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.4.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.14","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.33.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.4.1_1748467755558_0.6816469554780156","host":"s3://npm-registry-packages-npm-production"}},"4.5.0":{"name":"device-navigation","version":"4.5.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.5.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"8188de40fbfffd40e450d11d88707bbe666a6932","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.0.tgz","fileCount":36,"integrity":"sha512-6OeihWagf8/HRlDuqGI4DGWE/dmdSTr09l+p2nyuIJNquNUYRBN6RCyHfU4VRpG07mIOcSObzvw/Fg4NVPtJIQ==","signatures":[{"sig":"MEUCIDHOLQTRiEstPU3PdAgxQp3g3v5hGgQpngi2xM45VuaSAiEAsQOszjtdi7hJqHyjV0JW+W0YPjsbz0qRRv+MTCeuCY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80347},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"219a72c2267a2299e4ac4971a5ebcb2f21b1b77f","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.4.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.20.1","typed-event-target":"^4.1.0","@augment-vir/assert":"^31.20.1","@augment-vir/common":"^31.20.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.2","eslint":"^9.27.0","esbuild":"^0.25.5","typedoc":"^0.28.5","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.27.0","typescript":"^5.8.3","element-vir":"^25.7.3","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.20.1","npm-check-updates":"^18.0.1","typescript-eslint":"^8.33.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.17","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.4.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.14","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.33.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.0_1748468246185_0.787011748631681","host":"s3://npm-registry-packages-npm-production"}},"4.5.1":{"name":"device-navigation","version":"4.5.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.5.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"6b9b37050b85c38c3262668beb77084e86dd029d","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.1.tgz","fileCount":36,"integrity":"sha512-+tw5av1ZS3QSDxJnwqN8L7S6WyNd8PjYCOqGlnVwsvhX+/YBZ6nLeahh0B3VFiAyacvAhz79HF2TGOPIleeBBg==","signatures":[{"sig":"MEYCIQDXWnycChNXl3B4/T0I0RbI0t7L1iafArCiI0ynaiuJlwIhAOvw9fo+IHzZNpkuEwuSFzcADObJSoS4AD5wbjgDnFPJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80169},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"6e61e2b0bc5661db12b1c8c8ab9550bc3e68dad6","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.4.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.20.1","typed-event-target":"^4.1.0","@augment-vir/assert":"^31.20.1","@augment-vir/common":"^31.20.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.2","eslint":"^9.27.0","esbuild":"^0.25.5","typedoc":"^0.28.5","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.27.0","typescript":"^5.8.3","element-vir":"^25.7.3","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.20.1","npm-check-updates":"^18.0.1","typescript-eslint":"^8.33.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.17","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.4.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.14","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.33.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.1_1748470020209_0.3101551205696218","host":"s3://npm-registry-packages-npm-production"}},"4.5.2":{"name":"device-navigation","version":"4.5.2","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.5.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"34db6d21c130bbe702051a7ef5799fc672277129","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.2.tgz","fileCount":36,"integrity":"sha512-4kiTzM7/yHQzo5LQtPL4NDeDVfZYpPIox9qtlp2NhzTZSeYHKbhHmHsk8lXkONuoKxB63qmkM+I+PC835R+Rqw==","signatures":[{"sig":"MEMCH3WGmgm/fDMKNM8PTvpAulO6fT6hQhLkxPWPO35yzqACIF9RcoFw+uUvx0HljtoHF1XAA9bW8VnDQ4tPU9itpDm9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80230},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"95628b924f98c13f232084c8204cd4a9c42166d9","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.4.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.20.1","typed-event-target":"^4.1.0","@augment-vir/assert":"^31.20.1","@augment-vir/common":"^31.20.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.2","eslint":"^9.27.0","esbuild":"^0.25.5","typedoc":"^0.28.5","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.27.0","typescript":"^5.8.3","element-vir":"^25.7.3","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.20.1","npm-check-updates":"^18.0.1","typescript-eslint":"^8.33.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.17","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.4.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.14","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.33.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.2_1748470469125_0.9032673946409846","host":"s3://npm-registry-packages-npm-production"}},"4.5.3":{"name":"device-navigation","version":"4.5.3","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.5.3","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"22ba9d14d12c3711779a11c201a7717654cc1772","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.3.tgz","fileCount":36,"integrity":"sha512-NDZdV/db1/aR/F9RVc0r9Ax/BDUR1HMNOJtmm44y1AP9+3jt4R7JNY5ACokaIL6F/Sr8NVxgHakuEVX+h/cKlA==","signatures":[{"sig":"MEQCIBvuoKvkMGZfs66CUfcJ3mjnOSl/LcAr4cBdkUlgCg43AiA3HDjjhkTKAv+g8x/b9MdRkqX0qSYjfFsOWSsXdE7K/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80899},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"d2adf614ec273275f593767c3c73188f0a889c1b","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.4.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.21.0","typed-event-target":"^4.1.0","@augment-vir/assert":"^31.21.0","@augment-vir/common":"^31.21.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.2","eslint":"^9.27.0","esbuild":"^0.25.5","typedoc":"^0.28.5","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.27.0","typescript":"^5.8.3","element-vir":"^25.7.3","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.21.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.33.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.17","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.4.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.14","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.33.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.3_1748480230002_0.7242378915036267","host":"s3://npm-registry-packages-npm-production"}},"4.5.4":{"name":"device-navigation","version":"4.5.4","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.5.4","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"e3da001acde86edabe6c7fa94defcfab8acb09a7","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.4.tgz","fileCount":36,"integrity":"sha512-n8SIJGl78ttnPrTjXDU9yxM3bAJda54JXTqWSUufCmzjBYNVwCIqfKsUnFTn4nzzJRvZB/b0d3DZiKojjb45RA==","signatures":[{"sig":"MEYCIQD2fc6bQ0CFMnR5J+ZP18hr0nzSYq6vjVSKSsl0OSVJ4QIhANjDUgz3wES9BXFdCzCcGStVsrGoC5gpyD1XgoykSWTA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81390},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"8c3ca9c964fcafcbb89bb50dc76069960968bc31","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.4.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.21.0","typed-event-target":"^4.1.0","@augment-vir/assert":"^31.21.0","@augment-vir/common":"^31.21.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.2","eslint":"^9.27.0","esbuild":"^0.25.5","typedoc":"^0.28.5","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.27.0","typescript":"^5.8.3","element-vir":"^25.7.3","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.21.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.33.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.17","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.4.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.14","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.33.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.4_1748482141147_0.07465613963219164","host":"s3://npm-registry-packages-npm-production"}},"4.5.5":{"name":"device-navigation","version":"4.5.5","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT or CC0 1.0)","_id":"device-navigation@4.5.5","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"6e2ccab74f1c95f9da97f51cbffb6173e59957fd","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.5.tgz","fileCount":36,"integrity":"sha512-HeF79xemJHlaNFedn9HZe4vBIHfQXqy7JAbFXZB3icCvits50BC2dMdYvnPpRpbE/TQ4u9TS8IszFJ2FI3NtXA==","signatures":[{"sig":"MEUCICRQmwVWGm7CxLSaKKGAA8VMDCY8UZURkHsisUOAIW5BAiEAvJmMwfsIxLHbo8qEKWDc9AG0qmP1dzwv5qavfZqEbls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81383},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"6297d851fdccf98a5310b7f216133332eea4273f","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && concurrently --colors --kill-others-on-fail -c auto --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.4.1","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"type-fest":"^4.41.0","@augment-vir/web":"^31.21.0","typed-event-target":"^4.1.0","@augment-vir/assert":"^31.21.0","@augment-vir/common":"^31.21.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.3.5","cspell":"^9.0.2","eslint":"^9.27.0","esbuild":"^0.25.5","typedoc":"^0.28.5","prettier":"~3.3.3","virmator":"^13.15.1","@eslint/js":"^9.27.0","typescript":"^5.8.3","element-vir":"^25.7.3","@eslint/eslintrc":"^3.3.1","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.21.0","npm-check-updates":"^18.0.1","typescript-eslint":"^8.33.0","dependency-cruiser":"^16.10.2","eslint-plugin-jsdoc":"^50.6.17","vite-tsconfig-paths":"^5.1.4","prettier-plugin-toml":"^2.0.5","eslint-plugin-sonarjs":"^3.0.2","eslint-plugin-unicorn":"^59.0.1","prettier-plugin-jsdoc":"^1.3.2","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.0","@web/dev-server-esbuild":"^1.0.4","@stylistic/eslint-plugin":"^4.4.0","eslint-plugin-playwright":"^2.2.0","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.1.1","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.0","@web/test-runner-playwright":"^0.11.0","prettier-plugin-packagejson":"^2.5.14","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.3","@typescript-eslint/eslint-plugin":"^8.33.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.0.3","prettier-plugin-organize-imports":"^4.1.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.5_1748524695613_0.9911169993982152","host":"s3://npm-registry-packages-npm-production"}},"4.5.6":{"name":"device-navigation","version":"4.5.6","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.5.6","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"557114f7a33fa032dd4b3126924149de3789efc9","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.6.tgz","fileCount":34,"integrity":"sha512-+ay+gHmrsy0wGpmNQ9kTaWivyu7WPPdkuvhwu9D1n8as+akUbSPrk/h+wFA1PMgemybz4DITkos/K7tG7p0XGQ==","signatures":[{"sig":"MEUCIQCCBh7Oht3XWNZMzfazLOCN1uCRPK5WHg4Z4WCEvvGhSAIgAJeSJUrV/dQcvDTGG4x2tnAJkoK5UO7TFEGbomD2CwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80984},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"5e6ef31b0c718ea1915b82ed7eaba0827e5a7ac0","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.15.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"type-fest":"^5.7.0","@augment-vir/web":"^31.73.0","typed-event-target":"^4.3.0","@augment-vir/assert":"^31.73.0","@augment-vir/common":"^31.73.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","cspell":"^10.0.1","eslint":"^10.4.1","esbuild":"^0.28.0","typedoc":"^0.28.19","prettier":"~3.3.3","runstorm":"^1.0.2","virmator":"^14.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.0","@eslint/eslintrc":"^3.3.5","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.73.0","npm-check-updates":"^22.2.2","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.3","eslint-plugin-jsdoc":"^63.0.1","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^64.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.4","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.5","@typescript-eslint/eslint-plugin":"^8.60.1","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.9","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.6_1781100786619_0.6715834736915463","host":"s3://npm-registry-packages-npm-production"}},"4.5.7":{"name":"device-navigation","version":"4.5.7","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.5.7","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"9a9f8ee04c6a587c5d93ccde5ae62bd0b88bda05","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.5.7.tgz","fileCount":34,"integrity":"sha512-T6FBmGtUgzn0c+ogmd0HcbyAv2mkkdpDaqymfRCmm0gpduDa7hXAby4CVmumXluqXFSgeRAFDLNSxHJH+hWqzQ==","signatures":[{"sig":"MEYCIQDVHbm6g1G+zIHkX83xyxvJq7DqJZorcizNnFa+raisPwIhAP+mAcjTB5Ktg3UTy8kUcqgoaB1MmWpBslYcFcLOPbdm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83064},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"cb9b3f38f0c0d66cfa208673f09fa2b435613ffd","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.15.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"type-fest":"^5.7.0","@augment-vir/web":"^31.73.0","typed-event-target":"^4.3.0","@augment-vir/assert":"^31.73.0","@augment-vir/common":"^31.73.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","cspell":"^10.0.1","eslint":"^10.4.1","esbuild":"^0.28.0","typedoc":"^0.28.19","prettier":"~3.3.3","runstorm":"^1.0.2","virmator":"^14.20.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.0","@eslint/eslintrc":"^3.3.5","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.73.0","npm-check-updates":"^22.2.2","typescript-eslint":"^8.60.1","dependency-cruiser":"^17.4.3","eslint-plugin-jsdoc":"^63.0.1","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^64.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.4","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.5","@typescript-eslint/eslint-plugin":"^8.60.1","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.9","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.5.7_1781148194216_0.41115392115576643","host":"s3://npm-registry-packages-npm-production"}},"4.6.0":{"name":"device-navigation","version":"4.6.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.6.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"bbc8346d949c3945ca6ca8b4b4035a6846f5ea3b","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.6.0.tgz","fileCount":34,"integrity":"sha512-+c/JUosxII8eRnivbLHp+6NBCuaofqpM3rcLZDgHr3fbvt5KScuA1KK58D3RSgFb9L1FiUCrrhyOUGBFI9TJyA==","signatures":[{"sig":"MEUCIDAPFLgJbPdiWatfKQuhuyRhctCkinh1ip75S11TXLGOAiEAmW6vBvLklDFET1mo5a46v54f+/6Wn214xWmMESOO9y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86149},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"50fb81a092be006e418bc49632c6bff4d2fc138e","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"type-fest":"^5.7.0","@augment-vir/web":"^31.73.0","typed-event-target":"^4.3.1","@augment-vir/assert":"^31.73.0","@augment-vir/common":"^31.73.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","cspell":"^10.0.1","eslint":"^10.4.1","esbuild":"^0.28.1","typedoc":"^0.28.19","prettier":"~3.3.3","runstorm":"^1.0.2","virmator":"^14.24.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.0","@eslint/eslintrc":"^3.3.5","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.73.0","npm-check-updates":"^22.2.3","typescript-eslint":"^8.61.0","dependency-cruiser":"^17.4.3","eslint-plugin-jsdoc":"^63.0.2","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^65.0.1","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.4","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.5","@typescript-eslint/eslint-plugin":"^8.61.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.9","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.6.0_1781456587634_0.6690652931934893","host":"s3://npm-registry-packages-npm-production"}},"4.6.1":{"name":"device-navigation","version":"4.6.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.6.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"42a6f4755d16e1ca25ca74dc96ae0d74af4a8375","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.6.1.tgz","fileCount":34,"integrity":"sha512-SvxJzXzn8u1o9aP5XeaSOkh60pWjJyFnxDD2+0g8tUK4xdap33ZYtFrb9KMnw5exH+Zt8ITJNQpeOyRb2iUwXA==","signatures":[{"sig":"MEQCIFxt2UrI589gR3s8df+oPD/fWHKUZAKyaQ3WqKetIdXLAiBoX6DuW+C+PxYcYsx6p5DP+wV45yJisNoIEPFl8gVeZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86711},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"6d1c7d65bf78f9e26a80643174233e85fed53803","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"type-fest":"^5.7.0","@augment-vir/web":"^31.73.0","typed-event-target":"^4.3.1","@augment-vir/assert":"^31.73.0","@augment-vir/common":"^31.73.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","cspell":"^10.0.1","eslint":"^10.4.1","esbuild":"^0.28.1","typedoc":"^0.28.19","prettier":"~3.3.3","runstorm":"^1.0.2","virmator":"^14.24.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.0","@eslint/eslintrc":"^3.3.5","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.73.0","npm-check-updates":"^22.2.3","typescript-eslint":"^8.61.0","dependency-cruiser":"^17.4.3","eslint-plugin-jsdoc":"^63.0.2","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^65.0.1","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.4","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.5","@typescript-eslint/eslint-plugin":"^8.61.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.9","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.6.1_1781459300552_0.42038105503771916","host":"s3://npm-registry-packages-npm-production"}},"4.7.0":{"name":"device-navigation","version":"4.7.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.7.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"c721c609889f61f46ee9ca1df326065c05b2bfef","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.7.0.tgz","fileCount":34,"integrity":"sha512-YFyvqgZ8LwN0Dxei0CyWQHOjfW7uyENDHgMNisdIiQQ3UOSHo+Qrh/ONwOynEl1jH6QpkC/isDdpF+jx60Vgcg==","signatures":[{"sig":"MEUCIQDNKcCUGVkmnaxICGZ+T6Q3EVNm8YzJPn6ODeiGUbbXtAIgVzbbPlJ7mI20uLtfaRFnBOB1X1ldy4xVIjxJDGEsBkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88842},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"e2ed1ac1c0f11fd836c0444abf8eff0b75208c9e","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"type-fest":"^5.7.0","@augment-vir/web":"^31.73.0","typed-event-target":"^4.3.1","@augment-vir/assert":"^31.73.0","@augment-vir/common":"^31.73.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","cspell":"^10.0.1","eslint":"^10.4.1","esbuild":"^0.28.1","typedoc":"^0.28.19","prettier":"~3.3.3","runstorm":"^1.0.2","virmator":"^14.25.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.0","@eslint/eslintrc":"^3.3.5","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.73.0","npm-check-updates":"^22.2.3","typescript-eslint":"^8.61.0","dependency-cruiser":"^17.4.3","eslint-plugin-jsdoc":"^63.0.2","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^65.0.1","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.4","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.5","@typescript-eslint/eslint-plugin":"^8.61.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.9","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.7.0_1781699867544_0.9245075674159062","host":"s3://npm-registry-packages-npm-production"}},"4.7.1":{"name":"device-navigation","version":"4.7.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.7.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"a28bf1d8b2cb5ef9f3fadadeec6de079c2b3b2de","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.7.1.tgz","fileCount":34,"integrity":"sha512-QWkMyHfEnvwVtokLQktCp6OPt9bdLBFv4Ri61UhqLrLwuZRjFuiLSgkit9IX32rHW6Wb7/DKwG3E09goLJ3MAA==","signatures":[{"sig":"MEUCICYLnyfmjVSEQVyMNomrbcOydN7bx1i5L4DI8pc3vLSgAiEA15lPibaoNN2C/4t/dLSUJaK8zK8VB/wRF693rFK0kBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89242},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"d75edbd2f8b4fe9c40ab1461274cb8c23e5b8c85","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"type-fest":"^5.7.0","@augment-vir/web":"^31.73.0","typed-event-target":"^4.3.1","@augment-vir/assert":"^31.73.0","@augment-vir/common":"^31.73.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","cspell":"^10.0.1","eslint":"^10.4.1","esbuild":"^0.28.1","typedoc":"^0.28.19","prettier":"~3.3.3","runstorm":"^1.0.2","virmator":"^14.25.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.0","@eslint/eslintrc":"^3.3.5","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.73.0","npm-check-updates":"^22.2.3","typescript-eslint":"^8.61.0","dependency-cruiser":"^17.4.3","eslint-plugin-jsdoc":"^63.0.2","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^65.0.1","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.4","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.5","@typescript-eslint/eslint-plugin":"^8.61.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.9","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.7.1_1781703004734_0.6370240005201027","host":"s3://npm-registry-packages-npm-production"}},"4.7.2":{"name":"device-navigation","version":"4.7.2","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.7.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"3f58cd1dfaac3ef0a0fb3ecf8a4057955cd0d413","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.7.2.tgz","fileCount":34,"integrity":"sha512-f5os59KRVRQcDgV4A0Jmm17COYjMBFijRQ3fIMwflWisONVmLMpTHQVqQZAIfVVoXBLya7mEhiDJNapeGig3zw==","signatures":[{"sig":"MEQCIFD5oBSEHQUISgjmGgP7l/2yaKMI01/IBPsReP9HkzYeAiBC8U+a/tW5vDvWgdB+ZUq3p4z8Agbr572ojL1N38bu1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90343},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"8d0489630232eeb27eba78f036cb6e94a193bf7c","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"type-fest":"^5.7.0","@augment-vir/web":"^31.73.0","typed-event-target":"^4.3.1","@augment-vir/assert":"^31.73.0","@augment-vir/common":"^31.73.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","cspell":"^10.0.1","eslint":"^10.4.1","esbuild":"^0.28.1","typedoc":"^0.28.19","prettier":"~3.3.3","runstorm":"^1.0.2","virmator":"^14.25.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.0","@eslint/eslintrc":"^3.3.5","@web/test-runner":"^0.20.2","@augment-vir/test":"^31.73.0","npm-check-updates":"^22.2.3","typescript-eslint":"^8.61.0","dependency-cruiser":"^17.4.3","eslint-plugin-jsdoc":"^63.0.2","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.0.3","eslint-plugin-unicorn":"^65.0.1","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^1.0.5","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.4","@web/test-runner-commands":"^0.9.0","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^0.11.1","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.5","@typescript-eslint/eslint-plugin":"^8.61.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.9","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^0.10.0","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.7.2_1781921795977_0.3642436242175655","host":"s3://npm-registry-packages-npm-production"}},"4.7.3":{"name":"device-navigation","version":"4.7.3","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.7.3","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"92984dad154020612dfdc3742d2d1727a07859bf","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.7.3.tgz","fileCount":34,"integrity":"sha512-Pyb7AWf3djKmhK07iHHqOOyQnVGhjviKf5faFarR8DGF1LsUy1m1HSK6l1pJtQf6VTH1yWb8dpGSiXPUf126jQ==","signatures":[{"sig":"MEYCIQCCHO5DvpOzC+q0sBQ1Zk5lUUknrSMLNUerFNNA0x+27wIhAPetvlMENNGyX2F6vA8mqA6J9Z1RMndoxAqc9dWI+NjH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90475},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"c18678c080f986c1fafc6b9eb85733b47d5b9916","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.1"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@augment-vir/web":"^32.2.1","typed-event-target":"^4.3.2","@augment-vir/assert":"^32.2.1","@augment-vir/common":"^32.2.1"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.1.5","cspell":"^10.0.1","eslint":"^10.7.0","esbuild":"^0.28.1","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.30.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.1","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.2.1","npm-check-updates":"^22.2.9","typescript-eslint":"^8.65.0","dependency-cruiser":"^18.1.0","eslint-plugin-jsdoc":"^63.2.2","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^72.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.10.5","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.65.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.10","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.1"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.7.3_1785332967303_0.7309363047585247","host":"s3://npm-registry-packages-npm-production"}},"4.8.0":{"name":"device-navigation","version":"4.8.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.8.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"a7dfd463e293e95899920ea679234d866dbb092a","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.8.0.tgz","fileCount":34,"integrity":"sha512-GO59s38uIH9e4beY9aWgKMGXZB+kvbYhVuovRCqgAxOXQy+5foqCdt1MuL1zvZh01TgQTe0r6+VhXdEEnFmEIw==","signatures":[{"sig":"MEYCIQDujwWQGGu/kVZJnh5VsdXrYNS5xMoEpR9Xr3ggVaINpgIhAOYMUoBLofKRGkFs2Et078yR8CxhTfTzApDBGdngGcCw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91722},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"1c0ae68134587591337512f1e4249deaa275ff70","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@augment-vir/web":"^32.2.3","typed-event-target":"^4.3.3","@augment-vir/assert":"^32.2.3","@augment-vir/common":"^32.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","cspell":"^10.0.1","eslint":"^10.8.1","esbuild":"^0.28.2","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.32.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.3","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.2.3","npm-check-updates":"^23.0.2","typescript-eslint":"^8.67.0","dependency-cruiser":"^18.2.0","eslint-plugin-jsdoc":"^64.2.0","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^73.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.11.0","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.67.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.2"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.8.0_1787366807597_0.1891265927416843","host":"s3://npm-registry-packages-npm-production"}},"4.8.1":{"name":"device-navigation","version":"4.8.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.8.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"56eee9a4d75d935eb601be7245fecdb05ae86ffd","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.8.1.tgz","fileCount":34,"integrity":"sha512-8XEN2U+w+FkJuywVRAyJpBitw49iM7QPOCUIOAFIGdHjUAIriX8DYhVjxk8lRE+cL3jzDp6ClU+h4rhclTTKiA==","signatures":[{"sig":"MEYCIQCS3JP7adO6ReuInn7JLUzMyfNLXFwxLnNYI3f5D/WCMQIhAKzorqjWOSDYj7GOYwn0J+1sS+DkYlzeOyB8CdNBdjoJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":96577},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"e7a634388c6c4d283e1b7b64df469a496e78a41e","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@augment-vir/web":"^32.2.3","typed-event-target":"^4.3.3","@augment-vir/assert":"^32.2.3","@augment-vir/common":"^32.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","cspell":"^10.0.1","eslint":"^10.8.1","esbuild":"^0.28.2","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.32.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.3","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.2.3","npm-check-updates":"^23.0.2","typescript-eslint":"^8.67.0","dependency-cruiser":"^18.2.0","eslint-plugin-jsdoc":"^64.2.0","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^73.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.11.0","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.67.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.2"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.8.1_1787402405226_0.7565086553887939","host":"s3://npm-registry-packages-npm-production"}},"4.8.2":{"name":"device-navigation","version":"4.8.2","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.8.2","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"1e7b7ee93f57954ba58e8dafa71ca81344866f3f","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.8.2.tgz","fileCount":34,"integrity":"sha512-tSq00RmBsYFbNVYJzIrFpKY1rqkkQoUBEJ2koLP3Ua2qH/QBxE61aqUqatSmyD3f2cOBOLp53Iq3uaKjw0iTBw==","signatures":[{"sig":"MEQCIDpCptLm81pITKBCMdZPsD8tDuezdKnQZlua2jkzmVeDAiBSwPNFc3a8jmJT1WKMfSBL12jEPvG9IJvWdC/2d42izQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99160},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"c1f495ebcbb2c992599e3e7f09a2ee532b32a25d","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@augment-vir/web":"^32.2.3","typed-event-target":"^4.3.3","@augment-vir/assert":"^32.2.3","@augment-vir/common":"^32.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","cspell":"^10.0.1","eslint":"^10.8.1","esbuild":"^0.28.2","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.32.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.3","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.2.3","npm-check-updates":"^23.0.2","typescript-eslint":"^8.67.0","dependency-cruiser":"^18.2.0","eslint-plugin-jsdoc":"^64.2.0","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^73.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.11.0","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.67.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.2"},"peerDependencies":{"element-vir":">=25"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.8.2_1787406539710_0.193479549932408","host":"s3://npm-registry-packages-npm-production"}},"4.8.3":{"name":"device-navigation","version":"4.8.3","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.8.3","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"a7e204a1e5d3d33efad2ecea95cbcf716c458494","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.8.3.tgz","fileCount":34,"integrity":"sha512-9VmoB5WsMTjzoseF/9qEpZYAbgxb40ZDsEZZIwn5pJFgeQpkN/rbo4cpph1TEQ5or1Oy8e/ij2l8vMtdiq9bNw==","signatures":[{"sig":"MEUCIQCACMVzANly2ETzsM71SShnoskeBXtV0YGI5JbzokuwkgIgMv7LoK66HtdNgstw5HUbdtj7kHFv1nvEAwqHeRsmNdU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99159},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"fcb29da3b382c0f6e112233faa3e0ae6ce0e363c","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@augment-vir/web":"^32.2.3","typed-event-target":"^4.3.3","@augment-vir/assert":"^32.2.3","@augment-vir/common":"^32.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","cspell":"^10.0.1","eslint":"^10.8.1","esbuild":"^0.28.2","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.32.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.3","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.2.3","npm-check-updates":"^23.0.2","typescript-eslint":"^8.67.0","dependency-cruiser":"^18.2.0","eslint-plugin-jsdoc":"^64.2.0","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^73.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.11.0","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.67.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.2"},"peerDependencies":{"element-vir":"^26"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.8.3_1787423245966_0.6822948342514639","host":"s3://npm-registry-packages-npm-production"}},"4.9.0":{"name":"device-navigation","version":"4.9.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.9.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"653233e9bc094d4d5411f05f439d096f5b67e896","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.9.0.tgz","fileCount":34,"integrity":"sha512-BnfbL8WpnNZo4Z3yjTxUHFE+ExD+K5I4sC8bBlY4mN2lbCkfvESptPLOKA8+WFGjlhsTBttP7DqX83vkG9W+hQ==","signatures":[{"sig":"MEYCIQDmPLXpriVkWxh+8VGKZqZsC2k0QszUQDw3MTopddr1vgIhAMiFlTmbXF5RO4u/G4Y09jHwyTeDiqDJAOREnOh1x+R4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99519},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"e259b9a23234e1b76aedbb4d17e41c5d36a0e6bd","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@augment-vir/web":"^32.2.3","typed-event-target":"^4.3.3","@augment-vir/assert":"^32.2.3","@augment-vir/common":"^32.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","cspell":"^10.0.1","eslint":"^10.8.1","esbuild":"^0.28.2","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.32.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.3","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.2.3","npm-check-updates":"^23.0.2","typescript-eslint":"^8.67.0","dependency-cruiser":"^18.2.0","eslint-plugin-jsdoc":"^64.2.0","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^73.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.11.0","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.67.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.2"},"peerDependencies":{"element-vir":"^26"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.9.0_1787428080371_0.837968104513301","host":"s3://npm-registry-packages-npm-production"}},"4.9.1":{"name":"device-navigation","version":"4.9.1","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@4.9.1","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"919659d1b86d254171a95ad408502a5c91c10137","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-4.9.1.tgz","fileCount":34,"integrity":"sha512-ZCCXhz/vdDIZIKirRw13wFiTEaMLOmnP0oMmnw91R5thhSVelFbhK95L/0VcLtD90AO8XRM1LMCc6AZFghRPNg==","signatures":[{"sig":"MEQCIEe+hULfpiAnimFPphQko7wcnrwPq8TpL86bTpNC0/udAiAo4tuFCx7D4P6Ra02gOyx6N164D9csuiUJ2HfgvF8qkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99834},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"047a2733298abeee64d1040cb55ddfe3e8e8afe6","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@augment-vir/web":"^32.2.3","typed-event-target":"^4.3.3","@augment-vir/assert":"^32.2.3","@augment-vir/common":"^32.2.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","cspell":"^10.0.1","eslint":"^10.8.1","esbuild":"^0.28.2","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.32.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"^26.17.3","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.2.3","npm-check-updates":"^23.0.2","typescript-eslint":"^8.67.0","dependency-cruiser":"^18.2.0","eslint-plugin-jsdoc":"^64.2.0","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^73.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.11.0","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.67.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.2"},"peerDependencies":{"element-vir":"^26"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_4.9.1_1787430062119_0.48998157984400836","host":"s3://npm-registry-packages-npm-production"}},"5.0.0-beta.0":{"name":"device-navigation","version":"5.0.0-beta.0","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"author":{"url":"https://github.com/electrovir","name":"electrovir"},"license":"(MIT OR CC0-1.0)","_id":"device-navigation@5.0.0-beta.0","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"dist":{"shasum":"c6549065da8127f06bf85596fb88806e5f784eb6","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-5.0.0-beta.0.tgz","fileCount":34,"integrity":"sha512-Nb5P+aHSMCVc2LpBMKI9HVfvHZiR7TDkISrwOlJYJA0IjALXltFGWW9WoB43AO8l6PfK/7bDIQlbkliHFkGDzg==","signatures":[{"sig":"MEQCIF6StEtKIbrX6mfd08in+b4ANmurRLv1v9Cukf5QL6JyAiB0W3cEqoCEam/3jE2VPn6DsSe130cgr+1L5CWcNXqSPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99885},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","engines":{"node":">=22"},"gitHead":"94a80f9f10ba6815b5c5bfc38f76d66d01d6be46","scripts":{"docs":"virmator docs","lint":"virmator lint fix","test":"virmator test web","build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","start":"virmator frontend","format":"virmator format","compile":"virmator compile","publish":"virmator publish npm run test:all","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:deps":"virmator deps check","test:docs":"virmator docs check","test:lint":"virmator lint","test:format":"virmator format check","test:update":"npm test update","test:coverage":"npm run test coverage","test:spelling":"virmator spellcheck"},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"overrides":{"esbuild":"^0.28.2"},"repository":{"url":"git+https://github.com/electrovir/device-navigation.git","type":"git"},"_npmVersion":"11.17.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","directories":{},"sideEffects":false,"_nodeVersion":"24.16.0","dependencies":{"@augment-vir/web":"^32.3.0-beta.0","typed-event-target":"^4.3.3","@augment-vir/assert":"^32.3.0-beta.0","@augment-vir/common":"^32.3.0-beta.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^8.2.2","cspell":"^10.2.0","eslint":"^10.9.1","esbuild":"^0.28.2","typedoc":"^0.28.20","prettier":"~3.3.3","runstorm":"^1.0.6","virmator":"^14.34.0","@eslint/js":"^10.0.1","typescript":"^6.0.3","element-vir":"27.0.0-beta.3","@eslint/eslintrc":"^3.3.6","@web/test-runner":"^1.0.0","@augment-vir/test":"^32.3.0-beta.0","npm-check-updates":"^23.1.0","typescript-eslint":"^8.69.0","dependency-cruiser":"^18.2.0","eslint-plugin-jsdoc":"^64.3.3","vite-tsconfig-paths":"^6.1.1","prettier-plugin-toml":"^2.0.6","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^74.0.0","prettier-plugin-jsdoc":"^1.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.6","@web/dev-server-esbuild":"^2.0.0","@stylistic/eslint-plugin":"^5.10.0","eslint-plugin-playwright":"^2.11.0","@web/test-runner-commands":"^1.0.1","prettier-plugin-sort-json":"^4.2.0","eslint-plugin-monorepo-cop":"^1.0.2","@stylistic/eslint-plugin-ts":"^4.4.1","@web/test-runner-playwright":"^1.0.0","prettier-plugin-packagejson":"^3.0.2","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","@typescript-eslint/eslint-plugin":"^8.69.0","eslint-plugin-require-extensions":"^0.1.3","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","@web/test-runner-visual-regression":"^1.0.1","prettier-plugin-interpolated-html-tags":"^2.0.2"},"peerDependencies":{"element-vir":"^27.0.0-beta.3"},"_npmOperationalInternal":{"tmp":"tmp/device-navigation_5.0.0-beta.0_1789160610934_0.9979950780159794","host":"s3://npm-registry-packages-npm-production"}},"5.0.0":{"name":"device-navigation","version":"5.0.0","description":"Navigate HTML elements in two dimensions with non-pointer devices.","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"homepage":"https://github.com/electrovir/device-navigation","bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"repository":{"type":"git","url":"git+https://github.com/electrovir/device-navigation.git"},"license":"(MIT OR CC0-1.0)","author":{"name":"electrovir","url":"https://github.com/electrovir"},"sideEffects":false,"type":"module","main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"virmator frontend build && npm run docs && cp -r dist-docs dist-frontend/docs","compile":"virmator compile","docs":"virmator docs","format":"virmator format","lint":"virmator lint fix","publish":"virmator publish npm run test:all","start":"virmator frontend","test":"virmator test web","test:all":"npm run compile && runstorm --names tests,spelling,format,docs,deps,lint \"npm run test\" \"npm run test:spelling\" \"npm run test:format\" \"npm run test:docs\" \"npm run test:deps\" \"npm run test:lint\"","test:coverage":"npm run test coverage","test:deps":"virmator deps check","test:docs":"virmator docs check","test:format":"virmator format check","test:lint":"virmator lint","test:spelling":"virmator spellcheck","test:update":"npm test update"},"overrides":{"esbuild":"^0.28.2"},"dependencies":{"@augment-vir/assert":"^32.3.0","@augment-vir/common":"^32.3.0","@augment-vir/web":"^32.3.0","typed-event-target":"^4.3.3"},"devDependencies":{"@augment-vir/test":"^32.3.0","@eslint/eslintrc":"^3.3.7","@eslint/js":"^10.0.1","@stylistic/eslint-plugin":"^5.10.0","@stylistic/eslint-plugin-ts":"^4.4.1","@typescript-eslint/eslint-plugin":"^8.70.0","@web/dev-server-esbuild":"^2.0.0","@web/test-runner":"^1.0.0","@web/test-runner-commands":"^1.0.1","@web/test-runner-playwright":"^1.0.0","@web/test-runner-visual-regression":"^1.0.1","cspell":"^10.2.2","dependency-cruiser":"^18.2.0","element-vir":"27.0.0","esbuild":"^0.28.2","eslint":"^10.10.0","eslint-config-prettier":"^10.1.8","eslint-plugin-jsdoc":"^64.3.6","eslint-plugin-monorepo-cop":"^1.0.2","eslint-plugin-playwright":"^2.11.0","eslint-plugin-prettier":"^5.5.6","eslint-plugin-require-extensions":"^0.1.3","eslint-plugin-sonarjs":"^4.2.0","eslint-plugin-unicorn":"^74.0.0","istanbul-smart-text-reporter":"^1.1.5","markdown-code-example-inserter":"^3.0.6","npm-check-updates":"^23.1.0","prettier":"~3.3.3","prettier-plugin-interpolated-html-tags":"^2.0.2","prettier-plugin-jsdoc":"^1.8.1","prettier-plugin-multiline-arrays":"^4.1.11","prettier-plugin-organize-imports":"^4.3.0","prettier-plugin-packagejson":"^3.0.2","prettier-plugin-sort-json":"^4.2.0","prettier-plugin-toml":"^2.0.6","runstorm":"^1.1.0","typedoc":"^0.28.20","typescript":"^6.0.3","typescript-eslint":"^8.70.0","virmator":"^14.36.2","vite":"^8.2.2","vite-tsconfig-paths":"^6.1.1"},"peerDependencies":{"element-vir":"^27.0.0"},"engines":{"node":">=22"},"gitHead":"215ae9a03997d93226ffac8ed710296037cfa085","_id":"device-navigation@5.0.0","_nodeVersion":"24.16.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-KROXzGPtnQ+FtAzv5dhg37O3wW9YrfM+qraiWCQGKxt12w9ahe8NdpMb00sRJo//r50W/yUdm1aZMdrpHyTjGg==","shasum":"f3814447a75ce94a5c53baecde52253938cde8ee","tarball":"https://registry.npmjs.org/device-navigation/-/device-navigation-5.0.0.tgz","fileCount":34,"unpackedSize":99837,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG4QhE8PrpuF/b+Tj4tKZbfMqda473T+lqDLb7YGag8NAiAw63vrmY/WAjXbpVHV0vz6393KoMP11UbvxkTA94Ju9A=="}]},"_npmUser":{"name":"electrovir","email":"pithy.gut0a@icloud.com"},"directories":{},"maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/device-navigation_5.0.0_1789251511667_0.044978922086281514"},"_hasShrinkwrap":false}},"time":{"created":"2023-11-24T22:12:00.596Z","modified":"2026-09-12T22:18:31.975Z","0.0.0":"2023-11-24T22:12:00.782Z","0.0.1":"2023-12-14T13:54:35.630Z","0.0.2":"2024-04-24T20:03:02.222Z","1.0.0":"2024-04-25T21:22:01.558Z","1.0.1":"2024-06-27T13:23:29.152Z","2.0.0":"2024-07-05T21:31:48.016Z","2.0.1":"2024-07-06T12:08:22.976Z","3.0.0":"2024-10-07T13:06:31.952Z","3.0.1":"2024-10-08T13:37:13.045Z","3.0.2":"2024-12-10T01:20:49.953Z","3.0.3":"2024-12-17T04:08:22.023Z","3.1.0":"2025-03-10T20:20:03.710Z","3.1.1":"2025-03-15T14:17:32.290Z","4.0.0":"2025-05-12T23:11:16.297Z","4.0.1":"2025-05-12T23:34:35.278Z","4.0.2":"2025-05-13T00:25:07.305Z","4.1.0":"2025-05-13T12:05:46.110Z","4.1.1":"2025-05-13T12:46:13.114Z","4.1.2":"2025-05-13T13:00:38.531Z","4.2.0":"2025-05-13T13:40:48.923Z","4.3.0":"2025-05-13T16:15:47.179Z","4.3.1":"2025-05-13T21:44:42.793Z","4.4.0":"2025-05-13T22:17:03.430Z","4.4.1":"2025-05-28T21:29:15.740Z","4.5.0":"2025-05-28T21:37:26.404Z","4.5.1":"2025-05-28T22:07:00.404Z","4.5.2":"2025-05-28T22:14:29.326Z","4.5.3":"2025-05-29T00:57:10.256Z","4.5.4":"2025-05-29T01:29:01.422Z","4.5.5":"2025-05-29T13:18:15.797Z","4.5.6":"2026-06-10T14:13:06.798Z","4.5.7":"2026-06-11T03:23:14.366Z","4.6.0":"2026-06-14T17:03:07.768Z","4.6.1":"2026-06-14T17:48:20.692Z","4.7.0":"2026-06-17T12:37:47.692Z","4.7.1":"2026-06-17T13:30:04.872Z","4.7.2":"2026-06-20T02:16:36.150Z","4.7.3":"2026-07-29T13:49:27.454Z","4.8.0":"2026-08-22T02:46:47.750Z","4.8.1":"2026-08-22T12:40:05.379Z","4.8.2":"2026-08-22T13:48:59.857Z","4.8.3":"2026-08-22T18:27:26.121Z","4.9.0":"2026-08-22T19:48:00.501Z","4.9.1":"2026-08-22T20:21:02.257Z","5.0.0-beta.0":"2026-09-11T21:03:31.076Z","5.0.0":"2026-09-12T22:18:31.811Z"},"bugs":{"url":"https://github.com/electrovir/device-navigation/issues"},"author":{"name":"electrovir","url":"https://github.com/electrovir"},"license":"(MIT OR CC0-1.0)","homepage":"https://github.com/electrovir/device-navigation","keywords":["keyboard","navigation","mouse","focus","accessibility","gamepad","frontend","ui","elements"],"repository":{"type":"git","url":"git+https://github.com/electrovir/device-navigation.git"},"description":"Navigate HTML elements in two dimensions with non-pointer devices.","maintainers":[{"name":"electrovir","email":"pithy.gut0a@icloud.com"}],"readme":"# device-navigation\n\nAllows navigation between HTML elements in one or two dimensions with mouse and non-mouse devices in a unified API.\n\nNote that this is specifically built for usage within [`lit`](https://www.npmjs.com/package/lit) or [`element-vir`](https://www.npmjs.com/package/lit) HTML templates.\n\n-   [demo](https://electrovir.github.io/device-navigation)\n-   [docs](https://electrovir.github.io/device-navigation/docs)\n-   [code](https://github.com/electrovir/device-navigation)\n-   [npm](https://www.npmjs.com/package/device-navigation)\n\n## Install\n\n```\nnpm i device-navigation\n```\n\n## Usage\n\n1.  Construct a `NavController` instance and pass it to all `nav` directive calls:\n\n    <!-- example-link: src/readme-examples/nav-controller.example.ts -->\n\n    ```TypeScript\n    import {defineElement, html} from 'element-vir';\n    import {nav, NavController} from 'device-navigation';\n\n    export const MyElement = defineElement()({\n        tagName: 'my-element',\n        state({host}) {\n            return {\n                navController: new NavController(host),\n            };\n        },\n        render({state}) {\n            return html`\n                <main>\n                    <div ${nav(state.navController)}></div>\n                    <div ${nav(state.navController)}></div>\n                    <div ${nav(state.navController)}></div>\n                </main>\n            `;\n        },\n    });\n    ```\n\n2.  Call `NavController` methods from within listeners:\n\n    <!-- example-link: src/readme-examples/navigation.example.ts -->\n\n    ```TypeScript\n    import {defineElement, html} from 'element-vir';\n    import {nav, NavController, NavDirection} from 'device-navigation';\n\n    export const MyElement = defineElement()({\n        tagName: 'my-element',\n        state({host}) {\n            const navController = new NavController(host);\n\n            window.addEventListener('keydown', (event) => {\n                if (event.code === 'ArrowUp') {\n                    navController.navigate({\n                        allowWrapping: true,\n                        direction: NavDirection.Up,\n                    });\n                } else if (event.code === 'ArrowDown') {\n                    navController.navigate({\n                        allowWrapping: true,\n                        direction: NavDirection.Down,\n                    });\n                } else if (event.code === 'Enter') {\n                    navController.enterInto();\n                }\n                // etc.\n            });\n\n            return {\n                navController,\n            };\n        },\n        render({state}) {\n            return html`\n                <main>\n                    <div ${nav(state.navController)}></div>\n                    <div ${nav(state.navController)}></div>\n                    <div ${nav(state.navController)}></div>\n                </main>\n            `;\n        },\n    });\n    ```\n\nTo see a full example, see [the demo element](https://github.com/electrovir/device-navigation/blob/dev/src/test/elements/vir-test-app.element.ts).\n\n## Styles\n\nApply styles vis the `navAttribute.css` selector creator:\n\n<!-- example-link: src/readme-examples/styles.example.ts -->\n\n```TypeScript\nimport {css, defineElement, html} from 'element-vir';\nimport {nav, navAttribute, NavController, NavValue} from 'device-navigation';\n\nexport const MyElement = defineElement()({\n    tagName: 'my-element',\n    styles: css`\n        div {\n            border: 2px solid blue;\n        }\n\n        ${navAttribute.css({\n            navValue: NavValue.Active,\n        })} {\n            border-color: red;\n        }\n        ${navAttribute.css({\n            navValue: NavValue.Focused,\n        })} {\n            border-color: green;\n        }\n    `,\n    state({host}) {\n        return {\n            navController: new NavController(host),\n        };\n    },\n    render({state}) {\n        return html`\n            <main>\n                <div ${nav(state.navController)}></div>\n                <div ${nav(state.navController)}></div>\n                <div ${nav(state.navController)}></div>\n            </main>\n        `;\n    },\n});\n```\n","readmeFilename":"README.md"}