Amina's breathing sessions changed my evenings. I sleep so much better now.
Components
60 components, each shown in English and Arabic (right-to-left), dark and light.
Chip
Code
import { Chip } from "@/design-system";
<Chip selected={on} onClick={toggle}>Yoga</Chip>Badge
Code
import { Badge } from "@/design-system";
<Badge variant="plus">Plus</Badge>Avatar
Code
import { Avatar } from "@/design-system";
<Avatar name="Amina Yasmin" size="lg" ring />Card
glass
Morning calm
solid
Morning calm
raised
Morning calm
glass
هدوء الصباح
solid
هدوء الصباح
raised
هدوء الصباح
glass
Morning calm
solid
Morning calm
raised
Morning calm
glass
هدوء الصباح
solid
هدوء الصباح
raised
هدوء الصباح
Code
import { Card } from "@/design-system";
<Card variant="glass" padding="md">…</Card>Input
Code
import { Input } from "@/design-system";
<Input label="Email" placeholder="you@example.com" error="…" />SearchBar
Code
import { SearchBar } from "@/design-system";
<SearchBar value={q} onValueChange={setQ} placeholder="Search coaches" />Tabs
Code
import { Tabs } from "@/design-system";
<Tabs items={items} value={tab} onValueChange={setTab} />SegmentedControl
Code
import { SegmentedControl } from "@/design-system";
<SegmentedControl label="Mode" options={…} value={v} onValueChange={setV} />Toggle
Code
import { Toggle } from "@/design-system";
<Toggle label="Reminders" showLabel checked={on} onCheckedChange={setOn} />ProgressBar
21-Day Anxiety Relief · 64%
21 يوماً لتخفيف القلق · 64%
21-Day Anxiety Relief · 64%
21 يوماً لتخفيف القلق · 64%
Code
import { ProgressBar } from "@/design-system";
<ProgressBar label="Course progress" value={64} />ProgressRing
Code
import { ProgressRing } from "@/design-system";
<ProgressRing label="Session timer" value={7} max={10}>07:00</ProgressRing>Stepper
- Details
- 2Payment
- 3Done
- Application sent
- Under review
- 3Interview
- 4Decision
- التفاصيل
- 2الدفع
- 3تم
- تم إرسال الطلب
- قيد المراجعة
- 3مقابلة
- 4القرار
- Details
- 2Payment
- 3Done
- Application sent
- Under review
- 3Interview
- 4Decision
- التفاصيل
- 2الدفع
- 3تم
- تم إرسال الطلب
- قيد المراجعة
- 3مقابلة
- 4القرار
Code
import { Stepper } from "@/design-system";
<Stepper current={1} steps={[{label:"Details"},{label:"Payment"},{label:"Done"}]} />Divider
Above
Below
أعلى
أسفل
Above
Below
أعلى
أسفل
Code
import { Divider } from "@/design-system";
<Divider />RatingStars
Code
import { RatingStars } from "@/design-system";
<RatingStars value={4} onValueChange={setRating} />Text
Are you ready to grow?
Caption text
هل أنت مستعد للنمو؟
نص توضيحي
Are you ready to grow?
Caption text
هل أنت مستعد للنمو؟
نص توضيحي
Code
import { Text } from "@/design-system";
<Text variant="h2">Are you ready to grow?</Text>PointsPill
Code
import { PointsPill } from "@/design-system";
<PointsPill value={50} kind="points" />AppHeader
Code
import { AppHeader } from "@/design-system";
<AppHeader user={{name:"Abdullah"}} levelTitle="Hi Beginner" xp={389} points={50} streak={7} hasNotifications />Dialog
Code
import { Dialog } from "@/design-system";
<Dialog open title="Cancel booking?" actions={…} onClose={close} />BottomSheet
Code
import { BottomSheet } from "@/design-system";
<BottomSheet open title="Session options" onClose={close}>…</BottomSheet>FilterSheet
Code
import { FilterSheet } from "@/design-system";
<FilterSheet open groups={groups} value={v} onValueChange={setV} onApply={apply} onReset={reset} />ReportSheet
Code
import { ReportSheet } from "@/design-system";
<ReportSheet open targetName="@noura" onAction={act} onClose={close} />AdminActionsSheet
Code
import { AdminActionsSheet } from "@/design-system";
<AdminActionsSheet open actions={actions} onSelect={run} onClose={close} />Toast
Code
import { Toast } from "@/design-system";
<Toast tone="success" title="Booking confirmed" onDismiss={dismiss} />CelebrationModal
Code
import { CelebrationModal } from "@/design-system";
<CelebrationModal open kind="xp" amount={120} title="Streak unlocked!" />PriceTiles
Code
import { PriceTiles } from "@/design-system";
<PriceTiles tiles={tiles} value={opt} onValueChange={setOpt} />StatusChip
Code
import { StatusChip } from "@/design-system";
<StatusChip status="confirmed" />Countdown
Code
import { Countdown } from "@/design-system";
<Countdown to={retreatStart} />DayGrid
Code
import { DayGrid } from "@/design-system";
<DayGrid days={states} onSelect={openDay} />CalendarPicker
October 2026
أكتوبر 2026
October 2026
أكتوبر 2026
Code
import { CalendarPicker } from "@/design-system";
<CalendarPicker value={date} onValueChange={setDate} locale="ar-SA" />TimeSlotPicker
Code
import { TimeSlotPicker } from "@/design-system";
<TimeSlotPicker slots={slots} value={slot} onValueChange={setSlot} />QRTicket
AlUla Desert Retreat
ConfirmedETZ-7F3K-2026خلوة صحراء العلا
مؤكدETZ-7F3K-2026AlUla Desert Retreat
ConfirmedETZ-7F3K-2026خلوة صحراء العلا
مؤكدETZ-7F3K-2026Code
import { QRTicket } from "@/design-system";
<QRTicket code="ETZ-7F3K-2026" title="Desert Retreat" details={…} />ConfirmationCard
You're booked!
We've sent the details to your email.
- Session
- Breath & Release
- Coach
- Amina Yasmin
- Paid
- 50 Etta Points
تم الحجز!
أرسلنا التفاصيل إلى بريدك.
- الجلسة
- تنفّس وتحرّر
- المدرب
- أمينة ياسمين
- المدفوع
- 50 نقطة إيتا
You're booked!
We've sent the details to your email.
- Session
- Breath & Release
- Coach
- Amina Yasmin
- Paid
- 50 Etta Points
تم الحجز!
أرسلنا التفاصيل إلى بريدك.
- الجلسة
- تنفّس وتحرّر
- المدرب
- أمينة ياسمين
- المدفوع
- 50 نقطة إيتا
Code
import { ConfirmationCard } from "@/design-system";
<ConfirmationCard title="You're booked!" summary={…} actions={…} />ContentCard
Code
import { ContentCard } from "@/design-system";
<ContentCard contentType="audio" access="plus" locked title="…" />CourseCard
Code
import { CourseCard } from "@/design-system";
<CourseCard title="21-Day Anxiety Relief" rating={4.9} price={50} coach={<CoachChip name="Amina Yasmin" />} />CoachChip
Code
import { CoachChip } from "@/design-system";
<CoachChip name="Amina Yasmin" />SectionHeader
Recommended For You
مقترح لك
Recommended For You
مقترح لك
Code
import { SectionHeader } from "@/design-system";
<SectionHeader title="Recommended For You" action={<Button variant="ghost" size="sm">See all</Button>} />GreetingHeader
Good Morning!
Hey Abdullah!
Are you ready to grow?
صباح الخير!
أهلاً عبدالله!
هل أنت مستعد للنمو؟
Good Morning!
Hey Abdullah!
Are you ready to grow?
صباح الخير!
أهلاً عبدالله!
هل أنت مستعد للنمو؟
Code
import { GreetingHeader } from "@/design-system";
<GreetingHeader greeting="Good Morning!" name="Hey Abdullah!" prompt="Are you ready to grow?" />StreakTracker
Code
import { StreakTracker } from "@/design-system";
<StreakTracker title="7 Day Streak" remaining="2 days to go" days={[…]} />ReviewCard
جلسات التنفس مع أمينة غيّرت أمسياتي. أنام أفضل بكثير الآن.
Amina's breathing sessions changed my evenings. I sleep so much better now.
جلسات التنفس مع أمينة غيّرت أمسياتي. أنام أفضل بكثير الآن.
Code
import { ReviewCard } from "@/design-system";
<ReviewCard author="Noura" rating={5} date="2 days ago" body="…" />RoleBadge
Code
import { RoleBadge } from "@/design-system";
<RoleBadge role="coach" />SafetyCard
Code
import { SafetyCard } from "@/design-system";
<SafetyCard title="Need to talk now?" tone="urgent">…</SafetyCard>EmptyState

