Icon
Renders the given icon as a decorative SVG - always aria-hidden and
non-focusable, with a fixed 1.5 stroke width.
Usage
Best practices
Route every lucide/SVG glyph through
Icon(<Icon icon={ArrowRight} />), never the raw component - it fixes the1.5stroke and size scale so icons stay consistent.Iconis alwaysaria-hidden+ non-focusable - pair it with visible text or give the interactive parent anaria-label; never rely on it to name a control.Size with the
sizetoken ("sm","lg"…), notclassName="size-6"- the scale maps to the sharedComponentSizesteps other components align to.
Props
Also exports
- const
ICON_SIZE_CLASS - interface
IconProps - type
IconSize
Composition
Used by
Accordion, Anchor, AttributeCard, Badge, Breadcrumb, Button, Calendar, Checkbox, ColorPalette, Combobox, Command, ContextMenu, CountrySelect, DataGrid, DataGridColumnFilter, DataGridColumnHeader, DeliveryBanner, DocumentList, DropdownMenu, Empty, FileUploadDropzone, IconBox, IconCard, IconMorph, InputCard, InputGroup, InputOTP, LocationInput, MenuItem, Menubar, MobileNavigationRoot, NativeSelect, NavigationMenu, ProductCard, PromptPanel, RequirementItem, ResizablePanelGroup, SegmentedControl, Select, Sidebar, SocialIcon, Stepper, Swatch, TabNavigation, Tabs, Tag, TagSelector, ThinkingLoader, ThinkingTrace, Toaster, Toggle, LiveWaveform