transform-rtl.ts — ui Source File
Architecture documentation for transform-rtl.ts, a typescript file in the ui codebase. 4 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 800d6a7b_126c_42b5_bf8e_f313b0852251["transform-rtl.ts"] 68902008_e67e_dfe4_353e_be9dad09e8d9["transform-css-vars.ts"] 800d6a7b_126c_42b5_bf8e_f313b0852251 --> 68902008_e67e_dfe4_353e_be9dad09e8d9 35f5833f_e233_d06c_e1a4_06b1e4fca37c["splitClassName"] 800d6a7b_126c_42b5_bf8e_f313b0852251 --> 35f5833f_e233_d06c_e1a4_06b1e4fca37c e69863ed_3e2f_ef94_648a_ef0155c386ef["transformers"] 800d6a7b_126c_42b5_bf8e_f313b0852251 --> e69863ed_3e2f_ef94_648a_ef0155c386ef 4f6f7e78_23ff_4f5f_c723_474454f64c85["ts-morph"] 800d6a7b_126c_42b5_bf8e_f313b0852251 --> 4f6f7e78_23ff_4f5f_c723_474454f64c85 646bd874_990a_e30f_0d03_073229dd52ad["index.ts"] 646bd874_990a_e30f_0d03_073229dd52ad --> 800d6a7b_126c_42b5_bf8e_f313b0852251 78ff1970_bc6e_d80f_3739_dd83a1ab851e["transform-rtl.test.ts"] 78ff1970_bc6e_d80f_3739_dd83a1ab851e --> 800d6a7b_126c_42b5_bf8e_f313b0852251 style 800d6a7b_126c_42b5_bf8e_f313b0852251 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { Transformer } from "@/src/utils/transformers"
import { Project, ScriptKind, SourceFile, SyntaxKind } from "ts-morph"
import { splitClassName } from "./transform-css-vars"
// Physical → logical Tailwind class mappings (direct replacement).
// Order matters to avoid partial matches:
// - Negative prefixes before positive (e.g., -ml- before ml-).
// - Specific corners before general ones e.g. rounded-tl- before rounded-l-.
// - With-value variants before without-value (e.g., border-l- before border-l).
const RTL_MAPPINGS: [string, string][] = [
["-ml-", "-ms-"],
["-mr-", "-me-"],
["ml-", "ms-"],
["mr-", "me-"],
["pl-", "ps-"],
["pr-", "pe-"],
["-left-", "-start-"],
["-right-", "-end-"],
["left-", "start-"],
["right-", "end-"],
["inset-l-", "inset-inline-start-"],
["inset-r-", "inset-inline-end-"],
["rounded-tl-", "rounded-ss-"],
["rounded-tr-", "rounded-se-"],
["rounded-bl-", "rounded-es-"],
["rounded-br-", "rounded-ee-"],
["rounded-l-", "rounded-s-"],
["rounded-r-", "rounded-e-"],
["border-l-", "border-s-"],
["border-r-", "border-e-"],
["border-l", "border-s"],
["border-r", "border-e"],
["text-left", "text-start"],
["text-right", "text-end"],
["scroll-ml-", "scroll-ms-"],
["scroll-mr-", "scroll-me-"],
["scroll-pl-", "scroll-ps-"],
["scroll-pr-", "scroll-pe-"],
["float-left", "float-start"],
["float-right", "float-end"],
["clear-left", "clear-start"],
["clear-right", "clear-end"],
["origin-top-left", "origin-top-start"],
["origin-top-right", "origin-top-end"],
["origin-bottom-left", "origin-bottom-start"],
["origin-bottom-right", "origin-bottom-end"],
["origin-left", "origin-start"],
["origin-right", "origin-end"],
]
// Translate-x: adds rtl: variant (negative ↔ positive).
const RTL_TRANSLATE_X_MAPPINGS: [string, string][] = [
["-translate-x-", "translate-x-"],
["translate-x-", "-translate-x-"],
]
// Classes that need rtl:*-reverse (no logical equivalents).
const RTL_REVERSE_MAPPINGS: [string, string][] = [
["space-x-", "space-x-reverse"],
// ... (400 more lines)
Domain
Subdomains
Functions
Dependencies
- splitClassName
- transform-css-vars.ts
- transformers
- ts-morph
Imported By
Source
Frequently Asked Questions
What does transform-rtl.ts do?
transform-rtl.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain, CLICore subdomain.
What functions are defined in transform-rtl.ts?
transform-rtl.ts defines 6 function(s): applyRtlMapping, applyRtlTransformToSourceFile, stripQuotes, transformDirection, transformRtl, transformStringLiteralNode.
What does transform-rtl.ts depend on?
transform-rtl.ts imports 4 module(s): splitClassName, transform-css-vars.ts, transformers, ts-morph.
What files import transform-rtl.ts?
transform-rtl.ts is imported by 2 file(s): index.ts, transform-rtl.test.ts.
Where is transform-rtl.ts in the architecture?
transform-rtl.ts is located at packages/shadcn/src/utils/transformers/transform-rtl.ts (domain: FrameworkTooling, subdomain: CLICore, directory: packages/shadcn/src/utils/transformers).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free