BibleVersionPicker is a compound component that provides a comprehensive Bible version selection interface with language filtering, search, and recent versions.
Basic Usage
Create a controlled version picker:Custom Trigger Button
Provide your own trigger element:Render Props Pattern
Access version data in your trigger:Popover Positioning
Control where the popover appears:Features
Recently Used Versions
The picker automatically tracks recently selected versions (up to 3) in localStorage:Search Functionality
Users can search for versions by name or abbreviation:Language Selection
Filter versions by language with suggested languages based on user’s locale:Theme Support
Integration with Other Components
With Bible Reader
With Verse Display
Complete Example
Full implementation with all features:Managing Recent Versions
Access and clear recent versions from localStorage:Props Reference
BibleVersionPicker.Root
| Prop | Type | Default | Description |
|---|---|---|---|
versionId | number | - | Current version ID (required) |
onVersionChange | (versionId: number) => void | - | Version change callback |
background | 'light' | 'dark' | Provider theme | Theme override |
side | 'top' | 'right' | 'bottom' | 'left' | 'top' | Popover position |
BibleVersionPicker.Trigger
| Prop | Type | Default | Description |
|---|---|---|---|
children | ReactNode | (props) => ReactNode | Default button | Custom trigger element |
asChild | boolean | true | Merge props with child element |
Related Components
- Bible Reader - Includes built-in version picker
- Verse Display - Use with selected version
- Custom Hooks - Build custom version selection
