RTL-first, copy-paste React components and UI blocks for Persian interfaces, built on Base UI and Tailwind CSS. Includes unique Persian-focused patterns with full LTR support.
An auto-scrolling viewport for chat messages, with scroll-to-start/end buttons, built on @shadcn/react.
An Iranian mobile number input that normalizes mixed paste formats and Persian digits, with a redundant validity indicator.
Validates Iranian national ID (کد ملی) numbers using the standard 10-digit checksum.
An Iranian national ID (کد ملی) input that normalizes Persian digits as you type or paste and validates the checksum live, with a redundant validity indicator.
A styled native <select> element for choosing a single value.
A collection of links for navigating websites, built on Base UI.
Converts Persian (Û°-Û¹) and Arabic-Indic (Ù -Ù©) numerals to plain 0-9 digits.
Unifies Arabic-codepage letters onto Persian ones (ي→ی, ك→ک, …) with opt-in digit folding, diacritic stripping, half-space repair, and space tidying.
Spells numbers out in Persian words, accepting Latin or Persian digits with signs, decimals, and thousands separators.
Navigation for paginated content, built on Button.
A password input with a show/hide toggle that always renders LTR, regardless of the surrounding document direction.
Jalali/Gregorian date utilities built on date-fns and date-fns-jalali: formatting, parsing, conversion, ranges, and digit conversion, switchable with a calendarType prop.
zod schemas for persian-date: zPersianDate coerces an ISO string, a shamsi yyyy/MM/dd string, an epoch number, or a Date into a Date with optional min/max bounds; zPersianDateRange validates a from/to reservation-style range.
Official/religious/cultural Iranian holiday lookup for a date, range, or year, resolving Jalali, Gregorian, and tabular-Hijri entries.
Pre-shapes Persian/Arabic text into joined Unicode presentation-form codepoints so it renders correctly in Satori/next-og images, which don't shape connected scripts on their own.
Converts Persian/mixed Persian+English text into a URL-safe slug, keeping Persian script by default or transliterating to Latin/ASCII.
An Iranian vehicle license plate input with digit segments, a letter picker including wheelchair plates, and the Iran serial tab.
Displays rich content in a portal, anchored to a trigger.
Validates the structural format of Iranian postal codes (کد پستی).
A text input that live-formats digits as a grouped price as you type, with support for Persian/Arabic-Indic numerals.
Displays an indicator showing the completion progress of a task, built on Base UI.
A document minimap of proximity-reactive dashes that tracks scroll position, expands near the pointer, and smooth-scrolls to sections on click.
A rounded QR code generator with dot modules, custom foreground/background colors, configurable error correction, and a matching loading skeleton.
A multi-step questionnaire with single-choice, multiple-choice, freeform, and skippable questions, built on @shadcn/react.
A set of mutually exclusive radio buttons, built on Base UI.
A tactile checkout printer with processing stages and a composable thermal-paper receipt.
Accessible resizable panel groups and layouts, built on react-resizable-panels.
Renders an Alert Dialog on desktop and a bottom Drawer on mobile from one shared set of components.
Renders a Dialog on desktop and a bottom Drawer on mobile from one shared set of components.
Renders a Dropdown Menu on desktop and a bottom Drawer menu on mobile from one shared set of components.
Cross-browser custom scrollbars, built on Base UI.
A searchable-free listbox for choosing a single value, built on Base UI.
Visually or semantically separates content, built on Base UI.
A panel that slides in from an edge of the screen to complement the main content, built on Base UI.
A composable, collapsible application sidebar with mobile drawer, tooltips, and RTL support, built on Base UI.
Used to show a placeholder while content is loading.
An input where the user selects a value from within a given range, built on Base UI.
A spinning loading indicator icon.
A button that swaps between idle, loading, and success feedback for async actions.
A control that toggles between checked and unchecked, built on Base UI.
A responsive table component, with an optional card-row variant.
An accessible, animated tabs component built on Base UI with a spring-animated sliding active-tab indicator.
A styled multi-line text input.
An hour/minute/second wheel-based time picker, with a responsive Popover-on-desktop, Drawer-on-mobile composition.
A temporary notification that stacks in a corner of the screen or anchors to an element, built on Base UI, with success/error/warning/info/loading and X-style variants.
A two-state button that can be either on or off, built on Base UI.
A set of two-state buttons that can be toggled on or off, built on Base UI.
The Toman currency symbol, as a standalone icon component.