- Over 1250 pixel-perfect icons
- TypeScript definitions
- Vue 3 support
- Vue 2 support (see v1.x)
- All icons are compiled to JS, no preprocessing required
yarn add vue-tabler-icons
# or
npm i vue-tabler-icons
Version 2.x is Vue 3 only, if you use Vue 2 then install any 1.x version
yarn add vue-tabler-icons@^1.0
v1.x is no longer a priority so updates may be delayed or discontinued.
<script>
// MyComponent.vue
import { BoldIcon } from "vue-tabler-icons";
export default {
components: { BoldIcon },
};
</script>
<template>
<bold-icon />
</template>
You may install a Vue plugin that automatically adds all components to the Vue instance.
Note: this usage is not recommended as it cannot be tree-shaken.
import Vue from "vue";
import VueTablerIcons from "vue-tabler-icons";
Vue.use(VueTablerIcons);
Now you can use icons without importing them:
<template>
<trash-icon />
</template>
If you prefer CDN, then use this URL https://unpkg.com/vue-tabler-icons/dist/vue-tabler-icons.umd.js
The library doesn't automatically registers itself so you need to do it manually:
<script>
Vue.use(VueTablerIcons);
</script>
Component names use the same names as defined in the original library with some rules applied:
- they are in PascalCase
- underscores before numbers are removed
Icon
added to the end of the name
For example:
arrows-diagonal-2
will become ArrowsDiagonal2Icon
.
Following icon names are replaced to match JavaScript variable name pattern:
Original | New |
---|---|
2fa.svg | TwoFactorAuthIcon |
3d-cube-sphere.svg | ThreedCubeSphereIcon |
3d-cube-sphere-off.svg | ThreedCubeSphereIconOff |
3d-rotate.svg | ThreedRotateIcon |
123.svg | OneTwoThreeRotateIcon |
360-view.svg | Deg360ViewIcon |
360.svg | Deg360Icon |
All components define size
property that you can use to control the icon's size:
<bold-icon size="48" />
Will render 48x48 icon.
All other attributes are directly bound to the underlying SVG image.
Attributes height
and width
have higher precedence over size
property.
All icons use currentColor
as their color. You can colorize your icons as you do that for text.
<bold-icon style="color: red" /> <bold-icon class="text-red" />
Any custom attribute that set on the component will be applied directly to the SVG asset.
For example, if you want to set stroke-width
attribute just set it as usually:
<bold-icon stroke-width="1" />
Clone repo:
git clone https://github.com/alex-oleshkevich/vue-feather-icons.git
Install deps:
yarn install
Run build
yarn build
Icon component will be in icons
directory.
- Tabler Icons for icon pack