Public API map
The package root is src/index.tsx. It re-exports the module indexes below. The package also exposes matching subpaths, for example @ovok/native/bt-management, through the package export map.
| Root export area | Source index | Stable app-facing entry points |
|---|---|---|
| auth | src/modules/auth/index.tsx | SignIn, Register, ResetPassword, ProfileForm, LogoutButton, DeleteAccountButton |
| background-sync | src/modules/background-sync/index.ts | Android Bluetooth service, Android Health Connect scheduling, push notification helpers |
| breathing-exercise | src/modules/breathing-exercise/index.ts | Component, provider, context, hook |
| bt-device | src/modules/bt-device/index.ts | Device-list UI, Devices, SUPPORTED_DEVICES, images, manuals |
| bt-management | src/modules/bt-management/index.ts | BTProvider, BTManager, callback types, device declarations, integrated device values |
| content | src/modules/content/index.ts | Content cards/lists/details and composition hook |
| data-sync | src/modules/data-sync/index.ts | DataSync, props, status types, progress list |
| diary | src/modules/diary/index.ts | DiaryCard |
| helpers | src/modules/helpers/index.tsx | Conditional, form items, logging/animation helpers, bottom-sheet provider |
| image | src/modules/image/index.ts | OptimizedImage, image dimensions |
| journal | src/modules/journal/index.ts | Journal answer and question components |
| language-switcher | src/modules/language-switcher/index.ts | Language switcher, context, hook |
| measurement | src/modules/measurement/index.ts | Measurement list and date range |
| observation-detail | src/modules/observation-detail/index.ts | Observation detail and date/time |
| patient | src/modules/patient/index.ts | Patient card/list and patient field components |
| src/modules/pdf/index.ts | PDFViewer | |
| picker-sheet | src/modules/picker-sheet/index.ts | PickerSheet, WheelPicker |
| polyfills | src/polyfills/index.ts | Medplum web APIs, Expo storage/crypto, WebSocket initialization |
| progress-bar | src/modules/progress-bar/index.ts | ProgressBar |
| questionnaire-response-form | src/modules/questionnaire-response-form/index.ts | Form/providers/hooks/submit utilities |
| setting | src/modules/setting/index.ts | Setting list components |
| socket | src/modules/socket/index.ts | Socket provider/hooks/types |
| tab | src/modules/tab/index.ts | Tabs/provider/context/hook |
| theme | src/modules/theme/index.ts | Theme provider, hook, colors/multipliers |
| tile | src/modules/tile/index.ts | Tile |
Protocol API
The bt-management index intentionally exports lower-level protocol types and factories. They are useful for custom integrations and tests, but they are more coupled to device wire formats than the UI APIs:
- defineCustomDevice and custom declaration types;
- BTManagedDevice, BTManager, and background BLE helpers;
- standard GATT factories;
- boso, Visomat, Veroval, AOJ, Lepu, and Viatom declarations;
- measurement field and device status types.
Prefer the catalog and integrated device values for normal application code. Pin and test the exact SDK version when using protocol factories.
Import guidance
import { BTProvider, DataSync, ThemeProvider } from "@ovok/native";
Use a subpath when a bundle or codebase convention needs it:
import { BTProvider } from "@ovok/native/bt-management";
import { SUPPORTED_DEVICES } from "@ovok/native/bt-device";
Do not import from src/ paths or from generated lib/ paths. Those are build artifacts, not the public contract.