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.
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.
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 flexible QR code generator with square/dotted module shapes, solid or gradient fills, a center logo overlay, a download trigger, and a matching skeleton.
A multi-step questionnaire with single-choice, multiple-choice, freeform, and skippable questions, built on @shadcn/react.
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.
A panel that slides in from an edge of the screen to complement the main content, built on Base UI.
An input where the user selects a value from within a given range, built on Base UI.
An accessible, animated tabs component built on Base UI with a spring-animated sliding active-tab indicator.
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 set of two-state buttons that can be toggled on or off, built on Base UI.
Displays contextual information when hovering or focusing an element, built on Base UI.
A hook for a value that can be either controlled or uncontrolled, with a single consistent API either way.
Wraps the Clipboard API with a built-in timeout to reset the copied state, for copy buttons that show brief confirmation feedback.
A timer-aligned countdown hook for ISO-8601 target dates, with overdue state and formatted output.
A reactive current date/time hook with Jalali/Gregorian support, formatted output, and optional holiday flagging.
Reactive media query hook with Tailwind-like breakpoint syntax, built on useSyncExternalStore for SSR safety.
A reactive relative-time formatter ("۲ روز پیش" / "2 days ago") with built-in Persian and English message tables.