{"_id":"@apx-ui/icons","_rev":"4-dade0279ccde3ac5970b067da5316d03","name":"@apx-ui/icons","dist-tags":{"latest":"0.0.8"},"versions":{"0.0.5":{"name":"@apx-ui/icons","version":"0.0.5","keywords":["react","icons","svg","design-system","apx-ds","tree-shakable"],"license":"MIT","_id":"@apx-ui/icons@0.0.5","maintainers":[{"name":"igbaryya","email":"igbaryya@gmail.com"},{"name":"appna_dev","email":"support@appna.io"}],"dist":{"shasum":"d8eaa79518279d0221adf8f006b69ca7d1bf34de","tarball":"https://registry.npmjs.org/@apx-ui/icons/-/icons-0.0.5.tgz","fileCount":8,"integrity":"sha512-w1tlfW6s2/dMFrXiWNbLwJBKUPKSkkNGtnUrFQvAu6BeKoJqeLbDBNDEo9KPoxMiv4jPslY12LvK1IUc3sp3+w==","signatures":[{"sig":"MEUCIQDG7YUu4loala2dhNT61miW7xr9LBEMoIPCuID944sRGwIgCQ/bUpdAWwtY18XmtH/0sGYBQDc8OMaZSAwNdA+iUOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100393},"main":"./dist/index.cjs","type":"module","_from":"file:apx-ui-icons-0.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"igbaryya","email":"igbaryya@gmail.com"},"_resolved":"/tmp/8adc182ba6d88bf2923314735886bf94/apx-ui-icons-0.0.5.tgz","_integrity":"sha512-w1tlfW6s2/dMFrXiWNbLwJBKUPKSkkNGtnUrFQvAu6BeKoJqeLbDBNDEo9KPoxMiv4jPslY12LvK1IUc3sp3+w==","_npmVersion":"10.9.8","description":"Optional, tree-shakable SVG icon set for apx-ds. Install separately when you want icons.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^19.0.0","vitest":"^2.1.8","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/icons_0.0.5_1784455576898_0.04275901924047654","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@apx-ui/icons","version":"0.0.6","keywords":["react","icons","svg","design-system","apx-ds","tree-shakable"],"license":"MIT","_id":"@apx-ui/icons@0.0.6","maintainers":[{"name":"igbaryya","email":"igbaryya@gmail.com"},{"name":"appna_dev","email":"support@appna.io"}],"dist":{"shasum":"9c2e2f0429cce1f90ea46a925c551870a6df2f68","tarball":"https://registry.npmjs.org/@apx-ui/icons/-/icons-0.0.6.tgz","fileCount":8,"integrity":"sha512-5kOpRnhhJZvUTuoVKQs/WlogEPKIODIga6JcWCxKyLL6HBs4XiWVSp52p6CZjeT8edNBIDaBQkNcnsKnVGebtw==","signatures":[{"sig":"MEQCIFJfO4pS7jNfzxQYCdQJQVrd6vLkHJRQ3GmeDI4WC4ZdAiAMeJYhpnonaShlwUZfj1U5/SmLBnfp9W3nZV64HtUZiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":148346},"main":"./dist/index.cjs","type":"module","_from":"file:apx-ui-icons-0.0.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"igbaryya","email":"igbaryya@gmail.com"},"_resolved":"/tmp/1f3f0beb8383ef78afc9858212fdf4d8/apx-ui-icons-0.0.6.tgz","_integrity":"sha512-5kOpRnhhJZvUTuoVKQs/WlogEPKIODIga6JcWCxKyLL6HBs4XiWVSp52p6CZjeT8edNBIDaBQkNcnsKnVGebtw==","_npmVersion":"10.9.8","description":"Optional, tree-shakable SVG icon set for apx-ds. Install separately when you want icons.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^19.0.0","vitest":"^2.1.8","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/icons_0.0.6_1788463485714_0.6163339128115883","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@apx-ui/icons","version":"0.0.7","keywords":["react","icons","svg","design-system","apx-ds","tree-shakable"],"license":"MIT","_id":"@apx-ui/icons@0.0.7","maintainers":[{"name":"igbaryya","email":"igbaryya@gmail.com"},{"name":"appna_dev","email":"support@appna.io"}],"dist":{"shasum":"43f79a7316bad0265c67b2494a0e7ccbf37f36e1","tarball":"https://registry.npmjs.org/@apx-ui/icons/-/icons-0.0.7.tgz","fileCount":8,"integrity":"sha512-0ln6liAgrOGVSTe10z6T4x5tRIPfV+XrQsCO+nfy2vSmsZfCvkjOtFYTi+tVu7TWcTovh0hXlDiHSteBnnijOQ==","signatures":[{"sig":"MEYCIQDb7vKl37HulZ7JiCJLMZLXOS1n8Jj2umBULv6LF7O3AQIhAOeV/fu/szJkhC54PchvHeMrHiZISwoiBFmNKMlSkBhm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":151797},"main":"./dist/index.cjs","type":"module","_from":"file:apx-ui-icons-0.0.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src","test":"vitest run","build":"tsup","clean":"rm -rf dist .turbo","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"igbaryya","email":"igbaryya@gmail.com"},"_resolved":"/tmp/6b30838fcdfa01201c31125db95a2397/apx-ui-icons-0.0.7.tgz","_integrity":"sha512-0ln6liAgrOGVSTe10z6T4x5tRIPfV+XrQsCO+nfy2vSmsZfCvkjOtFYTi+tVu7TWcTovh0hXlDiHSteBnnijOQ==","_npmVersion":"10.9.8","description":"Optional, tree-shakable SVG icon set for apx-ds. Install separately when you want icons.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","react":"^19.0.0","vitest":"^2.1.8","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2"},"peerDependencies":{"react":">=18","react-dom":">=18"},"_npmOperationalInternal":{"tmp":"tmp/icons_0.0.7_1789411941642_0.910307234367407","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@apx-ui/icons","version":"0.0.8","description":"Optional, tree-shakable SVG icon set for apx-ds. Install separately when you want icons.","license":"MIT","publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"sideEffects":false,"keywords":["react","icons","svg","design-system","apx-ds","tree-shakable"],"peerDependencies":{"react":">=18","react-dom":">=18"},"devDependencies":{"@types/react":"^19.0.2","@types/react-dom":"^19.0.2","react":"^19.0.0","react-dom":"^19.0.0","tsup":"^8.3.5","typescript":"^5.7.2","vitest":"^2.1.8"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","lint":"eslint src","typecheck":"tsc --noEmit","clean":"rm -rf dist .turbo"},"_id":"@apx-ui/icons@0.0.8","_integrity":"sha512-q62S/QUMl51XJO4t/LMZSqVK1KSZetSEpMLUx0XF/3KB9v1N39tjOOBlQFrjemXgmvJio2UvuYe7W2uKhRNnlg==","_resolved":"/tmp/84194e219547d4f069e90c3884685415/apx-ui-icons-0.0.8.tgz","_from":"file:apx-ui-icons-0.0.8.tgz","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-q62S/QUMl51XJO4t/LMZSqVK1KSZetSEpMLUx0XF/3KB9v1N39tjOOBlQFrjemXgmvJio2UvuYe7W2uKhRNnlg==","shasum":"84192cd728a9e711568832ddc11faa4b21b547d5","tarball":"https://registry.npmjs.org/@apx-ui/icons/-/icons-0.0.8.tgz","fileCount":8,"unpackedSize":151797,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAlvbSapqwEm49x7ofhbWFUsqH6H9wIHsYkB8shCi03lAiAlSWv0pc9vKyFSm3wUMKXGKSPUP6HHP0hhjdbS3T2YQg=="}]},"_npmUser":{"name":"igbaryya","email":"igbaryya@gmail.com"},"directories":{},"maintainers":[{"name":"igbaryya","email":"igbaryya@gmail.com"},{"name":"appna_dev","email":"support@appna.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/icons_0.0.8_1789465941193_0.23817299066363584"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-19T10:06:16.769Z","modified":"2026-09-15T09:52:21.621Z","0.0.5":"2026-07-19T10:06:17.053Z","0.0.6":"2026-09-03T19:24:45.864Z","0.0.7":"2026-09-14T18:52:21.771Z","0.0.8":"2026-09-15T09:52:21.347Z"},"license":"MIT","keywords":["react","icons","svg","design-system","apx-ds","tree-shakable"],"description":"Optional, tree-shakable SVG icon set for apx-ds. Install separately when you want icons.","maintainers":[{"name":"igbaryya","email":"igbaryya@gmail.com"},{"name":"appna_dev","email":"support@appna.io"}],"readme":"# @apx-ui/icons\n\nA small, tree-shakable set of SVG icon components for apx-ds.\n\n> This package is **optional**. Nothing inside `@apx-ui/ds` depends on it — install it only when you actually want icons in your app, and you'll only pay the bundle cost for the icons you import.\n\n## Install\n\n```bash\npnpm add @apx-ui/icons\n# or\nnpm i @apx-ui/icons\n# or\nyarn add @apx-ui/icons\n```\n\nPeers: `react >= 18`, `react-dom >= 18`.\n\n## Usage\n\n```tsx\nimport { ChevronDown, Search } from '@apx-ui/icons';\n\nexport function Example() {\n  return (\n    <>\n      <Search size={18} aria-hidden />\n      <ChevronDown size={16} title=\"Open menu\" />\n    </>\n  );\n}\n```\n\nEvery icon is a `forwardRef`'d `<svg>` painted with `currentColor`, so it inherits the parent's `color`. Pass any native `<svg>` prop — `className`, `style`, `onClick`, `data-*`, etc.\n\n### Props\n\n| Prop    | Type                  | Default | Notes                                                                                              |\n| ------- | --------------------- | ------- | -------------------------------------------------------------------------------------------------- |\n| `size`  | `number \\| string`    | `24`    | Sets both `width` and `height`. Accepts pixels or any CSS length (`\"1em\"`, `\"1.25rem\"`, …).        |\n| `title` | `string \\| undefined` | —       | When provided, the icon becomes `role=\"img\"` with an accessible name. Omit it for decorative use. |\n| …rest   | `SVGProps<SVGSVGElement>` | —   | Forwarded to the underlying `<svg>`.                                                               |\n\nWhen `title` is omitted, the icon is rendered with `aria-hidden=\"true\"` and `focusable=\"false\"` so screen readers skip it.\n\n## Available icons\n\nThe current set ships 38 icons covering the most common UI affordances. Browse them all (with search and copy-import) in the renderer at [`/icons`](../../apps/renderer/src/app/icons/page.tsx) — run `pnpm dev` and open `http://localhost:6008/icons`.\n\n`ArrowRight`, `ArrowUpRight`, `Award`, `BadgeCheck`, `Check`, `ChevronDown`, `ChevronRight`, `Clock`, `Close`, `Coffee`, `ErrorCircle`, `ExternalLink`, `Fingerprint`, `Flame`, `Globe`, `GraduationCap`, `Heart`, `Info`, `KeyRound`, `Leaf`, `Mail`, `MapPin`, `Menu`, `Minus`, `Phone`, `Plus`, `Repeat`, `Scissors`, `Search`, `ShieldCheck`, `ShoppingBag`, `Smartphone`, `Smile`, `Star`, `Trash`, `Truck`, `Warning`, `Zap`.\n\n`ICON_MANIFEST` is the single source of truth for this list — adding an icon means a file under `src/icons/`, an export in `src/index.ts`, and a manifest entry (kept alphabetical).\n\n> `ErrorCircle` is named to avoid shadowing JavaScript's built-in `Error` constructor.\n\n## Building your own icons\n\n`createIcon` is exported so you can mint icons that share the same defaults (viewBox, stroke width, a11y behaviour) as the bundled set:\n\n```tsx\nimport { createIcon } from '@apx-ui/icons';\n\nexport const HeartLine = createIcon(\n  'HeartLine',\n  <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\" />,\n);\n```\n\n## Iterating the full set\n\nFor tooling — pickers, docs, registries — every shipped icon is also exposed via a metadata manifest:\n\n```ts\nimport { ICON_MANIFEST } from '@apx-ui/icons';\n\nICON_MANIFEST.forEach(({ name, Component, description, keywords }) => {\n  // Render `<Component />`, index by `keywords`, etc.\n});\n```\n\nImporting the manifest does not defeat tree-shaking for consumers that only use a couple of icons directly — it only references the same named exports they would import anyway.","readmeFilename":"README.md"}