JSDoc
Functions
getIcon
functionResolve an icon component by design name. Throws on unknown names — an unknown icon is a programming error (the `IconName` union should have caught it), never something to silently render as an empty box.
getIcon(name: IconName): IconComponent
Types
IconComponentProps
typeProps every icon component accepts (lucide adds `size` on top of SvgProps).
type IconComponentProps = any
IconComponent
typetype IconComponent = ComponentType<any>
IconName
typeThe closed union of valid icon names. Invalid names are compile errors.
type IconName = "archive" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-down" | "bar-chart-3" | "bell" | "bookmark" | "box" | "calendar" | "calendar-check" | "calendar-days" | "calendar-x-2" | "check" | "check-circle-2" | "chevron-down" | "chevron-left" | "chevron-right" | "circle" | "circle-check" | "circle-dot" | "clock" | "cloud-check" | "code" | "copy" | "database" | "dollar-sign" | "download" | "external-link" | "eye" | "file" | "file-code-2" | "file-json" | "file-plus-2" | "file-text" | "files" | "filter" | "flag" | "flame" | "folder" | "folder-open" | "folder-plus" | "folder-tree" | "frame" | "git-branch" | "git-merge" | "group" | "hash" | "help-circle" | "home" | "image" | "images" | "inbox" | "info" | "kanban" | "layers" | "layout-grid" | "layout-list" | "list" | "list-checks" | "link" | "list-collapse" | "maximize-2" | "menu" | "message-circle" | "mic" | "minus" | "moon" | "more-horizontal" | "mouse-pointer-2" | "panel-left" | "paperclip" | "pause" | "pen-tool" | "play" | "plus" | "refresh-cw" | "search" | "settings" | "sliders-horizontal" | "sparkles" | "spline" | "split" | "square" | "star" | "sun" | "table-2" | "tag" | "terminal" | "timer" | "trash-2" | "triangle-alert" | "type" | "upload" | "user" | "user-plus" | "users" | "vault" | "wifi" | "x" | "zap"
Constants
iconRegistry
constconst iconRegistry: Readonly<Record<"archive" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-down" | "bar-chart-3" | "bell" | "bookmark" | "box" | "calendar" | "calendar-check" | "calendar-days" | "calendar-x-2" | "check" | "check-circle-2" | "chevron-down" | "chevron-left" | "chevron-right" | "circle" | "circle-check" | "circle-dot" | "clock" | "cloud-check" | "code" | "copy" | "database" | "dollar-sign" | "download" | "external-link" | "eye" | "file" | "file-code-2" | "file-json" | "file-plus-2" | "file-text" | "files" | "filter" | "flag" | "flame" | "folder" | "folder-open" | "folder-plus" | "folder-tree" | "frame" | "git-branch" | "git-merge" | "group" | "hash" | "help-circle" | "home" | "image" | "images" | "inbox" | "info" | "kanban" | "layers" | "layout-grid" | "layout-list" | "list" | "list-checks" | "link" | "list-collapse" | "maximize-2" | "menu" | "message-circle" | "mic" | "minus" | "moon" | "more-horizontal" | "mouse-pointer-2" | "panel-left" | "paperclip" | "pause" | "pen-tool" | "play" | "plus" | "refresh-cw" | "search" | "settings" | "sliders-horizontal" | "sparkles" | "spline" | "split" | "square" | "star" | "sun" | "table-2" | "tag" | "terminal" | "timer" | "trash-2" | "triangle-alert" | "type" | "upload" | "user" | "user-plus" | "users" | "vault" | "wifi" | "x" | "zap", ComponentType<any>>>
iconNames
constconst iconNames: ReadonlyArray<"archive" | "arrow-down" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-down" | "bar-chart-3" | "bell" | "bookmark" | "box" | "calendar" | "calendar-check" | "calendar-days" | "calendar-x-2" | "check" | "check-circle-2" | "chevron-down" | "chevron-left" | "chevron-right" | "circle" | "circle-check" | "circle-dot" | "clock" | "cloud-check" | "code" | "copy" | "database" | "dollar-sign" | "download" | "external-link" | "eye" | "file" | "file-code-2" | "file-json" | "file-plus-2" | "file-text" | "files" | "filter" | "flag" | "flame" | "folder" | "folder-open" | "folder-plus" | "folder-tree" | "frame" | "git-branch" | "git-merge" | "group" | "hash" | "help-circle" | "home" | "image" | "images" | "inbox" | "info" | "kanban" | "layers" | "layout-grid" | "layout-list" | "list" | "list-checks" | "link" | "list-collapse" | "maximize-2" | "menu" | "message-circle" | "mic" | "minus" | "moon" | "more-horizontal" | "mouse-pointer-2" | "panel-left" | "paperclip" | "pause" | "pen-tool" | "play" | "plus" | "refresh-cw" | "search" | "settings" | "sliders-horizontal" | "sparkles" | "spline" | "split" | "square" | "star" | "sun" | "table-2" | "tag" | "terminal" | "timer" | "trash-2" | "triangle-alert" | "type" | "upload" | "user" | "user-plus" | "users" | "vault" | "wifi" | "x" | "zap">