crst-icon is a Vue 3 icon component library
npm install @codetab/crst-iconA lightweight and flexible icon library for Vue 3 applications.
crst-icon is a Vue 3 library that provides an efficient way to manage and use icons in your applications. It includes a set of default icons and allows you to easily add your own custom icons.
For detailed documentation and live examples, visit codetab.tech
- 🚀 Vue 3 Support
- 📦 Built-in Default Icons
- 🎨 Custom Icon Support
- 🔧 Easy Configuration
- 💪 TypeScript Support
- 🎯 Tree-shakeable
- 🎭 Customizable Styling
- ♿ Accessibility Support
``bash`
npm install @codetab/crst-icon
or
`bash`
yarn add @codetab/crst-icon
Create an icons registry file (e.g., src/icons/index.ts):
`typescript
// src/icons/index.ts
import { registerIcons } from '@codetab/crst-icon'
const icons = import.meta.glob('./*.vue')
registerIcons(icons)
`
Import and register the component and styles in your main file:
`typescript
// main.ts
import { createApp } from 'vue'
import App from './App.vue'
import './icons' // Import icons registry
import { CrstIcon } from '@codetab/crst-icon'
import '@codetab/crst-icon/style.css'
const app = createApp(App)
app.component('CrstIcon', CrstIcon)
app.mount('#app')
`
Use the icon component in your templates:
`vue`
The library comes with a set of default icons that you can use right away:
`vue`
The library provides predefined size classes:
- xs - 1rem (16px)sm
- - 1.5rem (24px)md
- - 2rem (32px)lg
- - 2.5rem (40px)xl
- - 3rem (48px)2xl
- - 4rem (64px)3xl
- - 5rem (80px)4xl
- - 6rem (96px)5xl
- - 7rem (112px)6xl
- - 8rem (128px)7xl
- - 9rem (144px)8xl
- - 10rem (160px)9xl
- - 11rem (176px)10xl
- - 12rem (192px)
`vue`
Built-in color variants:
- primarysecondary
- success
- warning
- error
- info
-
`vue`
You can customize the colors using CSS variables:
`css`
:root {
--icon-primary-color: #your-color;
--icon-secondary-color: #your-color;
--icon-success-color: #your-color;
--icon-warning-color: #your-color;
--icon-error-color: #your-color;
--icon-info-color: #your-color;
--icon-focus-color: #your-color;
}
Add spinning animation to your icon:
`vue`
| Prop | Type | Default | Description |
| ------ | ------ | -------------- | ------------------------------ |
| name | String | required | Name of the icon |
| size | String | 'md' | Size of the icon (xs to 10xl) |
| color | String | 'currentColor' | Color class or CSS color value |
| rotate | Number | 0 | Rotation degree |
The library includes TypeScript declarations out of the box. No additional setup is required.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License © 2024 codetab
`sh`
npm install
`sh`
npm run dev
`sh`
npm run build
`sh``
npm run lint
---
Built with ❤️ by codetab.tech.