Skip to main content

Function: Icon()

Icon(nameOrOptions?: string | { align?: Align; blur?: number; brightness?: number; className?: string; color?: string; customPositioned?: boolean; enterDelay?: number; enterDuration?: number; exitDelay?: number; exitDuration?: number; height?: Size; id?: string; name?: string; onActivate?: () => void; onDeactivate?: () => void; onMount?: () => void; onUnmount?: () => void; opacity?: number; origin?: ElementAnchor; position?: Position; rotation?: number; scale?: number; size?: Size; style?: Properties<0 | string & object, string & object>; theme?: Partial<ThemeConfig>; width?: Size; x?: PositionCoord; y?: PositionCoord; }, maybeOptions?: object): IconElement

Creates a reactive Icon element on stage.

Parameters​

ParameterTypeDescription
nameOrOptionsstring | { align?: Align; blur?: number; brightness?: number; className?: string; color?: string; customPositioned?: boolean; enterDelay?: number; enterDuration?: number; exitDelay?: number; exitDuration?: number; height?: Size; id?: string; name?: string; onActivate?: () => void; onDeactivate?: () => void; onMount?: () => void; onUnmount?: () => void; opacity?: number; origin?: ElementAnchor; position?: Position; rotation?: number; scale?: number; size?: Size; style?: Properties<0 | string & object, string & object>; theme?: Partial<ThemeConfig>; width?: Size; x?: PositionCoord; y?: PositionCoord; }-
maybeOptions{ align?: Align; blur?: number; brightness?: number; className?: string; color?: string; customPositioned?: boolean; enterDelay?: number; enterDuration?: number; exitDelay?: number; exitDuration?: number; height?: Size; id?: string; name?: string; onActivate?: () => void; onDeactivate?: () => void; onMount?: () => void; onUnmount?: () => void; opacity?: number; origin?: ElementAnchor; position?: Position; rotation?: number; scale?: number; size?: Size; style?: Properties<0 | string & object, string & object>; theme?: Partial<ThemeConfig>; width?: Size; x?: PositionCoord; y?: PositionCoord; }-
maybeOptions.align?Align-
maybeOptions.blur?numberBlur in virtual pixels (default: 0).
maybeOptions.brightness?numberBrightness multiplier (default: 1).
maybeOptions.className?string-
maybeOptions.color?stringForeground CSS color (default: component/theme color).
maybeOptions.customPositioned?booleanWhether this element manages its own CSS transform / positioning (disables stage translate3d).
maybeOptions.enterDelay?numberDelay in seconds before entering scene transition begins.
maybeOptions.enterDuration?numberDuration in seconds for entering scene transition.
maybeOptions.exitDelay?numberDelay in seconds before exiting scene transition begins.
maybeOptions.exitDuration?numberDuration in seconds for exiting scene transition.
maybeOptions.height?SizeHeight in stage units or CSS length (default: content size).
maybeOptions.id?string-
maybeOptions.name?stringIcon identifier (e.g. "lucide:heart", "mycompany:logo") or raw SVG markup.
maybeOptions.onActivate?() => void-
maybeOptions.onDeactivate?() => void-
maybeOptions.onMount?() => void-
maybeOptions.onUnmount?() => void-
maybeOptions.opacity?numberWhole-element opacity from 0 to 1 (default: 1).
maybeOptions.origin?ElementAnchorWhich point of the element sits on its coordinate (default: "top-left").
maybeOptions.position?Position-
maybeOptions.rotation?numberRotation in degrees (default: 0).
maybeOptions.scale?numberScale multiplier (default: 1).
maybeOptions.size?SizeBoth dimensions in stage units or CSS length (default: unset).
maybeOptions.style?Properties<0 | string & object, string & object>-
maybeOptions.theme?Partial<ThemeConfig>-
maybeOptions.width?SizeWidth in stage units or CSS length (default: content size).
maybeOptions.x?PositionCoordHorizontal position in stage units (default: 0).
maybeOptions.y?PositionCoordVertical position in stage units (default: 0).

Returns​

IconElement

Example​

const heart = Icon("lucide:heart", {
x: "center",
y: 40,
size: 48,
color: "#f43f5e",
});