Lumeo

DynamicIcon

A docs utility component that renders icons by name and automatically adapts to the active icon library selected in the Customizer.

How to use it (in your app)

DynamicIcon on this page is a docs-only helper — it exists so the gallery below can re-skin to whichever icon library you pick in the Customizer. In your own app render an icon by name (or by a direct icon reference) with the public <Icon> component:

Name takes a PascalCase Lucide name (unknown names fall back to a circle); Svg takes any Lumeo.IconSource directly (a built-in LumeoIcons.* or any Lumeo.Icons.* pack member) and wins over Name. Size via the Size preset or a Class like h-5 w-5; set Title to give the icon an accessible name (otherwise it is aria-hidden decorative). Full reference on the Icon page.

All Supported Icons

Switch the icon library in the Customizer to see all icons update live.

Accessibility

AlignCenter

AlignLeft

AlignRight

Archive

ArrowDown

ArrowLeft

ArrowRight

ArrowUp

BarChart3

Bell

BellOff

Blocks

Bold

Box

Calendar

CalendarDays

Camera

ChartBar

Check

CheckCheck

CheckSquare

ChevronDown

ChevronLeft

ChevronRight

ChevronUp

ChevronsUpDown

CircleAlert

CircleCheck

CircleDot

ClipboardList

Clipboard

Code

Columns3

Copy

Disc

Download

Ellipsis

ExternalLink

Eye

FileText

Flag

FolderOpen

Github

Globe

Heart

Home

House

Image

Inbox

Info

Italic

LayoutDashboard

LayoutGrid

LayoutTemplate

List

ListMusic

Loader

LoaderCircle

Lock

LogIn

LogOut

Mail

Menu

MessageCircle

MessageSquare

Mic

Minus

Moon

MousePointerClick

Music

Package

Paintbrush

Palette

PanelRightClose

PanelRightOpen

Pause

Pencil

Phone

Pin

Play

Plus

Radio

RefreshCw

RotateCcw

Search

SearchX

Send

Settings

Share

Share2

Shield

ShieldCheck

SkipBack

SkipForward

Slash

Smartphone

Star

Sun

Tag

Trash

Trash2

TrendingUp

TriangleAlert

Underline

Upload

User

UserPlus

Users

Volume

Volume1

Volume2

X

Zap

How It Works

DynamicIcon is a docs-only component that maps an abstract icon name to the matching Lumeo.IconSource in whichever first-party pack is currently active, rendering it through SvgGlyph. It listens to IconService.OnChange and re-renders automatically.

Bring your own SVG (third-party interop)

Svg accepts any Lumeo.IconSource, and IconSource is just inner SVG markup plus how to paint it — so you can adapt any icon source that exposes an SVG string (a custom brand glyph, an inline <path>, or any third-party icon library) with no extra dependency. Build one with IconSource.Stroke(content, viewBox, strokeWidth) for outline sets or IconSource.Fill(content, viewBox) for solid ones, then hand it to <Icon Svg> or the lower-level <SvgGlyph Svg>. The markup is rendered as-is (no sanitization) — only pass trusted, static SVG content you control, never user-supplied strings.

API Reference

DynamicIcon

Prop Type Default Description
Namestring"Circle"Abstract icon name (e.g. "Search", "Bell", "Settings"). Mapped to the active icon library.
Classstring?nullCSS classes for sizing and color (e.g. "h-5 w-5 text-primary").
AdditionalAttributesDictionary<string, object>?nullAdditional HTML attributes captured on the component.