@persianlabsui
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.
Install this registry
npx shadcn@latest add https://ui.persian-labs.ir/r/registry.json pnpm dlx shadcn@latest add https://ui.persian-labs.ir/r/registry.json bunx shadcn@latest add https://ui.persian-labs.ir/r/registry.json curl -s https://ui.persian-labs.ir/r/registry.json Components
105 totalA button built on Base UI with variant and size support.
npx shadcn@latest add https://ui.persian-labs.ir/r/button.json An accessible, animated tabs component built on Base UI with a spring-animated sliding active-tab indicator.
npx shadcn@latest add https://ui.persian-labs.ir/r/tabs.json A styled text input built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/input.json An accessible, styled label element.
npx shadcn@latest add https://ui.persian-labs.ir/r/label.json Cross-browser custom scrollbars, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/scroll-area.json A searchable, accessible combobox built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/combobox.json A command palette component built with Dialog and Autocomplete for searching and executing commands.
npx shadcn@latest add https://ui.persian-labs.ir/r/command.json A province and city picker for Iran, built on Combobox and bundled with a full dataset of all 31 provinces and 1,119 cities.
npx shadcn@latest add https://ui.persian-labs.ir/r/city-selector.json A spinning loading indicator icon.
npx shadcn@latest add https://ui.persian-labs.ir/r/spinner.json A container that groups related buttons together with consistent styling.
npx shadcn@latest add https://ui.persian-labs.ir/r/button-group.json Displays rich content in a portal, anchored to a trigger.
npx shadcn@latest add https://ui.persian-labs.ir/r/popover.json A searchable-free listbox for choosing a single value, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/select.json Displays a menu of actions or options, triggered by a button.
npx shadcn@latest add https://ui.persian-labs.ir/r/dropdown-menu.json Groups an input with addons, buttons, or text for complex input layouts.
npx shadcn@latest add https://ui.persian-labs.ir/r/input-group.json Groups a label, control, and description into an accessible form field, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/field.json A styled multi-line text input.
npx shadcn@latest add https://ui.persian-labs.ir/r/textarea.json Displays a keyboard key or shortcut.
npx shadcn@latest add https://ui.persian-labs.ir/r/kbd.json Displays a small badge to highlight status or metadata.
npx shadcn@latest add https://ui.persian-labs.ir/r/badge.json An accessible one-time password input, built on input-otp.
npx shadcn@latest add https://ui.persian-labs.ir/r/input-otp.json Visually or semantically separates content, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/separator.json Displays a card with header, content, and footer.
npx shadcn@latest add https://ui.persian-labs.ir/r/card.json Displays the path to the current resource using a hierarchy of links.
npx shadcn@latest add https://ui.persian-labs.ir/r/breadcrumb.json Displays an empty state with a title, description, and optional actions.
npx shadcn@latest add https://ui.persian-labs.ir/r/empty.json A control that toggles between checked and unchecked, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/switch.json A control for selecting one or more options, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/checkbox.json A set of mutually exclusive radio buttons, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/radio-group.json Displays an indicator showing the completion progress of a task, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/progress.json An interactive component which expands/collapses a panel, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/collapsible.json A two-state button that can be either on or off, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/toggle.json A set of two-state buttons that can be toggled on or off, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/toggle-group.json A styled native <select> element for choosing a single value.
npx shadcn@latest add https://ui.persian-labs.ir/r/native-select.json A collection of links for navigating websites, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/navigation-menu.json Slider with elastic rubber-band drag and magnetic snap feedback.
npx shadcn@latest add https://ui.persian-labs.ir/r/elastic-slider.json A single-track, dual-thumb range slider in the same visual language as Elastic Slider.
npx shadcn@latest add https://ui.persian-labs.ir/r/elastic-range-slider.json Displays contextual information when hovering or focusing an element, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/tooltip.json A vertically stacked set of interactive headings that each reveal a section of content, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/accordion.json A panel that slides in from an edge of the screen to complement the main content, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/sheet.json A composable, collapsible application sidebar with mobile drawer, tooltips, and RTL support, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/sidebar.json A carousel with motion and swipe built using Embla.
npx shadcn@latest add https://ui.persian-labs.ir/r/carousel.json A menu of actions triggered by a right click, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/context-menu.json A persistent horizontal menu bar for application-style commands, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/menubar.json A modal window layered over the page for focused tasks or confirmations, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/dialog.json A modal dialog that interrupts the user with important content and expects a response, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/alert-dialog.json A swipeable panel that slides in from an edge of the screen, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/drawer.json Renders a Dialog on desktop and a bottom Drawer on mobile from one shared set of components.
npx shadcn@latest add https://ui.persian-labs.ir/r/responsive-dialog.json Renders a Dropdown Menu on desktop and a bottom Drawer menu on mobile from one shared set of components.
npx shadcn@latest add https://ui.persian-labs.ir/r/responsive-menu.json Renders an Alert Dialog on desktop and a bottom Drawer on mobile from one shared set of components.
npx shadcn@latest add https://ui.persian-labs.ir/r/responsive-alert-dialog.json Displays a callout for important, contextual messages.
npx shadcn@latest add https://ui.persian-labs.ir/r/alert.json Displays content within a desired ratio.
npx shadcn@latest add https://ui.persian-labs.ir/r/aspect-ratio.json Displays a file or image attachment with media, metadata, upload state, and actions.
npx shadcn@latest add https://ui.persian-labs.ir/r/attachment.json An image element with a fallback, for representing a user or entity, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/avatar.json Used to show a placeholder while content is loading.
npx shadcn@latest add https://ui.persian-labs.ir/r/skeleton.json A provider for setting the reading direction (LTR or RTL) of your app, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/direction.json For sighted users to preview content available behind a link, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/hover-card.json An interactive SVG map of Iran's provinces for picking a province, with hover previews, keyboard selection, and shadcn-style controlled state.
npx shadcn@latest add https://ui.persian-labs.ir/r/iran-map-picker.json A flexible layout for a piece of content, media, or action, often used in lists.
npx shadcn@latest add https://ui.persian-labs.ir/r/item.json A small label for annotating content, such as a section divider or inline note.
npx shadcn@latest add https://ui.persian-labs.ir/r/marker.json A chat message bubble with variants, reactions, and start/end alignment.
npx shadcn@latest add https://ui.persian-labs.ir/r/bubble.json Composable layout for a chat message with an avatar, header, content, and footer.
npx shadcn@latest add https://ui.persian-labs.ir/r/message.json An auto-scrolling viewport for chat messages, with scroll-to-start/end buttons, built on @shadcn/react.
npx shadcn@latest add https://ui.persian-labs.ir/r/message-scroller.json Navigation for paginated content, built on Button.
npx shadcn@latest add https://ui.persian-labs.ir/r/pagination.json Accessible resizable panel groups and layouts, built on react-resizable-panels.
npx shadcn@latest add https://ui.persian-labs.ir/r/resizable.json A responsive table component, with an optional card-row variant.
npx shadcn@latest add https://ui.persian-labs.ir/r/table.json The Toman currency symbol, as a standalone icon component.
npx shadcn@latest add https://ui.persian-labs.ir/r/toman-icon.json The cn() class-merging helper, powered by the cn package (a drop-in clsx + tailwind-merge engine).
npx shadcn@latest add https://ui.persian-labs.ir/r/utils.json Iranian card and Shaba normalization, checksum validation, and bank detection.
npx shadcn@latest add https://ui.persian-labs.ir/r/iranian-bank.json Iranian card-number and Shaba inputs with paste normalization, checksum validation, and bank detection.
npx shadcn@latest add https://ui.persian-labs.ir/r/bank-input.json A text input that live-formats digits as a grouped price as you type, with support for Persian/Arabic-Indic numerals.
npx shadcn@latest add https://ui.persian-labs.ir/r/price-input.json A password input with a show/hide toggle that always renders LTR, regardless of the surrounding document direction.
npx shadcn@latest add https://ui.persian-labs.ir/r/password-input.json A rounded QR code generator with dot modules, custom foreground/background colors, configurable error correction, and a matching loading skeleton.
npx shadcn@latest add https://ui.persian-labs.ir/r/qr-code.json A multi-step questionnaire with single-choice, multiple-choice, freeform, and skippable questions, built on @shadcn/react.
npx shadcn@latest add https://ui.persian-labs.ir/r/questionnaire.json 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 …
npx shadcn@latest add https://ui.persian-labs.ir/r/toast.json An icon button that copies text to the clipboard, morphs its icon to reflect the result, and anchors a confirmation toast to itself.
npx shadcn@latest add https://ui.persian-labs.ir/r/copy-button.json Converts Persian (۰-۹) and Arabic-Indic (٠-٩) numerals to plain 0-9 digits.
npx shadcn@latest add https://ui.persian-labs.ir/r/normalize-persian-digits.json Unifies Arabic-codepage letters onto Persian ones (ي→ی, ك→ک, …) with opt-in digit folding, diacritic stripping, half-space repair, and space tidying.
npx shadcn@latest add https://ui.persian-labs.ir/r/normalize-persian-text.json Spells numbers out in Persian words, accepting Latin or Persian digits with signs, decimals, and thousands separators.
npx shadcn@latest add https://ui.persian-labs.ir/r/number-to-persian-words.json A hook for a value that can be either controlled or uncontrolled, with a single consistent API either way.
npx shadcn@latest add https://ui.persian-labs.ir/r/use-controllable-state.json Wraps the Clipboard API with a built-in timeout to reset the copied state, for copy buttons that show brief confirmation feedback.
npx shadcn@latest add https://ui.persian-labs.ir/r/use-copy-to-clipboard.json A timer-aligned countdown hook for ISO-8601 target dates, with overdue state and formatted output.
npx shadcn@latest add https://ui.persian-labs.ir/r/use-countdown.json Reactive media query hook with Tailwind-like breakpoint syntax, built on useSyncExternalStore for SSR safety.
npx shadcn@latest add https://ui.persian-labs.ir/r/use-media-query.json Jalali/Gregorian date utilities built on date-fns and date-fns-jalali: formatting, parsing, conversion, ranges, and digit conversion, switchable with a calenda…
npx shadcn@latest add https://ui.persian-labs.ir/r/persian-date.json 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 boun…
npx shadcn@latest add https://ui.persian-labs.ir/r/persian-date-zod.json Official/religious/cultural Iranian holiday lookup for a date, range, or year, resolving Jalali, Gregorian, and tabular-Hijri entries.
npx shadcn@latest add https://ui.persian-labs.ir/r/persian-holidays.json Converts Persian/mixed Persian+English text into a URL-safe slug, keeping Persian script by default or transliterating to Latin/ASCII.
npx shadcn@latest add https://ui.persian-labs.ir/r/persian-slug.json 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 s…
npx shadcn@latest add https://ui.persian-labs.ir/r/persian-reshape.json A reactive current date/time hook with Jalali/Gregorian support, formatted output, and optional holiday flagging.
npx shadcn@latest add https://ui.persian-labs.ir/r/use-date.json A reactive relative-time formatter ("۲ روز پیش" / "2 days ago") with built-in Persian and English message tables.
npx shadcn@latest add https://ui.persian-labs.ir/r/use-time-ago.json Extends the clickable area of a child element for improved accessibility.
npx shadcn@latest add https://ui.persian-labs.ir/r/hitbox.json A date-grid calendar built on react-day-picker, switchable between the Jalali (Shamsi) and Gregorian (Miladi) calendars via a calendarType prop, with an option…
npx shadcn@latest add https://ui.persian-labs.ir/r/calendar.json An iOS-like wheel picker with smooth inertia, infinite scrolling, and keyboard navigation.
npx shadcn@latest add https://ui.persian-labs.ir/r/wheel-picker.json An opinionated, responsive Shamsi/Gregorian date and date-time picker with SSR-safe today defaults, draft state, and Popover-to-Drawer presentation.
npx shadcn@latest add https://ui.persian-labs.ir/r/date-picker.json An hour/minute/second wheel-based time picker, with a responsive Popover-on-desktop, Drawer-on-mobile composition.
npx shadcn@latest add https://ui.persian-labs.ir/r/time-picker.json A tactile checkout printer with processing stages and a composable thermal-paper receipt.
npx shadcn@latest add https://ui.persian-labs.ir/r/receipt-printer.json An iOS-style year/month/day wheel-based date picker, switchable between the Shamsi and Gregorian calendars, with a responsive Popover-on-desktop, Drawer-on-mob…
npx shadcn@latest add https://ui.persian-labs.ir/r/date-wheel-picker.json An input where the user selects a value from within a given range, built on Base UI.
npx shadcn@latest add https://ui.persian-labs.ir/r/slider.json Iranian mobile phone number normalization, validation, and masking.
npx shadcn@latest add https://ui.persian-labs.ir/r/iranian-mobile.json An Iranian mobile number input that normalizes mixed paste formats and Persian digits, with a redundant validity indicator.
npx shadcn@latest add https://ui.persian-labs.ir/r/mobile-number-input.json Validates Iranian national ID (کد ملی) numbers using the standard 10-digit checksum.
npx shadcn@latest add https://ui.persian-labs.ir/r/national-id.json Validates the structural format of Iranian postal codes (کد پستی).
npx shadcn@latest add https://ui.persian-labs.ir/r/postal-code.json A button that swaps between idle, loading, and success feedback for async actions.
npx shadcn@latest add https://ui.persian-labs.ir/r/status-button.json An Iranian vehicle license plate input with digit segments, a letter picker including wheelchair plates, and the Iran serial tab.
npx shadcn@latest add https://ui.persian-labs.ir/r/plate-input.json An Iranian national ID (کد ملی) input that normalizes Persian digits as you type or paste and validates the checksum live, with a redundant validity indicator.
npx shadcn@latest add https://ui.persian-labs.ir/r/national-id-input.json A vertical navigation list with a bouncy, arc-animated active marker that springs between items.
npx shadcn@latest add https://ui.persian-labs.ir/r/bounce-sidebar.json A document minimap of proximity-reactive dashes that tracks scroll position, expands near the pointer, and smooth-scrolls to sections on click.
npx shadcn@latest add https://ui.persian-labs.ir/r/proximity-sidebar.json A gooey, spring-animated picker for entering a duration in hours and minutes.
npx shadcn@latest add https://ui.persian-labs.ir/r/duration-picker.json