M Majid DS mds
GitHub

Guides

Majid DS

An RTL / Persian-first UI kit for Laravel Livewire, built on top of Flux UI.

Majid DS does not replace Flux — it extends it. Every flux:* component keeps working exactly as it does upstream, and an mds:* namespace adds the pieces Flux does not have: Persian typography and digits, Jalali dates, Toman and Rial prices, and the e-commerce components a storefront needs. Previews in these docs render the way an English app would; one config flag turns the whole kit Persian.

Ships today
Samsung Galaxy S25 256GB smartphone

Samsung Galaxy S25 256GB smartphone

13%
48,900,000
42,500,000 Toman
<mds:product-card
    title="Samsung Galaxy S25 256GB smartphone"
    image="https://picsum.photos/seed/phone/400/400"
    :amount="42500000"
    :original="48900000"
    :rating="4.6"
    :reviews="342"
    badge="Ships today"
    href="#"
    class="max-w-56"
/>

What this adds on top of Flux

Everything below is additive. Nothing here changes how a flux:* component behaves.

22%
3,200,000
2,500,000 Toman
2
07 hours
42 min
00 sec
{{-- Money, with the original price struck through --}}
<mds:price :amount="2500000" :original="3200000" />

{{-- Dates in the Jalali calendar --}}
<mds:jalali-date :date="now()" format="l j F Y" />

{{-- E-commerce --}}
<mds:quantity :value="2" :min="1" :max="5" />
<mds:countdown :until="now()->addHours(7)" :days="false" />

Persian-first when you flip the switch

The kit was built RTL and Persian first. config('mds.persian_digits') — on by default, off in these docs — switches digits, separators, unit names and every built-in string across the whole page at once; the fa prop does the same per component. The snippet below opts in explicitly — in a real Persian app the config default already covers every component.

سفارش‌های من
۲۲٪
۳٬۲۰۰٬۰۰۰
۲٬۵۰۰٬۰۰۰ تومان
۰۷ ساعت
۴۲ دقیقه
۰۰ ثانیه
<flux:heading>سفارش‌های من</flux:heading>
@fa(1405)

<mds:price :amount="2500000" :original="3200000" :fa="true" />
<mds:jalali-date :date="now()" format="l j F Y" :fa="true" />
<mds:countdown :until="now()->addHours(7)" :days="false" :fa="true" />

What is documented here

The Components group covers every free Flux component that ships with this package — 32 of them, each with live previews. The mds group covers this kit's own components, including open alternatives to six Flux Pro components: Command, Composer, Color picker, File upload, Timeline and Chart.

Flux Pro components are not documented here. Nineteen of the components on fluxui.dev — Accordion, Autocomplete, Calendar, Carousel, Chart, Composer, Context, Date picker, Editor, Kanban, Pillbox, Popover, Slider, Tabs, Time picker and the rest — ship no code in the free tier, so there is nothing to preview or reference. Six of them have mds:* replacements — Command, Composer, Color picker, File upload, Timeline and Chart; for the others, see Flux's own docs.

Try it

The demo is the fastest way to see the whole kit at once. It lives in these docs, rendered twice from the same Blade — English left-to-right, and Persian right-to-left.

Related