{"_id":"@aminnairi/react-switch","_rev":"8-81778b415d6aca364b925cf65a5b16ae","name":"@aminnairi/react-switch","dist-tags":{"latest":"0.6.1"},"versions":{"0.1.0":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.1.0","homepage":"https://github.com/aminnairi/react-switch/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"@rollup/plugin-terser":"0.4.3","@types/react":"*","rollup":"3.23.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":"*"},"_id":"@aminnairi/react-switch@0.1.0","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-b0b/D8iw2j7YNv8yCM6CnTT3LBSIsyMYYgrbIMYEht9J02Qn2DXaIcyzyBvcq03vF9tgRZlZ1Y4C7Og10x/jzQ==","shasum":"71b10911d41e0e725a7fac93ab904dd9b4620989","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.1.0.tgz","fileCount":6,"unpackedSize":3839,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAfL8WS77PZKqCjq8nTPv37LtoajVUwZpeSPOQvkfOhwIhAJF+J9wrkrfd66KU66lunPtsqXrR4LOasfi6XVlStNZM"}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.1.0_1684861176849_0.5164067940261998"},"_hasShrinkwrap":false},"0.1.1":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.1.1","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"@rollup/plugin-terser":"0.4.3","@types/react":"*","rollup":"3.23.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":"*"},"gitHead":"3d6183f160d36c7b1ce009e3107b4ce646d4f8c0","_id":"@aminnairi/react-switch@0.1.1","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-VIPBzRoO7NUgNk+i/1g9cb2EWV+cimasgCMDT8teLD9J50WLbYjS9UTO2zcuy4V3hAPuYfWhkWd48AWtAiAeXA==","shasum":"e191fe9e106b3e87f56fb3dc223f2b47e07bcd60","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.1.1.tgz","fileCount":6,"unpackedSize":3856,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPx/Rvt494AGcJGqyVle3CFdHjPv7H/cl4IrvM+nUFywIhAINJ9FRL+2UcChvLFLOXBMONeoOXglPSTCBBy8fK7sVX"}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.1.1_1684920681219_0.46975522217585164"},"_hasShrinkwrap":false},"0.2.0":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.2.0","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"@rollup/plugin-terser":"0.4.3","@types/react":"*","rollup":"3.23.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":"*"},"gitHead":"2ccfab3c9bb0cace2510e5c92fa527ae88c28582","_id":"@aminnairi/react-switch@0.2.0","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-V5WAq187vTwDCL8wjpCxm7gJH+pwedz+dvLzCBvostmnFJhWwdzgBngtW1mqVIBTtlYXWwDSCZFJr0zt93ff7w==","shasum":"2faf4b63a7ac9347ef8bc4d21c3c470b2453e565","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.2.0.tgz","fileCount":6,"unpackedSize":4605,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBsy9Tk1gM9yM0dfFGqmL/zTHsR0byUBd2j2OFZXURDOAiAoVvi/WWEgC1YIEdFLngQm24kDWgzDq8tmvlDnydTnQw=="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.2.0_1684962804495_0.9748825776730501"},"_hasShrinkwrap":false},"0.3.0":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.3.0","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"@rollup/plugin-terser":"0.4.3","@types/react":">=16.8.0","rollup":"3.23.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":">=16.8.0"},"gitHead":"6af0543ee44d6af7ed5feab2e466e1724cd4e799","_id":"@aminnairi/react-switch@0.3.0","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-9JY39lYJGXCeOw7QcInAIh4YCa+NxZuDtQh4BKZzXauz2rEpYm5Phf5i5CcrjKAKyy1H7oU+jdVA1aW7YOHPQA==","shasum":"4e631a86b6737379d1ce068065713aa149c81eed","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.3.0.tgz","fileCount":6,"unpackedSize":4619,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBKTVD9dOClfFZsano847EET3smfxFtYXiMX40uvS14gAiEAzNSVvb24Fehd+99orD2l1BOMam7DssQcgaTLX6/m23k="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.3.0_1685375589114_0.44554489521508045"},"_hasShrinkwrap":false},"0.4.0":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.4.0","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"@rollup/plugin-terser":"0.4.3","@types/react":">=16.8.0","rollup":"3.23.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":">=16.8.0"},"gitHead":"af6906f97ae11739bb2b6dd2fd5acd9eb2b79ea3","_id":"@aminnairi/react-switch@0.4.0","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-sQeKl/u/vdFqbpti28QE6i7rSUrRbh7bE0n9CV+nrRoKBrqNT0a8B31as5DTJ72AXfInE8H7zkEPZzM6QCBieg==","shasum":"79b75d6b9d6b43dcede6cf1b58d8c97ae07d359c","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.4.0.tgz","fileCount":6,"unpackedSize":5911,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEhMuz4nv16026AuTqYSe3gMBTJwEl0fXzgGZF8f8YxCAiBRni2+UKvrG6j3idOi0Csg0ewmvi2vvu09zNth8nAw5A=="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.4.0_1685378349248_0.6897305827725846"},"_hasShrinkwrap":false},"0.4.1":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.4.1","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"@rollup/plugin-terser":"0.4.3","@types/react":">=16.8.0","rollup":"3.23.0","rollup-plugin-delete":"2.0.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":">=16.8.0"},"gitHead":"37ff61af3bc86f36a6acf5b42e9c3ebe1f21083f","_id":"@aminnairi/react-switch@0.4.1","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-69C6Wq4xTFvr00KwpV+q2o0/BBsOuxd+iZEFx3UBuMIL+cX8X60I/nHxpuRvb0sjV3bhsR1xbv+irTG/J8ELjw==","shasum":"be5d958f4ae769aa0062805bd3ed2719ad663f78","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.4.1.tgz","fileCount":6,"unpackedSize":5948,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD30tveyUA1wjiWUitIUoYuv+FYtyUestpq9Gu+CGJ7nwIhANBkfjLBhKlA1wFCiQot8GZRfHCMzBEqtHkOM3CjKBzX"}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.4.1_1685380971201_0.047543663980299966"},"_hasShrinkwrap":false},"0.5.0":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.5.0","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"test":"vitest run","build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"vitest":"0.31.2","@testing-library/react":"14.0.0","happy-dom":"9.20.3","@rollup/plugin-terser":"0.4.3","@types/react":">=16.8.0","rollup":"3.23.0","rollup-plugin-delete":"2.0.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":">=16.8.0"},"gitHead":"5a91dd626d3e094a119a14a3cc3d349d224bcc2e","_id":"@aminnairi/react-switch@0.5.0","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-2AdeXroe3fnifkzuqcG09Wjqgkjmwlgw9veVI6d1upcBy6QbUivTfl6SzivLBoyZDpMLGVFWN64OTI5jMkoFVQ==","shasum":"f117a6d4398bbd2ea3d431795167d6b49e0d5dc1","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.5.0.tgz","fileCount":6,"unpackedSize":7963,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbrJknW1BYXo0z1mohA19nplOxySvUtwWj03xNGp4RfAIgUeN3cGCsLwO1+yAD0KhFAjPPJS3kgbCSv8JwDZKjk1E="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.5.0_1685690564344_0.3010195145868535"},"_hasShrinkwrap":false},"0.6.0":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.6.0","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","exports":"./build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"test":"vitest run","build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"vitest":"0.31.2","@testing-library/react":"14.0.0","happy-dom":"9.20.3","@rollup/plugin-terser":"0.4.3","@types/react":">=16.8.0","rollup":"3.23.0","rollup-plugin-delete":"2.0.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":">=16.8.0"},"gitHead":"3c52a0f7a5c14eae21e379a2a8414b745edd1ef8","_id":"@aminnairi/react-switch@0.6.0","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-3La+jIr9GRDGIwnYIJfeH8oO/idRveO2LdIXnL4J5mzOXH2phbVFt+VzIB9uulD09dUu3onomqIayql/j46X2g==","shasum":"e533e8f82c52d424ea49630cda5acc3462ea5b7d","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.6.0.tgz","fileCount":6,"unpackedSize":8251,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE/rH3zJyXeBPcKmY/xUuKrKqfCm6kZdXoliM+YLnIznAiBB/YRKLW3I9Czw5fLMPgrcbP13dQ3B2/1kpcFlVgL4rA=="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.6.0_1685788900005_0.7918159894629886"},"_hasShrinkwrap":false},"0.6.1":{"sideEffects":false,"name":"@aminnairi/react-switch","types":"build/index.d.ts","description":"A simple JavaScript-like switch component for React written in TypeScript","version":"0.6.1","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","license":"MIT","module":"build/index.module.js","main":"build/index.common.js","browser":"build/index.browser.js","bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"keywords":["react","switch","condition","component","case","default","branch"],"scripts":{"test":"vitest run","build":"rollup --config rollup.config.ts --configPlugin esbuild","types":"tsc --project tsconfig.json --declaration --emitDeclarationOnly"},"devDependencies":{"vitest":"0.31.2","@testing-library/react":"14.0.0","happy-dom":"9.20.3","@rollup/plugin-terser":"0.4.3","@types/react":">=16.8.0","rollup":"3.23.0","rollup-plugin-delete":"2.0.0","rollup-plugin-esbuild":"5.0.0","tslib":"2.5.2","typescript":"5.0.4"},"peerDependencies":{"react":">=16.8.0"},"gitHead":"bfeb9c7c9fb59eac89aa005d52d947d9f6bcbcfe","_id":"@aminnairi/react-switch@0.6.1","_nodeVersion":"19.0.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-iPGp9oHQJ/mXmB7UCfGMmIkQiWCRTOb1EsMX/tDqjMkITy1TNGFVb5KoXOHk5HMeJFZVtn91GE1KHMP4FB4IBA==","shasum":"5b9ba6f877e01b693e0c0b97dda751bcb6a32f7b","tarball":"https://registry.npmjs.org/@aminnairi/react-switch/-/react-switch-0.6.1.tgz","fileCount":6,"unpackedSize":8248,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHLEQxAce2U5jL4gwl3qReGFDspdKvctZUfmXVEmlNoGAiA+a+Ftecht4vaYPHRYujJJMiGLXN6MTRSE+Uk58Yb9Lw=="}]},"_npmUser":{"name":"aminnairi","email":"nairi.amin@gmail.com"},"directories":{},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-switch_0.6.1_1685796371842_0.2501343231749966"},"_hasShrinkwrap":false}},"time":{"created":"2023-05-23T16:59:36.776Z","0.1.0":"2023-05-23T16:59:37.041Z","modified":"2023-06-03T12:46:12.138Z","0.1.1":"2023-05-24T09:31:21.360Z","0.2.0":"2023-05-24T21:13:24.677Z","0.3.0":"2023-05-29T15:53:09.306Z","0.4.0":"2023-05-29T16:39:09.405Z","0.4.1":"2023-05-29T17:22:51.399Z","0.5.0":"2023-06-02T07:22:44.503Z","0.6.0":"2023-06-03T10:41:40.230Z","0.6.1":"2023-06-03T12:46:12.029Z"},"maintainers":[{"name":"aminnairi","email":"nairi.amin@gmail.com"}],"description":"A simple JavaScript-like switch component for React written in TypeScript","homepage":"https://github.com/aminnairi/react-switch/tree/development/sources#readme","keywords":["react","switch","condition","component","case","default","branch"],"repository":{"type":"git","url":"git+https://github.com/aminnairi/react-switch.git"},"author":{"name":"Amin NAIRI","url":"https://github.com/aminnairi"},"bugs":{"url":"https://github.com/aminnairi/react-switch/issues"},"license":"MIT","readme":"# @aminnairi/react-switch\n\nA simple JavaScript-like switch component for React written in TypeScript\n\n[![NPM](https://badgen.net/npm/v/@aminnairi/react-switch)](https://www.npmjs.com/package/@aminnairi/react-switch) [![Bundlephobia](https://badgen.net/bundlephobia/minzip/@aminnairi/react-switch)](https://bundlephobia.com/package/@aminnairi/react-switch) [![Snyk](https://badgen.net/snyk/aminnairi/react-switch)](https://github.com/aminnairi/react-switch/blob/development/sources/package.json)\n\n## Summary\n\n- [Requirements](#requirements)\n- [Quick Start](#quick-start)\n- [API](#api)\n  - [Switch](#switch)\n  - [Case](#case)\n  - [Default](#default)\n  - [DefaultSwitch](#defaultswitch)\n- [License](#license)\n- [Contributing](#contributing)\n- [Changelog](#changelog)\n\n## Requirements\n\n- [Node](https://nodejs.org/en)\n- [NPM](https://www.npmjs.com/)\n\n[Back to summary](#summary).\n\n## Quick Start\n\n```bash\nnpm install react react-dom @aminnairi/react-switch\nnpm install --save-dev vite @types/react @types/react-dom\n```\n\n```bash\ntouch main.tsx\n```\n\n```typescript\nimport React, { useEffect, useState } from 'react'\nimport { Switch, Case, Default, DefaultSwitch } from \"@aminnairi/react-switch\";\n\ninterface Article {\n  id: number;\n  title: string;\n  body: string;\n}\n\nexport const Main = () => {\n  const [loading, setLoading] = useState(true);\n  const [error, setError] = useState(\"\");\n  const [articles, setArticles] = useState<Array<Article>>([]);\n\n  useEffect(() => {\n    fetch(\"https://jsonplaceholder.typicode.com/posts\").then(response => {\n      if (response.ok) {\n        return response.json();\n      }\n\n      return Promise.reject(new Error(\"Unable to fetch articles.\"));\n    }).then(json => {\n      setArticles(json);\n    }).catch((error: unknown) => {\n      setError(String(error));\n    }).finally(() => {\n      setLoading(false);\n    });\n  }, []);\n\n  return (\n    <Switch>\n      <Case when={loading}>\n        <p>Loading your articles, please wait...</p>\n      </Case>\n      <Case when={Boolean(error)}>\n        <p>Something went wrong: {error}</p>\n      </Case>\n      <DefaultSwitch>\n        <Case when={articles.length === 0}>\n          <p>There is no articles to display.</p>\n        </Case>\n        <Case when={articles.length === 1}>\n          <p>You have {articles.length} published article.</p>\n        </Case>\n        <Default>\n          <p>You have {articles.length} published articles.</p>\n        </Default>\n      </DefaultSwitch>\n    </Switch>\n  );\n};\n```\n\n```bash\ntouch index.tsx\n```\n\n```typescript\nimport React from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport { Main } from \"./main\";\n\nconst rootElement = document.getElementById(\"root\");\n\nif (!rootElement) {\n  throw new Error(\"Root element not found\");\n}\n\nconst root = createRoot(rootElement);\n\nroot.render(\n  <Main />\n);\n```\n\n```bash\ntouch index.html\n```\n\n```html\n<!DOCTYPE html>\n<html>\n  <body>\n    <div id=\"root\"></div>\n    <script src=\"./index.tsx\" type=\"module\"></script>\n  </body>\n</html>\n```\n\n```bash\nnpx vite\n```\n\n[Back to summary](#summary).\n\n## API\n\n[Back to summary](#summary).\n\n### Switch\n\n```typescript\nimport { ReactNode } from \"react\";\n\nexport interface SwitchProps {\n  children: ReactNode;\n}\n\nexport declare const Switch: ({ children }: SwitchProps) => ReactNode;\n```\n\n[Back to summary](#summary).\n\n### Case\n\n```typescript\nimport { ReactNode } from \"react\";\n\nexport interface CaseProps {\n  when: boolean;\n  children: ReactNode;\n}\n\nexport declare const Case: ({ children }: CaseProps) => ReactNode;\n```\n\n[Back to summary](#summary).\n\n### Default\n\n```typescript\nimport { ReactNode } from \"react\";\n\nexport interface DefaultProps {\n  children: ReactNode;\n}\n\nexport declare const Default: ({ children }: DefaultProps) => ReactNode;\n```\n\n[Back to summary](#summary).\n\n### DefaultSwitch\n\n```typescript\nimport { ReactNode } from \"react\";\n\nexport declare const DefaultSwitch: ({ children }: SwitchProps) => ReactNode\n```\n\n[Back to summary](#summary).\n\n## License\n\nSee [`LICENSE`](https://github.com/aminnairi/react-switch/blob/development/LICENSE).\n\n\n[Back to summary](#summary).\n\n## Contributing\n\nSee [`CONTRIBUTING.md`](https://github.com/aminnairi/react-switch/blob/development/CONTRIBUTING.md).\n\n[Back to summary](#summary).\n\n## Changelog\n\nSee [`CHANGELOG.md`](https://github.com/aminnairi/react-switch/blob/development/sources/CHANGELOG.md).\n\n[Back to summary](#summary).\n","readmeFilename":"README.md"}