vue-component-icon
v1.1.2
Published
Create and use your own icons, or use only your favorites in your vue.js project.
Downloads
3
Maintainers
Readme
Vue Component Icon
Create and use your own icons, or use only your favorites in your vue.js project.
Install
npm i --save-dev vue-component-icon
# or
yarn add --dev vue-component-icon
How to use?
Import and connection
Vue.js v2
// main
import Vue from "vue";
import App from "./App.vue";
import cIcon from "vue-component-icon";
new Vue({
cIcon,
render: (h) => h(App),
}).$mount("#app");
Vue.js v3
// main
import { createApp } from "vue";
import App from "./App.vue";
import cIcon from "vue-component-icon";
const app = createApp(App);
app.use(cIcon);
app.mount("#app");
Create a list of icons in your directory
// path/list-icons
export const mdiCheck = "M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z";
export const mdiClose = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";
...
export const yourIcon = "path";
...
for mdi
- go to mdi website;
- select and click to the icon;
- find the
Advanced Export
label and click on thecode
icon; - elect
View SVG
; - select and copy path from the
d="..."
; - create a variable in the icon file;
for Font Awesome
- go to fontawesome;
- select and click to the icon;
- find and click the
code
icon to copy the SVG; - paste the code in any text editor and cut the content from
d="..."
; - create a variable in the icon file;
Import the list locally in components or globally
<!-- component.vue -->
<script>
import { mdiCheck, mdiClose, yourIcon } from "./list-icons";
export default {
data: () => ({
mdiCheck,
mdiClose,
yourIcon,
}),
};
</script>
Usage in template
<template>
<div>
<c-icon x-large color="yellowgreen" :path="yourIcon" />
<c-icon size="32" color="red" :path="mdiClose" />
</div>
</template>
- Create plugin
vue-component-icon.js
// ./plugins/vue-component-icon.js
import Vue from 'vue'
import cIcon from 'vue-component-icon'
Vue.use(cIcon)
- Add plugin
// nuxt.config.js
plugins: [
...
{ src: '~/plugins/vue-component-icon' },
...
],
- Use in vue component
<script>
import { mdiBriefcaseEyeOutline } from '@mdi/js'
export default {
data() {
return {
mdiBriefcaseEyeOutline,
}
}
}
</script>
<template>
<c-icon :path="mdiBriefcaseEyeOutline" />
</template>
Props
| Name | Type | Require | Default | Description |
| -------- | -------------------- | :--------- | :------------- | ------------------------------------------------------------------------------------------------------------ |
| color | string
| optional | currentColor
| Applies specified color to the control. For example yellow
or css color (#fff
or rgba(255, 0, 0, 0.5)
) |
| dark | boolean
| optional | false | Changed component color to white if color option is not set. |
| dense | boolean
| optional | false | Makes icon smaller (20px) |
| disabled | boolean
| optional | false | Disable the input |
| large | boolean
| optional | false | Makes the component large (36px) |
| left | boolean
| optional | false | Applies margin-right
to the icon when placed to the left
of another element or text |
| path | string
| required
| ''
| Generic element to define a shape |
| right | boolean
| optional | false | Applies margin-left
to the icon when placed to the right
of another element or text |
| rotate | number
or string
| optional | 0
| from 0
to 360
|
| size | number
or string
| optional | 24
| Specifies a custom font size for the icon |
| small | boolean
| optional | false | Makes the component small (16px) |
| title | string
| optional | ''
| Adds a header to the svg |
| x-large | boolean
| optional | false | Makes the component extra large (40px) |
| x-small | boolean
| optional | false | Makes the component extra small (12px) |
License
Vue Component Icon is licensed under the MIT license. You are free to use, modify and distribute this software, as long as the copyright header is left intact.