Vue Icon Set Components from Ionic Team
Design icons sourced from the Ionicons project.
https://mazipan.github.io/vue-ionicons
-
Install the package
# NPM npm install --save vue-ionicons # Yarn yarn add vue-ionicons
-
Import the icon, and declare it as a local component:
import AlertIcon from 'vue-ionicons/dist/ios-alert.vue' // OR using transpiled js version // import AlertIcon from 'vue-ionicons/dist/js/ios-alert' components: { AlertIcon }
OR
Declare it as a global component:
import AlertIcon from 'vue-ionicons/dist/ios-alert.vue' // OR using transpiled js version // import AlertIcon from 'vue-ionicons/dist/js/ios-alert' Vue.component('alert-icon', AlertIcon)
Note Icon files are kebab cased, e.g.
alert-circle.vue. All icon generated can be see in dist folder. -
Include global CSS/SCSS in your
main.js# Using plain css require('vue-ionicons/ionicons.css') # Or using SCSS import @import('~vue-ionicons/ionicons.scss')
-
Then use it in your template code!
<AlertIcon />
Sometimes we don't want import one by one, so from v2.3.0 we can include this groups icon: ios, md, logo.
import AllIosIcon from 'vue-ionicons/dist/ionicons-ios.js'
Vue.use(AllIosIcon)
/*
-- File available --
Material: ionicons-md.js
Logo: ionicons-logo.js
All: ionicons.js
*/Then you already can use component in your template, component tag is same with filename with adding -icon in postfix.
Example:
<ios-add-circle-outline-icon />
<ios-add-circle-icon />
<md-add-circle-outline-icon />
<md-add-circle-icon />| Name | Type | Default | Description |
|---|---|---|---|
| w | String | 14px | Width of SVG |
| h | String | 14px | Height of SVG |
| rootClass | String | empty |
Class for wrapper SVG |
| animate | String | empty |
Available: rotate, shake, beat |
Checkout with submodule :
git clone [email protected]:mazipan/vue-ionicons.git
git submodule init
git submodule update --remoteRun demo
npm run devBuild demo
npm run buildBuild new distribute icon
npm run dist-
Use
resolvein your Webpack config to clean up the imports:resolve: { alias : { "icons": path.resolve(__dirname, "node_modules/vue-ionicons/dist") } }
This will give you much shorter and more readable imports, like
import Android from 'icons/android', rather thanimport Android from 'vue-ionicons/dist/android.vue'. Much better!
- Ionicons project by @Ionic-Team.
- Vue Material Design Icons by @robcresswell.
- Via trakteer
- Direct support, send me an email
If you'd like to contribute, head to the contributing guidelines. Inside you'll find directions for opening issues, coding standards, and notes on development.
Copyright © 2017 Built with ❤️ by Irfan Maulana