{"_id":"@arshad-shah/cynosure-icons","_rev":"3-6a02db8b7fdf839e978aede48fc334c9","name":"@arshad-shah/cynosure-icons","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"@arshad-shah/cynosure-icons","version":"1.0.0","license":"MIT","_id":"@arshad-shah/cynosure-icons@1.0.0","maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"dist":{"shasum":"bb8868ad59eb4133e7f5789998d123348dd3790c","tarball":"https://registry.npmjs.org/@arshad-shah/cynosure-icons/-/cynosure-icons-1.0.0.tgz","fileCount":7,"integrity":"sha512-+HAnakTwmk1qb4mv6CUEOuTe51aSM+40lMdomlb/wvLzlvlGIaArtDwkaJl8pXdFzP7KWCSIGVo4EfOC9zXAag==","signatures":[{"sig":"MEUCIQC66fizsqYz7d8eJN0Ucddgp43t463ozXFH+NkQlHSZ/gIgfZAiHFAmCQiWKRy0UL/CIbaO4jNVWX4Al8zM+QQo4l4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18612},"main":"./dist/index.js","type":"module","_from":"file:arshad-shah-cynosure-icons-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"arshad-shah","email":"shaharshad57@gmail.com"},"_resolved":"C:\\Users\\shaha\\AppData\\Local\\Temp\\afdf7f5dd2f9a371baf7d7c64551674c\\arshad-shah-cynosure-icons-1.0.0.tgz","_integrity":"sha512-+HAnakTwmk1qb4mv6CUEOuTe51aSM+40lMdomlb/wvLzlvlGIaArtDwkaJl8pXdFzP7KWCSIGVo4EfOC9zXAag==","_npmVersion":"11.8.0","description":"Cynosure UI — Lucide React re-exports with tree-shaken bundles","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","dependencies":{"lucide-react":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","react":"19.2.5","typescript":"5.9.3","@types/react":"19.2.14","@arshad-shah/cynosure-config":"0.0.0"},"peerDependencies":{"react":">=19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cynosure-icons_1.0.0_1776518701220_0.0923721654691223","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@arshad-shah/cynosure-icons","version":"2.1.1","license":"MIT","_id":"@arshad-shah/cynosure-icons@2.1.1","maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"dist":{"shasum":"36a97b020d725123a18be83e3bc45e715cc003cc","tarball":"https://registry.npmjs.org/@arshad-shah/cynosure-icons/-/cynosure-icons-2.1.1.tgz","fileCount":7,"integrity":"sha512-gMpY53DOTD4ZpmDz+cmlFPZPY4gQ8TOWd9OaKE4AFe9RuQBjwgWz6xC8jqsT487zs4Kf9hDNg7+eisr+NS2hRA==","signatures":[{"sig":"MEQCIBh6+ZEoxQGjQ0+Ve1PZ+P2EuK+DpPe9PcwCoaIcIse6AiA4sV7Lt/hZ8btcORp/vVVxAGHki8EjIxKiv23+B4/aGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23260},"main":"./dist/index.js","type":"module","_from":"file:arshad-shah-cynosure-icons-2.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"arshad-shah","email":"shaharshad57@gmail.com"},"_resolved":"C:\\Users\\shaha\\AppData\\Local\\Temp\\bdc22e944489b42a05f39b8fe3c6347b\\arshad-shah-cynosure-icons-2.1.1.tgz","_integrity":"sha512-gMpY53DOTD4ZpmDz+cmlFPZPY4gQ8TOWd9OaKE4AFe9RuQBjwgWz6xC8jqsT487zs4Kf9hDNg7+eisr+NS2hRA==","_npmVersion":"11.12.1","description":"Cynosure UI — Lucide React re-exports with tree-shaken bundles","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"lucide-react":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"8.5.1","react":"19.2.5","typescript":"5.9.3","@types/react":"19.2.14","@arshad-shah/cynosure-config":"0.0.0"},"peerDependencies":{"react":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/cynosure-icons_2.1.1_1776979832957_0.49839836356073497","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@arshad-shah/cynosure-icons","version":"3.0.0","description":"Cynosure UI — Lucide React re-exports with tree-shaken bundles","license":"MIT","homepage":"https://cynosure.arshadshah.com","repository":{"type":"git","url":"git+https://github.com/arshad-shah/cynosure.git","directory":"packages/icons"},"bugs":{"url":"https://github.com/arshad-shah/cynosure/issues"},"keywords":["cynosure","design-system","icons","lucide","react","svg"],"type":"module","sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","peerDependencies":{"react":">=18.0.0"},"devDependencies":{"@types/react":"19.2.14","react":"19.2.5","tsup":"8.5.1","typescript":"5.9.3","@arshad-shah/cynosure-config":"0.0.0"},"publishConfig":{"access":"public"},"dependencies":{"lucide-react":"1.8.0"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","clean":"rm -rf dist .turbo"},"_id":"@arshad-shah/cynosure-icons@3.0.0","_integrity":"sha512-MsK8R0MaKjR4KDQL4s0OnLbeROUVr0gEeaHEQw0KqNQiOoms9X9u+8/IT8XZa/ORNg+/HjbZIGQ/7N/49Abisw==","_resolved":"/tmp/8d73cdb8f41304f01de3996d703dd61d/arshad-shah-cynosure-icons-3.0.0.tgz","_from":"file:arshad-shah-cynosure-icons-3.0.0.tgz","_nodeVersion":"22.22.2","_npmVersion":"11.5.2","dist":{"integrity":"sha512-MsK8R0MaKjR4KDQL4s0OnLbeROUVr0gEeaHEQw0KqNQiOoms9X9u+8/IT8XZa/ORNg+/HjbZIGQ/7N/49Abisw==","shasum":"52fa4ec7187fbe81f8e2f7566f0d3414c7059f67","tarball":"https://registry.npmjs.org/@arshad-shah/cynosure-icons/-/cynosure-icons-3.0.0.tgz","fileCount":8,"unpackedSize":24268,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@arshad-shah%2fcynosure-icons@3.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDhURNtgGOlFNSpNKuDpKewwtEbkD/mfWLKiINQ8LAL7QIhANhEner8tlVK2j6n7n72TXEjiPVs9HNbq8vgZYKhHCF0"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:5b2dd3f6-6707-43ae-9c96-dcf3c923de14"}},"directories":{},"maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cynosure-icons_3.0.0_1778693324234_0.43217946959908615"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T13:25:01.118Z","modified":"2026-05-13T17:28:44.741Z","1.0.0":"2026-04-18T13:25:01.347Z","2.1.1":"2026-04-23T21:30:33.091Z","3.0.0":"2026-05-13T17:28:44.417Z"},"license":"MIT","description":"Cynosure UI — Lucide React re-exports with tree-shaken bundles","maintainers":[{"name":"arshad-shah","email":"shaharshad57@gmail.com"}],"readme":"# @arshad-shah/cynosure-icons\n\n> Icon re-exports for Cynosure UI — a thin passthrough of [Lucide React](https://lucide.dev/) tuned for tree-shaking.\n\nEvery icon Lucide ships is re-exported by name. Bundlers with proper tree-shaking — Vite, Rollup, Webpack ≥5, Next.js — pick up only the icons you import. The package exists so the Cynosure ecosystem has a single, version-pinned icon source; use it directly if you want one too, or keep importing `lucide-react` if you'd rather not add a layer.\n\n---\n\n## Install\n\n```bash\npnpm add @arshad-shah/cynosure-icons\n```\n\nPeer requirements: `react@^19`.\n\n---\n\n## Usage\n\n```tsx\nimport { ChevronRight, Search, Sun, Moon } from '@arshad-shah/cynosure-icons';\n\nexport function ThemeToggle({ isDark }: { isDark: boolean }) {\n  return isDark ? <Moon size={18} /> : <Sun size={18} />;\n}\n```\n\nIcons accept [standard Lucide props](https://lucide.dev/guide/packages/lucide-react) — `size`, `color`, `strokeWidth`, plus any SVG attribute.\n\n### With `IconButton`\n\nCynosure's `IconButton` component pairs cleanly with these icons:\n\n```tsx\nimport { Search } from '@arshad-shah/cynosure-icons';\nimport { IconButton } from '@arshad-shah/cynosure-react/icon-button';\n\n<IconButton aria-label=\"Search\"><Search /></IconButton>\n```\n\n---\n\n## Types\n\n`LucideIcon` and `LucideProps` are re-exported for places you need the icon type directly:\n\n```ts\nimport type { LucideIcon } from '@arshad-shah/cynosure-icons';\n\nexport interface NavItem {\n  label: string;\n  icon: LucideIcon;\n  href: string;\n}\n```\n\n---\n\n## Why a separate package?\n\n- **Version pin** — Cynosure components that reference icons pin to this package, so the whole ecosystem moves through one upgrade.\n- **No bundler surprises** — the package is `\"sideEffects\": false`, so tree-shaking eliminates unused icons even in edge-case build configs.\n- **Stable import path** — if Cynosure ever swaps icon providers (or adds custom ones), the import path stays the same for consumers.\n\n---\n\n## Links\n\n- [Main repo](https://github.com/arshad-shah/cynosure)\n- [Lucide icon gallery](https://lucide.dev/icons/) — browse every available icon by name\n- [Changelog](./CHANGELOG.md)\n\n## License\n\nMIT © [Arshad Shah](https://github.com/arshad-shah). Icons themselves are © Lucide contributors, [ISC licensed](https://github.com/lucide-icons/lucide/blob/main/LICENSE).\n","readmeFilename":"README.md","homepage":"https://cynosure.arshadshah.com","keywords":["cynosure","design-system","icons","lucide","react","svg"],"repository":{"type":"git","url":"git+https://github.com/arshad-shah/cynosure.git","directory":"packages/icons"},"bugs":{"url":"https://github.com/arshad-shah/cynosure/issues"}}