Skip to content
DocsSupportPricing
Roadmap (has updates coming soon)XFigma3.7K
Sign inGet All-Access
Overview
  • Introduction
  • Get Started
  • License Setup
  • Styling
  • Registry
  • MCP Server
  • Embed
  • Agent Skills
  • llms.txt
  • RTL
  • Changelogv2.8.1
  • YouTube
MCP Server
  • Claude
  • CodexCodexCodex
  • Cursor
  • Grok
  • Conductor
  • v0
  • Lovable
  • Replit
  • Bolt
  • OpenCode
  • VS Code
  • GitHub Copilot
  • Kilo Code
  • Zed
  • Antigravity
  • Gemini CLI
Components
  • Alert
  • Autocomplete
  • Badge
  • CascaderCascader keeps a saved selection's full path, popup open or closed
  • Code Block
  • Color Picker
  • Data GridData Grid works in apps that run React Compiler, with resizing, edits and callbacks kept live
  • Date SelectorDate Selector keeps its year list and Today button current in apps that run React Compiler
  • Emoji Picker
  • Event CalendarEvent Calendar keeps today and the agenda current in apps that run React Compiler
  • File TypeFile Type knows 171 formats, .env and Dockerfile included
  • File Upload
  • Filters
  • Frame
  • GanttGantt keeps its Today button and tooltip current in apps that run React Compiler
  • Icon Stack
  • Icon Tile
  • Kanban
  • Number Field
  • Phone Input
  • Rating
  • Scrollspy
  • Signature Pad
  • Sortable
  • Stepper
  • Time Picker
  • Timeline
  • Tree

RTL

PreviousNext

How right-to-left support works in ReUI, what the shadcn CLI converts for you, and what to check in your own app.

Overview

ReUI is a standard shadcn registry. It ships the same style families the shadcn CLI supports (base-nova, radix-nova and the rest), so everything the CLI does for RTL on shadcn's own components, it does for ReUI components, blocks and Motion Icons in exactly the same way. There is no ReUI-specific RTL mode to enable and nothing to configure beyond the standard shadcn setup.

Set RTL up once, following the official guide: shadcn/ui RTL documentation. That page is the source of truth for the components.json flag, the DirectionProvider, and the framework-specific wiring for Next.js, Vite and TanStack Start. This page only covers what is specific to ReUI.

What the CLI converts

With RTL enabled in components.json, the shadcn CLI rewrites physical Tailwind utilities into logical ones as the code is written into your project. It applies to anything installed from a registry, ReUI included:

  • Positioning: left-* and right-* become start-* and end-*
  • Spacing: ml-*, mr-*, pl-*, pr-* become ms-*, me-*, ps-*, pe-*
  • Text alignment: text-left and text-right become text-start and text-end
  • Borders and radii: border-l, rounded-r and friends become their -s / -e equivalents
  • Directional animations: slide-in-from-right becomes slide-in-from-end

This is why you do not need ReUI source to be written in logical properties: the conversion happens at install time, on the copy that lands in your repository.

Existing projects need one migration pass

The automatic conversion applies to projects created with shadcn create on the new style families. If you added ReUI to an older project, run pnpm dlx shadcn@latest migrate rtl [path] over the installed files once, then keep RTL enabled so later installs are converted as they arrive.

What the CLI cannot convert

Class conversion is mechanical and it is only half of RTL. The other half is behavior, and no CLI can infer it:

  • Drag and drop. Pointer deltas are signed. A grid, Kanban or Gantt that reorders on a positive x delta needs that sign flipped under RTL.
  • Scroll position. Horizontal scroll origin differs in RTL, which affects virtualized grids, timelines and anything that restores a saved scrollLeft.
  • Charts. Axis placement and series direction come from the charting library's own configuration, not from Tailwind classes.
  • Icons that encode direction. Chevrons and arrows need rtl:rotate-180; a check mark or a spinner must not be flipped.
  • Content order. Whether a sidebar belongs on the start or end edge is a product decision, not a styling one.

Where ReUI stands today

Being straight about this is more useful than a blanket claim.

Primitives are written predominantly with logical properties already, so they degrade well before any conversion runs. The exceptions are the ones with real geometry: the Data Grid table, and the Gantt drag layer, both of which compute positions in JavaScript and are the first places to look if something reads wrong.

