Home

Awesome

Tabler Icons as Vue 3 components

NPM GitHub Workflow Status GitHub NPM - Downloads

Preview

Live preview tool

<details> <summary>Preview icons</summary> <p>

Tabler Icons

</p>
</details>

Features

Installation

Installation for Vue 3

yarn add vue-tabler-icons

# or

npm i vue-tabler-icons

Installation for Vue 2

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.

Usage

<script>
    // MyComponent.vue
    import { BoldIcon } from "vue-tabler-icons";

    export default {
        components: { BoldIcon },
    };
</script>

<template>
    <bold-icon />
</template>

Using Vue plugin

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>

Using CDN

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>

Naming pattern

Component names use the same names as defined in the original library with some rules applied:

For example:

arrows-diagonal-2 will become ArrowsDiagonal2Icon.

Replacements

Following icon names are replaced to match JavaScript variable name pattern:

OriginalNew
2fa.svgTwoFactorAuthIcon
3d-cube-sphere.svgThreedCubeSphereIcon
3d-cube-sphere-off.svgThreedCubeSphereIconOff
3d-rotate.svgThreedRotateIcon
123.svgOneTwoThreeRotateIcon
360-view.svgDeg360ViewIcon
360.svgDeg360Icon

Icon size

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.

<bold-icon height="18" />

Attributes height and width have higher precedence over size property.

Icon color

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" />

Stroke width and other SVG attributes

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" />

Building locally

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.

Credits