Installation
Install the package
pnpm add @objectifthunes/limestone-sdk npm install @objectifthunes/limestone-sdk yarn add @objectifthunes/limestone-sdk Peer dependencies
Most peer dependencies are required only when you use the corresponding feature. Install the ones that match your project.
| Package | Required | Used by |
|---|---|---|
react | Yes | All components and hooks |
react-native | Yes | All components and hooks |
react-native-reanimated | Optional | ./animations subpath only |
react-native-gesture-handler | Optional | BottomSheet, ScalePress |
react-native-svg | Optional | Icon component |
react-native-safe-area-context | Optional | SafeArea component |
expo-linear-gradient | Optional | Gradient component |
expo-blur | Optional | BlurView component |
@react-native-community/datetimepicker | Optional | DatePicker component |
Install only what you need. For a minimal start with layout and text:
pnpm add react react-native npm install react react-native yarn add react react-native Requirements
| Requirement | Minimum version |
|---|---|
| Node.js | 20 |
| React Native | 0.76 |
| Expo SDK | 52 |
| Module system | ESM only |
Import paths
The SDK exposes several subpath exports. Pick the ones your project needs.
| Subpath | Contents |
|---|---|
@objectifthunes/limestone-sdk | Main barrel: core, theme, provider, hooks, all components, forms |
@objectifthunes/limestone-sdk/animations | FadeIn, SlideUp, ScalePress, SpringBounce, Stagger — requires react-native-reanimated |
@objectifthunes/limestone-sdk/expo-biometrics | createExpoBiometrics adapter |
@objectifthunes/limestone-sdk/expo-camera | createExpoCamera adapter |
@objectifthunes/limestone-sdk/expo-secure-store | createExpoSecureStore adapter |
@objectifthunes/limestone-sdk/expo-haptics | createExpoHaptics adapter |
@objectifthunes/limestone-sdk/expo-notifications | createExpoNotifications adapter |
@objectifthunes/limestone-sdk/expo-purchases | createExpoPurchases adapter |
@objectifthunes/limestone-sdk/expo-permissions | createExpoPermissions adapter |
@objectifthunes/limestone-sdk/expo-sharing | createExpoSharing adapter |
@objectifthunes/limestone-sdk/expo-clipboard | createExpoClipboard adapter |
@objectifthunes/limestone-sdk/expo-location | createExpoLocation adapter |
@objectifthunes/limestone-sdk/expo-media-library | createExpoMediaLibrary adapter |
@objectifthunes/limestone-sdk/expo-map | createExpoMap adapter |
@objectifthunes/limestone-sdk/expo-web-browser | createExpoWebBrowser adapter |
@objectifthunes/limestone-sdk/expo-contacts | createExpoContacts adapter |
@objectifthunes/limestone-sdk/expo-review | createExpoReview adapter |
@objectifthunes/limestone-sdk/expo-keychain | createExpoKeychain adapter |
@objectifthunes/limestone-sdk/expo-video | createExpoVideo adapter (enhanced video with expo-video) |
@objectifthunes/limestone-sdk/expo-qr-scanner | createExpoQRScanner adapter (powered by expo-camera) |
@objectifthunes/limestone-sdk/expo-web-view | createExpoWebView adapter (powered by react-native-webview) |
@objectifthunes/limestone-sdk/r3f | 3D scene components — requires @react-three/fiber + expo-gl |
@objectifthunes/limestone-sdk/viro | AR components — requires @viro-community/react-viro |
@objectifthunes/limestone-sdk/dev | All adapters backed by in-memory doubles — same factory names, no native modules |
@objectifthunes/limestone-sdk/testing | In-memory doubles with inspectable state, plus createTestApp |