Skip to content

Icon

Icon component that resolves icons through a customizable resolver. Register your icon library using registerCustomIconResolver.

Import

typescript
import { Icon } from 'vuiii'

Basic Usage

vue
// Basic usage import { Icon } from 'vuiii'

<Icon name="check" />
<Icon name="user" size="large" />

More Examples

vue
// Different sizes
<Icon name="star" size="small" />
<Icon name="star" size="normal" />
<Icon name="star" size="large" />
vue
// Register custom icon resolver (typically in app setup) import { registerCustomIconResolver } from 'vuiii' import {
defineAsyncComponent } from 'vue' registerCustomIconResolver((name) => { return defineAsyncComponent(() =>
import(`./icons/${name}.vue`)) })
vue
// With Heroicons import * as HeroIcons from '@heroicons/vue/24/outline' registerCustomIconResolver((name) => { const
pascalName = name.split('-').map(s => s[0].toUpperCase() + s.slice(1)).join('') + 'Icon' return HeroIcons[pascalName] })
// Then use in templates
<Icon name="user" />
// resolves to UserIcon
<Icon name="check" />
// resolves to CheckIcon

Storybook

For interactive examples with all variants, see Icon in Storybook.

Released under the MIT License.