{"_id":"@vue-a11y/focus-loop","_rev":"11-744da409baa72936f3ed440ea24394c0","name":"@vue-a11y/focus-loop","dist-tags":{"latest":"0.2.0","next":"1.1.0"},"versions":{"0.1.0":{"name":"@vue-a11y/focus-loop","version":"0.1.0","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@0.1.0","maintainers":[{"name":"kddeisz","email":"kevin.deisz@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"ktquez","email":"ktquez@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"b1c6f04ce2065289c7e5b701e47c892351cd5548","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-0.1.0.tgz","fileCount":27,"integrity":"sha512-45tuTHeqqyoKcSNeCO/4e4dZQsAOy6dlhZ61g5v63bnTjJSbvdjvdjtBkTWp5W4EGFe/lmfeX6jXaNoa8THP2g==","signatures":[{"sig":"MEUCIQD02uXHedBqEznK9sw8n16Ql7iHKwdet7OQMeWhwvhKwQIgWQ8YFPjhu1Ezj1FQdsDGsrLz3RE9yZnzZNO/TWxLvyE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIIniCRA9TVsSAnZWagAA3ygP/1I61hWWQooPyXX/2vjK\n42D1gTbJV6RvWeMvP8XaxAYljouMaK2kwZfRM7Nt8fwy6Zu+/85RF55xypjm\nHb9HGd1K3Y/xlgOReC9garvWrzZSCrXnTc8Glb8yoKBnQf7rli3CDRR0Hzoy\nL19CMu6h7/UStLFONXY60sBNtvDW5Nncj16ihaYgu+R64o0MZ1TI3N+FFery\nljHiK+ma1L3mzNdxGMBEKQ+wXJeaUE6pO4pUoP8YG0QQAsiLo3GigS4IcoY+\nNCcz0qG2vTVGb81X9oTA3bvWd+ZsGX5IOtImQ3sFIMSoltS/ag8fOOWdwneu\ntCPg9PbfZe08p6yG5FvESUIO8Z+x88Ago29Q64F4jpwNSp5Pn+MQQgGkOs4Y\n8bcHHo9Da9C1TJqmUlp+7rQvhGKP9UW6K/bS2szCBWUggEQ4cS1fKQFsQp3u\nN4lGnKpRuRVl7KD7aZnXRzCYP26RJ47wiW0CQvt53BuPfVT4ux8l6ePy995/\nawPyRP5964R25WBxRGppwlaYw3MXMw/VtACfD73s2iC6AXyljcBcY6LNMtx/\nG/rO3hH1vamwKxuLa++153MlSlxL7xVMDPpD2el8gOk3UEPuaAK8nX3OevvN\nmhi89Vmk2sDzBkR5kWhPTvutTNS8pImiVQcV/MW/q83Ha6TSJeLsP+PhPLZL\nXEIA\r\n=cZtR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/vue-focus-loop.ssr.js","types":"index.d.ts","unpkg":"dist/vue-focus-loop.min.js","module":"dist/vue-focus-loop.esm.js","browser":"dist/vue-focus-loop.esm.js","gitHead":"6f7d60b185a5580bda233786296fa60be9d34800","scripts":{"dev":"rollup --config rollup.config.dev.js --watch","build":"npm run build:ssr & npm run build:es & npm run build:unpkg","release":"standard-version","build:es":"rollup --config rollup.config.prod.js --format es --file dist/vue-focus-loop.esm.js","demo:dev":"cd demo && npm run serve","docs:dev":"vuepress dev docs --no-cache","test:e2e":"cypress run --headless","build:ssr":"rollup --config rollup.config.prod.js --format cjs --file dist/vue-focus-loop.ssr.js","test:unit":"jest","demo:build":"cd demo && npm run build","docs:build":"vuepress build docs --no-cache && echo darkmode.vue-a11y.com >> docs/.vuepress/dist/CNAME","build:unpkg":"rollup --config rollup.config.prod.js --format iife --file dist/vue-focus-loop.min.js","demo:publish":"cp ./demo/dist/index.html ./demo/dist/200.html && surge ./demo/dist https://vue-focus-loop.surge.sh/","docs:publish":"gh-pages -d docs/.vuepress/dist","test:e2e:open":"cypress open ","project:publish":"git push --tags origin master && npm run build && npm publish --access public"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.12.0","description":"Vue component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"12.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.11","jest":"^26.1.0","eslint":"^7.5.0","rollup":"^2.23.0","cypress":"^4.11.0","chokidar":"^3.4.1","gh-pages":"^3.1.0","vuepress":"^1.5.2","babel-jest":"^26.1.0","portal-vue":"^2.1.7","babel-eslint":"^10.1.0","@vue/test-utils":"^1.0.3","standard-version":"^8.0.2","eslint-plugin-vue":"^6.2.2","rollup-plugin-vue":"^5.1.9","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.22.0","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^6.1.0","eslint-plugin-cypress":"^2.11.1","eslint-plugin-promise":"^4.2.1","vue-template-compiler":"^2.6.11","@rollup/plugin-replace":"^2.3.3","eslint-plugin-standard":"^4.0.1","eslint-plugin-vue-a11y":"0.0.31","@rollup/plugin-commonjs":"^14.0.0","@vuepress/theme-default":"^1.5.2","@rollup/plugin-node-resolve":"^8.4.0","@vue/eslint-config-standard":"^5.1.2","vuepress-theme-default-vue-a11y":"^0.1.15","eslint-plugin-vuejs-accessibility":"^0.3.1","@vuepress/plugin-register-components":"^1.5.2"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_0.1.0_1595967969398_0.04030005728748187","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"@vue-a11y/focus-loop","version":"0.1.1","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@0.1.1","maintainers":[{"name":"kddeisz","email":"kevin.deisz@gmail.com"},{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"643e9839d0ac54110ae6db0893214cc6c5fc485e","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-0.1.1.tgz","fileCount":27,"integrity":"sha512-946ahDyC5VxPXFOO7nihr+zhpptfMC6uXfMN97PtsLL9sh9maxQheJTL1U3YwMITozVTF8IKkApAC3A/vvYuWw==","signatures":[{"sig":"MEUCIFJ3JcdaljI1haQJ7I9wo2SYMHRNcRkKZQocsZH73IrHAiEAl/HCPi5nD30hnEDZCLhY3HwULfI1MJkjoTjOKqcwEIU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46993,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ4GiCRA9TVsSAnZWagAAi3gQAKHab1ATxrtOyXc2spY0\nd6+4PbLC7kRvODaE64RoHffwVFf+1qcWS2jSL9RytHmg+dCv3NftZhsmfJOd\ngLMBotCZZ0byY531P054n+xI5FtALmMBkRsh4pKY+d4jpPnQlljHi8u2/GsQ\nSzSypbD4fQIGEf2DRMhbrdy0Bv42fAWsIV3w94P/MNUxsbo7vt8f98ZvbOVm\nYeNwAYHfdqLskvrOA4A1dNWNEN9kYjzcgX9yjU4mSlO6558fo97CUQ+kiJUr\ntrMfKyxa/RtMDL7/uneikOtkWL372UNPWvHDvbR1Yjzs95zRvz9rXtZSA7Ql\n87/UwSbpANm3PJcg4oswke5EghzIYhEQDQJF5OUGLU3tK3ffB8Fn5X0lhHHJ\nkgmmn94MbJIgTDu3b2fN3/KrtoBqlJKgJr4ppe1TxdJ560WZUMbe+Qhfv59K\n90X2zKb+Prr/8iQbnHo3QWnOWV9qzhLRys/0jRjaQwb9a6N+Yj7M94Kf+RaW\nFGPDsekY/PYVYaYE5L0Z4U20q7XM/z4VyY4zOgXjchb8P7pv6K3GNlvenll/\n6QNzjwa8Liqm67X7FLUVjeei2taEl1ZrPjJHGfUIotE7pXWuUQtqRvwHYSzp\na+AND8Hs9bvXWbjDwPdmXdIiF0knLMtEotULIkbmHwS4oRQVb1KBwPCB6hsS\nUxTa\r\n=ojcz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/vue-focus-loop.ssr.js","types":"index.d.ts","unpkg":"dist/vue-focus-loop.min.js","module":"dist/vue-focus-loop.esm.js","browser":"dist/vue-focus-loop.esm.js","gitHead":"8beaeaf0e535b8db9df7bc5a8c1606f7687fb0b4","scripts":{"dev":"rollup --config rollup.config.dev.js --watch","build":"npm run build:ssr & npm run build:es & npm run build:unpkg","release":"standard-version","build:es":"rollup --config rollup.config.prod.js --format es --file dist/vue-focus-loop.esm.js","demo:dev":"cd demo && npm run serve","docs:dev":"vuepress dev docs --no-cache","test:e2e":"cypress run --headless","build:ssr":"rollup --config rollup.config.prod.js --format cjs --file dist/vue-focus-loop.ssr.js","test:unit":"jest","demo:build":"cd demo && npm run build","docs:build":"vuepress build docs --no-cache && echo darkmode.vue-a11y.com >> docs/.vuepress/dist/CNAME","build:unpkg":"rollup --config rollup.config.prod.js --format iife --file dist/vue-focus-loop.min.js","demo:publish":"cp ./demo/dist/index.html ./demo/dist/200.html && surge ./demo/dist https://vue-focus-loop.surge.sh/","docs:publish":"gh-pages -d docs/.vuepress/dist","test:e2e:open":"cypress open ","project:publish":"git push --tags origin master && npm run build && npm publish --access public"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.12.0","description":"Vue component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"12.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.11","jest":"^26.1.0","eslint":"^7.5.0","rollup":"^2.23.0","cypress":"^4.11.0","chokidar":"^3.4.1","gh-pages":"^3.1.0","vuepress":"^1.5.2","babel-jest":"^26.1.0","portal-vue":"^2.1.7","babel-eslint":"^10.1.0","@vue/test-utils":"^1.0.3","standard-version":"^8.0.2","eslint-plugin-vue":"^6.2.2","rollup-plugin-vue":"^5.1.9","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.22.0","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^6.1.0","eslint-plugin-cypress":"^2.11.1","eslint-plugin-promise":"^4.2.1","vue-template-compiler":"^2.6.11","@rollup/plugin-replace":"^2.3.3","eslint-plugin-standard":"^4.0.1","eslint-plugin-vue-a11y":"0.0.31","@rollup/plugin-commonjs":"^14.0.0","@vuepress/theme-default":"^1.5.2","@rollup/plugin-node-resolve":"^8.4.0","@vue/eslint-config-standard":"^5.1.2","vuepress-theme-default-vue-a11y":"^0.1.15","eslint-plugin-vuejs-accessibility":"^0.3.1","@vuepress/plugin-register-components":"^1.5.2"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_0.1.1_1598259618153_0.25600030016764186","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@vue-a11y/focus-loop","version":"0.1.2","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@0.1.2","maintainers":[{"name":"kddeisz","email":"kevin.deisz@gmail.com"},{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"29b79aafd761f1a27ca6c8465f1e5f89df9b2d52","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-0.1.2.tgz","fileCount":27,"integrity":"sha512-to4AIwIOokv33nQC7yxld76rxi00/pZV1T4GD/oYooht0PQ4v6CB3ahZxag6tEmuuOJkdLTFvFbnl+xWgnlQ2w==","signatures":[{"sig":"MEQCIBxt2B1D1YK23T4t301YdVWyXKP2sUK4YNAHWLBrUQA/AiBtrEIhwi3vm4AcVbTg8khO9pROvbcI0b02y//rgv0aYw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ4KUCRA9TVsSAnZWagAAKEgP/jLlRYiYz9vZKqAAbPYg\nP3DUIvhKCq1bT1SoUDY9xAFO7q7mvoPwHjwRU92EyWIqeytiKgsONJjlpjQE\nzzKa9Iq2jvvv9Axl4ybpqCQ/+vJSd70r18vKX5lRBuoPFU23u55xitsAGKPR\nSPjVc7UZWyzYsHXIhUO9zHB76EBDqOqj4SvV3G5G+fpfIgV2nupX3VhacR8D\nQKfYT+mDMmUAO7icNA0Vq0N2pGH2L3B6tz7976QrsSelkyaiRV0F3dLleXDd\n8yg9GD6oFucABMc5eRKXB142rAQ0eUEYbc9ajFFYguUbM6q1Qfc101OIojKl\nW8ZBw7zwAbEgZIdJXzvR1etOG8+EA3g/xyd/EvBJb5mOGArQk3VejIhGpna6\nFQG5zIQWut4nBzqRv8x4tCMQq300LmmCIvfqLXjaiPrbqGLd3GP/w6RYu5qR\nkZkKJd3FTy5xg1siHbsn6WF0mnB93YX/XlAyn0pvlaB5HyIDooldVFrLtRym\nf+lPOqxghqXDKeJMNXGg0ZbG6oFJvmT6tm/L1biT9MVa1zDRD7ku0epXMQP4\nXsD+bm3v0nkhEozTepgJJlIt/1sxvWUVunhxQVlkk5fkwVF/93c1BVRk3N7C\nUcmYZmMWNyzFWlcHVRoz4SghL3IjxsWpokKMz9iUpl6Fju9EnNwLNxqt4Tp5\nxxmb\r\n=bSMx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/vue-focus-loop.ssr.js","types":"index.d.ts","unpkg":"dist/vue-focus-loop.min.js","module":"dist/vue-focus-loop.esm.js","browser":"dist/vue-focus-loop.esm.js","gitHead":"fb1e1846ac52457bc649a07b2a3925ac327c21b8","scripts":{"dev":"rollup --config rollup.config.dev.js --watch","build":"npm run build:ssr & npm run build:es & npm run build:unpkg","release":"standard-version","build:es":"rollup --config rollup.config.prod.js --format es --file dist/vue-focus-loop.esm.js","demo:dev":"cd demo && npm run serve","docs:dev":"vuepress dev docs --no-cache","test:e2e":"cypress run --headless","build:ssr":"rollup --config rollup.config.prod.js --format cjs --file dist/vue-focus-loop.ssr.js","test:unit":"jest","demo:build":"cd demo && npm run build","docs:build":"vuepress build docs --no-cache && echo darkmode.vue-a11y.com >> docs/.vuepress/dist/CNAME","build:unpkg":"rollup --config rollup.config.prod.js --format iife --file dist/vue-focus-loop.min.js","demo:publish":"cp ./demo/dist/index.html ./demo/dist/200.html && surge ./demo/dist https://vue-focus-loop.surge.sh/","docs:publish":"gh-pages -d docs/.vuepress/dist","test:e2e:open":"cypress open ","project:publish":"git push --tags origin master && npm run build && npm publish --access public"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.12.0","description":"Vue component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"12.13.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.11","jest":"^26.1.0","eslint":"^7.5.0","rollup":"^2.23.0","cypress":"^4.11.0","chokidar":"^3.4.1","gh-pages":"^3.1.0","vuepress":"^1.5.2","babel-jest":"^26.1.0","portal-vue":"^2.1.7","babel-eslint":"^10.1.0","@vue/test-utils":"^1.0.3","standard-version":"^8.0.2","eslint-plugin-vue":"^6.2.2","rollup-plugin-vue":"^5.1.9","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.22.0","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^6.1.0","eslint-plugin-cypress":"^2.11.1","eslint-plugin-promise":"^4.2.1","vue-template-compiler":"^2.6.11","@rollup/plugin-replace":"^2.3.3","eslint-plugin-standard":"^4.0.1","eslint-plugin-vue-a11y":"0.0.31","@rollup/plugin-commonjs":"^14.0.0","@vuepress/theme-default":"^1.5.2","@rollup/plugin-node-resolve":"^8.4.0","@vue/eslint-config-standard":"^5.1.2","vuepress-theme-default-vue-a11y":"^0.1.15","eslint-plugin-vuejs-accessibility":"^0.3.1","@vuepress/plugin-register-components":"^1.5.2"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_0.1.2_1598259860375_0.04191763175960772","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@vue-a11y/focus-loop","version":"1.0.0","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@1.0.0","maintainers":[{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"kddeisz","email":"kevin.deisz@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"edf47a2e02e844b6fbfe2ca4038f16a47c0d391f","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-1.0.0.tgz","fileCount":8,"integrity":"sha512-veS2bRYL1vV+medkikxb88l1pnuuszeEXVwBjMaqdVRycMD3CRzv5gqngZIIBQEkCddg1UnYgKcfW9TGcG6Gow==","signatures":[{"sig":"MEUCIQCcIpvmU8/uGkCQklZvJa+4uo4DGv7WiEUxIzY6pZZHwQIgQaLxOwX2CpSS8h0qf5KeoO+Wky4PNrNjCMz0dSKS17I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17433,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAk4qCRA9TVsSAnZWagAAYScP/jX6MG1X1NO6SuXg688y\n1DtcOCUf61CHNNxX4tAs+64lFm5jaxzsPYTtAWTs/YtWQj36qdQL5X/Mxv8c\n2pJSy3SFhydl6QNS7Ni9UGUKNaB9Jwhqwraw5PVGR0hOvBAwUZK1RmPeLoSN\npQPKCSCWL3XHpWMan+JnrrtgQ2oyXSDrOWb44uX5Tb2RFzqFxG+0/LsFbUxa\nszEsJM0feCSP7AsGapliLsx5Kn0uS5/Q6dIvdZQNrzTCtpF7Z9kun7IA1S7T\n36GOVC1iU5u3EalB4ICHVNPTZvrrLv8YDoKK/4P2u3fSj+o3f6M8KLgfmIJG\ncKkYGMjltRiog+gyKnjXoANIh3vtfbQuNSndQI5E9xbjcqlKeo+how+p2JZ2\nqW05xJdyq5LoW2MUV+KHrNknkL8W3hcELVPBntNLWjycEPKl1Cg7FnGkIeE0\n00NwOOn+z8S+Q8vXleMsWS78bvAlZhpd1T7Jzx87Mx8CKaKZbTesHZV0TdmH\n2nk7gwYZahezi/UkvteFa8E1xDsQKfa7m11uXighEtQ4Z0OlYFol6r+5vjIm\nuGk7J+ZAZpF25bwZ/mDgXuROE0FVdY/tGMeLY6TWoUXPQx5BOciioW4XnPdJ\nL+X7AMEq3CiKtPx7S+g8uw6Z1IzQ/Fuhl+kXxiv3aXveXzbX/DTWYUyBbz0a\nPQNy\r\n=/qBR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/@vue-a11y/focus-loop.cjs.js","unpkg":"dist/@vue-a11y/focus-loop.iife.js","module":"dist/@vue-a11y/focus-loop.es.js","readme":"# [@vue-a11y/focus-loop](https://focus-loop.vue-a11y.com)\r\n\r\nVue 3 component that helps you to to trap focus in an element.\r\n\r\n---\r\n\r\nWhen developing accessible components, in certain behaviors it is important to trap focus on the element.\r\n\r\nFor example, when opening a modal, it is recommended that the focus is only on the tabbable elements of that modal and only release the focus, when the modal is closed.\r\n\r\n## Installation\r\n\r\nAdd `@vue-a11y/focus-loop` in your Vue project.\r\n\r\n```sh\r\nnpm install -S @vue-a11y/focus-loop\r\n# or\r\nyarn add @vue-a11y/focus-loop\r\n```\r\n\r\nOr via CDN\r\n\r\n```html\r\n<script src=\"http://unpkg.com/@vue-a11y/focus-loop\"></script>\r\n```\r\n\r\n## Usage\r\n\r\nYou can use it globally in your main.js.\r\n\r\n```js\r\nimport Vue from 'vue'\r\nimport VueFocusLoop from '@vue-a11y/focus-loop'\r\n\r\nVue.use(VueFocusLoop)\r\n```\r\n\r\nOr you can import into your component.\r\n\r\n```js\r\nimport { FocusLoop } from '@vue-a11y/focus-loop'\r\n\r\nexport default {\r\n  components: {\r\n    FocusLoop\r\n  }\r\n}\r\n```\r\n\r\n**Example** of use on your single file component.\r\n\r\n```vue\r\n<template>\r\n  <div>\r\n    <b-button v-b-modal.modal-1>Launch demo modal</b-button>\r\n\r\n    <b-modal id=\"modal-1\" title=\"BootstrapVue\">\r\n      <FocusLoop>\r\n        <b-form @submit=\"onSubmit\" @reset=\"onReset\" v-if=\"show\">\r\n          <b-form-group id=\"input-group-2\" label=\"Your Name:\" label-for=\"input-1\">\r\n            <b-form-input\r\n              id=\"input-1\"\r\n              v-model=\"form.name\"\r\n              required\r\n              placeholder=\"Enter name\"\r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-form-group id=\"input-group-2\" label=\"Your Email:\" label-for=\"input-2\">\r\n            <b-form-input\r\n              id=\"input-2\"\r\n              type=\"email\"\r\n              v-model=\"form.email\"\r\n              required\r\n              placeholder=\"Enter email\" \r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-button type=\"submit\" variant=\"primary\">Submit</b-button>\r\n          <b-button type=\"reset\" variant=\"danger\">Reset</b-button>\r\n        </b-form>\r\n      </FocusLoop>\r\n    </b-modal>\r\n  </div>\r\n</template>\r\n```\r\n\r\n## Disable loop\r\n\r\nYou can disable the focus trap and activate it only when you really need it.\r\n\r\nprop       | type      | default\r\n---------- | --------- | ------------\r\ndisabled   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n\r\n<FocusLoop disabled>\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n\r\n```\r\n\r\n## Focus in first element\r\n\r\nThere are 2 ways in which `<FocusLoop>` sets the focus on the first element.\r\n\r\nUsing `v-if`, for example `<FocusLoop v-if=\"isSidebarOpen\">`, the first element is automatically focused when `mounted`.\r\n\r\nIf you have `<FocusLoop>` mounted, but hidden using CSS, you can set the focus on the first element when visible.\r\n\r\nprop        | type      | default\r\n----------- | --------- | ------------\r\nisVisible   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n<FocusLoop :isVisible=\"isSidebarOpen\">\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Keyboard support\r\n\r\nKeyboard users will use `Tab` and `Shift + Tab` to navigate tabbable elements.  \r\n\r\nAccording to the Modal Dialog Example in WAI-ARIA Authoring Practices specification, when the focus is on the last focusable element, you must move the focus to the first element and vice versa.\r\n\r\nKey          | Function\r\n------------ | ------------\r\nTab          | ▸ Moves focus to next focusable element inside the dialog.  <br> ▸ When focus is on the last focusable element in the dialog, moves focus to the first focusable element in the dialog.\r\nShift + Tab  | ▸ Moves focus to previous focusable element inside the dialog.  <br> ▸ When focus is on the first focusable element in the dialog, moves focus to the last focusable element in the dialog.\r\n\r\n## Links\r\n- [Demo](https://vue-focus-loop.surge.sh)\r\n\r\n## Articles that served as inspiration:\r\n- [Using JavaScript to trap focus in an element](https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element)\r\n\r\n## Other options\r\n- [focus-trap](https://github.com/davidtheclark/focus-trap)\r\n- [vue-focus-lock](https://github.com/theKashey/vue-focus-lock)\r\n\r\n## Contributing\r\n- From typos in documentation to coding new features;\r\n- Check the open issues or open a new issue to start a discussion around your feature idea or the bug you found;\r\n- Fork repository, make changes and send a pull request;\r\n\r\nFollow us on Twitter [@vue_a11y](https://twitter.com/vue_a11y)\r\n\r\n**Thank you**","browser":"dist/@vue-a11y/focus-loop.es.js","exports":{".":{"import":"./dist/@vue-a11y/focus-loop.es.js","require":"./dist/@vue-a11y/focus-loop.cjs.js"}},"gitHead":"415ba06e0949c0e4673898d474627e3fa00063ae","scripts":{"dev":"vite","build":"vuedx-typecheck . && vite build","release":"standard-version","demo:dev":"cd demo && npm run dev","demo:build":"cd demo && npm run build","demo:publish":"surge ./demo/dist https://vue-focus-loop.surge.sh/","project:publish":"git push --tags origin next && npm run build && npm publish --tag next"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"jsdelivr":"dist/@vue-a11y/focus-loop.iife.js","repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.12.0","description":"Vue 3 component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"vue":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^2.0.0-beta.12","typescript":"^4.1.3","@types/node":"^14.14.21","@vuedx/typecheck":"^0.5.0","standard-version":"^9.1.0","@vue/compiler-sfc":"^3.0.5","@vitejs/plugin-vue":"^1.0.4","@vuedx/typescript-plugin-vue":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_1.0.0_1610763818279_0.8126643400310771","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@vue-a11y/focus-loop","version":"1.0.1","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@1.0.1","maintainers":[{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"kddeisz","email":"kevin.deisz@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"a5c30edf084b393229923367be4f43f2d14188e5","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-1.0.1.tgz","fileCount":8,"integrity":"sha512-msrN8/X40G239rYR+oJRKjnXYP3dqRq5oUCcXx5dP3RbjsOhZSr3ldDZV1jtF4APkSyt0irjs4M8vZuH/NBjJg==","signatures":[{"sig":"MEYCIQDfiRZ/gbFJ8ciEALJK5h/p07R/lum/rU53pOUhtUDwUgIhAJKZ3K99m4KU8hGw0GS89feUN0aYQnfbJZSNqOzKfVon","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAk8/CRA9TVsSAnZWagAAwlAQAJ2QatbTFCmj64NjjA1V\nl/VVdbyhwe5xxuWPTbEAszh64TuI1bJGFQumdosn8MyfIO6o5A0dOJTYosSO\nBnnoI/vA5mDluvcPGbw7slzd/r+AgWPg2cErF1RCPGgrasOtvY6zxui7oCNQ\nYZrs5DDWyV2WQuFTWSdPui9suanUOCZbDLrme0fqM48zb2K0ZvTuBbSp1q72\nzfwgR2V6EOkRKdtAiN1ZbdX48ZcdWwPDqdHLLaUK/MylTOCdoYuWxJ3ac+Mr\nYdU2CGQ5VyWwMpGDzWXQa1wjOLyTuX+hDvARHOgM2c2CQ3GQtp4KNayAPSaN\nu/YoRB+8t3atqrachQRkqFVYqrYXgRxjLJ5tPVD0PP4e7K6gFohtd+Midyl4\nOIMImNztwg6vqQV2ysTgjKLHBabl5hQuQ2mA5cwBenV1JC/obqFBR4Ivo97J\nWrEaSvh4BGj8sf6usB5jkw6zW9sNeTxpXpegDcScovTMBGih4TZ5/dP7MxD5\nzmSem098cGR3blTYQ13zWpbNl24CSD1pv2IuO8rLurdCJMYbj7gFK+N+gf6K\nNPtERl60+YSCNSMOpWmAcynn98x+nAgd2hCSqUROaMEMJWq4crv8wvUCzbCb\n0aylWIiszzmsaZduNDEHjgR6xRiQ8b/aQv0jqxazwuxn111LZU+2ijUi15AI\nW/qV\r\n=4Qwv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/@vue-a11y/focus-loop.cjs.js","unpkg":"dist/@vue-a11y/focus-loop.iife.js","module":"dist/@vue-a11y/focus-loop.es.js","readme":"# [@vue-a11y/focus-loop](https://focus-loop.vue-a11y.com)\r\n\r\nVue 3 component that helps you to to trap focus in an element.\r\n\r\n---\r\n\r\nWhen developing accessible components, in certain behaviors it is important to trap focus on the element.\r\n\r\nFor example, when opening a modal, it is recommended that the focus is only on the tabbable elements of that modal and only release the focus, when the modal is closed.\r\n\r\n## Installation\r\n\r\nAdd `@vue-a11y/focus-loop` for Vue 3 in your Vue project.\r\n\r\n```sh\r\nnpm install -S @vue-a11y/focus-loop@next\r\n# or\r\nyarn add @vue-a11y/focus-loop@next\r\n```\r\n\r\nOr via CDN\r\n\r\n```html\r\n<script src=\"http://unpkg.com/@vue-a11y/focus-loop@next\"></script>\r\n```\r\n\r\n## Usage\r\n\r\nYou can use it globally in your main.js.\r\n\r\n```js\r\nimport Vue from 'vue'\r\nimport VueFocusLoop from '@vue-a11y/focus-loop'\r\n\r\nVue.use(VueFocusLoop)\r\n```\r\n\r\nOr you can import into your component.\r\n\r\n```js\r\nimport { FocusLoop } from '@vue-a11y/focus-loop'\r\n\r\nexport default {\r\n  components: {\r\n    FocusLoop\r\n  }\r\n}\r\n```\r\n\r\n**Example** of use on your single file component.\r\n\r\n```vue\r\n<template>\r\n  <div>\r\n    <b-button v-b-modal.modal-1>Launch demo modal</b-button>\r\n\r\n    <b-modal id=\"modal-1\" title=\"BootstrapVue\">\r\n      <FocusLoop>\r\n        <b-form @submit=\"onSubmit\" @reset=\"onReset\" v-if=\"show\">\r\n          <b-form-group id=\"input-group-2\" label=\"Your Name:\" label-for=\"input-1\">\r\n            <b-form-input\r\n              id=\"input-1\"\r\n              v-model=\"form.name\"\r\n              required\r\n              placeholder=\"Enter name\"\r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-form-group id=\"input-group-2\" label=\"Your Email:\" label-for=\"input-2\">\r\n            <b-form-input\r\n              id=\"input-2\"\r\n              type=\"email\"\r\n              v-model=\"form.email\"\r\n              required\r\n              placeholder=\"Enter email\" \r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-button type=\"submit\" variant=\"primary\">Submit</b-button>\r\n          <b-button type=\"reset\" variant=\"danger\">Reset</b-button>\r\n        </b-form>\r\n      </FocusLoop>\r\n    </b-modal>\r\n  </div>\r\n</template>\r\n```\r\n\r\n## Disable loop\r\n\r\nYou can disable the focus trap and activate it only when you really need it.\r\n\r\nprop       | type      | default\r\n---------- | --------- | ------------\r\ndisabled   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n\r\n<FocusLoop disabled>\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n\r\n```\r\n\r\n## Focus in first element\r\n\r\nThere are 2 ways in which `<FocusLoop>` sets the focus on the first element.\r\n\r\nUsing `v-if`, for example `<FocusLoop v-if=\"isSidebarOpen\">`, the first element is automatically focused when `mounted`.\r\n\r\nIf you have `<FocusLoop>` mounted, but hidden using CSS, you can set the focus on the first element when visible.\r\n\r\nprop        | type      | default\r\n----------- | --------- | ------------\r\nisVisible   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n<FocusLoop :isVisible=\"isSidebarOpen\">\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Keyboard support\r\n\r\nKeyboard users will use `Tab` and `Shift + Tab` to navigate tabbable elements.  \r\n\r\nAccording to the Modal Dialog Example in WAI-ARIA Authoring Practices specification, when the focus is on the last focusable element, you must move the focus to the first element and vice versa.\r\n\r\nKey          | Function\r\n------------ | ------------\r\nTab          | ▸ Moves focus to next focusable element inside the dialog.  <br> ▸ When focus is on the last focusable element in the dialog, moves focus to the first focusable element in the dialog.\r\nShift + Tab  | ▸ Moves focus to previous focusable element inside the dialog.  <br> ▸ When focus is on the first focusable element in the dialog, moves focus to the last focusable element in the dialog.\r\n\r\n## Links\r\n- [Demo](https://vue-focus-loop.surge.sh)\r\n\r\n## Articles that served as inspiration:\r\n- [Using JavaScript to trap focus in an element](https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element)\r\n\r\n## Other options\r\n- [focus-trap](https://github.com/davidtheclark/focus-trap)\r\n- [vue-focus-lock](https://github.com/theKashey/vue-focus-lock)\r\n\r\n## Contributing\r\n- From typos in documentation to coding new features;\r\n- Check the open issues or open a new issue to start a discussion around your feature idea or the bug you found;\r\n- Fork repository, make changes and send a pull request;\r\n\r\nFollow us on Twitter [@vue_a11y](https://twitter.com/vue_a11y)\r\n\r\n**Thank you**","browser":"dist/@vue-a11y/focus-loop.es.js","exports":{".":{"import":"./dist/@vue-a11y/focus-loop.es.js","require":"./dist/@vue-a11y/focus-loop.cjs.js"}},"gitHead":"1389bec70dd87dce50c8770fef744ce9a89a4848","scripts":{"dev":"vite","build":"vuedx-typecheck . && vite build","release":"standard-version","demo:dev":"cd demo && npm run dev","demo:build":"cd demo && npm run build","demo:publish":"surge ./demo/dist https://vue-focus-loop.surge.sh/","project:publish":"git push --tags origin next && npm run build && npm publish --tag next"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"jsdelivr":"dist/@vue-a11y/focus-loop.iife.js","repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.12.0","description":"Vue 3 component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"vue":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^2.0.0-beta.12","typescript":"^4.1.3","@types/node":"^14.14.21","@vuedx/typecheck":"^0.5.0","standard-version":"^9.1.0","@vue/compiler-sfc":"^3.0.5","@vitejs/plugin-vue":"^1.0.4","@vuedx/typescript-plugin-vue":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_1.0.1_1610764094972_0.5751378943655423","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@vue-a11y/focus-loop","version":"1.0.2","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@1.0.2","maintainers":[{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"kddeisz","email":"kevin.deisz@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"867a702dfbef9c9c2918d5f97326742ecedc1781","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-1.0.2.tgz","fileCount":9,"integrity":"sha512-MgywwPf5kgcaGAwneCr6T3GEwduDrkebnUBQviig0XnRlNTkaQBnXrdttCUbBokRETGWxB0VmCvNUSPyRXpdHQ==","signatures":[{"sig":"MEUCIQDy85YHAGGQ9CQcfDl+tTEKkRJQ29s6dGVEXGc1UBrZGwIgC+92468oW7Z9peKJ6mQA80/wzlaWfGZyAqz0LYDy2Ow=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCJBACRA9TVsSAnZWagAAiV0P/3NAz4y70CueMZIVE69W\nX+CKMGvd9qFN0HVf42TE0Afenp2++MWo/bH7DYNsyc8CZLW0Xfov3M41r2Xa\ni0EcAHPJFmKPG7CxGl+QPi6mDuYj0wTS6AnUtS6NM0GlJDmrsBBcqYOaK8pN\nlZaopWJ1OJERvhRQlNamPYOj76aVuuT++1vkSkoarQld4gUpMrz5wtYqLSSu\nPuvTpk7fU2BkLWpExH077ZUa9qhwMLEUyntZIzHkvV3C06pB83KSIkJM5qhF\nLUDNfGkhnEYoXNMofQOWCDAFH2Byg2XRmlOqbmyFnVub+Q7ir3cq8wbXtyHF\nRPzUijDLVUPfkZE7o1+UaOe/OA5SMDVyZC3z+bBqFrVta2QqEIpF3ze9y5dA\ncUICzSTM1X3bdEsGjJdjG7lhr69mrqmJ6LhAGjaky/UFS/Ongm8gw/c4FPXj\ningG7RQHaUQFx6HXO0YIjs3OHwo4V6ZR8cXV1HWWH8pIVeWx3vslL0o1vuiR\nLaf+mdj6DI9+0ZGO57imqc5kOwil4/ZNol7Py7KOZktlEOO1rg109P5jZdoA\nisFRBneeL8PtaN09WBnOlyrZBOUiixx44ikEIoqTJ114fhnQK6EReBagUntY\nRH59o3EL1woMopS8lrcwzvOwqf8y0d8bB7aE0g0l/S512WcvI9hqUV2efupk\nSL8A\r\n=1syV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/focus-loop.cjs.js","types":"dist/global.d.ts","unpkg":"dist/focus-loop.iife.js","module":"dist/focus-loop.es.js","readme":"# [@vue-a11y/focus-loop](https://focus-loop.vue-a11y.com)\r\n\r\n---\r\n🔥 HEADS UP! You are in the Vue 3 compatible branch, [check the branch for Vue 2 support](https://github.com/vue-a11y/vue-focus-loop/).\r\n\r\n---\r\n\r\n## Introduction\r\n\r\nVue 3 component that helps you to to trap focus in an element.\r\n\r\nWhen developing accessible components, in certain behaviors it is important to trap focus on the element.\r\n\r\nFor example, when opening a modal, it is recommended that the focus is only on the tabbable elements of that modal and only release the focus, when the modal is closed.\r\n\r\n## Installation\r\n\r\nAdd `@vue-a11y/focus-loop` for Vue 3 in your Vue project.\r\n\r\n```sh\r\nnpm install -S @vue-a11y/focus-loop@next\r\n# or\r\nyarn add @vue-a11y/focus-loop@next\r\n```\r\n\r\nOr via CDN\r\n\r\n```html\r\n<script src=\"http://unpkg.com/@vue-a11y/focus-loop@next\"></script>\r\n```\r\n\r\n## Usage\r\n\r\nYou can use it globally in your main.js.\r\n\r\n```js\r\nimport Vue from 'vue'\r\nimport VueFocusLoop from '@vue-a11y/focus-loop'\r\n\r\nVue.use(VueFocusLoop)\r\n```\r\n\r\nOr you can import into your component.\r\n\r\n```js\r\nimport { FocusLoop } from '@vue-a11y/focus-loop'\r\n\r\nexport default {\r\n  components: {\r\n    FocusLoop\r\n  }\r\n}\r\n```\r\n\r\n**Example** of use on your single file component.\r\n\r\n```vue\r\n<template>\r\n  <div>\r\n    <b-button v-b-modal.modal-1>Launch demo modal</b-button>\r\n\r\n    <b-modal id=\"modal-1\" title=\"BootstrapVue\">\r\n      <FocusLoop>\r\n        <b-form @submit=\"onSubmit\" @reset=\"onReset\" v-if=\"show\">\r\n          <b-form-group id=\"input-group-2\" label=\"Your Name:\" label-for=\"input-1\">\r\n            <b-form-input\r\n              id=\"input-1\"\r\n              v-model=\"form.name\"\r\n              required\r\n              placeholder=\"Enter name\"\r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-form-group id=\"input-group-2\" label=\"Your Email:\" label-for=\"input-2\">\r\n            <b-form-input\r\n              id=\"input-2\"\r\n              type=\"email\"\r\n              v-model=\"form.email\"\r\n              required\r\n              placeholder=\"Enter email\" \r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-button type=\"submit\" variant=\"primary\">Submit</b-button>\r\n          <b-button type=\"reset\" variant=\"danger\">Reset</b-button>\r\n        </b-form>\r\n      </FocusLoop>\r\n    </b-modal>\r\n  </div>\r\n</template>\r\n```\r\n\r\n## Disable loop\r\n\r\nYou can disable the focus trap and activate it only when you really need it.\r\n\r\nprop       | type      | default\r\n---------- | --------- | ------------\r\ndisabled   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n\r\n<FocusLoop disabled>\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n\r\n```\r\n\r\n## Focus in first element\r\n\r\nThere are 2 ways in which `<FocusLoop>` sets the focus on the first element.\r\n\r\nUsing `v-if`, for example `<FocusLoop v-if=\"isSidebarOpen\">`, the first element is automatically focused when `mounted`.\r\n\r\nIf you have `<FocusLoop>` mounted, but hidden using CSS, you can set the focus on the first element when visible.\r\n\r\nprop        | type      | default\r\n----------- | --------- | ------------\r\nisVisible   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n<FocusLoop :isVisible=\"isSidebarOpen\">\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Keyboard support\r\n\r\nKeyboard users will use `Tab` and `Shift + Tab` to navigate tabbable elements.  \r\n\r\nAccording to the Modal Dialog Example in WAI-ARIA Authoring Practices specification, when the focus is on the last focusable element, you must move the focus to the first element and vice versa.\r\n\r\nKey          | Function\r\n------------ | ------------\r\nTab          | ▸ Moves focus to next focusable element inside the dialog.  <br> ▸ When focus is on the last focusable element in the dialog, moves focus to the first focusable element in the dialog.\r\nShift + Tab  | ▸ Moves focus to previous focusable element inside the dialog.  <br> ▸ When focus is on the first focusable element in the dialog, moves focus to the last focusable element in the dialog.\r\n\r\n## Links\r\n- [Demo](https://vue-focus-loop.surge.sh)\r\n\r\n## Articles that served as inspiration:\r\n- [Using JavaScript to trap focus in an element](https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element)\r\n\r\n## Other options\r\n- [focus-trap](https://github.com/davidtheclark/focus-trap)\r\n- [vue-focus-lock](https://github.com/theKashey/vue-focus-lock)\r\n\r\n## Contributing\r\n- From typos in documentation to coding new features;\r\n- Check the open issues or open a new issue to start a discussion around your feature idea or the bug you found;\r\n- Fork repository, make changes and send a pull request;\r\n\r\nFollow us on Twitter [@vue_a11y](https://twitter.com/vue_a11y)\r\n\r\n**Thank you**","browser":"dist/focus-loop.es.js","exports":{".":{"import":"./dist/focus-loop.es.js","require":"./dist/focus-loop.cjs.js"}},"gitHead":"9fa5d923938bb7e203eb6281393b5c2ab9fde623","scripts":{"dev":"vite","build":"vuedx-typecheck . && vite build && npm run fixFiles","release":"standard-version","demo:dev":"cd demo && npm run dev","fixFiles":"cp src/global.d.ts dist && cp -a dist/@vue-a11y/. dist && rm -rf dist/@vue-a11y favicon.ico","demo:build":"cd demo && npm run build","demo:publish":"surge ./demo/dist https://vue-focus-loop.surge.sh/","project:publish":"git push --tags origin next && npm run build && npm publish --tag next"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"jsdelivr":"dist/focus-loop.iife.js","repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.12.0","description":"Vue 3 component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"vue":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^2.0.0-beta.12","typescript":"^4.1.3","@types/node":"^14.14.21","@vuedx/typecheck":"^0.6.0","standard-version":"^9.1.0","@vue/compiler-sfc":"^3.0.5","@vitejs/plugin-vue":"^1.0.4","@vuedx/typescript-plugin-vue":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_1.0.2_1611173952336_0.25008003031828485","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@vue-a11y/focus-loop","version":"1.0.3","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@1.0.3","maintainers":[{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"kddeisz","email":"kevin.deisz@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"5bc9a3e762a01b858fa3d380b951ede69613f2c0","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-1.0.3.tgz","fileCount":7,"integrity":"sha512-gY2FVKJxvQV4utTnEZew1lA3HP6bm77wJEpx7cuJVyuuv52tTaBgNfW0KQzxbld4eKHMPdrkRAVXCOpOXreRXA==","signatures":[{"sig":"MEYCIQDoIuS3sb9s0aMEy29aP2agHEAvC9nkVYhnqJ/Zl8ydYQIhALvAWAbT/faBQt3tGFLhwVboP7e9e/Cn/ZDVoVi4rHtB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgCJ5ZCRA9TVsSAnZWagAAmCEP/0MdSpyBzMBodmsWLxhI\nTUd5LGLz3bFpG5/3ttzWce9YkDYavEEvUmVx32VwsPCPx1yuGhN/spydTAG1\nKQ9zjnsPQCMkmNs+LvYQkHfRFhH+kswoyBjWl9K6t6sq9gnJu4l2GWANeh4w\nZ6lPUopbBrNSBZmVfelAqH433XIUtH7UvFh1TbgzkOq31A9e5WS6oM7rY8VN\nz2Pp8BWLmBjQc2iBTYea08pFzykelaaEW4GO4flv4GqVBRHgpizItCIn1JVp\nPy5IU3LakCbWo+qxa+luyFjtUJ+1gNBwjBnW/wIvtWgi8qiU7ScUOX+36zAI\nvA/D9v6DT3Ox9EcpJMN8nTdeWhCGz+1by4WKILPxrKJWSyDbzPwN2usK2uFM\nOHB9dpTdMF7qsXYoHRDyLPhw5VWA7jnItp1W0m8UYiAAcqU2d2spPlZ3H/Fy\nWAhXmdcsfNUiOAFZKL/Ml7WZjCzJO3GibnrFR1+CMVTniZBj1pkst8l7hM+k\nzsMmK2QdRpr4jwB0QVW/YEsxDx2vdPJOHGzO4XNahMaZ4rU64j0CcTcDhWZx\nLNVSPstadLMPcz/kyQY5e7o5ZBH0tAmDxNfWEO9W+xK3zLf3b6BCQTEc5KHk\n/1WLuDh8503phXED9J6idGXN0OEl0MXpoHBxRpfOT+eGPMg0bmdqjzQ6rgNO\nNYMJ\r\n=Au3d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/focus-loop.cjs.js","types":"dist/global.d.ts","unpkg":"dist/focus-loop.iife.js","module":"dist/focus-loop.es.js","readme":"# [@vue-a11y/focus-loop](https://focus-loop.vue-a11y.com)\r\n\r\n---\r\n🔥 HEADS UP! You are in the Vue 3 compatible branch, [check the branch for Vue 2 support](https://github.com/vue-a11y/vue-focus-loop/).\r\n\r\n---\r\n\r\n## Introduction\r\n\r\nVue 3 component that helps you to to trap focus in an element.\r\n\r\nWhen developing accessible components, in certain behaviors it is important to trap focus on the element.\r\n\r\nFor example, when opening a modal, it is recommended that the focus is only on the tabbable elements of that modal and only release the focus, when the modal is closed.\r\n\r\n## Installation\r\n\r\nAdd `@vue-a11y/focus-loop` for Vue 3 in your Vue project.\r\n\r\n```sh\r\nnpm install -S @vue-a11y/focus-loop@next\r\n# or\r\nyarn add @vue-a11y/focus-loop@next\r\n```\r\n\r\nOr via CDN\r\n\r\n```html\r\n<script src=\"http://unpkg.com/@vue-a11y/focus-loop@next\"></script>\r\n```\r\n\r\n## Usage\r\n\r\nYou can use it globally in your main.js.\r\n\r\n```js\r\nimport Vue from 'vue'\r\nimport VueFocusLoop from '@vue-a11y/focus-loop'\r\n\r\nVue.use(VueFocusLoop)\r\n```\r\n\r\nOr you can import into your component.\r\n\r\n```js\r\nimport { FocusLoop } from '@vue-a11y/focus-loop'\r\n\r\nexport default {\r\n  components: {\r\n    FocusLoop\r\n  }\r\n}\r\n```\r\n\r\n**Example** of use on your single file component.\r\n\r\n```vue\r\n<template>\r\n  <div>\r\n    <b-button v-b-modal.modal-1>Launch demo modal</b-button>\r\n\r\n    <b-modal id=\"modal-1\" title=\"BootstrapVue\">\r\n      <FocusLoop>\r\n        <b-form @submit=\"onSubmit\" @reset=\"onReset\" v-if=\"show\">\r\n          <b-form-group id=\"input-group-2\" label=\"Your Name:\" label-for=\"input-1\">\r\n            <b-form-input\r\n              id=\"input-1\"\r\n              v-model=\"form.name\"\r\n              required\r\n              placeholder=\"Enter name\"\r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-form-group id=\"input-group-2\" label=\"Your Email:\" label-for=\"input-2\">\r\n            <b-form-input\r\n              id=\"input-2\"\r\n              type=\"email\"\r\n              v-model=\"form.email\"\r\n              required\r\n              placeholder=\"Enter email\" \r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-button type=\"submit\" variant=\"primary\">Submit</b-button>\r\n          <b-button type=\"reset\" variant=\"danger\">Reset</b-button>\r\n        </b-form>\r\n      </FocusLoop>\r\n    </b-modal>\r\n  </div>\r\n</template>\r\n```\r\n\r\n## Disable loop\r\n\r\nYou can disable the focus trap and activate it only when you really need it.\r\n\r\nprop       | type      | default\r\n---------- | --------- | ------------\r\ndisabled   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n\r\n<FocusLoop disabled>\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n\r\n```\r\n\r\n## Focus in first element\r\n\r\nThere are 2 ways in which `<FocusLoop>` sets the focus on the first element.\r\n\r\nUsing `v-if`, for example `<FocusLoop v-if=\"isSidebarOpen\">`, the first element is automatically focused when `mounted`.\r\n\r\nIf you have `<FocusLoop>` mounted, but hidden using CSS, you can set the focus on the first element when visible.\r\n\r\nprop        | type      | default\r\n----------- | --------- | ------------\r\nisVisible   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n<FocusLoop :isVisible=\"isSidebarOpen\">\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Keyboard support\r\n\r\nKeyboard users will use `Tab` and `Shift + Tab` to navigate tabbable elements.  \r\n\r\nAccording to the Modal Dialog Example in WAI-ARIA Authoring Practices specification, when the focus is on the last focusable element, you must move the focus to the first element and vice versa.\r\n\r\nKey          | Function\r\n------------ | ------------\r\nTab          | ▸ Moves focus to next focusable element inside the dialog.  <br> ▸ When focus is on the last focusable element in the dialog, moves focus to the first focusable element in the dialog.\r\nShift + Tab  | ▸ Moves focus to previous focusable element inside the dialog.  <br> ▸ When focus is on the first focusable element in the dialog, moves focus to the last focusable element in the dialog.\r\n\r\n## Links\r\n- [Demo](https://vue-focus-loop.surge.sh)\r\n\r\n## Articles that served as inspiration:\r\n- [Using JavaScript to trap focus in an element](https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element)\r\n\r\n## Other options\r\n- [focus-trap](https://github.com/davidtheclark/focus-trap)\r\n- [vue-focus-lock](https://github.com/theKashey/vue-focus-lock)\r\n\r\n## Contributing\r\n- From typos in documentation to coding new features;\r\n- Check the open issues or open a new issue to start a discussion around your feature idea or the bug you found;\r\n- Fork repository, make changes and send a pull request;\r\n\r\nFollow us on Twitter [@vue_a11y](https://twitter.com/vue_a11y)\r\n\r\n**Thank you**","browser":"dist/focus-loop.es.js","exports":{".":{"import":"./dist/focus-loop.es.js","require":"./dist/focus-loop.cjs.js"}},"gitHead":"438b1238b4271a54c81e8959ca7ee54ff94d31e2","scripts":{"dev":"vite","build":"vuedx-typecheck . && vite build && npm run fixFiles","release":"standard-version","demo:dev":"cd demo && npm run dev","fixFiles":"cp -a dist/@vue-a11y/. dist && rm -rf dist/@vue-a11y dist/favicon.ico","demo:build":"cd demo && npm run build","demo:publish":"surge ./demo/dist https://vue-focus-loop.surge.sh/","project:publish":"git push --tags origin next && npm run build && npm publish --tag next"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"jsdelivr":"dist/focus-loop.iife.js","repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.12.0","description":"Vue 3 component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"12.13.0","dependencies":{"vue":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^2.0.0-beta.12","typescript":"^4.1.3","@types/node":"^14.14.21","@vuedx/typecheck":"^0.6.0","standard-version":"^9.1.0","@vue/compiler-sfc":"^3.0.5","@vitejs/plugin-vue":"^1.0.4","@vuedx/typescript-plugin-vue":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_1.0.3_1611177561331_0.8615899040571184","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@vue-a11y/focus-loop","version":"1.0.4","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@1.0.4","maintainers":[{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"kddeisz","email":"kddnewton+npm@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"d24bfba2d1b736c29c938f40f1100375e9b86dc2","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-1.0.4.tgz","fileCount":8,"integrity":"sha512-sndJKXNGhyQyw6mmyX9JPHqSzPHZPiFGKo9XLfnlS6uDFhz88jqo+NRVloPJ2M7ALJOVCtKwmlRfohLgNy3uOg==","signatures":[{"sig":"MEUCIGF4krnWnmwFXi/Mhic1rDSuEl3j9sbz73Mi2S6vefRaAiEAhvkifNs10C4whReQrEM8jom/FX0AN9h31wjqjueQxV0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeZEBCRA9TVsSAnZWagAAMJYP/iNazEY4HBIuPTFVm5Z/\ncVI5EgZvbXS7FRlmRE23dJmnNXvb2ZA8p1dw0wi6N9qRM7DwBXjIsvU+3rzk\n9VIa/q63u/+CPdfzHtt7EOfTopADgezjjF3KFoC4GqIyUbcG5JORuYX2Z2S5\nplu5+9Clg720PasZioLJcsrjR+mNJbtaUHNbu1nCwSa6Q2iSmVgvFHcrO32A\nHygKxRIEsP8GgDggwoM1xXz/lsmLBTW4Usq+tJTgINhnax7WFdBwWgZ5bj7b\nSpRZu8qYaO4xfOCgi8+bqYuMY48EIE8TzV2tpf4Hh5qntjsXe4iUBcnNwnLL\nyj1fle+t+ft+Vo93saQWHqksIDTxCmVsXYXpa9c4lQ3H4TlUlDYdOFeHYlMf\nSCbvHJg6OTge3LVyTKG8zz36VeQdD6VzNhamNsZ7DWP1jzRxKYS65FXGk9Vd\nN0jNWLt41EWx5CxQtJLgUwBZFpmBp9Ik+EcQbRx9ukZCXZ1AzG4hywT5GR+w\nM14//14nmMai8tQ9RZHjbv/gWZDbZfpNZwmbUrRoYgnGajcLgT2eaceuz3uy\n7ElRTlqdzg9kQuIOc0O+Vh39Ns2wMpHDdJqqkpkeFEaOt/Z/znlsrjv554LI\nfYJbMGF+OWkXcK95j3p73xeQ4Ogu88DHkm8MU29w4tmj8zHnUSWbxC+F9yyZ\nuJMK\r\n=F6gj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/focus-loop.cjs.js","types":"dist/index.d.ts","unpkg":"dist/focus-loop.iife.js","module":"dist/focus-loop.es.js","readme":"# [@vue-a11y/focus-loop](https://focus-loop.vue-a11y.com)\r\n\r\n---\r\n🔥 HEADS UP! You are in the Vue 3 compatible branch, [check the branch for Vue 2 support](https://github.com/vue-a11y/vue-focus-loop/).\r\n\r\n---\r\n\r\n## Introduction\r\n\r\nVue 3 component that helps you to to trap focus in an element.\r\n\r\nWhen developing accessible components, in certain behaviors it is important to trap focus on the element.\r\n\r\nFor example, when opening a modal, it is recommended that the focus is only on the tabbable elements of that modal and only release the focus, when the modal is closed.\r\n\r\n## Installation\r\n\r\nAdd `@vue-a11y/focus-loop` for Vue 3 in your Vue project.\r\n\r\n```sh\r\nnpm install -S @vue-a11y/focus-loop@next\r\n# or\r\nyarn add @vue-a11y/focus-loop@next\r\n```\r\n\r\nOr via CDN\r\n\r\n```html\r\n<script src=\"http://unpkg.com/@vue-a11y/focus-loop@next\"></script>\r\n```\r\n\r\n## Usage\r\n\r\nYou can use it globally in your main.js.\r\n\r\n```js\r\nimport Vue from 'vue'\r\nimport VueFocusLoop from '@vue-a11y/focus-loop'\r\n\r\nVue.use(VueFocusLoop)\r\n```\r\n\r\nOr you can import into your component.\r\n\r\n```js\r\nimport { FocusLoop } from '@vue-a11y/focus-loop'\r\n\r\nexport default {\r\n  components: {\r\n    FocusLoop\r\n  }\r\n}\r\n```\r\n\r\n**Example** of use on your single file component.\r\n\r\n```vue\r\n<template>\r\n  <div>\r\n    <b-button v-b-modal.modal-1>Launch demo modal</b-button>\r\n\r\n    <b-modal id=\"modal-1\" title=\"BootstrapVue\">\r\n      <FocusLoop>\r\n        <b-form @submit=\"onSubmit\" @reset=\"onReset\" v-if=\"show\">\r\n          <b-form-group id=\"input-group-2\" label=\"Your Name:\" label-for=\"input-1\">\r\n            <b-form-input\r\n              id=\"input-1\"\r\n              v-model=\"form.name\"\r\n              required\r\n              placeholder=\"Enter name\"\r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-form-group id=\"input-group-2\" label=\"Your Email:\" label-for=\"input-2\">\r\n            <b-form-input\r\n              id=\"input-2\"\r\n              type=\"email\"\r\n              v-model=\"form.email\"\r\n              required\r\n              placeholder=\"Enter email\" \r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-button type=\"submit\" variant=\"primary\">Submit</b-button>\r\n          <b-button type=\"reset\" variant=\"danger\">Reset</b-button>\r\n        </b-form>\r\n      </FocusLoop>\r\n    </b-modal>\r\n  </div>\r\n</template>\r\n```\r\n\r\n## Disable loop\r\n\r\nYou can disable the focus trap and activate it only when you really need it.\r\n\r\nprop       | type      | default\r\n---------- | --------- | ------------\r\ndisabled   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n\r\n<FocusLoop disabled>\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n\r\n```\r\n\r\n## Focus in first element\r\n\r\nThere are 2 ways in which `<FocusLoop>` sets the focus on the first element.\r\n\r\nUsing `v-if`, for example `<FocusLoop v-if=\"isSidebarOpen\">`, the first element is automatically focused when `mounted`.\r\n\r\nIf you have `<FocusLoop>` mounted, but hidden using CSS, you can set the focus on the first element when visible.\r\n\r\nprop        | type      | default\r\n----------- | --------- | ------------\r\nisVisible   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n<FocusLoop :isVisible=\"isSidebarOpen\">\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Keyboard support\r\n\r\nKeyboard users will use `Tab` and `Shift + Tab` to navigate tabbable elements.  \r\n\r\nAccording to the Modal Dialog Example in WAI-ARIA Authoring Practices specification, when the focus is on the last focusable element, you must move the focus to the first element and vice versa.\r\n\r\nKey          | Function\r\n------------ | ------------\r\nTab          | ▸ Moves focus to next focusable element inside the dialog.  <br> ▸ When focus is on the last focusable element in the dialog, moves focus to the first focusable element in the dialog.\r\nShift + Tab  | ▸ Moves focus to previous focusable element inside the dialog.  <br> ▸ When focus is on the first focusable element in the dialog, moves focus to the last focusable element in the dialog.\r\n\r\n## Links\r\n- [Demo](https://vue-focus-loop.surge.sh)\r\n\r\n## Articles that served as inspiration:\r\n- [Using JavaScript to trap focus in an element](https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element)\r\n\r\n## Other options\r\n- [focus-trap](https://github.com/davidtheclark/focus-trap)\r\n- [vue-focus-lock](https://github.com/theKashey/vue-focus-lock)\r\n\r\n## Contributing\r\n- From typos in documentation to coding new features;\r\n- Check the open issues or open a new issue to start a discussion around your feature idea or the bug you found;\r\n- Fork repository, make changes and send a pull request;\r\n\r\nFollow us on Twitter [@vue_a11y](https://twitter.com/vue_a11y)\r\n\r\n**Thank you**","browser":"dist/focus-loop.es.js","exports":{".":{"import":"./dist/focus-loop.es.js","require":"./dist/focus-loop.cjs.js"}},"gitHead":"520e68cb9b1960a89d39fe8ea56e698f45809c00","scripts":{"dev":"npm run demo:dev","build":"npm-run-all -s clean build:*","clean":"rm -rf dist","release":"standard-version","demo:dev":"cd demo && npm run dev","build:vite":"vue-tsc --noEmit && vite build","demo:build":"cd demo && npm run build","build:types":"tsc --emitDeclarationOnly","demo:publish":"surge ./demo/dist https://vue-focus-loop.surge.sh/","project:publish":"git push --tags origin next && npm run build && npm publish --public --tag next"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"jsdelivr":"dist/focus-loop.iife.js","repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.14.10","description":"Vue 3 component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"14.15.4","dependencies":{"vue":"^3.0.5"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^2.1.5","vue-tsc":"0.0.24","typescript":"^4.1.3","@types/node":"^14.14.21","npm-run-all":"^4.1.5","@vuedx/typecheck":"^0.6.0","standard-version":"^9.2.0","@vue/compiler-sfc":"^3.0.5","@vitejs/plugin-vue":"^1.0.4","@vuedx/typescript-plugin-vue":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_1.0.4_1618579712983_0.46217909863477025","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@vue-a11y/focus-loop","version":"0.2.0","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@0.2.0","maintainers":[{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"kddeisz","email":"kddnewton+npm@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"123bd892e4b4f19887cdc4829a42390a4c6842c3","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-0.2.0.tgz","fileCount":27,"integrity":"sha512-12j4dE4cZa++qIqhB/K7QBMkauTTmZ3/xk1KWuoosUN/+6j4noydpl++yOXjJ4rVOX6uzOl5q4u56YImRXz0gA==","signatures":[{"sig":"MEUCIQCZqZc4Zhm83J4ArhaZzfVidA3PfZXo4X99NUYOYVvAwAIgBuq2Gd8951V++oA0AKu8f2soRzvmhbuI4Qr9Mt+EeUA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkJ/sCRA9TVsSAnZWagAAxlkP/Rhg5x1wP1tuMizFLhuX\nFCHrO8HM2I+ZVxCoWpeTyGDDJk6+YNpPLtI+maDbnB3HNxLgNGooKAqPxu2P\n2xG80R+91U1luOf1Jx+pB5lU9fpmvMyfuSwzNwMExrGcjR3pDsNQxzFnHP3y\n3AjYNWYjq0c+UleW215t/rKcjtYWedtThyi3HLXlhm7hEA8pEh6yXjiaJPYe\nuevbxQfY4wzaZknmQ5ZIMvaVeVn1QqnPeFCOqSkCX5l93u9xEfwG7EJbscmZ\naq5vjlh8BtMLYJHgvqX9iHjW++agJ134dJn0NA0O2+qefPqEojUvIuA6S1Mt\nkqjLuzcrj5Wl57eg2DCAkhGQsQfvqQH6zhrmGDbW5RG/h6ML5y03TpH3WqyI\nGrMi2lawKeyNlDe99T+wP2paewesi+1KZ0fkBf5RhWzdAmVlcH4Koe3tkpbk\nuXRvsvYItRm5v8P/MebBBD20jN/DLFZDvmDM0e5PpvhPeibO2qV/MRjRCXct\nGsQs6hXlIMsMIM+DUt/A/ZVn/OFAmCg605X4FqQCBn8XdggASDFv+qcUVT9g\nKjiLktP6vNjTD0Z977qM62dmCF5MY8VbDi7KH7WAZzoz+DOAxPhscfVMItMk\n4wRp8Gi7oj5s747VoY8vSxbbCAXPI1GqtLxaN/por/onmD7WnyMqMEGi1E7L\nXyb3\r\n=y2qG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/vue-focus-loop.ssr.js","unpkg":"dist/vue-focus-loop.min.js","module":"dist/vue-focus-loop.esm.js","browser":"dist/vue-focus-loop.esm.js","gitHead":"a8b90b7f525ddb05b6accd7d73e0b11bc8eb32cb","scripts":{"dev":"rollup --config rollup.config.dev.js --watch","build":"npm run build:ssr & npm run build:es & npm run build:unpkg","release":"standard-version","build:es":"rollup --config rollup.config.prod.js --format es --file dist/vue-focus-loop.esm.js","demo:dev":"cd demo && npm run serve","docs:dev":"vuepress dev docs --no-cache","test:e2e":"cypress run --headless","build:ssr":"rollup --config rollup.config.prod.js --format cjs --file dist/vue-focus-loop.ssr.js","test:unit":"jest","demo:build":"cd demo && npm run build","docs:build":"vuepress build docs --no-cache && echo darkmode.vue-a11y.com >> docs/.vuepress/dist/CNAME","build:unpkg":"rollup --config rollup.config.prod.js --format iife --file dist/vue-focus-loop.min.js","demo:publish":"cp ./demo/dist/index.html ./demo/dist/200.html && surge ./demo/dist https://vue-focus-loop.surge.sh/","docs:publish":"gh-pages -d docs/.vuepress/dist","test:e2e:open":"cypress open ","project:publish":"git push --tags origin master && npm run build && npm publish --access public"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.14.10","description":"Vue component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"14.15.4","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vue":"^2.6.12","jest":"^26.6.3","eslint":"^7.25.0","rollup":"^2.46.0","cypress":"^4.12.1","chokidar":"^3.5.1","gh-pages":"^3.1.0","vuepress":"^1.8.2","babel-jest":"^26.6.3","portal-vue":"^2.1.7","babel-eslint":"^10.1.0","@vue/test-utils":"^1.2.0","standard-version":"^8.0.2","eslint-plugin-vue":"^6.2.2","rollup-plugin-vue":"^5.1.9","eslint-plugin-node":"^11.1.0","@rollup/plugin-buble":"^0.21.3","eslint-plugin-import":"^2.22.1","rollup-plugin-eslint":"^7.0.0","rollup-plugin-terser":"^6.1.0","eslint-plugin-cypress":"^2.11.2","eslint-plugin-promise":"^4.3.1","vue-template-compiler":"^2.6.12","@rollup/plugin-replace":"^2.4.2","eslint-plugin-standard":"^4.1.0","eslint-plugin-vue-a11y":"0.0.31","@rollup/plugin-commonjs":"^14.0.0","@vuepress/theme-default":"^1.8.2","@rollup/plugin-node-resolve":"^8.4.0","@vue/eslint-config-standard":"^5.1.2","vuepress-theme-default-vue-a11y":"^0.1.15","eslint-plugin-vuejs-accessibility":"^0.3.1","@vuepress/plugin-register-components":"^1.8.2"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_0.2.0_1620090860409_0.3725233201592073","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@vue-a11y/focus-loop","version":"1.1.0","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","_id":"@vue-a11y/focus-loop@1.1.0","maintainers":[{"name":"ktquez","email":"ktquez@gmail.com"},{"name":"mlama007","email":"marialamardo@outlook.com"},{"name":"kddeisz","email":"kddnewton+npm@gmail.com"}],"homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"dist":{"shasum":"aac652f8b6b2f724380d52aa3f8ec1980d36ffde","tarball":"https://registry.npmjs.org/@vue-a11y/focus-loop/-/focus-loop-1.1.0.tgz","fileCount":9,"integrity":"sha512-v7j0+/P9WO3JS/LvhRoJaPzsd3TBwPmuXHLHeuWXmk2wo0AAJWxQASjfueDoH8w3ef9ACHJ+auftrDy1WfCSWg==","signatures":[{"sig":"MEUCIQD6PlH/UzRFVStScIcv3a43aK6s+oTlZPGv+qt8UQU6CAIgHrWO9AE3gDkgHzC/FuPYIH7kIOuaMAOkcfWqWt8mp8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17740,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkKDaCRA9TVsSAnZWagAAc1UP/ikbmjD5VWrSx7ziWyLz\nBjg9ZddTkGo8sp6+djVUhq82nyAyKWCC3AOEJHszrDVWzRRcJxi3wFJiCaZK\nS0x47woLV81gjrsuibtUQDY2xVtk32+grbUlAFI5l96MV5zpUjMu+1d7flsF\ngfctqbERHkui3C4WiU4D3HrvxoZ8ABX2qiasD0OULBoQ2S124hGwGeUtAj8+\nlyL+LdV2dWPws1fM5fRX3CQs331XJY94atx5DkszZ2tflO3W/gyml86jUcF3\neYRI1wIRvIp4ppbbND0Zq4HFB1XZygjrvd01NP1fcFKBbeJS9cvCUJWob+Fr\nej9+VxGK7ozKvJbCRmOcI8LupJPTVPNvOV/2zFzq5q8RRQxp9Z3OlAZg6ekW\nTdE3neKabJ17fMMUIYElzDnSWhLHAYjj7F7Zkf9wCTYpPbxCXSLmSbVCEX45\nKQIKnCQ7QrVdgPI11Ks16soUBMzRMbewUmiVqfaFexmdTkDUivWdCbEkVHtt\nGmBeCvloJCrthIvDlg7gl4VkM5ILPsttIuKMkRSrcaxfEdIh986ql6EKpoE+\nG1oB/+2iBt0Hn1AQA7+ptgQxHxWrZ/51wgP7V9UUBEKZ03EqCtcH2miKUJw8\naVK32rlB2F94JTJDVPtqU3i8hMfSF0H/wi2cah8oV5j1WR9n7SjeW/4pzYUB\nuxVj\r\n=kIiF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/focus-loop.cjs.js","types":"dist/index.d.ts","unpkg":"dist/focus-loop.iife.js","module":"dist/focus-loop.es.js","readme":"# [@vue-a11y/focus-loop](https://focus-loop.vue-a11y.com)\r\n\r\n---\r\n🔥 HEADS UP! You are in the Vue 3 compatible branch, [check the branch for Vue 2 support](https://github.com/vue-a11y/vue-focus-loop/).\r\n\r\n---\r\n\r\n## Introduction\r\n\r\nVue 3 component that helps you to to trap focus in an element.\r\n\r\nWhen developing accessible components, in certain behaviors it is important to trap focus on the element.\r\n\r\nFor example, when opening a modal, it is recommended that the focus is only on the tabbable elements of that modal and only release the focus, when the modal is closed.\r\n\r\n- Focus is trapped: Tab and Shift+Tab will cycle through the focusable nodes within `<FocusLoop>` without returning to the main document below;\r\n- Automatic focus on the first focusable element, with the option to disable;\r\n- Restoring focus to the last activeElement;\r\n- Hides the document from screen readers when `<focusLoop>` is visible and enabled.\r\n\r\n## Installation\r\n\r\nAdd `@vue-a11y/focus-loop` for Vue 3 in your Vue project.\r\n\r\n```sh\r\nnpm install -S @vue-a11y/focus-loop@next\r\n# or\r\nyarn add @vue-a11y/focus-loop@next\r\n```\r\n\r\nOr via CDN\r\n\r\n```html\r\n<script src=\"http://unpkg.com/@vue-a11y/focus-loop@next\"></script>\r\n```\r\n\r\n## Usage\r\n\r\nYou can use it globally in your main.js.\r\n\r\n```js\r\nimport Vue from 'vue'\r\nimport VueFocusLoop from '@vue-a11y/focus-loop'\r\n\r\nVue.use(VueFocusLoop)\r\n```\r\n\r\nOr you can import into your component.\r\n\r\n```js\r\nimport { FocusLoop } from '@vue-a11y/focus-loop'\r\n\r\nexport default {\r\n  components: {\r\n    FocusLoop\r\n  }\r\n}\r\n```\r\n\r\n**Example** of use on your single file component.\r\n\r\n```vue\r\n<template>\r\n  <div>\r\n    <b-button v-b-modal.modal-1>Launch demo modal</b-button>\r\n\r\n    <b-modal id=\"modal-1\" title=\"BootstrapVue\">\r\n      <FocusLoop :is-visible=\"isOpen\">\r\n        <b-form @submit=\"onSubmit\" @reset=\"onReset\" v-if=\"show\">\r\n          <b-form-group id=\"input-group-2\" label=\"Your Name:\" label-for=\"input-1\">\r\n            <b-form-input\r\n              id=\"input-1\"\r\n              v-model=\"form.name\"\r\n              required\r\n              placeholder=\"Enter name\"\r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-form-group id=\"input-group-2\" label=\"Your Email:\" label-for=\"input-2\">\r\n            <b-form-input\r\n              id=\"input-2\"\r\n              type=\"email\"\r\n              v-model=\"form.email\"\r\n              required\r\n              placeholder=\"Enter email\" \r\n            ></b-form-input>\r\n          </b-form-group>\r\n\r\n          <b-button type=\"submit\" variant=\"primary\">Submit</b-button>\r\n          <b-button type=\"reset\" variant=\"danger\">Reset</b-button>\r\n        </b-form>\r\n      </FocusLoop>\r\n    </b-modal>\r\n  </div>\r\n</template>\r\n```\r\n\r\n\r\n## Make the focus-loop container visible and rendered\r\n\r\nprop       | type      | default\r\n---------- | --------- | ------------\r\nisVisible  | `Boolean` | `false`\r\n\r\n```html\r\n<FocusLoop :is-visible=\"isOpen\">\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Disable loop\r\n\r\nYou can disable the focus trap and activate it only when you really need it.\r\n\r\nprop       | type      | default\r\n---------- | --------- | ------------\r\ndisabled   | `Boolean` | `false`\r\n\r\nFor example:\r\n\r\n```html\r\n<FocusLoop :is-visible=\"isOpen\" disabled>\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Disable autofocus on the first element\r\n\r\nWhen activating the `<FocusLoop>`, the first element receives the focus automatically, however, if you want to disable this behavior, just disable it through the `autoFocus` prop.\r\n\r\nprop        | type      | default\r\n----------- | --------- | ------------\r\nautoFocus   | `Boolean` | `true`\r\n\r\nFor example:\r\n\r\n```html\r\n<FocusLoop :is-visible=\"isOpen\" :auto-focus=\"false\">\r\n  <!-- your elements here -->\r\n</FocusLoop>\r\n```\r\n\r\n## Keyboard support\r\n\r\nKeyboard users will use `Tab` and `Shift + Tab` to navigate tabbable elements.  \r\n\r\nAccording to the Modal Dialog Example in WAI-ARIA Authoring Practices specification, when the focus is on the last focusable element, you must move the focus to the first element and vice versa.\r\n\r\nKey          | Function\r\n------------ | ------------\r\nTab          | ▸ Moves focus to next focusable element inside the dialog.  <br> ▸ When focus is on the last focusable element in the dialog, moves focus to the first focusable element in the dialog.\r\nShift + Tab  | ▸ Moves focus to previous focusable element inside the dialog.  <br> ▸ When focus is on the first focusable element in the dialog, moves focus to the last focusable element in the dialog.\r\n\r\n## Links\r\n- [Demo](https://vue-focus-loop.surge.sh)\r\n\r\n## Articles that served as inspiration:\r\n- [Using JavaScript to trap focus in an element](https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element)\r\n\r\n## Other options\r\n- [focus-trap](https://github.com/davidtheclark/focus-trap)\r\n- [vue-focus-lock](https://github.com/theKashey/vue-focus-lock)\r\n\r\n## Contributing\r\n- From typos in documentation to coding new features;\r\n- Check the open issues or open a new issue to start a discussion around your feature idea or the bug you found;\r\n- Fork repository, make changes and send a pull request;\r\n\r\nFollow us on Twitter [@vue_a11y](https://twitter.com/vue_a11y)\r\n\r\n**Thank you**","browser":"dist/focus-loop.es.js","exports":{".":{"import":"./dist/focus-loop.es.js","require":"./dist/focus-loop.cjs.js"}},"gitHead":"97a57ece9bc6907d42acba1bfc0d6d31c172ab51","scripts":{"dev":"npm run demo:dev","build":"npm-run-all -s clean build:*","clean":"rm -rf dist","release":"standard-version","demo:dev":"cd demo && npm run dev","build:vite":"vue-tsc --noEmit && vite build","demo:build":"cd demo && npm run build","build:types":"tsc --emitDeclarationOnly","demo:publish":"surge ./demo/dist https://vue-focus-loop.surge.sh/","project:publish":"git push --tags origin next && npm run build && npm publish --public --tag next"},"_npmUser":{"name":"ktquez","email":"ktquez@gmail.com"},"jsdelivr":"dist/focus-loop.iife.js","repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"_npmVersion":"6.14.10","description":"Vue 3 component that helps you to to trap focus in an element.","directories":{},"_nodeVersion":"14.15.4","dependencies":{"vue":"^3.0.11"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"vite":"^2.2.3","vue-tsc":"0.0.24","typescript":"^4.2.4","@types/node":"^14.14.43","npm-run-all":"^4.1.5","@vuedx/typecheck":"^0.6.3","standard-version":"^9.2.0","@vue/compiler-sfc":"^3.0.11","@vitejs/plugin-vue":"^1.2.2","@vuedx/typescript-plugin-vue":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/focus-loop_1.1.0_1620091098426_0.6308137868362087","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-07-28T20:26:09.176Z","modified":"2024-08-24T01:59:31.200Z","0.1.0":"2020-07-28T20:26:09.585Z","0.1.1":"2020-08-24T09:00:18.312Z","0.1.2":"2020-08-24T09:04:20.529Z","1.0.0":"2021-01-16T02:23:38.429Z","1.0.1":"2021-01-16T02:28:15.169Z","1.0.2":"2021-01-20T20:19:12.520Z","1.0.3":"2021-01-20T21:19:21.481Z","1.0.4":"2021-04-16T13:28:33.093Z","0.2.0":"2021-05-04T01:14:20.595Z","1.1.0":"2021-05-04T01:18:18.576Z"},"bugs":{"url":"https://github.com/vue-a11y/vue-focus-loop/issues"},"author":{"url":"https://github.com/ktquez","name":"Alan Ktquez","email":"ktquez@gmail.com"},"license":"MIT","homepage":"https://github.com/vue-a11y/vue-focus-loop#readme","keywords":["vue","component","a11y","accessibility","focus","tab","tab-loop","focus trap","focus loop","vue-a11y","vue.js"],"repository":{"url":"git+https://github.com/vue-a11y/vue-focus-loop.git","type":"git"},"description":"Vue component that helps you to to trap focus in an element.","maintainers":[{"email":"lucasferreiralimax@gmail.com","name":"lucasferreiralimax"},{"email":"ktquez@gmail.com","name":"ktquez"},{"email":"marialamardo@outlook.com","name":"mlama007"},{"email":"kddnewton+npm@gmail.com","name":"kddeisz"}],"readme":"","readmeFilename":""}