Expo & Native Modules
Components that require Expo SDK modules or community native modules as additional dependencies.
Overview
Some @docyrus/ui-native components depend on Expo SDK modules or community native modules for platform-specific features like file picking, date/time pickers, geolocation, or glass effects. These components work in Expo managed workflow projects and require the listed packages as additional dependencies.
If you're using a bare React Native project (without Expo), community native modules will auto-link, but Expo SDK modules require manual installation.
Expo SDK Modules
| Component | Module | Purpose |
|---|---|---|
ActionSheet | expo-glass-effect | iOS Liquid Glass bottom sheet variant (iOS 26+) |
DocyFieldUpload | expo-document-picker | File picking from device storage |
# expo-glass-effect (for ActionSheet glass variant, optional)
npx expo install expo-glass-effect
# expo-document-picker (for DocyFieldUpload)
npx expo install expo-document-pickerCommunity Native Modules
| Component | Module | Purpose |
|---|---|---|
DocyFieldDate | @react-native-community/datetimepicker | Native date/time picker (iOS spinner, Android dialog) |
DocyFieldDatetime | @react-native-community/datetimepicker | Combined date & time picker |
DocyFieldDateRange | @react-native-community/datetimepicker | Date range picker with start/end selector |
DocyFieldLocationSelect | @react-native-community/geolocation + react-native-geocoding | Device GPS location + reverse geocoding |
localize utilities | react-native-localize | Device locale, timezone, 24h clock detection |
# @react-native-community/datetimepicker (for DocyFieldDate, DocyFieldDatetime, DocyFieldDateRange)
npx expo install @react-native-community/datetimepicker
# @react-native-community/geolocation (for DocyFieldLocationSelect)
npx expo install @react-native-community/geolocation
# react-native-geocoding (for DocyFieldLocationSelect reverse geocoding)
npm install react-native-geocoding
# react-native-localize (for enhanced locale detection in localize utilities)
npx expo install react-native-localizeCompatibility
| Module | Expo Go | Dev Client | Bare RN |
|---|---|---|---|
expo-glass-effect | Yes | Yes | Requires config plugin |
expo-document-picker | Yes | Yes | Requires config plugin |
@react-native-community/datetimepicker | Yes | Yes | Yes (auto-linked) |
@react-native-community/geolocation | No | Yes | Yes (auto-linked) |
react-native-geocoding | Yes (JS only) | Yes | Yes |
react-native-localize | Yes | Yes | Yes (auto-linked) |
All modules listed here are declared as optional peer dependencies in @docyrus/ui-native. Components gracefully handle missing modules at runtime — they won't crash your app if the module isn't installed, but the related functionality will be unavailable.