{"_id":"@aiko-lab/sweep","_rev":"13-525e8d9fc724d51e3d7d04db0d266482","name":"@aiko-lab/sweep","dist-tags":{"latest":"1.3.2"},"versions":{"1.0.0":{"name":"@aiko-lab/sweep","version":"1.0.0","keywords":["sheet"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.0","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"27648a2893ece3619e7f21d6f8d3a0557ec2545d","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.0.tgz","fileCount":21,"integrity":"sha512-r+x1uY4QRm+meugT8AJdEsVuu685d5Sjy8PDSvmtlOLPxAxeRJ1x+N+WplNDkMVHTsUJ6zmiPa+slT5OGI/H7g==","signatures":[{"sig":"MEUCIFTR2Zn9qjDsaJRPI5XitJYQavanAUa7fnfqjhJ71w2qAiEAy6GrZKktSg0onMVl26kPpTglMq8hKytKuS6IRVuN0IY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302791},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"test":"echo \"Error: no test specified\" && exit 1","rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"rollup":"^4.28.1"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.0.0","tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.0_1734221007970_0.3499567059081674","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aiko-lab/sweep","version":"1.0.1","keywords":["sheet"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.1","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"644068ec464bd58f8fe2bc880a730a97c62afd1e","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.1.tgz","fileCount":21,"integrity":"sha512-rqaQQp/PV18/VH1+3Q17WdNu2tibqV4bMlHqzl64lyOJZ2pn2FZjff6XDQXOVw2gxXEaTJpS43H/e6iHL1IbMQ==","signatures":[{"sig":"MEYCIQCo36RrKJTUQ50evorj4N3xmqHXeD+4lUT6kO/QpXpJggIhAOEHO7FljGvpc1Bz5KzFpalukUVaOOUBfZaupJC85v1x","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302819},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"test":"echo \"Error: no test specified\" && exit 1","rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.1_1734221695884_0.3799598113548599","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@aiko-lab/sweep","version":"1.0.2","keywords":["sheet"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.2","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"a2193026075a556e4acd241e82a9d5425be13b16","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.2.tgz","fileCount":21,"integrity":"sha512-zevyBAODD1PLpQl8Twf94LyTaYh2irhDqTzyKFrOwVh3XPTe4t6+lz3nDwFOzIEq2OUa04eIusDIBrvfW6q8Pg==","signatures":[{"sig":"MEUCIHfskutE9mJ2bF7EAXhz71dCgukNo5AzvLpIxP1UIWPzAiEAgwHn1pl7tYZttxYLvzxvL0XZVaHUAwphUNMLSMg/3Gw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302776},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"test":"echo \"Error: no test specified\" && exit 1","rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.2_1734223151467_0.40822150195032414","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@aiko-lab/sweep","version":"1.0.3","keywords":["sheet"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.3","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"f35698ff39b865bfd4f171e11315e4c6cba1bd9e","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.3.tgz","fileCount":21,"integrity":"sha512-IKft70Tea/ZAMkKaIAjYUeqnOzdlWkoerRCHzpWVnyKXEsmTt28smL3zkHznreViWUgfM1rBFr8Ir4v8ZHOtOQ==","signatures":[{"sig":"MEUCIQDOfAkE+mgr4Y5QjdaHVTwwxMwhXQoFRSSI/BcZeKP62AIgNSzRbW4A0ZxsWaygvzLXxLUJuMQRh9LoNvWsOC/6svs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302781},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"test":"echo \"Error: no test specified\" && exit 1","rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.3_1734223595658_0.4949984563964527","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@aiko-lab/sweep","version":"1.0.4","keywords":["sheet"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.4","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"eb9c1fbeba4c1ff12c9b88d28ef14af54d49e32f","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.4.tgz","fileCount":21,"integrity":"sha512-u59st1LR9IaCTBWuKCCpLwqXNO0d72fI2jRnjWjlBiQOigsLYOJVEziNosBE4rlXsyOBSvoncTfG3m2EnVQx3g==","signatures":[{"sig":"MEQCIE+vbgKSK9c+0L1kJo5RSfmGzQykzkMeOBqXfy6yw/maAiBTx1coRUhPdfbGu90Y7vNZNA3rbusn38oUjfnC1V0RHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":348809},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"test":"echo \"Error: no test specified\" && exit 1","rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.4_1734224099978_0.03969557918586686","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@aiko-lab/sweep","version":"1.0.5","keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.5","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"8d775b249b7891559e05d117f5f1b3fb7371dd88","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.5.tgz","fileCount":7,"integrity":"sha512-cGKLz0zrKpWi3VqMnXkT9FfX9Xmhqn4aLa51udU/l92v+ZFG7eNeF72T3N5XNKotxLytot5cp+jEOg/Gsnjz5A==","signatures":[{"sig":"MEUCIQCnrDvXxY/FL6IA833u6z5SclkclqvnKQIwmWvAA+vV4wIgeIdVK4TAwiT2VbDHE7NtJsbPLVdKXNH/bk2s76TtGFI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":267589},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.5_1734258010179_0.8906057367007236","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@aiko-lab/sweep","version":"1.0.6","keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.6","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"82d0fc6d4d05f63325218716ce3fce61bcd2ad93","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.6.tgz","fileCount":7,"integrity":"sha512-oqWX5IAcyHwn7m80U1jY1fd3NFHy3K2caDyNXpYauRSgKLS+Zg9NPQLpFTpCBKMZtVqpIy4Jt4u+eXIsAkAh7Q==","signatures":[{"sig":"MEQCIDBO6md3B4mOTvLyjZTZzIdx0SkhAe8ZrwI5Hoc0yo6sAiBokMf7Goqm9J7XQjzQ0WTaHb3OKm6PW0IUBO9bGFrlDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":267602},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.6_1734258224156_0.46482876630115766","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@aiko-lab/sweep","version":"1.0.7","keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.0.7","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"24738a57d04629412b0988cc74d1044572af8c1a","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.0.7.tgz","fileCount":6,"integrity":"sha512-b7zccX1b+COPhHBP+7/OmcvIIuGL2nYasQOGjJCIZ5QbX9BPfMWkVWHeG2kIp6T5+Zi4OVfdgojC2MVXliAuqQ==","signatures":[{"sig":"MEQCIFLHi1+8olSRhR8EAVw4X2Ej6ACtObI1dUHvBVO6VVr2AiAC4zjIeo+9N/Cqkhsrs+PBaTQrWeO8riXKr2lOYs+ykg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":290109},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"d44bb903911f430b63e99d61110c4bf094134990","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.0.7_1734258666502_0.6885856332315043","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@aiko-lab/sweep","version":"1.1.0","keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.1.0","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"2a2d60a348873d57c7a431420845a51d24084426","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.1.0.tgz","fileCount":7,"integrity":"sha512-2R6sQeIKsJKS8EveArZ9lerKlhqSbdEh2o0I2d5y2WeDu9p2Y3nUbiwYGVKvyqaj4U8CnjoNYgq/ZteiJbmOZA==","signatures":[{"sig":"MEUCIA5Hlbp2smvxm40l0jeUH7jbf4+zTOLcfMmsehhy1v6EAiEA4PYNVyeqmrxG1/Y3Om1BeBNBywtLmSi9ugachG/wFD8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":298401},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"af2d4781385b5d0348a51c73cdb34467be02a979","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.1.0_1734274420776_0.9129741158301052","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@aiko-lab/sweep","version":"1.2.0","keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.2.0","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"3ade1d233e286aa7fd65aeab8b8ef47799418852","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.2.0.tgz","fileCount":7,"integrity":"sha512-t/jWgH/Mna+8aWBtN/Ac4AJEHQhgk37RYM5PXzoTr1mjw1qYmTQvQbiHlhgrJTrsi99b0Cm7tta4s4ApPBw+Jw==","signatures":[{"sig":"MEUCIQD8fuLupeycP515BTJ0x+Bq6MmOeOn9mHvYKbhBcnbM0wIgbZOqJ9m7JT1LTdRJ+CFi/EZO8iM9p1FDcFSn1vv3/Vc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":275525},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"b1fa6c70fc3363f6ab85b90dbf7b66cb51c5c51f","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.2.0_1734728298707_0.62683389997592","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@aiko-lab/sweep","version":"1.2.1","keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.2.1","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"2a059e502853bf12bfcd010d26617e473213e008","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.2.1.tgz","fileCount":7,"integrity":"sha512-hUBPCbI4mPFj54vZLP1A7m2TmL0RF2Q4v8hrJoPs2a9O7o1emNqr7ERH/rvRjkOiycZ7JAm9pNaBkoeP+yua3Q==","signatures":[{"sig":"MEYCIQDV4mbFKeCrLUJvWuZW5tzsq8esMa+0Nr/MOXIc5/eBywIhAPLw7ZtX63P80egHuUHE+KZ6sOVshrZ48gmpG674nAwE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":275531},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"050924b26000922672c2e84db941f6a1de1ebfdf","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"10.5.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"20.12.2","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.2.1_1734728635772_0.3989199171434792","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@aiko-lab/sweep","version":"1.3.0","keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","_id":"@aiko-lab/sweep@1.3.0","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"homepage":"https://github.com/user-aiko/sweep#readme","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"dist":{"shasum":"414fa7de537439082182e81f80fef0b837bc29cf","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.3.0.tgz","fileCount":7,"integrity":"sha512-fNXYTTCIeUiedmkOPpxej4cEaZMlf/uCWS0qeWBIxN8htM04mpoVihgih/BSY238DctHRnifgqz7bzMzioSxaA==","signatures":[{"sig":"MEQCIA4w0hY9y4a6TT9r+IGugjhl7jWXLGNxmmhEFSVKJDq0AiAF+l2KgxSR5Y64VVkNSLZT7XCk9Qc7NneaAkN/lDdqlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":278250},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","gitHead":"050924b26000922672c2e84db941f6a1de1ebfdf","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"repository":{"url":"git+https://github.com/user-aiko/sweep.git","type":"git"},"_npmVersion":"11.0.0","description":"Sweep is a slide-up panel for displaying additional content.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"react":"^19.0.0","rollup":"^4.28.1","react-dom":"^19.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","typescript":"^5.7.2","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-typescript":"^12.1.1","@rollup/plugin-node-resolve":"^15.3.0","rollup-plugin-peer-deps-external":"^2.2.4"},"_npmOperationalInternal":{"tmp":"tmp/sweep_1.3.0_1738005034234_0.1575426998099998","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@aiko-lab/sweep","version":"1.3.2","description":"Sweep is a slide-up panel for displaying additional content.","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","scripts":{"rollup":"rollup -c --bundleConfigAsCjs"},"repository":{"type":"git","url":"git+https://github.com/user-aiko/sweep.git"},"keywords":["sheet","react","sweep"],"author":{"name":"aiko"},"license":"ISC","bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"homepage":"https://github.com/user-aiko/sweep#readme","devDependencies":{"@rollup/plugin-commonjs":"^28.0.1","@rollup/plugin-node-resolve":"^15.3.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.1.1","@types/react":"^19.0.1","rollup-plugin-dts":"^6.1.1","rollup-plugin-peer-deps-external":"^2.2.4","tslib":"^2.8.1","typescript":"^5.7.2"},"dependencies":{"react":"^19.0.0","react-dom":"^19.0.0","rollup":"^4.28.1"},"gitHead":"8f999e9b365bdb6e2698f29fe540ab4a24c48e9e","_id":"@aiko-lab/sweep@1.3.2","_nodeVersion":"22.13.1","_npmVersion":"11.6.4","dist":{"integrity":"sha512-ytRJycbf/mH5g/IPyN9xyvTPbLhCFZ/2sETM9yW+sG9lgLRLR/w6P0PeRCrwiS938dwE9x4f4wyA0YB8jiarVA==","shasum":"2085a4d4cdbbfceedff9832b608aa61b1efe0dbd","tarball":"https://registry.npmjs.org/@aiko-lab/sweep/-/sweep-1.3.2.tgz","fileCount":7,"unpackedSize":281100,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCSy1ToK4QumHKwgOgfkq3HacTjCOqrjzsmXJWERFWlQwIhAOMJl7eBLKfSgI+1wPsMPoAW9GfHNKotkrFfuicW03SC"}]},"_npmUser":{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"},"directories":{},"maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sweep_1.3.2_1765113734028_0.7100157301644232"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-15T00:03:27.889Z","modified":"2025-12-07T13:22:14.442Z","1.0.0":"2024-12-15T00:03:28.194Z","1.0.1":"2024-12-15T00:14:56.062Z","1.0.2":"2024-12-15T00:39:11.711Z","1.0.3":"2024-12-15T00:46:35.829Z","1.0.4":"2024-12-15T00:55:00.216Z","1.0.5":"2024-12-15T10:20:10.351Z","1.0.6":"2024-12-15T10:23:44.319Z","1.0.7":"2024-12-15T10:31:06.697Z","1.1.0":"2024-12-15T14:53:40.949Z","1.2.0":"2024-12-20T20:58:18.919Z","1.2.1":"2024-12-20T21:03:55.999Z","1.3.0":"2025-01-27T19:10:34.557Z","1.3.2":"2025-12-07T13:22:14.242Z"},"bugs":{"url":"https://github.com/user-aiko/sweep/issues"},"author":{"name":"aiko"},"license":"ISC","homepage":"https://github.com/user-aiko/sweep#readme","keywords":["sheet","react","sweep"],"repository":{"type":"git","url":"git+https://github.com/user-aiko/sweep.git"},"description":"Sweep is a slide-up panel for displaying additional content.","maintainers":[{"name":"a1ko","email":"idrissiayoubidrissi@gmail.com"}],"readme":"<h1 align=\"center\">\n  Sweep\n</h1>\n\n<p align=\"center\">\n  A minimal slide-up panel for <a href=\"https://react.dev\" target=\"_blank\">React 18/19</a>.\n  <br/>\n  <a href=\"https://lab.ai-ko.dev/sweep\" target=\"_blank\">Live preview</a> • <a href=\"https://lab.ai-ko.dev/sweep/docs\" target=\"_blank\">Full docs</a>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://i.imgur.com/ADXVkJJ.gif\" alt=\"Sweep preview\" width=\"600\" />\n</p>\n\n<p align=\"center\">\n  <a href=\"#why-sweep\">Why Sweep</a> •\n  <a href=\"#installation\">Installation</a> •\n  <a href=\"#quick-start\">Quick start</a> •\n  <a href=\"#api-reference\">API reference</a> •\n  <a href=\"#styling--theming\">Styling</a> •\n  <a href=\"#local-playground\">Playground</a>\n</p>\n\n---\n\n## Why Sweep\n\n- **Drop-in experience** – Wrap your app once with `SweepWrapper`, call `useSweep()` anywhere, and you have a polished bottom sheet with portals, layering, and scroll locking handled for you.\n- **Fluid animations** – Native `Element.animate` timelines drive the open/close/replace transitions, including blur, scale, and async switching when you call `open` twice with different keyed nodes.\n- **Touch-native gestures** – Drag to dismiss, configurable snap point, optional body-blocking, and safeguards for iOS Safari quirks (`usePreventScroll`) ship built-in.\n- **Configurable but tiny** – Toggle blur, border radius, outside-click behavior, or entirely disable gestures without pulling in CSS frameworks.\n- **React 18/19 ready** – Zero dependency on legacy lifecycles, works in SPA or app-router setups, SSR-safe wrapper (hook throws if used outside the provider so bugs show up fast).\n\n---\n\n## Installation\n\n```bash\nnpm install @aiko-lab/sweep\n# or\nyarn add @aiko-lab/sweep\n# or\npnpm add @aiko-lab/sweep\n```\n\nPeer deps: `react` and `react-dom` ≥ 18 (the library is authored against 19). No CSS files to import.\n\n---\n\n## Quick start\n\n1. **Wrap your root**\n\n```tsx\nimport { SweepWrapper } from \"@aiko-lab/sweep\";\n\nexport function RootLayout({ children }: { children: React.ReactNode }) {\n  return (\n    <SweepWrapper\n      backgroundColor=\"rgb(12, 12, 12)\" // panel background\n      foregroundColor=\"black\" // app background when sheet is open\n    >\n      {children}\n    </SweepWrapper>\n  );\n}\n```\n\n2. **Summon Sweep anywhere**\n\n```tsx\nimport { useSweep } from \"@aiko-lab/sweep\";\n\nexport function CheckoutButton() {\n  const sweep = useSweep(\n    {\n      blur: true,\n      clickBodyToClose: true,\n      snapPoint: 96, // px threshold before drag-to-close fires\n    },\n    {\n      onToggle: (isOpen) => console.log(\"Sheet open?\", isOpen),\n      onSwitch: (prev, next) => console.log(\"Swapped\", prev, \"→\", next),\n    }\n  );\n\n  return (\n    <button\n      onClick={() =>\n        sweep.open(\n          <CheckoutSheet key=\"checkout\">\n            {/* Important: provide a stable key for switch animations */}\n          </CheckoutSheet>\n        )\n      }\n    >\n      Review order\n    </button>\n  );\n}\n```\n\n3. **Close or replace**\n\n```tsx\nconst sheet = useSweep();\n\nsheet.open(<Success key=\"success\" />);\nsheet.close();\n```\n\nEach call to `open` with a new keyed element animates from the old sheet to the new one. Calling `open` with the same key is ignored to avoid flicker.\n\n---\n\n## API reference\n\n### `SweepWrapper`\n\nWrap **exactly once** as high in the tree as possible (typically `_app.tsx`, `layout.tsx`, or `App`). It provides context, handles layering, and paints the overlay behind your UI.\n\n| Prop                  | Type        | Default     | Description                                                                           |\n| --------------------- | ----------- | ----------- | ------------------------------------------------------------------------------------- |\n| `children`            | `ReactNode` | —           | Your application. Gets re-parented under a transformable container.                   |\n| `backgroundColor`     | `string`    | `undefined` | Color for the **overlay** (panel area). Useful for subtle scrims (`rgba(0,0,0,.65)`). |\n| `foregroundColor`     | `string`    | `undefined` | Color for the **app surface** while the sheet is open (helps create contrast).        |\n| `backgroundClassName` | `string`    | `undefined` | Tailwind / CSS class applied to the overlay.                                          |\n| `foregroundClassName` | `string`    | `undefined` | Tailwind / CSS class applied to the app container.                                    |\n\nWhen `clickBodyToClose` is enabled at the hook level, clicking the foreground (body) triggers `close` automatically.\n\n### `useSweep(config?, callbacks?)`\n\nReturns `{ open(element: ReactNode), close(): void }`. Must be called inside a descendant of `SweepWrapper`.\n\n#### Config (all optional)\n\n| Key                  | Type      | Default | Notes                                                                  |\n| -------------------- | --------- | ------- | ---------------------------------------------------------------------- |\n| `blur`               | `boolean` | `false` | Adds a 10px blur during open/close and content switches.               |\n| `disableTouchEvents` | `boolean` | `false` | Turns off drag-to-close so only programmatic control remains.          |\n| `blockBodyClick`     | `boolean` | `false` | Disables pointer events on the foreground (underlying app) while open. |\n| `clickBodyToClose`   | `boolean` | `false` | Tap anywhere outside the sheet to close.                               |\n| `borderRadius`       | `number`  | `20`    | Radius applied to the app container when the sheet is revealed.        |\n| `snapPoint`          | `number`  | `50`    | Pixel offset required before releasing a drag closes the sheet.        |\n\nEach `open` call captures the config at call time, so you can vary behavior per sheet (e.g., disable gestures for a payment flow but allow them for a menu).\n\n#### Callbacks\n\n| Callback   | Signature                                    | When it fires                                                        |\n| ---------- | -------------------------------------------- | -------------------------------------------------------------------- |\n| `onToggle` | `(isOpen: boolean) => void`                  | Every time the sheet opens or closes (after React state flips).      |\n| `onSwitch` | `(prev: ReactNode, next: ReactNode) => void` | Right before a content swap animation triggers. Great for analytics. |\n\n#### Methods\n\n| Method                  | Description                                                                                                               |\n| ----------------------- | ------------------------------------------------------------------------------------------------------------------------- |\n| `open(node: ReactNode)` | Mounts the node inside the sheet. Give each node a **stable `key`** so Sweep can tell when you intend to switch vs reuse. |\n| `close()`               | Starts the closing animation and unmounts the sheet content afterward.                                                    |\n\n---\n\n## Styling & theming\n\n- **Colors** – Prefer plain CSS colors via `backgroundColor`/`foregroundColor` for simple setups. If you already use Tailwind, pass `backgroundClassName=\"bg-black/80 backdrop-blur\"` and `foregroundClassName=\"bg-gray-950 text-white\"`.\n- **Layout** – The sheet itself renders exactly what you pass. Bring your own padding, rounded corners, shadows, etc.\n- **Responsive behavior** – Combine `snapPoint` with responsive logic: `const snap = window.innerHeight * 0.25` to mimic native iOS sheets, or disable touch events on desktop entirely.\n- **Scroll locking** – `usePreventScroll` kicks in automatically when the sheet is open. Inputs keep focus on iOS/Safari thanks to the borrowed Spectrum workaround; no extra config needed.\n\n---\n\n## Patterns & tips\n\n- **Nested flows** – Chain `open` calls with different keys to build multi-step flows. Sweep animates between states without closing.\n- **Imperative handles** – The hook returns plain functions, so you can stash them in refs or state machines easily.\n- **Server components** – Only the `SweepWrapper` lives near the root; the hook itself is a client-only helper. In Next.js app router, wrap inside a client layout.\n- **Accessibility** – Focus stays inside your content because the rest of the document is scroll-locked and pointer-blocked when configured. Provide focus traps if your sheet hosts forms/dialogs.\n- **Performance** – Animations rely on the Web Animations API for 60fps transforms. Keep your sheet subtree small (lazy-load heavy content right before calling `open`).\n\n---\n\n## Local playground\n\nThe `/test` folder contains a Vite demo used to dogfood Sweep.\n\n```bash\ncd test\nnpm install\nnpm run dev\n```\n\nThis runs the example shown in the GIF (multi-step sheet with Lucide icons). Point the playground to your local `src` by keeping the relative import `../../src`.\n\n---\n\n## Troubleshooting\n\n- **“useMyContext must be used within a MyProvider”** – You called `useSweep` outside of `SweepWrapper`. Wrap higher or export helper components that consume the hook internally.\n- **Drag dismiss feels too sensitive** – Increase `snapPoint`, or set `disableTouchEvents: true` for that sheet.\n- **Need to close on route change** – Call `const sheet = useSweep(); useEffect(() => sheet.close(), [pathname]);`.\n- **Animations not running in tests** – Mock `Element.animate` in your Jest/Vitest setup since JSDOM doesn’t implement it by default.\n\n---\n\n## You may also like\n\n- [Aiko Lab](https://lab.ai-ko.dev/) – UI components and experiments.\n- [Articles](https://article.ai-ko.dev/) – Interactive write-ups from the same author.\n\n---\n\n## License\n\nMIT © [ai-ko.dev](https://www.ai-ko.dev) · Twitter [@username_aiko](https://twitter.com/username_aiko)\n","readmeFilename":"README.md"}