{"_id":"@asafarim/sidebar","_rev":"8-f2e725d5abfe205a9f2058b004e3f5c0","name":"@asafarim/sidebar","dist-tags":{"latest":"1.2.0"},"versions":{"1.1.2":{"name":"@asafarim/sidebar","version":"1.1.2","keywords":["react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","_id":"@asafarim/sidebar@1.1.2","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"homepage":"https://github.com/AliSafari-IT/asafarim-webapp/tree/main/packages/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/asafarim-webapp/issues"},"dist":{"shasum":"f06c3658d48f32b784284a096b34099cb4edd0d3","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.1.2.tgz","fileCount":10,"integrity":"sha512-I1Nv710jiajiX+H5hePM7J3ubBov6JZSVtHamp3cZtQaiXCaIiJE0gKBNPl/AwJr+sEGv+I0gS45hbyHionoRQ==","signatures":[{"sig":"MEQCIF5TpCCWIC58+4fZ9u5vzPlY1NqlYqInOkcGgb2FxGuJAiB2UhhxGbZjBNSCnKExNPNyVOyCjay9Hg+3/hG4d4dSlw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":308857},"main":"dist/index.js","type":"module","_from":"file:asafarim-sidebar-1.1.2.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"dev":"rollup -c -w","build":"rollup -c"},"_npmUser":{"name":"asafarim.be","actor":{"name":"asafarim.be","type":"user","email":"asafarim.it@gmail.com"},"email":"asafarim.it@gmail.com"},"_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\99dd92ab055d5a74cb7c9981faf9337b\\asafarim-sidebar-1.1.2.tgz","_integrity":"sha512-I1Nv710jiajiX+H5hePM7J3ubBov6JZSVtHamp3cZtQaiXCaIiJE0gKBNPl/AwJr+sEGv+I0gS45hbyHionoRQ==","repository":{"url":"git+https://github.com/AliSafari-IT/asafarim-webapp.git","type":"git","directory":"packages/sidebar"},"_npmVersion":"10.8.2","description":"A collapsible sidebar component for React applications","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-postcss":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sidebar_1.1.2_1752151945379_0.7770569464931949","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@asafarim/sidebar","version":"1.1.3","keywords":["react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","_id":"@asafarim/sidebar@1.1.3","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"homepage":"https://github.com/AliSafari-IT/asafarim-webapp/tree/main/packages/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/asafarim-webapp/issues"},"dist":{"shasum":"8abfafad1d0de83192d61f3ad067a626daecd0ab","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.1.3.tgz","fileCount":10,"integrity":"sha512-n3CY3/2eE5CF3k+wAKFiYbThOe0uVX9oTQVfBhX2Sv5N9R3GaUWiSsDSrAa+upUpSzv2K3jKXs3z2xLola501g==","signatures":[{"sig":"MEUCIAonvR9FDak1lFd4jTr9lFkTIQgGp8tBqYAupdxjQpnUAiEAuj0GP4nCH5KuVbg3ayoL1JK9dNr4n4hXXfM9uDjWXyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":312503},"main":"dist/index.js","type":"module","_from":"file:asafarim-sidebar-1.1.3.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"all":"pnpm i && pnpm run build","dev":"rollup -c -w","demo":"pnpm build && cd demo && pnpm run build && pnpm dev","build":"rollup -c"},"_npmUser":{"name":"asafarim.be","email":"asafarim.it@gmail.com"},"_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\89d0fbfd422705f7377fba9e9a741526\\asafarim-sidebar-1.1.3.tgz","_integrity":"sha512-n3CY3/2eE5CF3k+wAKFiYbThOe0uVX9oTQVfBhX2Sv5N9R3GaUWiSsDSrAa+upUpSzv2K3jKXs3z2xLola501g==","repository":{"url":"git+https://github.com/AliSafari-IT/asafarim-webapp.git","type":"git","directory":"packages/sidebar"},"_npmVersion":"11.4.2","description":"A collapsible sidebar component for React applications","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-postcss":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sidebar_1.1.3_1752237214399_0.003413025470535347","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@asafarim/sidebar","version":"1.1.4","keywords":["asafarim","react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","_id":"@asafarim/sidebar@1.1.4","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"homepage":"https://github.com/AliSafari-IT/asafarim-webapp/tree/main/packages/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/asafarim-webapp/issues"},"dist":{"shasum":"c2739979cc82391fe0cdbfada39ed5d9ab292385","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.1.4.tgz","fileCount":81,"integrity":"sha512-Av3vncjY6d/PQXDzWznY1Iz8olYlGeM2v/PpYkJCTnp/H4YPx+ntesqA2bqyNCUHrp4WoHI/lxr9Bfqpxbydpw==","signatures":[{"sig":"MEUCIQDy1818leatHSTHmGqOJjhyN7pviGQrIQwyAEgQhtAoOgIgaB2nBnZ8YUDrlvU0rtWbWFkDcqAkU7cI6a91ICATQ3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34780674},"main":"dist/index.js","type":"module","_from":"file:asafarim-sidebar-1.1.4.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"all":"pnpm i && pnpm run build","dev":"rollup -c -w","demo":"pnpm build && cd demo && pnpm run build && pnpm dev","build":"rollup -c"},"_npmUser":{"name":"asafarim.be","email":"asafarim.it@gmail.com"},"_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\0f323ab5bf34d0514938495a3e6a5818\\asafarim-sidebar-1.1.4.tgz","_integrity":"sha512-Av3vncjY6d/PQXDzWznY1Iz8olYlGeM2v/PpYkJCTnp/H4YPx+ntesqA2bqyNCUHrp4WoHI/lxr9Bfqpxbydpw==","repository":{"url":"git+https://github.com/AliSafari-IT/asafarim-webapp.git","type":"git","directory":"packages/sidebar"},"_npmVersion":"11.4.2","description":"A collapsible sidebar component for React applications","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-postcss":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sidebar_1.1.4_1752237633321_0.7191732841447152","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@asafarim/sidebar","version":"1.1.5","keywords":["asafarim","react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","_id":"@asafarim/sidebar@1.1.5","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"homepage":"https://github.com/AliSafari-IT/asafarim-webapp/tree/main/packages/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/asafarim-webapp/issues"},"dist":{"shasum":"4f4f31deec702ec6fb5074aed5bafb6ee93c86a1","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.1.5.tgz","fileCount":86,"integrity":"sha512-M6QdFe9AX8LQI39MKVECUEzFugVa1loxI5XghOo6O5M11YrQtxcAWexTr8oqLcgIdEBLwoD8Yu0u2hu9Zw5XuA==","signatures":[{"sig":"MEUCIEbLdRwkDvd1s7LbKl2S8medR1B/wQH3BRqgpITdKFyJAiEAi6Qbwa2DHJyAn9iydPFo1qzCtHGIJ0SqqeHArciNaDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35292231},"main":"dist/index.js","type":"module","_from":"file:asafarim-sidebar-1.1.5.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"all":"pnpm i && pnpm run build","dev":"rollup -c -w","demo":"pnpm build && cd demo && pnpm run build && pnpm dev","build":"rollup -c"},"_npmUser":{"name":"asafarim.be","email":"asafarim.it@gmail.com"},"_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\b6dbd91caa31e31aabcb8af2796d83e4\\asafarim-sidebar-1.1.5.tgz","_integrity":"sha512-M6QdFe9AX8LQI39MKVECUEzFugVa1loxI5XghOo6O5M11YrQtxcAWexTr8oqLcgIdEBLwoD8Yu0u2hu9Zw5XuA==","repository":{"url":"git+https://github.com/AliSafari-IT/asafarim-webapp.git","type":"git","directory":"packages/sidebar"},"_npmVersion":"11.4.2","description":"A collapsible sidebar component for React applications","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-postcss":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sidebar_1.1.5_1752444582577_0.19209182913931877","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@asafarim/sidebar","version":"1.1.7","keywords":["asafarim","react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","_id":"@asafarim/sidebar@1.1.7","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"homepage":"https://alisafari-it.github.io/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/sidebar/issues"},"dist":{"shasum":"9c802956f69ea7c4b5e47b450ec1ea6ec98b8cb7","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.1.7.tgz","fileCount":87,"integrity":"sha512-p3k3Cwy0CY5NpJCc3WMde32aSkx8A6ARWls4lxSCsBCqJ8/UMe4Q4bAdhmnnfPD4zdlPvXeKOmzxrRyo3ChrFg==","signatures":[{"sig":"MEUCIArj1yk8RsCISGCxnUkn0Ocnh1jaNfqCmfnVlIJcc9cLAiEA9Q5+GR37IkrJ9zq56mEXNU3vCfZxVQfWemrqvqVhv94=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44108634},"main":"dist/index.js","type":"module","_from":"file:asafarim-sidebar-1.1.7.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"all":"pnpm i && pnpm run build","dev":"rollup -c -w","demo":"pnpm build && cd demo && pnpm run build && pnpm dev","build":"rollup -c","github-pages":"cd demo && gh-pages -d dist"},"_npmUser":{"name":"asafarim.be","email":"asafarim.it@gmail.com"},"_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\6631ebf9123156b461c88bc7f4815186\\asafarim-sidebar-1.1.7.tgz","_integrity":"sha512-p3k3Cwy0CY5NpJCc3WMde32aSkx8A6ARWls4lxSCsBCqJ8/UMe4Q4bAdhmnnfPD4zdlPvXeKOmzxrRyo3ChrFg==","repository":{"url":"git+https://github.com/AliSafari-IT/sidebar.git","type":"git"},"_npmVersion":"11.4.2","description":"A collapsible sidebar component for React applications","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-postcss":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sidebar_1.1.7_1752450002167_0.1581810954772087","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@asafarim/sidebar","version":"1.1.8","keywords":["asafarim","react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","_id":"@asafarim/sidebar@1.1.8","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"homepage":"https://alisafari-it.github.io/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/sidebar/issues"},"dist":{"shasum":"19bd2409425126d1e6d53d59b0146722a811f019","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.1.8.tgz","fileCount":93,"integrity":"sha512-bHzDS1PxaFPzwJ+ra8KC6gvwWO5QCtgD3ViCtaPjZdRpAoZrS1oDfT4CDHuUUhvIlxZYr3Pfu/0fGcsjK3dHrg==","signatures":[{"sig":"MEYCIQCMILV5CuUGCljNe7DXgXcJs6aNBenzQmITT1l14/+/dQIhAIVDIH2rKSFcvGE7SLdybsyuDYPm/9LUBCqZZZYzcW7Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56797398},"main":"dist/index.js","type":"module","_from":"file:asafarim-sidebar-1.1.8.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"all":"pnpm i && pnpm run build","dev":"rollup -c -w","demo":"pnpm build && cd demo && pnpm run build && pnpm dev","build":"rollup -c","github-pages":"cd demo && gh-pages -d dist"},"_npmUser":{"name":"asafarim.be","email":"asafarim.it@gmail.com"},"_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\e644c2b2af291418daad94e0265d26ab\\asafarim-sidebar-1.1.8.tgz","_integrity":"sha512-bHzDS1PxaFPzwJ+ra8KC6gvwWO5QCtgD3ViCtaPjZdRpAoZrS1oDfT4CDHuUUhvIlxZYr3Pfu/0fGcsjK3dHrg==","repository":{"url":"git+https://github.com/AliSafari-IT/sidebar.git","type":"git"},"_npmVersion":"11.4.2","description":"A collapsible sidebar component for React applications","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-postcss":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sidebar_1.1.8_1752451989197_0.5019904101912158","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@asafarim/sidebar","version":"1.1.9","keywords":["asafarim","react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","_id":"@asafarim/sidebar@1.1.9","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"homepage":"https://alisafari-it.github.io/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/sidebar/issues"},"dist":{"shasum":"a761d282be65d58ff02afb23e0d203334b164d8f","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.1.9.tgz","fileCount":93,"integrity":"sha512-pT1mN1MUNps73j108j0u39jH9VWMeB37eYvF4WZUBGmIJUxWRBieIjlesoWamZvzPz45HHLWVsMhTzTM/JYpTg==","signatures":[{"sig":"MEUCIH3OSakqwmxcKEPI7EdgKHdBOb1Wx09LNbZK+pUlOZimAiEAskfy9ePIENWdVPeodtxrNRNM06REUd7sH0EuWFsxCpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56797291},"main":"dist/index.js","type":"module","_from":"file:asafarim-sidebar-1.1.9.tgz","types":"dist/index.d.ts","module":"dist/index.esm.js","scripts":{"all":"pnpm i && pnpm run build","dev":"rollup -c -w","demo":"pnpm build && cd demo && pnpm run build && pnpm dev","build":"rollup -c","github-pages":"cd demo && gh-pages -d dist"},"_npmUser":{"name":"asafarim.be","email":"asafarim.it@gmail.com"},"_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\43a336c35056dde3f7777cb07a734847\\asafarim-sidebar-1.1.9.tgz","_integrity":"sha512-pT1mN1MUNps73j108j0u39jH9VWMeB37eYvF4WZUBGmIJUxWRBieIjlesoWamZvzPz45HHLWVsMhTzTM/JYpTg==","repository":{"url":"git+https://github.com/AliSafari-IT/sidebar.git","type":"git"},"_npmVersion":"11.4.2","description":"A collapsible sidebar component for React applications","directories":{},"_nodeVersion":"20.18.3","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.0.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-postcss":"^4.0.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^11.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sidebar_1.1.9_1752452580878_0.36337345857420233","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@asafarim/sidebar","version":"1.2.0","type":"module","description":"A collapsible sidebar component for React applications","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","keywords":["asafarim","react","sidebar","navigation","collapsible","ui"],"author":{"name":"AliSafari"},"license":"MIT","peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"devDependencies":{"@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-typescript":"^11.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","rollup":"^4.0.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-postcss":"^4.0.0","typescript":"^5.0.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/AliSafari-IT/sidebar.git"},"homepage":"https://alisafari-it.github.io/sidebar","bugs":{"url":"https://github.com/AliSafari-IT/sidebar/issues"},"scripts":{"build":"rollup -c","all":"pnpm i && pnpm run build","demo":"pnpm build && cd demo && pnpm run build && pnpm dev","dev":"rollup -c -w","gp":"cd demo && gh-pages -d dist && echo 'Deployed to GitHub Pages'","pregp":"pnpm run build && echo 'Deploying to GitHub Pages'","github-pages":"cd demo && gh-pages -d dist"},"_id":"@asafarim/sidebar@1.2.0","_integrity":"sha512-3a7w0cF7d4lLcRngLcwuFKsCztUHlIUoyN8POJoSxWmrJvHeE4UcHwTFwg57sBQ3uheDpbSf7G35AlxzBNqnog==","_resolved":"C:\\Users\\User\\AppData\\Local\\Temp\\8d3a053b046a189d82b9e50a8b5e4ec2\\asafarim-sidebar-1.2.0.tgz","_from":"file:asafarim-sidebar-1.2.0.tgz","_nodeVersion":"20.18.3","_npmVersion":"11.4.2","dist":{"integrity":"sha512-3a7w0cF7d4lLcRngLcwuFKsCztUHlIUoyN8POJoSxWmrJvHeE4UcHwTFwg57sBQ3uheDpbSf7G35AlxzBNqnog==","shasum":"a97b56b98bf53e98fef0a77b33ff61e1ca00c4bf","tarball":"https://registry.npmjs.org/@asafarim/sidebar/-/sidebar-1.2.0.tgz","fileCount":93,"unpackedSize":56797656,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGQGw+CC/fe+iY0pn+r70h99KF35zZfZMe+EZgnAmyszAiEAqcGFYymTpX+JaWoGFbXFvDdXoq8gkp9ozblhE7ZxkEI="}]},"_npmUser":{"name":"asafarim.be","email":"asafarim.it@gmail.com"},"directories":{},"maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sidebar_1.2.0_1752453839427_0.3858054547713874"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-10T12:52:25.320Z","modified":"2025-07-14T00:43:59.975Z","1.1.2":"2025-07-10T12:52:25.576Z","1.1.3":"2025-07-11T12:33:34.596Z","1.1.4":"2025-07-11T12:40:33.622Z","1.1.5":"2025-07-13T22:09:42.802Z","1.1.7":"2025-07-13T23:40:02.479Z","1.1.8":"2025-07-14T00:13:09.544Z","1.1.9":"2025-07-14T00:23:01.236Z","1.2.0":"2025-07-14T00:43:59.705Z"},"bugs":{"url":"https://github.com/AliSafari-IT/sidebar/issues"},"author":{"name":"AliSafari"},"license":"MIT","homepage":"https://alisafari-it.github.io/sidebar","keywords":["asafarim","react","sidebar","navigation","collapsible","ui"],"repository":{"type":"git","url":"git+https://github.com/AliSafari-IT/sidebar.git"},"description":"A collapsible sidebar component for React applications","maintainers":[{"name":"asafarim.be","email":"asafarim.it@gmail.com"}],"readme":"# @asafarim/sidebar\n\nA flexible and customizable collapsible sidebar component for React applications.\n\n## Demo\n\n![Sidebar Component Demo](./sidebar-demo-screenshot.png)\n\nCheck out the [live demo](https://alisafari-it.github.io/sidebar) or view the [demo source code](./demo/readme.md)\n\n## Features\n\n- 🎯 **Fully Collapsible** - Smooth toggle between expanded and collapsed states\n- 🎨 **Themed** - Light and dark theme support\n- 📱 **Responsive** - Mobile-friendly with overlay support\n- ♿ **Accessible** - Full keyboard navigation and screen reader support\n- 🔧 **Flexible** - Highly customizable with multiple configuration options\n- 🌲 **Nested Items** - Support for multi-level navigation hierarchies\n- 🎪 **Icons & Badges** - Rich visual elements for better UX\n- 📍 **Positioning** - Left or right sidebar positioning with dynamic toggle\n- 🔘 **Optimized Toggle Button** - Strategically positioned toggle button at the top of the sidebar\n\n## Installation\n\n```bash\nnpm install @asafarim/sidebar\n# or\nyarn add @asafarim/sidebar\n# or\npnpm add @asafarim/sidebar\n```\n\n## Version History\n\n- **1.1.9** - Updated githubPath and demoPath of PackageLinks component\n- **1.1.8** - Updated github pages branch to main\n- **1.1.7** - Updated repository structure (moved to standalone repository)\n- **1.1.6** - Updated publishConfig to public\n- **1.1.5** - Added demo image\n- **1.1.4** - Added demo folder\n- **1.1.3** - Added support for React component icons\n- **1.1.2** - Repositioned toggle button, added support for dynamic sidebar positioning\n- **1.1.1** - Initial stable release\n\n## Basic Usage\n\n```tsx\nimport { Sidebar } from '@asafarim/sidebar';\nimport type { SidebarItem } from '@asafarim/sidebar';\n\nconst sidebarItems: SidebarItem[] = [\n  {\n    id: 'dashboard',\n    label: 'Dashboard',\n    icon: '📊',\n    onClick: () => console.log('Dashboard clicked')\n  },\n  {\n    id: 'projects',\n    label: 'Projects',\n    icon: '📁',\n    children: [\n      {\n        id: 'my-projects',\n        label: 'My Projects',\n        icon: '📂'\n      },\n      {\n        id: 'shared-projects',\n        label: 'Shared Projects',\n        icon: '👥',\n        badge: 3\n      }\n    ]\n  },\n  {\n    id: 'settings',\n    label: 'Settings',\n    icon: '⚙️',\n    url: '/settings'\n  }\n];\n\nfunction App() {\n  return (\n    <Sidebar\n      items={sidebarItems}\n      logo={<span>My App</span>}\n      theme=\"dark\"\n      onItemClick={(item) => console.log('Clicked:', item.label)}\n    />\n  );\n}\n```\n\n## Props\n\n### SidebarProps\n\n| Prop | Type | Default | Description |\n|------|------|---------|-------------|\n| `items` | `SidebarItem[]` | **Required** | Array of navigation items |\n| `isCollapsed` | `boolean` | `undefined` | Controlled collapsed state |\n| `onToggle` | `(collapsed: boolean) => void` | `undefined` | Callback when toggle state changes |\n| `sidebarWidth` | `string` | `'280px'` | Width when expanded |\n| `collapsedWidth` | `string` | `'60px'` | Width when collapsed |\n| `className` | `string` | `''` | Additional CSS class |\n| `theme` | `'light' \\| 'dark'` | `'light'` | Color theme |\n| `position` | `'left' \\| 'right'` | `'left'` | Sidebar position |\n| `overlay` | `boolean` | `false` | Show overlay on mobile |\n| `showToggleButton` | `boolean` | `true` | Show collapse/expand button |\n| `logo` | `ReactNode` | `undefined` | Logo/brand element |\n| `footer` | `ReactNode` | `undefined` | Footer content for the sidebar |\n| `onItemClick` | `(item: SidebarItem) => void` | `undefined` | Item click handler |\n\n### SidebarItem\n\n| Property | Type | Required | Description |\n|----------|------|----------|-------------|\n| `id` | `string` | ✅ | Unique identifier |\n| `label` | `string` | ✅ | Display text |\n| `icon` | `string \\| ReactNode` | ❌ | Icon (emoji, text, or React component) |\n| `url` | `string` | ❌ | Navigation URL |\n| `onClick` | `() => void` | ❌ | Click handler |\n| `children` | `SidebarItem[]` | ❌ | Nested items |\n| `badge` | `string \\| number` | ❌ | Notification badge |\n| `disabled` | `boolean` | ❌ | Disabled state |\n\n## Examples\n\n### Using React Icons\n\n```tsx\nimport { Sidebar } from '@asafarim/sidebar';\nimport type { SidebarItem } from '@asafarim/sidebar';\nimport { FiHome, FiFolder, FiSettings, FiUsers } from 'react-icons/fi';\n\nconst sidebarItemsWithReactIcons: SidebarItem[] = [\n  {\n    id: 'dashboard',\n    label: 'Dashboard',\n    icon: <FiHome aria-hidden=\"true\" />,\n    onClick: () => console.log('Dashboard clicked')\n  },\n  {\n    id: 'projects',\n    label: 'Projects',\n    icon: <FiFolder aria-hidden=\"true\" />,\n    children: [\n      {\n        id: 'my-projects',\n        label: 'My Projects',\n        icon: <FiFolder aria-hidden=\"true\" />\n      },\n      {\n        id: 'shared-projects',\n        label: 'Shared Projects',\n        icon: <FiUsers aria-hidden=\"true\" />,\n        badge: 3\n      }\n    ]\n  },\n  {\n    id: 'settings',\n    label: 'Settings',\n    icon: <FiSettings aria-hidden=\"true\" />,\n    url: '/settings'\n  }\n];\n\nfunction App() {\n  return (\n    <Sidebar\n      items={sidebarItemsWithReactIcons}\n      logo={<span>My App</span>}\n      theme=\"dark\"\n      onItemClick={(item) => console.log('Clicked:', item.label)}\n    />\n  );\n}\n```\n\n### Controlled Sidebar\n\n```tsx\nfunction App() {\n  const [collapsed, setCollapsed] = useState(false);\n\n  return (\n    <Sidebar\n      items={items}\n      isCollapsed={collapsed}\n      onToggle={setCollapsed}\n      theme=\"dark\"\n    />\n  );\n}\n```\n\n### With Custom Footer\n\n```tsx\n<Sidebar\n  items={items}\n  footer={\n    <div style={{ textAlign: 'center', padding: '1rem' }}>\n      <img src=\"/avatar.jpg\" alt=\"User\" style={{ borderRadius: '50%', width: '40px' }} />\n      <div>John Doe</div>\n    </div>\n  }\n/>\n```\n\n### Mobile Responsive with Overlay\n\n```tsx\n<Sidebar\n  items={items}\n  overlay={true}\n  theme=\"light\"\n  position=\"left\"\n/>\n```\n\n### Dynamic Sidebar Position with Custom Footer\n\n```tsx\nfunction App() {\n  const [position, setPosition] = useState<'left' | 'right'>('left');\n  const [isCollapsed, setIsCollapsed] = useState(false);\n  \n  // Custom footer with position toggle button\n  const footer = (\n    <div style={{ display: 'flex', justifyContent: 'space-between', padding: '0.5rem 1rem' }}>\n      {!isCollapsed && <p>© 2025 My App</p>}\n      <button \n        onClick={() => setPosition(position === 'left' ? 'right' : 'left')}\n        aria-label={position === 'left' ? 'Move sidebar to right' : 'Move sidebar to left'}\n        style={{ background: 'transparent', border: 'none', cursor: 'pointer' }}\n      >\n        {position === 'left' ? '❯' : '❮'}\n      </button>\n    </div>\n  );\n  \n  return (\n    <div style={{ display: 'flex', height: '100vh' }}>\n      <Sidebar\n        items={items}\n        isCollapsed={isCollapsed}\n        onToggle={setIsCollapsed}\n        position={position}\n        showToggleButton={true}\n        sidebarWidth=\"260px\"\n        collapsedWidth=\"60px\"\n        theme=\"dark\"\n        footer={footer}\n        logo={<span>My App</span>}\n      />\n      <main style={{\n        marginLeft: position === 'left' ? (isCollapsed ? '60px' : '260px') : 0,\n        marginRight: position === 'right' ? (isCollapsed ? '60px' : '260px') : 0,\n        width: `calc(100% - ${isCollapsed ? '60px' : '260px'})`,\n        transition: 'margin-left 0.3s ease, margin-right 0.3s ease, width 0.3s ease'\n      }}>\n        <h1>Main Content</h1>\n        <p>Your application content goes here.</p>\n      </main>\n    </div>\n  );\n}\n```\n\n### Complex Navigation Structure\n\n```tsx\nconst complexItems: SidebarItem[] = [\n  {\n    id: 'workspace',\n    label: 'Workspace',\n    icon: '🏢',\n    children: [\n      {\n        id: 'overview',\n        label: 'Overview',\n        icon: '📈'\n      },\n      {\n        id: 'team',\n        label: 'Team Members',\n        icon: '👥',\n        badge: '12'\n      },\n      {\n        id: 'projects',\n        label: 'Projects',\n        icon: '📁',\n        children: [\n          {\n            id: 'active-projects',\n            label: 'Active',\n            badge: 5\n          },\n          {\n            id: 'archived-projects',\n            label: 'Archived',\n            badge: 23\n          }\n        ]\n      }\n    ]\n  }\n];\n```\n\n## Toggle Button Positioning\n\nIn version 1.1.0, the sidebar toggle button has been repositioned to the top of the icon column for better usability. This provides a more intuitive user experience and follows modern UI patterns.\n\nThe toggle button is now:\n\n- Positioned at the top-left corner of the sidebar (or top-right when position is set to 'right')\n- Styled to match the sidebar theme\n- Easily accessible regardless of sidebar content\n\nThis positioning makes it more accessible and visible to users, improving the overall navigation experience.\n\n## Sidebar Position Toggle\n\nThe sidebar now supports dynamic position toggling between left and right sides of the screen. This can be implemented using a custom footer with a toggle button as shown in the examples above.\n\nWhen implementing this feature, remember to adjust your main content margins accordingly to maintain proper layout.\n\n## Styling\n\nThe component uses CSS modules for styling. You can override styles by providing a custom `className` prop or by targeting the CSS classes directly.\n\n### CSS Custom Properties\n\n```css\n.sidebar {\n  --sidebar-bg: #ffffff;\n  --sidebar-text: #374151;\n  --sidebar-hover: #f3f4f6;\n  --sidebar-active: #dbeafe;\n  --sidebar-border: #e5e7eb;\n}\n\n.sidebar.dark {\n  --sidebar-bg: #1f2937;\n  --sidebar-text: #d1d5db;\n  --sidebar-hover: #374151;\n  --sidebar-active: #1e40af;\n  --sidebar-border: #374151;\n}\n```\n\n## Accessibility\n\nThe sidebar component is built with accessibility in mind:\n\n- Full keyboard navigation support\n- ARIA labels and roles\n- Screen reader friendly\n- Focus management\n- High contrast support\n\n## Browser Support\n\n- Chrome (latest)\n- Firefox (latest)\n- Safari (latest)\n- Edge (latest)\n\n## Changelog\n\n### Version 1.1.7\n\n- Moved to standalone repository at https://github.com/AliSafari-IT/sidebar\n- Updated demo deployment to GitHub Pages at https://alisafari-it.github.io/sidebar\n- Updated documentation to reflect new repository structure\n\n### Version 1.1.6\n\n- Updated publishConfig to public\n\n### Version 1.1.5\n\n- Added demo image\n\n### Version 1.1.4\n\n- Added demo folder\n\n### Version 1.1.3\n\n- Added support for React component icons (e.g., from react-icons library)\n- Updated type definitions to accept both string and ReactNode for icons\n- Enhanced documentation with React icons examples\n\n### Version 1.1.0\n\n- Repositioned toggle button to the top of the sidebar icon column\n- Added support for dynamic sidebar positioning (left/right)\n- Improved styling for toggle button and sidebar components\n- Updated prop names for better clarity (`width` → `sidebarWidth`)\n- Enhanced documentation with new examples\n\n## License\n\nMIT\n","readmeFilename":"README.md"}