snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
This commit is contained in:
101
apps/v4/examples/radix/dialog-rtl.tsx
Normal file
101
apps/v4/examples/radix/dialog-rtl.tsx
Normal file
@@ -0,0 +1,101 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
useTranslation,
|
||||
type Translations,
|
||||
} from "@/components/language-selector"
|
||||
import { Button } from "@/styles/radix-nova/ui-rtl/button"
|
||||
import {
|
||||
Dialog,
|
||||
DialogClose,
|
||||
DialogContent,
|
||||
DialogDescription,
|
||||
DialogFooter,
|
||||
DialogHeader,
|
||||
DialogTitle,
|
||||
DialogTrigger,
|
||||
} from "@/styles/radix-nova/ui-rtl/dialog"
|
||||
import { Field, FieldGroup } from "@/styles/radix-nova/ui-rtl/field"
|
||||
import { Input } from "@/styles/radix-nova/ui-rtl/input"
|
||||
import { Label } from "@/styles/radix-nova/ui-rtl/label"
|
||||
|
||||
const translations: Translations = {
|
||||
en: {
|
||||
dir: "ltr",
|
||||
values: {
|
||||
openDialog: "Open Dialog",
|
||||
editProfile: "Edit profile",
|
||||
description:
|
||||
"Make changes to your profile here. Click save when you're done.",
|
||||
name: "Name",
|
||||
username: "Username",
|
||||
cancel: "Cancel",
|
||||
saveChanges: "Save changes",
|
||||
},
|
||||
},
|
||||
ar: {
|
||||
dir: "rtl",
|
||||
values: {
|
||||
openDialog: "فتح الحوار",
|
||||
editProfile: "تعديل الملف الشخصي",
|
||||
description:
|
||||
"قم بإجراء تغييرات على ملفك الشخصي هنا. انقر فوق حفظ عند الانتهاء.",
|
||||
name: "الاسم",
|
||||
username: "اسم المستخدم",
|
||||
cancel: "إلغاء",
|
||||
saveChanges: "حفظ التغييرات",
|
||||
},
|
||||
},
|
||||
he: {
|
||||
dir: "rtl",
|
||||
values: {
|
||||
openDialog: "פתח דיאלוג",
|
||||
editProfile: "ערוך פרופיל",
|
||||
description: "בצע שינויים בפרופיל שלך כאן. לחץ על שמור כשתסיים.",
|
||||
name: "שם",
|
||||
username: "שם משתמש",
|
||||
cancel: "בטל",
|
||||
saveChanges: "שמור שינויים",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export function DialogRtl() {
|
||||
const { dir, t, language } = useTranslation(translations, "ar")
|
||||
|
||||
return (
|
||||
<Dialog>
|
||||
<form>
|
||||
<DialogTrigger asChild>
|
||||
<Button variant="outline">{t.openDialog}</Button>
|
||||
</DialogTrigger>
|
||||
<DialogContent
|
||||
className="sm:max-w-sm"
|
||||
dir={dir}
|
||||
data-lang={dir === "rtl" ? language : undefined}
|
||||
>
|
||||
<DialogHeader>
|
||||
<DialogTitle>{t.editProfile}</DialogTitle>
|
||||
<DialogDescription>{t.description}</DialogDescription>
|
||||
</DialogHeader>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<Label htmlFor="name-1">{t.name}</Label>
|
||||
<Input id="name-1" name="name" defaultValue="Pedro Duarte" />
|
||||
</Field>
|
||||
<Field>
|
||||
<Label htmlFor="username-1">{t.username}</Label>
|
||||
<Input id="username-1" name="username" defaultValue="@peduarte" />
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
<DialogFooter>
|
||||
<DialogClose asChild>
|
||||
<Button variant="outline">{t.cancel}</Button>
|
||||
</DialogClose>
|
||||
<Button type="submit">{t.saveChanges}</Button>
|
||||
</DialogFooter>
|
||||
</DialogContent>
|
||||
</form>
|
||||
</Dialog>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user