snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
This commit is contained in:
98
apps/v4/examples/base/sheet-rtl.tsx
Normal file
98
apps/v4/examples/base/sheet-rtl.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
useTranslation,
|
||||
type Translations,
|
||||
} from "@/components/language-selector"
|
||||
import { Button } from "@/styles/base-nova/ui-rtl/button"
|
||||
import { Field, FieldGroup, FieldLabel } from "@/styles/base-nova/ui-rtl/field"
|
||||
import { Input } from "@/styles/base-nova/ui-rtl/input"
|
||||
import {
|
||||
Sheet,
|
||||
SheetClose,
|
||||
SheetContent,
|
||||
SheetDescription,
|
||||
SheetFooter,
|
||||
SheetHeader,
|
||||
SheetTitle,
|
||||
SheetTrigger,
|
||||
} from "@/styles/base-nova/ui-rtl/sheet"
|
||||
|
||||
const translations: Translations = {
|
||||
en: {
|
||||
dir: "ltr",
|
||||
values: {
|
||||
open: "Open",
|
||||
editProfile: "Edit profile",
|
||||
description:
|
||||
"Make changes to your profile here. Click save when you're done.",
|
||||
name: "Name",
|
||||
username: "Username",
|
||||
save: "Save changes",
|
||||
close: "Close",
|
||||
},
|
||||
},
|
||||
ar: {
|
||||
dir: "rtl",
|
||||
values: {
|
||||
open: "فتح",
|
||||
editProfile: "تعديل الملف الشخصي",
|
||||
description:
|
||||
"قم بإجراء تغييرات على ملفك الشخصي هنا. انقر حفظ عند الانتهاء.",
|
||||
name: "الاسم",
|
||||
username: "اسم المستخدم",
|
||||
save: "حفظ التغييرات",
|
||||
close: "إغلاق",
|
||||
},
|
||||
},
|
||||
he: {
|
||||
dir: "rtl",
|
||||
values: {
|
||||
open: "פתח",
|
||||
editProfile: "עריכת פרופיל",
|
||||
description: "בצע שינויים בפרופיל שלך כאן. לחץ שמור כשתסיים.",
|
||||
name: "שם",
|
||||
username: "שם משתמש",
|
||||
save: "שמור שינויים",
|
||||
close: "סגור",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export function SheetRtl() {
|
||||
const { dir, t, language } = useTranslation(translations, "ar")
|
||||
|
||||
return (
|
||||
<Sheet>
|
||||
<SheetTrigger render={<Button variant="outline" />}>
|
||||
{t.open}
|
||||
</SheetTrigger>
|
||||
<SheetContent
|
||||
dir={dir}
|
||||
side={dir === "rtl" ? "left" : "right"}
|
||||
data-lang={dir === "rtl" ? language : undefined}
|
||||
>
|
||||
<SheetHeader>
|
||||
<SheetTitle>{t.editProfile}</SheetTitle>
|
||||
<SheetDescription>{t.description}</SheetDescription>
|
||||
</SheetHeader>
|
||||
<FieldGroup className="px-4">
|
||||
<Field>
|
||||
<FieldLabel htmlFor="sheet-rtl-name">{t.name}</FieldLabel>
|
||||
<Input id="sheet-rtl-name" defaultValue="Pedro Duarte" />
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="sheet-rtl-username">{t.username}</FieldLabel>
|
||||
<Input id="sheet-rtl-username" defaultValue="peduarte" />
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
<SheetFooter>
|
||||
<Button type="submit">{t.save}</Button>
|
||||
<SheetClose render={<Button variant="outline" />}>
|
||||
{t.close}
|
||||
</SheetClose>
|
||||
</SheetFooter>
|
||||
</SheetContent>
|
||||
</Sheet>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user