{"_id":"@mingcute/icons","_rev":"3-151a169cb43831b45ee7b931985d69cb","name":"@mingcute/icons","dist-tags":{"latest":"3.0.2"},"versions":{"3.0.0":{"name":"@mingcute/icons","version":"3.0.0","keywords":["icons","svg","icon-data","mingcute"],"author":{"name":"MingCute Design"},"license":"Apache-2.0","_id":"@mingcute/icons@3.0.0","maintainers":[{"name":"richardzou","email":"9394lay@gmail.com"},{"name":"walebuilds","email":"walebuilds@gmail.com"},{"name":"aprilnea","email":"github@sku.moe"}],"homepage":"https://www.mingcute.com/","bugs":{"url":"https://github.com/mingcute-design/mingcute-icons/issues"},"dist":{"shasum":"9e3da39b17f3670f6446aed0d6dd29311d7672e7","tarball":"https://registry.npmjs.org/@mingcute/icons/-/icons-3.0.0.tgz","fileCount":6668,"integrity":"sha512-ZV7D54irKbxhzW+rVH452YtRkxMzEu8dPrexePUHnDuPzH2+VxXJddkMb5HcgszwDFqtXEtP3mkt/3c0MpQlNg==","signatures":[{"sig":"MEUCIQC3/Rg3pF2lRNpb49SVLDGeg1g9RvsVcnV5K7d4u0m/YQIgGQQwV8fYUknwUXpmZ5svOqKmQ8FCdAO35BDVfK+zQIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3764037},"main":"./dist/index.js","type":"module","_from":"file:mingcute-icons-3.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./metadata/*":"./dist/styles/*/metadata.json","./core-filled":{"types":"./dist/styles/core-filled.d.ts","import":"./dist/styles/core-filled.js"},"./styles.json":"./dist/styles.json","./core-regular":{"types":"./dist/styles/core-regular.d.ts","import":"./dist/styles/core-regular.js"},"./package.json":"./package.json","./core-filled/*":{"types":"./dist/styles/core-filled/*.d.ts","import":"./dist/styles/core-filled/*.js"},"./core-regular/*":{"types":"./dist/styles/core-regular/*.d.ts","import":"./dist/styles/core-regular/*.js"}},"private":false,"scripts":{"test":"pnpm run build && node --test tests/*.test.mjs","build":"pnpm run clean && pnpm run build:runtime && node scripts/build-package.mjs","check":"pnpm run typecheck && pnpm run test && pnpm run audit:pack","clean":"node ../../scripts/clean-package.mjs dist","typecheck":"tsc -p tsconfig.typecheck.json","audit:pack":"node scripts/audit-pack.mjs","build:runtime":"tsc -p tsconfig.json"},"_npmUser":{"name":"walebuilds","email":"walebuilds@gmail.com"},"_resolved":"/private/var/folders/mv/cpxwy4fs3r72w3qvfrn0msq40000gn/T/1d5bfd648313f73ad752ca3246316656/mingcute-icons-3.0.0.tgz","_integrity":"sha512-ZV7D54irKbxhzW+rVH452YtRkxMzEu8dPrexePUHnDuPzH2+VxXJddkMb5HcgszwDFqtXEtP3mkt/3c0MpQlNg==","repository":{"url":"git+https://github.com/mingcute-design/mingcute-icons.git","type":"git","directory":"packages/icons"},"_npmVersion":"10.9.2","description":"Framework-neutral Mingcute icon definitions for Core Regular and Filled.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.0","@mingcute/core":"3.0.0","@mingcute/compiler":"3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/icons_3.0.0_1785403665220_0.12117175098561961","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@mingcute/icons","version":"3.0.1","keywords":["icons","svg-icons","vector-icons","icon-library","svg","icon-data","mingcute"],"author":{"name":"MingCute Design"},"license":"Apache-2.0","_id":"@mingcute/icons@3.0.1","maintainers":[{"name":"richardzou","email":"9394lay@gmail.com"},{"name":"walebuilds","email":"walebuilds@gmail.com"},{"name":"aprilnea","email":"github@sku.moe"}],"homepage":"https://www.mingcute.com/","bugs":{"url":"https://github.com/mingcute-design/mingcute-icons/issues"},"dist":{"shasum":"2f1033e2c556c8cd68e477172c30faddca508769","tarball":"https://registry.npmjs.org/@mingcute/icons/-/icons-3.0.1.tgz","fileCount":6668,"integrity":"sha512-eN+Yfob81B6QjiOLi/U2dmTAGdba7hYJGGBB5+FwfQi/gXuWDpNDLSLUnEfDavZxgXe8HJf0k1ZXE507eZrRNA==","signatures":[{"sig":"MEUCIQCsHh6NM13OOsClrTj/IrEyJj1vHVu/Bd8ugXGcpuqtwwIgAfElulIDVsFtml4StTAqXBPVZcP9jH7ekuy4K4YZ8uk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3768410},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./metadata/*":"./dist/styles/*/metadata.json","./core-filled":{"types":"./dist/styles/core-filled.d.ts","import":"./dist/styles/core-filled.js"},"./styles.json":"./dist/styles.json","./core-regular":{"types":"./dist/styles/core-regular.d.ts","import":"./dist/styles/core-regular.js"},"./package.json":"./package.json","./core-filled/*":{"types":"./dist/styles/core-filled/*.d.ts","import":"./dist/styles/core-filled/*.js"},"./core-regular/*":{"types":"./dist/styles/core-regular/*.d.ts","import":"./dist/styles/core-regular/*.js"}},"gitHead":"e57aa6e0342e03b52eb7aa1470e5896f7456b383","private":false,"scripts":{"test":"pnpm run build && node --test tests/*.test.mjs","build":"pnpm run clean && pnpm run build:runtime && node scripts/build-package.mjs","check":"pnpm run typecheck && pnpm run test && pnpm run audit:pack","clean":"node ../../scripts/clean-package.mjs dist","typecheck":"tsc -p tsconfig.typecheck.json","audit:pack":"node scripts/audit-pack.mjs","build:runtime":"tsc -p tsconfig.json"},"_npmUser":{"name":"walebuilds","email":"walebuilds@gmail.com"},"repository":{"url":"git+https://github.com/mingcute-design/mingcute-icons.git","type":"git","directory":"packages/icons"},"_npmVersion":"10.9.2","description":"Framework-neutral Mingcute icon definitions for Core Regular and Filled.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.2","@types/node":"^22.10.0","@mingcute/core":"workspace:*","@mingcute/compiler":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/icons_3.0.1_1785482632193_0.8962440435098256","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@mingcute/icons","version":"3.0.2","description":"Framework-neutral Mingcute icon definitions for Core Regular and Filled.","keywords":["icons","svg-icons","vector-icons","icon-library","svg","icon-data","mingcute"],"license":"Apache-2.0","author":{"name":"MingCute Design"},"homepage":"https://www.mingcute.com/","repository":{"type":"git","url":"git+https://github.com/mingcute-design/mingcute-icons.git","directory":"packages/icons"},"bugs":{"url":"https://github.com/mingcute-design/mingcute-icons/issues"},"private":false,"type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./styles.json":"./dist/styles.json","./metadata/*":"./dist/styles/*/metadata.json","./core-regular":{"types":"./dist/styles/core-regular.d.ts","import":"./dist/styles/core-regular.js"},"./core-regular/*":{"types":"./dist/styles/core-regular/*.d.ts","import":"./dist/styles/core-regular/*.js"},"./core-filled":{"types":"./dist/styles/core-filled.d.ts","import":"./dist/styles/core-filled.js"},"./core-filled/*":{"types":"./dist/styles/core-filled/*.d.ts","import":"./dist/styles/core-filled/*.js"},"./package.json":"./package.json"},"devDependencies":{"@types/node":"^22.10.0","typescript":"^5.7.2","@mingcute/core":"3.0.0","@mingcute/compiler":"3.0.0"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"sideEffects":false,"scripts":{"build:runtime":"tsc -p tsconfig.json","build":"pnpm run clean && pnpm run build:runtime && node scripts/build-package.mjs","typecheck":"tsc -p tsconfig.typecheck.json","test":"pnpm run build && node --test tests/*.test.mjs","audit:pack":"node scripts/audit-pack.mjs","check":"pnpm run typecheck && pnpm run test && pnpm run audit:pack","clean":"node ../../scripts/clean-package.mjs dist"},"_id":"@mingcute/icons@3.0.2","_integrity":"sha512-NuDZuZy0B/MmrdoVVOodOURS1qPqgcdSHFPKSG9gPEF6/dr0+zm5pfJs0U7Yta5jjoCdX0WZcVbZOov2tMMPTA==","_resolved":"/private/var/folders/mv/cpxwy4fs3r72w3qvfrn0msq40000gn/T/d9c1a383a059985e65bd3c88d7a40e59/mingcute-icons-3.0.2.tgz","_from":"file:mingcute-icons-3.0.2.tgz","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-NuDZuZy0B/MmrdoVVOodOURS1qPqgcdSHFPKSG9gPEF6/dr0+zm5pfJs0U7Yta5jjoCdX0WZcVbZOov2tMMPTA==","shasum":"378ec179bf39ae41cef7cb13bdb5fb19360f72dc","tarball":"https://registry.npmjs.org/@mingcute/icons/-/icons-3.0.2.tgz","fileCount":6668,"unpackedSize":3768397,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCJoJQYjyrryWUju1KmlDL63STYVLVrUv9d8hRsUjSMSgIhAJN8R8sdz19thdKQ+VPgtahLKI+iepw65tSF+5NQAUBq"}]},"_npmUser":{"name":"walebuilds","email":"walebuilds@gmail.com"},"directories":{},"maintainers":[{"name":"richardzou","email":"9394lay@gmail.com"},{"name":"walebuilds","email":"walebuilds@gmail.com"},{"name":"aprilnea","email":"github@sku.moe"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/icons_3.0.2_1785488100306_0.14337155999594775"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T09:27:45.082Z","modified":"2026-07-31T08:55:00.749Z","3.0.0":"2026-07-30T09:27:45.441Z","3.0.1":"2026-07-31T07:23:52.375Z","3.0.2":"2026-07-31T08:55:00.547Z"},"bugs":{"url":"https://github.com/mingcute-design/mingcute-icons/issues"},"author":{"name":"MingCute Design"},"license":"Apache-2.0","homepage":"https://www.mingcute.com/","keywords":["icons","svg-icons","vector-icons","icon-library","svg","icon-data","mingcute"],"repository":{"type":"git","url":"git+https://github.com/mingcute-design/mingcute-icons.git","directory":"packages/icons"},"description":"Framework-neutral Mingcute icon definitions for Core Regular and Filled.","maintainers":[{"name":"richardzou","email":"9394lay@gmail.com"},{"name":"walebuilds","email":"walebuilds@gmail.com"},{"name":"aprilnea","email":"github@sku.moe"}],"readme":"<a href=\"https://www.mingcute.com/\">\n  <img src=\"https://raw.githubusercontent.com/mingcute-design/mingcute-icons/main/images/banner1.png\" alt=\"Mingcute Icon System\" width=\"100%\" />\n</a>\n\n<h1 align=\"center\">@mingcute/icons</h1>\n\n<h3 align=\"center\">Framework neutral Mingcute icon definitions and rendering helpers</h3>\n\n<p align=\"center\">\n  <a href=\"https://www.mingcute.com/\"><img src=\"https://img.shields.io/badge/mingcute.com-website-007AFF\" alt=\"Mingcute website\" /></a>&nbsp;\n  <a href=\"https://www.npmjs.com/package/@mingcute/icons\"><img src=\"https://img.shields.io/npm/v/@mingcute/icons?color=007AFF&label=version\" alt=\"@mingcute/icons npm version\" /></a>&nbsp;\n  <a href=\"https://bundlephobia.com/package/@mingcute/icons\"><img src=\"https://img.shields.io/bundlephobia/minzip/@mingcute/icons?color=007AFF&label=gzip\" alt=\"@mingcute/icons minified and gzipped size\" /></a>&nbsp;\n  <a href=\"https://www.npmjs.com/package/@mingcute/icons\"><img src=\"https://img.shields.io/npm/dm/@mingcute/icons?color=23AF5F&label=downloads\" alt=\"@mingcute/icons monthly npm downloads\" /></a>&nbsp;\n  <a href=\"https://github.com/mingcute-design/mingcute-icons/stargazers\"><img src=\"https://img.shields.io/github/stars/mingcute-design/mingcute-icons?color=007AFF&style=flat\" alt=\"Mingcute GitHub stars\" /></a>\n</p>\n\n---\n\n## Overview\n\n`@mingcute/icons` is the framework-neutral data foundation for the public Mingcute packages.\n\nEach icon is represented as a typed `IconDefinition` containing its view box, normalized geometry, resources, and metadata.\n\nFramework adapters consume this package instead of embedding separate copies of the SVG catalogue.\n\n## Highlights\n\n- **3,326 styled definitions:** 1,663 icons in Core Regular and Core Filled.\n- **Framework-neutral data:** suitable for custom renderers and build tools.\n- **Structured SVG resources:** gradients, masks, clip paths, and patterns remain typed.\n- **Safe rendering helpers:** XML values are escaped and resource IDs are scoped.\n- **Direct icon imports:** load one definition without importing a complete style.\n- **Generated metadata:** inspect catalogue information without importing icon modules.\n- **Shared foundation:** React, Vue, React Native, Svelte, SolidJS, Vanilla, and Web Components consume the same definitions.\n\n<a href=\"https://www.mingcute.com/\">\n  <img src=\"https://raw.githubusercontent.com/mingcute-design/mingcute-icons/main/images/banner2.png\" alt=\"Mingcute icons used in product interfaces\" width=\"100%\" />\n</a>\n\n## Installation\n\n```bash\n# npm\nnpm install @mingcute/icons\n\n# pnpm\npnpm add @mingcute/icons\n\n# Yarn\nyarn add @mingcute/icons\n\n# Bun\nbun add @mingcute/icons\n```\n\n## Quick Start\n\nImport an icon definition and render a complete SVG document:\n\n```ts\nimport { Home1Icon } from '@mingcute/icons/core-regular';\nimport { renderIconSource } from '@mingcute/icons';\n\nconst svg = renderIconSource(Home1Icon);\n```\n\nFor the smallest module graph:\n\n```ts\nimport Home1Icon from '@mingcute/icons/core-regular/home-1';\nimport { renderIconSource } from '@mingcute/icons';\n\nconst svg = renderIconSource(Home1Icon);\n```\n\n## Imports\n\n### Style entry points\n\nUse a style entry point for convenient named imports:\n\n```ts\nimport {\n  Home1Icon,\n  Search2Icon,\n} from '@mingcute/icons/core-regular';\n```\n\n### Direct icon imports\n\nUse a direct icon path when only one definition is required:\n\n```ts\nimport Home1Icon from '@mingcute/icons/core-regular/home-1';\n```\n\n### Metadata imports\n\nLoad generated metadata without importing icon definitions:\n\n```ts\nimport metadata from '@mingcute/icons/metadata/core-regular' with {\n  type: 'json',\n};\n```\n\nToolchains without JSON-module support may load the metadata through their asset APIs.\n\n## API Reference\n\n| Export | Purpose |\n|---|---|\n| `renderIconBody(definition, idPrefix?)` | Renders inner SVG markup with scoped resource identifiers |\n| `renderIconSource(definition, idPrefix?)` | Renders a complete standalone SVG document |\n| `/<style>` | Provides named icon definitions for one style |\n| `/<style>/<icon>` | Provides one default icon definition |\n| `/metadata/<style>` | Provides generated JSON metadata |\n| `/styles.json` | Provides the canonical public style catalogue |\n\n## Rendering Helpers\n\n### `renderIconBody`\n\nRenders the inner markup of an SVG element:\n\n```ts\nconst body = renderIconBody(Home1Icon, 'home-instance');\n```\n\nUse this helper when a custom renderer owns the outer `<svg>` element.\n\n### `renderIconSource`\n\nRenders a complete standalone SVG document:\n\n```ts\nconst source = renderIconSource(Home1Icon, 'home-instance');\n```\n\nUse this helper when a complete SVG string is required.\n\n### Resource prefixes\n\nPass a stable, instance-specific prefix when rendering icons that contain gradients, masks, clip paths, or patterns:\n\n```ts\nconst first = renderIconSource(Home1Icon, 'home-1');\nconst second = renderIconSource(Home1Icon, 'home-2');\n```\n\nThis prevents resource identifier collisions when multiple instances appear in the same document.\n\n## Definition Model\n\n`IconDefinition` keeps SVG content structured rather than flattening it into arbitrary markup.\n\nA definition may contain:\n\n- view-box information;\n- normalized shape nodes;\n- fills and strokes;\n- groups and transforms;\n- gradients;\n- masks;\n- clipping paths;\n- patterns;\n- self-contained embedded images; and\n- generated metadata.\n\nThe renderer:\n\n- escapes XML attribute values;\n- scopes internal resource references;\n- preserves supported resources;\n- rejects external image URLs during compilation; and\n- never executes active content.\n\n## Available Styles\n\n| Import subpath | Style | Icons |\n|---|---|---:|\n| `core-regular` | Core Regular | 1,663 |\n| `core-filled` | Core Filled | 1,663 |\n| **Total** | **All public styles** | **3,326** |\n\nAdditional Core, Cute, and Sharp styles are available in Mingcute Pro.\n\n## Building a Custom Renderer\n\nA custom renderer should support every node and resource represented by `IconDefinition`.\n\nAt minimum, account for:\n\n- SVG geometry;\n- groups and transforms;\n- inherited paint;\n- gradients;\n- masks;\n- clip paths;\n- patterns;\n- scoped resource IDs; and\n- self-contained embedded images.\n\nDo not assume that every icon is a flat list of paths.\n\n## Security\n\nGenerated definitions are trusted build artifacts.\n\nThe package:\n\n- structures icon resources instead of storing arbitrary executable markup;\n- escapes XML values during string rendering;\n- scopes resource references;\n- preserves only supported embedded resources; and\n- rejects external image URLs during compilation.\n\nThe package guarantees the safety of its generated icon data, not arbitrary markup added by an application.\n\nDo not concatenate untrusted HTML or SVG into rendered output.\n\n## Production Guidance\n\n- The package is ESM-only and declares `sideEffects: false`.\n- Prefer direct definition imports in custom renderers and performance-sensitive code.\n- Pass a stable custom resource prefix when the renderer owns instance identity.\n- Treat generated definitions and metadata as immutable.\n- Avoid namespace imports of complete styles when only a small number of icons is needed.\n- Configure the toolchain for JSON modules before importing metadata directly.\n- Keep custom renderers aligned with the complete `IconDefinition` model.\n\n## Integration with Framework Packages\n\nThe public framework packages consume `@mingcute/icons`:\n\n```text\n@mingcute/icons\n├── @mingcute/react\n├── @mingcute/vue\n├── @mingcute/react-native\n├── @mingcute/svelte\n├── @mingcute/solid\n├── @mingcute/vanilla\n└── @mingcute/web-components\n```\n\n`@mingcute/icons` owns:\n\n- icon names;\n- normalized geometry;\n- SVG resources;\n- style metadata; and\n- rendering helpers.\n\nFramework adapters own their target-specific component APIs and accessibility behavior.\n\n## Troubleshooting\n\n### A definition import cannot be resolved\n\nUse a PascalCase named export from a style entry point:\n\n```ts\nimport { Home1Icon } from '@mingcute/icons/core-regular';\n```\n\nOr use the kebab-case direct path:\n\n```ts\nimport Home1Icon from '@mingcute/icons/core-regular/home-1';\n```\n\n### A JSON metadata import fails\n\nEnable JSON-module support in the toolchain or load the metadata file through the bundler’s asset API.\n\n### Duplicate SVG resource IDs appear\n\nPass a distinct prefix for each independently rendered instance:\n\n```ts\nrenderIconSource(Home1Icon, 'instance-1');\nrenderIconSource(Home1Icon, 'instance-2');\n```\n\n### A custom renderer drops artwork\n\nSupport every resource represented by the definition model, including gradients, masks, clip paths, patterns, and embedded images.\n\n### The bundle is larger than expected\n\nUse direct icon paths and avoid importing complete styles as namespaces.\n\n## Development\n\nThis package is generated from canonical SVG sources. Do not edit generated output by hand.\n\n```bash\npnpm --filter @mingcute/icons check\n```\n\n<img src=\"https://raw.githubusercontent.com/mingcute-design/mingcute-icons/main/images/banner3.png\" alt=\"Editable Mingcute vector construction\" width=\"100%\" />\n\n## License\n\nLicensed under the [Apache License 2.0](../../LICENSE). See the included `LICENSE` file.\n\n## Links\n\n- [Mingcute website](https://www.mingcute.com/)\n- [Package changelog](./CHANGELOG.md)\n- [Mingcute Icons packages](../../README.md#packages)\n- [Repository](https://github.com/mingcute-design/mingcute-icons)\n","readmeFilename":"README.md"}