TypeScript Types
All types used in generated components
type
IconVariant
Icon display variants
TypeScript
type IconVariant = "solid" | "original" | "gradient" | "multicolor";type
FitMode
Icon size adaptation mode
TypeScript
type FitMode = "contain" | "cover" | "tight";type
GradientDirection
Linear gradient direction
TypeScript
type GradientDirection = "horizontal" | "vertical";type
GradientType
Gradient type
TypeScript
type GradientType = "linear" | "radial" | "angular" | "diamond";interface
IconProps
Main icon component props
TypeScript
type IconProps = Omit<React.SVGProps<SVGSVGElement>, "name" | "width" | "height"> & {
// Base props
name: string; // Icon name
variant?: IconVariant; // Variant (default: "solid")
// Sizes
size?: number | string; // Size (width)
width?: number | string; // Width (override)
height?: number | string; // Height (override)
// Colors
color?: string; // Main color
// Multicolor variant: dynamic colors
color1?: string; // Color 1
color2?: string; // Color 2
color3?: string; // Color 3
// ... colorN
// Gradient options (only for variant="gradient")
gradientType?: GradientType; // Gradient type (default: "linear")
gradientDirection?: GradientDirection; // Direction for linear
gradientAngle?: number; // Angle for angular/diamond (default: 0)
gradientRadius?: number; // Radius for radial (default: 50)
colorFirst?: string; // Gradient start color
colorSecond?: string; // Gradient end color
offsetFirst?: string; // Start position (default: "0%")
offsetSecond?: string; // End position (default: "100%")
// Opacity
opacity?: number; // Opacity (0-1, default: 1)
// Shadow options
shadow?: boolean; // Enable shadow
shadowColor?: string; // Shadow color (default: "#000000")
shadowBlur?: number; // Shadow blur (default: 4)
shadowOffsetX?: number; // X offset (default: 0)
shadowOffsetY?: number; // Y offset (default: 2)
shadowOpacity?: number; // Shadow opacity (default: 0.3)
// Fit mode
fit?: FitMode; // Fit mode (default: "contain")
};Important!
Props color1, color2, color3... work only for variant="multicolor"
Variants
solid- monochrome icon (uses currentColor)original- original colors from SVGgradient- gradient (linear, radial, angular, diamond)multicolor- multicolor icon with dynamic colors
Sizes
size sets the width. Height is calculated automatically based on viewBox to preserve proportions. Can be overridden via width and height.
Usage Examples
Basic usage
React TSX
<Icon name="my-icon" size={32} />Multicolor with dynamic colors
React TSX
<Icon
name="my-icon"
variant="multicolor"
size={32}
color1="#FF5733"
color2="#33FF57"
color3="#3357FF"
/>Gradient
React TSX
<Icon
name="my-icon"
variant="gradient"
gradientType="linear"
gradientDirection="vertical"
colorFirst="#8B5CF6"
colorSecond="#EC4899"
/>With shadow
React TSX
<Icon
name="my-icon"
size={32}
shadow={true}
shadowColor="#000000"
shadowBlur={8}
shadowOpacity={0.4}
/>Opacity
React TSX
<Icon
name="my-icon"
size={32}
opacity={0.5}
/>