# PersianLabs UI > An open-source, RTL-first component library for Persian interfaces. Beautifully-designed components built on Base UI primitives, TypeScript, and Tailwind CSS - distributed as source through a shadcn-compatible registry, so there's no package to install and no version to chase. Every doc page is available as markdown by appending .md to its URL. ## Overview - [Introduction](https://ui.persian-labs.ir/docs): What PersianLabs UI is, and why there's no separate installation flow - it's built entirely on top of shadcn/ui. - [Theming](https://ui.persian-labs.ir/docs/theming): The CSS color variables the library ships with, light and dark, ready to copy. - [Charts](https://ui.persian-labs.ir/docs/charts): Chart components - pointers to dedicated collections. ## Components ### Form & Input - [Bank Input](https://ui.persian-labs.ir/docs/components/bank-input): Iranian card-number and Shaba inputs with formatting, checksum validation, and bank detection. - [Button](https://ui.persian-labs.ir/docs/components/button): A button built on Base UI with variant and size support. - [Checkbox](https://ui.persian-labs.ir/docs/components/checkbox): A control for selecting one or more options, built on Base UI. - [City Selector](https://ui.persian-labs.ir/docs/components/city-selector): A province and city picker for Iran, built on Combobox and bundled with a full dataset of all 31 provinces and 1,119 cities. - [Combobox](https://ui.persian-labs.ir/docs/components/combobox): A searchable, accessible combobox built on Base UI. - [Date Picker](https://ui.persian-labs.ir/docs/components/date-picker): An opinionated, responsive Shamsi/Gregorian date and date-time picker with SSR-safe defaults and accessible confirmation flows. - [Date Wheel Picker](https://ui.persian-labs.ir/docs/components/date-wheel-picker): 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-mobile composition. - [Elastic Range Slider](https://ui.persian-labs.ir/docs/components/elastic-range-slider): A single-track, dual-thumb range slider in the same visual language as Elastic Slider. - [Elastic Slider](https://ui.persian-labs.ir/docs/components/elastic-slider): Slider with elastic rubber-band drag and magnetic snap feedback. - [Field](https://ui.persian-labs.ir/docs/components/field): Groups a label, control, and description into an accessible form field, built on Base UI. - [Input](https://ui.persian-labs.ir/docs/components/input): A styled text input built on Base UI. - [Input Group](https://ui.persian-labs.ir/docs/components/input-group): Add addons, buttons, and helper content to inputs. - [Input OTP](https://ui.persian-labs.ir/docs/components/input-otp): Accessible one-time password component with copy-paste functionality. - [Label](https://ui.persian-labs.ir/docs/components/label): An accessible, styled label element. - [Mobile Number Input](https://ui.persian-labs.ir/docs/components/mobile-number-input): An Iranian mobile number input that normalizes mixed paste formats and Persian digits, with a redundant validity indicator. - [Native Select](https://ui.persian-labs.ir/docs/components/native-select): A styled native