Rust Radix is a Rust port of Radix .
TODO: introduction text
Rust Radix consists of the following parts:
Rust Radix is available for the following frameworks:
The following frameworks are under consideration:
The tables below show the support for the various frameworks.
✅ = Supported
🟦 = Early Support
🚧 = Work In Progress
❌ = Unsupported
Name Framework Independent
Colors ✅
Name Dioxus Leptos Yew
Icons ❌ 🚧 🚧
This project is available under the MIT license .
The Rust Radix project is part of the Rust For Web .
Rust For Web creates and ports web UI libraries for Rust. All projects are free and open source.
Install the colors from your command line.
cargo add radix-colors
TODO
A crisp set of 15×15 icons. All icons are available as individual components.
Leptos
Yew
icons.rs
use leptos::*;
use radix_leptos_icons::*;
#[component]
pub fn IconsDemo() -> impl IntoView {
view! {
<div class="w-full max-w-[300px]">
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AccessibilityIcon />
<span>Accessibility</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ActivityLogIcon />
<span>Activity Log</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AlignBaselineIcon />
<span>Align Baseline</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AlignBottomIcon />
<span>Align Bottom</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AlignCenterHorizontallyIcon />
<span>Align Center Horizontally</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AlignCenterVerticallyIcon />
<span>Align Center Vertically</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AlignLeftIcon />
<span>Align Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AlignRightIcon />
<span>Align Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AlignTopIcon />
<span>Align Top</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AllSidesIcon />
<span>All Sides</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AngleIcon />
<span>Angle</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArchiveIcon />
<span>Archive</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowBottomLeftIcon />
<span>Arrow Bottom Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowBottomRightIcon />
<span>Arrow Bottom Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowDownIcon />
<span>Arrow Down</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowLeftIcon />
<span>Arrow Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowRightIcon />
<span>Arrow Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowTopLeftIcon />
<span>Arrow Top Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowTopRightIcon />
<span>Arrow Top Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ArrowUpIcon />
<span>Arrow Up</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AspectRatioIcon />
<span>Aspect Ratio</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<AvatarIcon />
<span>Avatar</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BackpackIcon />
<span>Backpack</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BadgeIcon />
<span>Badge</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BarChartIcon />
<span>Bar Chart</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BellIcon />
<span>Bell</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BlendingModeIcon />
<span>Blending Mode</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BookmarkFilledIcon />
<span>Bookmark Filled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BookmarkIcon />
<span>Bookmark</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderAllIcon />
<span>Border All</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderBottomIcon />
<span>Border Bottom</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderDashedIcon />
<span>Border Dashed</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderDottedIcon />
<span>Border Dotted</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderLeftIcon />
<span>Border Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderNoneIcon />
<span>Border None</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderRightIcon />
<span>Border Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderSolidIcon />
<span>Border Solid</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderSplitIcon />
<span>Border Split</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderStyleIcon />
<span>Border Style</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderTopIcon />
<span>Border Top</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BorderWidthIcon />
<span>Border Width</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BoxModelIcon />
<span>Box Model</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<BoxIcon />
<span>Box</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ButtonIcon />
<span>Button</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CalendarIcon />
<span>Calendar</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CameraIcon />
<span>Camera</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CardStackMinusIcon />
<span>Card Stack Minus</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CardStackPlusIcon />
<span>Card Stack Plus</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CardStackIcon />
<span>Card Stack</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CaretDownIcon />
<span>Caret Down</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CaretLeftIcon />
<span>Caret Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CaretRightIcon />
<span>Caret Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CaretSortIcon />
<span>Caret Sort</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CaretUpIcon />
<span>Caret Up</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ChatBubbleIcon />
<span>Chat Bubble</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CheckCircledIcon />
<span>Check Circled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CheckIcon />
<span>Check</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CheckboxIcon />
<span>Checkbox</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ChevronDownIcon />
<span>Chevron Down</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ChevronLeftIcon />
<span>Chevron Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ChevronRightIcon />
<span>Chevron Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ChevronUpIcon />
<span>Chevron Up</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CircleBackslashIcon />
<span>Circle Backslash</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CircleIcon />
<span>Circle</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ClipboardCopyIcon />
<span>Clipboard Copy</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ClipboardIcon />
<span>Clipboard</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ClockIcon />
<span>Clock</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CodeIcon />
<span>Code</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CodesandboxLogoIcon />
<span>Codesandbox Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ColorWheelIcon />
<span>Color Wheel</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ColumnSpacingIcon />
<span>Column Spacing</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ColumnsIcon />
<span>Columns</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CommitIcon />
<span>Commit</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Component1Icon />
<span>Component 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Component2Icon />
<span>Component 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ComponentBooleanIcon />
<span>Component Boolean</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ComponentInstanceIcon />
<span>Component Instance</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ComponentNoneIcon />
<span>Component None</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ComponentPlaceholderIcon />
<span>Component Placeholder</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ContainerIcon />
<span>Container</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CookieIcon />
<span>Cookie</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CopyIcon />
<span>Copy</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CornerBottomLeftIcon />
<span>Corner Bottom Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CornerBottomRightIcon />
<span>Corner Bottom Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CornerTopLeftIcon />
<span>Corner Top Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CornerTopRightIcon />
<span>Corner Top Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CornersIcon />
<span>Corners</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CountdownTimerIcon />
<span>Countdown Timer</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CounterClockwiseClockIcon />
<span>Counter Clockwise Clock</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CropIcon />
<span>Crop</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Cross1Icon />
<span>Cross 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Cross2Icon />
<span>Cross 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CrossCircledIcon />
<span>Cross Circled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Crosshair1Icon />
<span>Crosshair 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Crosshair2Icon />
<span>Crosshair 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CrumpledPaperIcon />
<span>Crumpled Paper</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CubeIcon />
<span>Cube</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CursorArrowIcon />
<span>Cursor Arrow</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<CursorTextIcon />
<span>Cursor Text</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DashIcon />
<span>Dash</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DashboardIcon />
<span>Dashboard</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DesktopIcon />
<span>Desktop</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DimensionsIcon />
<span>Dimensions</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DiscIcon />
<span>Disc</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DiscordLogoIcon />
<span>Discord Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DividerHorizontalIcon />
<span>Divider Horizontal</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DividerVerticalIcon />
<span>Divider Vertical</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DotFilledIcon />
<span>Dot Filled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DotIcon />
<span>Dot</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DotsHorizontalIcon />
<span>Dots Horizontal</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DotsVerticalIcon />
<span>Dots Vertical</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DoubleArrowDownIcon />
<span>Double Arrow Down</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DoubleArrowLeftIcon />
<span>Double Arrow Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DoubleArrowRightIcon />
<span>Double Arrow Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DoubleArrowUpIcon />
<span>Double Arrow Up</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DownloadIcon />
<span>Download</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DragHandleDots1Icon />
<span>Drag Handle Dots 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DragHandleDots2Icon />
<span>Drag Handle Dots 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DragHandleHorizontalIcon />
<span>Drag Handle Horizontal</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DragHandleVerticalIcon />
<span>Drag Handle Vertical</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DrawingPinFilledIcon />
<span>Drawing Pin Filled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DrawingPinIcon />
<span>Drawing Pin</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<DropdownMenuIcon />
<span>Dropdown Menu</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EnterFullScreenIcon />
<span>Enter Full Screen</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EnterIcon />
<span>Enter</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EnvelopeClosedIcon />
<span>Envelope Closed</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EnvelopeOpenIcon />
<span>Envelope Open</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EraserIcon />
<span>Eraser</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ExclamationTriangleIcon />
<span>Exclamation Triangle</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ExitFullScreenIcon />
<span>Exit Full Screen</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ExitIcon />
<span>Exit</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ExternalLinkIcon />
<span>External Link</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EyeClosedIcon />
<span>Eye Closed</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EyeNoneIcon />
<span>Eye None</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<EyeOpenIcon />
<span>Eye Open</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FaceIcon />
<span>Face</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FigmaLogoIcon />
<span>Figma Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FileMinusIcon />
<span>File Minus</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FilePlusIcon />
<span>File Plus</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FileTextIcon />
<span>File Text</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FileIcon />
<span>File</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FontBoldIcon />
<span>Font Bold</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FontFamilyIcon />
<span>Font Family</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FontItalicIcon />
<span>Font Italic</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FontRomanIcon />
<span>Font Roman</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FontSizeIcon />
<span>Font Size</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FontStyleIcon />
<span>Font Style</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FrameIcon />
<span>Frame</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<FramerLogoIcon />
<span>Framer Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<GearIcon />
<span>Gear</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<GithubLogoIcon />
<span>Github Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<GlobeIcon />
<span>Globe</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<GridIcon />
<span>Grid</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<GroupIcon />
<span>Group</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Half1Icon />
<span>Half 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Half2Icon />
<span>Half 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HamburgerMenuIcon />
<span>Hamburger Menu</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HandIcon />
<span>Hand</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HeadingIcon />
<span>Heading</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HeartFilledIcon />
<span>Heart Filled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HeartIcon />
<span>Heart</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HeightIcon />
<span>Height</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HobbyKnifeIcon />
<span>Hobby Knife</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<HomeIcon />
<span>Home</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<IconjarLogoIcon />
<span>Iconjar Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<IdCardIcon />
<span>Id Card</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ImageIcon />
<span>Image</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<InfoCircledIcon />
<span>Info Circled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<InputIcon />
<span>Input</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<InstagramLogoIcon />
<span>Instagram Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<KeyboardIcon />
<span>Keyboard</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LapTimerIcon />
<span>Lap Timer</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LaptopIcon />
<span>Laptop</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LayersIcon />
<span>Layers</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LayoutIcon />
<span>Layout</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LetterCaseCapitalizeIcon />
<span>Letter Case Capitalize</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LetterCaseLowercaseIcon />
<span>Letter Case Lowercase</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LetterCaseToggleIcon />
<span>Letter Case Toggle</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LetterCaseUppercaseIcon />
<span>Letter Case Uppercase</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LetterSpacingIcon />
<span>Letter Spacing</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LightningBoltIcon />
<span>Lightning Bolt</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LineHeightIcon />
<span>Line Height</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Link1Icon />
<span>Link 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Link2Icon />
<span>Link 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LinkBreak1Icon />
<span>Link Break 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LinkBreak2Icon />
<span>Link Break 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LinkNone1Icon />
<span>Link None 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LinkNone2Icon />
<span>Link None 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LinkedinLogoIcon />
<span>Linkedin Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ListBulletIcon />
<span>List Bullet</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LockClosedIcon />
<span>Lock Closed</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LockOpen1Icon />
<span>Lock Open 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LockOpen2Icon />
<span>Lock Open 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<LoopIcon />
<span>Loop</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MagicWandIcon />
<span>Magic Wand</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MagnifyingGlassIcon />
<span>Magnifying Glass</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MarginIcon />
<span>Margin</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MaskOffIcon />
<span>Mask Off</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MaskOnIcon />
<span>Mask On</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MinusCircledIcon />
<span>Minus Circled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MinusIcon />
<span>Minus</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MixIcon />
<span>Mix</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MixerHorizontalIcon />
<span>Mixer Horizontal</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MixerVerticalIcon />
<span>Mixer Vertical</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MobileIcon />
<span>Mobile</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ModulzLogoIcon />
<span>Modulz Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MoonIcon />
<span>Moon</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<MoveIcon />
<span>Move</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<NotionLogoIcon />
<span>Notion Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<OpacityIcon />
<span>Opacity</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<OpenInNewWindowIcon />
<span>Open In New Window</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<OverlineIcon />
<span>Overline</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PaddingIcon />
<span>Padding</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PaperPlaneIcon />
<span>Paper Plane</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PauseIcon />
<span>Pause</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Pencil1Icon />
<span>Pencil 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Pencil2Icon />
<span>Pencil 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PersonIcon />
<span>Person</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PieChartIcon />
<span>Pie Chart</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PilcrowIcon />
<span>Pilcrow</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PinBottomIcon />
<span>Pin Bottom</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PinLeftIcon />
<span>Pin Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PinRightIcon />
<span>Pin Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PinTopIcon />
<span>Pin Top</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PlayIcon />
<span>Play</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PlusCircledIcon />
<span>Plus Circled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<PlusIcon />
<span>Plus</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<QuestionMarkCircledIcon />
<span>Question Mark Circled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<QuestionMarkIcon />
<span>Question Mark</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<QuoteIcon />
<span>Quote</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<RadiobuttonIcon />
<span>Radiobutton</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ReaderIcon />
<span>Reader</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ReloadIcon />
<span>Reload</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ResetIcon />
<span>Reset</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ResumeIcon />
<span>Resume</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<RocketIcon />
<span>Rocket</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<RotateCounterClockwiseIcon />
<span>Rotate Counter Clockwise</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<RowSpacingIcon />
<span>Row Spacing</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<RowsIcon />
<span>Rows</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<RulerHorizontalIcon />
<span>Ruler Horizontal</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<RulerSquareIcon />
<span>Ruler Square</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ScissorsIcon />
<span>Scissors</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SectionIcon />
<span>Section</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SewingPinFilledIcon />
<span>Sewing Pin Filled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SewingPinIcon />
<span>Sewing Pin</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ShadowInnerIcon />
<span>Shadow Inner</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ShadowNoneIcon />
<span>Shadow None</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ShadowOuterIcon />
<span>Shadow Outer</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ShadowIcon />
<span>Shadow</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Share1Icon />
<span>Share 1</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<Share2Icon />
<span>Share 2</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ShuffleIcon />
<span>Shuffle</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SizeIcon />
<span>Size</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SketchLogoIcon />
<span>Sketch Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SlashIcon />
<span>Slash</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SliderIcon />
<span>Slider</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpaceBetweenHorizontallyIcon />
<span>Space Between Horizontally</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpaceBetweenVerticallyIcon />
<span>Space Between Vertically</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpaceEvenlyHorizontallyIcon />
<span>Space Evenly Horizontally</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpaceEvenlyVerticallyIcon />
<span>Space Evenly Vertically</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpeakerLoudIcon />
<span>Speaker Loud</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpeakerModerateIcon />
<span>Speaker Moderate</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpeakerOffIcon />
<span>Speaker Off</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SpeakerQuietIcon />
<span>Speaker Quiet</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SquareIcon />
<span>Square</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StackIcon />
<span>Stack</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StarFilledIcon />
<span>Star Filled</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StarIcon />
<span>Star</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StitchesLogoIcon />
<span>Stitches Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StopIcon />
<span>Stop</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StopwatchIcon />
<span>Stopwatch</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StretchHorizontallyIcon />
<span>Stretch Horizontally</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StretchVerticallyIcon />
<span>Stretch Vertically</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<StrikethroughIcon />
<span>Strikethrough</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SunIcon />
<span>Sun</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SwitchIcon />
<span>Switch</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<SymbolIcon />
<span>Symbol</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TableIcon />
<span>Table</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TargetIcon />
<span>Target</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextAlignBottomIcon />
<span>Text Align Bottom</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextAlignCenterIcon />
<span>Text Align Center</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextAlignJustifyIcon />
<span>Text Align Justify</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextAlignLeftIcon />
<span>Text Align Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextAlignMiddleIcon />
<span>Text Align Middle</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextAlignRightIcon />
<span>Text Align Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextAlignTopIcon />
<span>Text Align Top</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextNoneIcon />
<span>Text None</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TextIcon />
<span>Text</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ThickArrowDownIcon />
<span>Thick Arrow Down</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ThickArrowLeftIcon />
<span>Thick Arrow Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ThickArrowRightIcon />
<span>Thick Arrow Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ThickArrowUpIcon />
<span>Thick Arrow Up</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TimerIcon />
<span>Timer</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TokensIcon />
<span>Tokens</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TrackNextIcon />
<span>Track Next</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TrackPreviousIcon />
<span>Track Previous</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TransformIcon />
<span>Transform</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TransparencyGridIcon />
<span>Transparency Grid</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TrashIcon />
<span>Trash</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TriangleDownIcon />
<span>Triangle Down</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TriangleLeftIcon />
<span>Triangle Left</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TriangleRightIcon />
<span>Triangle Right</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TriangleUpIcon />
<span>Triangle Up</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<TwitterLogoIcon />
<span>Twitter Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<UnderlineIcon />
<span>Underline</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<UpdateIcon />
<span>Update</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<UploadIcon />
<span>Upload</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ValueNoneIcon />
<span>Value None</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ValueIcon />
<span>Value</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<VercelLogoIcon />
<span>Vercel Logo</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<VideoIcon />
<span>Video</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ViewGridIcon />
<span>View Grid</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ViewHorizontalIcon />
<span>View Horizontal</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ViewNoneIcon />
<span>View None</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ViewVerticalIcon />
<span>View Vertical</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<WidthIcon />
<span>Width</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ZoomInIcon />
<span>Zoom In</span>
</div>
<div class="flex flex-wrap items-center gap-[15px] px-5 text-white text-[15px] leading-5">
<ZoomOutIcon />
<span>Zoom Out</span>
</div>
</div>
}
}
Install the icons from your command line.
Leptos
Yew
# Selective Icons
cargo add radix-leptos-icons --features face,image,sun
# All Icons
cargo add radix-leptos-icons --features full
# Selective Icons
cargo add radix-yew-icons --features face,image,sun
# All Icons
cargo add radix-yew-icons --features full
Import the icons.
Leptos
Yew
use leptos::*;
use radix_leptos_icons::{FaceIcon, ImageIcon, SunIcon};
#[component]
fn Anatomy() -> impl IntoView {
view! {
<FaceIcon />
<SunIcon />
<ImageIcon />
}
}
use yew::prelude::*;
use radix_yew_icons::{FaceIcon, ImageIcon, SunIcon};
#[function_component]
fn Anatomy() -> Html {
html! {
<>
<FaceIcon />
<SunIcon />
<ImageIcon />
</>
}
}
Leptos
Yew
Prop Type Default
color
MaybeProp<String>
"currentColor"
Prop Type Default
color
AttrValue
"currentColor"
Displays content within a desired ratio.
Leptos
aspect_ratio.rs
use leptos::*;
use radix_leptos_aspect_ratio::*;
#[component]
pub fn AspectRatioDemo() -> impl IntoView {
view! {
<div class="shadow-blackA4 w-[300px] overflow-hidden rounded-md shadow-[0_2px_10px]">
<AspectRatio ratio=16.0 / 9.0>
<img
class="h-full w-full object-cover"
src="https://images.unsplash.com/photo-1535025183041-0991a977e25b?w=300&dpr=2&q=80"
alt="Landscape photograph by Tobias Tullius"
/>
</AspectRatio>
</div>
}
}
Accepts any custom ratio.
Install the component from your command line.
Leptos
cargo add radix-leptos-aspect-ratio
Import the component.
Leptos
use leptos::*;
use radix_leptos_aspect_ratio::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<AspectRatio />
}
}
Contains the content you want to constrain to a given ratio.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
ratio
MaybeProp<f64>
1.0
An image element with a fallback for representing the user.
Leptos
avatar.rs
use leptos::*;
use radix_leptos_avatar::*;
#[component]
pub fn AvatarDemo() -> impl IntoView {
view! {
<div class="flex gap-5">
<Avatar attr:class="bg-blackA1 inline-flex h-[45px] w-[45px] select-none items-center justify-center overflow-hidden rounded-full align-middle">
<AvatarImage
attr:class="h-full w-full rounded-[inherit] object-cover"
src="https://images.unsplash.com/photo-1492633423870-43d1cd2775eb?&w=128&h=128&dpr=2&q=80"
attr:alt="Colm Tuite"
/>
<AvatarFallback
attr:class="text-violet11 leading-1 flex h-full w-full items-center justify-center bg-white text-[15px] font-medium"
delay_ms=600
>
CT
</AvatarFallback>
</Avatar>
<Avatar attr:class="bg-blackA1 inline-flex h-[45px] w-[45px] select-none items-center justify-center overflow-hidden rounded-full align-middle">
<AvatarImage
src="https://images.unsplash.com/photo-1511485977113-f34c92461ad9?ixlib=rb-1.2.1&w=128&h=128&dpr=2&q=80"
attr:alt="Pedro Duarte"
/>
<AvatarFallback
attr:class="text-violet11 leading-1 flex h-full w-full items-center justify-center bg-white text-[15px] font-medium"
delay_ms=600
>
PD
</AvatarFallback>
</Avatar>
<Avatar attr:class="bg-blackA1 inline-flex h-[45px] w-[45px] select-none items-center justify-center overflow-hidden rounded-full align-middle">
<AvatarFallback attr:class="text-violet11 leading-1 flex h-full w-full items-center justify-center bg-white text-[15px] font-medium">
PD
</AvatarFallback>
</Avatar>
</div>
}
}
Automatic and manual control over when the image renders.
Fallback part accepts any children.
Optionally delay fallback rendering to avoid content flashing.
Install the component from your command line.
Leptos
cargo add radix-leptos-avatar
Import all parts and piece them together.
Leptos
use leptos::*;
use radix_leptos_avatar::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Avatar>
<AvatarImage />
<AvatarFallback />
</Avatar>
}
}
Contains all the parts of an avatar.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
The image to render. By default it will only render when it has loaded. You can use the on_loading_status_change
handler if you need more control.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
on_loading_status_change
Option<Callback<ImageLoadingStatus>>
-
An element that renders when the image hasn't loaded. This means whilst it's loading, or if there was an error. If you notice a flash during loading, you can provide a delay_ms
prop to delay its rendering so it only renders for those with slower connections. For more control, use the on_loading_status_change
handler on AvatarImage
.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
delay_ms
MaybeProp<i32>
-
TODO
A control that allows the user to toggle between checked and not checked.
Leptos
checkbox.rs
use leptos::*;
use radix_leptos_checkbox::*;
use radix_leptos_icons::CheckIcon;
#[component]
pub fn CheckboxDemo() -> impl IntoView {
view! {
<form>
<div attr:class="flex items-center">
<Checkbox
attr:id="c1"
attr:class="shadow-blackA4 hover:bg-violet3 flex h-[25px] w-[25px] appearance-none items-center justify-center rounded-[4px] bg-white shadow-[0_2px_10px] outline-none focus:shadow-[0_0_0_2px_black]"
default_checked=CheckedState::True
>
<CheckboxIndicator attr:class="text-violet11">
<CheckIcon />
</CheckboxIndicator>
</Checkbox>
<label class="pl-[15px] text-[15px] leading-none text-white" for="c1">
Accept terms and conditions.
</label>
</div>
</form>
}
}
Supports indeterminate state.
Full keyboard navigation.
Can be controlled or uncontrolled.
Install the component from your command line.
Leptos
cargo add radix-leptos-checkbox
Import all parts and piece them together.
Leptos
use leptos::*;
use radix_leptos_checkbox::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Checkbox>
<CheckboxIndicator />
</Checkbox>
}
}
Contains all the parts of a checkbox. An input
will also render when used within a form
to ensure events propagate correctly.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
default_checked
MaybeProp<CheckedState>
-
checked
MaybeProp<CheckedState>
-
on_checked_change
Option<Callback<bool>>
-
disabled
MaybeProp<bool>
-
required
MaybeProp<bool>
-
name
MaybeProp<String>
-
value
MaybeProp<String>
"on"
Data attribute Values
[data-state]
"checked" | "unchecked" | "indeterminate"
[data-disabled]
Present when disabled
Renders when the checkbox is in a checked or indeterminate state. You can style this element directly, or you can use it as a wrapper to put an icon into, or both.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
force_mount
MaybeProp<bool>
Data attribute Values
[data-state]
"checked" | "unchecked" | "indeterminate"
[data-disabled]
Present when disabled
TODO
Adheres to the tri-state Checkbox WAI-ARIA design pattern .
Key Description
Space
Checks/unchecks the checkbox.
Renders an accessible label associated with controls.
Leptos
label.rs
use leptos::*;
use radix_leptos_label::*;
#[component]
pub fn LabelDemo() -> impl IntoView {
view! {
<div class="flex flex-wrap items-center gap-[15px] px-5">
<Label attr:class="text-[15px] font-medium leading-[35px] text-white" attr:for="firstName">
First name
</Label>
<input
class="bg-blackA2 shadow-blackA6 inline-flex h-[35px] w-[200px] appearance-none items-center justify-center rounded-[4px] px-[10px] text-[15px] leading-none text-white shadow-[0_0_0_1px] outline-none focus:shadow-[0_0_0_2px_black] selection:color-white selection:bg-blackA6"
type="text"
id="firstName"
value="Pedro Duarte"
/>
</div>
}
}
Text selection is prevented when double clicking label.
Supports nested controls.
Install the component from your command line.
Leptos
cargo add radix-leptos-label
Import the component.
Leptos
use leptos::*;
use radix_leptos_label::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Label />
}
}
Contains the content for the label.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
on_mouse_down
Option<Callback<MouseEvent>>
-
This component is based on the native label
element, it will automatically apply the correct labelling when wrapping controls or using the for
attribute. For your own custom controls to work correctly, ensure they use native elements such as button
or input
as a base.
Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
Leptos
progress.rs
use std::time::Duration;
use leptos::*;
use radix_leptos_progress::*;
#[component]
pub fn ProgressDemo() -> impl IntoView {
let (progress, set_progress) = create_signal(13.0);
let handle = set_timeout_with_handle(
move || {
set_progress.set(66.0);
},
Duration::from_millis(500),
)
.expect("Timeout should be started.");
on_cleanup(move || handle.clear());
view! {
<Progress
attr:class="relative overflow-hidden bg-blackA6 rounded-full w-[300px] h-[25px]"
// Fix overflow clipping in Safari
// https://gist.github.com/domske/b66047671c780a238b51c51ffde8d3a0
attr:style="transform: translateZ(0)"
value=progress
>
<ProgressIndicator
attr:class="bg-white w-full h-full transition-transform duration-[660ms] ease-[cubic-bezier(0.65, 0, 0.35, 1)]"
attr:style=move || format!("transform: translateX(-{}%)", 100.0 - progress.get())
/>
</Progress>
}
}
Provides context for assistive technology to read the progress of a task.
Install the component from your command line.
Leptos
cargo add radix-leptos-progress
Import all parts and piece them together.
Leptos
use leptos::*;
use radix_leptos_progress::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Progress>
<ProgressIndicator />
</Progress>
}
}
Contains all of the progress parts.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
value
MaybeProp<f64>
-
max
MaybeProp<f64>
100.0
get_value_label
Option<Callback<(f64, f64), String>>
-
Data attribute Values
[data-state]
"complete" | "indeterminate" | "loading"
[data-value]
The current value
[data-max]
The max value
Used to show the progress visually. It also makes progress accessible to assistive technologies.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
Data attribute Values
[data-state]
"complete" | "indeterminate" | "loading"
[data-value]
The current value
[data-max]
The max value
Adheres to the progressbar
role requirements .
Visually or semantically separates content.
Leptos
Yew
separator.rs
use leptos::*;
use radix_leptos_separator::*;
#[component]
pub fn SeparatorDemo() -> impl IntoView {
view! {
<div class="w-full max-w-[300px] mx-[15px]">
<div class="text-white text-[15px] leading-5 font-medium">Radix Primitives</div>
<div class="text-white text-[15px] leading-5">An open-source UI component library.</div>
<Separator
attr:class="bg-violet6 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-[15px]"
/>
<div class="flex h-5 items-center">
<div class="text-white text-[15px] leading-5">Blog</div>
<Separator
attr:class="bg-violet6 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-[15px]"
decorative=true
orientation=Orientation::Vertical
/>
<div class="text-white text-[15px] leading-5">Docs</div>
<Separator
attr:class="bg-violet6 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-[15px]"
decorative=true
orientation=Orientation::Vertical
/>
<div class="text-white text-[15px] leading-5">Source</div>
</div>
</div>
}
}
separator.rs
use radix_yew_separator::*;
use yew::prelude::*;
use yew_attrs::attrs;
#[function_component]
pub fn SeparatorDemo() -> Html {
html! {
<div class="w-full max-w-[300px] mx-[15px]">
<div class="text-white text-[15px] leading-5 font-medium">{"Radix Primitives"}</div>
<div class="text-white text-[15px] leading-5">{"An open-source UI component library."}</div>
<Separator attrs={attrs! {
class="bg-violet6 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-[15px]"
}} />
<div class="flex h-5 items-center">
<div class="text-white text-[15px] leading-5">{"Blog"}</div>
<Separator
attrs={attrs! {
class="bg-violet6 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-[15px]"
}}
decorative=true
orientation={Orientation::Vertical}
/>
<div class="text-white text-[15px] leading-5">{"Docs"}</div>
<Separator
attrs={attrs! {
class="bg-violet6 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-[15px]"
}}
decorative=true
orientation={Orientation::Vertical}
/>
<div class="text-white text-[15px] leading-5">{"Source"}</div>
</div>
</div>
}
}
Supports horizontal and vertical orientations.
Install the component from your command line.
Leptos
Yew
cargo add radix-leptos-separator
cargo add radix-yew-separator
Import the component.
Leptos
Yew
use leptos::*;
use radix_leptos_separator::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Separator />
}
}
use radix_yew_separator::*;
use yew::prelude::*;
#[component]
fn Anatomy() -> Html {
html! {
<Separator />
}
}
The separator.
Leptos
Yew
Prop Type Default
as_child
MaybeProp<bool>
false
orientation
MaybeProp<Orientation>
Orientation::Horizontal
decorative
MaybeProp<bool>
false
Prop Type Default
as_child
bool
false
orientation
Orientation
Orientation::Horizontal
decorative
bool
false
Data attribute Values
[data-orientation]
"horizontal" | "vertical"
Adheres to the separator
role requirements .
A control that allows the user to toggle between checked and not checked.
Leptos
switch.rs
use leptos::*;
use radix_leptos_switch::*;
#[component]
pub fn SwitchDemo() -> impl IntoView {
view! {
<form>
<div attr:class="flex items-center">
<label attr:class="text-white text-[15px] leading-none pr-[15px]" attr:for="airplane-mode">
Airplane mode
</label>
<Switch
attr:id="airplane-mode"
attr:class="w-[42px] h-[25px] bg-blackA6 rounded-full relative shadow-[0_2px_10px] shadow-blackA4 focus:shadow-[0_0_0_2px] focus:shadow-black data-[state=checked]:bg-black outline-none cursor-default"
// style={{ '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)' }}
>
<SwitchThumb attr:class="block w-[21px] h-[21px] bg-white rounded-full shadow-[0_2px_2px] shadow-blackA4 transition-transform duration-100 translate-x-0.5 will-change-transform data-[state=checked]:translate-x-[19px]" />
</Switch>
</div>
</form>
}
}
Full keyboard navigation.
Can be controlled or uncontrolled.
Install the component from your command line.
Leptos
cargo add radix-leptos-switch
Import all parts and piece them together.
Leptos
use leptos::*;
use radix_leptos_switch::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Switch>
<SwitchThumb />
</Switch>
}
}
Contains all the parts of a switch. An input
will also render when used within a form
to ensure events propagate correctly.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
default_checked
MaybeProp<bool>
-
checked
MaybeProp<bool>
-
on_checked_change
Option<Callback<bool>>
-
disabled
MaybeProp<bool>
-
required
MaybeProp<bool>
-
name
MaybeProp<String>
-
value
MaybeProp<String>
"on"
Data attribute Values
[data-state]
"checked" | "unchecked"
[data-disabled]
Present when disabled
The thumb that is used to visually indicate whether the switch is on or off.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
Data attribute Values
[data-state]
"checked" | "unchecked"
[data-disabled]
Present when disabled
Adheres to the switch
role requirements .
Key Description
Space
Toggles the component's state.
Enter
Toggles the component's state.
A two-state button that can be either on or off.
Leptos
toggle.rs
use leptos::*;
use radix_leptos_icons::FontItalicIcon;
use radix_leptos_toggle::*;
#[component]
pub fn ToggleDemo() -> impl IntoView {
view! {
<Toggle
attr:aria-label="Toggle italic"
attr:class="hover:bg-violet3 color-mauve11 data-[state=on]:bg-violet6 data-[state=on]:text-violet12 shadow-blackA4 flex h-[35px] w-[35px] items-center justify-center rounded bg-white text-base leading-4 shadow-[0_2px_10px] focus:shadow-[0_0_0_2px] focus:shadow-black"
>
<FontItalicIcon />
</Toggle>
}
}
Full keyboard navigation.
Can be controlled or uncontrolled.
Install the component from your command line.
Leptos
cargo add radix-leptos-toggle
Import the component.
Leptos
use leptos::*;
use radix_leptos_toggle::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Toggle />
}
}
The toggle.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
default_pressed
MaybeProp<bool>
-
pressed
MaybeProp<bool>
-
on_pressed_change
Option<Callback<bool>>
-
disabled
MaybeProp<bool>
-
Data attribute Values
[data-state]
"on" | "off"
[data-disabled]
Present when disabled
Key Description
Space
Activates/deactivates the toggle.
Enter
Activates/deactivates the toggle.
Makes icons accessible by adding a label.
Quickly make any icon accessible by wrapping it and providing a meaningful label.
No visual difference, but announced correctly by screen readers.
Install the component from your command line.
Leptos
cargo add radix-leptos-accessible-icon
Import the component.
Leptos
use leptos::*;
use radix_leptos_accessible_icon::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<AccessibleIcon />
}
}
Contains the icon to make accessible.
Leptos
Prop Type Default
label
MaybeSignal<String>
-
Most icons or icon systems come with no accessibility built-in. For example, the same visual cross icon may in fact mean "close" or "delete" .
This component lets you give meaning to icons used throughout your app.
This is built with Visually Hidden .
Wraps your app to provide global reading direction.
Enables all primitives to inherit global reading direction.
Install the component from your command line.
Leptos
cargo add radix-leptos-direction-provider
Import the component.
Leptos
use leptos::*;
use radix_leptos_direction_provider::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<DirectionProvider />
}
}
When creating localized apps that require right-to-left (RTL) reading direction, you need to wrap your application with the DirectionProvider
component to ensure all of the primitives adjust their behavior based on the dir
prop.
Leptos
Prop Type Default
dir
MaybeSignal<Direction>
-
Use the direction provider.
Leptos
use leptos::*;
use radix_leptos_direction_provider::*;
#[component]
fn Example() -> impl IntoView {
view! {
<DirectionProvider dir=Direction::Rtl>
/* your app */
</DirectionProvider>
}
}
Renders a subtree in a different part of the DOM.
Render any React subtree outside of your App.
Appends to document.body
by default but can be customized to use a different container.
Install the component from your command line.
Leptos
# CSR
cargo add radix-leptos-portal --features csr
# Hydrate
cargo add radix-leptos-portal --features hydrate
# SSR
cargo add radix-leptos-portal --features ssr
Import the component.
Leptos
use leptos::*;
use radix_leptos_portal::Portal;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<Portal />
}
}
Anything you put inside this component will be rendered in a separate <div>
element. By default, this element will be appended to document.body
but you can choose a different container by using the container
or container_ref
prop.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
container
MaybeProp<web_sys::Element>
-
container_ref
NodeRef<AnyElement>
-
Use the portal primitive.
Leptos
use leptos::*;
use radix_leptos_portal::Portal;
#[component]
fn Example() -> impl IntoView {
view! {
<Portal>Content</Portal>
}
}
Merges its props onto its immediate child.
TODO
Hides content from the screen in an accessible way.
Visually hides content while preserving it for assistive technology.
Install the component from your command line.
Leptos
cargo add radix-leptos-visually-hidden
Import the component.
Leptos
use leptos::*;
use radix_leptos_visually_hidden::*;
#[component]
fn Anatomy() -> impl IntoView {
view! {
<VisuallyHidden />
}
}
Anything you put inside this component will be hidden from the screen but will be announced by screen readers.
Leptos
Prop Type Default
as_child
MaybeProp<bool>
false
Use the visually hidden primitive.
Leptos
use leptos::*;
use radix_leptos_visually_hidden::*;
#[component]
fn Example() -> impl IntoView {
view! {
<button>
<GearIcon />
<VisuallyHidden>Settings</VisuallyHidden>
</button>
}
}
This is useful in certain scenarios as an alternative to traditional labelling with aria-label
or aria-labelledby
.