{"id":21496297,"url":"https://github.com/phosphor-icons/vue","last_synced_at":"2026-05-15T05:05:00.898Z","repository":{"id":37877581,"uuid":"289641514","full_name":"phosphor-icons/vue","owner":"phosphor-icons","description":"A flexible icon family for Vue","archived":false,"fork":false,"pushed_at":"2025-05-12T18:02:28.000Z","size":10572,"stargazers_count":221,"open_issues_count":3,"forks_count":21,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-11-18T00:18:03.927Z","etag":null,"topics":["icon-font","icon-pack","icons","svg","svg-icons","vue","vuejs"],"latest_commit_sha":null,"homepage":"https://phosphoricons.com","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phosphor-icons.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yaml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["phosphor-icons","rektdeckard"],"open_collective":"phosphoricons","ko_fi":"phosphoricons","patreon":"phosphoricons","buy_me_a_coffee":"phosphoricons"}},"created_at":"2020-08-23T07:57:17.000Z","updated_at":"2025-11-16T13:21:12.000Z","dependencies_parsed_at":"2024-06-18T14:37:15.696Z","dependency_job_id":"23e4a424-116b-48fa-9baf-d30346e2f977","html_url":"https://github.com/phosphor-icons/vue","commit_stats":{"total_commits":25,"total_committers":3,"mean_commits":8.333333333333334,"dds":"0.19999999999999996","last_synced_commit":"eb5837851a9ec34fddfc787cdb2d89a7fc9807aa"},"previous_names":["phosphor-icons/phosphor-vue"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/phosphor-icons/vue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phosphor-icons%2Fvue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phosphor-icons%2Fvue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phosphor-icons%2Fvue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phosphor-icons%2Fvue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phosphor-icons","download_url":"https://codeload.github.com/phosphor-icons/vue/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phosphor-icons%2Fvue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33054454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-15T02:00:06.351Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["icon-font","icon-pack","icons","svg","svg-icons","vue","vuejs"],"created_at":"2024-11-23T16:15:40.223Z","updated_at":"2026-05-15T05:05:00.892Z","avatar_url":"https://github.com/phosphor-icons.png","language":"Vue","funding_links":["https://github.com/sponsors/phosphor-icons","https://github.com/sponsors/rektdeckard","https://opencollective.com/phosphoricons","https://ko-fi.com/phosphoricons","https://patreon.com/phosphoricons","https://buymeacoffee.com/phosphoricons"],"categories":[],"sub_categories":[],"readme":"\u003e [!IMPORTANT]\n\u003e As part of a major update, we will be replacing the existing `phosphor-vue` package with `@phosphor-icons/vue`. We recommend using this new version, as it has improved performance and significantly smaller bundle size. No APIs have been changed, so drop-in replacement should be straightforward. The legacy package will continue to recieve maintenance, but will not be updated with new icons upstream. [Take me to the legacy version ➜](https://github.com/phosphor-icons/vue/tree/vue2)\n\n# @phosphor-icons/vue\n\n\u003c!-- BEGIN_LOGO --\u003e\n\u003cimg src=\"/.github/logo.png\" width=\"128\" align=\"right\" /\u003e\n\u003c!-- END_LOGO --\u003e\n\nPhosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really. Explore all our icons at [phosphoricons.com](https://phosphoricons.com).\n\n[![NPM](https://img.shields.io/npm/v/phosphor-vue.svg?style=flat-square)](https://www.npmjs.com/package/phosphor-vue) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg?style=flat-square)](https://standardjs.com) [![Travis](https://img.shields.io/travis/com/rektdeckard/phosphor-vue.svg?style=flat-square)](https://travis-ci.com/github/rektdeckard/phosphor-vue)\n\n[![GitHub stars](https://img.shields.io/github/stars/phosphor-icons/phosphor-vue?style=flat-square\u0026label=Star)](https://github.com/phosphor-icons/phosphor-vue)\n[![GitHub forks](https://img.shields.io/github/forks/phosphor-icons/phosphor-vue?style=flat-square\u0026label=Fork)](https://github.com/phosphor-icons/phosphor-vue/fork)\n[![GitHub watchers](https://img.shields.io/github/watchers/phosphor-icons/phosphor-vue?style=flat-square\u0026label=Watch)](https://github.com/phosphor-icons/phosphor-vue)\n[![Follow on GitHub](https://img.shields.io/github/followers/rektdeckard?style=flat-square\u0026label=Follow)](https://github.com/rektdeckard)\n\n\n## Playground\n\nCheck out our playground in StackBlitz and start experimenting!\n\n[![Open in StackBlitz](https://img.shields.io/static/v1?style=for-the-badge\u0026label=Stackblitz\u0026message=open%20playground\u0026color=%231269D3\u0026logo=stackblitz)](https://stackblitz.com/github/phosphor-icons/vue/tree/main?file=src%2FApp.vue)\n\n## Installation\n\n```bash\nyarn add @phosphor-icons/vue\n```\n\nor\n\n```bash\nnpm install @phosphor-icons/vue\n```\n\n## Usage\n\n```html\n\u003ctemplate\u003e\n  \u003cPhHorse /\u003e\n  \u003cPhHeart :size=\"32\" color=\"hotpink\" weight=\"fill\" /\u003e\n  \u003cPhCube /\u003e\n\u003c/template\u003e\n\n\u003cscript lang=\"ts\" setup\u003e\n  import { PhHorse, PhHeart, PhCube } from \"@phosphor-icons/vue\";\n\u003c/script\u003e\n```\n\n### Global install\n\nAllthough we strongly advise against installing your icons globally, you can do so by registering it in your app as follows:\n\n```typescript\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport PhosphorIcons from \"@phosphor-icons/vue\"\n\nlet app = createApp(App)\n\napp.use(PhosphorIcons)\n\napp.mount('#app')\n```\n\n\u003e [!NOTE]\n\u003e Why do we advise against global installs?\n\u003e\n\u003e Bundlers such as Vite and Webpack rely on ESM imports to do tree-shaking. When you install entire library globally, you lose the ability to do tree-shaking, since all components are registered within vue, and the bundler cannot know which components are actually used in your app.\n\n### Props\n\nIcon components accept all attributes that you can pass to a normal SVG element, including inline `height`/`width`, `x`/`y`, `opacity`, plus `@click` and other `v-on` handlers. The main way of styling them will usually be with the following props:\n\n- **color?**: `string` – Icon stroke/fill color. Can be any CSS color string, including `hex`, `rgb`, `rgba`, `hsl`, `hsla`, named colors, or the special `currentColor` variable.\n- **size?**: `number | string` – Icon height \u0026 width. As with standard React elements, this can be a number, or a string with units in `px`, `%`, `em`, `rem`, `pt`, `cm`, `mm`, `in`.\n- **weight?**: `\"thin\" | \"light\" | \"regular\" | \"bold\" | \"fill\" | \"duotone\"` – Icon weight/style. Can be used, for example, to \"toggle\" an icon's state: a rating component could use Stars with `weight=\"regular\"` to denote an empty star, and `weight=\"fill\"` to denote a filled star.\n- **mirrored?**: `boolean` – Flip the icon horizontally. Can be useful in RTL languages where normal icon orientation is not appropriate.\n\n### Composition\n\nPhosphor takes advantage of Vue's `provide`/`inject` options to make applying a default style to all icons simple. Create a `provide` object or function at the root of the app (or anywhere above the icons in the tree) that returns a configuration object with props to be applied by default to all icons below it in the tree:\n\n```html\n\u003ctemplate\u003e\n  \u003cPhHorse /\u003e {/* I'm lime-green, 32px, and bold! */}\n  \u003cPhHeart /\u003e {/* Me too! */}\n  \u003cPhCube /\u003e {/* Me three :) */}\n\u003c/template\u003e\n\n\u003cscript lang=\"ts\" setup\u003e\n  import { PhHorse, PhHeart, PhCube } from \"@phosphor-icons/vue\";\n  import { provide } from \"vue\"\n\n  provide(\"color\", \"limegreen\")\n  provide(\"size\", 32)\n  provide(\"weight\", \"bold\")\n  provide(\"mirrored\", false)\n\u003c/script\u003e\n```\n\nYou may create multiple providers for styling icons differently in separate regions of an application; icons use the nearest provider above them to determine their style.\n\n\u003e [!NOTE]\n\u003e The **color**, **size**, **weight**, and **mirrored** properties are all _optional_ props when creating a context, but default to `\"currentColor\"`, `\"1em\"`, `\"regular\"` and `false`.\n\n### Slots\n\n\u003cimg src=\"/.github/cube-rotate.svg\" width=\"128\" align=\"right\" /\u003e\n\nComponents have a `\u003cslot\u003e` for arbitrary SVG elements, so long as they are valid children of the `\u003csvg\u003e` element. This can be used to modify an icon with background layers or shapes, filters, animations and more. The slotted children will be placed _below_ the normal icon contents.\n\nThe following will cause the Cube icon to rotate and pulse:\n\n```html\n\u003ctemplate\u003e\n  \u003cPhCube color=\"darkorchid\" weight=\"duotone\"\u003e\n    \u003canimate\n      attributeName=\"opacity\"\n      values=\"0;1;0\"\n      dur=\"4s\"\n      repeatCount=\"indefinite\"\n    /\u003e\n    \u003canimateTransform\n      attributeName=\"transform\"\n      attributeType=\"XML\"\n      type=\"rotate\"\n      dur=\"5s\"\n      from=\"0 0 0\"\n      to=\"360 0 0\"\n      repeatCount=\"indefinite\"\n    /\u003e\n  \u003c/PhCube\u003e\n\u003c/template\u003e\n```\n\n\u003e [!NOTE]\n\u003e The coordinate space of slotted elements is relative to the contents of the icon `viewBox`, which is a 256x256 square. Only [valid SVG elements](https://developer.mozilla.org/en-US/docs/Web/SVG/Element#SVG_elements_by_category) will be rendered.\n\n## Development\n\nThis repository leverages git-submodules to stay up-to-date with the [phosphor-icons/core](https://github.com/phosphor-icons/core) repository, which means that for local developoment, you'll need to clone this repository with the `--recurse-submodules` git clone flag.\n\nAfter you've successfully cloned the repository, you will find a `core` directory containing the aforementioned core repository.\n\nNow you can install all local dependencies with `npm install` and start developing.\n\n### Project structure\n\n`/bin`: Holds the assembly script, which uses the raw SVG icon files from the core directory to assemble all Vue components\n\n`/core`: Git submodule directory for the core repository\n\n`/dist`: Will be created upon building the library and holds all dist bundles\n\n`/node_modules`: You should know by now what this directory is about\n\n`/src`: Holds the entry point for this library\n\n### Assembling\n\nTo assemble the Vue components you will need to run `npm run assemble`. This will loop through all icons in the `/core/assets` directory and create all Vue components including all weights and configuration props. These Vue components are then saved under `/src/components` which will then be used by the bundler to create the final package bundle.\n\nNOTE: Upon cloning this repository, the `/src/components` directory does not exist yet. You will first need to run the `assemble` script for this directory to be generated.\n\n\u003c!-- BEGIN_LINKS --\u003e\n## Our Projects\n\n- [@phosphor-icons/homepage](https://github.com/phosphor-icons/homepage) ▲ Phosphor homepage and general info\n- [@phosphor-icons/core](https://github.com/phosphor-icons/core) ▲ Phosphor icon assets and catalog\n- [@phosphor-icons/elm](https://github.com/phosphor-icons/phosphor-elm) ▲ Phosphor icons for Elm\n- [@phosphor-icons/figma](https://github.com/phosphor-icons/figma) ▲ Phosphor icons Figma plugin\n- [@phosphor-icons/flutter](https://github.com/phosphor-icons/flutter) ▲ Phosphor IconData library for Flutter\n- [@phosphor-icons/pack](https://github.com/phosphor-icons/pack) ▲ Phosphor web font stripper to generate minimal icon bundles\n- [@phosphor-icons/penpot](https://github.com/phosphor-icons/penpot) ▲ Phosphor icons Penpot plugin\n- [@phosphor-icons/react](https://github.com/phosphor-icons/react) ▲ Phosphor icon component library for React\n- [@phosphor-icons/sketch](https://github.com/phosphor-icons/sketch) ▲ Phosphor icons Sketch plugin\n- [@phosphor-icons/swift](https://github.com/phosphor-icons/swift) ▲ Phosphor icon component library for SwiftUI\n- [@phosphor-icons/theme](https://github.com/phosphor-icons/theme) ▲ A VS Code (and other IDE) theme with the Phosphor color palette\n- [@phosphor-icons/unplugin](https://github.com/phosphor-icons/unplugin) ▲ A multi-framework bundler plugin for generating Phosphor sprite sheets\n- [@phosphor-icons/vue](https://github.com/phosphor-icons/vue) ▲ Phosphor icon component library for Vue\n- [@phosphor-icons/web](https://github.com/phosphor-icons/web) ▲ Phosphor icons for Vanilla JS\n- [@phosphor-icons/webcomponents](https://github.com/phosphor-icons/webcomponents) ▲ Phosphor icons as Web Components\n\n## Community Projects\n\n- [adamglin0/compose-phosphor-icons](https://github.com/adamglin0/compose-phosphor-icon) ▲ Phosphor icons for Compose Multiplatform\n- [altdsoy/phosphor_icons](https://github.com/altdsoy/phosphor_icons) ▲ Phosphor icons for Phoenix and TailwindCSS\n- [amPerl/egui-phosphor](https://github.com/amperl/egui-phosphor) ▲ Phosphor icons for egui apps (Rust)\n- [babakfp/phosphor-icons-svelte](https://github.com/babakfp/phosphor-icons-svelte) ▲ Phosphor icons for Svelte apps\n- [brettkolodny/phosphor-lustre](https://github.com/brettkolodny/phosphor-lustre) ▲ Phosphor icons for Lustre\n- [cellularmitosis/phosphor-uikit](https://github.com/cellularmitosis/phosphor-uikit) ▲ XCode asset catalog generator for Phosphor icons (Swift/UIKit)\n- [cjohansen/phosphor-clj](https://github.com/cjohansen/phosphor-clj) ▲ Phosphor icons as Hiccup for Clojure and ClojureScript\n- [codeat3/blade-phosphor-icons](https://github.com/codeat3/blade-phosphor-icons) ▲ Phosphor icons in your Laravel Blade views\n- [dennym/phosphor_icons_ex](https://github.com/dennym/phosphor_icons_ex) ▲ Phosphor icons for Elixir, Phoenix and Ash\n- [dreamRs/phosphor-r](https://github.com/dreamRs/phosphoricons) ▲ Phosphor icon wrapper for R documents and applications\n- [duongdev/phosphor-react-native](https://github.com/duongdev/phosphor-react-native) ▲ Phosphor icon component library for React Native\n- [haruaki07/phosphor-svelte](https://github.com/haruaki07/phosphor-svelte) ▲ Phosphor icons for Svelte apps\n- [IgnaceMaes/ember-phosphor-icons](https://github.com/IgnaceMaes/ember-phosphor-icons) ▲ Phosphor icons for Ember apps\n- [iota-uz/icons](https://github.com/iota-uz/icons) ▲ Phosphor icons as Templ components (Go)\n- [jajuma/phosphorhyva](https://github.com/JaJuMa-GmbH/phosphor-hyva) ▲ Phosphor icons for Magento 2 \u0026 Mage-OS with Hyvä Theme\n- [Kitten](https://kitten.small-web.org/reference/#icons) ▲ Phosphor icons integrated by default in Kitten\n- [lucagoslar/phosphor-css](https://github.com/lucagoslar/phosphor-css) ▲ CSS wrapper for Phosphor SVG icons\n- [maful/ruby-phosphor-icons](https://github.com/maful/ruby-phosphor-icons) ▲ Phosphor icons for Ruby and Rails applications\n- [meadowsys/phosphor-svgs](https://github.com/meadowsys/phosphor-svgs) ▲ Phosphor icons as Rust string constants\n- [mwood/tamagui-phosphor-icons](https://github.com/mwood23/tamagui-phosphor-icons) ▲ Phosphor icons for Tamagui\n- [noozo/phosphoricons_elixir](https://github.com/noozo/phosphoricons_elixir) ▲ Phosphor icons as SVG strings for Elixir/Phoenix\n- [oyedejioyewole/nuxt-phosphor-icons](https://github.com/oyedejioyewole/nuxt-phosphor-icons) ▲ Phosphor icons integration for Nuxt\n- [pepaslabs/phosphor-uikit](https://github.com/pepaslabs/phosphor-uikit) ▲ Xcode asset catalog generator for Swift/UIKit\n- [raycast/phosphor-icons](https://www.raycast.com/marinsokol/phosphor-icons) ▲ Phosphor icons Raycast extension\n- [reatlat/eleventy-plugin-phosphoricons](https://github.com/reatlat/eleventy-plugin-phosphoricons) ▲ An Eleventy shortcode plugin to embed icons as inline SVGs\n- [robruiz/wordpress-phosphor-icons-block](https://github.com/robruiz/phosphor-icons-block) ▲ Phosphor icon block for use in WordPress v5.8+\n- [sachaw/solid-phosphor](https://github.com/sachaw/solid-phosphor) ▲ Phosphor icons for SolidJS\n- [SeanMcP/phosphor-astro](https://github.com/SeanMcP/phosphor-astro) ▲ Phosphor icons as Astro components\n- [SorenHolstHansen/phosphor-leptos](https://github.com/SorenHolstHansen/phosphor-leptos) ▲ Phosphor icon component library for Leptos apps (Rust)\n- [vnphanquang/phosphor-icons-tailwindcss](https://github.com/vnphanquang/phosphor-icons-tailwindcss) ▲ TailwindCSS plugin for Phosphor icons\n- [wireui/phosphoricons](https://github.com/wireui/phosphoricons) ▲ Phosphor icons for Laravel\n\nIf you've made a port of Phosphor and you want to see it here, just open a PR [here](https://github.com/phosphor-icons/homepage)!\n\n## License\n\nMIT © [Phosphor Icons](https://github.com/phosphor-icons)\n\u003c!-- END_LINKS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphosphor-icons%2Fvue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphosphor-icons%2Fvue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphosphor-icons%2Fvue/lists"}