Blocks are presentational compositions built on those primitives and shadcn components. They are authored the way shadcn's own examples are, with physical utilities in places, and the CLI's RTL transform is what converts them on install. Because a block is layout rather than logic, class conversion covers most of what a block needs.

Not yet done, so budget for it. We do not currently ship an RTL preview toggle on block pages, an RTL test suite, or a per-block certification list. The interactive primitives - Data Grid, Gantt, Event Calendar, Kanban, Filters, App Shell - have not been formally verified in RTL, and those are exactly the ones where the behavioral issues above live. If you are building an Arabic-first or Hebrew-first product, treat static blocks as low-risk and plan a review pass over the interactive ones: verify column order, sidebar edge, drag direction, horizontal scroll and chart axes against your own designs.

Tell us what breaks

Building RTL-first and hitting something specific? Tell us the block or primitive and what breaks. Concrete reports are what turn this section into a shorter list.

Checklist for an RTL app

Enable RTL in shadcn

Follow the shadcn RTL guide to set the flag in components.json and add the DirectionProvider for your framework. Do this before installing ReUI items so they are converted on the way in.

Install ReUI items as usual

Terminal
pnpm dlx shadcn@latest add @reui/c-data-grid-30

Nothing changes in the command. The registry is the same; the CLI applies the RTL transform to what it writes.

Review interactive surfaces

For each Data Grid, Gantt, Event Calendar, Kanban or Filters instance, check the five behaviors class conversion cannot reach: column order, drag direction, horizontal scroll, chart axes, and any icon that points somewhere.

Flip only the icons that mean direction

Add rtl:rotate-180 to chevrons, arrows and carets. Leave symbolic icons alone.

Further reading

  • shadcn/ui RTL documentation - setup, the DirectionProvider, the full conversion list and known caveats
  • Styling - ReUI's extended token system, which is direction-independent
llms.txtEmbed

On This Page

OverviewWhat the CLI convertsWhat the CLI cannot convertWhere ReUI stands todayChecklist for an RTL appFurther reading

Application

  • App Shell
  • Auth
  • Card
  • Dashboard
  • Dialog
  • Empty State
  • Event Calendar
  • Flow
  • Form
  • Gantt
  • Kanban Board
  • List
  • Navbar
  • Onboarding
  • Profile
  • Rich Text Editor
  • Schedule
  • Settings
  • Sheet
  • Stats2 meter cards moved here from Charts, 17 in all
  • Timeline
  • Whiteboard
  • Wizard

Data Grid

  • Base
  • AdvancedAdded 2 new Data Grid Advanced blocks, 5 in all
  • Columns
  • Drag & Drop
  • Editing
  • Expansion
  • Filtering
  • Grouping
  • Virtualization

Charts

  • Area ChartAdded a new Inbound Leads area chart block
  • Bar Chart
  • Composed Chart
  • Line Chart
  • Pie Chart
  • Radial Chart
  • Sankey ChartNew Sankey Chart category with 3 flow chart blocks
  • Slope ChartNew Slope Chart category with 2 rank-shift chart blocks
  • Sparkline
  • Status Tracker

AI & Agents

  • AI Chat
  • Agent Activity
  • AI UsageNew AI Usage category with 2 spend blocks

Solutions

  • Dev Ops
  • AI Ops
  • CRM
  • Agents
  • Analytics
  • Billing
  • Bookings
  • Files
  • Inventory
  • Users
  • Digital TwinNew Digital Twin category with 2 interactive 3D blocks

Templates

  • All templates

eCommerce

  • Category Card
  • Checkout
  • Comparison
  • Coupon
  • Filter Sidebar
  • Product Card
  • Product Detail
  • Product Grid
  • Receipt
  • Review
  • Shopping Cart
  • Wishlist
  • Shop Hero

Marketing

  • Blog
  • Compare
  • Contact
  • CTA
  • FAQ
  • Hero
  • How It Works
  • Pricing

Resources

  • Components
  • Blocks
  • Icons
  • MCP for Agents
  • Docs
  • Support
  • Pricing
  • Tailwind Plus Alternative
  • Roadmap(has updates coming soon)
  • AffiliateSoon

Legal

  • Privacy Policy
  • Terms & Conditions
  • License
  • Refunds
  • Cookies

© 2026 ReUI. All rights reserved.

3.7K