Examples with SolidJS
This page shows practical patterns for using HugeiconsIcon in common SolidJS UI components.
All examples assume you’ve already installed @hugeicons/solid-js and either the free or Pro icon packages.
Search bar with clear button
A search input that shows a clear button when text is entered:
import { createSignal } from 'solid-js'
import { HugeiconsIcon } from '@hugeicons/solid-js'
import { SearchIcon, CancelCircleIcon } from '@hugeicons/core-free-icons'
function SearchBar() {
const [value, setValue] = createSignal('')
return (
<div>
<input type="text" value={value()} onInput={e => setValue(e.currentTarget.value)} placeholder="Search..." />
<HugeiconsIcon icon={SearchIcon} altIcon={CancelCircleIcon} showAlt={value().length > 0} onClick={() => value().length > 0 && setValue('')} />
</div>
)
}Favorite toggle button with Pro Icons
A favorite toggle button that switches based on the state:
import { createSignal } from 'solid-js'
import { HugeiconsIcon } from '@hugeicons/solid-js'
import { FavouriteStrokeStandard } from '@hugeicons-pro/core-stroke-standard'
import { FavouriteSolidStandard } from '@hugeicons-pro/core-solid-standard'
export function FavoriteButton() {
const [isFavorite, setIsFavorite] = createSignal(false)
return (
<button onClick={() => setIsFavorite(!isFavorite())}>
<HugeiconsIcon icon={FavouriteStrokeStandard} altIcon={FavouriteSolidStandard} showAlt={isFavorite()} size={20} />
</button>
)
}Bottom navigation with active state
A navigation bar that uses different icon styles to indicate the active state:
import { createSignal, For } from 'solid-js'
import { HugeiconsIcon } from '@hugeicons/solid-js'
import { HomeIcon, SearchIcon, Notification03Icon, UserIcon } from '@hugeicons/core-free-icons'
import {
HomeIcon as HomeDuotone,
SearchIcon as SearchDuotone,
Notification03Icon as NotificationDuotone,
UserIcon as UserDuotone,
} from '@hugeicons-pro/core-duotone-rounded'
const tabs = [
{ id: 'home', icon: HomeIcon, activeIcon: HomeDuotone },
{ id: 'search', icon: SearchIcon, activeIcon: SearchDuotone },
{ id: 'notifications', icon: Notification03Icon, activeIcon: NotificationDuotone },
{ id: 'profile', icon: UserIcon, activeIcon: UserDuotone },
]
function NavigationBar() {
const [activeTab, setActiveTab] = createSignal('home')
return (
<nav>
<For each={tabs}>
{(tab) => (
<button onClick={() => setActiveTab(tab.id)} classList={{ 'nav-item': true, active: activeTab() === tab.id }}>
<HugeiconsIcon icon={tab.icon} altIcon={tab.activeIcon} showAlt={activeTab() === tab.id} size={24} />
</button>
)}
</For>
</nav>
)
}Next steps
- For full prop details, see the
HugeiconsIconwrapper page - For setup instructions, visit Quick Start with SolidJS (Free) or Hugeicons Pro with SolidJS