mirror of
https://github.com/lucide-icons/lucide.git
synced 2025-12-23 01:09:23 +01:00
* Add markdown support * Fix a lot of issues * Add core components * Add codeblocks * fix codeblocks * Add More components * add links * Fix loading docs * Fix docs * Fix empty lines * small Fix * Add heading provider * created menu * remove borderline * Add mobilemenu component * add next env * update code style * generate heading element positions * Add package pages * add fetch packages * Add lucide logo * Add icons and adjust description * improve some things * fix types * Fix logo types * fix types * Add logo's * update packages docs * resize icons * small changes * update packages links
1.8 KiB
1.8 KiB
Lucide Vue
Implementation of the lucide icon library for Vue applications.
⚠️ This version of lucide is for Vue 2, For Vue 3 got to lucide-vue-next
Installation
yarn add lucide-vue
# or
npm install lucide-vue
How to use
It's build with ESmodules so it's completely threeshakable. Each icon can be imported as a vue component.
Example
You can pass additional props to adjust the icon.
<template>
<Camera
color="red"
:size="32"
/>
</template>
<script>
// Returns Vue component
import { Camera } from 'lucide-vue';
export default {
name: "My Component",
components: { Camera }
}
</script>
Props
| name | type | default |
|---|---|---|
size |
Number | 24 |
color |
String | currentColor |
strokeWidth |
Number | 2 |
defaultClass |
String | lucide-icon |
Custom props
You can also pass custom props that will be added in the svg as attributes.
<template>
<Camera fill="red" />
</template>
One generic icon component
It is possible to create one generic icon component to load icons.
⚠️ Example below importing all EsModules, caution using this example, not recommended when you using bundlers, your application build size will grow strongly.
Icon Component Example
<template>
<component :is="icon" />
</template>
<script>
import * as icons from "lucide-vue";
export default {
props: {
name: {
type: String,
required: true,
},
},
computed: {
icon() {
return icons[this.name];
},
},
};
</script>
Then you can use it like this
<template>
<div id="app">
<Icon name="Airplay" />
</div>
</template>