Skip to content

kasimmj/arabic-ui-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


arabic-ui-kit

The first UI library designed FOR Arabic. Not translated. RTL-first ยท Beautiful Arabic typography ยท Accessible ยท Tailwind + React + Flutter.


npm i @kasimmj/arabic-ui-kit
# or
flutter pub add arabic_ui_kit

๐Ÿ–ฅ๏ธ Browse the live component playground



๐ŸŒ ู„ูŠุด ู‡ุฐูŠ ุงู„ู…ูƒุชุจุฉ ู…ูˆุฌูˆุฏุฉุŸ

Material UI, Tailwind UI, shadcn/ui โ€” ูƒู„ู‡ู† ู…ู…ุชุงุฒูŠู†ุŒ ู„ูƒู†ู‡ู† ู…ูƒุชูˆุจูŠู† ู„ู„ุฅู†ุฌู„ูŠุฒูŠุฉ. ู„ู…ุง ุชุณุชุฎุฏู…ู‡ู† ุจุงู„ุนุฑุจูŠ:

  • ๐Ÿ“ ุงู„ู€ spacing ู…ูƒุณูˆุฑ (padding-left ุจุฏู„ padding-inline-start)
  • ๐Ÿ”ค ุงู„ู€ fonts ู…ูˆ ู…ุชูˆุงุฒู†ุฉ (ุชุณุชุฎุฏู… Inter ู„ู„ุฃุฑู‚ุงู… ูˆุงู„ุนุฑุจูŠ ูŠุจุงู† ู‚ุจูŠุญ)
  • ๐Ÿ“ ุงู„ู€ icons ููŠ ุงู„ุฌู‡ุฉ ุงู„ุฎุทุฃ
  • ๐Ÿ”  ุงู„ุฃุฑู‚ุงู… ุชุทู„ุน ุจุงู„ุดูƒู„ ุงู„ุฅู†ุฌู„ูŠุฒูŠ ุญุชู‰ ู„ูˆ ุงู„ุณูŠุงู‚ ุนุฑุจูŠ
  • ๐Ÿ“… ุงู„ู€ date pickers ุชุณุชุฎุฏู… ุงู„ู…ูŠู„ุงุฏูŠ ู…ุง ูŠุฏุนู…ู† ุงู„ู‡ุฌุฑูŠ
  • โŒ ุจุฏูˆู† ุฏุนู… ู„ู€ proper hyphenation ู„ู„ู†ุตูˆุต ุงู„ุนุฑุจูŠุฉ

arabic-ui-kit ู…ุตู…ู… ู…ู† ุงู„ุฃุณุงุณ ู„ู„ุนุฑุจูŠุฉ. ู„ุง ุชุนุฏูŠู„ุงุช ุจุนุฏ ุงู„ุชุทูˆูŠุฑ. ู„ุง CSS override. ู„ุง ุชูƒู‡ู†ุงุช.


โœจ 80+ Components, all RTL-first

ุงู„ุฃุณุงุณูŠุฉ:

Button ยท Input ยท Textarea ยท Checkbox ยท Radio ยท Switch ยท Select ยท Combobox ยท Slider

ุงู„ู†ู…ุงุฐุฌ:

Form ยท FormField ยท DatePicker (Hijri + Gregorian) ยท TimePicker ยท NumberInput (Arabic numerals support) ยท PhoneInput (+964 default) ยท FileUpload

ุงู„ุชุฎุทูŠุท:

Container ยท Stack ยท Grid ยท Sidebar ยท NavBar ยท TabBar ยท Footer ยท Drawer ยท Modal ยท Sheet

ุงู„ุชู†ู‚ู„:

Tabs ยท Pagination ยท Breadcrumb ยท Stepper ยท CommandPalette (with Arabic shortcuts)

ุงู„ุนุฑุถ:

Card ยท Avatar ยท Badge ยท Tag ยท Tooltip ยท Popover ยท Toast ยท Alert ยท Banner ยท Skeleton

ุงู„ุนุฑุจูŠุฉ-ูู‚ุท:

HijriCalendar ยท PrayerTimesWidget ยท QuranReader (with Tajweed) ยท ArabicNumberFormatter ยท AdhanCountdown ยท DiacriticsToggle

ุงู„ู…ุชู‚ุฏู…ุฉ:

DataTable (RTL columns) ยท Charts (Recharts with RTL) ยท RichTextEditor (Arabic-aware) ยท CodeEditor (Monaco RTL) ยท Map (with Arabic cities)


๐ŸŽจ Visual Playground

The live playground (arabic-ui-kit.kasimmj.com) lets you:

โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚  ๐ŸŒ arabic-ui-kit Playground                          [ุงู„ุนุฑุจูŠุฉ โ–พ]โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                                 โ”‚
โ”‚   Components                Preview                              โ”‚
โ”‚   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€              โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”‚
โ”‚   โ–ธ Buttons                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚   โ–พ Forms                   โ”‚                              โ”‚    โ”‚
โ”‚     โ€ข Input                 โ”‚     โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ             โ”‚    โ”‚
โ”‚     โ€ข DatePicker  โ† active  โ”‚     โ”‚  ุญูุธ  โžœ  โ”‚            โ”‚    โ”‚
โ”‚     โ€ข PhoneInput            โ”‚     โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ             โ”‚    โ”‚
โ”‚     โ€ข Select                โ”‚                              โ”‚    โ”‚
โ”‚   โ–ธ Layout                  โ”‚     [ุงู„ุชุงุฑูŠุฎ      ๐Ÿ“… โ–พ]     โ”‚    โ”‚
โ”‚   โ–ธ Navigation              โ”‚                              โ”‚    โ”‚
โ”‚   โ–ธ Display                 โ”‚     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚    โ”‚
โ”‚   โ–ธ Arabic-only             โ”‚     โ”‚ ู‡ุฌุฑูŠ โ—   โ”‚             โ”‚    โ”‚
โ”‚                             โ”‚     โ”‚ ู…ูŠู„ุงุฏูŠ โ—‹  โ”‚             โ”‚    โ”‚
โ”‚   Theme: โšซ Dark  โ—‹ Light    โ”‚     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜             โ”‚    โ”‚
โ”‚   Locale: ๐Ÿ‡ฎ๐Ÿ‡ถ Iraq           โ”‚                              โ”‚    โ”‚
โ”‚   Font: Cairo  โ–พ            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                                                 โ”‚
โ”‚   ๐Ÿ“‹ Copy code:                                                  โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚   โ”‚ <DatePicker calendar="hijri" defaultValue={...} />    โ”‚    โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                                                 โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Features:

  • ๐ŸŽจ Live editing โ€” change props, see results instantly
  • ๐ŸŒ— Theme switcher โ€” dark/light side-by-side
  • ๐ŸŒ Locale switcher โ€” see RTL/LTR + different Arabic dialects
  • ๐Ÿ”ค Font switcher โ€” Cairo, Tajawal, IBM Plex Arabic, Almarai
  • ๐Ÿ“‹ Copy-paste code for each variation
  • ๐Ÿ“ฑ Mobile preview โ€” responsive testing

โšก Quick example

import { Button, DatePicker, PhoneInput, ArabicNumberFormatter } from "@kasimmj/arabic-ui-kit";

function ContactForm() {
  return (
    <Stack dir="rtl" gap={4}>
      <PhoneInput
        defaultCountry="IQ"           // +964
        placeholder="ุฑู‚ู… ู‡ุงุชููƒ"
      />

      <DatePicker
        calendar="hijri"               // or "gregorian"
        locale="ar"
        placeholder="ุงุฎุชุฑ ุชุงุฑูŠุฎ ุงู„ู…ุฑุงุฌุนุฉ"
      />

      <Button variant="primary" size="lg">
        ุฅุฑุณุงู„ ุงู„ุทู„ุจ
      </Button>

      <ArabicNumberFormatter
        value={1234567.89}
        useArabicNumerals
      />
      {/* Renders: ูกูฌูขูฃูคูฌูฅูฆูงูซูจูฉ */}
    </Stack>
  );
}

๐ŸŽจ Theming

Every color, font, spacing, and radius is a token. Change one variable โ†’ entire app updates.

import { ThemeProvider } from "@kasimmj/arabic-ui-kit";

<ThemeProvider
  theme={{
    colors: {
      primary: "#8A2BE2",
      surface: "#0D1117",
    },
    fonts: {
      arabic: "Cairo, sans-serif",
      latin: "Inter, sans-serif",
    },
    radius: "md",          // sm | md | lg | full
    direction: "rtl",      // rtl | ltr | auto
    locale: "ar-IQ",
  }}
>
  <App />
</ThemeProvider>

Pre-built themes:

  • ๐ŸŒš Midnight โ€” dark + violet (default)
  • ๐ŸŒ… Desert โ€” warm + bronze
  • ๐Ÿ•Œ Classic โ€” traditional Islamic aesthetic
  • ๐Ÿ’ผ Corporate โ€” clean + minimal
  • ๐ŸŽจ Vibrant โ€” bold + colorful

โ™ฟ Accessibility

  • โœ… WCAG 2.1 AA compliant
  • โœ… Full keyboard navigation (with Arabic shortcut layouts)
  • โœ… Screen reader tested (NVDA + JAWS + VoiceOver)
  • โœ… Color contrast 4.5:1 minimum on text
  • โœ… Reduced motion respected
  • โœ… Focus rings visible on all interactive elements

๐Ÿ“ฑ Platforms

Platform Status Package
React (Next.js, Vite, CRA) โœ… Stable @kasimmj/arabic-ui-kit
Flutter โœ… Stable arabic_ui_kit
Vue 3 ๐Ÿšง Beta @kasimmj/arabic-ui-kit-vue
Svelte ๐Ÿšง Beta @kasimmj/arabic-ui-kit-svelte
Web Components ๐Ÿ“‹ Planned โ€”

๐Ÿ‡ฎ๐Ÿ‡ถ Iraqi-specific features

  • ๐Ÿ™๏ธ City picker โ€” All Iraqi cities + districts pre-populated
  • ๐Ÿ“ž Phone validation โ€” Iraqi mobile prefixes (07X) + landlines
  • ๐Ÿ“… Hijri calendar โ€” Islamic date support with proper conversions
  • ๐Ÿ•Œ Prayer times widget โ€” based on lat/long, multiple calculation methods
  • ๐Ÿ“œ Diacritics toggle โ€” Show/hide tashkeel on Quranic text
  • ๐Ÿ’ฐ IQD formatter โ€” proper Iraqi Dinar formatting (1,234,567 IQD)

๐Ÿš€ Roadmap

  • 80+ React components
  • 80+ Flutter components (parity)
  • Visual playground
  • 5 themes
  • Figma library + variables
  • Sketch library
  • Vue 3 + Svelte parity
  • Voice navigation (Arabic STT)
  • Animation system (Framer Motion preset)

๐Ÿ“œ License

MIT.


Star โญ to support Arabic developer experience.

Releases

No releases published

Packages

 
 
 

Contributors