No bookings yet
Find a session that fits your day.

لا توجد حجوزات بعد
اعثر على جلسة تناسب يومك.

No bookings yet
Find a session that fits your day.

لا توجد حجوزات بعد
اعثر على جلسة تناسب يومك.
Code
import { EmptyState } from "@/design-system";
<EmptyState title="No bookings yet" action={…} />ErrorState
Couldn't load your journey
Check your connection and try again.
تعذر تحميل رحلتك
تحقق من الاتصال وحاول مجدداً.
Couldn't load your journey
Check your connection and try again.
تعذر تحميل رحلتك
تحقق من الاتصال وحاول مجدداً.
Code
import { ErrorState } from "@/design-system";
<ErrorState title="Couldn't load" onRetry={retry} />LockedState
Plus members only
Unlock every course, retreat discount and offline listening.
للأعضاء بلس فقط
افتح كل الدورات وخصومات الخلوات والاستماع دون اتصال.
Plus members only
Unlock every course, retreat discount and offline listening.
للأعضاء بلس فقط
افتح كل الدورات وخصومات الخلوات والاستماع دون اتصال.
Code
import { LockedState } from "@/design-system";
<LockedState title="Plus members only" action={…} />NoAccess
You don't have access
Ask an admin to grant you the Coach role.
ليس لديك صلاحية
اطلب من المشرف منحك دور المدرب.
You don't have access
Ask an admin to grant you the Coach role.
ليس لديك صلاحية
اطلب من المشرف منحك دور المدرب.
Code
import { NoAccess } from "@/design-system";
<NoAccess title="You don't have access" />Skeleton
Code
import { Skeleton } from "@/design-system";
<SkeletonCard /> <Skeleton width="60%" />Mascot












Code
import { Mascot } from "@/design-system";
<Mascot mood="happy" message="Great job!" />BarChart
Code
import { BarChart } from "@/design-system";
<BarChart title="Minutes practised" data={[{label:"Sun",value:12},…]} />LineChart
Code
import { LineChart } from "@/design-system";
<LineChart title="Mood trend" data={…} />CalendarHeatmap
Code
import { CalendarHeatmap } from "@/design-system";
<CalendarHeatmap title="Practice days" values={levels} />Logo




Code
import { Logo } from "@/design-system";
<Logo variant="logotype-03" width={160} />RewardBadge




Code
import { RewardBadge } from "@/design-system";
<RewardBadge size={96} />