Skip to main content

UI modules

The root package exports all of these modules. The detailed pages under components document compound children and visual props; this page explains where each module fits in an application.

ModuleMain exportsUse
authSignIn, Register, ResetPassword, ProfileForm, LogoutButton, DeleteAccountButtonAuthentication and account screens
themeThemeProvider, useAppTheme, DEFAULT_COLORS, DEFAULT_MULTIPLIERSShared Material theme
settingSettingList, SettingListItem, ListHeaderSettings screens
tileTile and tile compound childrenMeasurement/task cards
diaryDiaryCardDiary summaries
measurementMeasurementList, list item and date-range typesMeasurement history
observation-detailObservationDetail and date/time typesFHIR observation detail
patientPatientCard, PatientList and patient field componentsPatient selection and summaries
contentContentCard, ContentList, ContentDetail, composition hooksContent delivery
journalAnswer, PastJournal, TodayQuestionJournal and daily questions
questionnaire-response-formQuestionnaireForm, providers, hooks, submit utilitiesFHIR questionnaire responses
breathing-exerciseBreathingExercise, provider, context, hookGuided breathing flows
tabTab, TabItem, TabProvider, useTabTab navigation primitives
picker-sheetPickerSheet, WheelPicker, WheelPickerItemBottom-sheet selection
progress-barProgressBarGeneric progress presentation
pdfPDFViewerNative PDF viewing
imageOptimizedImage, image sizing typesOptimized remote images
language-switcherLanguageSwitcher, context, hookLocale selection
helpersConditional, form items, logging/animation helpers, bottom-sheet providerShared implementation helpers
socketSocketProvider, useSocket, useAiEventListenerSocket.IO app events
bt-deviceDevice list, instructions, catalog constantsDevice-picker UI and metadata
bt-managementBTProvider, BTManager, device declarations, callbacksBLE discovery and protocols
data-syncDataSync, HealthKit/Health Connect components, progressHealth platform import
background-syncAndroid service, notifications, Health Connect schedulingNative background entry points
polyfillspolyfillMedplumWebAPIs, Expo storage/crypto, WebSocket initializationExpo-compatible core runtime

Component reference​

Use the detailed component pages for:

  • compound auth children and form field customization: auth components;
  • theme tokens and multipliers: theme;
  • device UI and instructions: BT device UI;
  • socket context: socket;
  • content, diary, journal, measurement, patient, tile, and questionnaire components: the corresponding categories in the documentation sidebar.

Composition rules​

Most components are presentation components with props and children. The exceptions that own side effects are:

  • BTProvider and the Bluetooth managers;
  • Health authorization and sync components;
  • SocketProvider;
  • auth forms and account actions;
  • questionnaire providers and submit utilities.

Mount side-effect components deliberately, keep them mounted for the lifetime of the flow they own, and forward their error/progress callbacks to application telemetry.