{"_id":"vue3-router-tab","_rev":"49-e74cab239185efbabd112286357b7423","name":"vue3-router-tab","dist-tags":{"latest":"1.4.7"},"versions":{"0.0.1":{"name":"vue3-router-tab","version":"0.0.1","author":"","license":"ISC","_id":"vue3-router-tab@0.0.1","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"dist":{"shasum":"3a0ccf0207e29bfaa248554e71a8ea76d408db4b","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-0.0.1.tgz","fileCount":11,"integrity":"sha512-WQW2QR1SBIIHjN+ndalCvx0IbYuJea/rsnZVJeFcaSziBrNIHase9h1/xumGKvAcBrtqne6FySXfa9iQia7+vw==","signatures":[{"sig":"MEUCIFeBOLrKDJ0e2UCEBgMcmm+s/cTFlIgdbPELA13K8WLDAiEAhim7ixvJVKvUcMUZ5wX4WNwDsMnx4f8bbv5/eUKDab0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6625},"main":"vite.config.js","type":"module","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"_npmVersion":"6.14.18","description":"This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.","directories":{},"_nodeVersion":"14.21.3","dependencies":{"vue":"^3.3.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^4.4.5","@vitejs/plugin-vue":"^4.2.3"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_0.0.1_1696059877674_0.7641121862378251","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"vue3-router-tab","version":"1.0.0","keywords":["vue3-router-tab","vue3","router","tabs","tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.0","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"f45608704d59f2912bfd5699b9dbd7322667d0b5","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.0.tgz","fileCount":18,"integrity":"sha512-Opdhxq7x5CsPTkzvxgDLHLCNB68GmzquZO9Rikq3OHah15fq4G8M041WgZiISDEMDXdQyCNRjoeQWLJjueWwdw==","signatures":[{"sig":"MEQCIGXzeeJlDR2Dyteny3fdb2a2tROrBH2asejECeR4bmN3AiAdjS6mrmwKw51GVsrlYDRCO9PPwmPHKJbn4GUZ4Vq2hQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97553},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/style.css"},"gitHead":"4377c4718d8ce3a365a673438004479a7ac35dd5","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","pinia":"^2.1.7","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.0_1759080032646_0.5275263909635897","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"vue3-router-tab","version":"1.0.1","keywords":["vue3-router-tab","vue3","router","tabs","tab","pinia","persistence","tab persistence","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.1","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"8ce671412dd763e90f5748eae2ef3109724acafc","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.1.tgz","fileCount":18,"integrity":"sha512-jXhnfMyPloDmQ9KbepKBswMKyNTDsWdsWUXzLvMCuwse0yxXzRYKGesG0nA2H+k4yWvZj0JPNPOon4Aqbr0n4w==","signatures":[{"sig":"MEUCIQCM/eD5g85r3NlKgMnUQRFUM1gqOL2rehjcS9bzVw26kwIga/+C4lj23YxoCO8pju4As2ook9tWTVFPJNcrI02BWCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99996},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/style.css"},"gitHead":"49261375741962aedfc6a0d8e2f0e543921a5e7b","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","pinia":"^2.1.7","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.1_1759080495410_0.7277103974911867","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"vue3-router-tab","version":"1.0.2","keywords":["vue3-router-tab","vue3","router","tabs","tab","pinia","persistence","tab persistence","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.2","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"aa1155d094b1182685f71da5369b380eebdb1ff0","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.2.tgz","fileCount":18,"integrity":"sha512-fL+JgXDwCJNLeXW2AWAe36nwCHh0/f/52Yl5OpdtVi+F15aXtV8jwWlDJixxpc2ZDhh9rOyYGde9rzmWCp03LA==","signatures":[{"sig":"MEQCIHU0ARA5Vh/LYnO4CILvfvJoC/4jV0MWQujXQA91jlMFAiAccOeRCrE7bXAj71jgzgWs3ZlSZ5zJfiIOOODSrpWGsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99996},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/style.css"},"gitHead":"9d425d9a703d4996d2dc9b07c16c9f8761d49115","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","pinia":"^3.0.3","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.2_1759119853433_0.7138833072564814","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"vue3-router-tab","version":"1.0.3","keywords":["vue3-router-tab","vue3","router","tabs","tab","pinia","persistence","tab persistence","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.3","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"d55734bd8c1cee9a92b71fd9a21f84db47c6d047","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.3.tgz","fileCount":18,"integrity":"sha512-eJ/O1Y+y/fgov3Sq4OCALfdefKfJeVm++bM2cbOwbI8HPVQAkWZtpDbR3zbv1W4A+9dF9ETzLCf+6j1wqWXZvg==","signatures":[{"sig":"MEMCHwlystXKpBSGuBP8Vg6qShSnt4B36zbeGl62Z913qZUCID8L3m/gJTcmMxc91PbgA8aOfslH590KXB1VW7PVmovm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99945},"main":"dist/vue3-router-tab.cjs.js","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.es.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.es.js","require":"./dist/vue3-router-tab.cjs.js"},"./style":"./dist/vue3-router-tab.css"},"gitHead":"13d9d4642d698c8580c654fce649de8b14357307","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","pinia":"^3.0.3","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.3_1759122508612_0.30239382600607945","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"vue3-router-tab","version":"1.0.4","keywords":["vue3-router-tab","vue3","router","tabs","tab","pinia","persistence","tab persistence","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.4","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"fefb870934397de0757f7dc8b71bf484a7e8e56f","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.4.tgz","fileCount":18,"integrity":"sha512-c7kigbU8o5jzj0XTZWfMEvEyRxV8vXarS17EzcRIsTGJYhXu9xHRhPBfz9upRiT87Ctvabi97p2iGicMXxmV3w==","signatures":[{"sig":"MEUCIA2wgeTbqQmsNRq0KeVfdM0CS4M/NZCQHwaGuxqQKLyDAiEAnBnQVdtUWURhN69zdcRSFL0bfDvU/xw7cUEVhStJTcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99945},"main":"dist/vue3-router-tab.cjs.js","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.es.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.es.js","require":"./dist/vue3-router-tab.cjs.js"},"./style":"./dist/vue3-router-tab.css"},"gitHead":"7216d956806ee80a7ac04c84f88fe75ad97e7531","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","pinia":"^3.0.3","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.4_1759126344528_0.10835970419705365","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"vue3-router-tab","version":"1.0.5","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.5","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"d7e8ef2ae4b286e45a0b931ae27d44af1d028e3a","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.5.tgz","fileCount":18,"integrity":"sha512-x00y8knM3DSgY/l/VrdGGC6IZCQxNfNHo/3ZUMzAjr9FJxPZxXH4Vp/EvYaWRgKr/+gICLK3WNq11K4e+cy/oA==","signatures":[{"sig":"MEYCIQCSUBq4jzvWN04RfzkvWwV7AUw24JfCb5vViQvhy7ypaQIhAK0TQ7zSeqSvEbV4HbZdsJ1yM9+LL8cnqqG73cIHZKD4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101102},"main":"dist/vue3-router-tab.cjs.js","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.es.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.es.js","default":"./dist/vue3-router-tab.es.js","require":"./dist/vue3-router-tab.cjs.js"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"993904cf8e4e1327618d621d521df94f221f05f7","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","pinia":"^3.0.3","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.5_1759126968042_0.995417153384057","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"vue3-router-tab","version":"1.0.6","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.6","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"32a529af80b90ca08dc71b55d2b40a0f7d71fafe","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.6.tgz","fileCount":18,"integrity":"sha512-xXEzQ4W4IiD4dB8U+4FacCBmk+1N4jS70EiV5PpsL27/+iCwSFFg6uP871r3CukDTrSq52J12ZeoZAjqp2vAnw==","signatures":[{"sig":"MEYCIQC3Hk/QZhsYO2okiC7HFjcStCHXtmxUh+F0yjdFffn3MgIhAJjKT1uhq6kpXLwTM7kVQymNgx7zfnzx7n0oPSbGJFto","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101095},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"993904cf8e4e1327618d621d521df94f221f05f7","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","pinia":"^3.0.3","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.6_1759127634902_0.8909977530282174","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"vue3-router-tab","version":"1.0.7","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.7","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"63e946337a594ceb3fb4ef816ee285878c56d527","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.7.tgz","fileCount":18,"integrity":"sha512-ps/h4871jcxgIiKDszWg8RMm9VuuBjRXG5mHL88+KEa5x1ybauofOakZHVwunwvek5TAnmI0bCJ346fSQDQg9g==","signatures":[{"sig":"MEYCIQCl3QERTIDpjCqvNz/OXERWeYP6BjnsqCJbnb1hpOz1SwIhAM32qSwy9LBPqFWycpS8d+Z84DKSj0jvkxfdzXXRZj1d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101095},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"ed9022b9f96414bea6ec246e3fae20fcc582464a","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","pinia":"^3.0.3","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.7_1759127786392_0.3915254569026476","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"vue3-router-tab","version":"1.0.8","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.8","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"193010995f6932802ad7d24f905e1678aba5e069","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.8.tgz","fileCount":18,"integrity":"sha512-TY48VhOPuzHj2nS3RcXgAALU//jS1BHfUSNgt/baaz4vWN8ZCVrt/CvXwjmaF4zlvm7oy94AFwuNPL+qqP5CBQ==","signatures":[{"sig":"MEUCIQCCx2U/ii3sSUfQwR+tW0Ea/jSXeVQFviUEmrySTpDUOwIgUK3ZPgFlaVYql+65HDYV2RGPoI5QzN62M2EH7u0I9Ag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101606},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"ed9022b9f96414bea6ec246e3fae20fcc582464a","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","pinia":"^3.0.3","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.8_1759128527510_0.9748327187803223","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"vue3-router-tab","version":"1.0.9","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab"],"author":"","license":"MIT","_id":"vue3-router-tab@1.0.9","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"1cde450e4a52fdcc421424661ed2bff7a97059d6","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.0.9.tgz","fileCount":18,"integrity":"sha512-zcl4nyh2WE4AxKKM1uezBOH3nsDqCvBtikpz4JTlyjEG853YSxw+EXFZ46aUgG6M0ZEuFvVDkVChmVWPT6XwTA==","signatures":[{"sig":"MEUCIQD52Tj4LP8FoQia2e8FUBmRuCi5HCB4TBL2pbuGTlpqswIgPJT8ChPYU5+qW3oZLhvRRJLuSz+/9bqtJZqcdKJZEhk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101720},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"ed9022b9f96414bea6ec246e3fae20fcc582464a","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","pinia":"^3.0.3","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.0.9_1759129511353_0.5521042543876551","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"vue3-router-tab","version":"1.1.0","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.0","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"deea576a4fe426f2348290eea1c2412cbd632a7a","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.0.tgz","fileCount":18,"integrity":"sha512-FAYpIcle5QGZIajBFYPsUlj3Btl3t80GGYF8l5iM5759IZo1DMmc9YGRB52vn+kM1+af1pevKD3hY90pdN/gpQ==","signatures":[{"sig":"MEUCIQCUCGizRrorW0mgWxyq1MGklevDh4KKtVktwBE80MTzQQIgOwFjbRqbzrvN4Cyh4UwjtmwK2/xby0xRnTze5hltP5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101208},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"4e18089f2252b29dac828035149a8655242cc50a","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"vue":"^3.5.22","vue-router":"^4.5.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"^1.93.2","vite":"^7.1.7","pinia":"^3.0.3","typescript":"^5.9.2","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"pinia":"^2.1.7"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.0_1759149132196_0.9779237045212499","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"vue3-router-tab","version":"1.1.1","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.1","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"131c45f339cb6a5c6a5c39810714f1bb5fca9f31","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.1.tgz","fileCount":17,"integrity":"sha512-1aHNseWYfkKbFMLJiKA7WEW7r2zC6tCLwDzqsuhF1tTsIJ0l6WZLW0htcLwBUfagaIePydeGy/9/ql4YLsXCmg==","signatures":[{"sig":"MEUCIEJPJdmi6FsaQ0GbEWO4lru7yDreBiJV3VBYkMhA+TZUAiEAyKipVhvOVCYofFSBzaJLYPCGH9FM4I5en48ocCTaFlo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91475},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"f938647188ab9ade35d06442e4eb74d4fd5a99ae","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","pinia":"^3.0.3","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","pinia":"^2.1.7","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.1_1759159051244_0.9518240109755554","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"vue3-router-tab","version":"1.1.2","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.2","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"440bb98f613fe1c0408268aa88d60f39ce0c7492","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.2.tgz","fileCount":18,"integrity":"sha512-wNPagyolBKsvJ0YFj5eU/NaGT1XnVndAYqc0NHkkrIvUS0NA4MYfzpczT0/5Va5Co0grX9OadTOl1GoQ8Acn0Q==","signatures":[{"sig":"MEYCIQCaZTKMUtI/HjoUp8oWakQGCV1XnJVPdueia2vj7mERKAIhAOzcgA5ooIP4knxigfUwx8ig8WxTgW0Hgf5/f8bDtt0G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95413},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"d61b55426ce71ba7c81c03ef602a9747c91a7304","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","pinia":"^3.0.3","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","pinia":"^2.1.7","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.2_1759162584972_0.15978138481430193","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"vue3-router-tab","version":"1.1.3","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.3","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"27c36cf4a0569c32430c1157ea302208d1eeeb1f","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.3.tgz","fileCount":19,"integrity":"sha512-hhyE+f1v6MhBFNDX+ClTBQkPP7z4RT77Se/+iYgMnHEDLbTYXvGbqCgy6jdplMBg6jY8nvidE/PscxA2rqwEGQ==","signatures":[{"sig":"MEYCIQDpVwCbN084fr/l81upXN89bGdG8ZqfkuOGkVjSYcvOtwIhAPGgoMp2MfWeut4eQFQrGWPcswdKQiSZYBeR9Xy9YBhn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103086},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"ab88fd326dc891e1338a6c1265ad3188c3a0f488","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.3_1759166250623_0.2228425494809838","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"vue3-router-tab","version":"1.1.4","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.4","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"75405310031e379f9c948cff03cc4efeb4e4d666","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.4.tgz","fileCount":19,"integrity":"sha512-OCxlhmijgnNRtIAe5n6uox9wolY/14kHVMlnhiM0eoAdFuV8D23kO9njXUHSHxrRYe7RWDjOuQNuewfUlWNRxg==","signatures":[{"sig":"MEUCIQC9VKbqm6lbyU+2YjHKR+CPj48TDsqaLVNKajvWlnAtWAIgSZJynMVTzhBiiOWlUTQnX1rzolmCIn+BMr7X0JtmcLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102026},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"a921c35823adc409abf4a46f98bde04e38ce9961","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.4_1759169850908_0.6254335654835133","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"vue3-router-tab","version":"1.1.5","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.5","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"4d1a6b51de36d615dd149b22c4522381a797d38d","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.5.tgz","fileCount":19,"integrity":"sha512-vdSp+KUvxF/P5h0dk8/Heep0YqM2KQTIs1jo2MsmK3kO9h3Wn2Gmc9r1RQwYhzAQ3TRYqMpKAxanzCgtJthv6A==","signatures":[{"sig":"MEUCIQC6WS2VHHTtPlqeYR4bN1VtOuO1HQLVBP0+/junV2bOjwIgSUq/x3IwjNWjxYeJCyi1/POq5pYhItl/tCabwNpNGHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109278},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"b88e8fef82148d1594b3406d441ef329df0d00f4","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.5_1759174540377_0.18135923201473858","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"vue3-router-tab","version":"1.1.6","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.6","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"3c4438d1da331562b05ddfab9ed220824fa2a5be","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.6.tgz","fileCount":19,"integrity":"sha512-kkTfgZW8CQUdeSOTb3FmFUygz1R4dAcbWOGAntR9MWvA5N17mAl7Oo7YPJsFfPCOrPO/lo+VhWQgYKyxXxf+mQ==","signatures":[{"sig":"MEUCIG7kZfHIFy40FPf91NrhQFTY6cnsp+sb+F+wq04yZml7AiEA6M9LEUryrOcWy4RuMSx5YpBCUphW9ZlqHOPCqv/21tM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109279},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"7a05a7a124f75bfbef7b056ac4bbffb715de7c86","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.6_1759174912444_0.7972383249288291","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"vue3-router-tab","version":"1.1.7","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.7","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"82cc37da63808272263f048ba809c742217d6a21","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.7.tgz","fileCount":19,"integrity":"sha512-obY1FZamwfp9PA6u0a5lXDQXGPcpEcEOXNVg1Hr9DC2epkfZve58sa8J23IwDZDbEIu5ltMknalBvI0UX2I3Ng==","signatures":[{"sig":"MEUCIHgM0tCcSfn9iCunMuSMan62urBPg08/4Q6ZK9U/VhECAiEAv7AgLbDa+/1vekmPgQbKfo2ci4ATvAzh4FKNl7n7KCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109498},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"7a05a7a124f75bfbef7b056ac4bbffb715de7c86","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.7_1759176894584_0.12168122565576156","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"vue3-router-tab","version":"1.1.8","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.8","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"4967c6d6feab631c1bb95c2ed662be5783f9238e","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.8.tgz","fileCount":19,"integrity":"sha512-czkkvIh5FpVNPfrfYgyYhTp8pJlqUEF0ptlUamhhLbmQOWd1OvvkXt0fCQYigihvs7/3dH8NlTcu4f1botolEg==","signatures":[{"sig":"MEQCIGF5XUv3fVgaPK8CQin2VdoVHNsZAmfHbabveuYDkby9AiBqdYdCX0hG0yaque6RLuBoEM6fJ2Sy9wixFPIc9MrB4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105067},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"7a05a7a124f75bfbef7b056ac4bbffb715de7c86","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.8_1759176985650_0.3013491884217514","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"vue3-router-tab","version":"1.1.9","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.1.9","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"4560b8ba61203ee31fdf24a332a35c85b045204b","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.1.9.tgz","fileCount":20,"integrity":"sha512-Gj6dl7zExMk7vPxBJl8cwhBOYSKNpjD5Y+PMmx+6Rf58QzAIR+42rPPao6XSQUsm2nU5egytq7PsABneY1dMtQ==","signatures":[{"sig":"MEUCIQCBOHJNdK8TmwAmv2uON3RO0qMdC9My5RvpVY4BO7JCGwIgaJrOkWusiWwrWklcQAEkRMWYGDma/f3fm4OdhtHxQYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109047},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"5339579753ed0a5cd78c4a23ad2d9896202f9f72","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.1.9_1759183766517_0.20358028694754693","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"vue3-router-tab","version":"1.2.0","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.0","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"18f521f3a1913240763d0e5422f56cb04da8a847","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.0.tgz","fileCount":20,"integrity":"sha512-6Dle2EE5IEnTcaJX0AZupnm9cWwZssWk6hXxzvf9CWFe46KF6KOieEwt1Gyjo61K4z7kWSwaaILenrrCefl4tA==","signatures":[{"sig":"MEUCIQCVFUrrzzKVih/0bG+wEnqODPnCi6c5wkfNt0zuPE/s3QIge25OWdf1uQQgO6kDSrY6DJa17dJIS1CXAjHYdz8nW5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109119},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"0eb35a90e66dd876a9711f726c73f5ececfe4e7d","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.0_1759211757554_0.7829502583515544","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"vue3-router-tab","version":"1.2.1","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.1","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"1cc14b035cefed5673941f609ac28939ffc336e7","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.1.tgz","fileCount":20,"integrity":"sha512-kRTFuZ0RA4YFqK9fp3YIRdsuq2wPAlV26zZkum+j+FobgGUwFx5xmTBOACOJCDhYoGEGUDVWFwEq0cUi+/4Ctg==","signatures":[{"sig":"MEUCIQDBmFTvLhqPyh1+j0uUZXB+T1032HjyFCWzn2wjLCCa9wIgV61aUmOgqYhf2PGZqz0eL1PdeNZ5e4q3vVrBpryfxs8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110151},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"88f1d356d8a3779f903b4dae24b4efb173c3fee5","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.1_1759220682859_0.9011949123128951","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"vue3-router-tab","version":"1.2.2","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.2","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"4f47b2c51d7f6ef135337db26b88f37d085ebae7","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.2.tgz","fileCount":20,"integrity":"sha512-lS5g9t09AIQnANeFjJKKOcjEp5PTWCL4WzqLaVE1qCkjwFZXhkOEEzrgFUFFCE7yVkj7ANctb/XE8lm0WlFPVQ==","signatures":[{"sig":"MEQCICkjhfTuCxSKxvV1SgQb9zau3O08pQc7pBimc5HscD6RAiAmPwTYSJfcxmu9cK3OqwypHeLQbygxh/Nsq4XudoqC6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116350},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"3abc9a3d218a70f27a0681b3cb0a1edfeca97f3f","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.2_1759221616169_0.7509759283142352","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"vue3-router-tab","version":"1.2.3","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.3","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"4a6fe4b3cc8d8404228b9ef09d19cdf6585b7adb","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.3.tgz","fileCount":20,"integrity":"sha512-1y4HaeoIpR1UQ8nluCpJSZujwyom7SRDgAu7EbNZZ6C6uRpmplUT85l+X17tX7BfvkPThEN5GVbcBhoDbE5gHw==","signatures":[{"sig":"MEUCIQDOzuzgttnNl/DDGS4K7nIKQP74vUzAQb01WFm4tKS73QIgHJtTnP5kKn0DARfIHCG3G+qVT+PbA6/+qCMlM1CTBgY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116366},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"3abc9a3d218a70f27a0681b3cb0a1edfeca97f3f","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.3_1759221864726_0.04231991030419868","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"vue3-router-tab","version":"1.2.4","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.4","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"e8b22b3e935a19e217f88c68314f8acf6ffa4242","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.4.tgz","fileCount":20,"integrity":"sha512-w5GIfGTmWotlVeMQGl+q0AuDXYQTPJzH6BwfTTZUKIWSi418gC2fIoT0Jm5CcSNw6smtC3Itad6xEgldn9PF8w==","signatures":[{"sig":"MEQCIAo6DVJtaZTIIhQXzTp9bo8P/qoDDEQKLBqcDsy4VwLHAiA5Zx2ikg8PpaB9BuVy9UKPKWvK+0dFlj57q/cZU73VkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116455},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"97000da8b322d806ded7c846a3a1f97b68b63b7a","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.4_1759222263438_0.5083646223571769","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"vue3-router-tab","version":"1.2.5","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.5","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"fe5a67be5aeba9fa104421f49a5bc9903650a024","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.5.tgz","fileCount":20,"integrity":"sha512-62tg0SeTHGEV5Qf2KJchh8ZXYNnjMlhdlixy6bp0MC8PWOTrZiscikssvuxSWjuBX4qz5+b8r00K9legKJ3a8w==","signatures":[{"sig":"MEYCIQCX6h0ODg0Zv7d61u/qbhU92LOSNxmbeN+S+/7RMdmejwIhAMwc8ghJEpwZMNeX2fhwO1S6DYuylor9DCzqZDOgRykD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116418},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"97000da8b322d806ded7c846a3a1f97b68b63b7a","scripts":{"build":"vite build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Simple Confirm Dialog verification plugin with Vue 3.","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.5_1759337144946_0.04892605584502774","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"vue3-router-tab","version":"1.2.6","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.6","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"b006209aeb31041ebee1146b21b0aebfe2056fd6","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.6.tgz","fileCount":21,"integrity":"sha512-qKg9d/ER7RL2kC+eIZryJBb7PuZo6d931AFynA41o+aNw17vD2/nZNkeblGr+V+F2TGHedrJFUJnW5npo3ho7w==","signatures":[{"sig":"MEQCIFXWXkV1LyO1Sx84mCmlIr5+kuF99yGxtgMh2mxjfxsJAiBvRKyrH3+NnsznZZMG6NV5br8vjSHwTqNPtBtvWGV09w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142363},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"e987287b582072a13298d94cea1100e842b2bd5a","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.6_1759350189922_0.8366925949675683","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"vue3-router-tab","version":"1.2.7","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.7","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"8b2ee657d15c68b22a73e3acf89fefafcc4100ae","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.7.tgz","fileCount":21,"integrity":"sha512-uwAFT5Qo6lJlyneOfGEXhgNAaCutmmC9L16fIbxIsUl+D6gu5gpR7eVYhaSt1olCIXGk9oT2SEah4vygahIC5w==","signatures":[{"sig":"MEUCIQDtV4G9nQWz9jCcxUvY7hZOWfhVUJKJc2/XCXE01beI3AIgVuxN256th5gtMeQ/fZIEb8bI2PSYGzwh24M3xKSO1aU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":159771},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"866807b453bf8963c4c3b0b0990c5d3d3e34d13e","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.4.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.7_1760205954292_0.17302279819936373","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"vue3-router-tab","version":"1.2.8","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.8","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"a4093a10367d2d21b5d1ed27335f04b5ffe15af4","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.8.tgz","fileCount":21,"integrity":"sha512-54H5VsMEQ1My2k+o4gt2gh+tjVTOBJIqR7ipEiWkO/fb0F+DPALxyTGMS9bsr9ftN2nk7jasGOKOi8ioyzvf4Q==","signatures":[{"sig":"MEUCIQC+WNCUD0vy6d1hWX773FD9AYhuDk2XRtPatXTJwWdQgwIgd0t5KWl8DR5Szc/2tGLCKLg1FrOXOrK2nx7X8e54Jig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181798},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"185a0a3abcfc3a7beb80c8506c45fcf454484412","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.8_1762376057401_0.24586499858540312","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"vue3-router-tab","version":"1.2.9","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.2.9","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"cca0e42181cd3588a527a6a9f9ce302450dfb438","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.2.9.tgz","fileCount":21,"integrity":"sha512-TTXWpnUK4gjJZuMU88TrVQ8VxCVhy5SK7JGZsKvc7vgTyZYuwtAR4yzgr2mbV5jf6nea1IXh5ME52xfxQ874Hg==","signatures":[{"sig":"MEUCIGYdq5S0a/TmqKiMigT0IoDiVXoqd+iX4GrommjkqiO0AiEAssMastRCqHIgahPfSa+8qHW9cXnjam2XJoDPKGzKXWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181737},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"06953af3bd4317acfa0a48129a29029c89dc49a3","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.2.9_1762379247505_0.8925714541047967","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"vue3-router-tab","version":"1.3.0","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.0","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"4af77835531fc22c190e456e0097111256078ee6","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.0.tgz","fileCount":21,"integrity":"sha512-7obswiDxwhElgaSN0TkUyzpFEViVVqD+FP1yWU3bLrznNr2QM+dfeY4j/pdUFzEdNyVNwzTPei6QkO1b8u9WQQ==","signatures":[{"sig":"MEUCIHZ7RMPal2Hds80ltRCpFFDRFsHfQhkhGzpLWSMdIjOgAiEA/Q7L/TCGHuqxTBLfvdi8/KSjNSvcTWzQXHUX6XltP1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182120},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"06953af3bd4317acfa0a48129a29029c89dc49a3","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.0_1762381013784_0.7856323153380136","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"vue3-router-tab","version":"1.3.1","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.1","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"451df9900473c191aa8b2a8d3a2f6f4a45fbcc6a","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.1.tgz","fileCount":21,"integrity":"sha512-hBfhrBoFsbQDORQs+ZTakdov0DxW55wMEY9Dl1b29XYHfNDmb69Zl3nnn/JqVPJ1+zGlm2lmqFCE0mMN+lkZJw==","signatures":[{"sig":"MEQCIFWTCmALbZRpJMCg6pOI3Qz74xRzgpxbqpHb3AZop4EdAiBIIUhi99g84r7YfDzNSqPJSCIxdXu1rY4+4Deh4Fpx6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182220},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"06953af3bd4317acfa0a48129a29029c89dc49a3","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.1_1762381708120_0.3801452679429431","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"vue3-router-tab","version":"1.3.2","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.2","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"0e8945e8226550b002bb1ad4b70c39c8aa4c86d3","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.2.tgz","fileCount":21,"integrity":"sha512-Ful3iNRMZtePDPXQ58ybCcwZvZ4V5l70ejT3t1B1LwaSlGf4k6E/+1DM7EhhmdzVL56uwGqE/ncJL4UpPV0BHA==","signatures":[{"sig":"MEUCICC6uIUNIoptl8rzaQW/IMljI5fACbL3svwZ/DEsYPjlAiEAoVYHEC+gheD5y0TtqfJsuPEK+nZtMeJPdKarv9hqRFE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":182988},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"63745bfc7f51577c31cd53c24524b9f26e39e43a","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.2_1762382849588_0.05033706828345075","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"vue3-router-tab","version":"1.3.3","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.3","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"fe7a2298962c873a9cb29a0e4ad083ba023027b3","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.3.tgz","fileCount":21,"integrity":"sha512-7Ce9GdCtZqHvMe2xp5FmuiY81KlaZ792VL2k+e5L9hNEQAYYdIhUtHFnd1SY1tH7TNEPzKcTT5UidWyXSUelkw==","signatures":[{"sig":"MEYCIQC/gp88xI0t/I8ol6Ps5/wUbJy5UkXC/KeFP0VFmSuRxwIhAN/ziEtMv87TDlpHArC7/iACtAOmPhMIIhrYQsObpGUF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184532},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"63745bfc7f51577c31cd53c24524b9f26e39e43a","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.3_1762384623722_0.853899959061124","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"vue3-router-tab","version":"1.3.4","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.4","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"d63cfa051dbcca2ff564c9ee379ac355aee71dad","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.4.tgz","fileCount":21,"integrity":"sha512-h0Fc7IGg3L4OcYPxuMms0LESmeq270SFD4HKrSmd3vzRMLw9bD3uEL13JZq58rbmqJ6/hLKToP/SnG3fZtdCTw==","signatures":[{"sig":"MEUCICXbEz8vquu/q24HGJKlcJhoeq99M9gZP1LRZN0TcLLXAiEA+WIM5dy1713QdQJmFtl2TPuWMYhfYgPleKZNtJcfHYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184120},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"81d9248b502996f34f639f985372d38389b1153e","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.4_1762385385837_0.11364546003035314","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"vue3-router-tab","version":"1.3.5","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.5","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"08082adb78770fd68044eabdec2b43c9fdfada17","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.5.tgz","fileCount":21,"integrity":"sha512-PfdBjVHtIn1c9FzabePa3zPNGROVs8ZzCkBG4OaEekd0l4Qo9Zz8g03ZaV5tRZuVLpso3M0uSDEl8I1+T6u6lA==","signatures":[{"sig":"MEQCICTulg7OhGGkMnALumculTFIMTfFdmd9KPilGIQ/B9ziAiBVgwy+qvT4uyCD96KfmquEzvOUGtEFtmdBv6hb+bGZHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191296},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"7362dd6bdc5f61f58b54993ca2012d1ab24a7343","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.5_1762385935286_0.2738940091385911","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"vue3-router-tab","version":"1.3.6","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.6","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"90e80875d46a905b81d736de49eae9f4690f814c","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.6.tgz","fileCount":21,"integrity":"sha512-BrdycmJkGCUSezOJ7knqkGysOT1EjpmfVzn88HvXi88et997W4hUrOhuZj+Pchp9vgAdVhJBSzhh9Se/HMWqVQ==","signatures":[{"sig":"MEQCIA2xKlGfotENfhIFjXz0ratK9wXXYiOP+b1gXqNCXZV/AiBL53frSKm0GBaO40UEAH2SnAPAjog0E+ko64/uIR1zog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209304},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"6fed1881cb415e596f14a647fb571dfcda53f28a","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.6_1762588992323_0.39347293257556837","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"vue3-router-tab","version":"1.3.7","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.7","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"56956672f8ba554ba2c87336f96e388970f52646","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.7.tgz","fileCount":21,"integrity":"sha512-kS7xxWVlMVZs0lkjtLm47mZvfnOi1KbUx0Rleh+nnMVqP0+PLrxqcIPpKRzFLf94kvL5OnSP1U3wUZu+LAZXJQ==","signatures":[{"sig":"MEQCIBJEQpaQw8fpTDs3AFUH7OkGIeEN8wfkOkxi5cn/tEucAiAuwfw1XWZfEwhMD3gkKK7TWISmkkYT9l5yG7SSR35Mlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218731},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","default":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style":"./dist/vue3-router-tab.css","./package.json":"./package.json"},"gitHead":"84e2d3ba3df5d13ffe8b8599d6502de4ad82cd0c","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.7_1762630365783_0.8297355393266714","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"vue3-router-tab","version":"1.3.8","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.8","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"04c1935cda7584faa4c5d1cb338db781c7fbdf37","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.8.tgz","fileCount":21,"integrity":"sha512-4FNUO6AfDSqYbiZsUBRU9Glcu6HomzINBy6eQRx1CnGe5cC3Y3PRkYvbRVNtbpEgpMHlGhxJbsNQTH/2I3a0Ww==","signatures":[{"sig":"MEYCIQCuzB4VJ2adlt52xAJtCSlX8HFEgQoexSMdZA+KxCsycwIhAJfqCoN0Gziupt/pvrLGLKtgS6y+BA2BWCFuZAJ1vdKV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218437},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","gitHead":"84e2d3ba3df5d13ffe8b8599d6502de4ad82cd0c","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.8_1762662813550_0.7642964996952704","host":"s3://npm-registry-packages-npm-production"}},"1.3.9":{"name":"vue3-router-tab","version":"1.3.9","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.3.9","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"55c6640fdbc4abb9b3ccc40659d506c114cf0ed6","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.3.9.tgz","fileCount":21,"integrity":"sha512-b6GxXKi5TWGoyNBC1OOkSCvkTvV9Da6NtDSapmZNnVQodAyAozn1LB19L6s9b6tIYaIolZHUEYZd6Ljuh2Wy2A==","signatures":[{"sig":"MEUCIQCpxR6h+LDr3PYZqfYHfLskdmeUt0W3h4GkY6jQB0V6lgIgOrmImWQE9rFnZf9aJvXh2Yqjf26rSHAzooCLcPR9pLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219133},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","gitHead":"a676a51bc59f76c769ec557ea8ac76623aee9169","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.6.2","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.3.9_1762664611085_0.9482744880112175","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"vue3-router-tab","version":"1.4.0","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.4.0","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"9ba1e77b2620ad5ca9ea5bfde9560e21e4b47e44","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.0.tgz","fileCount":21,"integrity":"sha512-VWJ2ZMKrW2eXrBzvVUaDTic2Pl3uwqdNfqTm2qebWnpQpQr/Oaz8eJL8J8/4oz5Y4fIG3fJXUCBH5SY2qYv7Yw==","signatures":[{"sig":"MEUCIBq5xkolONpPQcIzm/GYsUUPxS0voW1POLQolXJ8CPM7AiEAk87SQLnVMTD+n0mGwA/4nL3RqKjS+hoaURs1AH2FRB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217903},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","gitHead":"09bdcff01e5d7e11f98d3fa26f6cdeed0fd769bb","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.7.0","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.4.0_1765917645875_0.11316370489246519","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"vue3-router-tab","version":"1.4.1","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.4.1","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"5ccccb11b059e2a9d9ad8b35fa416424c6464254","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.1.tgz","fileCount":21,"integrity":"sha512-va/4N6rHoIQG/xZQBDZK+jcBbI9/Cxmerg23Pg7UvqhMj47xENRWGbBCSDpfXNhAkxS3gmhgO8cANNMLxjL3pw==","signatures":[{"sig":"MEUCIQCu2OrYqeonmBJIkvLRJtL5U1QaNQ6XmKtmkhmWTLClUgIgbbATy/Zk+HeYoPV6osC6Mbiv1HzkvheNRIOiGYD8R3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219776},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","gitHead":"7f3f1d2eef209127b75ebf0164422eb5283eb259","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.7.0","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.4.1_1766069475627_0.47393354197676363","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"vue3-router-tab","version":"1.4.2","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.4.2","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"c8db8cd750dcb504a2d0de81b69d107832b445fc","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.2.tgz","fileCount":21,"integrity":"sha512-H2Q68Wv22UtS0Gj9v5VKxGfM0RozFY8qoXXP8C2l0W7hxyK2mVpmJlc43EsQ6T/t/yQUldxr86FZHI+HVw+Hqw==","signatures":[{"sig":"MEUCIDrS42a00euoDIA62R9FAJ6/Zj6ceRfAzVyg+Ks0aEGyAiEAqggClY6bmB6EaSrlylCdv3g679v8+QMLo54bsxjNy6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218924},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","gitHead":"e16a169fb03c0ccdc565d24520193aa42239df3e","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.7.0","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.4.2_1766070254790_0.7022777788453556","host":"s3://npm-registry-packages-npm-production"}},"1.4.3":{"name":"vue3-router-tab","version":"1.4.3","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.4.3","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"d67d6c28361f4a5e78055a0dd93a1a9a0a65f5f2","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.3.tgz","fileCount":21,"integrity":"sha512-9dJf5F6FyCP7VnEWQFTNctVHjBVf0gUPCnajAE50oeY5vgYr6iciH4cLqAfY3t7/yF1oHmvFhvAIit7Om9imYg==","signatures":[{"sig":"MEUCICjz4+NbTccSrRg81Ms8Gmpr0hb4DZfpLh1egDVKWXMZAiEAmbJdaend7VzcmIb8D+1rCVMLSwQYrJhFRIUIVNliSRw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219924},"main":"dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"index.d.ts","module":"dist/vue3-router-tab.js","gitHead":"cbb0ffa6e886f1129ccfddb823fecb1de24e8ce6","scripts":{"build":"vite build","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.7.0","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","vite-plugin-dts":"^4.5.4","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.4.3_1767423886050_0.9887674572232952","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"vue3-router-tab","version":"1.4.4","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.4.4","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"8db602f6792150fb6c1031c3f758dec461c3ceb9","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.4.tgz","fileCount":21,"integrity":"sha512-9iKM32REvw8bQv2kAiqI0HUSdVScI9WatLb/SjZGU0gQuVvq8cGYq9NdHwsqLOs9FEreAracZrxWglMqpHOrDw==","signatures":[{"sig":"MEUCICQa8PU0jX0wY87o9L1VtvFAFwRyvmQqgNOaLoeUJhyhAiEA4GT6F+a8LilEHtcWl9fA7/hflsimmxAPDDfucHXJH2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229271},"main":"./dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"./index.d.ts","module":"./dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style.css":"./dist/vue3-router-tab.css"},"gitHead":"47d39c12eab9840ef463bc8ca1d1916a4edc0153","scripts":{"build":"npm run typecheck && vite build","typecheck":"vue-tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.10.1","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","vue-tsc":"^2.2.12","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.4.4_1775917228559_0.09072845646485206","host":"s3://npm-registry-packages-npm-production"}},"1.4.5":{"name":"vue3-router-tab","version":"1.4.5","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.4.5","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"6dda4fcd37eb9935456d33242bbac909e4846bbc","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.5.tgz","fileCount":21,"integrity":"sha512-sVLsEkiPSp9rmMiAghDrb/Zb+W13v49iQjbHJdWpf6oG3dYOYuA2rKhOJnJByLog73cNUbs7FBecXaMF0dqBig==","signatures":[{"sig":"MEUCIEPYrOm5r7EXTDk7dLYojB0EgnU49hm6PtY4c9Slu+ZbAiEAkSivQJyNOnx7vCBzMyzpEkv2h8gQywnkoApRSPMsmcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222508},"main":"./dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"./index.d.ts","module":"./dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style.css":"./dist/vue3-router-tab.css"},"gitHead":"b73bbbaf62c0f98fc28c89077837b30908d96947","scripts":{"build":"npm run typecheck && vite build","typecheck":"vue-tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.10.1","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","vue-tsc":"^2.2.12","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.4.5_1775921954553_0.10151359215627465","host":"s3://npm-registry-packages-npm-production"}},"1.4.6":{"name":"vue3-router-tab","version":"1.4.6","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"author":"","license":"MIT","_id":"vue3-router-tab@1.4.6","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"dist":{"shasum":"10cfc485521b9d846f41ec40da0ba3ca609eafb2","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.6.tgz","fileCount":21,"integrity":"sha512-t/u00Cl8JAjfdHajmjmv6txR0WA5hsK8pxpW3uC/j4frpl92i09fO962sWjRAKXJ6v4cdzigqZ+hg0skep2fQw==","signatures":[{"sig":"MEQCIHFk0PKSnKV3yYWUnx4JY8+GZM52AmyCOs6j/H42GGT3AiAP6IvVAK7W0LA+UR6iZvHI4FSWqtl1f9eA861ohSo3Ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":223112},"main":"./dist/vue3-router-tab.umd.cjs","pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"type":"module","types":"./index.d.ts","module":"./dist/vue3-router-tab.js","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style.css":"./dist/vue3-router-tab.css"},"gitHead":"7d725b826fa539c06c79a9829a3d48ea96065abb","scripts":{"build":"npm run typecheck && vite build","typecheck":"vue-tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"repository":{"url":"git+https://github.com/anilshr25/vue3-router-tab.git","type":"git"},"_npmVersion":"11.10.1","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","directories":{},"sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"vue":"^3.5.22","sass":"^1.93.2","vite":"^7.1.7","vue-tsc":"^2.2.12","typescript":"^5.9.2","vue-router":"^4.5.1","sass-loader":"^16.0.5","@vitejs/plugin-vue":"^6.0.1","vite-plugin-libcss":"^1.1.2"},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/vue3-router-tab_1.4.6_1775923181912_0.6548535892496232","host":"s3://npm-registry-packages-npm-production"}},"1.4.7":{"name":"vue3-router-tab","version":"1.4.7","type":"module","main":"./dist/vue3-router-tab.umd.cjs","module":"./dist/vue3-router-tab.js","types":"./index.d.ts","exports":{".":{"types":"./index.d.ts","import":"./dist/vue3-router-tab.js","require":"./dist/vue3-router-tab.umd.cjs"},"./style.css":"./dist/vue3-router-tab.css"},"scripts":{"test":"vitest run","typecheck":"vue-tsc --noEmit -p tsconfig.json","check":"npm run typecheck && npm test","build":"npm run typecheck && vite build","prepublishOnly":"npm run check && vite build"},"devDependencies":{"@vitejs/plugin-vue":"^6.0.1","@vue/test-utils":"^2.4.10","jsdom":"^29.1.1","sass":"^1.93.2","sass-loader":"^16.0.5","typescript":"^5.9.2","vite":"^7.1.7","vite-plugin-libcss":"^1.1.2","vitest":"^4.1.5","vue":"^3.5.22","vue-router":"^4.5.1","vue-tsc":"^2.2.12"},"keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"license":"MIT","homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","sideEffects":["dist/vue3-router-tab.css","lib/scss/index.scss"],"repository":{"type":"git","url":"git+https://github.com/anilshr25/vue3-router-tab.git"},"author":"","bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"pnpm":{"onlyBuiltDependencies":["@parcel/watcher","esbuild","vue-demi"]},"peerDependencies":{"vue":"^3.3.0","vue-router":"^4.2.0 || ^5.0.0"},"gitHead":"dcebc846d6678f23eaad9eedd598b5633ab1573b","_id":"vue3-router-tab@1.4.7","_nodeVersion":"22.14.0","_npmVersion":"11.10.1","dist":{"integrity":"sha512-N3MVlz6cM97gQyKqM5m+jWv450hG6AAzLZEQO/LBIuVgwAxEbZmIKjauFsQDkHlBbOKr+oHgs6Dotm8pxAfQbg==","shasum":"bc3296fd99682d293115b8831e86131c4c5a0a58","tarball":"https://registry.npmjs.org/vue3-router-tab/-/vue3-router-tab-1.4.7.tgz","fileCount":26,"unpackedSize":228191,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIClgZ9FORvATmZYp9uUI7DShd1dabfH++28EiZ06BHNnAiB/I6fL4uaPuFOJRG+H8Xc1O68v3WH0dVNC+iYg7zDkeg=="}]},"_npmUser":{"name":"anilshr90","email":"anilshr25@gmail.com"},"directories":{},"maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vue3-router-tab_1.4.7_1778390988214_0.9755057944711552"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-30T07:44:37.673Z","modified":"2026-05-10T05:29:48.510Z","0.0.1":"2023-09-30T07:44:37.839Z","1.0.0":"2025-09-28T17:20:32.889Z","1.0.1":"2025-09-28T17:28:15.618Z","1.0.2":"2025-09-29T04:24:13.610Z","1.0.3":"2025-09-29T05:08:28.799Z","1.0.4":"2025-09-29T06:12:24.700Z","1.0.5":"2025-09-29T06:22:48.232Z","1.0.6":"2025-09-29T06:33:55.110Z","1.0.7":"2025-09-29T06:36:26.574Z","1.0.8":"2025-09-29T06:48:47.687Z","1.0.9":"2025-09-29T07:05:11.557Z","1.1.0":"2025-09-29T12:32:12.412Z","1.1.1":"2025-09-29T15:17:31.444Z","1.1.2":"2025-09-29T16:16:25.160Z","1.1.3":"2025-09-29T17:17:30.819Z","1.1.4":"2025-09-29T18:17:31.101Z","1.1.5":"2025-09-29T19:35:40.569Z","1.1.6":"2025-09-29T19:41:52.644Z","1.1.7":"2025-09-29T20:14:54.807Z","1.1.8":"2025-09-29T20:16:25.886Z","1.1.9":"2025-09-29T22:09:26.734Z","1.2.0":"2025-09-30T05:55:57.763Z","1.2.1":"2025-09-30T08:24:43.064Z","1.2.2":"2025-09-30T08:40:16.359Z","1.2.3":"2025-09-30T08:44:24.885Z","1.2.4":"2025-09-30T08:51:03.610Z","1.2.5":"2025-10-01T16:45:45.152Z","1.2.6":"2025-10-01T20:23:10.152Z","1.2.7":"2025-10-11T18:05:54.510Z","1.2.8":"2025-11-05T20:54:17.613Z","1.2.9":"2025-11-05T21:47:27.714Z","1.3.0":"2025-11-05T22:16:54.045Z","1.3.1":"2025-11-05T22:28:28.370Z","1.3.2":"2025-11-05T22:47:29.870Z","1.3.3":"2025-11-05T23:17:03.922Z","1.3.4":"2025-11-05T23:29:46.148Z","1.3.5":"2025-11-05T23:38:55.499Z","1.3.6":"2025-11-08T08:03:12.517Z","1.3.7":"2025-11-08T19:32:46.026Z","1.3.8":"2025-11-09T04:33:33.801Z","1.3.9":"2025-11-09T05:03:31.297Z","1.4.0":"2025-12-16T20:40:46.046Z","1.4.1":"2025-12-18T14:51:15.762Z","1.4.2":"2025-12-18T15:04:14.940Z","1.4.3":"2026-01-03T07:04:46.237Z","1.4.4":"2026-04-11T14:20:28.696Z","1.4.5":"2026-04-11T15:39:14.704Z","1.4.6":"2026-04-11T15:59:42.053Z","1.4.7":"2026-05-10T05:29:48.391Z"},"bugs":{"url":"https://github.com/anilshr25/vue3-router-tab/issues"},"license":"MIT","homepage":"https://github.com/anilshr25/vue3-router-tab/#readme","keywords":["vue3-router-tab","vue3","router","tabs","tab","router-tab","router-tabs","cookies","persistence"],"repository":{"type":"git","url":"git+https://github.com/anilshr25/vue3-router-tab.git"},"description":"Vue 3 Router Tabs component: tabbed navigation for Vue Router with persistence, context menu, drag-and-drop reordering, theming, and reactive page-driven tab titles.","maintainers":[{"name":"anilshr90","email":"anilshr25@gmail.com"}],"readme":"# Vue3 Router Tab\n\n[![npm version](https://badge.fury.io/js/vue3-router-tab.svg)](https://badge.fury.io/js/vue3-router-tab)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-blue.svg)](https://www.typescriptlang.org/)\n\nA powerful, feature-rich Vue 3 tab-bar plugin that keeps multiple routes alive with smooth transitions, context menus, drag-and-drop reordering, and optional cookie-based persistence. Built for modern Vue 3 applications with full TypeScript support.\n\n## ⚠️ Breaking Change\n\nThe legacy `contextmenu` prop alias has been removed.\nUse `contextMenu` instead.\n\n## ✨ Key Features\n\n- 🎯 **Multi-tab Navigation** - Keep multiple routes alive simultaneously with intelligent caching\n- 🔄 **7 Built-in Transitions** - Smooth page transitions (swap, slide, fade, scale, flip, rotate, bounce)\n- 🎨 **Reactive Tab Titles** - Automatically update tab titles, icons, and closability from component state\n- 🖱️ **Context Menu** - Right-click tabs for refresh, close, and navigation options\n- 🔀 **Drag & Drop** - Reorder tabs with drag-and-drop (sortable)\n- 💾 **Cookie Persistence** - Restore tabs on page refresh with customizable options\n- 🎭 **Theme Support** - Light, dark, and system themes with customizable colors\n- ⚡ **KeepAlive Support** - Preserve component state when switching tabs with smart cache management\n- ♿ **Accessibility** - Full WCAG compliance with ARIA labels, keyboard navigation, and screen reader support\n- 🚀 **Performance Optimized** - Intelligent caching, memoization, and memory management\n- 🎛️ **Highly Configurable** - Extensive props, events, and customization options\n- 📱 **TypeScript Support** - Full TypeScript definitions with excellent developer experience\n- 🔧 **Error Recovery** - Automatic error handling with graceful degradation and recovery mechanisms\n\n## 📦 Installation\n\nRequires Vue `^3.3.0` and Vue Router `^4.2.0` or `^5.0.0`.\n\n```bash\nnpm install vue3-router-tab\n# or\npnpm add vue3-router-tab\n# or\nyarn add vue3-router-tab\n```\n\n## 🚀 Quick Start\n\n### 1. Register the Plugin\n\n```ts\n// main.ts\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport RouterTab from 'vue3-router-tab'\n\nconst app = createApp(App)\napp.use(router)\napp.use(RouterTab)\napp.mount('#app')\n```\n\n### 2. Basic Usage\n\n```vue\n<template>\n  <router-tab />\n</template>\n```\n\nThat's it! You now have a fully functional tabbed router interface.\n\n### 3. Enhanced Usage with Persistence\n\n```vue\n<template>\n  <router-tab\n    cookie-key=\"my-app-tabs\"\n    :sortable=\"true\"\n    :keep-alive=\"true\"\n  />\n</template>\n```\n\n## 📖 Usage Guide\n\n### Basic Configuration\n\n```vue\n<template>\n  <router-tab\n    cookie-key=\"app-tabs\"\n    :keep-alive=\"true\"\n    :max-alive=\"10\"\n    :keep-last-tab=\"true\"\n    :sortable=\"true\"\n    page-transition=\"router-tab-fade\"\n    tab-transition=\"router-tab-zoom\"\n  />\n</template>\n```\n\n### Route Configuration\n\nConfigure your routes with tab metadata:\n\n```ts\n// router/index.ts\nconst routes = [\n  {\n    path: '/',\n    component: Home,\n    meta: {\n      title: 'Home',\n      icon: 'mdi-home',\n      keepAlive: true,\n    },\n  },\n  {\n    path: '/users',\n    component: Users,\n    meta: {\n      title: 'Users',\n      icon: 'mdi-account-group',\n      closable: true,\n      keepAlive: true,\n    },\n  },\n  {\n    path: '/settings',\n    component: Settings,\n    meta: {\n      title: 'Settings',\n      icon: 'mdi-cog',\n      closable: false, // Can't be closed\n      keepAlive: false,\n    },\n  },\n]\n```\n\n### Reactive Tab Properties\n\nMake your tabs dynamic by exposing reactive properties in your components:\n\n```vue\n<template>\n  <div>\n    <h1>{{ pageTitle }}</h1>\n    <button @click=\"updateTitle\">Update Title</button>\n    <div v-if=\"loading\">Loading...</div>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\n\n// These reactive properties automatically update the tab\nconst pageTitle = ref('Dashboard')\nconst loading = ref(false)\nconst notificationCount = ref(0)\n\n// Tab title updates automatically\nconst routeTabTitle = computed(() => {\n  if (loading.value) return 'Loading...'\n  if (notificationCount.value > 0) return `Dashboard (${notificationCount.value})`\n  return pageTitle.value\n})\n\n// Tab icon changes based on state\nconst routeTabIcon = computed(() =>\n  loading.value ? 'mdi-loading mdi-spin' : 'mdi-view-dashboard'\n)\n\n// Prevent closing while loading\nconst routeTabClosable = computed(() => !loading.value)\n\nfunction updateTitle() {\n  pageTitle.value = 'Updated Dashboard'\n}\n</script>\n```\n\n## 🎨 Transitions\n\nChoose from 7 built-in transition effects:\n\n```vue\n<!-- Default transition -->\n<router-tab />\n\n<!-- Custom transition -->\n<router-tab page-transition=\"router-tab-scale\" />\n\n<!-- Advanced configuration -->\n<router-tab :page-transition=\"{ name: 'router-tab-flip', mode: 'out-in' }\" />\n```\n\n### Available Transitions\n\n| Transition | Description | Best For |\n|------------|-------------|----------|\n| `router-tab-swap` | Smooth up/down slide with fade | General purpose (default) |\n| `router-tab-slide` | Horizontal sliding | Dashboard navigation |\n| `router-tab-fade` | Simple opacity fade | Minimal, subtle |\n| `router-tab-scale` | Zoom in/out effect | Dramatic transitions |\n| `router-tab-flip` | 3D flip animation | Modern, creative |\n| `router-tab-rotate` | Rotation with scale | Playful, dynamic |\n| `router-tab-bounce` | Elastic bounce | Fun, energetic |\n\n## 🎭 Theming\n\n### Built-in Themes\n\n```ts\nimport { setRouterTabsTheme } from 'vue3-router-tab'\n\n// Switch themes at runtime\nsetRouterTabsTheme('dark')\nsetRouterTabsTheme('light')\nsetRouterTabsTheme('system') // Follows OS preference\n```\n\n### Custom Colors\n\n```ts\nimport { setRouterTabsPrimary } from 'vue3-router-tab'\n\nsetRouterTabsPrimary({\n  primary: '#3b82f6',\n  background: '#ffffff',\n  text: '#1f2937',\n  activeBackground: '#3b82f6',\n  activeText: '#ffffff',\n  border: '#e5e7eb'\n})\n```\n\n### CSS Customization\n\n```css\n:root {\n  /* Layout */\n  --router-tab-header-height: 48px;\n  --router-tab-padding: 16px;\n\n  /* Colors */\n  --router-tab-primary: #3b82f6;\n  --router-tab-background: #ffffff;\n  --router-tab-active-background: #3b82f6;\n}\n```\n\n## ♿ Accessibility\n\nVue3 Router Tab is fully accessible with:\n\n- **ARIA Labels**: Proper labeling for screen readers\n- **Keyboard Navigation**: Arrow keys, Enter, Delete, Home, End\n- **Focus Management**: Logical tab order and focus indicators\n- **Semantic HTML**: Proper roles and structure\n\n```vue\n<!-- Accessible by default -->\n<router-tab />\n\n<!-- Custom ARIA labels -->\n<router-tab aria-label=\"Main navigation tabs\" />\n```\n\n### Keyboard Shortcuts\n\n- **Arrow Keys**: Navigate between tabs\n- **Enter/Space**: Activate selected tab\n- **Delete/Backspace**: Close current tab (if closable)\n- **Home/End**: Jump to first/last tab\n\n## 🔧 API Reference\n\n### Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `tabs` | `TabInput[]` | `[]` | Initial tabs to display |\n| `keepAlive` | `boolean` | `true` | Enable KeepAlive for tab components |\n| `maxAlive` | `number` | `0` | Maximum cached components (0 = unlimited) |\n| `keepLastTab` | `boolean` | `true` | Prevent closing the last tab |\n| `append` | `'last' \\| 'next'` | `'last'` | Position for new tabs |\n| `defaultPage` | `RouteLocationRaw` | `'/'` | Default route |\n| `tabTransition` | `TransitionLike` | `'router-tab-zoom'` | Tab list transitions |\n| `pageTransition` | `TransitionLike` | `{ name: 'router-tab-swap', mode: 'out-in' }` | Page transitions |\n| `contextMenu` | `boolean \\| RouterTabsMenuConfig[]` | `true` | Context menu configuration |\n| `cookieKey` | `string` | `'router-tabs:snapshot'` | Persistence cookie key |\n| `persistence` | `RouterTabsPersistenceOptions \\| null` | `null` | Advanced persistence options |\n| `sortable` | `boolean` | `true` | Enable drag-and-drop sorting |\n\n### Events\n\n| Event | Payload | Description |\n|-------|---------|-------------|\n| `tab-sort` | `{ tab: TabRecord, index: number }` | Tab drag started |\n| `tab-sorted` | `{ tab: TabRecord, fromIndex: number, toIndex: number }` | Tab reordered |\n\n### Slots\n\n| Slot | Props | Description |\n|------|-------|-------------|\n| `start` | - | Content before tab list |\n| `end` | - | Content after tab list |\n| `default` | `{ Component, route }` | Custom page rendering |\n\n## 🎛️ Programmatic API\n\n### Using the Composable\n\n```vue\n<script setup lang=\"ts\">\nimport { useRouterTabs } from 'vue3-router-tab'\n\nconst tabs = useRouterTabs()\n\n// Open a new tab\nawait tabs.openTab('/users')\n\n// Close current tab\nawait tabs.closeTab()\n\n// Refresh all tabs\nawait tabs.refreshAll()\n\n</script>\n```\n\n### Controller Methods\n\n```ts\ninterface RouterTabsContext {\n  // Navigation\n  openTab(to: RouteLocationRaw, replace?: boolean, refresh?: boolean | 'sameTab'): Promise<void>\n  closeTab(id?: string, options?: CloseTabOptions): Promise<void>\n\n  // Management\n  refreshTab(id?: string, force?: boolean): Promise<void>\n  refreshAll(force?: boolean): Promise<void>\n  removeTab(id: string, opts?: RemoveTabOptions): Promise<void>\n\n  // Cache Control\n  setTabAlive(id: string, alive: boolean): void\n  evictCache(id: string): void\n  clearCache(): void\n  getCacheKeys(): string[]\n\n  // State\n  reset(route?: RouteLocationRaw): Promise<void>\n  reload(): Promise<void>\n\n  // Utilities\n  getRouteKey(route: RouteLocationNormalizedLoaded | RouteLocationRaw): string\n  matchRoute(route: RouteLocationNormalizedLoaded | RouteLocationRaw): RouteMatchResult\n\n  // Persistence\n  snapshot(): RouterTabsSnapshot\n  hydrate(snapshot: RouterTabsSnapshot): Promise<void>\n}\n```\n\n## 🔄 Advanced Usage\n\n### Custom Context Menu\n\n```vue\n<router-tab\n  :contextMenu=\"[\n    'refresh',\n    'close',\n    { id: 'duplicate', label: 'Duplicate Tab', handler: ({ target }) => openTab(target.to) },\n    { id: 'closeOthers', label: 'Close All Others' },\n    {\n      id: 'openExternal',\n      label: 'Open in New Window',\n      handler: ({ target }) => window.open(target.to, '_blank')\n    }\n  ]\"\n/>\n```\n\n### Custom Rendering\n\n```vue\n<router-tab>\n  <template #default=\"{ Component, route }\">\n    <Suspense>\n      <ErrorBoundary>\n        <component :is=\"Component\" :key=\"route.fullPath\" />\n      </ErrorBoundary>\n    </Suspense>\n  </template>\n</router-tab>\n```\n\n### Advanced Persistence\n\n```vue\n<router-tab\n  :persistence=\"{\n    cookieKey: 'my-app-tabs',\n    expiresInDays: 30,\n    path: '/',\n    secure: true,\n    sameSite: 'strict',\n    serialize: (snapshot) => encrypt(JSON.stringify(snapshot)),\n    deserialize: (data) => JSON.parse(decrypt(data))\n  }\"\n/>\n```\n\n## 🧩 Composables\n\n### useReactiveTab\n\n```vue\n<script setup lang=\"ts\">\nimport { useReactiveTab } from 'vue3-router-tab'\n\nconst { routeTabTitle, routeTabIcon, routeTabClosable } = useReactiveTab({\n  title: 'Dashboard',\n  icon: 'mdi-view-dashboard',\n  closable: true\n})\n</script>\n```\n\n### useLoadingTab\n\n```vue\n<script setup lang=\"ts\">\nimport { useLoadingTab } from 'vue3-router-tab'\n\nconst isLoading = ref(false)\nconst { routeTabTitle, routeTabIcon, routeTabClosable } = useLoadingTab(isLoading, 'Dashboard')\n</script>\n```\n\n### useNotificationTab\n\n```vue\n<script setup lang=\"ts\">\nimport { useNotificationTab } from 'vue3-router-tab'\n\nconst notificationCount = ref(0)\nconst { routeTabTitle, routeTabIcon } = useNotificationTab(notificationCount, 'Messages')\n</script>\n```\n\n## 🎯 Examples\n\n### Complete App Example\n\n```vue\n<template>\n  <div id=\"app\">\n    <nav>\n      <router-link to=\"/\">Home</router-link>\n      <router-link to=\"/users\">Users</router-link>\n      <router-link to=\"/settings\">Settings</router-link>\n    </nav>\n\n    <router-tab\n      cookie-key=\"my-app\"\n      :sortable=\"true\"\n      page-transition=\"router-tab-fade\"\n      @tab-sorted=\"onTabSorted\"\n    />\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { useRouterTabs } from 'vue3-router-tab'\n\nconst tabs = useRouterTabs()\n\nfunction onTabSorted({ tab, fromIndex, toIndex }) {\n  // Save order to backend\n  saveTabOrder(tab.id, toIndex)\n}\n</script>\n```\n\n### Real-time Updates\n\n```vue\n<script setup lang=\"ts\">\nimport { ref, computed, onMounted } from 'vue'\nimport { useRouterTabs } from 'vue3-router-tab'\n\nconst tabs = useRouterTabs()\nconst messageCount = ref(0)\nconst isOnline = ref(true)\n\n// Reactive tab title\nconst routeTabTitle = computed(() =>\n  messageCount.value > 0 ? `Messages (${messageCount.value})` : 'Messages'\n)\n\n// Reactive tab icon\nconst routeTabIcon = computed(() =>\n  isOnline.value ? 'mdi-message' : 'mdi-message-offline'\n)\n\n// Simulate real-time updates\nonMounted(() => {\n  // Connect to WebSocket or polling service\n  connectToRealtimeUpdates((update) => {\n    if (update.type === 'message') {\n      messageCount.value++\n    } else if (update.type === 'status') {\n      isOnline.value = update.online\n    }\n  })\n})\n</script>\n```\n\n## 🔍 Troubleshooting\n\n### Common Issues\n\n**Tabs not updating titles**\n- Ensure you're using `ref()` or `computed()` for reactive properties\n- Check that properties are properly exposed in `<script setup>`\n\n**Transitions not working**\n- Don't use custom `#default` slot without transitions\n- Ensure transition names match available transitions\n\n**Persistence not working**\n- Check that cookies are enabled\n- Verify `cookie-key` prop is set\n- Check browser console for cookie errors\n\n**KeepAlive not preserving state**\n- Ensure routes have `keepAlive: true` in meta\n- Check that components have unique keys\n\n**TypeScript errors**\n```ts\nimport type { TabRecord, RouterTabsOptions } from 'vue3-router-tab'\n```\n\n### Performance Tips\n\n- Use `maxAlive` to limit cached components\n- Avoid deep watchers in tab components\n- Use `evictCache()` to manually clear cache when needed\n- Consider using `keepAlive: false` for memory-intensive components\n\n## 🌟 Migration Guide\n\n### From v1.x to v2.x\n\n```ts\n// Before\nimport RouterTab from 'vue3-router-tab'\n\n// After (same)\nimport RouterTab from 'vue3-router-tab'\n```\n\nThe API is backward compatible. New features are additive.\n\n### Context Menu Prop Update\n\nThe legacy `contextmenu` prop alias has been removed.\n\nUse:\n\n```vue\n<router-tab :contextMenu=\"true\" />\n```\n\nInstead of:\n\n```vue\n<router-tab :contextmenu=\"true\" />\n```\n\n## 📱 Browser Support\n\n- **Chrome**: 90+\n- **Firefox**: 88+\n- **Safari**: 14+\n- **Edge**: 90+\n- **Mobile**: iOS Safari 14+, Chrome Mobile 90+\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Make your changes\n4. Add tests if applicable\n5. Run the build: `npm run build`\n6. Commit your changes: `git commit -m 'Add amazing feature'`\n7. Push to the branch: `git push origin feature/amazing-feature`\n8. Open a Pull Request\n\n## 📄 License\n\nMIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\nBuilt with ❤️ by the Vue.js community. Special thanks to all contributors and users.\n\n---\n\n**Made with ❤️ for the Vue.js ecosystem**\n\n`meta.key` accepts the shortcuts `fullPath`, `path`, or `name`, or you can supply your own function.\n\n## Configuration\n\n### RouterTab Props\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `tabs` | `TabInput[]` | `[]` | Initial tabs to display |\n| `keepAlive` | `boolean` | `true` | Enable keep-alive for tab components |\n| `maxAlive` | `number` | `0` | Maximum number of alive components (0 = unlimited) |\n| `keepLastTab` | `boolean` | `true` | Prevent closing the last remaining tab |\n| `append` | `'last' \\| 'next'` | `'last'` | Where to append new tabs |\n| `defaultPage` | `string \\| object` | `'/'` | Default route to navigate to |\n| `tabTransition` | `string \\| object` | `'router-tab-zoom'` | Transition for tab changes |\n| `pageTransition` | `string \\| object` | `{ name: 'router-tab-swap', mode: 'out-in' }` | Transition for page changes |\n| `contextMenu` | `boolean \\| array` | `true` | Enable context menu or provide custom menu items |\n| `cookieKey` | `string` | `'router-tabs:snapshot'` | Cookie key for persistence |\n| `persistence` | `object \\| null` | `null` | Persistence configuration |\n| `sortable` | `boolean` | `true` | Enable drag-and-drop tab sorting |\n\n## Page Transitions\n\nVue3 Router Tab includes 7 built-in page transition effects that are displayed when switching between tabs or refreshing pages.\n\n### Available Transitions\n\n| Transition | Description | Use Case |\n|------------|-------------|----------|\n| `router-tab-swap` | Slides up/down with fade (default) | General purpose, smooth |\n| `router-tab-slide` | Horizontal sliding animation | Dashboard-style navigation |\n| `router-tab-fade` | Simple opacity fade | Subtle, minimal distraction |\n| `router-tab-scale` | Zoom in/out effect | Dramatic, attention-grabbing |\n| `router-tab-flip` | 3D flip animation | Creative, modern feel |\n| `router-tab-rotate` | Rotation with scale | Playful, dynamic |\n| `router-tab-bounce` | Elastic bounce effect | Fun, energetic |\n\n### Using Transitions\n\n#### Default Transition\n\n```vue\n<router-tab />\n<!-- Uses router-tab-swap by default -->\n```\n\n#### Custom Transition\n\n```vue\n<router-tab \n  :page-transition=\"{ name: 'router-tab-scale', mode: 'out-in' }\"\n/>\n```\n\n#### String Shorthand\n\n```vue\n<router-tab page-transition=\"router-tab-fade\" />\n```\n\n#### Dynamic Transitions\n\nChange transitions at runtime:\n\n```vue\n<template>\n  <div>\n    <select v-model=\"currentTransition\">\n      <option value=\"router-tab-swap\">Swap</option>\n      <option value=\"router-tab-slide\">Slide</option>\n      <option value=\"router-tab-fade\">Fade</option>\n      <option value=\"router-tab-scale\">Scale</option>\n      <option value=\"router-tab-flip\">Flip</option>\n      <option value=\"router-tab-rotate\">Rotate</option>\n      <option value=\"router-tab-bounce\">Bounce</option>\n    </select>\n    \n    <router-tab \n      :page-transition=\"{ name: currentTransition, mode: 'out-in' }\"\n    />\n  </div>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\nconst currentTransition = ref('router-tab-swap')\n</script>\n```\n\n### Custom Transitions\n\nCreate your own transitions by defining CSS classes:\n\n```css\n/* Your custom transition */\n.my-custom-enter-active,\n.my-custom-leave-active {\n  transition: all 0.5s ease;\n}\n\n.my-custom-enter-from {\n  opacity: 0;\n  transform: translateX(100px);\n}\n\n.my-custom-leave-to {\n  opacity: 0;\n  transform: translateX(-100px);\n}\n```\n\n```vue\n<router-tab page-transition=\"my-custom\" />\n```\n\n### Transition Tips\n\n- **Performance**: Use `mode: 'out-in'` for smooth transitions without layout shifts\n- **Duration**: Built-in transitions are optimized at 0.5-0.8 seconds\n- **Accessibility**: Consider users with motion sensitivity - provide options to disable\n- **Context**: Match transition style to your app's design language\n\n## Changing Tab Titles Dynamically\n\nVue3 Router Tab automatically watches for reactive properties in your page components and updates the corresponding tab information in real-time.\n\n### Quick Start\n\nSimply expose reactive properties from your component:\n\n```vue\n<template>\n  <div>\n    <h1>{{ routeTabTitle }}</h1>\n    <button @click=\"updateTitle\">Change Tab Title</button>\n  </div>\n</template>\n\n<script setup>\nimport { ref } from 'vue'\n\n// This ref is automatically watched - tab title updates when it changes!\nconst routeTabTitle = ref('My Page')\n\nfunction updateTitle() {\n  routeTabTitle.value = 'Updated Title'\n}\n</script>\n```\n\n### Watched Properties\n\nThe following reactive properties are automatically monitored:\n\n| Property | Description | Example |\n|----------|-------------|---------|\n| `routeTabTitle` | Tab title text | `ref('Dashboard')` |\n| `routeTabIcon` | Tab icon class | `ref('mdi-home')` |\n| `routeTabClosable` | Can tab be closed | `ref(true)` |\n| `routeTabMeta` | Additional metadata | `ref({ badge: 5 })` |\n\n### Dynamic Titles with Computed\n\nCreate titles that update based on your component state:\n\n```vue\n<script setup>\nimport { ref, computed } from 'vue'\n\nconst isLoading = ref(false)\nconst notifications = ref(0)\n\n// Tab title automatically updates when dependencies change\nconst routeTabTitle = computed(() => {\n  if (isLoading.value) return 'Loading...'\n  if (notifications.value > 0) return `Messages (${notifications.value})`\n  return 'Dashboard'\n})\n\n// Tab icon changes based on state\nconst routeTabIcon = computed(() => \n  isLoading.value ? 'mdi-loading mdi-spin' : 'mdi-view-dashboard'\n)\n\n// Prevent closing during operations\nconst routeTabClosable = computed(() => !isLoading.value)\n</script>\n```\n\n### Real-World Examples\n\n#### Example 1: User Profile with Name\n\n```vue\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\n\nconst user = ref(null)\nconst isLoading = ref(true)\n\nconst routeTabTitle = computed(() => \n  isLoading.value ? 'Loading...' : `Profile - ${user.value?.name || 'Unknown'}`\n)\n\nconst routeTabIcon = computed(() => \n  isLoading.value ? 'mdi-loading mdi-spin' : 'mdi-account'\n)\n\nonMounted(async () => {\n  user.value = await fetchUser()\n  isLoading.value = false\n})\n</script>\n```\n\n#### Example 2: Form with Unsaved Changes\n\n```vue\n<script setup>\nimport { ref, computed } from 'vue'\n\nconst formData = ref({})\nconst hasUnsavedChanges = ref(false)\n\nconst routeTabTitle = computed(() => \n  hasUnsavedChanges.value ? '• Edit Form' : 'Edit Form'\n)\n\nconst routeTabClosable = computed(() => !hasUnsavedChanges.value)\n\nfunction onChange() {\n  hasUnsavedChanges.value = true\n}\n</script>\n```\n\n#### Example 3: Real-time Notifications\n\n```vue\n<script setup>\nimport { ref, computed, onMounted } from 'vue'\n\nconst unreadCount = ref(0)\n\nconst routeTabTitle = computed(() => {\n  if (unreadCount.value === 0) return 'Messages'\n  return `Messages (${unreadCount.value})`\n})\n\nconst routeTabIcon = computed(() => \n  unreadCount.value > 0 ? 'mdi-bell-badge' : 'mdi-bell-outline'\n)\n\n// Simulate real-time updates\nonMounted(() => {\n  setInterval(() => {\n    unreadCount.value = Math.floor(Math.random() * 10)\n  }, 5000)\n})\n</script>\n```\n\n### Using the Composable API\n\nFor advanced use cases, use the `useReactiveTab` composable:\n\n```vue\n<script setup>\nimport { useReactiveTab } from 'vue3-router-tab'\nimport { ref } from 'vue'\n\nconst user = ref({ name: 'John Doe', status: 'online' })\n\nconst { \n  routeTabTitle, \n  routeTabIcon, \n  routeTabClosable \n} = useReactiveTab({\n  title: () => `${user.value.name} - ${user.value.status}`,\n  icon: () => user.value.status === 'online' ? 'mdi-account' : 'mdi-account-off',\n closable: () => user.value.status !== 'editing'\n})\n</script>\n```\n\n### Important Notes\n\n1. **Automatic Exposure in `<script setup>`**: Properties defined in `<script setup>` are automatically exposed - no need for `defineExpose()`\n2. **Reactive types**: Use `ref()` or `computed()` - plain values won't trigger updates\n3. **Automatic watching**: No manual watchers needed - the plugin handles everything\n4. **Performance**: Only active tab components are watched to minimize overhead\n\n#### Works inside KeepAlive and wrappers\n\n`<router-tab>` forwards the tab bindings even when your pages are wrapped for caching. Just expose reactive values (refs/computed) and they will still be watched:\n\n```vue\n<script setup>\nimport { computed, ref } from 'vue'\n\nconst count = ref(3)\nconst isLoading = ref(false)\n\nconst routeTabTitle = computed(() => isLoading.value ? 'Loading orders…' : `Orders (${count.value})`)\nconst routeTabIcon = computed(() => isLoading.value ? 'mdi-loading mdi-spin' : 'mdi-cart')\nconst routeTabClosable = computed(() => !isLoading.value)\n</script>\n```\n\n> 💡 **Try it yourself**: Check out the live demo at `/title-test` in the example app to see all these features in action!\n\n### Options API Support\n\nIf you're using the Options API, you need to expose the properties:\n\n```vue\n<script>\nimport { ref, computed } from 'vue'\n\nexport default {\n  setup() {\n    const routeTabTitle = ref('My Page')\n    const routeTabIcon = computed(() => 'mdi-page')\n    \n    return {\n      routeTabTitle,\n      routeTabIcon\n    }\n  }\n}\n</script>\n```\n\nOr with `defineExpose`:\n\n```vue\n<script setup>\nimport { ref } from 'vue'\n\nconst routeTabTitle = ref('My Page')\n\n// Only needed if you're NOT using top-level refs in <script setup>\ndefineExpose({ routeTabTitle })\n</script>\n```\n\n**Note**: With `<script setup>`, top-level bindings are automatically exposed, so `defineExpose` is typically not needed.\n\n### Tab Closing Behavior\n\nWhen a tab is closed, the plugin automatically navigates to the next available tab with the following priority:\n\n1. **Next tab** - The tab immediately to the right\n2. **Previous tab** - The tab immediately to the left  \n3. **First tab** - If no adjacent tabs exist\n4. **Default route** - If no other tabs exist\n\n## Cookie persistence\n\n`<router-tab cookie-key=\"…\" />` is usually all you need. If you prefer fine grained control (custom expiry, same-site, etc.) you can still use the headless helper:\n\n```vue\n<router-tab>\n  <template #start>\n    <router-tabs\n      cookie-key=\"app-tabs\"\n      :expires-in-days=\"14\"\n      fallback-route=\"/dashboard\"\n    />\n  </template>\n</router-tab>\n```\n\nWant to wire it up yourself?\n\n```ts\n<script setup lang=\"ts\">\nimport { useRouterTabsPersistence } from 'vue3-router-tab'\n\nuseRouterTabsPersistence({\n  cookieKey: 'app-tabs',\n  expiresInDays: 30,\n  fallbackRoute: '/dashboard'\n})\n</script>\n```\nThe composable also exposes `serialize` / `deserialize` options so you can encrypt or customise the cookie payload.\nUse `storage: 'localStorage'` or provide a custom storage adapter when cookies are not a good fit. `debounceMs` can reduce repeated writes during rapid tab changes.\n\n## Theme system\n\nThe plugin initialises a lightweight theme layer on install:\n\n- Reads `tab-theme-style` (`'light'`, `'dark'`, or `'system'`; defaults to `'system'`).\n- Reads `tab-theme-primary-color` (defaults to `#0f172a`).\n- Applies the choice via `data-theme` and `--theme-primary` CSS variables, keeping “system” in sync with OS changes.\n\nOverride the theme at runtime:\n\n```ts\nimport { setRouterTabsTheme, setRouterTabsPrimary } from 'vue3-router-tab'\n\nsetRouterTabsTheme('dark')\nsetRouterTabsPrimary('#22c55e')\n```\n\nCustomise the defaults with:\n\n```ts\nimport { initRouterTabsTheme } from 'vue3-router-tab'\n\ninitRouterTabsTheme({\n  defaultStyle: 'dark',\n  defaultPrimary: '#0ea5e9'\n})\n```\n\n### Custom rendering\n\nYou can override the default routed view by providing a `#default` slot. The slot receives the same values you would normally get from `<RouterView v-slot>`:\n\n```vue\n<router-tab cookie-key=\"app-tabs\">\n  <template #default=\"{ Component, route }\">\n    <Suspense>\n      <component :is=\"Component\" :key=\"route.fullPath\" />\n    </Suspense>\n  </template>\n</router-tab>\n```\n\n## Advanced Features\n\n### Tab Sorting\n\nEnable drag-and-drop tab reordering with the `sortable` prop:\n\n```vue\n<router-tab \n  :sortable=\"true\"\n  @tab-sort=\"onTabSort\"\n  @tab-sorted=\"onTabSorted\"\n/>\n```\n\n\n\n### Persistence Options\n\nFine-grained control over tab persistence:\n\n```vue\n<router-tab \n  :persistence=\"{\n    cookieKey: 'my-app-tabs',\n    storage: 'localStorage',\n    debounceMs: 100,\n    expiresInDays: 30,\n    fallbackRoute: '/dashboard',\n    serialize: (snapshot) => btoa(JSON.stringify(snapshot)),\n    deserialize: (data) => JSON.parse(atob(data))\n  }\"\n/>\n```\n\n## Customising the Context Menu\n\n```vue\n<router-tab\n  :contextMenu=\"[\n    'refresh',\n    'close',\n    { id: 'closeOthers', label: 'Close All Others' },\n    {\n      id: 'openWindow',\n      label: 'Open in new window',\n      handler: ({ target }) => window.open(target.to, '_blank')\n    }\n  ]\"\n/>\n```\n\nPass `false` to disable the context menu entirely.\n\n### Built-in Menu Items\n\n- `refresh` - Refresh current tab\n- `refreshAll` - Refresh all tabs  \n- `close` - Close current tab\n- `closeLefts` - Close tabs to the left\n- `closeRights` - Close tabs to the right\n- `closeOthers` - Close all other tabs\n\n## Programmatic API\n\nAccess the router tabs controller to programmatically manage tabs.\n\n### Using the Composable\n\n```vue\n<script setup>\nimport { useRouterTabs } from 'vue3-router-tab'\n\nconst tabs = useRouterTabs()\n\n// Available methods\ntabs.openTab('/users')              // Open a tab\ntabs.closeTab(tabId)                // Close a specific tab\ntabs.refreshTab(tabId)              // Refresh a tab\ntabs.refreshAll()                   // Refresh all tabs\ntabs.closeAll()                     // Close all tabs\ntabs.closeOthers(tabId)             // Close all except specified tab\n</script>\n```\n\n### Using Global Property\n\n```vue\n<script setup>\nimport { getCurrentInstance } from 'vue'\n\nconst instance = getCurrentInstance()\nconst tabs = instance?.appContext.config.globalProperties.$tabs\n\n// Same methods available\ntabs?.openTab('/dashboard')\ntabs?.refreshTab('users-123')\n</script>\n```\n\n### Controller Methods\n\n| Method | Parameters | Description |\n|--------|------------|-------------|\n| `openTab(to, active?, replace?)` | Route location, activate flag, replace flag | Open or activate a tab |\n| `closeTab(id, options?)` | Tab ID, close options | Close a specific tab |\n| `refreshTab(id, force?)` | Tab ID, force flag | Refresh tab component |\n| `refreshAll(force?)` | Force flag | Refresh all tabs |\n| `closeAll(options?)` | Close options | Close all closable tabs |\n| `closeOthers(id, options?)` | Tab ID, options | Close all tabs except specified |\n| `removeTab(id, options?)` | Tab ID, options | Remove tab without navigation |\n\n### Example: Custom Tab Controls\n\n```vue\n<template>\n  <div>\n    <button @click=\"openDashboard\">Open Dashboard</button>\n    <button @click=\"refreshCurrent\">Refresh Current</button>\n    <button @click=\"closeAllTabs\">Close All</button>\n  </div>\n</template>\n\n<script setup>\nimport { useRouterTabs } from 'vue3-router-tab'\nimport { useRoute } from 'vue-router'\n\nconst tabs = useRouterTabs()\nconst route = useRoute()\n\nfunction openDashboard() {\n  tabs.openTab('/dashboard', true)\n}\n\nfunction refreshCurrent() {\n  const currentTab = tabs.tabs.find(t => t.to.path === route.path)\n  if (currentTab) {\n    tabs.refreshTab(currentTab.id, true)\n  }\n}\n\nfunction closeAllTabs() {\n  tabs.closeAll({ force: true })\n}\n</script>\n```\n\n### Tab State Access\n\n```vue\n<script setup>\nimport { useRouterTabs } from 'vue3-router-tab'\n\nconst controller = useRouterTabs()\n\n</script>\n```\n\n## Events\n\nRouterTab emits events for tab interactions.\n\n### Available Events\n\n| Event | Payload | Description |\n|-------|---------|-------------|\n| `tab-sort` | `{ tab, index }` | Fired when tab drag starts |\n| `tab-sorted` | `{ tab, fromIndex, toIndex }` | Fired when tab is dropped in new position |\n\n### Usage Example\n\n```vue\n<template>\n  <router-tab \n    @tab-sort=\"onTabSort\"\n    @tab-sorted=\"onTabSorted\"\n  />\n</template>\n\n<script setup>\nfunction onTabSort({ tab, index }) {\n  console.log('Dragging tab:', tab.title, 'from index:', index)\n}\n\nfunction onTabSorted({ tab, fromIndex, toIndex }) {\n  console.log('Tab moved:', tab.title)\n  console.log('From:', fromIndex, 'To:', toIndex)\n  \n  // Save new order to backend\n  saveTabOrder(tab, toIndex)\n}\n</script>\n```\n\n## Slots\n\n- `start` / `end` – positioned on either side of the tab list (ideal for toolbars or the `<router-tabs>` helper).\n- `default` – routed content (rendered automatically by `<router-tab>`).\n\n## Styling\n\nThe package ships with its own CSS bundle (imported automatically). Override CSS custom properties or the `router-tab__*` classes to customize the appearance.\n\n### CSS Custom Properties\n\n```css\n:root {\n  /* Layout */\n  --router-tab-header-height: 48px;\n  --router-tab-sticky-top: 0px;\n  --router-tab-header-z-index: 10;\n  --router-tab-padding: 16px;\n  --router-tab-font-size: 14px;\n  \n  /* Colors */\n  --router-tab-primary: #0f172a;\n  --router-tab-background: #ffffff;\n  --router-tab-text: #334155;\n  --router-tab-border: #e2e8f0;\n  --router-tab-active-background: #0f172a;\n  --router-tab-active-text: #ffffff;\n  \n  /* Icons & Buttons */\n  --router-tab-icon-color: #64748b;\n  --router-tab-button-background: #f1f5f9;\n  --router-tab-button-color: #0f172a;\n}\n```\n\nWhen `router-tab` is rendered below a fixed app header, set `--router-tab-sticky-top` so the sticky bar locks beneath that header instead of sliding under it:\n\n```vue\n<router-tab class=\"app-router-tab\" />\n```\n\n```css\n.app-router-tab {\n  --router-tab-sticky-top: var(--v-layout-top, 0px);\n}\n```\n\n### Custom Styles Example\n\n```css\n/* Change tab height */\n.router-tab__header {\n  height: 56px;\n}\n\n/* Custom tab hover effect */\n.router-tab__item:hover {\n  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n  color: white;\n}\n\n/* Custom active tab */\n.router-tab__item.is-active {\n  background: #4f46e5;\n  border-radius: 8px 8px 0 0;\n}\n\n/* Custom close button */\n.router-tab__item-close {\n  border-radius: 4px;\n}\n\n/* Dark theme adjustments */\n[data-theme=\"dark\"] .router-tab {\n  --router-tab-background: #1e293b;\n  --router-tab-text: #f1f5f9;\n  --router-tab-border: #334155;\n}\n```\n\n## Types\n\n```ts\nimport type { TabRecord, RouterTabsSnapshot, RouterTabsPersistenceOptions } from 'vue3-router-tab'\n```\n\n## Examples\n\nCheck out the [example-app](./example-app) directory for comprehensive demos including:\n\n- **Basic Usage** - Simple tab navigation\n- **Dynamic Titles** - Reactive tab title updates ([/title-test](./example-app/src/views/TitleTestDemo.vue))\n- **Transitions** - All 7 transition effects ([/transition-demo](./example-app/src/views/TransitionDemo.vue))\n- **Composables** - Using helper composables ([/composable-demo](./example-app/src/views/ComposableDemo.vue))\n- **Advanced Features** - Sorting, context menus, persistence\n\n### Run Examples\n\n```bash\ncd example-app\nnpm install\nnpm run dev\n```\n\n## Troubleshooting\n\n### Tab titles not updating\n\n**Problem**: Tab title doesn't change when component state updates.\n\n**Solution**: Ensure you're using reactive refs or computed properties:\n\n```vue\n<!-- ✅ Correct -->\n<script setup>\nconst routeTabTitle = ref('My Page')  // Reactive\n</script>\n\n<!-- ❌ Wrong -->\n<script setup>\nconst routeTabTitle = 'My Page'  // Plain string - won't update\n</script>\n```\n\n### Transitions not working\n\n**Problem**: Page transitions don't show when refreshing tabs.\n\n**Solution**: Make sure you're not using a custom default slot that overrides transitions. Remove the custom slot or include transition components:\n\n```vue\n<!-- ✅ Default behavior with transitions -->\n<router-tab page-transition=\"router-tab-fade\" />\n\n<!-- ❌ Custom slot without transitions -->\n<router-tab>\n  <template #default=\"{ Component }\">\n    <component :is=\"Component\" />  <!-- No transition! -->\n  </template>\n</router-tab>\n\n<!-- ✅ Custom slot with transitions -->\n<router-tab>\n  <template #default=\"{ Component }\">\n    <transition name=\"router-tab-fade\" mode=\"out-in\">\n      <component :is=\"Component\" />\n    </transition>\n  </template>\n</router-tab>\n```\n\n### Tabs not persisting on refresh\n\n**Problem**: Tabs are lost when refreshing the browser.\n\n**Solution**: Add the `cookie-key` prop:\n\n```vue\n<router-tab cookie-key=\"my-app-tabs\" />\n```\n\nCheck that cookies are enabled in the browser and not being blocked.\n\n### KeepAlive not working\n\n**Problem**: Component state is lost when switching tabs.\n\n**Solution**: Ensure `:keep-alive=\"true\"` (default) and components are properly keyed:\n\n```ts\n// In router config\nmeta: {\n  keepAlive: true,  // Enable for this route\n  key: 'fullPath'   // Unique key per instance\n}\n```\n\n### TypeScript errors\n\n**Problem**: TypeScript shows errors for router tab properties.\n\n**Solution**: Import types and use them:\n\n```ts\nimport type { TabRecord, RouterTabsOptions } from 'vue3-router-tab'\n\nconst options: RouterTabsOptions = {\n  keepAlive: true,\n  maxAlive: 10\n}\n```\n\n## Browser Support\n\n- Chrome/Edge ≥ 90\n- Firefox ≥ 88\n- Safari ≥ 14\n- Modern mobile browsers\n\n## Contributing\n\nContributions are welcome! Please read the [contributing guidelines](CONTRIBUTING.md) first.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nMIT\n\n---\n\nMade with ❤️ by the Vue community\n","readmeFilename":"README.md"}