|
|
11 месяцев назад | |
|---|---|---|
| .. | ||
| README.md | 11 месяцев назад | |
| package.json | 11 месяцев назад | |
HugeIcons Pro Vue Component Library - Beautiful and customizable icons for your Vue applications
HugeIcons is a comprehensive icon library designed for modern web and mobile applications. The free package includes 4,400+ carefully crafted icons in the Stroke Rounded style, while the pro version offers over 40,000 icons across 9 unique styles.
📚 Looking for Pro Icons? Check out our comprehensive documentation at docs.hugeicons.com for detailed information about pro icons, styles, and advanced usage.
# Using npm
npm install @hugeicons/vue @hugeicons/core-free-icons
# Using yarn
yarn add @hugeicons/vue @hugeicons/core-free-icons
# Using pnpm
pnpm add @hugeicons/vue @hugeicons/core-free-icons
# Using bun
bun add @hugeicons/vue @hugeicons/core-free-icons
<template>
<HugeiconsIcon
:icon="SearchIcon"
:size="24"
color="currentColor"
:stroke-width="1.5"
/>
</template>
<script>
import { HugeiconsIcon } from '@hugeicons/vue';
import { SearchIcon } from '@hugeicons/core-free-icons';
export default {
components: {
HugeiconsIcon
},
setup() {
return {
SearchIcon
}
}
}
</script>
| Prop (in template) | Prop (in script) | Type | Default | Description |
|---|---|---|---|---|
icon |
icon |
[string, Record<string, any>][] |
Required | The main icon to display (array of SVG elements and their attributes) |
size |
size |
number \| string |
24 |
Icon size in pixels. Must be a positive number. String values will be parsed to numbers |
stroke-width |
strokeWidth |
number \| undefined |
undefined |
Width of the icon strokes. When used with absoluteStrokeWidth, the stroke width will be automatically scaled relative to the icon size |
absolute-stroke-width |
absoluteStrokeWidth |
boolean |
false |
When true, the stroke width will be scaled relative to the icon size to maintain visual consistency across different sizes |
alt-icon |
altIcon |
[string, Record<string, any>][] |
undefined |
Alternative icon that can be used for states, interactions, or animations |
show-alt |
showAlt |
boolean |
false |
When true, displays the altIcon instead of the main icon |
color |
color |
string |
currentColor |
Icon color (CSS color value) |
Note:
size prop accepts both numbers and strings, but strings will be parsed to numbers and must result in a positive number.[elementName: string, attributes: Record<string, any>][] representing SVG elements.<template>
<HugeiconsIcon :icon="SearchIcon" />
</template>
<script>
import { HugeiconsIcon } from '@hugeicons/vue';
import { SearchIcon } from '@hugeicons/core-free-icons';
export default {
components: { HugeiconsIcon },
setup() {
return { SearchIcon }
}
}
</script>
<template>
<HugeiconsIcon
:icon="NotificationIcon"
:size="32"
color="#FF5733"
/>
</template>
<script>
import { HugeiconsIcon } from '@hugeicons/vue';
import { NotificationIcon } from '@hugeicons/core-free-icons';
export default {
components: { HugeiconsIcon },
setup() {
return { NotificationIcon }
}
}
</script>
<template>
<div>
<input
v-model="searchValue"
type="text"
placeholder="Search..."
/>
<HugeiconsIcon
:icon="SearchIcon"
:alt-icon="CloseCircleIcon"
:show-alt="searchValue.length > 0"
@click="clearSearch"
/>
</div>
</template>
<script>
import { ref } from 'vue';
import { HugeiconsIcon } from '@hugeicons/vue';
import { SearchIcon, CloseCircleIcon } from '@hugeicons/core-free-icons';
export default {
components: { HugeiconsIcon },
setup() {
const searchValue = ref('');
const clearSearch = () => {
if (searchValue.value.length > 0) {
searchValue.value = '';
}
};
return {
searchValue,
clearSearch,
SearchIcon,
CloseCircleIcon
}
}
}
</script>
<template>
<button @click="toggleTheme">
<HugeiconsIcon
:icon="SunIcon"
:alt-icon="MoonIcon"
:show-alt="isDark"
/>
</button>
</template>
<script>
import { ref } from 'vue';
import { HugeiconsIcon } from '@hugeicons/vue';
import { SunIcon, MoonIcon } from '@hugeicons/core-free-icons';
export default {
components: { HugeiconsIcon },
setup() {
const isDark = ref(false);
const toggleTheme = () => isDark.value = !isDark.value;
return {
isDark,
toggleTheme,
SunIcon,
MoonIcon
}
}
}
</script>
Icons not showing up?
@hugeicons/vue and @hugeicons/core-free-iconsTypeScript errors?
tsconfig.json includes the necessary type definitionsBundle size concerns?
The library supports all modern browsers.
🌟 Want access to 40,000+ icons and 9 unique styles? Check out our Pro Version and visit docs.hugeicons.com for comprehensive documentation.
@hugeicons-pro/core-stroke-rounded)@hugeicons-pro/core-stroke-sharp)@hugeicons-pro/core-stroke-standard)@hugeicons-pro/core-solid-rounded)@hugeicons-pro/core-solid-sharp)@hugeicons-pro/core-solid-standard)@hugeicons-pro/core-bulk-rounded)@hugeicons-pro/core-duotone-rounded)@hugeicons-pro/core-twotone-rounded)This project is licensed under the MIT License.
absoluteStrokeWidth prop for consistent stroke width scaling