@openmrs/esm-devtools-app 10.0.1-pre.5738 → 10.0.1-pre.5745

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/575.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["575"],{9882(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>ak,evaluateAsNumber:()=>od,getImportMapOverrideMap:()=>ni,StockManagementPictogram:()=>dh,ChemistryIcon:()=>as,BabyIcon:()=>s8,DashboardExtension:()=>lk,openmrsComponentDecorator:()=>il,tryRegisterExtension:()=>sk,pictogramIds:()=>uJ,ActivityIcon:()=>sQ,compile:()=>og,removeRouteMapOverride:()=>nT,TableBatchActions:()=>sB,getAsyncLifecycle:()=>iu,subscribeOpenmrsEvent:()=>nq,PasswordIcon:()=>aJ,Assessment2Pictogram:()=>uZ,CloseIcon:()=>ad,setupRouteMapOverrides:()=>nW,useFeatureFlag:()=>iF,reset:()=>rx,ConceptDictionaryPictogram:()=>u2,LabOrderIcon:()=>a$,VisitMode:()=>nQ,useLocations:()=>i7,getLifecycle:()=>ic,formatDatetime:()=>l9,getVisitsForPatient:()=>n4,formatPartialDate:()=>l8,CustomOverflowMenu:()=>sJ,LocationIcon:()=>aM,GroupIcon:()=>aN,createUseStore:()=>r0,VisitStatus:()=>n0,getSessionLocation:()=>tV,getCurrentImportMap:()=>nw,usePatient:()=>si,useRenderableExtensions:()=>sa,getOpenedWindowIndexByWorkspace:()=>rO,setLeftNav:()=>rk,clearHistory:()=>tS,clearConfigErrors:()=>e2,formatTime:()=>l7,isDevEnabled:()=>tQ,CohortsPictogram:()=>u1,closeWorkspaceGroup2:()=>dU,getCurrentRouteMap:()=>nI,ConfigurableLink:()=>rq,sessionStore:()=>tR,setSessionLocale:()=>tz,subscribeSnackbarShown:()=>w,getLoggedInUser:()=>tH,GenderMaleIcon:()=>ax,getExtensionSlotConfigFromStore:()=>ei,evaluateAsNumberAsync:()=>om,getImportMapDefaultMap:()=>no,unregisterExtensionRendering:()=>oZ,implementerToolsConfigStore:()=>ey,Type:()=>G,InPatientPictogram:()=>dt,cleanupObsoleteFeatureFlags:()=>oL,getAttachmentsUrl:()=>nF,showSnackbar:()=>dA,PatientBannerActionsMenu:()=>uB,PatientSearchPictogram:()=>dl,DocumentAttachmentIcon:()=>ag,Snackbar:()=>dN,CardiologyPictogram:()=>u0,ImageMedicalIcon:()=>aP,ActionableNotificationComponent:()=>us,DiagnosisTags:()=>cG,openChildWorkspaceInWindow:()=>dJ,iconIds:()=>sZ,PatientsPictogram:()=>dc,interpolateUrl:()=>tg,setupHistory:()=>tv,subscribeToastShown:()=>h,detachAll:()=>rw,convertToLocaleCalendar:()=>ce,DocumentIcon:()=>ap,configInternalStore:()=>Q,ActionMenuButton2:()=>mu,setupDynamicOfflineDataHandler:()=>m$,makeUrl:()=>tI,oneOf:()=>e9,selectPreferredName:()=>uP,MobileCheckIcon:()=>aF,createErrorHandler:()=>v,parseDate:()=>lQ,getAttachmentByUuid:()=>nU,LeftNavMenu:()=>cZ,getExtensionRegistration:()=>rf,ShoppingCartAddItemIcon:()=>lb,ReferralOrderIcon:()=>a0,ReportIcon:()=>a2,dispatchToastShown:()=>f,getImportMapNextPageMap:()=>nr,registerExtension:()=>rp,setupOfflineSync:()=>mR,DownloadIcon:()=>ah,useConnectivity:()=>mD,provide:()=>eT,ShoppingCartArrowDownIcon:()=>a9,featureFlagsStore:()=>oT,jsep:()=>n7.A,GeriatricsPictogram:()=>u9,SearchIcon:()=>a8,reportError:()=>y,slugify:()=>np,isOmrsDateToday:()=>lX,getExtensionStore:()=>oQ,BloodBankPictogram:()=>uQ,TriagePictogram:()=>dy,Workspace2:()=>d6,refetchCurrentUser:()=>tU,CheckmarkOutlineIcon:()=>ai,registerExtensionSlot:()=>rb,AllergiesIcon:()=>lw,ArrowDownIcon:()=>s1,useOpenmrsInfinite:()=>iX,getExtensionConfigFromExtensionSlotStore:()=>ec,OpenmrsDatePicker:()=>cF,getExtensionConfigFromStore:()=>el,getDynamicOfflineDataEntries:()=>mT,getLocaleDisplayName:()=>lB,messageOmrsServiceWorker:()=>mL,navigate:()=>tw,launchWorkspace2:()=>dB,getGroupByWindowName:()=>rA,CustomOverflowMenuItem:()=>sK,isUrl:()=>e7,CaretDownIcon:()=>s7,ArrowLeftIcon:()=>s2,FacilityPictogram:()=>u7,ViewOffIcon:()=>lp,updateInternalExtensionStore:()=>oz,dispatchActionableNotificationShown:()=>d,resetRouteMapOverrides:()=>nM,formatDurationBetween:()=>cl,defaultVisitCustomRepresentation:()=>n1,getBreadcrumbsFor:()=>tl,useOpenmrsPagination:()=>iV,Pagination:()=>uk,CheckmarkFilledIcon:()=>ar,clearCurrentUser:()=>tB,showModal:()=>un,ChevronUpIcon:()=>au,saveVisit:()=>n8,useAttachments:()=>iC,Pictogram:()=>dk,useExtensionSlot:()=>r3,ChevronDownIcon:()=>aa,OpenmrsDateRangePicker:()=>cH,deleteAttachmentPermanently:()=>nV,getVisitTypes:()=>nZ,OverflowMenuHorizontalIcon:()=>az,EventScheduleIcon:()=>ay,getSessionStore:()=>tW,ProcedureOrderIcon:()=>aZ,preloadImport:()=>nh,registerWorkspaceWindows2:()=>r$,useOnVisible:()=>se,setSessionLocation:()=>tG,userHasAccess:()=>tF,ChartAverageIcon:()=>an,getFeatureFlag:()=>oW,UserAvatarIcon:()=>lu,renderExtension:()=>rH,useFhirInfinite:()=>i1,toVisitTypeObject:()=>nX,useSession:()=>sl,EmergencyDepartmentPictogram:()=>u4,Notification:()=>ur,dispatchSnackbarShown:()=>m,formatDate:()=>l3,workspace2StoreActions:()=>dY,SwitcherIcon:()=>a4,esmStyleGuideSchema:()=>sW,getImportMapDisabledOverrides:()=>ns,useAssignedExtensionIds:()=>iN,CaretRightIcon:()=>ae,evaluateAsType:()=>of,PageHeader:()=>ux,TranslateIcon:()=>ls,setUserProperties:()=>tq,MovementIcon:()=>aG,renderInlineNotifications:()=>uf,subscribePrecacheStaticDependencies:()=>mW,PaymentsDeskPictogram:()=>du,usePrimaryIdentifierCode:()=>ss,useLayoutType:()=>i5,getCurrentUser:()=>tL,closeWorkspaceInWindow:()=>dq,XrayPictogram:()=>dv,CaretUpIcon:()=>at,renderActionableNotifications:()=>ug,OpenmrsAppContext:()=>ib,setupModals:()=>ut,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(mE(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;mE(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>L,recordConfigDerivationError:()=>ew,useAbortController:()=>iS,Extension:()=>rJ,getFhirServerPaginationHandlers:()=>iJ,useConnectedExtensions:()=>iR,registerApp:()=>sN,HospitalBedIcon:()=>aC,useExtensionInternalStore:()=>iD,configExtensionStore:()=>et,getSynchronizationItems:()=>mM,getExtensionSlotsConfigStore:()=>eo,registerExtensionRendering:()=>oY,RenderIfValueIsTruthy:()=>ix,registerFeatureFlag:()=>oM,useFhirFetchAll:()=>i0,restBaseUrl:()=>tE,CalendarHeatMapIcon:()=>s3,isImportMapOverrideDisabled:()=>na,resetConfigSystem:()=>e5,getExtensionInternalStore:()=>oV,registerGlobalStore:()=>T,evaluateAsBoolean:()=>oc,PatientBannerPatientInfo:()=>uD,addRouteMapOverride:()=>n$,getDefaultCalendar:()=>l5,SettingsIcon:()=>a3,DrugOrderIcon:()=>aw,ProgramsIcon:()=>aQ,useAssignedExtensions:()=>r8,CloseFilledIcon:()=>am,canAccessStorage:()=>mN,registerDefaultCalendar:()=>l2,TreeViewAltIcon:()=>ll,OverflowMenuVerticalIcon:()=>aq,clearConfigDerivationError:()=>e_,getConfigStore:()=>en,InformationSquareIcon:()=>aO,EmptyCard:()=>cK,ChevronLeftIcon:()=>al,RadiologyIcon:()=>lv,useCandidateExtensions:()=>iE,renderToasts:()=>dM,isDesktop:()=>i6,integrateBreakpoints:()=>sA,RegistrationPictogram:()=>df,CardHeader:()=>sT,getExtensionRegistrationFrom:()=>rm,InformationIcon:()=>aI,SystemAdministrationPictogram:()=>dw,TrashCanIcon:()=>la,useShallowStableValue:()=>rK,PatientDocumentsPictogram:()=>da,useOpenmrsSWR:()=>st,Assessment1Pictogram:()=>uY,finishRegisteringAllApps:()=>sE,importDynamic:()=>ng,useFhirPagination:()=>iq,useVisitContextStore:()=>sh,ArrowUpIcon:()=>s6,showActionableNotification:()=>uh,useForceUpdate:()=>iH,useVisit:()=>sw,PatientBannerPatientIdentifiers:()=>uT,TransferPictogram:()=>d_,usePagination:()=>sn,Breakpoint:()=>sC,PatientBannerToggleContactDetailsButton:()=>md,CloseOutlineIcon:()=>af,ObstetricsPictogram:()=>ds,parseDateInput:()=>cn,ReportsPictogram:()=>dp,getConfig:()=>eL,attach:()=>rg,getLocale:()=>lF,isUrlWithTemplateParameters:()=>e4,useEmrConfiguration:()=>iL,useLeftNav:()=>i8,ToolsIcon:()=>li,ErrorState:()=>cX,detach:()=>rh,setCurrentVisit:()=>n6,ConditionsIcon:()=>ly,SaveIcon:()=>a6,useConfig:()=>iO,validator:()=>z,CalendarIcon:()=>s4,getHistory:()=>tb,StickyNoteAddIcon:()=>le,useWorkspace2Store:()=>dZ,getPatientName:()=>uj,getVisitStore:()=>n5,getCoreTranslation:()=>tp,registerModuleWithConfigSystem:()=>eA,updateOpenedWorkspaceInWindow:()=>dK,registerModuleLoad:()=>eO,getBreadcrumbs:()=>ti,extractVariableNames:()=>oO,translateFrom:()=>tf,useStoreWithActions:()=>rQ,EditIcon:()=>a_,getCandidateExtensions:()=>rv,shallowEqual:()=>x,subscribeNotificationShown:()=>p,MaximizeIcon:()=>aW,promptForClosingWorkspaces:()=>dG,WarningIcon:()=>lh,fhirBaseUrl:()=>tC,matchLocale:()=>mj,usePatientPhoto:()=>uV,registerBreadcrumb:()=>to,EventsIcon:()=>av,createGlobalStore:()=>R,subscribeToFeatureFlag:()=>oD,useExtensionStore:()=>iB,createAttachment:()=>nH,useLeftNavStore:()=>i3,TableIcon:()=>lo,Icon:()=>lS,InformationFilledIcon:()=>aA,getCurrentPageMap:()=>nn,LaboratoryPictogram:()=>dn,temporaryConfigStore:()=>ee,toDateObjectStrict:()=>lY,defineConfigSchema:()=>eI,filterBreadcrumbs:()=>ta,invalidateImplementerToolsConfig:()=>eg,PatientBannerContactDetails:()=>mw,getAssignedExtensions:()=>ry,promptForClosingWorkspacesInWindow:()=>dz,PatientPhoto:()=>uq,MaterialOrderIcon:()=>aL,MicroscopeIcon:()=>aB,visitTypesUrl:()=>nY,getOpenedWindowWidth:()=>d1,scheduleRecomputation:()=>o6,PharmacyPictogram:()=>dd,AttachmentIcon:()=>l_,MoneyIcon:()=>aH,getAttachments:()=>nB,PageHeaderContent:()=>uS,MedicationIcon:()=>aD,PrinterIcon:()=>aY,PatientListsPictogram:()=>dx,useAppContext:()=>ik,isOpenmrsRoutes:()=>nv,AppointmentsAltPictogram:()=>uX,GenericOrderTypeIcon:()=>aj,batchExtensionUpdates:()=>o2,useExtensionSlotStore:()=>r5,ViewIcon:()=>lg,formattedName:()=>uC,sessionEndpoint:()=>tP,duration:()=>cs,resetImportMapOverrides:()=>nu,TableOfContentsIcon:()=>ln,CaretLeftIcon:()=>s9,getTranslationOverrides:()=>eW,isVersionSatisfied:()=>mI,EmptyCardIllustration:()=>cJ,PenIcon:()=>aX,verifyTotpCode:()=>tJ,validators:()=>te,setupImportMapOverrides:()=>nf,showToast:()=>dL,useDefineAppContext:()=>iv,getGlobalStore:()=>M,useOnClickOutside:()=>i9,getWindowByWorkspaceName:()=>rI,ArrowRightIcon:()=>s5,loadLifeCycles:()=>sb,registerBreadcrumbs:()=>tr,MotherIcon:()=>aV,fetchCurrentPatient:()=>nG,Toast:()=>dO,MessageQueueIcon:()=>aU,TwoFactorAuthenticationIcon:()=>lc,Pharmacy2Pictogram:()=>dm,goBackInHistory:()=>tx,GroupAccessIcon:()=>aE,getExtensionRenderingsStore:()=>oG,setImplementerToolsConfigRecomputer:()=>ep,getAsyncExtensionLifecycle:()=>im,setupApiModule:()=>t1,renderLoadingSpinner:()=>m_,showNotification:()=>up,getModalRegistration:()=>rC,ListCheckedIcon:()=>aT,ResponsiveWrapper:()=>dj,GynaecologyPictogram:()=>de,ShoppingCartIcon:()=>a7,getRouteMapNextPageMap:()=>nO,MetadataExportPictogram:()=>di,updateVisit:()=>n3,backendDependencies:()=>t0,MaybePictogram:()=>dS,createParcelMounter:()=>rB,openmrsFetch:()=>tA,useStore:()=>rZ,isOpenmrsAppRoutes:()=>ny,ExportedWorkspace:()=>mr,DentistryPictogram:()=>u8,HomePictogram:()=>db,ServiceQueuesPictogram:()=>dg,createExportedWorkspaceWindow:()=>d5,setFeatureFlag:()=>oU,toLanguageTag:()=>lU,DigitalTrustPictogram:()=>u3,NumericObservation:()=>uv,attachmentUrl:()=>nD,interpolateString:()=>th,inRange:()=>e3,useExtensionSlotMeta:()=>iU,AppointmentsPictogram:()=>uK,renderSnackbars:()=>dI,getRegisteredWorkspace2Names:()=>d0,logout:()=>tK,toLocationObject:()=>nJ,ChartLineIcon:()=>ao,UserHasAccess:()=>sc,evaluateAsBooleanAsync:()=>ou,createDashboard:()=>lj,getLocations:()=>nK,useExtensionContext:()=>iW,getExtensionsConfigStore:()=>es,getRouteMapDefaultMap:()=>nA,age:()=>uA,isOmrsDateStrict:()=>lK,registerWorkspaceGroups2:()=>rR,usePaginationInfo:()=>so,evaluateAsync:()=>ol,useOpenmrsFetchAll:()=>iZ,removeImportMapOverride:()=>nc,useVisitTypes:()=>sy,ageAsDuration:()=>uI,getExtensionNameFromId:()=>rd,DataEntryPictogram:()=>u6,renderParcel:()=>rU,ResetIcon:()=>a5,RenewIcon:()=>a1,useWorkspace2Context:()=>dQ,subscribeActionableNotificationShown:()=>g,ErrorCard:()=>cY,GenderFemaleIcon:()=>ab,enableImportMapOverride:()=>nd,retry:()=>mA,ComponentContext:()=>rz,ExtensionSlot:()=>r7,unsetLeftNav:()=>rj,addImportMapOverride:()=>nl,MaybeIcon:()=>lx,useCustomOverflowMenu:()=>sq,PedestrianFamilyIcon:()=>aK,CtScanPictogram:()=>u5,dispatchNotificationShown:()=>u,leftNavStore:()=>rS,OpenmrsFetchError:()=>tO,UserFollowIcon:()=>ld,launchWorkspaceGroup2:()=>dD,ChevronRightIcon:()=>ac,UserXrayIcon:()=>lm,GenderOtherIcon:()=>aS,formatDuration:()=>ct,toOmrsIsoString:()=>lZ,Labs2Pictogram:()=>dr,workspace2Store:()=>rP,setUserLanguage:()=>tD,useBodyScrollLock:()=>iP,getExtensionConfig:()=>ea,SyringeIcon:()=>lt,LocationPicker:()=>cQ,useDebounce:()=>i$,TimeIcon:()=>lr,getExtensionSlotConfig:()=>er,AddIcon:()=>s0,getRouteMapOverrideMap:()=>nR,processConfig:()=>eD,InventoryManagementIcon:()=>aR,registerWorkspaces2:()=>rT,UserIcon:()=>lf,formatPatientName:()=>uE,fireOpenmrsEvent:()=>nz,registerModal:()=>rE,registerTranslationNamespace:()=>eR,displayName:()=>uN,createLocalStore:()=>$,evaluate:()=>oa,defineExtensionConfigSchema:()=>e$,getSyncLifecycle:()=>id,renderWorkspaceWindowsAndMenu:()=>mx,evaluateAsTypeAsync:()=>op});let s="openmrs:notification-shown",a="openmrs:actionable-notification-shown",l="openmrs:toast-shown",c="openmrs:snack-bar-shown";function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(c,{detail:e}))}function f(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function p(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function w(e){let t=t=>e(t.detail);return window.addEventListener(c,t),()=>window.removeEventListener(c,t)}function _(e,t){let{message:n}=b(e);return"string"==typeof n&&n?n:t}function y(e){let t=b(e);setTimeout(()=>{throw t})}function v(){let e=Error();return t=>{let n=b(t);n.stack+=`
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["575"],{9882(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>aS,evaluateAsNumber:()=>oc,getImportMapOverrideMap:()=>no,StockManagementPictogram:()=>dg,ChemistryIcon:()=>ai,BabyIcon:()=>s6,DashboardExtension:()=>lS,openmrsComponentDecorator:()=>is,tryRegisterExtension:()=>sS,pictogramIds:()=>uq,ActivityIcon:()=>sZ,compile:()=>of,removeRouteMapOverride:()=>nR,TableBatchActions:()=>sU,getAsyncLifecycle:()=>il,subscribeOpenmrsEvent:()=>nG,PasswordIcon:()=>aq,Assessment2Pictogram:()=>uY,CloseIcon:()=>au,setupRouteMapOverrides:()=>nM,useFeatureFlag:()=>iB,reset:()=>ry,ConceptDictionaryPictogram:()=>u1,LabOrderIcon:()=>aR,VisitMode:()=>nY,useLocations:()=>i4,getLifecycle:()=>ia,formatDatetime:()=>l7,getVisitsForPatient:()=>n8,formatPartialDate:()=>l6,CustomOverflowMenu:()=>sq,LocationIcon:()=>aT,GroupIcon:()=>aj,createUseStore:()=>rZ,VisitStatus:()=>nZ,getSessionLocation:()=>tF,getCurrentImportMap:()=>ng,usePatient:()=>sr,useRenderableExtensions:()=>ss,getOpenedWindowIndexByWorkspace:()=>rI,setLeftNav:()=>rx,clearHistory:()=>tb,clearConfigErrors:()=>e0,formatTime:()=>l4,isDevEnabled:()=>tY,CohortsPictogram:()=>u0,closeWorkspaceGroup2:()=>dD,getCurrentRouteMap:()=>nC,ConfigurableLink:()=>rG,sessionStore:()=>tA,setSessionLocale:()=>tV,subscribeSnackbarShown:()=>w,getLoggedInUser:()=>tB,GenderMaleIcon:()=>ab,getExtensionSlotConfigFromStore:()=>ei,evaluateAsNumberAsync:()=>ou,getImportMapDefaultMap:()=>nt,unregisterExtensionRendering:()=>oX,implementerToolsConfigStore:()=>e_,Type:()=>G,InPatientPictogram:()=>de,cleanupObsoleteFeatureFlags:()=>oT,getAttachmentsUrl:()=>nU,showSnackbar:()=>dI,PatientBannerActionsMenu:()=>uU,PatientSearchPictogram:()=>da,DocumentAttachmentIcon:()=>ap,Snackbar:()=>dj,CardiologyPictogram:()=>uQ,ImageMedicalIcon:()=>aC,ActionableNotificationComponent:()=>ui,DiagnosisTags:()=>cV,openChildWorkspaceInWindow:()=>dq,iconIds:()=>sY,PatientsPictogram:()=>dl,interpolateUrl:()=>tf,setupHistory:()=>t_,subscribeToastShown:()=>h,detachAll:()=>rg,convertToLocaleCalendar:()=>l9,DocumentIcon:()=>af,configInternalStore:()=>Q,ActionMenuButton2:()=>mc,setupDynamicOfflineDataHandler:()=>mR,makeUrl:()=>tC,oneOf:()=>e4,selectPreferredName:()=>uC,MobileCheckIcon:()=>aB,createErrorHandler:()=>y,parseDate:()=>lZ,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>cY,getExtensionRegistration:()=>rd,ShoppingCartAddItemIcon:()=>ly,ReferralOrderIcon:()=>aQ,ReportIcon:()=>a1,dispatchToastShown:()=>f,getImportMapNextPageMap:()=>nn,registerExtension:()=>rm,setupOfflineSync:()=>mO,DownloadIcon:()=>ag,useConnectivity:()=>mW,provide:()=>e$,ShoppingCartArrowDownIcon:()=>a7,featureFlagsStore:()=>oR,jsep:()=>n3.A,GeriatricsPictogram:()=>u7,SearchIcon:()=>a6,reportError:()=>v,slugify:()=>nm,isOmrsDateToday:()=>lK,getExtensionStore:()=>oY,BloodBankPictogram:()=>uZ,TriagePictogram:()=>d_,Workspace2:()=>d5,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>ar,registerExtensionSlot:()=>rv,AllergiesIcon:()=>lh,ArrowDownIcon:()=>s0,useOpenmrsInfinite:()=>iK,getExtensionConfigFromExtensionSlotStore:()=>el,OpenmrsDatePicker:()=>cB,getExtensionConfigFromStore:()=>ea,getDynamicOfflineDataEntries:()=>m$,getLocaleDisplayName:()=>lU,messageOmrsServiceWorker:()=>mM,navigate:()=>tg,launchWorkspace2:()=>dU,getGroupByWindowName:()=>rP,CustomOverflowMenuItem:()=>sJ,isUrl:()=>e3,CaretDownIcon:()=>s4,ArrowLeftIcon:()=>s1,FacilityPictogram:()=>u4,ViewOffIcon:()=>lf,updateInternalExtensionStore:()=>oV,dispatchActionableNotificationShown:()=>d,resetRouteMapOverrides:()=>n$,formatDurationBetween:()=>ca,defaultVisitCustomRepresentation:()=>nQ,getBreadcrumbsFor:()=>ts,useOpenmrsPagination:()=>iH,Pagination:()=>uS,CheckmarkFilledIcon:()=>ao,clearCurrentUser:()=>tD,showModal:()=>ut,ChevronUpIcon:()=>ac,saveVisit:()=>n5,useAttachments:()=>iN,Pictogram:()=>dS,useExtensionSlot:()=>r6,ChevronDownIcon:()=>as,OpenmrsDateRangePicker:()=>cF,deleteAttachmentPermanently:()=>nF,getVisitTypes:()=>nX,OverflowMenuHorizontalIcon:()=>aG,EventScheduleIcon:()=>a_,getSessionStore:()=>tM,ProcedureOrderIcon:()=>aY,preloadImport:()=>np,registerWorkspaceWindows2:()=>rO,useOnVisible:()=>i9,setSessionLocation:()=>tH,userHasAccess:()=>tU,ChartAverageIcon:()=>at,getFeatureFlag:()=>oM,UserAvatarIcon:()=>lc,renderExtension:()=>rB,useFhirInfinite:()=>i0,toVisitTypeObject:()=>nJ,useSession:()=>sa,EmergencyDepartmentPictogram:()=>u3,Notification:()=>uo,dispatchSnackbarShown:()=>m,formatDate:()=>l8,workspace2StoreActions:()=>dX,SwitcherIcon:()=>a3,esmStyleGuideSchema:()=>sL,getImportMapDisabledOverrides:()=>nr,useAssignedExtensionIds:()=>ik,CaretRightIcon:()=>s9,evaluateAsType:()=>od,PageHeader:()=>ub,TranslateIcon:()=>li,setUserProperties:()=>tG,MovementIcon:()=>aV,renderInlineNotifications:()=>um,subscribePrecacheStaticDependencies:()=>mL,PaymentsDeskPictogram:()=>dc,usePrimaryIdentifierCode:()=>si,useLayoutType:()=>i2,getCurrentUser:()=>tT,closeWorkspaceInWindow:()=>dz,XrayPictogram:()=>dv,CaretUpIcon:()=>ae,renderActionableNotifications:()=>up,OpenmrsAppContext:()=>iv,setupModals:()=>ue,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(mN(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;mN(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>L,recordConfigDerivationError:()=>eh,useAbortController:()=>ib,Extension:()=>rz,getFhirServerPaginationHandlers:()=>iq,useConnectedExtensions:()=>iO,registerApp:()=>sj,HospitalBedIcon:()=>aE,useExtensionInternalStore:()=>iW,configExtensionStore:()=>et,getSynchronizationItems:()=>mT,getExtensionSlotsConfigStore:()=>eo,registerExtensionRendering:()=>oK,RenderIfValueIsTruthy:()=>iy,registerFeatureFlag:()=>o$,useFhirFetchAll:()=>iQ,restBaseUrl:()=>tj,CalendarHeatMapIcon:()=>s8,isImportMapOverrideDisabled:()=>ni,resetConfigSystem:()=>e1,getExtensionInternalStore:()=>oF,registerGlobalStore:()=>T,evaluateAsBoolean:()=>oa,PatientBannerPatientInfo:()=>uW,addRouteMapOverride:()=>nO,getDefaultCalendar:()=>l2,SettingsIcon:()=>a8,DrugOrderIcon:()=>ah,ProgramsIcon:()=>aZ,useAssignedExtensions:()=>r5,CloseFilledIcon:()=>ad,canAccessStorage:()=>mj,registerDefaultCalendar:()=>l1,TreeViewAltIcon:()=>la,OverflowMenuVerticalIcon:()=>az,clearConfigDerivationError:()=>ew,getConfigStore:()=>en,InformationSquareIcon:()=>aA,EmptyCard:()=>cJ,ChevronLeftIcon:()=>aa,RadiologyIcon:()=>lv,useCandidateExtensions:()=>ij,renderToasts:()=>dT,isDesktop:()=>i5,integrateBreakpoints:()=>sI,RegistrationPictogram:()=>dm,CardHeader:()=>s$,getExtensionRegistrationFrom:()=>ru,InformationIcon:()=>aP,SystemAdministrationPictogram:()=>dh,TrashCanIcon:()=>ls,useShallowStableValue:()=>rq,PatientDocumentsPictogram:()=>ds,useOpenmrsSWR:()=>se,Assessment1Pictogram:()=>uX,finishRegisteringAllApps:()=>sN,importDynamic:()=>nf,useFhirPagination:()=>iz,useVisitContextStore:()=>sg,ArrowUpIcon:()=>s5,showActionableNotification:()=>ug,useForceUpdate:()=>iF,useVisit:()=>sh,PatientBannerPatientIdentifiers:()=>u$,TransferPictogram:()=>dw,usePagination:()=>st,Breakpoint:()=>sE,PatientBannerToggleContactDetailsButton:()=>mu,CloseOutlineIcon:()=>am,ObstetricsPictogram:()=>di,parseDateInput:()=>ct,ReportsPictogram:()=>df,getConfig:()=>eM,attach:()=>rf,getLocale:()=>lB,isUrlWithTemplateParameters:()=>e8,useEmrConfiguration:()=>iM,useLeftNav:()=>i6,ToolsIcon:()=>lr,ErrorState:()=>cK,detach:()=>rp,setCurrentVisit:()=>n2,ConditionsIcon:()=>l_,SaveIcon:()=>a5,useConfig:()=>iA,validator:()=>z,CalendarIcon:()=>s3,getHistory:()=>tv,StickyNoteAddIcon:()=>a9,useWorkspace2Store:()=>dY,getPatientName:()=>uk,getVisitStore:()=>n1,getCoreTranslation:()=>tm,registerModuleWithConfigSystem:()=>eI,updateOpenedWorkspaceInWindow:()=>dJ,registerModuleLoad:()=>eA,getBreadcrumbs:()=>to,extractVariableNames:()=>oI,translateFrom:()=>td,useStoreWithActions:()=>rY,EditIcon:()=>aw,getCandidateExtensions:()=>r_,shallowEqual:()=>x,subscribeNotificationShown:()=>p,MaximizeIcon:()=>aL,promptForClosingWorkspaces:()=>dV,WarningIcon:()=>lg,fhirBaseUrl:()=>tN,matchLocale:()=>mk,usePatientPhoto:()=>uH,registerBreadcrumb:()=>tt,EventsIcon:()=>av,createGlobalStore:()=>R,subscribeToFeatureFlag:()=>oL,useExtensionStore:()=>iU,createAttachment:()=>nB,useLeftNavStore:()=>i8,TableIcon:()=>ln,Icon:()=>lx,InformationFilledIcon:()=>aI,getCurrentPageMap:()=>ne,LaboratoryPictogram:()=>dt,temporaryConfigStore:()=>ee,toDateObjectStrict:()=>lX,defineConfigSchema:()=>eP,filterBreadcrumbs:()=>ti,invalidateImplementerToolsConfig:()=>ep,PatientBannerContactDetails:()=>mh,getAssignedExtensions:()=>rw,promptForClosingWorkspacesInWindow:()=>dG,PatientPhoto:()=>uz,MaterialOrderIcon:()=>aM,MicroscopeIcon:()=>aU,visitTypesUrl:()=>nK,getOpenedWindowWidth:()=>d0,scheduleRecomputation:()=>o2,PharmacyPictogram:()=>du,AttachmentIcon:()=>lw,MoneyIcon:()=>aF,getAttachments:()=>nD,PageHeaderContent:()=>ux,MedicationIcon:()=>aW,PrinterIcon:()=>aX,PatientListsPictogram:()=>db,useAppContext:()=>ix,isOpenmrsRoutes:()=>n_,AppointmentsAltPictogram:()=>uK,GenericOrderTypeIcon:()=>ak,batchExtensionUpdates:()=>o0,useExtensionSlotStore:()=>r1,ViewIcon:()=>lp,formattedName:()=>uE,sessionEndpoint:()=>tE,duration:()=>ci,resetImportMapOverrides:()=>nl,TableOfContentsIcon:()=>lt,CaretLeftIcon:()=>s7,getTranslationOverrides:()=>eL,isVersionSatisfied:()=>mP,EmptyCardIllustration:()=>cq,PenIcon:()=>aK,verifyTotpCode:()=>tz,validators:()=>e7,setupImportMapOverrides:()=>nd,showToast:()=>dM,useDefineAppContext:()=>i_,getGlobalStore:()=>M,useOnClickOutside:()=>i7,getWindowByWorkspaceName:()=>rC,ArrowRightIcon:()=>s2,loadLifeCycles:()=>sy,registerBreadcrumbs:()=>tn,MotherIcon:()=>aH,fetchCurrentPatient:()=>nH,Toast:()=>dA,MessageQueueIcon:()=>aD,TwoFactorAuthenticationIcon:()=>ll,Pharmacy2Pictogram:()=>dd,goBackInHistory:()=>ty,GroupAccessIcon:()=>aN,getExtensionRenderingsStore:()=>oH,setImplementerToolsConfigRecomputer:()=>ef,getAsyncExtensionLifecycle:()=>iu,setupApiModule:()=>tQ,renderLoadingSpinner:()=>mw,showNotification:()=>uf,getModalRegistration:()=>rN,ListCheckedIcon:()=>a$,ResponsiveWrapper:()=>dk,GynaecologyPictogram:()=>u9,ShoppingCartIcon:()=>a4,getRouteMapNextPageMap:()=>nI,MetadataExportPictogram:()=>dr,updateVisit:()=>n6,backendDependencies:()=>tZ,MaybePictogram:()=>dx,createParcelMounter:()=>rD,openmrsFetch:()=>tP,useStore:()=>rX,isOpenmrsAppRoutes:()=>nw,ExportedWorkspace:()=>mo,DentistryPictogram:()=>u6,HomePictogram:()=>dy,ServiceQueuesPictogram:()=>dp,createExportedWorkspaceWindow:()=>d2,setFeatureFlag:()=>oW,toLanguageTag:()=>lD,DigitalTrustPictogram:()=>u8,NumericObservation:()=>uv,attachmentUrl:()=>nL,interpolateString:()=>tp,inRange:()=>e6,useExtensionSlotMeta:()=>iD,AppointmentsPictogram:()=>uJ,renderSnackbars:()=>dP,getRegisteredWorkspace2Names:()=>dQ,logout:()=>tq,toLocationObject:()=>nz,ChartLineIcon:()=>an,UserHasAccess:()=>sl,evaluateAsBooleanAsync:()=>ol,createDashboard:()=>lk,getLocations:()=>nq,useExtensionContext:()=>iL,getExtensionsConfigStore:()=>es,getRouteMapDefaultMap:()=>nP,age:()=>uI,isOmrsDateStrict:()=>lJ,registerWorkspaceGroups2:()=>rA,usePaginationInfo:()=>sn,evaluateAsync:()=>os,useOpenmrsFetchAll:()=>iY,removeImportMapOverride:()=>na,useVisitTypes:()=>s_,ageAsDuration:()=>uP,getExtensionNameFromId:()=>rc,DataEntryPictogram:()=>u5,renderParcel:()=>rW,ResetIcon:()=>a2,RenewIcon:()=>a0,useWorkspace2Context:()=>dZ,subscribeActionableNotificationShown:()=>g,ErrorCard:()=>cX,GenderFemaleIcon:()=>ay,enableImportMapOverride:()=>nc,retry:()=>mI,ComponentContext:()=>rV,ExtensionSlot:()=>r3,unsetLeftNav:()=>rS,addImportMapOverride:()=>ns,MaybeIcon:()=>lb,useCustomOverflowMenu:()=>sz,PedestrianFamilyIcon:()=>aJ,CtScanPictogram:()=>u2,dispatchNotificationShown:()=>u,leftNavStore:()=>rb,OpenmrsFetchError:()=>tI,UserFollowIcon:()=>lu,launchWorkspaceGroup2:()=>dW,ChevronRightIcon:()=>al,UserXrayIcon:()=>ld,GenderOtherIcon:()=>ax,formatDuration:()=>ce,toOmrsIsoString:()=>lY,Labs2Pictogram:()=>dn,workspace2Store:()=>rE,setUserLanguage:()=>tL,useBodyScrollLock:()=>iE,SyringeIcon:()=>le,LocationPicker:()=>cZ,useDebounce:()=>iR,TimeIcon:()=>lo,getExtensionSlotConfig:()=>er,AddIcon:()=>sQ,getRouteMapOverrideMap:()=>nA,processConfig:()=>eW,InventoryManagementIcon:()=>aO,registerWorkspaces2:()=>rR,UserIcon:()=>lm,formatPatientName:()=>uN,fireOpenmrsEvent:()=>nV,registerModal:()=>rj,registerTranslationNamespace:()=>eO,displayName:()=>uj,createLocalStore:()=>$,evaluate:()=>oi,defineExtensionConfigSchema:()=>eR,getSyncLifecycle:()=>ic,renderWorkspaceWindowsAndMenu:()=>mb,evaluateAsTypeAsync:()=>om});let s="openmrs:notification-shown",a="openmrs:actionable-notification-shown",l="openmrs:toast-shown",c="openmrs:snack-bar-shown";function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(c,{detail:e}))}function f(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function p(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function w(e){let t=t=>e(t.detail);return window.addEventListener(c,t),()=>window.removeEventListener(c,t)}function _(e,t){let{message:n}=b(e);return"string"==typeof n&&n?n:t}function v(e){let t=b(e);setTimeout(()=>{throw t})}function y(){let e=Error();return t=>{let n=b(t);n.stack+=`
2
2
  Async stacktrace:
3
- ${e.stack}`,y(t)}}function b(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function x(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e,t,n,o,r){return console.error("Unexpected error: ",r??e),f({description:_(r,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),f({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var S,k,j,N=n(1978),E=n(9167);function C(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let P={},I=Symbol.for("openmrs.esm-state.instanceCount"),A=globalThis,O=(A[I]??0)+1;function R(e,t,n="none"){let o=P[e];if(o)return o.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value.setState(t,!0),o.active=!0,o.value;{let o=W(e,t,n);return P[e]={value:o,active:!0},o}}function $(e){return(0,E.y)()(()=>e)}function T(e,t){let n=P[e];return n?(n.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value=t,n.active=!0,n.value):(P[e]={value:t,active:!0},t)}function M(e,t,n="none"){let o=P[e];if(!o){let o=W(e,t??{},n);return P[e]={value:o,active:!1},o}return o.value}function L(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);x(s,t)||(s=t,r(t))})}function W(e,t,n){return"sessionStorage"===n?(0,E.y)()((0,N.Zr)(()=>t,{name:e,storage:(0,N.KU)(()=>sessionStorage)})):(0,E.y)()(()=>t)}A[I]=O,O>1&&!C()&&console.error(`Detected ${O} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=P)},1e3);var D=n(1156),U=n(3591),B=n(4888),F=n(9352),H=n(602),V=n(8395),G=((S={}).Array="Array",S.Boolean="Boolean",S.ConceptUuid="ConceptUuid",S.Number="Number",S.Object="Object",S.String="String",S.UUID="UUID",S.PersonAttributeTypeUuid="PersonAttributeTypeUuid",S.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",S);function z(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let q=z(e=>Array.isArray(e),"must be an array"),J=z(e=>"boolean"==typeof e,"must be a boolean"),K=z(e=>"number"==typeof e,"must be a number"),X=z(e=>"string"==typeof e,"must be a string"),Y=z(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),Z=z(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Q=R("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),ee=R("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});ee.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let et=R("config-store-of-extension-state",{mountedExtensions:[]});function en(e){return M(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function eo(){return M("config-extension-slots",{slots:{}})}function er(e){return ei(eo().getState(),e)}function ei(e,t){return e.slots[t]??{loaded:!1,config:{}}}function es(){return M("config-extensions",{configs:{}})}function ea(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let n=es(),o=n=>n.configs[e]?.[t];return{getInitialState:()=>o(n.getInitialState()),getState:()=>o(n.getState())??{loaded:!1,config:null},subscribe:e=>n.subscribe((t,n)=>{let r=o(t),i=o(n);x(r,i)||e(r,i)})}}function el(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function ec(e,t,n){return e.configure?.[n]??null}let eu=(0,E.y)()(()=>({config:{}})),ed=0,em=!0,ef=!1;function ep(e){o=e}function eg(){em=!0,ed>0&&eh()}function eh(){if(em&&o&&!ef){ef=!0,em=!1;try{o()}catch(e){em=!0,ew(e),console.error("Failed to derive the implementer tools config",e)}finally{ef=!1}}}function ew(e){eu.setState({derivationError:e instanceof Error?e.message:String(e)})}function e_(){eu.getState().derivationError&&eu.setState({derivationError:void 0})}let ey=T("config-implementer-tools",{...eu,getState:()=>(0===ed&&eh(),eu.getState()),setState:(...e)=>(em=!1,eu.setState(...e)),subscribe(e){ed++,eh();let t=eu.subscribe(e),n=!1;return()=>{!n&&(n=!0,ed--),t()}}});function ev(e,t){if(Array.isArray(t))return t}function eb(e,t){return(0,B.A)({},e,t,ev)}let ex=[];function eS(){let e=Q.getState(),t=ee.getState(),n=et.getState();if(ek?.configState===e&&ek.tempConfigState===t)return void eP(e,n,t,ek.slotConfigs,!0);!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=en(n),i=e.schemas[n],s=!!e.moduleLoaded[n],a=eC.get(n);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)o=a.state;else{let r=s?function(e,t,n){let o=t.schemas[e],r=eG(e,eH(t,n));eq(o,r,e);let i=eY(o,r);return eJ(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=eY(e8,eG(e,eH(t,n)));return eJ(e8,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:s,config:r},eC.set(n,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,F.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=ez(eH(e,t)),o=Object.keys(n).reduce((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e),{});var r=o;for(let[e,t]of Object.entries(r))for(let[n,o]of Object.entries(t))!function(e,t,n){let o=`${t}.extensionSlots.${n}`,r=`Extension slot config '${o}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&e1(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||e1(o,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||e1(o,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||e1(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eQ(e.configure)&&e1(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},s={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(s[t]??(s[t]=[])).push(n.configure);for(let[e,t]of Object.entries(s)){let n=1===t.length?t[0]:ez(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=eo(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,F.A)(e.config,i)?o[t]=e:(o[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(n).length!==Object.keys(o).length)&&t.setState({slots:o})})(o),eP(e,n,t,o,!1),ek={configState:e,tempConfigState:t,slotConfigs:o},eg()}let ek=null,ej=new WeakMap;function eN(){o=()=>{var e,t;let n,o;return e=Q.getState(),t=ee.getState(),n=ey.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eF.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eQ(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,V.A)(o));eF.set(n,{schema:o,annotated:e}),t[n]=e}}return t}(e.schemas),o=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(n));for(let[e]of o)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=n[e],r=o.map(([t])=>t[e]),s=o.map(([,e])=>e),a=eB.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=eb(l,function e(t,n){return eQ(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),eB.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,F.A)(n.config,o.config)||ey.setState(o))},eS(),ex.push(Q.subscribe(eE),ee.subscribe(eE),et.subscribe(eE))}function eE(){e_();try{eS()}catch(e){ew(e),console.error("Failed to recompute the configuration",e)}}eN();let eC=new Map;function eP(e,t,n,o,r){let i=es(),s=i.getState().configs,a={},l=!1,c=0;for(let i of t.mountedExtensions){let t,u=s[i.slotName]?.[i.extensionId],d=u&&ej.get(u);if(r&&u?.loaded&&d?.slotModuleName===i.slotModuleName&&d.extensionModuleName===i.extensionModuleName)t=u;else{let r=function(e,t,n,o,r,i,s){let a=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[a],c=JSON.stringify([n,o,e,t]),u=eU.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?a:t,m=eH(r,i),f=s?.configure?.[o]??{},p=eG(e,m),g=p?.extensionSlots?.[n]?.configure?.[o]??{},h=ez([eG(d,m),f,g]),w=l??r.schemas[t];eq(w,h,d);let _=eY(w,h);return eJ(w,_,d),delete _.extensionSlots,eU.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:_}),_}(i.slotModuleName,i.extensionModuleName,i.slotName,i.extensionId,e,n,o[i.slotName]);t=u?.loaded&&(0,F.A)(u.config,r)?u:{config:r,loaded:!0}}ej.set(t,i),t!==u&&(l=!0),a[i.slotName]||(a[i.slotName]={}),a[i.slotName][i.extensionId]=t,c++}for(let[e,t]of Object.entries(a)){let n=s[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(a[e]=n)}l||(l=Object.keys(s).length!==Object.keys(a).length||Object.values(s).reduce((e,t)=>e+Object.keys(t).length,0)!==c),l&&i.setState({configs:a})}function eI(e,t){eV(e,t);let n=eb(t,e8);Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eA(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e8}}))}function eO(e){Q.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eR(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e6}}))}function e$(e,t){eV(e,t);let n=eb(t,e8);Q.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eT(e,t="provided"){Q.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function eM(e,t,n){return new Promise(o=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eL(e){return eM(en(e),e=>!!(e.loaded&&e.config),e=>(0,H.A)(e.config,["Display conditions","Translation overrides"]))}function eW(e,t,n){let o=[eM(en(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&n&&o.push(eM(ea(t,n),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(o)}function eD(e,t,n){eq(e,t,n);let o=eY(e,t);return eJ(e,o,n),o}let eU=new Map,eB=new Map,eF=new Map;function eH(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eV(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,s=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${o}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${o}`),!eQ(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}s.hasOwnProperty("_default")||eV(e,s,i);let a=s._elements;if(eZ(a)&&eV(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
3
+ ${e.stack}`,v(t)}}function b(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function x(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e,t,n,o,r){return console.error("Unexpected error: ",r??e),f({description:_(r,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),f({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var S,k,j,N=n(1978),E=n(9167);function C(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let P={},I=Symbol.for("openmrs.esm-state.instanceCount"),A=globalThis,O=(A[I]??0)+1;function R(e,t,n="none"){let o=P[e];if(o)return o.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value.setState(t,!0),o.active=!0,o.value;{let o=W(e,t,n);return P[e]={value:o,active:!0},o}}function $(e){return(0,E.y)()(()=>e)}function T(e,t){let n=P[e];return n?(n.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value=t,n.active=!0,n.value):(P[e]={value:t,active:!0},t)}function M(e,t,n="none"){let o=P[e];if(!o){let o=W(e,t??{},n);return P[e]={value:o,active:!1},o}return o.value}function L(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);x(s,t)||(s=t,r(t))})}function W(e,t,n){return"sessionStorage"===n?(0,E.y)()((0,N.Zr)(()=>t,{name:e,storage:(0,N.KU)(()=>sessionStorage)})):(0,E.y)()(()=>t)}A[I]=O,O>1&&!C()&&console.error(`Detected ${O} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=P)},1e3);var D=n(1156),U=n(3591),B=n(4888),F=n(9352),H=n(602),V=n(8395),G=((S={}).Array="Array",S.Boolean="Boolean",S.ConceptUuid="ConceptUuid",S.Number="Number",S.Object="Object",S.String="String",S.UUID="UUID",S.PersonAttributeTypeUuid="PersonAttributeTypeUuid",S.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",S);function z(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let q=z(e=>Array.isArray(e),"must be an array"),J=z(e=>"boolean"==typeof e,"must be a boolean"),K=z(e=>"number"==typeof e,"must be a number"),X=z(e=>"string"==typeof e,"must be a string"),Y=z(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),Z=z(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Q=R("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),ee=R("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});ee.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let et=R("config-store-of-extension-state",{mountedExtensions:[]});function en(e){return M(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function eo(){return M("config-extension-slots",{slots:{}})}function er(e){return ei(eo().getState(),e)}function ei(e,t){return e.slots[t]??{loaded:!1,config:{}}}function es(){return M("config-extensions",{configs:{}})}function ea(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function el(e,t,n){return e.configure?.[n]??null}let ec=(0,E.y)()(()=>({config:{}})),eu=0,ed=!0,em=!1;function ef(e){o=e}function ep(){ed=!0,eu>0&&eg()}function eg(){if(ed&&o&&!em){em=!0,ed=!1;try{o()}catch(e){ed=!0,eh(e),console.error("Failed to derive the implementer tools config",e)}finally{em=!1}}}function eh(e){ec.setState({derivationError:e instanceof Error?e.message:String(e)})}function ew(){ec.getState().derivationError&&ec.setState({derivationError:void 0})}let e_=T("config-implementer-tools",{...ec,getState:()=>(0===eu&&eg(),ec.getState()),setState:(...e)=>(ed=!1,ec.setState(...e)),subscribe(e){eu++,eg();let t=ec.subscribe(e),n=!1;return()=>{!n&&(n=!0,eu--),t()}}});function ev(e,t){if(Array.isArray(t))return t}function ey(e,t){return(0,B.A)({},e,t,ev)}let eb=[],ex=new Set,eS=null,ek=new WeakMap;function ej(){o=()=>{var e,t;let n,o;return e=Q.getState(),t=ee.getState(),n=e_.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eB.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eZ(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,V.A)(o));eB.set(n,{schema:o,annotated:e}),t[n]=e}}return t}(e.schemas),o=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(n));for(let[e]of o)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=n[e],r=o.map(([t])=>t[e]),s=o.map(([,e])=>e),a=eU.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=ey(l,function e(t,n){return eZ(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),eU.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,F.A)(n.config,o.config)||e_.setState(o))},eN(),eb.push(Q.subscribe(eN),ee.subscribe(eN),et.subscribe(eN))}function eN(){ew();try{!function(){let e=Q.getState(),t=ee.getState(),n=et.getState();if(eS?.configState===e&&eS.tempConfigState===t)return eC(e,n,t,eS.slotConfigs,!0);!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=en(n),i=e.schemas[n],s=!!e.moduleLoaded[n],a=eE.get(n);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)o=a.state;else{let r=s?function(e,t,n){let o=t.schemas[e],r=eV(e,eF(t,n));ez(o,r,e);let i=eX(o,r);return eq(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=eX(e5,eV(e,eF(t,n)));return eq(e5,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:s,config:r},eE.set(n,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,F.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=eG(eF(e,t)),o=Object.keys(n).reduce((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e),{});var r=o;for(let[e,t]of Object.entries(r))for(let[n,o]of Object.entries(t))!function(e,t,n){let o=`${t}.extensionSlots.${n}`,r=`Extension slot config '${o}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&eQ(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||eQ(o,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||eQ(o,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||eQ(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eZ(e.configure)&&eQ(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},s={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(s[t]??(s[t]=[])).push(n.configure);for(let[e,t]of Object.entries(s)){let n=1===t.length?t[0]:eG(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=eo(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,F.A)(e.config,i)?o[t]=e:(o[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(n).length!==Object.keys(o).length)&&t.setState({slots:o})})(o),eC(e,n,t,o,!1),eS={configState:e,tempConfigState:t,slotConfigs:o},ep()}()}catch(e){eh(e),console.error("Failed to recompute the configuration",e)}}ej();let eE=new Map;function eC(e,t,n,o,r){let i=es(),s=i.getState().configs,a={},l=!1,c=0;for(let i of t.mountedExtensions){let t,u=s[i.slotName]?.[i.extensionId],d=u&&ek.get(u);if(r&&u?.loaded&&d?.slotModuleName===i.slotModuleName&&d.extensionModuleName===i.extensionModuleName)t=u;else{let r=function(e,t,n,o,r,i,s){let a=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[a],c=JSON.stringify([n,o,e,t]),u=eD.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?a:t,m=eF(r,i),f=s?.configure?.[o]??{},p=eV(e,m),g=p?.extensionSlots?.[n]?.configure?.[o]??{},h=eG([eV(d,m),f,g]),w=l??r.schemas[t];ez(w,h,d);let _=eX(w,h);return eq(w,_,d),delete _.extensionSlots,eD.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:_}),_}(i.slotModuleName,i.extensionModuleName,i.slotName,i.extensionId,e,n,o[i.slotName]);t=u?.loaded&&(0,F.A)(u.config,r)?u:{config:r,loaded:!0}}ek.set(t,i),t!==u&&(l=!0),a[i.slotName]||(a[i.slotName]={}),a[i.slotName][i.extensionId]=t,c++}for(let[e,t]of Object.entries(a)){let n=s[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(a[e]=n)}l||(l=Object.keys(s).length!==Object.keys(a).length||Object.values(s).reduce((e,t)=>e+Object.keys(t).length,0)!==c),l&&i.setState({configs:a})}function eP(e,t){eH(e,t);let n=ey(t,e5);Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eI(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e5}}))}function eA(e){Q.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eO(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e2}}))}function eR(e,t){eH(e,t);let n=ey(t,e5);Q.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function e$(e,t="provided"){Q.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function eT(e,t,n){return new Promise(o=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eM(e){return eT(en(e),e=>!!(e.loaded&&e.config),e=>(0,H.A)(e.config,["Display conditions","Translation overrides"]))}function eL(e,t,n){let o=[e in Q.getState().schemas?eT(en(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{}):Promise.resolve({})];if(t&&n){let e=ea(es().getState(),t,n),r=e.loaded&&e.config?e.config["Translation overrides"]??{}:{};o.push(Promise.resolve(r))}return Promise.all(o)}function eW(e,t,n){ez(e,t,n);let o=eX(e,t);return eq(e,o,n),o}let eD=new Map,eU=new Map,eB=new Map;function eF(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eH(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,s=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${o}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${o}`),!eZ(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}s.hasOwnProperty("_default")||eH(e,s,i);let a=s._elements;if(eY(a)&&eH(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
4
4
 
5
5
  If you're the maintainer: validators must be functions that return either undefined or an error string. Received ${t}.`);let l=s._type;l&&!Object.values(G).includes(l)&&console.error(`${e} has invalid type for key '${i}' ${o}.
6
6
 
@@ -8,21 +8,21 @@ If you're the maintainer: the allowed types are ${Object.values(G).join(", ")}.
8
8
 
9
9
  If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(s)}`),a&&l&&![G.Array,G.Object].includes(l)&&console.error(`${e} has bad config schema definition for key '${i}'. ${o}.
10
10
 
11
- If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eG(e,t){return ez(t.map(({[e]:t})=>t).filter(e=>!!e))}function ez(e){return e.reduce((e,t)=>(0,B.A)(e,t,ev),{})}function eq(e,t,n=""){for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];if(!e.hasOwnProperty(o)){("extensionSlots"!==o||""===n)&&e1(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,n,o){eK(o,t._type,n),eQ(n)?t._type===G.Object?function(t,n,o){if(t._elements)for(let r of Object.keys(n)){let i=n[r];e(t._elements,i,`${o}.${r}`)}}(t,n,o):t.hasOwnProperty("_default")||t.hasOwnProperty("_type")||eq(t,n,o):t._type===G.Array&&function(t,n,o){if(eK(o,G.Array,n)){if(eZ(t._elements))for(let r=0;r<n.length;r++)e(t._elements,n[r],`${o}[${r}]`);for(let e=0;e<n.length;e++)eK(`${o}[${e}]`,t._elements?._type,n[e])}}(t,n,o)})(s,r,i)}}function eJ(e,t,n=""){if(e){if(t!==e._default&&eX(n,e._validators,t),eQ(t))for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];e._type===G.Object&&e._elements?eJ(e._elements,r,i):eJ(s,r,i)}else if(Array.isArray(t)&&e._elements)for(let o=0;o<t.length;o++)eJ(e._elements,t[o],`${n}[${o}]`)}}function eK(e,t,n){return!t||eX(e,[{Array:q,Boolean:J,ConceptUuid:Z,Number:K,Object:Y,String:X,UUID:Z,PersonAttributeTypeUuid:Z,PatientIdentifierTypeUuid:Z}[t]],n)}function eX(e,t,n){let o=!0;if(t)try{for(let r of t){let t=r(n);if("string"==typeof t){let r="object"==typeof n?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${n} for ${e}: ${t}`;e1(e,r),o=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
12
- ${t}`)}return o}let eY=(e,t)=>{let n=structuredClone(t);if(!e)return n;for(let t of Object.keys(e)){let o=n[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=r._default);let e=r._elements;if(o&&eZ(e)){if(r._type===G.Array&&Array.isArray(o)){let r=o.map(t=>eY(e,t));n[t]=r}else if(r._type===G.Object)for(let t of Object.keys(o))o[t]=eY(e,o[t])}}else if(eQ(r)){let e=o??{};eQ(e)&&(n[t]=eY(r,e))}}return n};function eZ(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eQ(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let e0=new Set;function e1(e,t){let n=`${e}:::${t}`;e0||(e0=new Set),e0.has(n)||(console.error(t),e0.add(n))}function e2(e){e?e0.forEach(t=>{t.startsWith(e)&&e0.delete(t)}):e0.clear()}function e5(){ex.forEach(e=>e()),ex.length=0,eC.clear(),eU.clear(),eF.clear(),eB.clear(),ek=null,ej=new WeakMap,eN()}let e6={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:G.Object,_default:{},_validators:[z(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e8={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:G.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:G.String,_default:void 0}},...e6},e3=(e,t)=>z(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),e4=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return z(e=>{if(!e||"string"!=typeof e)return!1;let n=/\${(.*?)}/g,o=n.exec(e);for(;o;){if(!t.includes(o[1]))return!1;o=n.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e7=e4([]),e9=e=>z(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),te={inRange:e3,isUrl:e7,isUrlWithTemplateParameters:e4,oneOf:e9};var tt=n(4913);let tn=R("breadcrumbs",[]);function to(e){return tr([e])}function tr(e){let t=[...ti(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,tt.pathToRegexp)(e.matcher).regexp:(0,tt.pathToRegexp)(e.path).regexp,settings:e}))];tn.setState(t,!0)}function ti(){return tn.getState()}function ts(e,t){if(t)return function(e,t){let[n]=e.filter(e=>e.matcher.test(t));return n}(e,t)||function(e,t){let n=t.split("/");for(;n.length>1;){n.pop();let t=ts(e,n.join("/"));if(t)return t}}(e,t)}function ta(e,t){if(e.length>0){let n=ts(e,t);if(n){let t=[n],o=ts(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=ts(e,o.settings.parent);return t.reverse()}}return[]}function tl(e){return ta(ti(),e)}var tc=n(2267);let tu={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",applicationError:"Application Error",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",clearDevOverrides:"Clear dev overrides",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",copied:"Copied!",copyToClipboard:"Copy to clipboard",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",provisional:"Provisional",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",reload:"Reload",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",serverStartingUp:"The server is starting",serverStartingUpExplainer:"This can take a few minutes. OpenMRS will open automatically when the server is ready.",serverStartingUpSlowExplainer:"This is taking longer than usual. First startup after an upgrade can take 10 minutes or more. You can leave this page open.",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",somethingWentWrongTryReloading:"Something went wrong. Please try reloading.",toggleDevTools:"Toggle dev tools",unknown:"Unknown",viewSetupProgress:"View setup progress",waitingForServer:"Waiting for the server",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var td=n(2279);let tm=td.Ay.default||td.Ay;function tf(e,t,n,o){return tm.t(t,{ns:e,defaultValue:n,...o})}function tp(e,t,n){return tu[e]?tf("core",e,t??tu[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tg(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=th(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t});return e.startsWith("//")?o:o.replace(/^\/\//,"/")}function th(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function tw({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tg(e,t).replace(window.location.origin,""),r=new URL(o,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tp("navigateNonHttp"));o.startsWith(n)?(0,tc.EH)(o):window.location.assign(o)}tm.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let t_="openmrs:history";function ty(e){let t=JSON.parse(sessionStorage.getItem(t_)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(t_,JSON.stringify(t))}function tv(){0===JSON.parse(sessionStorage.getItem(t_)??"[]").length&&document.referrer&&ty(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=tb();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(t_,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?tx({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&ty(window.location.href)})}function tb(){return JSON.parse(sessionStorage.getItem(t_)??"[]")}function tx({toUrl:e}){let t=tb(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);tw({to:t[n]}),sessionStorage.setItem(t_,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tS(){sessionStorage.removeItem(t_)}let tk="${openmrsSpaBase}/login",tj={redirectAuthFailure:{enabled:{_type:G.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:G.String,_default:tk,_validators:[te.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:G.Array,_default:[401],_elements:{_type:G.Number,_validators:[te.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:G.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:G.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let tE="/ws/rest/v1",tC="/ws/fhir2/R4",tP=`${tE}/session`;function tI(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tA(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let n=tI(e);t.headers||(t.headers={}),(0,U.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let o=!1;try{let e=new URL(n,window.location.href),t=new URL(tI(tE),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");o=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(o){let e=!1;for(let[n,o]of Object.entries(t.headers))"disable-www-authenticate"===n.toLowerCase()&&(void 0===o?delete t.headers[n]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tC)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let r=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:o,followRedirects:i}=await eL("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(n===tI(tP)||204===e.status)&&tw({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(n===tI(tP)&&403===e.status||o.enabled&&o.errors.includes(e.status))&&(tS(),tw({to:o.url||e.headers.get("location")||tk}),!0!==t.rejectAuthFailure)?o.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new tO(n,e,o,r)},()=>{throw new tO(n,e,null,r)})})}class tO extends Error{constructor(e,t,n,o){super(),tN(this,"response",void 0),tN(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,o.message=this.message,this.responseBody=n,this.response=t,this.stack=`Stacktrace for outgoing request:
11
+ If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eV(e,t){return eG(t.map(({[e]:t})=>t).filter(e=>!!e))}function eG(e){return e.reduce((e,t)=>(0,B.A)(e,t,ev),{})}function ez(e,t,n=""){for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];if(!e.hasOwnProperty(o)){("extensionSlots"!==o||""===n)&&eQ(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,n,o){eJ(o,t._type,n),eZ(n)?t._type===G.Object?function(t,n,o){if(t._elements)for(let r of Object.keys(n)){let i=n[r];e(t._elements,i,`${o}.${r}`)}}(t,n,o):t.hasOwnProperty("_default")||t.hasOwnProperty("_type")||ez(t,n,o):t._type===G.Array&&function(t,n,o){if(eJ(o,G.Array,n)){if(eY(t._elements))for(let r=0;r<n.length;r++)e(t._elements,n[r],`${o}[${r}]`);for(let e=0;e<n.length;e++)eJ(`${o}[${e}]`,t._elements?._type,n[e])}}(t,n,o)})(s,r,i)}}function eq(e,t,n=""){if(e){if(t!==e._default&&eK(n,e._validators,t),eZ(t))for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];e._type===G.Object&&e._elements?eq(e._elements,r,i):eq(s,r,i)}else if(Array.isArray(t)&&e._elements)for(let o=0;o<t.length;o++)eq(e._elements,t[o],`${n}[${o}]`)}}function eJ(e,t,n){return!t||eK(e,[{Array:q,Boolean:J,ConceptUuid:Z,Number:K,Object:Y,String:X,UUID:Z,PersonAttributeTypeUuid:Z,PatientIdentifierTypeUuid:Z}[t]],n)}function eK(e,t,n){let o=!0;if(t)try{for(let r of t){let t=r(n);if("string"==typeof t){let r="object"==typeof n?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${n} for ${e}: ${t}`;eQ(e,r),o=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
12
+ ${t}`)}return o}let eX=(e,t)=>{let n=structuredClone(t);if(!e)return n;for(let t of Object.keys(e)){let o=n[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=r._default);let e=r._elements;if(o&&eY(e)){if(r._type===G.Array&&Array.isArray(o)){let r=o.map(t=>eX(e,t));n[t]=r}else if(r._type===G.Object)for(let t of Object.keys(o))o[t]=eX(e,o[t])}}else if(eZ(r)){let e=o??{};eZ(e)&&(n[t]=eX(r,e))}}return n};function eY(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eZ(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}function eQ(e,t){let n=`${e}:::${t}`;ex.has(n)||(console.error(t),ex.add(n))}function e0(e){e?ex.forEach(t=>{t.startsWith(e)&&ex.delete(t)}):ex.clear()}function e1(){eb.forEach(e=>e()),eb.length=0,eE.clear(),eD.clear(),eB.clear(),eU.clear(),eS=null,ek=new WeakMap,ej()}let e2={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:G.Object,_default:{},_validators:[z(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e5={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:G.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:G.String,_default:void 0}},...e2},e6=(e,t)=>z(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),e8=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return z(e=>{if(!e||"string"!=typeof e)return!1;let n=/\${(.*?)}/g,o=n.exec(e);for(;o;){if(!t.includes(o[1]))return!1;o=n.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e3=e8([]),e4=e=>z(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e7={inRange:e6,isUrl:e3,isUrlWithTemplateParameters:e8,oneOf:e4};var e9=n(4913);let te=R("breadcrumbs",[]);function tt(e){return tn([e])}function tn(e){let t=[...to(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,e9.pathToRegexp)(e.matcher).regexp:(0,e9.pathToRegexp)(e.path).regexp,settings:e}))];te.setState(t,!0)}function to(){return te.getState()}function tr(e,t){if(t)return function(e,t){let[n]=e.filter(e=>e.matcher.test(t));return n}(e,t)||function(e,t){let n=t.split("/");for(;n.length>1;){n.pop();let t=tr(e,n.join("/"));if(t)return t}}(e,t)}function ti(e,t){if(e.length>0){let n=tr(e,t);if(n){let t=[n],o=tr(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=tr(e,o.settings.parent);return t.reverse()}}return[]}function ts(e){return ti(to(),e)}var ta=n(2267);let tl={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",applicationError:"Application Error",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",clearDevOverrides:"Clear dev overrides",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",copied:"Copied!",copyToClipboard:"Copy to clipboard",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",provisional:"Provisional",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",reload:"Reload",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",serverStartingUp:"The server is starting",serverStartingUpExplainer:"This can take a few minutes. OpenMRS will open automatically when the server is ready.",serverStartingUpSlowExplainer:"This is taking longer than usual. First startup after an upgrade can take 10 minutes or more. You can leave this page open.",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",somethingWentWrongTryReloading:"Something went wrong. Please try reloading.",toggleDevTools:"Toggle dev tools",unknown:"Unknown",viewSetupProgress:"View setup progress",waitingForServer:"Waiting for the server",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tc=n(2279);let tu=tc.Ay.default||tc.Ay;function td(e,t,n,o){return tu.t(t,{ns:e,defaultValue:n,...o})}function tm(e,t,n){return tl[e]?td("core",e,t??tl[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tf(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tp(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t});return e.startsWith("//")?o:o.replace(/^\/\//,"/")}function tp(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function tg({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tf(e,t).replace(window.location.origin,""),r=new URL(o,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tm("navigateNonHttp"));o.startsWith(n)?(0,ta.EH)(o):window.location.assign(o)}tu.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let th="openmrs:history";function tw(e){let t=JSON.parse(sessionStorage.getItem(th)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(th,JSON.stringify(t))}function t_(){0===JSON.parse(sessionStorage.getItem(th)??"[]").length&&document.referrer&&tw(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=tv();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(th,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?ty({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tw(window.location.href)})}function tv(){return JSON.parse(sessionStorage.getItem(th)??"[]")}function ty({toUrl:e}){let t=tv(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);tg({to:t[n]}),sessionStorage.setItem(th,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tb(){sessionStorage.removeItem(th)}let tx="${openmrsSpaBase}/login",tS={redirectAuthFailure:{enabled:{_type:G.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:G.String,_default:tx,_validators:[e7.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:G.Array,_default:[401],_elements:{_type:G.Number,_validators:[e7.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:G.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:G.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let tj="/ws/rest/v1",tN="/ws/fhir2/R4",tE=`${tj}/session`;function tC(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tP(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let n=tC(e);t.headers||(t.headers={}),(0,U.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let o=!1;try{let e=new URL(n,window.location.href),t=new URL(tC(tj),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");o=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(o){let e=!1;for(let[n,o]of Object.entries(t.headers))"disable-www-authenticate"===n.toLowerCase()&&(void 0===o?delete t.headers[n]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tN)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let r=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:o,followRedirects:i}=await eM("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(n===tC(tE)||204===e.status)&&tg({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(n===tC(tE)&&403===e.status||o.enabled&&o.errors.includes(e.status))&&(tb(),tg({to:o.url||e.headers.get("location")||tx}),!0!==t.rejectAuthFailure)?o.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new tI(n,e,o,r)},()=>{throw new tI(n,e,null,r)})})}class tI extends Error{constructor(e,t,n,o){super(),tk(this,"response",void 0),tk(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,o.message=this.message,this.responseBody=n,this.response=t,this.stack=`Stacktrace for outgoing request:
13
13
  ${o.stack}
14
14
  Stacktrace for incoming response:
15
- ${this.stack}`}}let tR=R("session",{loaded:!1,session:null}),t$=0,tT=null;function tM(){return tT||(tR.getState().loaded&&t$>=Date.now()-6e4?null:tU())}function tL(e){let t=e?.includeAuthStatus??!0,n=e=>t?e:e.user,o=tM();return o?new Promise(e=>{let t=()=>{let t=tR.getState();t.loaded&&(r(),e(n(t.session)))},r=tR.subscribe(t);o.then(t,t)}):Promise.resolve(n(tR.getState().session))}function tW(){return tM(),tR}function tD(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tU(e,t){t$=Date.now(),r??(r=t$);let n={};e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let o=tX(tA(tP,{headers:n,rejectAuthFailure:!0})),i=()=>{tT===o&&(tT=null)};return o.then(i,i),tT=o,o}function tB(){tR.setState({loaded:!0,session:{authenticated:!1,sessionId:""}},!0)}function tF(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,D.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,D.A)(o.privileges.find(t=>e===t.display))):((0,D.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,D.A)(t.roles.find(e=>"System Developer"===e.display))}function tH(){let e,t;return new Promise(n=>{let o=o=>{o.loaded&&o.session.user&&(e=o.session.user,n(o.session.user),t&&t())};o(tR.getState()),e||(t=tR.subscribe(o))})}async function tV(){return(await tL()).sessionLocation}async function tG(e,t){return tX(tA(tP,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tz(e,t){return await tA(tP,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tU()}async function tq(e,t,n){return n||(n=new AbortController),await tA(`${tE}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tU()}async function tJ(e,t=!1){let n=await tA(t?`${tP}?rememberMe=true`:tP,{headers:{"X-Totp-Code":e}});return n.data?.authenticated?(await tU()).session:n.data}async function tK(){try{await tA(tP,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tY(e))throw e}tB(),await tU().catch(()=>{})}function tX(e){return new Promise((t,n)=>{e.then(e=>{if("object"==typeof e?.data){let n={loaded:!0,session:e.data};tR.setState(n,!0),t(n)}else!function(e){if(!e?.redirected||!e.url)return!1;try{return new URL(e.url,window.location.href).pathname.replace(/\/+$/,"").endsWith("/initialsetup")}catch{return!1}}(e)?n(tZ(Error("The session endpoint did not respond with a session"))):n(tZ(Error("The server is still starting up"),!0))}).catch(e=>{var o,i;if(tY(e)){"object"==typeof(o=e.responseBody)&&null!==o&&!1===o.authenticated?tR.setState({loaded:!0,session:e.responseBody},!0):tB(),t(tR.getState());return}(i=e)instanceof tO&&502===i.response.status&&!tR.getState().loaded&&void 0!==r&&Date.now()-r<18e4?n(tZ(e,!0)):(y(`Failed to fetch new session information: ${e}`),n(tZ(e)))})})}function tY(e){return e instanceof tO&&(401===e.response.status||403===e.response.status)}function tZ(e,t=!1){return tR.getState().loaded||tR.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e)),initializing:t},!0),tR.getState()}function tQ(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tR.subscribe(e=>{e.loaded&&e.session&&tD(e.session)});let t0={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function t1(){eI("@openmrs/esm-api",tj),tU()}let t2="import-map-override:",t5="import-map-overrides-disabled",t6="import-map-overrides:change",t8=!1,t3=null,t4=null;async function t7(){return t4??(t4=t9().then(({map:e,complete:t})=>(t||(t4=null),e))),t4}async function t9(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){n=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${o}`,e)}}return{map:ne(t),complete:n}}function ne(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function nt(){let e={};try{let t=ns();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(t2)){let n=o.slice(t2.length);if(!t.includes(n)){let t=localStorage.getItem(o);t&&(e[n]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function nn(){let e=await t7();return t8?ne([e,t3??nt()]):e}async function no(){return t7()}async function nr(){return t8?ne([await t7(),nt()]):t7()}function ni(e){if(!t8)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(t2)){let t=localStorage.getItem(n);t&&(e[n.slice(t2.length)]=t)}}return{imports:e}}return nt()}function ns(){if(!t8)return[];try{let e=localStorage.getItem(t5);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function na(e){return!!t8&&ns().includes(e)}function nl(e,t){if(!t8)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(t2+e,t),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function nc(e){if(!t8)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(t2+e);let t=ns().filter(t=>t!==e);t.length>0?localStorage.setItem(t5,JSON.stringify(t)):localStorage.removeItem(t5),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function nu(){if(!t8)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(t2)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t5),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nd(e){if(!t8)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=ns().filter(t=>t!==e);t.length>0?localStorage.setItem(t5,JSON.stringify(t)):localStorage.removeItem(t5),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nm=!1;function nf(){!nm&&(nm=!0,(t8="development"===window.spaEnv)&&(t3=nt()))}function np(e){return e.replace(/[\/\-@]/g,"_")}async function ng(e,t="./start",o){var r;let i,s=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nh(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=s)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},s)})]),i&&clearTimeout(i);let a=np(e),l=window[a];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${a} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function nh(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=np(e);if(!window[n]){let n=t??await nw();if(!n.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let o=n.imports[e];o.startsWith("./")&&(o=window.spaBase+o.substring(1));let r=e in ni().imports;try{return await function(e){var t;let n=(t=window)[n_]??(t[n_]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function s(){clearTimeout(i),r.removeEventListener("load",a),r.removeEventListener("error",l)}function a(){s(),t()}function l(t){s(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&f({kind:"error",title:tp("scriptLoadingFailed","Error: Script failed to load"),description:tp("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tp("resetOverrides","Reset overrides"),onActionButtonClick(){nu(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function nw(){return nn()}let n_=Symbol.for("__openmrs_script_loading");function ny(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals))||Object.hasOwn(e,"workspaces2")&&(!e.workspaces2||!Array.isArray(e.workspaces2))||Object.hasOwn(e,"workspaceWindows2")&&(!e.workspaceWindows2||!Array.isArray(e.workspaceWindows2))||Object.hasOwn(e,"workspaceGroups2")&&(!e.workspaceGroups2||!Array.isArray(e.workspaceGroups2)))}function nv(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&ny(t))}let nb="openmrs-routes:",nx="openmrs-routes:change",nS=!1,nk=null,nj=null;async function nN(){return nj??(nj=nE().then(({map:e,complete:t})=>(t||(nj=null),e))),nj}async function nE(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&nv(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nC(t),complete:n}}function nC(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nP(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let n=localStorage.key(e);if(n?.startsWith(nb)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(nb.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(ny(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(ny(o))return{moduleName:e,routes:o};throw Error(`${n} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===n.status?e.routes[n.value.moduleName]=n.value.routes:console.warn("[route-maps] Failed to load route override",n.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function nI(){let e=await nN();return nS?nC([e,nk??await nP()]):e}async function nA(){return nN()}async function nO(){return nS?nC([await nN(),await nP()]):nN()}function nR(){if(!nS)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(nb)){let t=localStorage.getItem(n);t&&(e[n.slice(nb.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function n$(e,t){if(!nS)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(nb+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!ny(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(nb+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(nb+e,JSON.stringify(t.toString()));else{if(!ny(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(nb+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(nx))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nT(e){if(!nS)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(nb+e),window.dispatchEvent(new CustomEvent(nx))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nM(){if(!nS)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(nb)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(nx))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let nL=null;function nW(){return nL||(nL=(nS="development"===window.spaEnv)?nP().then(e=>{nk=e}):Promise.resolve())}let nD=`${tE}/attachment`;function nU(e,t){return tA(`${nD}/${e}`,{signal:t.signal})}function nB(e,t,n,o){return tA(nF(e,t,o),{signal:n.signal})}function nF(e,t,n){return n?`${nD}?patient=${e}&encounter=${n}`:`${nD}?patient=${e}&includeEncounterless=${t}`}async function nH(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tA(`${nD}`,{method:"POST",body:o})}function nV(e,t){return tA(`${nD}/${e}`,{method:"DELETE",signal:t.signal})}async function nG(e,t){return e?(await tA(`${tC}/Patient/${e}`,t)).data:null}function nz(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function nq(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}function nJ(e){return{uuid:e.uuid,display:e.display}}function nK(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tA(`${tE}/location${o?"?"+o:""}`).then(e=>e.data.results.map(nJ))}function nX(e){return{uuid:e.uuid,display:e.display,name:e.name}}let nY=`${tE}/visittype`;function nZ(e=nY){return tA(e).then(e=>e.data.results.map(nX))}var nQ=((k={}).NEWVISIT="startVisit",k.EDITVISIT="editVisit",k.LOADING="loadingVisit",k),n0=((j={}).NOTSTARTED="notStarted",j.ONGOING="ongoing",j);let n1="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",n2=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function n5(){return M("visit",n2)}function n6(e,t){n5().setState({patientUuid:e,manuallySetVisitUuid:t})}function n8(e,t){return tA(`${tE}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function n3(e,t,n){return tA(`${tE}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function n4(e,t,n){return tA(`${tE}/visit?patient=${e}&v=${n??n1}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}n5().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var n7=n(9225),n9=n(6881),oe=n(6828),ot=n(1956),on=n(3635),oo=n(7839),or=n(2298);let oi={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},os={...oi,Promise};function oa(e,t={}){return of(e,t,oh)}async function ol(e,t={}){return op(e,t,oh)}function oc(e,t={}){return of(e,t,ow)}function ou(e,t={}){return op(e,t,ow)}function od(e,t={}){return of(e,t,o_)}function om(e,t={}){return op(e,t,o_)}function of(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=oS(t,oi),r=oy("string"==typeof e?(0,n7.A)(e):e,o);if(n(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function op(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=oS(t,os);return Promise.resolve(oy("string"==typeof e?(0,n7.A)(e):e,o)).then(t=>{if(n(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function og(e){return(0,n7.A)(e)}function oh(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function ow(e){return"boolean"==typeof e}function o_(e){return"number"==typeof e}function oy(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,s,a,l,c,u,d,m,f,p,g=e,h=t;let w=oy(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,y=t;switch(_.operator){case"&&":return oy(_.left,y)&&oy(_.right,y);case"||":return oy(_.left,y)||oy(_.right,y);case"??":return oy(_.left,y)??oy(_.right,y)}let v=oy(_.left,y),b=oy(_.right,y);switch(_.operator){case"+":return v+b;case"-":return v-b;case"*":return v*b;case"/":return v/b;case"%":return v%b;case"**":return v**b;case"==":return v==b;case"===":return v===b;case"!=":return v!=b;case"!==":return v!==b;case">":return v>b;case">=":return v>=b;case"<":return v<b;case"<=":return v<=b;case"in":return v in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return n=e,o=t,oy(n.test,o)?oy(n.consequent,o):oy(n.alternate,o);case"CallExpression":return oN(ob(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,n,o)=>{let r=e[o];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let n of Object.keys(t))if(!e(t[n]))return!1;return!0}if(Array.isArray(t)){for(let n of t)if(!e(n))break}return!1}(r)&&t.push([n,r]),t},[]));return oy(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return oN(ox(e,t));case"ArrayExpression":return s=e,a=t,s.elements?.map(oE(a));case"SequenceExpression":let S;return l=e,c=t,(S=l.expressions.map(oE(c)))[S.length-1];case"NewExpression":var k=e,j=t;if(k.callee&&"Identifier"===k.callee.type){let e=k.arguments?.map(oE(j));switch(k.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${k.callee.name}`}}if(k.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(oC(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,E;return m=e,f=t,N=m.expressions?.map(oE(f))??[],(E=m.quasis?.map(oE(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+N.join("")+E.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(p=e).cooked,tail:p.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function ov(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return ov(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function ob(e,t){let n=oj(e.callee,t);if(n===ok||e.optional&&null==n)return ok;let o=e.arguments?.map(oE(t));if(n){if("function"!=typeof n)throw`${oA(e.callee)} is not a function`}else throw`No function named ${oA(e.callee)} is defined in this context`;return n(...o)}function ox(e,t){let n=oj(e.object,t);if(n===ok||e.optional&&null==n)return ok;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${oI(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=ov(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${oI(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(oy(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);oC(o),function(e,t){if(oP.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function oS(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}n7.A.plugins.register(n9.A),n7.A.plugins.register(oe.A),n7.A.plugins.register(ot.A),n7.A.plugins.register(on.A),n7.A.plugins.register(oo.A),n7.A.plugins.register(or.A),n7.A.addBinaryOp("in",7),n7.A.addBinaryOp("??",1);let ok=Symbol("optional chain short-circuited");function oj(e,t){switch(e.type){case"MemberExpression":return ox(e,t);case"CallExpression":return ob(e,t);default:return oy(e,t)}}function oN(e){return e===ok?void 0:e}function oE(e){return function(t){return null===t?null:oy(t,e)}}function oC(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let oP=new Set(["toString","valueOf","hasOwnProperty"]);function oI(e,t){try{return ov(e,t)}catch{return"<computed>"}}function oA(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function oO(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...os},isLocalExpression:!1,variables:new Set};return oR("string"==typeof e?(0,n7.A)(e):e,t),[...t.variables]}function oR(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,oR(o.argument,r);case"BinaryExpression":return i=e,s=t,[oR(i.left,s),oR(i.right,s)].filter(Boolean);case"ConditionalExpression":return a=e,l=t,[oR(a.consequent,l),oR(a.test,l),oR(a.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=oR(c.callee,u),c.arguments?.map(o$(u)),n;case"ArrowFunctionExpression":var o,r,i,s,a,l,c,u,d,m,f,p,g,h,w,_,y=e,v=t;let b={...v};b.isLocalExpression=!0;let x=y.params?.map(o$(b))??[],S=oR(y.body,b)??[];if(S&&Array.isArray(S))for(let e of S)x.includes(e)||v.variables.add(e);return;case"MemberExpression":var k=e,j=t;if(oR(k.object,j),k.computed)return void oR(k.property,j);let N={...j};N.isLocalExpression=!0,oR(k.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(o$(m));case"SequenceExpression":return f=e,p=t,void f.expressions?.map(o$(p));case"NewExpression":return g=e,h=t,void g.arguments?.map(o$(h));case"Literal":case"TemplateElement":return;case"Identifier":var E=e,C=t;if(!(E.name in C.globals))if(C.isLocalExpression)return E.name;else C.variables.add(E.name);return;case"TemplateLiteral":return w=e,_=t,void(w.expressions?.map(o$(_)),w.quasis?.map(o$(_)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function o$(e){return function(t){return null===t?null:oR(t,e)}}let oT=M("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function oM(e,t,n){oT.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function oL(){let e=oT.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function oW(e){return oT.getState().flags[e].enabled}function oD(e,t){oT.subscribe(n=>{t(n.flags[e].enabled)})}function oU(e,t){oT.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}oT.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var oB=n(1216);let oF=R("extensionsInternal",{slots:{},extensions:{}}),oH=R("extensionRenderings",{renderings:new Map}),oV=()=>M("extensionsInternal",{slots:{},extensions:{}}),oG=()=>M("extensionRenderings",{renderings:new Map});function oz(e){let t=oF.getState(),n=e(t);n!==t&&oF.setState(n)}let oq=null,oJ=null;function oK(){let e=oH.getState();return oq&&e===oJ||(oq=new Map(e.renderings),oJ=e,function(e){for(let t of(o8.clear(),e.values()))o4(t,1);o3=!0}(oq)),oq}function oX(e){oJ={renderings:e},oH.setState(oJ,!0)}function oY(e){let t=oK();t.has(e.renderingId)||(t.set(e.renderingId,e),o4(e,1),oX(t))}function oZ(e){let t=oK(),n=t.get(e);n&&(t.delete(e),o4(n,-1),oX(t))}let oQ=()=>M("extensions",{slots:{}}),o0=0,o1=new Set;function o2(e){o0++;try{return e()}finally{if(0==--o0&&o1.size>0){let e=Array.from(o1);for(let t of(o1.clear(),e))o5(t)}}}function o5(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function o6(e){o0>0?o1.add(e):o5(e)}let o8=new Map,o3=!1;function o4(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=o8.get(n);if(!o){if(t<0)return;o8.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),o3=!0;return}o.count+=t,o.count<1&&(o8.delete(n),o3=!0)}function o7(){var e,t;if(oK(),!o3)return;o3=!1;let n=Array.from(o8.values(),({record:e})=>e);n.sort(o9),e=et.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===o9(e,t[n]))||et.setState({mountedExtensions:n})}function o9(e,t){return re(e.slotName,t.slotName)||re(e.extensionId,t.extensionId)||re(e.slotModuleName,t.slotModuleName)||re(e.extensionModuleName,t.extensionModuleName)}function re(e,t){return e===t?0:e<t?-1:1}o7(),oH.subscribe(()=>o6(o7));let rt=oV(),rn=oQ(),ro=eo(),rr=es(),ri=new Set,rs=!1;function ra(e){if(null===e)ri=null;else if(null!==ri)for(let t of e)ri.add(t);o6(rl)}function rl(){if(!rs){rs=!0;try{for(let e=1;;e++){let t=ri;if(null!==t&&0===t.size)return;ri=new Set;try{!function(e,t,n,o,r,i=null){let s=rn.getState().slots,a={},l=!1,c=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,u]of Object.entries(e.slots)){let d=s[o];if(d&&i&&!i.has(o)){a[o]=d;continue}let{config:m}=ei(t,u.name),f=function(e,t,n,o,r,i){let s=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=rt.getState(),s=new Set(o),a=[...t,...n].filter(e=>!s.has(e)),l=r_(r),c=r_(t),u=new Map(a.map(e=>[e,function(e,t,n,o){let r=t.get(e);if(void 0!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.get(e);return void 0!==t?2e3+t:3e3}}(e,l,i[rd(e)]?.order,c)]));return a.sort((e,t)=>u.get(e)-u.get(t))}(n,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=el(o,e,l),c=ec(n,e,l),u=c?(0,oB.A)({},s,c):s,d=rd(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tF(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(o,e,m,n,c,r.session);d&&d.moduleName===u.moduleName&&(0,F.A)(d.candidateExtensions,f)?a[o]=d:(a[o]={moduleName:u.moduleName,candidateExtensions:f},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&rn.setState({slots:a})}(rt.getState(),ro.getState(),rr.getState(),oT.getState(),tR.getState(),t)}catch(e){throw ri=null===t||null===ri?null:new Set([...t,...ri]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{rs=!1}}}function rc(e,t){let n=new Set;for(let o of Object.keys(e))e[o]!==t[o]&&n.add(o);for(let o of Object.keys(t))o in e||n.add(o);return n}function ru(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rd(e){let[t]=e.split("#");return t}function rm(e,t){let n=rd(t);return e.extensions[n]}function rf(e){return rm(rt.getState(),e)}rt.subscribe((e,t)=>{ra(e.extensions!==t.extensions?null:rc(e.slots,t.slots))}),ro.subscribe((e,t)=>{ra(rc(e.slots,t.slots))}),rr.subscribe((e,t)=>{ra(rc(e.configs,t.configs))}),oT.subscribe(()=>ra(null)),tR.subscribe(()=>ra(null)),ra(null);let rp=e=>oz(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function rg(e,t){oz(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...ru(e),attachedIds:[t]}}}})}function rh(e,t){oz(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function rw(e){oz(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function r_(e){let t=new Map;return e.forEach((e,n)=>{t.has(e)||t.set(e,n)}),t}function ry(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!oc(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(rv(e),t,tR.getState().session,e)}function rv(e){return rn.getState().slots[e]?.candidateExtensions??[]}let rb=(e,t)=>rt.setState(n=>{let o=n.slots[t]?.moduleName;if(o&&o!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${o}.`),n;if(o&&o==e)return n;if(n.slots[t])return{...n,slots:{...n.slots,[t]:{...n.slots[t],moduleName:e}}};let r=ru(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),rx=()=>{ri=null,oz(()=>({slots:{},extensions:{}})),oG().setState({renderings:new Map}),rn.setState({slots:{}})},rS=R("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rk({name:e,basePath:t,mode:n,componentContext:o,state:r}){rS.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function rj(e){rS.getState().slotName===e&&rS.setState(rS.getInitialState(),!0)}let rN=R("modalRegistry",{modals:{}});function rE(e){rN.setState(t=>(t.modals[e.name]=e,t))}function rC(e){let t=rN.getState().modals[e];if(!t){let n=rf(e);n&&(t={name:e,load:n.load,moduleName:n.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),rE(t))}return t}let rP=R("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],isMostRecentlyOpenedWindowHidden:!1});function rI(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=rP.getState(),o=t[e];if(o){let t=n[o.window];if(t)return t;throw Error(`No workspace window found with name: ${o.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rA(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=rP.getState(),o=n[e];if(o){let n=t[o.group];if(n)return n;throw Error(`No workspace group found with name: ${o.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rO(e){let{openedWindows:t}=rP.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rR(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=rP.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace group ${n.name} more than once`);o[n.name]={...n,moduleName:e}}rP.setState({registeredGroupsByName:o})}function r$(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=rP.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace window ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}rP.setState({registeredWindowsByName:o})}function rT(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=rP.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}rP.setState({registeredWorkspacesByName:o})}let rM=0,rL=null,rW={bootstrap:15e3,mount:15e3,unmount:15e3};function rD(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(rW).filter(t=>e[t]).map(o=>{var r,i;let s,a;return[o,(r=e[o],i=rW[o],s=Array.isArray(r)?r:[r],a=e=>s.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function rU(e,t){var n,o;let r,i,s,a,l,c=await (rL??(rL=new Promise((e,t)=>{(0,tc.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tc.xL))),rL),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>rD(e,n)):rD(e,n)),u),a=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&a(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rB(){return rF}function rF(e,t){let n,o=rU(e,t).then(e=>n=e);return{mount:()=>o.then(e=>e.mount()),unmount:()=>o.then(e=>e.unmount()),update:e=>o.then(t=>t.update?.(e)),getStatus:()=>n?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return o.then(e=>e.loadPromise)},get bootstrapPromise(){return o.then(e=>e.bootstrapPromise)},get mountPromise(){return o.then(e=>e.mountPromise)},get unmountPromise(){return o.then(e=>e.unmountPromise)}}}async function rH(e,t,n,o,r=e=>e,i={}){let s=rd(o),a=rf(o),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,f=rM++,p=`${t}/${o}-${f}`;e.dataset.extensionRenderingId=p;let g=e=>{try{oZ(p)}catch(t){console.error(e,t)}};try{oY({renderingId:p,extensionName:s,extensionModuleName:d,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw g(`Recomputing configuration after registering '${o}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await rU(r({...c,name:`${t}/${s}-${f}`}),{...i,_meta:u,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${o}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${o}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${o}' failed to unmount also failed`)})}else console.warn(`Tried to render ${o} into ${t} but no DOM element was available.`);return l}var rV=n(6925),rG=n.n(rV);let rz=(0,rV.createContext)({moduleName:"",featureName:""});function rq({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,rV.useEffect)(()=>{r.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${r.href}'`),r.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),rG().createElement("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),tw({to:e,templateParams:t})),0===o.button&&(o.ctrlKey||o.metaKey)&&n?.(o),0===o.button&&o.shiftKey&&n?.(o),1===o.button&&n?.(o)},href:tg(e,t),...r},o)}let rJ=({state:e,children:t,...n})=>{let{extension:o}=(0,rV.useContext)(rz),r=(0,rV.useRef)(null),i=(0,rV.useRef)(Promise.resolve()),s=(0,rV.useRef)(!1),a=(0,rV.useRef)(!1),l=(0,rV.useRef)(e),c=(0,rV.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),u=(0,rV.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,rV.useCallback)(t=>{t&&!r.current&&!a.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(a.current=!0,rH(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rV.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rV.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?rG().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function rK(e){let t=(0,rV.useRef)(e);return x(t.current,e)||(t.current=e),t.current}function rX(e,t){"function"==typeof t&&(t=t(e));let n={};for(let[o,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};n[o]=t}return n}let rY=e=>e;function rZ(e,t=rY,n){let o=(0,rV.useCallback)(t=>e.subscribe(t),[e]),r=(0,rV.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rV.useSyncExternalStore)(o,r,r),s=(0,rV.useMemo)(()=>n?rX(e,n):null,[e,n]);return(0,rV.useMemo)(()=>s?{...i,...s}:i,[i,s])}function rQ(e,t){return rZ(e,rY,t)}function r0(e){return function(t){let n=(0,rV.useCallback)(t=>e.subscribe(t),[]),o=(0,rV.useCallback)(()=>e.getState(),[]),r=(0,rV.useSyncExternalStore)(n,o,o),i=(0,rV.useMemo)(()=>t?rX(e,t):null,[t]);return(0,rV.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r1=[];Object.freeze(r1);let r2={candidateExtensions:r1};Object.freeze(r2);let r5=e=>{let t=(0,rV.useCallback)(t=>t.slots?.[e]??r2,[e]);return rZ(oQ(),t)},r6=e=>e.session;function r8(e,t){let{candidateExtensions:n}=r5(e),o=rZ(tR,r6),r=rK(t);return(0,rV.useMemo)(()=>ry(e,r),[e,r,o,n])}function r3(e,t){let{moduleName:n}=(0,rV.useContext)(rz);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rV.useEffect)(()=>{rb(n,e)},[n,e]),{extensions:r8(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function r4(e){return e}function r7({name:e,extensionSlotName:t,select:n=r4,children:o,state:r,style:i,...s}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rV.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r3(a,r),d=(0,rV.useMemo)(()=>n(c),[n,c]),m=(0,rV.useMemo)(()=>{if("function"==typeof o&&!rG().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return rG().createElement("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s},a&&d?.map((e,t)=>rG().createElement(rz.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof o?o:null)??rG().createElement(rJ,{state:r}))))}var r9=n(3776),ie=n(9568),it=n(9737),io=n(2324),ir=n(242);let ii={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},is=new Map;(0,ir.y)(is);let ia={errorRetryCount:3,fetcher:tA,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tO){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>is};function il(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},ii,e),n={...ia,...t.swrConfig};return function(e){var o,r,i,s,a;return i=r=class extends(o=rG().Component){componentDidCatch(e,n){n&&n.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:n.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:n})}render(){if(this.state.caughtError)return rG().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=rG().createElement(rV.Suspense,{fallback:null},rG().createElement(io.S,{value:n},rG().createElement(rz.Provider,{value:this.state.config},t.disableTranslations?rG().createElement(e,this.props):rG().createElement(it.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},rG().createElement(e,this.props)))));return t.strictMode&&rG().StrictMode?rG().createElement(rG().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},s="displayName",a=`OpenmrsReactComponent(${t.featureName})`,s in i?Object.defineProperty(i,s,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[s]=a,r}}function ic(e,t){return(0,ie.A)({React:rG(),ReactDOMClient:r9,rootComponent:il(t)(e)})}function iu(e,t){return()=>e().then(({default:e})=>ic(e,t))}function id(e,t){return()=>Promise.resolve(ic(e,t))}let im=iu,ip=(0,E.y)()(()=>({}));T("openmrs-app-context",ip);let ig={};function ih(e,t=e=>e){let n=ip.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function iw(e,t){ip.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function i_(e){return null===e?null:Object.freeze(Object.assign({},e))}let iy=new Map;function iv(e,t){let n=(0,rV.useRef)(t??{}),o=(0,rV.useRef)(t=>iw(e,t)),r=(0,rV.useRef)(Symbol());return(0,rV.useEffect)(()=>{let n=t??{},o=r.current;return null===ih(e)?!function(e,t=ig){ip.setState(n=>{if(e in n)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},n,{[e]:t===ig?{}:t})})}(e,n):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),iw(e,()=>n)),iy.set(e,o),()=>{iy.get(e)===o&&(ip.setState(t=>(e in t&&delete t[e],t)),iy.delete(e))}},[e]),(0,rV.useEffect)(()=>{let o=t??{};x(n.current,o)||(iw(e,()=>o),n.current=o)},[t]),o.current}function ib({namespace:e,value:t}){return iv(e,t),null}let ix=({children:e,value:t,fallback:n})=>t?rG().createElement(rG().Fragment,null,e):n?rG().createElement(rG().Fragment,null,n):null;function iS(){let e=(0,rV.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rV.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function ik(e,t=e=>e??{}){let[n,o]=(0,rV.useState)(()=>{if(ij(e))return;let n=ih(e);if(null!==n)return t?t(n):n});return(0,rV.useEffect)(()=>{if(ij(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rV.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>x(e,n)?e:n)})(i_(r=ih(e))),ip.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(i_(o)))})},[e,t]),n}function ij(e){return"string"!=typeof e||0===e.trim().length}function iN(e){let t=r8(e);return(0,rV.useMemo)(()=>t.map(e=>e.id),[t])}function iE(e){return r5(e).candidateExtensions}function iC(e,t,n){let{data:o,error:r,mutate:i,isLoading:s,isValidating:a}=(0,io.u)(e?nF(e,t,n):null,tA);return(0,rV.useMemo)(()=>({isLoading:s,data:o?.data.results??[],error:r,mutate:i,isValidating:a}),[o,r,s,a,i])}function iP(e){(0,rV.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iI={},iA=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
- Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iO(e){let{moduleName:t,extension:n}=(0,rV.useContext)(rz),o=e?.externalModuleName??t;if(!o&&!n)throw Error(iA);let r=function(e){let t=(0,rV.useMemo)(()=>en(e),[e]),n=function(e){let[t,n]=(0,rV.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rV.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw iI[e]||(iI[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),iI[e];return n}(o),i=function(e){let t=(0,rV.useMemo)(es,[]),n=function(e,t){let[n,o]=(0,rV.useState)(t?()=>{let n=el(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,rV.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=el(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,F.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!iI[n]&&t&&(iI[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=el(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),iI[n]}return n||{}}(n);return(0,rV.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let iR=r8;function i$(e,t=300){let[n,o]=(0,rV.useState)(e);return(0,rV.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var iT=n(6269);let iM=`custom:${[["admissionDecisionConcept","ref"],["admissionEncounterType","ref"],["admissionForm","ref"],["atFacilityVisitType","ref"],["bedAssignmentEncounterType","ref"],["cancelADTRequestEncounterType","ref"],["checkInClerkEncounterRole","ref"],["checkInEncounterType","ref"],["clinicianEncounterRole","ref"],["conceptSourcesForDiagnosisSearch","ref"],["consultEncounterType","ref"],["consultFreeTextCommentsConcept","ref"],["denyAdmissionConcept","ref"],["diagnosisMetadata","ref"],["diagnosisSets","ref"],["dischargeForm","ref"],["dispositionDescriptor","ref"],["dispositions","ref"],["emrApiConceptSource","ref"],["exitFromInpatientEncounterType","ref"],["extraPatientIdentifierTypes","ref"],["fullPrivilegeLevel","ref"],["highPrivilegeLevel","ref"],["identifierTypesToSearch","ref"],["inpatientNoteEncounterType","ref"],["lastViewedPatientSizeLimit","ref"],["metadataSourceName","ref"],["motherChildRelationshipType","ref"],["narrowerThanConceptMapType","ref"],["nonDiagnosisConceptSets","ref"],["orderingProviderEncounterRole","ref"],["patientDiedConcept","ref"],["personImageDirectory","ref"],["primaryIdentifierType","ref"],["sameAsConceptMapType","ref"],["suppressedDiagnosisConcepts","ref"],["supportsAdmissionLocationTag","(uuid,display,name,links)"],["supportsLoginLocationTag","(uuid,display,name,links)"],["supportsTransferLocationTag","(uuid,display,name,links)"],["supportsVisitsLocationTag","(uuid,display,name,links)"],["telephoneAttributeType","ref"],["testPatientPersonAttributeType","ref"],["transferForm","ref"],["transferRequestEncounterType","ref"],["transferWithinHospitalEncounterType","ref"],["unknownCauseOfDeathConcept","ref"],["unknownLocation","ref"],["unknownPatientPersonAttributeType","ref"],["unknownProvider","ref"],["visitAssignmentHandlerAdjustEncounterTimeOfDayIfNecessary","ref"],["visitExpireHours","ref"],["visitNoteEncounterType","ref"]].map(([e,t])=>`${e}:${t}`).join(",")}`;function iL(){let e=`${tE}/emrapi/configuration?v=${iM}`,t=(0,iT.A)(e,tA);return(0,rV.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iW(){return(0,rV.useContext)(rz).extension}let iD=r0(oV());function iU(e){let t=r8(e);return(0,rV.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iB=r0(oQ());function iF(e){let{flags:t}=rZ(oT);return t[e]?.enabled??!1}function iH(){let[,e]=(0,rV.useState)(0);return(0,rV.useCallback)(()=>{e(e=>e+1)},[])}function iV(e,t,n={}){return iz(e,t,iG,n)}let iG={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tI(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iz(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tA,[d,m]=(0,rV.useState)(1),f=(0,rV.useRef)(NaN),p=(0,rV.useRef)(NaN),g=(0,rV.useRef)(d),h=(0,rV.useRef)(!1),w=(0,rV.useRef)(!1),_=e?.toString()??"",[y,v]=(0,rV.useState)(_);_!==y&&(v(_),m(1),g.current=1,f.current=NaN,p.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,rV.useMemo)(()=>r(e,t,b),[e,t,b]),{data:S,...k}=(l?iT.A:io.u)(x,u,c);S?.data&&(f.current=i(S?.data),p.current=s(S?.data),h.current=!0);let j=Math.ceil(f.current/t),N=(0,rV.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(f.current/t);!h.current||Number.isNaN(n)||e<=n?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rV.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(f.current)){w.current||(w.current=!0,console.warn(`useServerPagination: ${_} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,_,S]);let E=(0,rV.useCallback)(()=>{N(g.current+1)},[N]),C=(0,rV.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(S?.data),totalPages:j,totalCount:f.current,currentPage:d,currentPageSize:p.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:E,goToPrevious:C,...k}}function iq(e,t,n={}){return iz(e,t,iJ(),n)}function iJ(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tI(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var iK=n(3709);function iX(e,t={}){return iY(e,iG,t)}function iY(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=n.fetcher??tA,c=(0,rV.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...f}=(0,iK.Ay)(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),p=i(u?.[u.length-1].data),g=s(u?.[0]?.data);return{data:u?.flatMap(e=>a(e.data)),totalCount:g,hasMore:null!=p,loadMore:()=>{m((u?.length??0)+1)},nextUri:p,...f}}function iZ(e,t={}){return iQ(e,iG,t)}function iQ(e,t,n={}){let o=iY(e,t,n),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=o;return((0,rV.useEffect)(()=>{r&&!i&&a()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:s,isLoading:l||r}}function i0(e,t={}){return iQ(e,iJ(),t)}function i1(e,t={}){return iY(e,iJ(),t)}function i2(){let e="tablet";return document.body.classList.forEach(t=>{switch(t){case"omrs-breakpoint-lt-tablet":e="phone";break;case"omrs-breakpoint-gt-small-desktop":e="large-desktop";break;case"omrs-breakpoint-gt-tablet":e="small-desktop"}}),e}function i5(){let[e,t]=(0,rV.useState)(i2);return(0,rV.useEffect)(()=>{let e=()=>{t(i2())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i6=e=>"small-desktop"===e||"large-desktop"===e;function i8(e){let t=(0,rV.useContext)(rz);(0,rV.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rk(e),()=>{rj(e.name)}),[t,e])}function i3(){return rZ(rS)}let i4=[];function i7(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString(),{data:r}=iZ(`${tE}/location${o?"?"+o:""}`,{immutable:!0});return r??i4}function i9(e,t=!0){let n=(0,rV.useRef)(null);return(0,rV.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function se(e){let t=(0,rV.useRef)();return(0,rV.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function st(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,s=iS(),a=(0,rV.useMemo)(()=>o?.signal??n?.signal??s.signal,[n?.signal,o?.signal,s.signal]),l=(0,rV.useCallback)(e=>tA(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:a}),[a,o,r]);return(0,io.u)(e,l,i)}function sn(e=[],t=10){let[n,o]=(0,rV.useState)(1),r=(0,rV.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),s=(0,rV.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),a=(0,rV.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,rV.useCallback)(()=>{o(e=>e+1)},[]),c=(0,rV.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,rV.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function so(e,t,n,o){return{pageSizes:(0,rV.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rV.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function sr(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function si(e){let[t,n]=(0,rV.useState)(e??sr()),{data:o,error:r,isValidating:i}=(0,io.u)(t?["patient",t]:null,()=>nG(t,{}));return(0,rV.useEffect)(()=>{let e=()=>{let e=sr();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rV.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function ss(){let e=`${tE}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=(0,io.u)(e,tA);return(0,rV.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function sa(e){let{extensions:t,extensionSlotModuleName:n}=r3(e);return e?t.map(t=>({state:o})=>rG().createElement(rz.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n,extensionMeta:t.meta}}},rG().createElement(rJ,{state:o}))):[]}function sl(){let e=(0,rV.useRef)(),[t,n]=(0,rV.useState)(null),o=null;if(!t){if(i){let e=tW().getState();e.loaded&&(o=e.session)}else i=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tW().getState()),o||(e.current=tW().subscribe(n))});if(o)n(o);else throw i}(0,rV.useEffect)(()=>(e.current||(e.current=tW().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let r=t||o;if(!r)if(i)throw console.warn("useSession is in an unexpected state. Attempting to recover."),i;else throw Error("useSession is in an invalid state.");return r}let sc=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,rV.useState)(null);return((0,rV.useEffect)(()=>{let e=tW(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:n,session:o}=e.getState();return n&&r(o?.user??null),t},[]),o&&tF(e,o))?rG().createElement(rG().Fragment,null,n):t?rG().createElement(rG().Fragment,null,t):null};var su=n(4343),sd=n.n(su),sm=n(3355);let sf=new Map;function sp(){for(let e of Array.from(sf.values()))e()}let sg={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sh(e){let t=(0,rV.useId)();return(0,rV.useEffect)(()=>{if(e)return sf.set(t,e),()=>{sf.delete(t)}},[t,e]),{...rQ(n5(),sg),mutateVisit:sp}}function sw(e,t=n1){let n=(0,rV.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sh((0,rV.useCallback)(()=>n.current?.(),[])),s=e&&o==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,io.u)(e?`${tE}/visit${a}`:null,tA),{data:f,error:p,mutate:g,isValidating:h}=(0,io.u)(e&&s?`${tE}/visit${l}`:null,tA),w=(0,rV.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,rV.useMemo)(()=>s&&f?f.data:null,[f,s]),y=(0,rV.useRef)(null);(0,rV.useEffect)(()=>{!m&&w&&o===e&&null===r&&i(w),h||(y.current&&_&&y.current.uuid===_.uuid&&!y.current.stopDatetime&&_.stopDatetime&&i(null),y.current=_)},[_,r,w,m,h,o]);let v=(0,rV.useCallback)(()=>{d(),g()},[d,g]);(0,rV.useEffect)(()=>{n.current=v},[v]);let b=!!(!c||s&&!f),x=!!(s?p:u);return{error:u||p,mutate:v,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!s,isLoading:b&&!x}}su.extend(sm);let s_=[];function sy(){let{data:e}=(0,iT.A)(nY,nZ);return e??s_}let sv=new Map;async function sb(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,s=await ng(r);return s&&Object.hasOwn(s,i)&&"function"==typeof s[i]?sS(r,s).then(()=>s[i]()):(s?s&&Object.hasOwn(s,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${r} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${r} for ${t} defined in ${e}'s routes.json`),sx)}let sx={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sS(e,t){if(e in sv)await sv[e];else{let n=t??await ng(e);await (sv[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eO(e),t(null)}).catch(o)}eO(e),t(null)}))}}function sk(e,t){let n=t.name;if(!n)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
15
+ ${this.stack}`}}let tA=R("session",{loaded:!1,session:null}),tO=0,tR=null;function t$(){return tR||(tA.getState().loaded&&tO>=Date.now()-6e4?null:tW())}function tT(e){let t=e?.includeAuthStatus??!0,n=e=>t?e:e.user,o=t$();return o?new Promise(e=>{let t=()=>{let t=tA.getState();t.loaded&&(r(),e(n(t.session)))},r=tA.subscribe(t);o.then(t,t)}):Promise.resolve(n(tA.getState().session))}function tM(){return t$(),tA}function tL(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tW(e,t){tO=Date.now(),r??(r=tO);let n={};e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let o=tJ(tP(tE,{headers:n,rejectAuthFailure:!0})),i=()=>{tR===o&&(tR=null)};return o.then(i,i),tR=o,o}function tD(){tA.setState({loaded:!0,session:{authenticated:!1,sessionId:""}},!0)}function tU(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,D.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,D.A)(o.privileges.find(t=>e===t.display))):((0,D.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,D.A)(t.roles.find(e=>"System Developer"===e.display))}function tB(){let e,t;return new Promise(n=>{let o=o=>{o.loaded&&o.session.user&&(e=o.session.user,n(o.session.user),t&&t())};o(tA.getState()),e||(t=tA.subscribe(o))})}async function tF(){return(await tT()).sessionLocation}async function tH(e,t){return tJ(tP(tE,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tV(e,t){return await tP(tE,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tW()}async function tG(e,t,n){return n||(n=new AbortController),await tP(`${tj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}async function tz(e,t=!1){let n=await tP(t?`${tE}?rememberMe=true`:tE,{headers:{"X-Totp-Code":e}});return n.data?.authenticated?(await tW()).session:n.data}async function tq(){try{await tP(tE,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tK(e))throw e}tD(),await tW().catch(()=>{})}function tJ(e){return new Promise((t,n)=>{e.then(e=>{if("object"==typeof e?.data){let n={loaded:!0,session:e.data};tA.setState(n,!0),t(n)}else!function(e){if(!e?.redirected||!e.url)return!1;try{return new URL(e.url,window.location.href).pathname.replace(/\/+$/,"").endsWith("/initialsetup")}catch{return!1}}(e)?n(tX(Error("The session endpoint did not respond with a session"))):n(tX(Error("The server is still starting up"),!0))}).catch(e=>{var o,i;if(tK(e)){"object"==typeof(o=e.responseBody)&&null!==o&&!1===o.authenticated?tA.setState({loaded:!0,session:e.responseBody},!0):tD(),t(tA.getState());return}(i=e)instanceof tI&&502===i.response.status&&!tA.getState().loaded&&void 0!==r&&Date.now()-r<18e4?n(tX(e,!0)):(v(`Failed to fetch new session information: ${e}`),n(tX(e)))})})}function tK(e){return e instanceof tI&&(401===e.response.status||403===e.response.status)}function tX(e,t=!1){return tA.getState().loaded||tA.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e)),initializing:t},!0),tA.getState()}function tY(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tA.subscribe(e=>{e.loaded&&e.session&&tL(e.session)});let tZ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tQ(){eP("@openmrs/esm-api",tS),tW()}let t0="import-map-override:",t1="import-map-overrides-disabled",t2="import-map-overrides:change",t5=!1,t6=null,t8=null;async function t3(){return t8??(t8=t4().then(({map:e,complete:t})=>(t||(t8=null),e))),t8}async function t4(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){n=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${o}`,e)}}return{map:t7(t),complete:n}}function t7(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t9(){let e={};try{let t=nr();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(t0)){let n=o.slice(t0.length);if(!t.includes(n)){let t=localStorage.getItem(o);t&&(e[n]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function ne(){let e=await t3();return t5?t7([e,t6??t9()]):e}async function nt(){return t3()}async function nn(){return t5?t7([await t3(),t9()]):t3()}function no(e){if(!t5)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(t0)){let t=localStorage.getItem(n);t&&(e[n.slice(t0.length)]=t)}}return{imports:e}}return t9()}function nr(){if(!t5)return[];try{let e=localStorage.getItem(t1);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function ni(e){return!!t5&&nr().includes(e)}function ns(e,t){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(t0+e,t),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function na(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(t0+e);let t=nr().filter(t=>t!==e);t.length>0?localStorage.setItem(t1,JSON.stringify(t)):localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function nl(){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(t0)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nc(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=nr().filter(t=>t!==e);t.length>0?localStorage.setItem(t1,JSON.stringify(t)):localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nu=!1;function nd(){!nu&&(nu=!0,(t5="development"===window.spaEnv)&&(t6=t9()))}function nm(e){return e.replace(/[\/\-@]/g,"_")}async function nf(e,t="./start",o){var r;let i,s=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([np(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=s)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},s)})]),i&&clearTimeout(i);let a=nm(e),l=window[a];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${a} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function np(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=nm(e);if(!window[n]){let n=t??await ng();if(!n.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let o=n.imports[e];o.startsWith("./")&&(o=window.spaBase+o.substring(1));let r=e in no().imports;try{return await function(e){var t;let n=(t=window)[nh]??(t[nh]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function s(){clearTimeout(i),r.removeEventListener("load",a),r.removeEventListener("error",l)}function a(){s(),t()}function l(t){s(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&f({kind:"error",title:tm("scriptLoadingFailed","Error: Script failed to load"),description:tm("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tm("resetOverrides","Reset overrides"),onActionButtonClick(){nl(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function ng(){return ne()}let nh=Symbol.for("__openmrs_script_loading");function nw(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals))||Object.hasOwn(e,"workspaces2")&&(!e.workspaces2||!Array.isArray(e.workspaces2))||Object.hasOwn(e,"workspaceWindows2")&&(!e.workspaceWindows2||!Array.isArray(e.workspaceWindows2))||Object.hasOwn(e,"workspaceGroups2")&&(!e.workspaceGroups2||!Array.isArray(e.workspaceGroups2)))}function n_(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&nw(t))}let nv="openmrs-routes:",ny="openmrs-routes:change",nb=!1,nx=null,nS=null;async function nk(){return nS??(nS=nj().then(({map:e,complete:t})=>(t||(nS=null),e))),nS}async function nj(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&n_(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nN(t),complete:n}}function nN(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nE(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let n=localStorage.key(e);if(n?.startsWith(nv)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(nv.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(nw(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(nw(o))return{moduleName:e,routes:o};throw Error(`${n} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===n.status?e.routes[n.value.moduleName]=n.value.routes:console.warn("[route-maps] Failed to load route override",n.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function nC(){let e=await nk();return nb?nN([e,nx??await nE()]):e}async function nP(){return nk()}async function nI(){return nb?nN([await nk(),await nE()]):nk()}function nA(){if(!nb)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(nv)){let t=localStorage.getItem(n);t&&(e[n.slice(nv.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nO(e,t){if(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(nv+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!nw(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(nv+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(nv+e,JSON.stringify(t.toString()));else{if(!nw(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(nv+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nR(e){if(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(nv+e),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function n$(){if(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(nv)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let nT=null;function nM(){return nT||(nT=(nb="development"===window.spaEnv)?nE().then(e=>{nx=e}):Promise.resolve())}let nL=`${tj}/attachment`;function nW(e,t){return tP(`${nL}/${e}`,{signal:t.signal})}function nD(e,t,n,o){return tP(nU(e,t,o),{signal:n.signal})}function nU(e,t,n){return n?`${nL}?patient=${e}&encounter=${n}`:`${nL}?patient=${e}&includeEncounterless=${t}`}async function nB(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tP(`${nL}`,{method:"POST",body:o})}function nF(e,t){return tP(`${nL}/${e}`,{method:"DELETE",signal:t.signal})}async function nH(e,t){return e?(await tP(`${tN}/Patient/${e}`,t)).data:null}function nV(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function nG(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}function nz(e){return{uuid:e.uuid,display:e.display}}function nq(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tP(`${tj}/location${o?"?"+o:""}`).then(e=>e.data.results.map(nz))}function nJ(e){return{uuid:e.uuid,display:e.display,name:e.name}}let nK=`${tj}/visittype`;function nX(e=nK){return tP(e).then(e=>e.data.results.map(nJ))}var nY=((k={}).NEWVISIT="startVisit",k.EDITVISIT="editVisit",k.LOADING="loadingVisit",k),nZ=((j={}).NOTSTARTED="notStarted",j.ONGOING="ongoing",j);let nQ="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",n0=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function n1(){return M("visit",n0)}function n2(e,t){n1().setState({patientUuid:e,manuallySetVisitUuid:t})}function n5(e,t){return tP(`${tj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function n6(e,t,n){return tP(`${tj}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function n8(e,t,n){return tP(`${tj}/visit?patient=${e}&v=${n??nQ}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}n1().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var n3=n(9225),n4=n(6881),n7=n(6828),n9=n(1956),oe=n(3635),ot=n(7839),on=n(2298);let oo={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},or={...oo,Promise};function oi(e,t={}){return od(e,t,op)}async function os(e,t={}){return om(e,t,op)}function oa(e,t={}){return od(e,t,og)}function ol(e,t={}){return om(e,t,og)}function oc(e,t={}){return od(e,t,oh)}function ou(e,t={}){return om(e,t,oh)}function od(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ob(t,oo),r=ow("string"==typeof e?(0,n3.A)(e):e,o);if(n(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function om(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ob(t,or);return Promise.resolve(ow("string"==typeof e?(0,n3.A)(e):e,o)).then(t=>{if(n(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function of(e){return(0,n3.A)(e)}function op(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function og(e){return"boolean"==typeof e}function oh(e){return"number"==typeof e}function ow(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,s,a,l,c,u,d,m,f,p,g=e,h=t;let w=ow(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,v=t;switch(_.operator){case"&&":return ow(_.left,v)&&ow(_.right,v);case"||":return ow(_.left,v)||ow(_.right,v);case"??":return ow(_.left,v)??ow(_.right,v)}let y=ow(_.left,v),b=ow(_.right,v);switch(_.operator){case"+":return y+b;case"-":return y-b;case"*":return y*b;case"/":return y/b;case"%":return y%b;case"**":return y**b;case"==":return y==b;case"===":return y===b;case"!=":return y!=b;case"!==":return y!==b;case">":return y>b;case">=":return y>=b;case"<":return y<b;case"<=":return y<=b;case"in":return y in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return n=e,o=t,ow(n.test,o)?ow(n.consequent,o):ow(n.alternate,o);case"CallExpression":return ok(ov(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,n,o)=>{let r=e[o];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let n of Object.keys(t))if(!e(t[n]))return!1;return!0}if(Array.isArray(t)){for(let n of t)if(!e(n))break}return!1}(r)&&t.push([n,r]),t},[]));return ow(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return ok(oy(e,t));case"ArrayExpression":return s=e,a=t,s.elements?.map(oj(a));case"SequenceExpression":let S;return l=e,c=t,(S=l.expressions.map(oj(c)))[S.length-1];case"NewExpression":var k=e,j=t;if(k.callee&&"Identifier"===k.callee.type){let e=k.arguments?.map(oj(j));switch(k.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${k.callee.name}`}}if(k.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(oN(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,E;return m=e,f=t,N=m.expressions?.map(oj(f))??[],(E=m.quasis?.map(oj(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+N.join("")+E.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(p=e).cooked,tail:p.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function o_(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return o_(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function ov(e,t){let n=oS(e.callee,t);if(n===ox||e.optional&&null==n)return ox;let o=e.arguments?.map(oj(t));if(n){if("function"!=typeof n)throw`${oP(e.callee)} is not a function`}else throw`No function named ${oP(e.callee)} is defined in this context`;return n(...o)}function oy(e,t){let n=oS(e.object,t);if(n===ox||e.optional&&null==n)return ox;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${oC(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=o_(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${oC(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(ow(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);oN(o),function(e,t){if(oE.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function ob(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}n3.A.plugins.register(n4.A),n3.A.plugins.register(n7.A),n3.A.plugins.register(n9.A),n3.A.plugins.register(oe.A),n3.A.plugins.register(ot.A),n3.A.plugins.register(on.A),n3.A.addBinaryOp("in",7),n3.A.addBinaryOp("??",1);let ox=Symbol("optional chain short-circuited");function oS(e,t){switch(e.type){case"MemberExpression":return oy(e,t);case"CallExpression":return ov(e,t);default:return ow(e,t)}}function ok(e){return e===ox?void 0:e}function oj(e){return function(t){return null===t?null:ow(t,e)}}function oN(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let oE=new Set(["toString","valueOf","hasOwnProperty"]);function oC(e,t){try{return o_(e,t)}catch{return"<computed>"}}function oP(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function oI(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...or},isLocalExpression:!1,variables:new Set};return oA("string"==typeof e?(0,n3.A)(e):e,t),[...t.variables]}function oA(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,oA(o.argument,r);case"BinaryExpression":return i=e,s=t,[oA(i.left,s),oA(i.right,s)].filter(Boolean);case"ConditionalExpression":return a=e,l=t,[oA(a.consequent,l),oA(a.test,l),oA(a.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=oA(c.callee,u),c.arguments?.map(oO(u)),n;case"ArrowFunctionExpression":var o,r,i,s,a,l,c,u,d,m,f,p,g,h,w,_,v=e,y=t;let b={...y};b.isLocalExpression=!0;let x=v.params?.map(oO(b))??[],S=oA(v.body,b)??[];if(S&&Array.isArray(S))for(let e of S)x.includes(e)||y.variables.add(e);return;case"MemberExpression":var k=e,j=t;if(oA(k.object,j),k.computed)return void oA(k.property,j);let N={...j};N.isLocalExpression=!0,oA(k.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(oO(m));case"SequenceExpression":return f=e,p=t,void f.expressions?.map(oO(p));case"NewExpression":return g=e,h=t,void g.arguments?.map(oO(h));case"Literal":case"TemplateElement":return;case"Identifier":var E=e,C=t;if(!(E.name in C.globals))if(C.isLocalExpression)return E.name;else C.variables.add(E.name);return;case"TemplateLiteral":return w=e,_=t,void(w.expressions?.map(oO(_)),w.quasis?.map(oO(_)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function oO(e){return function(t){return null===t?null:oA(t,e)}}let oR=M("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function o$(e,t,n){oR.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function oT(){let e=oR.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function oM(e){return oR.getState().flags[e].enabled}function oL(e,t){oR.subscribe(n=>{t(n.flags[e].enabled)})}function oW(e,t){oR.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}oR.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var oD=n(1216);let oU=R("extensionsInternal",{slots:{},extensions:{}}),oB=R("extensionRenderings",{renderings:new Map}),oF=()=>M("extensionsInternal",{slots:{},extensions:{}}),oH=()=>M("extensionRenderings",{renderings:new Map});function oV(e){let t=oU.getState(),n=e(t);n!==t&&oU.setState(n)}let oG=null,oz=null;function oq(){let e=oB.getState();return oG&&e===oz||(oG=new Map(e.renderings),oz=e,function(e){for(let t of(o5.clear(),e.values()))o8(t,1);o6=!0}(oG)),oG}function oJ(e){oz={renderings:e},oB.setState(oz,!0)}function oK(e){let t=oq();t.has(e.renderingId)||(t.set(e.renderingId,e),o8(e,1),oJ(t))}function oX(e){let t=oq(),n=t.get(e);n&&(t.delete(e),o8(n,-1),oJ(t))}let oY=()=>M("extensions",{slots:{}}),oZ=0,oQ=new Set;function o0(e){oZ++;try{return e()}finally{if(0==--oZ&&oQ.size>0){let e=Array.from(oQ);for(let t of(oQ.clear(),e))o1(t)}}}function o1(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function o2(e){oZ>0?oQ.add(e):o1(e)}let o5=new Map,o6=!1;function o8(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=o5.get(n);if(!o){if(t<0)return;o5.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),o6=!0;return}o.count+=t,o.count<1&&(o5.delete(n),o6=!0)}function o3(){var e,t;if(oq(),!o6)return;o6=!1;let n=Array.from(o5.values(),({record:e})=>e);n.sort(o4),e=et.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===o4(e,t[n]))||et.setState({mountedExtensions:n})}function o4(e,t){return o7(e.slotName,t.slotName)||o7(e.extensionId,t.extensionId)||o7(e.slotModuleName,t.slotModuleName)||o7(e.extensionModuleName,t.extensionModuleName)}function o7(e,t){return e===t?0:e<t?-1:1}o3(),oB.subscribe(()=>o2(o3));let o9=oF(),re=oY(),rt=eo(),rn=es(),ro=new Set,rr=!1;function ri(e){if(null===e)ro=null;else if(null!==ro)for(let t of e)ro.add(t);o2(rs)}function rs(){if(!rr){rr=!0;try{for(let e=1;;e++){let t=ro;if(null!==t&&0===t.size)return;ro=new Set;try{!function(e,t,n,o,r,i=null){let s=re.getState().slots,a={},l=!1,c=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,u]of Object.entries(e.slots)){let d=s[o];if(d&&i&&!i.has(o)){a[o]=d;continue}let{config:m}=ei(t,u.name),f=function(e,t,n,o,r,i){let s=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=o9.getState(),s=new Set(o),a=[...t,...n].filter(e=>!s.has(e)),l=rh(r),c=rh(t),u=new Map(a.map(e=>[e,function(e,t,n,o){let r=t.get(e);if(void 0!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.get(e);return void 0!==t?2e3+t:3e3}}(e,l,i[rc(e)]?.order,c)]));return a.sort((e,t)=>u.get(e)-u.get(t))}(n,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=ea(o,e,l),c=el(n,e,l),u=c?(0,oD.A)({},s,c):s,d=rc(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tU(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(o,e,m,n,c,r.session);d&&d.moduleName===u.moduleName&&(0,F.A)(d.candidateExtensions,f)?a[o]=d:(a[o]={moduleName:u.moduleName,candidateExtensions:f},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&re.setState({slots:a})}(o9.getState(),rt.getState(),rn.getState(),oR.getState(),tA.getState(),t)}catch(e){throw ro=null===t||null===ro?null:new Set([...t,...ro]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{rr=!1}}}function ra(e,t){let n=new Set;for(let o of Object.keys(e))e[o]!==t[o]&&n.add(o);for(let o of Object.keys(t))o in e||n.add(o);return n}function rl(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rc(e){let[t]=e.split("#");return t}function ru(e,t){let n=rc(t);return e.extensions[n]}function rd(e){return ru(o9.getState(),e)}o9.subscribe((e,t)=>{ri(e.extensions!==t.extensions?null:ra(e.slots,t.slots))}),rt.subscribe((e,t)=>{ri(ra(e.slots,t.slots))}),rn.subscribe((e,t)=>{ri(ra(e.configs,t.configs))}),oR.subscribe(()=>ri(null)),tA.subscribe(()=>ri(null)),ri(null);let rm=e=>oV(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function rf(e,t){oV(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...rl(e),attachedIds:[t]}}}})}function rp(e,t){oV(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function rg(e){oV(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function rh(e){let t=new Map;return e.forEach((e,n)=>{t.has(e)||t.set(e,n)}),t}function rw(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!oa(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(r_(e),t,tA.getState().session,e)}function r_(e){return re.getState().slots[e]?.candidateExtensions??[]}let rv=(e,t)=>o9.setState(n=>{let o=n.slots[t]?.moduleName;if(o&&o!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${o}.`),n;if(o&&o==e)return n;if(n.slots[t])return{...n,slots:{...n.slots,[t]:{...n.slots[t],moduleName:e}}};let r=rl(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),ry=()=>{ro=null,oV(()=>({slots:{},extensions:{}})),oH().setState({renderings:new Map}),re.setState({slots:{}})},rb=R("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rx({name:e,basePath:t,mode:n,componentContext:o,state:r}){rb.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function rS(e){rb.getState().slotName===e&&rb.setState(rb.getInitialState(),!0)}let rk=R("modalRegistry",{modals:{}});function rj(e){rk.setState(t=>(t.modals[e.name]=e,t))}function rN(e){let t=rk.getState().modals[e];if(!t){let n=rd(e);n&&(t={name:e,load:n.load,moduleName:n.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),rj(t))}return t}let rE=R("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],isMostRecentlyOpenedWindowHidden:!1});function rC(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=rE.getState(),o=t[e];if(o){let t=n[o.window];if(t)return t;throw Error(`No workspace window found with name: ${o.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rP(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=rE.getState(),o=n[e];if(o){let n=t[o.group];if(n)return n;throw Error(`No workspace group found with name: ${o.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rI(e){let{openedWindows:t}=rE.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rA(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=rE.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace group ${n.name} more than once`);o[n.name]={...n,moduleName:e}}rE.setState({registeredGroupsByName:o})}function rO(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=rE.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace window ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}rE.setState({registeredWindowsByName:o})}function rR(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=rE.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}rE.setState({registeredWorkspacesByName:o})}let r$=0,rT=null,rM={bootstrap:15e3,mount:15e3,unmount:15e3};function rL(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(rM).filter(t=>e[t]).map(o=>{var r,i;let s,a;return[o,(r=e[o],i=rM[o],s=Array.isArray(r)?r:[r],a=e=>s.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function rW(e,t){var n,o;let r,i,s,a,l,c=await (rT??(rT=new Promise((e,t)=>{(0,ta.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),ta.xL))),rT),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>rL(e,n)):rL(e,n)),u),a=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&a(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rD(){return rU}function rU(e,t){let n,o=rW(e,t).then(e=>n=e);return{mount:()=>o.then(e=>e.mount()),unmount:()=>o.then(e=>e.unmount()),update:e=>o.then(t=>t.update?.(e)),getStatus:()=>n?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return o.then(e=>e.loadPromise)},get bootstrapPromise(){return o.then(e=>e.bootstrapPromise)},get mountPromise(){return o.then(e=>e.mountPromise)},get unmountPromise(){return o.then(e=>e.unmountPromise)}}}async function rB(e,t,n,o,r=e=>e,i={}){let s=rc(o),a=rd(o),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,f=r$++,p=`${t}/${o}-${f}`;e.dataset.extensionRenderingId=p;let g=e=>{try{oX(p)}catch(t){console.error(e,t)}};try{oK({renderingId:p,extensionName:s,extensionModuleName:d,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw g(`Recomputing configuration after registering '${o}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await rW(r({...c,name:`${t}/${s}-${f}`}),{...i,_meta:u,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${o}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${o}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${o}' failed to unmount also failed`)})}else console.warn(`Tried to render ${o} into ${t} but no DOM element was available.`);return l}var rF=n(6925),rH=n.n(rF);let rV=(0,rF.createContext)({moduleName:"",featureName:""});function rG({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,rF.useEffect)(()=>{r.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${r.href}'`),r.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),rH().createElement("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),tg({to:e,templateParams:t})),0===o.button&&(o.ctrlKey||o.metaKey)&&n?.(o),0===o.button&&o.shiftKey&&n?.(o),1===o.button&&n?.(o)},href:tf(e,t),...r},o)}let rz=({state:e,children:t,...n})=>{let{extension:o}=(0,rF.useContext)(rV),r=(0,rF.useRef)(null),i=(0,rF.useRef)(Promise.resolve()),s=(0,rF.useRef)(!1),a=(0,rF.useRef)(!1),l=(0,rF.useRef)(e),c=(0,rF.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),u=(0,rF.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,rF.useCallback)(t=>{t&&!r.current&&!a.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(a.current=!0,rB(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rF.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rF.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?rH().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function rq(e){let t=(0,rF.useRef)(e);return x(t.current,e)||(t.current=e),t.current}function rJ(e,t){"function"==typeof t&&(t=t(e));let n={};for(let[o,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};n[o]=t}return n}let rK=e=>e;function rX(e,t=rK,n){let o=(0,rF.useCallback)(t=>e.subscribe(t),[e]),r=(0,rF.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rF.useSyncExternalStore)(o,r,r),s=(0,rF.useMemo)(()=>n?rJ(e,n):null,[e,n]);return(0,rF.useMemo)(()=>s?{...i,...s}:i,[i,s])}function rY(e,t){return rX(e,rK,t)}function rZ(e){return function(t){let n=(0,rF.useCallback)(t=>e.subscribe(t),[]),o=(0,rF.useCallback)(()=>e.getState(),[]),r=(0,rF.useSyncExternalStore)(n,o,o),i=(0,rF.useMemo)(()=>t?rJ(e,t):null,[t]);return(0,rF.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let rQ=[];Object.freeze(rQ);let r0={candidateExtensions:rQ};Object.freeze(r0);let r1=e=>{let t=(0,rF.useCallback)(t=>t.slots?.[e]??r0,[e]);return rX(oY(),t)},r2=e=>e.session;function r5(e,t){let{candidateExtensions:n}=r1(e),o=rX(tA,r2),r=rq(t);return(0,rF.useMemo)(()=>rw(e,r),[e,r,o,n])}function r6(e,t){let{moduleName:n}=(0,rF.useContext)(rV);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rF.useEffect)(()=>{rv(n,e)},[n,e]),{extensions:r5(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function r8(e){return e}function r3({name:e,extensionSlotName:t,select:n=r8,children:o,state:r,style:i,...s}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rF.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r6(a,r),d=(0,rF.useMemo)(()=>n(c),[n,c]),m=(0,rF.useMemo)(()=>{if("function"==typeof o&&!rH().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return rH().createElement("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s},a&&d?.map((e,t)=>rH().createElement(rV.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof o?o:null)??rH().createElement(rz,{state:r}))))}var r4=n(3776),r7=n(9568),r9=n(9737),ie=n(2324),it=n(242);let io={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ir=new Map;(0,it.y)(ir);let ii={errorRetryCount:3,fetcher:tP,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tI){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ir};function is(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},io,e),n={...ii,...t.swrConfig};return function(e){var o,r,i,s,a;return i=r=class extends(o=rH().Component){componentDidCatch(e,n){n&&n.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:n.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:n})}render(){if(this.state.caughtError)return rH().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=rH().createElement(rF.Suspense,{fallback:null},rH().createElement(ie.S,{value:n},rH().createElement(rV.Provider,{value:this.state.config},t.disableTranslations?rH().createElement(e,this.props):rH().createElement(r9.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},rH().createElement(e,this.props)))));return t.strictMode&&rH().StrictMode?rH().createElement(rH().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},s="displayName",a=`OpenmrsReactComponent(${t.featureName})`,s in i?Object.defineProperty(i,s,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[s]=a,r}}function ia(e,t){return(0,r7.A)({React:rH(),ReactDOMClient:r4,rootComponent:is(t)(e)})}function il(e,t){return()=>e().then(({default:e})=>ia(e,t))}function ic(e,t){return()=>Promise.resolve(ia(e,t))}let iu=il,id=(0,E.y)()(()=>({}));T("openmrs-app-context",id);let im={};function ip(e,t=e=>e){let n=id.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function ig(e,t){id.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function ih(e){return null===e?null:Object.freeze(Object.assign({},e))}let iw=new Map;function i_(e,t){let n=(0,rF.useRef)(t??{}),o=(0,rF.useRef)(t=>ig(e,t)),r=(0,rF.useRef)(Symbol());return(0,rF.useEffect)(()=>{let n=t??{},o=r.current;return null===ip(e)?!function(e,t=im){id.setState(n=>{if(e in n)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},n,{[e]:t===im?{}:t})})}(e,n):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),ig(e,()=>n)),iw.set(e,o),()=>{iw.get(e)===o&&(id.setState(t=>(e in t&&delete t[e],t)),iw.delete(e))}},[e]),(0,rF.useEffect)(()=>{let o=t??{};x(n.current,o)||(ig(e,()=>o),n.current=o)},[t]),o.current}function iv({namespace:e,value:t}){return i_(e,t),null}let iy=({children:e,value:t,fallback:n})=>t?rH().createElement(rH().Fragment,null,e):n?rH().createElement(rH().Fragment,null,n):null;function ib(){let e=(0,rF.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rF.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function ix(e,t=e=>e??{}){let[n,o]=(0,rF.useState)(()=>{if(iS(e))return;let n=ip(e);if(null!==n)return t?t(n):n});return(0,rF.useEffect)(()=>{if(iS(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rF.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>x(e,n)?e:n)})(ih(r=ip(e))),id.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(ih(o)))})},[e,t]),n}function iS(e){return"string"!=typeof e||0===e.trim().length}function ik(e){let t=r5(e);return(0,rF.useMemo)(()=>t.map(e=>e.id),[t])}function ij(e){return r1(e).candidateExtensions}function iN(e,t,n){let{data:o,error:r,mutate:i,isLoading:s,isValidating:a}=(0,ie.u)(e?nU(e,t,n):null,tP);return(0,rF.useMemo)(()=>({isLoading:s,data:o?.data.results??[],error:r,mutate:i,isValidating:a}),[o,r,s,a,i])}function iE(e){(0,rF.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iC={},iP=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
+ Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iI(e,t,n){let o=iC[e];if(o)return o;let r=new Promise(e=>{let o=n(t.getState());if(o)return void e(o);let r=t.subscribe(t=>{let o=n(t);o&&(r(),e(o))})});return iC[e]=r,r.then(()=>{iC[e]===r&&delete iC[e]}),r}function iA(e){let{moduleName:t,extension:n}=(0,rF.useContext)(rV),o=e?.externalModuleName??t;if(!o&&!n)throw Error(iP);let r=function(e){let t=(0,rF.useMemo)(()=>en(e),[e]),n=function(e){let[t,n]=(0,rF.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rF.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw iI(e,t,e=>e.loaded?e.config:null);return n}(o),i=function(e){let t=(0,rF.useMemo)(es,[]),n=function(e,t){let[n,o]=(0,rF.useState)(t?()=>{let n=ea(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,rF.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=ea(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,F.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e)throw iI(`${e.extensionSlotName}-${e.extensionId}`,t,t=>{let n=ea(t,e.extensionSlotName,e.extensionId);return n.loaded?n.config:null});return n||{}}(n);return(0,rF.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let iO=r5;function iR(e,t=300){let[n,o]=(0,rF.useState)(e);return(0,rF.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var i$=n(6269);let iT=`custom:${[["admissionDecisionConcept","ref"],["admissionEncounterType","ref"],["admissionForm","ref"],["atFacilityVisitType","ref"],["bedAssignmentEncounterType","ref"],["cancelADTRequestEncounterType","ref"],["checkInClerkEncounterRole","ref"],["checkInEncounterType","ref"],["clinicianEncounterRole","ref"],["conceptSourcesForDiagnosisSearch","ref"],["consultEncounterType","ref"],["consultFreeTextCommentsConcept","ref"],["denyAdmissionConcept","ref"],["diagnosisMetadata","ref"],["diagnosisSets","ref"],["dischargeForm","ref"],["dispositionDescriptor","ref"],["dispositions","ref"],["emrApiConceptSource","ref"],["exitFromInpatientEncounterType","ref"],["extraPatientIdentifierTypes","ref"],["fullPrivilegeLevel","ref"],["highPrivilegeLevel","ref"],["identifierTypesToSearch","ref"],["inpatientNoteEncounterType","ref"],["lastViewedPatientSizeLimit","ref"],["metadataSourceName","ref"],["motherChildRelationshipType","ref"],["narrowerThanConceptMapType","ref"],["nonDiagnosisConceptSets","ref"],["orderingProviderEncounterRole","ref"],["patientDiedConcept","ref"],["personImageDirectory","ref"],["primaryIdentifierType","ref"],["sameAsConceptMapType","ref"],["suppressedDiagnosisConcepts","ref"],["supportsAdmissionLocationTag","(uuid,display,name,links)"],["supportsLoginLocationTag","(uuid,display,name,links)"],["supportsTransferLocationTag","(uuid,display,name,links)"],["supportsVisitsLocationTag","(uuid,display,name,links)"],["telephoneAttributeType","ref"],["testPatientPersonAttributeType","ref"],["transferForm","ref"],["transferRequestEncounterType","ref"],["transferWithinHospitalEncounterType","ref"],["unknownCauseOfDeathConcept","ref"],["unknownLocation","ref"],["unknownPatientPersonAttributeType","ref"],["unknownProvider","ref"],["visitAssignmentHandlerAdjustEncounterTimeOfDayIfNecessary","ref"],["visitExpireHours","ref"],["visitNoteEncounterType","ref"]].map(([e,t])=>`${e}:${t}`).join(",")}`;function iM(){let e=`${tj}/emrapi/configuration?v=${iT}`,t=(0,i$.A)(e,tP);return(0,rF.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iL(){return(0,rF.useContext)(rV).extension}let iW=rZ(oF());function iD(e){let t=r5(e);return(0,rF.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iU=rZ(oY());function iB(e){let{flags:t}=rX(oR);return t[e]?.enabled??!1}function iF(){let[,e]=(0,rF.useState)(0);return(0,rF.useCallback)(()=>{e(e=>e+1)},[])}function iH(e,t,n={}){return iG(e,t,iV,n)}let iV={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tC(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iG(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tP,[d,m]=(0,rF.useState)(1),f=(0,rF.useRef)(NaN),p=(0,rF.useRef)(NaN),g=(0,rF.useRef)(d),h=(0,rF.useRef)(!1),w=(0,rF.useRef)(!1),_=e?.toString()??"",[v,y]=(0,rF.useState)(_);_!==v&&(y(_),m(1),g.current=1,f.current=NaN,p.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,rF.useMemo)(()=>r(e,t,b),[e,t,b]),{data:S,...k}=(l?i$.A:ie.u)(x,u,c);S?.data&&(f.current=i(S?.data),p.current=s(S?.data),h.current=!0);let j=Math.ceil(f.current/t),N=(0,rF.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(f.current/t);!h.current||Number.isNaN(n)||e<=n?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rF.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(f.current)){w.current||(w.current=!0,console.warn(`useServerPagination: ${_} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,_,S]);let E=(0,rF.useCallback)(()=>{N(g.current+1)},[N]),C=(0,rF.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(S?.data),totalPages:j,totalCount:f.current,currentPage:d,currentPageSize:p.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:E,goToPrevious:C,...k}}function iz(e,t,n={}){return iG(e,t,iq(),n)}function iq(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tC(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var iJ=n(3709);function iK(e,t={}){return iX(e,iV,t)}function iX(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=n.fetcher??tP,c=(0,rF.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...f}=(0,iJ.Ay)(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),p=i(u?.[u.length-1].data),g=s(u?.[0]?.data);return{data:u?.flatMap(e=>a(e.data)),totalCount:g,hasMore:null!=p,loadMore:()=>{m((u?.length??0)+1)},nextUri:p,...f}}function iY(e,t={}){return iZ(e,iV,t)}function iZ(e,t,n={}){let o=iX(e,t,n),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=o;return((0,rF.useEffect)(()=>{r&&!i&&a()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:s,isLoading:l||r}}function iQ(e,t={}){return iZ(e,iq(),t)}function i0(e,t={}){return iX(e,iq(),t)}function i1(){let e="tablet";return document.body.classList.forEach(t=>{switch(t){case"omrs-breakpoint-lt-tablet":e="phone";break;case"omrs-breakpoint-gt-small-desktop":e="large-desktop";break;case"omrs-breakpoint-gt-tablet":e="small-desktop"}}),e}function i2(){let[e,t]=(0,rF.useState)(i1);return(0,rF.useEffect)(()=>{let e=()=>{t(i1())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i5=e=>"small-desktop"===e||"large-desktop"===e;function i6(e){let t=(0,rF.useContext)(rV);(0,rF.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rx(e),()=>{rS(e.name)}),[t,e])}function i8(){return rX(rb)}let i3=[];function i4(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString(),{data:r}=iY(`${tj}/location${o?"?"+o:""}`,{immutable:!0});return r??i3}function i7(e,t=!0){let n=(0,rF.useRef)(null);return(0,rF.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function i9(e){let t=(0,rF.useRef)();return(0,rF.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function se(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,s=ib(),a=(0,rF.useMemo)(()=>o?.signal??n?.signal??s.signal,[n?.signal,o?.signal,s.signal]),l=(0,rF.useCallback)(e=>tP(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:a}),[a,o,r]);return(0,ie.u)(e,l,i)}function st(e=[],t=10){let[n,o]=(0,rF.useState)(1),r=(0,rF.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),s=(0,rF.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),a=(0,rF.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,rF.useCallback)(()=>{o(e=>e+1)},[]),c=(0,rF.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,rF.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function sn(e,t,n,o){return{pageSizes:(0,rF.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rF.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function so(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function sr(e){let[t,n]=(0,rF.useState)(e??so()),{data:o,error:r,isValidating:i}=(0,ie.u)(t?["patient",t]:null,()=>nH(t,{}));return(0,rF.useEffect)(()=>{let e=()=>{let e=so();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rF.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function si(){let e=`${tj}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=(0,ie.u)(e,tP);return(0,rF.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function ss(e){let{extensions:t,extensionSlotModuleName:n}=r6(e);return e?t.map(t=>({state:o})=>rH().createElement(rV.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n,extensionMeta:t.meta}}},rH().createElement(rz,{state:o}))):[]}function sa(){let e=(0,rF.useRef)(),[t,n]=(0,rF.useState)(null),o=null;if(!t){if(i){let e=tM().getState();e.loaded&&(o=e.session)}else i=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tM().getState()),o||(e.current=tM().subscribe(n))});if(o)n(o);else throw i}(0,rF.useEffect)(()=>(e.current||(e.current=tM().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let r=t||o;if(!r)if(i)throw console.warn("useSession is in an unexpected state. Attempting to recover."),i;else throw Error("useSession is in an invalid state.");return r}let sl=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,rF.useState)(null);return((0,rF.useEffect)(()=>{let e=tM(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:n,session:o}=e.getState();return n&&r(o?.user??null),t},[]),o&&tU(e,o))?rH().createElement(rH().Fragment,null,n):t?rH().createElement(rH().Fragment,null,t):null};var sc=n(4343),su=n.n(sc),sd=n(3355);let sm=new Map;function sf(){for(let e of Array.from(sm.values()))e()}let sp={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sg(e){let t=(0,rF.useId)();return(0,rF.useEffect)(()=>{if(e)return sm.set(t,e),()=>{sm.delete(t)}},[t,e]),{...rY(n1(),sp),mutateVisit:sf}}function sh(e,t=nQ){let n=(0,rF.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sg((0,rF.useCallback)(()=>n.current?.(),[])),s=e&&o==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,ie.u)(e?`${tj}/visit${a}`:null,tP),{data:f,error:p,mutate:g,isValidating:h}=(0,ie.u)(e&&s?`${tj}/visit${l}`:null,tP),w=(0,rF.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,rF.useMemo)(()=>s&&f?f.data:null,[f,s]),v=(0,rF.useRef)(null);(0,rF.useEffect)(()=>{!m&&w&&o===e&&null===r&&i(w),h||(v.current&&_&&v.current.uuid===_.uuid&&!v.current.stopDatetime&&_.stopDatetime&&i(null),v.current=_)},[_,r,w,m,h,o]);let y=(0,rF.useCallback)(()=>{d(),g()},[d,g]);(0,rF.useEffect)(()=>{n.current=y},[y]);let b=!!(!c||s&&!f),x=!!(s?p:u);return{error:u||p,mutate:y,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!s,isLoading:b&&!x}}sc.extend(sd);let sw=[];function s_(){let{data:e}=(0,i$.A)(nK,nX);return e??sw}let sv=new Map;async function sy(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,s=await nf(r);return s&&Object.hasOwn(s,i)&&"function"==typeof s[i]?sx(r,s).then(()=>s[i]()):(s?s&&Object.hasOwn(s,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${r} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${r} for ${t} defined in ${e}'s routes.json`),sb)}let sb={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sx(e,t){if(e in sv)await sv[e];else{let n=t??await nf(e);await (sv[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eA(e),t(null)}).catch(o)}eA(e),t(null)}))}}function sS(e,t){let n=t.name;if(!n)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
17
17
  registered. To fix this, ensure that you define the "name" field inside the
18
18
  extension definition.`,t);t.slots&&t.slot&&console.warn(`The extension ${n} from ${e} declares both a 'slots' property and
19
19
  a 'slot' property. Only the 'slots' property will be honored.`);let o=t.slots?t.slots:t.slot?[t.slot]:[];if(!t.component)return void console.error(`The extension ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
20
- To fix this, ensure that you define a 'component' field inside the extension definition.`,t);for(let r of(rp({name:n,load:()=>sb(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))rg(r,n)}let sj=[];function sN(e,t){o2(()=>(function(e,t){if(e&&t&&"object"==typeof t){eA(e);let n=t.extensions??[],o=t.modals??[],r=t.featureFlags??[],i=t.workspaceGroups2??[],s=t.workspaceWindows2??[],a=t.workspaces2??[];t.pages?.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"component")&&(Object.hasOwn(t,"route")||Object.hasOwn(t,"routeRegex")||Object.hasOwn(t,"routes"))?sj.push({...t,appName:e}):console.warn(`A page for ${e} could not be registered as it does not appear to have the required properties`,t)}),n.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?sk(e,t):console.warn(`An extension for ${e} could not be registered as it does not appear to have the required properties`,t)}),o.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")){let n;(n=t.name)?t.component?rE({name:n,moduleName:e,load:()=>sb(e,t.component)}):console.error(`The modal ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
20
+ To fix this, ensure that you define a 'component' field inside the extension definition.`,t);for(let r of(rm({name:n,load:()=>sy(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))rf(r,n)}let sk=[];function sj(e,t){o0(()=>(function(e,t){if(e&&t&&"object"==typeof t){eI(e);let n=t.extensions??[],o=t.modals??[],r=t.featureFlags??[],i=t.workspaceGroups2??[],s=t.workspaceWindows2??[],a=t.workspaces2??[];t.pages?.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"component")&&(Object.hasOwn(t,"route")||Object.hasOwn(t,"routeRegex")||Object.hasOwn(t,"routes"))?sk.push({...t,appName:e}):console.warn(`A page for ${e} could not be registered as it does not appear to have the required properties`,t)}),n.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?sS(e,t):console.warn(`An extension for ${e} could not be registered as it does not appear to have the required properties`,t)}),o.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")){let n;(n=t.name)?t.component?rj({name:n,moduleName:e,load:()=>sy(e,t.component)}):console.error(`The modal ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
21
21
  To fix this, ensure that you define a 'component' field inside the modal definition.`,t):console.error(`A modal definition in ${e} is missing an name and thus cannot be
22
22
  registered. To fix this, ensure that you define the "name" field inside the
23
- modal definition.`,t)}else console.warn(`A modal for ${e} could not be registered as it does not appear to have the required properties`,t)}),(Object.hasOwn(t,"workspaces")||Object.hasOwn(t,"workspaceGroups"))&&console.warn(`${e} defines workspaces or workspaceGroups in its routes.json, which are no longer supported and won't be registered. Use workspaces2, workspaceWindows2 and workspaceGroups2 instead.`),rR(e,i);for(let t of(r$(e,s),s))t.icon&&sk(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});rT(e,a),r.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?oM(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
23
+ modal definition.`,t)}else console.warn(`A modal for ${e} could not be registered as it does not appear to have the required properties`,t)}),(Object.hasOwn(t,"workspaces")||Object.hasOwn(t,"workspaceGroups"))&&console.warn(`${e} defines workspaces or workspaceGroups in its routes.json, which are no longer supported and won't be registered. Use workspaces2, workspaceWindows2 and workspaceGroups2 instead.`),rA(e,i);for(let t of(rO(e,s),s))t.icon&&sS(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});rR(e,a),r.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?o$(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
24
24
  To fix this, ensure that you define the "description" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
25
25
  To fix this, ensure that you define the "label" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a name and thus cannot be registered.
26
- To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function sE(){sj.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sj){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let n=e.get(t.appName),o=`${t.appName}-page-${n}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),s=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=s,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let n=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===n)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
26
+ To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function sN(){sk.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sk){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let n=e.get(t.appName),o=`${t.appName}-page-${n}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),s=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=s,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let n=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===n)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
27
27
  To fix this, ensure that you define the "route" (or alternatively the "routeRegex") field inside the extension definition.`,e);if(!t.component)return console.warn(`A registered page definition is missing a component and thus cannot be registered.
28
- To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{featureFlag:t}){return t?n=>!!oW(t)&&e(n):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,tc.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tc.AG)(e,()=>sb(t.appName,t.component),o)}(o,t)}}let sC={PHONE_MIN:0,PHONE_MAX:600,TABLET_MIN:601,TABLET_MAX:1023,SMALL_DESKTOP_MIN:1024,SMALL_DESKTOP_MAX:1439,LARGE_DESKTOP_MIN:1440,LARGE_DESKTOP_MAX:Number.MAX_SAFE_INTEGER};function sP(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sC.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sC.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sC.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sC.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sC.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sC.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sC.SMALL_DESKTOP_MAX)}let sI=!1;function sA(){sI||(window.addEventListener("resize",sP),sP(),sI=!0)}var sO=n(6870),sR=n(5530),s$=n.n(sR);function sT({title:e,children:t}){let n="tablet"===i5();return(0,sO.jsxs)("div",{className:s$()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":n,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,sO.jsx)("h4",{children:e}),t]})}let sM=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sL={primaryColor:{_type:G.String,_description:"The color for displaying primary diagnoses tags",_default:"blue",_validators:[te.oneOf(sM)]},secondaryColor:{_type:G.String,_description:"The color for displaying secondary diagnoses tags",_default:"gray",_validators:[te.oneOf(sM)]}},sW={"Brand color #1":{_default:"#005d5d",_type:G.String},"Brand color #2":{_default:"#004144",_type:G.String},"Brand color #3":{_default:"#007d79",_type:G.String},excludePatientIdentifierCodeTypes:{uuids:{_type:G.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:G.UUID}}},implementationName:{_type:G.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},logo:{src:{_type:G.String,_default:"",_description:"The path or URL to the logo shown on the login page and while the server is starting up. If set to an empty string, the default OpenMRS logo is used.",_validators:[te.isUrl]},alt:{_type:G.String,_default:"Logo",_description:"The alternative text for the logo image, displayed when the image cannot be loaded or on hover."}},patientPhotoConceptUuid:{_type:G.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:G.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[te.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:G.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:G.String}},diagnosisTags:sL};var sD=n(8326);let sU={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sB=e=>(0,sO.jsx)(sD.TableBatchActions,{translateWithId:(e,t)=>{let n=sU[e];return n?tp(n,e,t):e},...e}),sF="-esm-devtools__custom-overflow-menu-module__container___8PykS",sH="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sV="-esm-devtools__custom-overflow-menu-module__show___BserJ",sG="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sz=(0,rV.createContext)(null);function sq(){let e=(0,rV.useContext)(sz);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sJ({menuTitle:e,children:t}){let[n,o]=rG().useState(!1),r=i9(()=>o(!1),n),i="tablet"===i5(),s=(0,rV.useCallback)(()=>o(e=>!e),[]),a=(0,rV.useRef)(null),l=(0,rV.useRef)(null),c=(0,rV.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rV.useCallback)(()=>{o(!1),a.current?.focus()},[]),f=(0,rV.useMemo)(()=>({closeMenu:m}),[m]),p=(0,rV.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=rV.Children.toArray(t);(0,rV.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,rV.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,s=i<0?n.length-1:i>=n.length?0:i;n[s]?.focus()},[]),w=g.map((e,t)=>(0,rV.isValidElement)(e)?(0,rV.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sO.jsxs)("div",{"data-overflow-menu":!0,className:s$()("cds--overflow-menu",sF),ref:r,children:[(0,sO.jsx)("button",{className:s$()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sG),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:p,ref:a,children:e}),(0,sO.jsxs)("div",{className:s$()("cds--overflow-menu-options","cds--overflow-menu--flip",sH,{[sV]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:p,ref:l,role:"menu",tabIndex:-1,children:[(0,sO.jsx)("ul",{className:s$()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sO.jsx)(sz.Provider,{value:f,children:w})}),(0,sO.jsx)("span",{})]})]})}function sK(e){let t=(0,rV.useContext)(sz);return(0,sO.jsx)(sD.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sX=n(2277),sY=n(4194);let sZ=["omrs-icon-activity","omrs-icon-add","omrs-icon-arrow-down","omrs-icon-arrow-left","omrs-icon-arrow-right","omrs-icon-arrow-up","omrs-icon-baby","omrs-icon-calendar-heat-map","omrs-icon-calendar","omrs-icon-caret-down","omrs-icon-caret-left","omrs-icon-caret-right","omrs-icon-caret-up","omrs-icon-chart-average","omrs-icon-chart-line","omrs-icon-checkmark-filled","omrs-icon-checkmark-outline","omrs-icon-chemistry","omrs-icon-chevron-down","omrs-icon-chevron-left","omrs-icon-chevron-right","omrs-icon-chevron-up","omrs-icon-close","omrs-icon-close-filled","omrs-icon-close-outline","omrs-icon-document","omrs-icon-document-attachment","omrs-icon-download","omrs-icon-drug-order","omrs-icon-edit","omrs-icon-event-schedule","omrs-icon-events","omrs-icon-gender-female","omrs-icon-gender-male","omrs-icon-gender-other","omrs-icon-gender-unknown","omrs-icon-generic-order-type","omrs-icon-group","omrs-icon-group-access","omrs-icon-hospital-bed","omrs-icon-image-medical","omrs-icon-information","omrs-icon-information-filled","omrs-icon-information-square","omrs-icon-inventory-management","omrs-icon-lab-order","omrs-icon-list-checked","omrs-icon-location","omrs-icon-material-order","omrs-icon-maximize","omrs-icon-medication","omrs-icon-message-queue","omrs-icon-microscope","omrs-icon-mobile-check","omrs-icon-money","omrs-icon-mother","omrs-icon-movement","omrs-icon-overflow-menu--horizontal","omrs-icon-overflow-menu--vertical","omrs-icon-password","omrs-icon-pedestrian-family","omrs-icon-pen","omrs-icon-printer","omrs-icon-procedure-order","omrs-icon-programs","omrs-icon-renew","omrs-icon-referral-order","omrs-icon-report","omrs-icon-reset","omrs-icon-save","omrs-icon-search","omrs-icon-settings","omrs-icon-shopping-cart","omrs-icon-shopping-cart--arrow-down","omrs-icon-sticky-note-add","omrs-icon-switcher","omrs-icon-syringe","omrs-icon-table-of-contents","omrs-icon-table","omrs-icon-time","omrs-icon-tools","omrs-icon-translate","omrs-icon-trash-can","omrs-icon-tree-view--alt","omrs-icon-two-factor-authentication","omrs-icon-user-avatar","omrs-icon-user-follow","omrs-icon-user-xray","omrs-icon-user","omrs-icon-view-off","omrs-icon-view","omrs-icon-warning"],sQ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),s0=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),s7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),s9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),ae=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),at=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),an=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),ao=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),ar=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),ai=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),as=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),aa=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),al=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),ac=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),au=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),ad=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-close",iconProps:e})})),am=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),af=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),ap=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-document",iconProps:e})})),ag=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),ah=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-download",iconProps:e})})),aw=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),a_=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),ay=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),av=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-events",iconProps:e})})),ab=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),ax=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),aS=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),ak=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),aj=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),aN=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aE=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aC=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),aP=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aI=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-information",iconProps:e})})),aA=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),aO=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aR=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),a$=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),aT=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),aM=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aL=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aW=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aD=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),aU=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),aB=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aF=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),aH=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aV=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aG=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),az=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aq=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aJ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-password",iconProps:e})})),aK=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),aX=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),aY=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),aZ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),aQ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),a0=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),a1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),a2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-save",iconProps:e})})),a8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-search",iconProps:e})})),a3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),a4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),a7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),a9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),le=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),lt=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),ln=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),lo=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lr=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-time",iconProps:e})})),li=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),ls=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),la=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),ll=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),lc=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lu=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),ld=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),lm=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lf=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-user",iconProps:e})})),lp=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lg=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lh=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(lS,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lw=lh,l_=ag,ly=aT,lv=aP,lb=a9,lx=(0,rV.memo)((0,rV.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,rV.useRef)(e?document.getElementById(e):void 0);return(0,rV.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sO.jsx)(ix,{value:r.current,fallback:t,children:(0,sO.jsx)(lS,{ref:o,icon:e,iconProps:n})})})),lS=(0,rV.memo)((0,rV.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rV.useRef)(null);return(0,rV.useImperativeHandle)(n,()=>s.current),(0,rV.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sO.jsx)("svg",{ref:s,className:s$()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,sO.jsx)("use",{href:`#${e}`})})})),lk=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,it.useTranslation)(),i=(0,sX.zy)(),s=(0,rV.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,sO.jsx)("div",{children:(0,sO.jsx)(rq,{className:s$()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${n}/${encodeURIComponent(e)}`,children:(0,sO.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,sO.jsx)(lx,{icon:o,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,sO.jsx)("span",{children:r(t)})]})})},e)};function lj(e){return function({basePath:t}){return(0,sO.jsx)(sY.Kd,{children:(0,sO.jsx)(lk,{basePath:t,...e})})}}var lN=n(7715),lE=n(7532),lC=n(3692),lP=n(7615),lI=n(700),lA=n(6816),lO=n(1168);function lR(e){return rG().createElement(lO.C,e)}var l$=n(3010),lT=n(6513),lM=n(6190);function lL(e,t,n=!1){if(null==e)return n?e:void 0;if("string"==typeof e&&!e)return n?null:void 0;if(e instanceof l$.ng||e instanceof l$._l||e instanceof l$.Ip)return t?(0,lT.yP)(e,t):e;{let n=sd()(e).toDate(),o=new l$.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,lT.yP)(o,t):o}}function lW(e){if(e)return e.toDate((0,lM.Xj)())}var lD=n(9002);function lU(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lB(e){let t=e??"",n=lU(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function lF(){let e=window.i18next.language,t=lU(e)??e;return"ht"===t&&(t="fr-HT"),t}var lH=n(7883),lV=n(424),lG=n(1492),lz=n(8271);function lq(e,t){var n=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return n.get?n.get.call(e):n.value}su.extend(sm),su.extend(lG),su.extend(lV);let lJ="YYYY-MM-DDTHH:mm:ss.SSSZZ";function lK(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&su(e,lJ).isValid()}function lX(e){return su(e).isToday()}function lY(e){return lK(e)?su(e,lJ).toDate():null}function lZ(e,t=!1){let n=su(e);return t&&(n=n.utc()),n.format(lJ)}function lQ(e){return su(e).toDate()}var l0=new WeakMap;let l1=new class{register(e,t){lq(this,l0).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lq(this,l0).has(t))return lq(this,l0).get(t)}if(e.language&&lq(this,l0).has(e.language))return lq(this,l0).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lq(this,l0).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,n){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,n)}(this,l0,{writable:!0,value:new Map})}};function l2(e,t){l1.register(e,t)}function l5(e){let t=e??lF();return l1.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let l6={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function l8(e,t={}){let n=lF(),o=(0,lH.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lz.A)(o.day)&&(0,lz.A)(o.month)&&(o=Object.assign({},(0,H.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,H.A)(o,"day"),{date:o.day}));let r=su().set(o).toDate();return(0,lz.A)(o.year)&&(t.year=!1),(0,lz.A)(o.month)&&(t.month=!1),(0,lz.A)(o.date)&&(t.day=!1),l3(r,t)}function l3(e,t){let n,o=t?.locale??lF(),r=new Intl.Locale(o),{calendar:i,mode:s,time:a,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...l6,...{noToday:"am"===r.language},...t},f={calendar:i??l5(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},p=su(e).isToday();if(p&&!d)n=(n=new Intl.RelativeTimeFormat(o,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(o)+n.slice(1);else{"en"===r.language&&(o="en-GB");let t=new Intl.DateTimeFormat(o,f).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==s&&u&&l&&(t=t.map(l4("-"))),"wide"==s&&(t=t.map(l4(" — "))),"ethiopic"===f.calendar&&(t=t.filter((e,t,n)=>"era"!==e.type&&("literal"!==e.type||!(t<n.length-1)||"era"!==n[t+1].type))),n=t.map(e=>e.value).join("")}return(!0===a||p&&"for today"===a)&&(n+=`, ${l7(e)}`),n}let l4=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function l7(e){return e.toLocaleTimeString(lF(),{hour:"2-digit",minute:"2-digit"})}function l9(e,t){return l3(e,{...t,time:!0})}function ce(e,t){let n=l5("string"==typeof t?new Intl.Locale(t):t);return n?(0,lT.yP)(e,(0,lD.d)(n)):e}function ct(e,t){return new Intl.DurationFormat(lF(),t).format(e)}function cn(e,t){if(null==e)return null;if("string"==typeof e){let n=lF(),o=(0,lH.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,H.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,H.A)(o,"day"),...{date:o.day}}),su(t).set(o))}return su(e)}let co=["years","months","days","hours","minutes","seconds"],cr={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},ci={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function cs(e,t=su(),n){let o,r=su(t),i=cn(e,r);if(null==i)return null;if("string"==typeof n){let e=cr[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:s,largestUnit:a,smallestUnit:l}=n??{};if(void 0!==a||void 0!==l){let e,t=l?cr[l]??l:void 0;return e="auto"===a||void 0===a?function(e,t,n){let o=co.indexOf(n);for(let r=0;r<co.length;r++){let i=co[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):cr[a]??a,function(e,t,n,o){let r=co.indexOf(n),i=co.indexOf(o),s=co.slice(r,i+1),a={},l=e;for(let e of s){let n=t.diff(l,e);a[e]=n,l=l.add(n,e)}return a}(i,r,e,t??e)}let c=(o=function(e){let t={...ci};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[cr[n]??n]=o);return t}(s),r.diff(i,"seconds")<o.seconds?"seconds":r.diff(i,"minutes")<o.minutes?"minutes":r.diff(i,"hours")<o.hours?"hours":r.diff(i,"days")<o.days?"days":r.diff(i,"months")<o.months?"months":"years");return{[c]:r.diff(i,c)}}let ca={style:"short",localeMatcher:"lookup"};function cl(e,t=su(),n){let o=cs(e,t,n);return null==o?null:ct(o,"object"==typeof n&&n.formatOptions?{...ca,...n.formatOptions}:ca)}let cc=(0,rV.createContext)(null);function cu(){let e=iO({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rV.useMemo)(()=>{let t=lF();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,rV.useMemo)(()=>{let e=l5(t);return void 0!==e?(0,lD.d)(e):void 0},[t]),o=(0,rV.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,rV.useMemo)(()=>n?(0,lT.yP)((0,lM.Ec)((0,lM.Xj)()),n):(0,lM.Ec)((0,lM.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let cd=new l$.ng(1793,1,1);var cm=n(5830),cf=n(5354),cp=n(4745),cg=n(1202);function ch(e,t){return Number.parseInt(l3(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cw=(0,rV.forwardRef)(function(e,t){let{className:n}=e,o=(0,rV.useContext)(cm.f2),r=(0,rV.useContext)(cm._I),i=o??r,s=(0,rV.useContext)(cc),a=(0,lM.Xj)(),l=l3(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=ch(i.visibleRange.start.toDate(a),s),u=i.maxValue?ch(i.maxValue.toDate(a),s):void 0,d=i.minValue?ch(i.minValue.toDate(a),s):void 0,m=(0,rV.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sO.jsxs)("span",{ref:t,className:n,children:[(0,sO.jsx)("span",{children:l}),(0,sO.jsxs)(cp.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sO.jsx)(cg.p,{}),(0,sO.jsxs)(lP.Y,{children:[(0,sO.jsx)(lI.$,{slot:"increment",children:(0,sO.jsx)(at,{size:8})}),(0,sO.jsx)(lI.$,{slot:"decrement",children:(0,sO.jsx)(s7,{size:8})})]})]})]})});var c_=n(9588);let cy="-esm-devtools__datepicker-module__inputGroup___+4zks",cv="-esm-devtools__datepicker-module__inputSegment___wiExn",cb="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",cx="-esm-devtools__datepicker-module__invalidText___SxtTL",cS="-esm-devtools__datepicker-module__flatButton___UU1Qp",ck="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",cj="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",cN="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function cE({children:e}){let t=(0,rV.useContext)(lE.Pg),n=(0,rV.useContext)(lE.a8),o=t??n,r=i9(()=>o?.close());return(0,sO.jsx)(c_.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cC=(0,rV.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,s=i?cm._e:cm.Vv;return(0,sO.jsx)(cf.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sO.jsx)(cE,{children:(0,sO.jsxs)(s,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,sO.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,sO.jsx)(lI.$,{className:s$()(cS,ck),slot:"previous",children:(0,sO.jsx)(al,{size:16})}),(0,sO.jsx)(cw,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,sO.jsx)(lI.$,{className:s$()(cS,ck),slot:"next",children:(0,sO.jsx)(ac,{size:16})})]}),(0,sO.jsx)(cm.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sO.jsx)(cm.Zr,{className:s$()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cP=n(8017),cI=n(9774),cA=n(7956);let cO=(0,rV.forwardRef)(function(e,t){let n=(0,rV.useContext)(lE.Pg),[o,r]=(0,lN.JT)({slot:e.slot},t,cI.cQ),{locale:i}=(0,lO.Y)(),s=(0,cA.F)({...o,locale:i,createCalendar:lD.d}),a=(0,rV.useRef)(null),{fieldProps:l,inputProps:c}=(0,cP.cJ)({...o,inputRef:a},s,r),u=(0,rV.useCallback)(()=>{s.isDisabled||n.toggle()},[]);return(0,sO.jsxs)(lN.Kq,{values:[[cI.$,s],[cg.E,{...c,ref:a}],[lP.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,sO.jsx)(lP.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,n)=>(0,rV.cloneElement)(e.children(t),{key:n}))}),(0,sO.jsx)(cg.p,{})]})}),cR=(0,rV.forwardRef)(function(e,t){let n=(0,rV.useContext)(lE.Pg),o=(0,rV.useContext)(lE.a8);return(n??o).isInvalid?(0,sO.jsx)(lh,{ref:t,size:16,...e}):(0,sO.jsx)(s4,{ref:t,size:16,...e})});var c$=n(64),cT=n(5503),cM=n(1697),cL=n(7866),cW=n(8035),cD=n(2231);let cU=(0,rV.forwardRef)(function({segment:e,...t},n){let o=(0,rV.useContext)(cI.$),r=(0,c$.U)(n),{segmentProps:i}=(0,cT.V)(e,o,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,cM.o)(),{hoverProps:c,isHovered:u}=(0,cL.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:s,values:a}=e;return(0,rV.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof n?n({...a,defaultStyle:s||{}}):n,c="function"==typeof o?o({...a,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rV.useCallback)(e=>{e.stopPropagation()},[]);return(0,sO.jsx)("span",{...(0,cW.v)((0,cD.$)(t),i,s,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":o.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":o.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":a||void 0,"data-focus-visible":l||void 0,onClick:m})}),cB={short:!1,size:"md"},cF=(0,rV.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:s,isInvalid:a,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:f,onChangeRaw:p,short:g,size:h,value:w,..._}={...cB,...e},{calendar:y,intlLocale:v,today_:b}=cu(),x=(0,rV.useId)(),S=!!(c??l),k=(0,rV.useMemo)(()=>lL(o,y),[o,y]),j=(0,rV.useMemo)(()=>lL(w,y,!0),[w,y]),N=(0,rV.useMemo)(()=>lL(d,y),[d,y]),E=(0,rV.useMemo)(()=>lL(m??cd,y),[m,y]),C=(0,rV.useMemo)(()=>i||a,[i,a]),P=(0,rV.useMemo)(()=>(p&&f&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),p??(e=>f?.(lW(e)))),[p,f]);return(0,sO.jsx)(lR,{locale:v.toString(),children:(0,sO.jsx)("div",{className:s$()("cds--form-item",n),children:(0,sO.jsx)(lN.Kq,{values:[[cc,v]],children:(0,sO.jsxs)(lE.lr,{className:s$()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:k,isDisabled:r,isInvalid:C,maxValue:N,minValue:E,value:j,shouldForceLeadingZeros:"en"===v.language||void 0,..._,onChange:P,children:[(0,sO.jsxs)("div",{className:"cds--date-picker-container",children:[S&&(0,sO.jsx)(lC.J,{className:s$()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sO.jsxs)(lP.Y,{className:cy,children:[(0,sO.jsx)(cO,{id:S?x:void 0,ref:t,className:s$()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__inputWrapper___kykar",{"-esm-devtools__datepicker-module__inputWrapperSm___KJtg-":"sm"===h,"-esm-devtools__datepicker-module__inputWrapperMd___ablE9":"md"===h||!h||0===h.length,"-esm-devtools__datepicker-module__inputWrapperLg___5dkQp":"lg"===h}),children:e=>"era"!==e.type?(0,sO.jsx)(cU,{className:cv,segment:e}):(0,sO.jsx)(rG().Fragment,{})}),(0,sO.jsx)(lI.$,{className:s$()(cS,{[cj]:"sm"===h,[ck]:"md"===h||!h||0===h.length,[cN]:"lg"===h}),children:(0,sO.jsx)(cR,{})})]}),(0,sO.jsx)(lA.b,{className:cx,children:s})]}),(0,sO.jsx)(cC,{variant:"single",today_:b})]})})})})}),cH=(0,rV.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:f="md",value:p,...g},h){let{calendar:w,intlLocale:_,today_:y}=cu(),v=(0,rV.useId)(),b=!!(a??s),x=(0,rV.useMemo)(()=>{if(p)return{start:lL(p[0],w,!1),end:lL(p[1],w,!1)}},[p,w]),S=(0,rV.useMemo)(()=>{if(t)return{start:lL(t[0],w,!1),end:lL(t[1],w,!1)}},[t,w]),k=(0,rV.useMemo)(()=>lL(u??cd,w,!0),[u,w]),j=(0,rV.useMemo)(()=>lL(c,w,!0),[c,w]),N=(0,rV.useMemo)(()=>n||i,[n,i]),E=(0,rV.useMemo)(()=>(m&&d&&console.error("An OpenmrsDateRangePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),m??(e=>d?.([lW(e.start),lW(e.end)]))),[m,d]);return(0,sO.jsx)(lR,{locale:_.toString(),children:(0,sO.jsx)("div",{className:s$()("cds--form-item",e),children:(0,sO.jsx)(lN.Kq,{values:[[cc,_]],children:(0,sO.jsx)(lE.Ur,{id:b?v:void 0,className:s$()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:j,minValue:k,value:x,defaultValue:S,ref:h,isDisabled:r,...g,onChange:E,children:(0,sO.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,sO.jsx)(lC.J,{className:s$()("cds--label",{"cds--label--disabled":r}),htmlFor:v,children:a??s}),(0,sO.jsxs)(lP.Y,{className:cy,children:[(0,sO.jsxs)("div",{className:s$()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===f,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===f||!f||0===f.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===f}),children:[(0,sO.jsx)(cI.J3,{className:s$()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",cb),slot:"start",children:e=>(0,sO.jsx)(cU,{className:cv,segment:e})}),(0,sO.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,sO.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sO.jsx)(cI.J3,{className:s$()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",cb),slot:"end",children:e=>(0,sO.jsx)(cU,{className:cv,segment:e})})]}),(0,sO.jsx)(lI.$,{className:s$()(cS,{[cj]:"sm"===f,[ck]:"md"===f||!f||0===f.length,[cN]:"lg"===f}),children:(0,sO.jsx)(cR,{})})]}),(0,sO.jsx)(lA.b,{className:cx,children:o}),(0,sO.jsx)(cC,{variant:"range",today_:y,minDate:k,maxDate:j})]})})})})})});var cV=n(9606);let cG=({diagnoses:e,showCertainty:t=!1})=>{let{diagnosisTags:n}=iO({externalModuleName:"@openmrs/esm-styleguide"});return(0,sO.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let o=t&&"PROVISIONAL"===e.certainty,r=1===e.rank?n?.primaryColor??"blue":n?.secondaryColor??"gray";return(0,sO.jsx)(cz,{color:r,isProvisional:o,name:e.display},e.uuid)})})};function cz({color:e,isProvisional:t,name:n}){let[o,r]=(0,rV.useState)(!1),[i,s]=(0,rV.useState)(!1),[a,l]=(0,rV.useState)(!1),c=a||i,u=(0,rV.useRef)(null);(0,rV.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=()=>{let t=e.scrollWidth>e.clientWidth;l(t),t||r(!1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[n,t,c]);let d=s$()("cds--tag","cds--tag--md","cds--layout--size-md",`cds--tag--${e}`,"-esm-devtools__diagnosis-tags-module__diagnosisTag___PFhpl"),m=(0,sO.jsxs)(sO.Fragment,{children:[t&&(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsx)("span",{"aria-hidden":"true",className:"-esm-devtools__diagnosis-tags-module__provisionalMark___8o6l4",children:"?"}),(0,sO.jsxs)("span",{className:"cds--visually-hidden",children:[tp("provisional","Provisional")," "]})]}),(0,sO.jsx)("span",{ref:u,className:"cds--tag__label",children:n})]});return c?(0,sO.jsxs)(cV.k$,{delay:0,closeDelay:150,isOpen:o,onOpenChange:r,children:[(0,sO.jsx)(lI.$,{className:d,"data-testid":"diagnosis-tag",onFocusChange:s,onPress:()=>r(!0),children:m}),(0,sO.jsx)(cV.m_,{className:"-esm-devtools__diagnosis-tags-module__tagTooltip___asRTH",placement:"bottom",offset:4,containerPadding:8,children:n})]}):(0,sO.jsx)("span",{className:d,"data-testid":"diagnosis-tag",children:m})}let cq={action:"-esm-devtools__empty-card-module__action___Y0dul",content:"-esm-devtools__empty-card-module__content___fo0nB",desktopHeading:"-esm-devtools__empty-card-module__desktopHeading___0Cg1N",tabletHeading:"-esm-devtools__empty-card-module__tabletHeading___BogTF",tile:"-esm-devtools__empty-card-module__tile___QB8Ld"},cJ=({width:e="64",height:t="64"})=>(0,sO.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sO.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cK=e=>{let t="tablet"===i5(),n=e.launchForm;return(0,sO.jsx)(sD.Layer,{className:cq.layer,children:(0,sO.jsxs)(sD.Tile,{className:cq.tile,children:[(0,sO.jsx)("div",{className:t?cq.tabletHeading:cq.desktopHeading,children:(0,sO.jsx)("h4",{children:e.headerTitle})}),(0,sO.jsx)(cJ,{}),(0,sO.jsx)("p",{className:cq.content,children:tp("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sO.jsx)("p",{className:cq.action,children:n&&(0,sO.jsx)(sD.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tp("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},cX=({error:e,headerTitle:t})=>{let n="tablet"===i5();return(0,sO.jsx)(sD.Layer,{children:(0,sO.jsxs)(sD.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,sO.jsx)("div",{className:n?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,sO.jsx)("h4",{children:t})}),(0,sO.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tp("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sO.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tp("errorCopy")})]})})},cY=cX,cZ=rG().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=i3(),s=window.location??{pathname:""},a=r8(n??"");return e.isChildOfHeader&&n&&a.length>0?(0,sO.jsxs)(sD.SideNav,{"aria-label":tp("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sO.jsx)(r7,{name:"global-nav-menu-slot"}),n?(0,sO.jsx)(ix,{value:r,fallback:(0,sO.jsx)(r7,{name:n,state:{basePath:o,currentPath:s,...i}}),children:(0,sO.jsx)(rz.Provider,{value:r,children:(0,sO.jsx)(r7,{name:n,state:{basePath:o,currentPath:s,...i}})})}):null]}):null}),cQ=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,s]=(0,rV.useState)(""),a=(0,rV.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=(0,iT.A)(t,tA,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rV.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:f,setPage:p}=function(e,t=0,n=""){let o=i$(n),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=(0,iK.Ay)(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tC}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),n&&s.append("_getpagesoffset",""+n*t),e&&s.append("_tag",e),"string"==typeof o&&""!==o&&s.append("name:contains",o),i+s.toString()},tA);return(0,rV.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(n,o,i),g=(0,rV.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rV.useCallback)(e=>{r(),s(e.trim())},[r]),w=se((0,rV.useCallback)(()=>{!m&&d&&p(e=>e+1)},[m,d,p])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsx)(sD.Search,{"aria-describedby":f?`${a}-error`:void 0,labelText:tp("searchForLocation"),id:a,placeholder:tp("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),f&&(0,sO.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,sO.jsx)(sD.InlineNotification,{kind:"error",subtitle:tp("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tp("error","Error")})}),(0,sO.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,sO.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sO.jsx)(sD.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sO.jsx)(sD.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sO.jsx)(sD.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sO.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sO.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,sO.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tp("noResultsToDisplay")})})}),m&&(0,sO.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,sO.jsx)(sD.InlineLoading,{description:tp("loading")})})]})})]})},c0=R("modalState",{modalContainer:null,modalStack:[]}),c1=0;async function c2(e,t,n={}){let o=rC(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,s=await i(),a=c1++;r=await rU({...s,name:`${t}-${a}`},{...n,domElement:e})}else y(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c5(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function c6(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c8(e){return e.find(e=>!c5(e))}function c3(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let c4=window.getComputedStyle(document.body).overflow;function c7({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",ue),document.body.style.overflow="hidden",t.style.visibility="unset");let n=c8(e);e.forEach(e=>{switch(e.state){case"NEW":{let n=function({size:e}){let t=document.createElement("div");return t.className=`cds--modal-container cds--modal-container--${e}`,t.setAttribute("role","dialog"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-modal","true"),t}({size:e.props?.size??"md"});e.container=n,e.state="MOUNTING",c2(n,e.modalName,e.props).then(o=>{c5(e)?c6(e.modalName,o):o?(e.parcel=o,t.prepend(n),c3(e,c8(c0.getState().modalStack)===e),o.mountPromise.then(()=>{c5(e)||(e.state="MOUNTED")},t=>{y(t),e.parcel=null,c9(e)})):c9(e)},t=>{y(t),c9(e)});break}case"MOUNTING":case"MOUNTED":c3(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),c6(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=c0.getState();c0.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=c4,removeEventListener("keydown",ue)}function c9(e){if(c5(e))return;e.state="TO_BE_DELETED";let t=c0.getState();c0.setState({...t,modalStack:[...t.modalStack]})}function ue(e){"Escape"===e.key&&function(){let[e]=c0.getState().modalStack;e&&c9(e)}()}function ut(e){c0.subscribe(c7),c0.setState({...c0.getState(),modalContainer:e})}function un(e,t={},n=()=>{}){let o=()=>{let e=c0.getState().modalStack.find(e=>e.onClose===n);e&&c9(e)};if(rC(e)){var r;let i,s;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},s=[r,...(i=c0.getState()).modalStack],c0.setState({...i,modalStack:s})}else y(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}var uo=n(9685);let ur=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:s}=e;return(0,sO.jsx)(sD.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},ui=({subject:e})=>{let[t,n]=(0,rV.useState)([]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sO.jsx)(sO.Fragment,{children:t.map(e=>(0,sO.jsx)(ur,{notification:e},e.id))})},us=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rV.useState)(t);return(0,sO.jsx)(sD.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tp("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),a&&d(a)},statusIconDescription:tp("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:s,inline:!0,...c})},ua=({subject:e})=>{let[t,n]=(0,rV.useState)([]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sO.jsx)(sO.Fragment,{children:t.map(e=>(0,sO.jsx)(us,{notification:e},e.id))})};class ul{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"listeners",new Set)}}let uc=new ul,uu=0,ud=new ul,um=0;function uf(e){e&&(0,r9.createRoot)(e).render((0,sO.jsx)(ui,{subject:uc}))}function up(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,uo.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{uc.next({...e,id:uu++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function ug(e){e&&(0,r9.createRoot)(e).render((0,sO.jsx)(ua,{subject:ud}))}function uh(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,uo.A)(t))?setTimeout(()=>{ud.next({...e,id:um++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let uw=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],u_=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uy={container:"-esm-devtools__numeric-observation-module__container___NfxbH",card:"-esm-devtools__numeric-observation-module__card___9oQAh","abnormal-value":"-esm-devtools__numeric-observation-module__abnormal-value___drvEi","critical-value":"-esm-devtools__numeric-observation-module__critical-value___JAIHt",cell:"-esm-devtools__numeric-observation-module__cell___lTunW","critically-high":"-esm-devtools__numeric-observation-module__critically-high___aDUjc","critically-low":"-esm-devtools__numeric-observation-module__critically-low___5srAK",high:"-esm-devtools__numeric-observation-module__high___7KiyK",low:"-esm-devtools__numeric-observation-module__low___Zs2ct","label-container":"-esm-devtools__numeric-observation-module__label-container___lGnGH","value-container":"-esm-devtools__numeric-observation-module__value-container___hHPXt",label:"-esm-devtools__numeric-observation-module__label___WFuxk",value:"-esm-devtools__numeric-observation-module__value___6fHUr",units:"-esm-devtools__numeric-observation-module__units___EdVuw","pad-right":"-esm-devtools__numeric-observation-module__pad-right___6T9Cd","off-scale-low":"-esm-devtools__numeric-observation-module__off-scale-low___Sc1CV","off-scale-high":"-esm-devtools__numeric-observation-module__off-scale-high___cWpU2",arrow:"-esm-devtools__numeric-observation-module__arrow___SLGUh"},uv=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:s="card",patientUuid:a})=>{let l=(0,rV.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tE}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tE}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=(0,iT.A)(n,tA),s=o?.data?.results?.[0];return{referenceRange:s?{hiNormal:s.hiNormal??null,hiAbsolute:s.hiAbsolute??null,hiCritical:s.hiCritical??null,lowNormal:s.lowNormal??null,lowAbsolute:s.lowAbsolute??null,lowCritical:s.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,a),d=r??c,m=(0,rV.useMemo)(()=>{if(o)return o?"--"===o?"normal":uw.includes(o)?o.toLowerCase():u_.includes(o)?o:"normal":void 0;if(d&&!u){if(!d||null==e||""===e)return"normal";let t="string"==typeof e?Number.parseFloat(e):e;return Number.isNaN(t)?"normal":null!==d.hiAbsolute&&void 0!==d.hiAbsolute&&t>d.hiAbsolute?"off_scale_high":null!==d.hiCritical&&void 0!==d.hiCritical&&t>=d.hiCritical?"critically_high":null!==d.hiNormal&&void 0!==d.hiNormal&&t>d.hiNormal?"high":null!==d.lowAbsolute&&void 0!==d.lowAbsolute&&t<d.lowAbsolute?"off_scale_low":null!==d.lowCritical&&void 0!==d.lowCritical&&t<=d.lowCritical?"critically_low":null!==d.lowNormal&&void 0!==d.lowNormal&&t<d.lowNormal?"low":"normal"}return"normal"},[o,d,e,u])??"normal",f="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,p="normal"!==m,g=n?`omrs-numeric-obs-label-${n.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,y=_?e:tp("notAvailable","Not available"),v=s$()({[uy["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uy["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uy.low]:"low"===m,[uy.high]:"high"===m,[uy["off-scale-low"]]:"off_scale_low"===m,[uy["off-scale-high"]]:"off_scale_high"===m}),b=s$()({[uy.container]:!0,[uy.card]:!0,[uy["critical-value"]]:f,[uy["abnormal-value"]]:p&&!f}),x=s$()({[uy.cell]:!0,[v]:!0});return"cell"===s?(0,sO.jsxs)("div",{className:x,children:[y,_&&t?` ${t}`:""]}):(0,sO.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,sO.jsxs)("div",{className:uy["label-container"],children:[(0,sO.jsx)("span",{id:g,className:uy.label,children:n}),p&&(0,sO.jsx)("span",{className:uy[m.replace("_","-")],title:tp("abnormalValue","Abnormal value")})]}),(0,sO.jsxs)("div",{className:uy["value-container"],children:[(0,sO.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:uy.value,children:y}),_&&t&&(0,sO.jsx)("span",{id:w,className:uy.units,children:t})]})]})},ub="-esm-devtools__page-header-module__pageHeader___YOpQL",ux=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,sO.jsx)("div",{className:s$()(ub,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,sO.jsx)("div",{className:s$()(ub,o),...r,children:(0,sO.jsx)(uS,{title:t,illustration:n})})}},uS=({title:e,illustration:t,className:n})=>{let[o,r]=(0,rV.useState)(null);return(0,rV.useEffect)(()=>{eL("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sO.jsxs)("div",{className:s$()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,sO.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,sO.jsx)("p",{children:tp(o.implementationName)}),(0,sO.jsx)("h1",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},uk=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=so(t,e,o,i),c="tablet"===i5(),u=tp("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sO.jsx)(sO.Fragment,{children:e>0&&(0,sO.jsxs)("div",{className:s$()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,sO.jsxs)("div",{children:[u,r&&(0,sO.jsx)(rq,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:s??tp("seeAll","See all")})]}),(0,sO.jsx)(sD.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:a,totalItems:e,onChange:n,pageRangeText:(e,t)=>tp("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uj(e){return uE(uP(e,"usual","official"))}function uN(e){return uj(e)}function uE(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function uC(e){return uE(e)}function uP(e,...t){for(let n of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,o;return t=e,o=n,t.use?t.use===o:"usual"===o});if(t)return t}}function uI(e,t=su()){let n=su(t),o=cn(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),s=n.diff(o,"weeks"),a=n.diff(o,"months"),l=n.diff(o,"years"),c={};if(r<2)c.minutes=n.diff(o,"minutes");else if(i<2)c.hours=r;else if(s<4)c.days=i;else if(l<1){let e=n.subtract(s,"weeks").diff(o,"days");c.weeks=s,c.days=e}else if(l<2){let e=n.subtract(a,"months").diff(o,"days");c.months=a,c.days=e}else if(l<18){let e=n.subtract(l,"year").diff(o,"months");c.years=l,c.months=e}else c.years=l;return c}function uA(e,t=su()){let n=uI(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),ct(n,o)}let uO={container:"-esm-devtools__patient-banner-patient-info-module__container___Gjd-4",activePatientContainer:"-esm-devtools__patient-banner-patient-info-module__activePatientContainer___QLcpg",patientBanner:"-esm-devtools__patient-banner-patient-info-module__patientBanner___7nrgC",patientName:"-esm-devtools__patient-banner-patient-info-module__patientName___-bF9a",patientAvatar:"-esm-devtools__patient-banner-patient-info-module__patientAvatar___AkN3H",patientAvatarButton:"-esm-devtools__patient-banner-patient-info-module__patientAvatarButton___KDxA6",patientInfo:"-esm-devtools__patient-banner-patient-info-module__patientInfo___+WtDB",demographics:"-esm-devtools__patient-banner-patient-info-module__demographics___Vtf3v",row:"-esm-devtools__patient-banner-patient-info-module__row___NIOYI",flexRow:"-esm-devtools__patient-banner-patient-info-module__flexRow___VxdGB",tagsSlot:"-esm-devtools__patient-banner-patient-info-module__tagsSlot___lU6+4",identifiers:"-esm-devtools__patient-banner-patient-info-module__identifiers___tehd8",identifier:"-esm-devtools__patient-banner-patient-info-module__identifier___bSJIF",primaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__primaryIdentifier___yOV1B",secondaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__secondaryIdentifier___WvJbh",value:"-esm-devtools__patient-banner-patient-info-module__value___sBM-q",tag:"-esm-devtools__patient-banner-patient-info-module__tag___BEvEV",gender:"-esm-devtools__patient-banner-patient-info-module__gender___4XkLq",separator:"-esm-devtools__patient-banner-patient-info-module__separator___iYBA3",tooltipPadding:"-esm-devtools__patient-banner-patient-info-module__tooltipPadding___EWVCK",tooltipSmallText:"-esm-devtools__patient-banner-patient-info-module__tooltipSmallText___yDmRU",actionsButtonText:"-esm-devtools__patient-banner-patient-info-module__actionsButtonText___mn139"};function uR({showIdentifierLabel:e,type:t,value:n}){return(0,sO.jsx)("span",{className:uO.primaryIdentifier,children:(0,sO.jsxs)(sD.Tag,{className:uO.tag,type:"gray",children:[e&&t?.text&&(0,sO.jsxs)("span",{className:uO.label,children:[t.text,": "]}),(0,sO.jsx)("span",{className:uO.value,children:n})]})})}function u$({showIdentifierLabel:e,type:t,value:n}){return(0,sO.jsxs)(sD.FormLabel,{className:uO.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,sO.jsxs)("span",{className:uO.label,children:[t?.text,": "]}),(0,sO.jsx)("span",{className:uO.value,children:n})]})}function uT({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=iO(),{primaryIdentifierCode:o}=ss(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,sO.jsx)(sO.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,sO.jsxs)(rG().Fragment,{children:[(0,sO.jsx)("span",{className:uO.identifier,children:n?.coding?.[0]?.code===o?(0,sO.jsx)(uR,{showIdentifierLabel:t,type:n,value:e}):(0,sO.jsx)(u$,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,sO.jsx)("span",{className:uO.separator,children:"\xb7"})]},e)):""})}let uM={Female:ab,Male:ax,Other:aS,Unknown:ak},uL=({gender:e})=>{let t=uM[e];return t?(0,sO.jsx)(t,{fill:"#525252"}):null},uW={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uD({patient:e,renderedFrom:t}){var n;let o,r,i=uj(e),s=e?.gender&&(r=uW[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tp(o,n),iconKey:r}),a=(0,rV.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sO.jsxs)("div",{className:uO.patientInfo,children:[(0,sO.jsx)("div",{className:s$()(uO.row,uO.patientNameRow),children:(0,sO.jsxs)("div",{className:uO.flexRow,children:[(0,sO.jsx)("span",{className:uO.patientName,children:i}),s&&(0,sO.jsxs)("div",{className:uO.gender,children:[(0,sO.jsx)(uL,{gender:s.iconKey}),(0,sO.jsx)("span",{children:s.displayText})]}),(0,sO.jsx)(r7,{className:uO.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,sO.jsxs)("div",{className:uO.demographics,children:[e.birthDate&&(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsx)("span",{children:uA(e.birthDate)}),(0,sO.jsx)("span",{className:uO.separator,children:"\xb7"}),(0,sO.jsx)("span",{children:l8(e.birthDate,{time:!1})}),(0,sO.jsx)("span",{className:uO.separator,children:"\xb7"})]}),(0,sO.jsx)(uT,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sO.jsx)(r7,{className:uO.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uU=n(7683);function uB({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,rV.useState)(!1),{extensions:s}=r3(n),a="tablet"===i5(),l=i9(()=>i(!1),r),c=(0,rV.useRef)(null),u=(0,rV.useRef)(null),d=(0,rV.useId)(),m=`patient-actions-menu-trigger-${d}`,f=`patient-actions-menu-${d}`,p=(0,rV.useCallback)(()=>i(e=>!e),[]),g=(0,rV.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rV.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rV.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,rV.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===s.length?null:(0,sO.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sO.jsxs)("div",{"data-overflow-menu":!0,className:s$()("cds--overflow-menu",sF),ref:l,children:[(0,sO.jsxs)("button",{className:s$()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sG),"aria-controls":f,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:p,onKeyDown:h,ref:c,children:[(0,sO.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tp("actions","Actions")})," ",(0,sO.jsx)(uU.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sO.jsxs)("div",{className:s$()("cds--overflow-menu-options","cds--overflow-menu--flip",sH,{[sV]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:f,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sO.jsx)("ul",{className:s$()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,sO.jsx)(r7,{name:n,state:w},n)}),(0,sO.jsx)("span",{})]})]})})}var uF=n(397),uH=n.n(uF);function uV(e){let{patientPhotoConceptUuid:t}=iO({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tE}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=(0,io.u)(e?n:null,tA),s=o?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uG=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,it.useTranslation)();return(0,sO.jsxs)("svg",{"aria-label":n??o("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,sO.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sO.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"m36.75 20.134-.884-.884L19.25 35.866l.884.884 1.25-1.25H34.25a1.252 1.252 0 0 0 1.25-1.25V21.384l1.25-1.25Zm-2.5 14.116H22.634l4.87-4.87 1.487 1.486a1.25 1.25 0 0 0 1.768 0l.991-.991 2.5 2.498v1.877Zm0-3.645-1.616-1.616a1.25 1.25 0 0 0-1.768 0l-.991.991-1.486-1.486 5.861-5.86v7.971Zm-12.5 1.145v-1.875l3.125-3.123.858.859.885-.885-.86-.86a1.25 1.25 0 0 0-1.767 0l-2.241 2.242V21.75h10V20.5h-10c-.69 0-1.25.56-1.25 1.25v10h1.25Z",fill:"#8D8D8D"})]})},uz="-esm-devtools__patient-photo-module__avatar___t5TmZ";function uq({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=uV(e),[i,s]=(0,rV.useState)(null),[a,l]=(0,rV.useState)(!1),c=(0,rV.useMemo)(()=>uH().generate(e),[e]);(0,rV.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(s(e),l(!1))},n.onerror=()=>{t||(s(null),l(!1))},n.src=e,()=>{t=!0}}s(null),l(!1)},[o?.imageSrc]);let u=(0,rV.useMemo)(()=>n||(i?tp("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tp("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||a?(0,sO.jsx)(sD.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,sO.jsx)(uG,{"aria-label":tp("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sO.jsx)("div",{"aria-label":u,children:(0,sO.jsx)("img",{className:uz,src:i,alt:u,title:t})}):(0,sO.jsx)("div",{"aria-label":u,children:(0,sO.jsx)("div",{className:uz,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sO.jsx)("span",{className:"-esm-devtools__patient-photo-module__initials___-k9Hv",children:function(e,t=3){return e.split(/\s+/).filter(Boolean).slice(0,t).map(e=>e[0]).join("")}(t)})})})}let uJ=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-cohorts","omrs-pict-concept-dictionary","omrs-pict-ct-scan","omrs-pict-data-entry","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-documents","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-reports","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-system-administration","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],uK=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),uX=uK,uY=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),uZ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),uQ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),u0=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-cohorts",pictogramProps:e})})),u2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-concept-dictionary",pictogramProps:e})})),u5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),u6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-data-entry",pictogramProps:e})})),u8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),u3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),u4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),u9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),de=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),dt=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),dn=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),dr=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),di=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),ds=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),da=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-patient-documents",pictogramProps:e})})),dl=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),dc=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),du=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),dd=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dm=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),df=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),dp=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-reports",pictogramProps:e})})),dg=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),dh=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dw=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-system-administration",pictogramProps:e})})),d_=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dy=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dv=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sO.jsx)(dk,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),db=u7,dx=dc,dS=(0,rV.memo)((0,rV.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,rV.useRef)(document.getElementById(e));return(0,rV.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sO.jsx)(ix,{value:r.current,fallback:t,children:(0,sO.jsx)(dk,{ref:o,pictogram:e,pictogramProps:n})})})),dk=(0,rV.memo)((0,rV.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,sO.jsx)("svg",{ref:n,className:s$()("-esm-devtools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,sO.jsx)("use",{href:`#${e}`})})})),dj=({children:e})=>"tablet"===i5()?(0,sO.jsx)(sD.Layer,{children:e}):(0,sO.jsx)(sO.Fragment,{children:e}),dN=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:s,subtitle:a="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[f,p]=(0,rV.useState)(n),[g,h]=(0,rV.useState)(!0),[w,_]=(0,rV.useState)(!1),y=(0,rV.useCallback)(()=>{setTimeout(t,250)},[t]),v=(0,rV.useCallback)(()=>{_(!0),y()},[y]);return(0,rV.useEffect)(()=>{if(c){let e=setTimeout(v,l);return()=>clearTimeout(e)}},[l,c,v]),(0,rV.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sO.jsx)(sD.ActionableNotification,{actionButtonLabel:f,"aria-label":tp("closeSnackbar","Close snackbar"),className:s$()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":w}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),v(),s&&p(s)},onClose:y,statusIconDescription:tp("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},dE=({subject:e})=>{let[t,n]=(0,rV.useState)([]),o=(0,rV.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sO.jsx)(sO.Fragment,{children:t.map(e=>(0,sO.jsx)(dN,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},dC=new ul,dP=0;function dI(e){e&&(0,r9.createRoot)(e).render((0,sO.jsx)(dE,{subject:dC}))}function dA(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dC.next({...e,id:dP++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dO=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rV.useCallback)(()=>{a(),t()},[t,a]);return(0,sO.jsx)("div",{children:(0,sO.jsx)(sD.ActionableNotification,{actionButtonLabel:s,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},dR=({subject:e})=>{let[t,n]=(0,rV.useState)([]),o=(0,rV.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,sO.jsx)(sO.Fragment,{children:t.map(e=>(0,sO.jsx)(dO,{toast:e,closeToast:()=>o(e)},e.id))})},d$=new ul,dT=0;function dM(e){e&&(0,r9.createRoot)(e).render((0,sO.jsx)(dR,{subject:d$}))}function dL(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,uo.A)(t))?setTimeout(()=>{d$.next({...e,id:dT++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}var dW=n(4656);async function dD(e,t){let{openedGroup:n}=rP.getState();if(n){if(n.groupName===e&&dF(n.props,t))return!0;else if(!await dG({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rP.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function dU(e){let{openedGroup:t,openedWindows:n}=rP.getState();if(t){if(n.length>0&&!(e||await dG({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rP.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function dB(e,t=null,n=null,o=null){let r=rP.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rI(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rA(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rO(e);if(s&&(s.groupName!==l.name||!dF(s.props,o)))return!!await dG({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:a,openedWorkspaces:[d2(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},s=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(dF(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&dF(d.props,t)?((s||c!==r.openedWindows.length-1)&&rP.setState(dY.restoreWindow(r,a)),!0):!!await dG({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d2(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await dG({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d2(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rP.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[d2(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await dG({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[d2(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function dF(e,t){return null==e||null==t||x(e,t)}function dH(e,t){let n=[];for(let o=e.openedWorkspaces.length-1;o>=0;o--){let r=e.openedWorkspaces[o];if(r.hasUnsavedChanges&&n.push(r),t&&r.workspaceName===t)break}return n}function dV(e){return 0===e.length?Promise.resolve(!0):new Promise(t=>{let n=un("workspace2-close-prompt",{size:"sm",onConfirm:()=>{n(),t(!0)},onCancel:()=>{n(),t(!1)},affectedWorkspaceTitles:e.map(e=>e.title??"")})})}function dG(e){let{openedWindows:t}=rP.getState(),n=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":n=t.flatMap(e=>dH(e));break;case"CLOSE_WINDOW":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dH(o);break}case"CLOSE_WORKSPACE":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dH(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":n=t.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>dH(e))}return dV(n)}function dz(e,t){return dV(dH(e,t))}function dq(e,t){let n=e.openedWorkspaces.findIndex(e=>e.workspaceName===t);return n<0?e:0===n?null:{...e,openedWorkspaces:e.openedWorkspaces.slice(0,n)}}function dJ(e,t,n,o){let{registeredWorkspacesByName:r}=rP.getState(),i=r[n];if(!i)throw Error(`No workspace named "${n}" registered`);let s=r[t];if(!s)throw Error(`No workspace named "${t}" registered`);if(s.window!==i.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);if(i.window!==e.windowName)throw Error(`Cannot open child workspace ${n} as window ${i.window} is not opened`);let{openedWorkspaces:a}=e,l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{...e,openedWorkspaces:[...c,d2(n,o)]}}function dK(e,t,n){let o=e.openedWorkspaces.findIndex(e=>e.uuid===t);if(o<0)return e;let r=e.openedWorkspaces[o];if(Object.keys(n).every(e=>r[e]===n[e]))return e;let i=[...e.openedWorkspaces];return i[o]={...r,...n},{...e,openedWorkspaces:i}}function dX(e,t,n){let o=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.uuid===t));if(o<0)return e;let r=e.openedWindows[o],i=dK(r,t,n);if(i===r)return e;let s=[...e.openedWindows];return s[o]=i,{...e,openedWindows:s}}let dY={setWindowMaximized(e,t,n){let o=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[o],maximized:n};return r[o]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let n=e.openedWindows.findIndex(e=>e.windowName===t),o=e.openedWindows[n],r=[...e.openedWindows.filter((e,t)=>t!==n),o];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let n=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.workspaceName===t));if(n<0)return e;let o=dq(e.openedWindows[n],t),r=[...e.openedWindows],i=e.isMostRecentlyOpenedWindowHidden;if(null===o){let t=n===e.openedWindows.length-1;r.splice(n,1),t&&r.length>0&&(i=!1)}else r[n]=o;return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:i}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==i)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let s=[...e.openedWindows];return s[i]=dJ(e.openedWindows[i],t,n,o),{...e,openedWindows:s}},setHasUnsavedChanges:(e,t,n)=>dX(e,t,{hasUnsavedChanges:n}),setWorkspaceTitle:(e,t,n)=>dX(e,t,{title:n})};function dZ(){return rQ(rP,dY)}let dQ=()=>(0,rV.useContext)(ie.i),d0=()=>Object.keys(rP.getState().registeredWorkspacesByName);function d1(e,t,n){let o=e.openedWorkspaces[e.openedWorkspaces.length-1];return(o?t[o.workspaceName]?.width:void 0)??n[e.windowName]?.width??"narrow"}function d2(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,dW.A)()}}function d5(e,t,n){let o=rP.getState().registeredWorkspacesByName[e];return o?{windowName:o.window,openedWorkspaces:[d2(e,t)],props:n??null,maximized:!1}:null}let d6=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let{setHasUnsavedChanges:o,setWorkspaceTitle:r}=dQ();return(0,rV.useEffect)(()=>{o(n??!1)},[n,o]),(0,rV.useEffect)(()=>{r(e)},[e,r]),(0,sO.jsx)(sO.Fragment,{children:t})};var d8=n(1820),d3=n(3173),d4=n(185);let d7={workspaceOuterContainer:"-esm-devtools__workspace2-module__workspaceOuterContainer___bPVpy",narrowWorkspace:"-esm-devtools__workspace2-module__narrowWorkspace___kSYS7",widerWorkspace:"-esm-devtools__workspace2-module__widerWorkspace___nW2HB",extraWideWorkspace:"-esm-devtools__workspace2-module__extraWideWorkspace___em5yA",workspaceMiddleContainer:"-esm-devtools__workspace2-module__workspaceMiddleContainer___Bx1i6",maximized:"-esm-devtools__workspace2-module__maximized___Kfygr",hidden:"-esm-devtools__workspace2-module__hidden___RPimX",workspaceInnerContainer:"-esm-devtools__workspace2-module__workspaceInnerContainer___5zxpt",workspaceSpacer:"-esm-devtools__workspace2-module__workspaceSpacer___E+982",loader:"-esm-devtools__workspace2-module__loader___vmBQn",hiddenExtraWorkspace:"-esm-devtools__workspace2-module__hiddenExtraWorkspace___qkbMG",header:"-esm-devtools__workspace2-module__header___IZ-2+",headerButtons:"-esm-devtools__workspace2-module__headerButtons___81a2N",workspaceContent:"-esm-devtools__workspace2-module__workspaceContent___eetPy",overlayHeaderSpacer:"-esm-devtools__workspace2-module__overlayHeaderSpacer___ruc6r",isActionMenuOpened:"-esm-devtools__workspace2-module__isActionMenuOpened___XgCkc",showActionMenu:"-esm-devtools__workspace2-module__showActionMenu___sHRt1",marginWorkspaceContent:"-esm-devtools__workspace2-module__marginWorkspaceContent___TN+S+",workspaceContainerWithActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithActionMenu___xLg8e",workspaceFixedContainer:"-esm-devtools__workspace2-module__workspaceFixedContainer___W9cgZ",workspaceContainerWithoutActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithoutActionMenu___fRrxd"},d9=e=>e.registeredWorkspacesByName,me=({lifeCycle:e,openedWorkspace:t,openedWindow:n,groupProps:o,actions:r,renderChrome:i,isRootWorkspace:s,isLeafWorkspace:a,showActionMenu:l})=>{let c=(0,rV.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:i=!1}=e;return o?!!(i||await r.promptForClosingWorkspaces())&&(r.closeWorkspace(n.openedWorkspaces[0].workspaceName),!0):!!(i||await r.promptForClosingWorkspaces(t.workspaceName))&&(r.closeWorkspace(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let i=t.workspaceName,{openedWorkspaces:s}=n,a=s.findIndex(e=>e.workspaceName===i);-1===a||a!==s.length-1&&s.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await r.promptForClosingWorkspaces(s[a+1].workspaceName)||r.openChildWorkspace(i,e,o||{})},setWorkspaceTitle:e=>r.setWorkspaceTitle(t.uuid,e),setHasUnsavedChanges:e=>r.setHasUnsavedChanges(t.uuid,e),workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:o,workspaceMeta:rP.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:s,isLeafWorkspace:a,windowName:n.windowName,showActionMenu:l},[t,n,o,r,s,a,l]),u=!i&&!a,d=(0,rV.useMemo)(()=>e?(0,sO.jsx)(d8.A,{config:e,mountParcel:rF,wrapWith:"div",wrapClassName:s$()(d7.workspaceContent,{[d7.hiddenExtraWorkspace]:u}),...c},t.workspaceName):null,[e,t.workspaceName,c,u]);return i?(0,sO.jsx)(mt,{openedWorkspace:t,openedWindow:n,isRootWorkspace:s,showActionMenu:l,closeWindow:()=>c.closeWorkspace({closeWindow:!0}),children:d}):d??(0,sO.jsx)(sD.InlineLoading,{className:s$()(d7.loader,{[d7.hiddenExtraWorkspace]:u}),description:`${tp("loading")}`})},mt=({openedWorkspace:e,openedWindow:t,isRootWorkspace:n,showActionMenu:o,closeWindow:r,children:i})=>{let s=i5(),{openedGroup:a,openedWindows:l,registeredWindowsByName:c,registeredWorkspacesByName:u,registeredGroupsByName:d,isMostRecentlyOpenedWindowHidden:m,setWindowMaximized:f,hideWindow:p}=dZ(),g=t.windowName,{maximized:h}=t,w=e.title??"",_=c[g],y=d1(t,u,c),v=_?.icon,b=_?.canMaximize,x=!!a&&d[a.groupName]?.persistence==="closable",S=!!v&&!x,k=l.findIndex(e=>e.windowName===g)<l.length-1||m,j=Object.values(c).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,sO.jsxs)("div",{className:s$()(d7.workspaceOuterContainer,{[d7.narrowWorkspace]:"narrow"===y,[d7.widerWorkspace]:"wider"===y,[d7.extraWideWorkspace]:"extra-wide"===y,[d7.isActionMenuOpened]:j}),children:[(0,sO.jsx)("div",{className:s$()(d7.workspaceSpacer,{[d7.hidden]:k})}),(0,sO.jsx)("div",{className:s$()(d7.workspaceMiddleContainer,{[d7.maximized]:h,[d7.hidden]:k,[d7.isRootWorkspace]:n,[d7.showActionMenu]:o}),children:(0,sO.jsx)("div",{className:s$()(d7.workspaceInnerContainer,{[d7.maximized]:h,[d7.hidden]:k,[d7.isRootWorkspace]:n}),children:i?(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsxs)(sD.Header,{"aria-label":tp("workspaceHeader"),className:d7.header,children:[(0,sO.jsx)(sD.HeaderName,{prefix:"",children:w}),(0,sO.jsx)("div",{className:d7.overlayHeaderSpacer}),(0,sO.jsx)(sD.HeaderGlobalBar,{className:d7.headerButtons,children:i6(s)?(0,sO.jsxs)(sO.Fragment,{children:[(b||h)&&(0,sO.jsx)(sD.HeaderGlobalAction,{"aria-label":h?tp("minimize"):tp("maximize"),onClick:()=>f(g,!h),children:h?(0,sO.jsx)(d3.Xj,{}):(0,sO.jsx)(d3.hz,{})}),S&&(0,sO.jsx)(sD.HeaderGlobalAction,{"aria-label":tp("hide"),onClick:()=>p(),children:(0,sO.jsx)(s5,{})}),!x&&(0,sO.jsx)(sD.HeaderGlobalAction,{"aria-label":tp("close"),onClick:r,children:(0,sO.jsx)(ad,{})})]}):(0,sO.jsxs)(sO.Fragment,{children:[S&&(0,sO.jsx)(sD.HeaderGlobalAction,{"aria-label":tp("hide"),onClick:()=>p(),children:(0,sO.jsx)(d4.d3,{})}),(0,sO.jsx)(sD.HeaderGlobalAction,{"aria-label":tp("close"),onClick:()=>{x?dU():r()},children:(0,sO.jsx)(ad,{})})]})})]}),i]}):(0,sO.jsx)(sD.InlineLoading,{className:d7.loader,description:`${tp("loading")} ...`})})})]})},mn=({openedWindow:e,groupProps:t,actions:n,renderChrome:o,showActionMenu:r})=>{let{openedWorkspaces:i}=e,[s,a]=(0,rV.useState)({}),l=rZ(rP,d9);return(0,rV.useEffect)(()=>{let e=!1;return Promise.all(i.map(async e=>{let t=l[e.workspaceName];if(!t)return null;let{moduleName:n,component:o}=t;return[e.uuid,await sb(n,o)]})).then(t=>{e||a(Object.fromEntries(t.filter(e=>null!=e)))}),()=>{e=!0}},[i,l]),(0,sO.jsx)(sO.Fragment,{children:i.map((a,l)=>(0,sO.jsx)(me,{openedWorkspace:a,openedWindow:e,groupProps:t,actions:n,renderChrome:o,lifeCycle:s[a.uuid],isRootWorkspace:0===l,isLeafWorkspace:l===i.length-1,showActionMenu:r},a.uuid))})},mo=e=>e.registeredWorkspacesByName,mr=({name:e,workspaceProps:t,windowProps:n,groupProps:o,onWindowChanged:r})=>{let i=rZ(rP,mo),s=rZ(rP,t=>{let n=t.registeredWorkspacesByName[e]?.window;return n?t.registeredWindowsByName[n]:void 0}),a={name:e,workspaceProps:t,windowProps:n,groupProps:o},l=(0,rV.useRef)(),c=(0,rV.useRef)(null);if(!l.current){let r=d5(e,t,n);l.current=$({openedWindow:r,groupProps:o??null}),r&&(c.current=a)}let u=l.current;(0,rV.useEffect)(()=>{let r=c.current;if(r&&r.name===e&&x(r.workspaceProps,t)&&x(r.windowProps,n)&&x(r.groupProps,o))return;let i=d5(e,t,n);u.setState({openedWindow:i,groupProps:o??null},!0),c.current=i?a:null},[e,t,n,o,i,u]);let d=(0,rV.useMemo)(()=>(function(e){function t(t){e.setState(e=>{if(!e.openedWindow)return e;let n=t(e.openedWindow);return n===e.openedWindow?e:{...e,openedWindow:n}})}return{closeWorkspace(e){t(t=>dq(t,e))},openChildWorkspace(e,n,o){t(t=>dJ(t,e,n,o))},setWorkspaceTitle(e,n){t(t=>dK(t,e,{title:n}))},setHasUnsavedChanges(e,n){t(t=>dK(t,e,{hasUnsavedChanges:n}))},promptForClosingWorkspaces(t){let{openedWindow:n}=e.getState();return n?dz(n,t):Promise.resolve(!0)}}})(u),[u]),{openedWindow:m,groupProps:f}=rZ(u),p=m?.openedWorkspaces[m.openedWorkspaces.length-1],g=p?.workspaceName??null,h=p?.title??"",w=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=s?.width??"narrow",y=(0,rV.useRef)(r);return(0,rV.useEffect)(()=>{y.current=r}),(0,rV.useEffect)(()=>{y.current?.({workspaceName:g,windowWidth:_,title:h,hasUnsavedChanges:w})},[g,_,h,w]),(0,sO.jsx)("div",{className:"-esm-devtools__exported-workspace-module__exportedWorkspace___7PE0H",children:m?(0,sO.jsx)(mn,{openedWindow:m,groupProps:f,actions:d,renderChrome:!1,showActionMenu:!1}):null})},mi="-esm-devtools__action-menu-button2-module__container___jc6--",ms="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",ma="-esm-devtools__action-menu-button2-module__active___fbyFm",ml="-esm-devtools__action-menu-button2-module__focused___+aVpz";function mc({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,sO.jsxs)(sO.Fragment,{children:[e({size:16}),t?(0,sO.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sO.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let mu=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=i5(),{openedWindows:s,restoreWindow:a,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=dZ(),{extension:u}=(0,rV.useContext)(rz),d=s.findIndex(e=>e.windowName===u?.extensionId),m=s[d],f=null!=m,p=f&&(d<s.length-1||c),g=f&&!p,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(f)p?a(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;dB(e,t,n)}};return"tablet"===i||"phone"===i?(0,sO.jsxs)(sD.Button,{className:s$()(mi,{[ma]:f&&!g,[ml]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,sO.jsx)("span",{className:ms,children:(0,sO.jsx)(mc,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,sO.jsx)("span",{children:t})]}):(0,sO.jsx)(sD.IconButton,{align:"left","aria-label":t,className:s$()(mi,{[ma]:f&&!g,[ml]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,sO.jsx)("div",{className:ms,children:(0,sO.jsx)(mc,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function md({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,sO.jsx)(sD.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?au:aa,children:e?tp("showLess","Show less"):tp("showMore","Show more")})}let mm={contactDetails:"-esm-devtools__patient-banner-contact-details-module__contactDetails___R7vfY",deceased:"-esm-devtools__patient-banner-contact-details-module__deceased___nTt+l",heading:"-esm-devtools__patient-banner-contact-details-module__heading___x7UoT",row:"-esm-devtools__patient-banner-contact-details-module__row___qFgIi",col:"-esm-devtools__patient-banner-contact-details-module__col___JXUlg",relationship:"-esm-devtools__patient-banner-contact-details-module__relationship___T3LO-"},mf=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tE}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=(0,io.u)(t,tA),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rV.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsxs)("p",{className:mm.heading,children:[tp("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,sO.jsx)(sD.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,sO.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>lQ(e?.startDate).getTime()-lQ(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sO.jsx)("li",{children:(0,sO.jsx)(rq,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sO.jsx)("li",{children:"--"})})(),t.length>3&&(0,sO.jsx)("li",{className:mm.link,children:(0,sO.jsx)(rq,{to:`${window.spaBase}/home/patient-lists`,children:tp("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mp=({patientId:e})=>{let{patient:t,isLoading:n}=si(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,sO.jsx)(sD.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsx)("p",{className:mm.heading,children:tp("address","Address")}),(0,sO.jsx)("ul",{children:o?Object.entries(o).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?o.extension?.[0]?.extension?.map((t,n)=>(0,sO.jsxs)("li",{children:[tp(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,sO.jsxs)("li",{children:[tp(e,e),": ",t]},`address-${e}`)):(0,sO.jsx)("li",{children:"--"})})]})},mg=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=iO({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=(0,iT.A)(`${tE}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tA);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,rV.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,rV.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tp(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsx)("p",{className:mm.heading,children:tp("contactDetails","Contact Details")}),t?(0,sO.jsx)(sD.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,sO.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,sO.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,sO.jsx)("li",{children:"--"})})]})},mh=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tE}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:n,error:o,isLoading:r,isValidating:i}=(0,io.u)(e?t:null,tA),s=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?s:null,error:o,isLoading:r,isValidating:i}}(e);return(0,sO.jsxs)(sO.Fragment,{children:[(0,sO.jsx)("p",{className:mm.heading,children:tp("relationships","Relationships")}),n?(0,sO.jsx)(sD.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,sO.jsx)("ul",{children:t&&t.length>0?(0,sO.jsx)(sO.Fragment,{children:t.map(e=>(0,sO.jsxs)("li",{className:mm.relationship,children:[(0,sO.jsx)("div",{children:(0,sO.jsx)(rq,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sO.jsx)("div",{children:e.relationshipType}),(0,sO.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tp("yearAbbreviation","yr"):tp("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sO.jsx)("li",{children:"--"})})]})};function mw({patientId:e,deceased:t}){return(0,sO.jsxs)("div",{className:s$()(mm.contactDetails,{[mm.deceased]:t}),children:[(0,sO.jsxs)("div",{className:mm.row,children:[(0,sO.jsx)("div",{className:mm.col,children:(0,sO.jsx)(mp,{patientId:e})}),(0,sO.jsx)("div",{className:mm.col,children:(0,sO.jsx)(mg,{patientUuid:e})})]}),(0,sO.jsxs)("div",{className:mm.row,children:[(0,sO.jsx)("div",{className:mm.col,children:(0,sO.jsx)(mh,{patientId:e})}),(0,sO.jsx)("div",{className:mm.col,children:(0,sO.jsx)(mf,{patientUuid:e})})]})]})}function m_(e){let t=document.querySelector("template#loading-spinner");if(t){let n=t.content.cloneNode(!0),o=Array.prototype.map.call(n.childNodes,e=>e);return e.appendChild(n),()=>o.forEach(e=>e.remove())}return()=>{}}let my="-esm-devtools__action-menu2-module__container___6Gke0";function mv({workspaceGroup:e,groupProps:t}){let n=i5(),{persistence:o}=e;return(0,sO.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,sO.jsxs)("div",{className:my,children:["closable"==o&&i6(n)&&(0,sO.jsx)(sD.IconButton,{align:"left",onClick:()=>dU(),label:tp("close"),kind:"ghost",children:(0,sO.jsx)(ad,{})}),(0,sO.jsx)(rz.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sO.jsx)(r7,{className:my,name:e.name,state:{groupProps:t}})})]})})}function mb(e){let t=new URL(e,window.location.origin).pathname,n=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,o=n.endsWith("/")?n.slice(0,-1):n,r=null;return o?o===t?r="/":t.startsWith(`${o}/`)&&(r=t.slice(o.length)):r=t,{full:t,spaRelative:r}}function mx(e){e&&(0,r9.createRoot)(e).render((0,sO.jsx)(mS,{}))}function mS(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=dZ();if((0,rV.useEffect)(()=>nq("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(o)return void r(dU().then(e=>!e));let a=n[e.groupName],l=a?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=mb(t),i=mb(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let s=o.exec(r.spaRelative),a=o.exec(i.spaRelative);if(s&&a||(s=o.exec(r.full),a=o.exec(i.full)),!s||!a)return!0;if(s.length>1)return!s.slice(1).every((e,t)=>e===a[t+1]);return!1}catch{return!0}}(l,i,s)&&r(dU().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:s}=r,a=Object.values(o).filter(e=>e.group===s&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sO.jsxs)("div",{className:s$()("-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsAndMenuContainer___2u2mc",{"-esm-devtools__workspace-windows-and-menu-module__overlay___7RHYZ":r.overlay,"-esm-devtools__workspace-windows-and-menu-module__hasMaximizedWindow___gvJRd":i}),children:[(0,sO.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(t=>(0,sO.jsx)(mk,{openedWindow:t,groupProps:e.props,showActionMenu:a},t.windowName))}),a&&(0,sO.jsx)(mv,{workspaceGroup:r,groupProps:e.props})]})}function mk({openedWindow:e,groupProps:t,showActionMenu:n}){let{windowName:o}=e,r=(0,rV.useMemo)(()=>({closeWorkspace(e){rP.setState(t=>dY.closeWorkspace(t,e))},openChildWorkspace(e,t,n){rP.setState(o=>dY.openChildWorkspace(o,e,t,n))},setWorkspaceTitle(e,t){rP.setState(n=>dY.setWorkspaceTitle(n,e,t))},setHasUnsavedChanges(e,t){rP.setState(n=>dY.setHasUnsavedChanges(n,e,t))},promptForClosingWorkspaces(e){let t=rP.getState().openedWindows.find(e=>e.windowName===o);return t?dz(t,e):Promise.resolve(!0)}}),[o]);return(0,sO.jsx)(mn,{openedWindow:e,groupProps:t,actions:r,renderChrome:!0,showActionMenu:n})}function mj(e,t,n){if(null==e)return n;let o=lU(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=lU(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=o;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",n=r.find(e=>e.canonical.startsWith(t));if(n)return n.original;if("ht"===i){i="fr-HT";continue}let o=i.lastIndexOf("-");if(-1===o)break;let s=(i=i.slice(0,o)).lastIndexOf("-");-1!==s&&i.length-s==2&&(i=i.slice(0,s))}return n}function mN(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mE(e){return!!e&&e.constructor===Object}var mC=n(3376);function mP(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function mI(e,t){return mC(function(e){let t=e.indexOf("-");if(t>=0){let n=mP(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return mP(e)}(t),e,{includePrerelease:!0})}async function mA(e,t={}){let n,{shouldRetry:o,getDelay:r,onError:i}=t;o=o??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let s=0;do try{return await mO(r(s)),await e()}catch(e){i?.(e,s),n=e}while(o(s++));throw n}async function mO(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mR(e,t,n,o){}function m$(e){}function mT(e){return Promise.resolve([])}function mM(e){return Promise.resolve([])}function mL(e){return Promise.resolve({success:!1,result:void 0,error:"No service worker has been registered. Offline-related features have been removed from the framework."})}function mW(e){return()=>{}}function mD(){return!0}}}]);
28
+ To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{featureFlag:t}){return t?n=>!!oM(t)&&e(n):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,ta.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,ta.AG)(e,()=>sy(t.appName,t.component),o)}(o,t)}}let sE={PHONE_MIN:0,PHONE_MAX:600,TABLET_MIN:601,TABLET_MAX:1023,SMALL_DESKTOP_MIN:1024,SMALL_DESKTOP_MAX:1439,LARGE_DESKTOP_MIN:1440,LARGE_DESKTOP_MAX:Number.MAX_SAFE_INTEGER};function sC(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sE.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sE.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sE.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sE.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sE.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sE.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sE.SMALL_DESKTOP_MAX)}let sP=!1;function sI(){sP||(window.addEventListener("resize",sC),sC(),sP=!0)}var sA=n(6870),sO=n(5530),sR=n.n(sO);function s$({title:e,children:t}){let n="tablet"===i2();return(0,sA.jsxs)("div",{className:sR()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":n,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,sA.jsx)("h4",{children:e}),t]})}let sT=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sM={primaryColor:{_type:G.String,_description:"The color for displaying primary diagnoses tags",_default:"blue",_validators:[e7.oneOf(sT)]},secondaryColor:{_type:G.String,_description:"The color for displaying secondary diagnoses tags",_default:"gray",_validators:[e7.oneOf(sT)]}},sL={"Brand color #1":{_default:"#005d5d",_type:G.String},"Brand color #2":{_default:"#004144",_type:G.String},"Brand color #3":{_default:"#007d79",_type:G.String},excludePatientIdentifierCodeTypes:{uuids:{_type:G.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:G.UUID}}},implementationName:{_type:G.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},logo:{src:{_type:G.String,_default:"",_description:"The path or URL to the logo shown on the login page and while the server is starting up. If set to an empty string, the default OpenMRS logo is used.",_validators:[e7.isUrl]},alt:{_type:G.String,_default:"Logo",_description:"The alternative text for the logo image, displayed when the image cannot be loaded or on hover."}},patientPhotoConceptUuid:{_type:G.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:G.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e7.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:G.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:G.String}},diagnosisTags:sM};var sW=n(8326);let sD={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sU=e=>(0,sA.jsx)(sW.TableBatchActions,{translateWithId:(e,t)=>{let n=sD[e];return n?tm(n,e,t):e},...e}),sB="-esm-devtools__custom-overflow-menu-module__container___8PykS",sF="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sH="-esm-devtools__custom-overflow-menu-module__show___BserJ",sV="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sG=(0,rF.createContext)(null);function sz(){let e=(0,rF.useContext)(sG);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sq({menuTitle:e,children:t}){let[n,o]=rH().useState(!1),r=i7(()=>o(!1),n),i="tablet"===i2(),s=(0,rF.useCallback)(()=>o(e=>!e),[]),a=(0,rF.useRef)(null),l=(0,rF.useRef)(null),c=(0,rF.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rF.useCallback)(()=>{o(!1),a.current?.focus()},[]),f=(0,rF.useMemo)(()=>({closeMenu:m}),[m]),p=(0,rF.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=rF.Children.toArray(t);(0,rF.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,rF.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,s=i<0?n.length-1:i>=n.length?0:i;n[s]?.focus()},[]),w=g.map((e,t)=>(0,rF.isValidElement)(e)?(0,rF.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sA.jsxs)("div",{"data-overflow-menu":!0,className:sR()("cds--overflow-menu",sB),ref:r,children:[(0,sA.jsx)("button",{className:sR()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sV),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:p,ref:a,children:e}),(0,sA.jsxs)("div",{className:sR()("cds--overflow-menu-options","cds--overflow-menu--flip",sF,{[sH]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:p,ref:l,role:"menu",tabIndex:-1,children:[(0,sA.jsx)("ul",{className:sR()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sA.jsx)(sG.Provider,{value:f,children:w})}),(0,sA.jsx)("span",{})]})]})}function sJ(e){let t=(0,rF.useContext)(sG);return(0,sA.jsx)(sW.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sK=n(2277),sX=n(4194);let sY=["omrs-icon-activity","omrs-icon-add","omrs-icon-arrow-down","omrs-icon-arrow-left","omrs-icon-arrow-right","omrs-icon-arrow-up","omrs-icon-baby","omrs-icon-calendar-heat-map","omrs-icon-calendar","omrs-icon-caret-down","omrs-icon-caret-left","omrs-icon-caret-right","omrs-icon-caret-up","omrs-icon-chart-average","omrs-icon-chart-line","omrs-icon-checkmark-filled","omrs-icon-checkmark-outline","omrs-icon-chemistry","omrs-icon-chevron-down","omrs-icon-chevron-left","omrs-icon-chevron-right","omrs-icon-chevron-up","omrs-icon-close","omrs-icon-close-filled","omrs-icon-close-outline","omrs-icon-document","omrs-icon-document-attachment","omrs-icon-download","omrs-icon-drug-order","omrs-icon-edit","omrs-icon-event-schedule","omrs-icon-events","omrs-icon-gender-female","omrs-icon-gender-male","omrs-icon-gender-other","omrs-icon-gender-unknown","omrs-icon-generic-order-type","omrs-icon-group","omrs-icon-group-access","omrs-icon-hospital-bed","omrs-icon-image-medical","omrs-icon-information","omrs-icon-information-filled","omrs-icon-information-square","omrs-icon-inventory-management","omrs-icon-lab-order","omrs-icon-list-checked","omrs-icon-location","omrs-icon-material-order","omrs-icon-maximize","omrs-icon-medication","omrs-icon-message-queue","omrs-icon-microscope","omrs-icon-mobile-check","omrs-icon-money","omrs-icon-mother","omrs-icon-movement","omrs-icon-overflow-menu--horizontal","omrs-icon-overflow-menu--vertical","omrs-icon-password","omrs-icon-pedestrian-family","omrs-icon-pen","omrs-icon-printer","omrs-icon-procedure-order","omrs-icon-programs","omrs-icon-renew","omrs-icon-referral-order","omrs-icon-report","omrs-icon-reset","omrs-icon-save","omrs-icon-search","omrs-icon-settings","omrs-icon-shopping-cart","omrs-icon-shopping-cart--arrow-down","omrs-icon-sticky-note-add","omrs-icon-switcher","omrs-icon-syringe","omrs-icon-table-of-contents","omrs-icon-table","omrs-icon-time","omrs-icon-tools","omrs-icon-translate","omrs-icon-trash-can","omrs-icon-tree-view--alt","omrs-icon-two-factor-authentication","omrs-icon-user-avatar","omrs-icon-user-follow","omrs-icon-user-xray","omrs-icon-user","omrs-icon-view-off","omrs-icon-view","omrs-icon-warning"],sZ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),sQ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s0=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s1=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s2=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),s4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),s7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),s9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),ae=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),at=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),an=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),ao=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),ar=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),ai=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),as=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),aa=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),al=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),ac=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),au=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-close",iconProps:e})})),ad=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),am=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),af=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-document",iconProps:e})})),ap=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),ag=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-download",iconProps:e})})),ah=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),aw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),a_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),av=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-events",iconProps:e})})),ay=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),ab=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),ax=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),aS=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),ak=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),aj=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aN=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aE=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),aC=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aP=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-information",iconProps:e})})),aI=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),aA=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aO=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),aR=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),a$=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),aT=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aM=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aL=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aW=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),aD=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),aU=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aB=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),aF=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aH=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aV=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),aG=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),az=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aq=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-password",iconProps:e})})),aJ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),aK=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),aX=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),aY=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),aZ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),aQ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),a0=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),a1=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a2=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-save",iconProps:e})})),a6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-search",iconProps:e})})),a8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),a3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),a4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),a7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),a9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),le=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),lt=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),ln=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lo=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-time",iconProps:e})})),lr=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),li=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),ls=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),la=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),ll=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lc=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lu=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),ld=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lm=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-user",iconProps:e})})),lf=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lp=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lg=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(lx,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lh=lg,lw=ap,l_=a$,lv=aC,ly=a7,lb=(0,rF.memo)((0,rF.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,rF.useRef)(e?document.getElementById(e):void 0);return(0,rF.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sA.jsx)(iy,{value:r.current,fallback:t,children:(0,sA.jsx)(lx,{ref:o,icon:e,iconProps:n})})})),lx=(0,rF.memo)((0,rF.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rF.useRef)(null);return(0,rF.useImperativeHandle)(n,()=>s.current),(0,rF.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sA.jsx)("svg",{ref:s,className:sR()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,sA.jsx)("use",{href:`#${e}`})})})),lS=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,r9.useTranslation)(),i=(0,sK.zy)(),s=(0,rF.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,sA.jsx)("div",{children:(0,sA.jsx)(rG,{className:sR()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${n}/${encodeURIComponent(e)}`,children:(0,sA.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,sA.jsx)(lb,{icon:o,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,sA.jsx)("span",{children:r(t)})]})})},e)};function lk(e){return function({basePath:t}){return(0,sA.jsx)(sX.Kd,{children:(0,sA.jsx)(lS,{basePath:t,...e})})}}var lj=n(7715),lN=n(7532),lE=n(3692),lC=n(7615),lP=n(700),lI=n(6816),lA=n(1168);function lO(e){return rH().createElement(lA.C,e)}var lR=n(3010),l$=n(6513),lT=n(6190);function lM(e,t,n=!1){if(null==e)return n?e:void 0;if("string"==typeof e&&!e)return n?null:void 0;if(e instanceof lR.ng||e instanceof lR._l||e instanceof lR.Ip)return t?(0,l$.yP)(e,t):e;{let n=su()(e).toDate(),o=new lR.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,l$.yP)(o,t):o}}function lL(e){if(e)return e.toDate((0,lT.Xj)())}var lW=n(9002);function lD(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lU(e){let t=e??"",n=lD(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function lB(){let e=window.i18next.language,t=lD(e)??e;return"ht"===t&&(t="fr-HT"),t}var lF=n(7883),lH=n(424),lV=n(1492),lG=n(8271);function lz(e,t){var n=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return n.get?n.get.call(e):n.value}sc.extend(sd),sc.extend(lV),sc.extend(lH);let lq="YYYY-MM-DDTHH:mm:ss.SSSZZ";function lJ(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sc(e,lq).isValid()}function lK(e){return sc(e).isToday()}function lX(e){return lJ(e)?sc(e,lq).toDate():null}function lY(e,t=!1){let n=sc(e);return t&&(n=n.utc()),n.format(lq)}function lZ(e){return sc(e).toDate()}var lQ=new WeakMap;let l0=new class{register(e,t){lz(this,lQ).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lz(this,lQ).has(t))return lz(this,lQ).get(t)}if(e.language&&lz(this,lQ).has(e.language))return lz(this,lQ).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lz(this,lQ).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,n){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,n)}(this,lQ,{writable:!0,value:new Map})}};function l1(e,t){l0.register(e,t)}function l2(e){let t=e??lB();return l0.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let l5={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function l6(e,t={}){let n=lB(),o=(0,lF.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lG.A)(o.day)&&(0,lG.A)(o.month)&&(o=Object.assign({},(0,H.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,H.A)(o,"day"),{date:o.day}));let r=sc().set(o).toDate();return(0,lG.A)(o.year)&&(t.year=!1),(0,lG.A)(o.month)&&(t.month=!1),(0,lG.A)(o.date)&&(t.day=!1),l8(r,t)}function l8(e,t){let n,o=t?.locale??lB(),r=new Intl.Locale(o),{calendar:i,mode:s,time:a,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...l5,...{noToday:"am"===r.language},...t},f={calendar:i??l2(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},p=sc(e).isToday();if(p&&!d)n=(n=new Intl.RelativeTimeFormat(o,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(o)+n.slice(1);else{"en"===r.language&&(o="en-GB");let t=new Intl.DateTimeFormat(o,f).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==s&&u&&l&&(t=t.map(l3("-"))),"wide"==s&&(t=t.map(l3(" — "))),"ethiopic"===f.calendar&&(t=t.filter((e,t,n)=>"era"!==e.type&&("literal"!==e.type||!(t<n.length-1)||"era"!==n[t+1].type))),n=t.map(e=>e.value).join("")}return(!0===a||p&&"for today"===a)&&(n+=`, ${l4(e)}`),n}let l3=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function l4(e){return e.toLocaleTimeString(lB(),{hour:"2-digit",minute:"2-digit"})}function l7(e,t){return l8(e,{...t,time:!0})}function l9(e,t){let n=l2("string"==typeof t?new Intl.Locale(t):t);return n?(0,l$.yP)(e,(0,lW.d)(n)):e}function ce(e,t){return new Intl.DurationFormat(lB(),t).format(e)}function ct(e,t){if(null==e)return null;if("string"==typeof e){let n=lB(),o=(0,lF.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,H.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,H.A)(o,"day"),...{date:o.day}}),sc(t).set(o))}return sc(e)}let cn=["years","months","days","hours","minutes","seconds"],co={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},cr={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function ci(e,t=sc(),n){let o,r=sc(t),i=ct(e,r);if(null==i)return null;if("string"==typeof n){let e=co[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:s,largestUnit:a,smallestUnit:l}=n??{};if(void 0!==a||void 0!==l){let e,t=l?co[l]??l:void 0;return e="auto"===a||void 0===a?function(e,t,n){let o=cn.indexOf(n);for(let r=0;r<cn.length;r++){let i=cn[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):co[a]??a,function(e,t,n,o){let r=cn.indexOf(n),i=cn.indexOf(o),s=cn.slice(r,i+1),a={},l=e;for(let e of s){let n=t.diff(l,e);a[e]=n,l=l.add(n,e)}return a}(i,r,e,t??e)}let c=(o=function(e){let t={...cr};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[co[n]??n]=o);return t}(s),r.diff(i,"seconds")<o.seconds?"seconds":r.diff(i,"minutes")<o.minutes?"minutes":r.diff(i,"hours")<o.hours?"hours":r.diff(i,"days")<o.days?"days":r.diff(i,"months")<o.months?"months":"years");return{[c]:r.diff(i,c)}}let cs={style:"short",localeMatcher:"lookup"};function ca(e,t=sc(),n){let o=ci(e,t,n);return null==o?null:ce(o,"object"==typeof n&&n.formatOptions?{...cs,...n.formatOptions}:cs)}let cl=(0,rF.createContext)(null);function cc(){let e=iA({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rF.useMemo)(()=>{let t=lB();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,rF.useMemo)(()=>{let e=l2(t);return void 0!==e?(0,lW.d)(e):void 0},[t]),o=(0,rF.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,rF.useMemo)(()=>n?(0,l$.yP)((0,lT.Ec)((0,lT.Xj)()),n):(0,lT.Ec)((0,lT.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let cu=new lR.ng(1793,1,1);var cd=n(5830),cm=n(5354),cf=n(4745),cp=n(1202);function cg(e,t){return Number.parseInt(l8(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let ch=(0,rF.forwardRef)(function(e,t){let{className:n}=e,o=(0,rF.useContext)(cd.f2),r=(0,rF.useContext)(cd._I),i=o??r,s=(0,rF.useContext)(cl),a=(0,lT.Xj)(),l=l8(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=cg(i.visibleRange.start.toDate(a),s),u=i.maxValue?cg(i.maxValue.toDate(a),s):void 0,d=i.minValue?cg(i.minValue.toDate(a),s):void 0,m=(0,rF.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sA.jsxs)("span",{ref:t,className:n,children:[(0,sA.jsx)("span",{children:l}),(0,sA.jsxs)(cf.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sA.jsx)(cp.p,{}),(0,sA.jsxs)(lC.Y,{children:[(0,sA.jsx)(lP.$,{slot:"increment",children:(0,sA.jsx)(ae,{size:8})}),(0,sA.jsx)(lP.$,{slot:"decrement",children:(0,sA.jsx)(s4,{size:8})})]})]})]})});var cw=n(9588);let c_="-esm-devtools__datepicker-module__inputGroup___+4zks",cv="-esm-devtools__datepicker-module__inputSegment___wiExn",cy="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",cb="-esm-devtools__datepicker-module__invalidText___SxtTL",cx="-esm-devtools__datepicker-module__flatButton___UU1Qp",cS="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",ck="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",cj="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function cN({children:e}){let t=(0,rF.useContext)(lN.Pg),n=(0,rF.useContext)(lN.a8),o=t??n,r=i7(()=>o?.close());return(0,sA.jsx)(cw.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cE=(0,rF.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,s=i?cd._e:cd.Vv;return(0,sA.jsx)(cm.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sA.jsx)(cN,{children:(0,sA.jsxs)(s,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,sA.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,sA.jsx)(lP.$,{className:sR()(cx,cS),slot:"previous",children:(0,sA.jsx)(aa,{size:16})}),(0,sA.jsx)(ch,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,sA.jsx)(lP.$,{className:sR()(cx,cS),slot:"next",children:(0,sA.jsx)(al,{size:16})})]}),(0,sA.jsx)(cd.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sA.jsx)(cd.Zr,{className:sR()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cC=n(8017),cP=n(9774),cI=n(7956);let cA=(0,rF.forwardRef)(function(e,t){let n=(0,rF.useContext)(lN.Pg),[o,r]=(0,lj.JT)({slot:e.slot},t,cP.cQ),{locale:i}=(0,lA.Y)(),s=(0,cI.F)({...o,locale:i,createCalendar:lW.d}),a=(0,rF.useRef)(null),{fieldProps:l,inputProps:c}=(0,cC.cJ)({...o,inputRef:a},s,r),u=(0,rF.useCallback)(()=>{s.isDisabled||n.toggle()},[]);return(0,sA.jsxs)(lj.Kq,{values:[[cP.$,s],[cp.E,{...c,ref:a}],[lC.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,sA.jsx)(lC.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,n)=>(0,rF.cloneElement)(e.children(t),{key:n}))}),(0,sA.jsx)(cp.p,{})]})}),cO=(0,rF.forwardRef)(function(e,t){let n=(0,rF.useContext)(lN.Pg),o=(0,rF.useContext)(lN.a8);return(n??o).isInvalid?(0,sA.jsx)(lg,{ref:t,size:16,...e}):(0,sA.jsx)(s3,{ref:t,size:16,...e})});var cR=n(64),c$=n(5503),cT=n(1697),cM=n(7866),cL=n(8035),cW=n(2231);let cD=(0,rF.forwardRef)(function({segment:e,...t},n){let o=(0,rF.useContext)(cP.$),r=(0,cR.U)(n),{segmentProps:i}=(0,c$.V)(e,o,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,cT.o)(),{hoverProps:c,isHovered:u}=(0,cM.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:s,values:a}=e;return(0,rF.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof n?n({...a,defaultStyle:s||{}}):n,c="function"==typeof o?o({...a,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rF.useCallback)(e=>{e.stopPropagation()},[]);return(0,sA.jsx)("span",{...(0,cL.v)((0,cW.$)(t),i,s,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":o.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":o.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":a||void 0,"data-focus-visible":l||void 0,onClick:m})}),cU={short:!1,size:"md"},cB=(0,rF.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:s,isInvalid:a,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:f,onChangeRaw:p,short:g,size:h,value:w,..._}={...cU,...e},{calendar:v,intlLocale:y,today_:b}=cc(),x=(0,rF.useId)(),S=!!(c??l),k=(0,rF.useMemo)(()=>lM(o,v),[o,v]),j=(0,rF.useMemo)(()=>lM(w,v,!0),[w,v]),N=(0,rF.useMemo)(()=>lM(d,v),[d,v]),E=(0,rF.useMemo)(()=>lM(m??cu,v),[m,v]),C=(0,rF.useMemo)(()=>i||a,[i,a]),P=(0,rF.useMemo)(()=>(p&&f&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),p??(e=>f?.(lL(e)))),[p,f]);return(0,sA.jsx)(lO,{locale:y.toString(),children:(0,sA.jsx)("div",{className:sR()("cds--form-item",n),children:(0,sA.jsx)(lj.Kq,{values:[[cl,y]],children:(0,sA.jsxs)(lN.lr,{className:sR()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:k,isDisabled:r,isInvalid:C,maxValue:N,minValue:E,value:j,shouldForceLeadingZeros:"en"===y.language||void 0,..._,onChange:P,children:[(0,sA.jsxs)("div",{className:"cds--date-picker-container",children:[S&&(0,sA.jsx)(lE.J,{className:sR()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sA.jsxs)(lC.Y,{className:c_,children:[(0,sA.jsx)(cA,{id:S?x:void 0,ref:t,className:sR()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__inputWrapper___kykar",{"-esm-devtools__datepicker-module__inputWrapperSm___KJtg-":"sm"===h,"-esm-devtools__datepicker-module__inputWrapperMd___ablE9":"md"===h||!h||0===h.length,"-esm-devtools__datepicker-module__inputWrapperLg___5dkQp":"lg"===h}),children:e=>"era"!==e.type?(0,sA.jsx)(cD,{className:cv,segment:e}):(0,sA.jsx)(rH().Fragment,{})}),(0,sA.jsx)(lP.$,{className:sR()(cx,{[ck]:"sm"===h,[cS]:"md"===h||!h||0===h.length,[cj]:"lg"===h}),children:(0,sA.jsx)(cO,{})})]}),(0,sA.jsx)(lI.b,{className:cb,children:s})]}),(0,sA.jsx)(cE,{variant:"single",today_:b})]})})})})}),cF=(0,rF.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:f="md",value:p,...g},h){let{calendar:w,intlLocale:_,today_:v}=cc(),y=(0,rF.useId)(),b=!!(a??s),x=(0,rF.useMemo)(()=>{if(p)return{start:lM(p[0],w,!1),end:lM(p[1],w,!1)}},[p,w]),S=(0,rF.useMemo)(()=>{if(t)return{start:lM(t[0],w,!1),end:lM(t[1],w,!1)}},[t,w]),k=(0,rF.useMemo)(()=>lM(u??cu,w,!0),[u,w]),j=(0,rF.useMemo)(()=>lM(c,w,!0),[c,w]),N=(0,rF.useMemo)(()=>n||i,[n,i]),E=(0,rF.useMemo)(()=>(m&&d&&console.error("An OpenmrsDateRangePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),m??(e=>d?.([lL(e.start),lL(e.end)]))),[m,d]);return(0,sA.jsx)(lO,{locale:_.toString(),children:(0,sA.jsx)("div",{className:sR()("cds--form-item",e),children:(0,sA.jsx)(lj.Kq,{values:[[cl,_]],children:(0,sA.jsx)(lN.Ur,{id:b?y:void 0,className:sR()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:j,minValue:k,value:x,defaultValue:S,ref:h,isDisabled:r,...g,onChange:E,children:(0,sA.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,sA.jsx)(lE.J,{className:sR()("cds--label",{"cds--label--disabled":r}),htmlFor:y,children:a??s}),(0,sA.jsxs)(lC.Y,{className:c_,children:[(0,sA.jsxs)("div",{className:sR()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===f,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===f||!f||0===f.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===f}),children:[(0,sA.jsx)(cP.J3,{className:sR()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",cy),slot:"start",children:e=>(0,sA.jsx)(cD,{className:cv,segment:e})}),(0,sA.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,sA.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sA.jsx)(cP.J3,{className:sR()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",cy),slot:"end",children:e=>(0,sA.jsx)(cD,{className:cv,segment:e})})]}),(0,sA.jsx)(lP.$,{className:sR()(cx,{[ck]:"sm"===f,[cS]:"md"===f||!f||0===f.length,[cj]:"lg"===f}),children:(0,sA.jsx)(cO,{})})]}),(0,sA.jsx)(lI.b,{className:cb,children:o}),(0,sA.jsx)(cE,{variant:"range",today_:v,minDate:k,maxDate:j})]})})})})})});var cH=n(9606);let cV=({diagnoses:e,showCertainty:t=!1})=>{let{diagnosisTags:n}=iA({externalModuleName:"@openmrs/esm-styleguide"});return(0,sA.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let o=t&&"PROVISIONAL"===e.certainty,r=1===e.rank?n?.primaryColor??"blue":n?.secondaryColor??"gray";return(0,sA.jsx)(cG,{color:r,isProvisional:o,name:e.display},e.uuid)})})};function cG({color:e,isProvisional:t,name:n}){let[o,r]=(0,rF.useState)(!1),[i,s]=(0,rF.useState)(!1),[a,l]=(0,rF.useState)(!1),c=a||i,u=(0,rF.useRef)(null);(0,rF.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=()=>{let t=e.scrollWidth>e.clientWidth;l(t),t||r(!1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[n,t,c]);let d=sR()("cds--tag","cds--tag--md","cds--layout--size-md",`cds--tag--${e}`,"-esm-devtools__diagnosis-tags-module__diagnosisTag___PFhpl"),m=(0,sA.jsxs)(sA.Fragment,{children:[t&&(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsx)("span",{"aria-hidden":"true",className:"-esm-devtools__diagnosis-tags-module__provisionalMark___8o6l4",children:"?"}),(0,sA.jsxs)("span",{className:"cds--visually-hidden",children:[tm("provisional","Provisional")," "]})]}),(0,sA.jsx)("span",{ref:u,className:"cds--tag__label",children:n})]});return c?(0,sA.jsxs)(cH.k$,{delay:0,closeDelay:150,isOpen:o,onOpenChange:r,children:[(0,sA.jsx)(lP.$,{className:d,"data-testid":"diagnosis-tag",onFocusChange:s,onPress:()=>r(!0),children:m}),(0,sA.jsx)(cH.m_,{className:"-esm-devtools__diagnosis-tags-module__tagTooltip___asRTH",placement:"bottom",offset:4,containerPadding:8,children:n})]}):(0,sA.jsx)("span",{className:d,"data-testid":"diagnosis-tag",children:m})}let cz={action:"-esm-devtools__empty-card-module__action___Y0dul",content:"-esm-devtools__empty-card-module__content___fo0nB",desktopHeading:"-esm-devtools__empty-card-module__desktopHeading___0Cg1N",tabletHeading:"-esm-devtools__empty-card-module__tabletHeading___BogTF",tile:"-esm-devtools__empty-card-module__tile___QB8Ld"},cq=({width:e="64",height:t="64"})=>(0,sA.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sA.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cJ=e=>{let t="tablet"===i2(),n=e.launchForm;return(0,sA.jsx)(sW.Layer,{className:cz.layer,children:(0,sA.jsxs)(sW.Tile,{className:cz.tile,children:[(0,sA.jsx)("div",{className:t?cz.tabletHeading:cz.desktopHeading,children:(0,sA.jsx)("h4",{children:e.headerTitle})}),(0,sA.jsx)(cq,{}),(0,sA.jsx)("p",{className:cz.content,children:tm("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sA.jsx)("p",{className:cz.action,children:n&&(0,sA.jsx)(sW.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tm("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},cK=({error:e,headerTitle:t})=>{let n="tablet"===i2();return(0,sA.jsx)(sW.Layer,{children:(0,sA.jsxs)(sW.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,sA.jsx)("div",{className:n?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,sA.jsx)("h4",{children:t})}),(0,sA.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tm("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sA.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tm("errorCopy")})]})})},cX=cK,cY=rH().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=i8(),s=window.location??{pathname:""},a=r5(n??"");return e.isChildOfHeader&&n&&a.length>0?(0,sA.jsxs)(sW.SideNav,{"aria-label":tm("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sA.jsx)(r3,{name:"global-nav-menu-slot"}),n?(0,sA.jsx)(iy,{value:r,fallback:(0,sA.jsx)(r3,{name:n,state:{basePath:o,currentPath:s,...i}}),children:(0,sA.jsx)(rV.Provider,{value:r,children:(0,sA.jsx)(r3,{name:n,state:{basePath:o,currentPath:s,...i}})})}):null]}):null}),cZ=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,s]=(0,rF.useState)(""),a=(0,rF.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=(0,i$.A)(t,tP,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rF.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:f,setPage:p}=function(e,t=0,n=""){let o=iR(n),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=(0,iJ.Ay)(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tN}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),n&&s.append("_getpagesoffset",""+n*t),e&&s.append("_tag",e),"string"==typeof o&&""!==o&&s.append("name:contains",o),i+s.toString()},tP);return(0,rF.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(n,o,i),g=(0,rF.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rF.useCallback)(e=>{r(),s(e.trim())},[r]),w=i9((0,rF.useCallback)(()=>{!m&&d&&p(e=>e+1)},[m,d,p])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsx)(sW.Search,{"aria-describedby":f?`${a}-error`:void 0,labelText:tm("searchForLocation"),id:a,placeholder:tm("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),f&&(0,sA.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,sA.jsx)(sW.InlineNotification,{kind:"error",subtitle:tm("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tm("error","Error")})}),(0,sA.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,sA.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sA.jsx)(sW.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sA.jsx)(sW.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sA.jsx)(sW.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sA.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sA.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,sA.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tm("noResultsToDisplay")})})}),m&&(0,sA.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,sA.jsx)(sW.InlineLoading,{description:tm("loading")})})]})})]})},cQ=R("modalState",{modalContainer:null,modalStack:[]}),c0=0;async function c1(e,t,n={}){let o=rN(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,s=await i(),a=c0++;r=await rW({...s,name:`${t}-${a}`},{...n,domElement:e})}else v(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c2(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function c5(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c6(e){return e.find(e=>!c2(e))}function c8(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let c3=window.getComputedStyle(document.body).overflow;function c4({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",c9),document.body.style.overflow="hidden",t.style.visibility="unset");let n=c6(e);e.forEach(e=>{switch(e.state){case"NEW":{let n=function({size:e}){let t=document.createElement("div");return t.className=`cds--modal-container cds--modal-container--${e}`,t.setAttribute("role","dialog"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-modal","true"),t}({size:e.props?.size??"md"});e.container=n,e.state="MOUNTING",c1(n,e.modalName,e.props).then(o=>{c2(e)?c5(e.modalName,o):o?(e.parcel=o,t.prepend(n),c8(e,c6(cQ.getState().modalStack)===e),o.mountPromise.then(()=>{c2(e)||(e.state="MOUNTED")},t=>{v(t),e.parcel=null,c7(e)})):c7(e)},t=>{v(t),c7(e)});break}case"MOUNTING":case"MOUNTED":c8(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),c5(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=cQ.getState();cQ.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=c3,removeEventListener("keydown",c9)}function c7(e){if(c2(e))return;e.state="TO_BE_DELETED";let t=cQ.getState();cQ.setState({...t,modalStack:[...t.modalStack]})}function c9(e){"Escape"===e.key&&function(){let[e]=cQ.getState().modalStack;e&&c7(e)}()}function ue(e){cQ.subscribe(c4),cQ.setState({...cQ.getState(),modalContainer:e})}function ut(e,t={},n=()=>{}){let o=()=>{let e=cQ.getState().modalStack.find(e=>e.onClose===n);e&&c7(e)};if(rN(e)){var r;let i,s;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},s=[r,...(i=cQ.getState()).modalStack],cQ.setState({...i,modalStack:s})}else v(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}var un=n(9685);let uo=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:s}=e;return(0,sA.jsx)(sW.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},ur=({subject:e})=>{let[t,n]=(0,rF.useState)([]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sA.jsx)(sA.Fragment,{children:t.map(e=>(0,sA.jsx)(uo,{notification:e},e.id))})},ui=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rF.useState)(t);return(0,sA.jsx)(sW.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tm("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),a&&d(a)},statusIconDescription:tm("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:s,inline:!0,...c})},us=({subject:e})=>{let[t,n]=(0,rF.useState)([]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sA.jsx)(sA.Fragment,{children:t.map(e=>(0,sA.jsx)(ui,{notification:e},e.id))})};class ua{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"listeners",new Set)}}let ul=new ua,uc=0,uu=new ua,ud=0;function um(e){e&&(0,r4.createRoot)(e).render((0,sA.jsx)(ur,{subject:ul}))}function uf(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,un.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{ul.next({...e,id:uc++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function up(e){e&&(0,r4.createRoot)(e).render((0,sA.jsx)(us,{subject:uu}))}function ug(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,un.A)(t))?setTimeout(()=>{uu.next({...e,id:ud++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let uh=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],uw=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],u_={container:"-esm-devtools__numeric-observation-module__container___NfxbH",card:"-esm-devtools__numeric-observation-module__card___9oQAh","abnormal-value":"-esm-devtools__numeric-observation-module__abnormal-value___drvEi","critical-value":"-esm-devtools__numeric-observation-module__critical-value___JAIHt",cell:"-esm-devtools__numeric-observation-module__cell___lTunW","critically-high":"-esm-devtools__numeric-observation-module__critically-high___aDUjc","critically-low":"-esm-devtools__numeric-observation-module__critically-low___5srAK",high:"-esm-devtools__numeric-observation-module__high___7KiyK",low:"-esm-devtools__numeric-observation-module__low___Zs2ct","label-container":"-esm-devtools__numeric-observation-module__label-container___lGnGH","value-container":"-esm-devtools__numeric-observation-module__value-container___hHPXt",label:"-esm-devtools__numeric-observation-module__label___WFuxk",value:"-esm-devtools__numeric-observation-module__value___6fHUr",units:"-esm-devtools__numeric-observation-module__units___EdVuw","pad-right":"-esm-devtools__numeric-observation-module__pad-right___6T9Cd","off-scale-low":"-esm-devtools__numeric-observation-module__off-scale-low___Sc1CV","off-scale-high":"-esm-devtools__numeric-observation-module__off-scale-high___cWpU2",arrow:"-esm-devtools__numeric-observation-module__arrow___SLGUh"},uv=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:s="card",patientUuid:a})=>{let l=(0,rF.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tj}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tj}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=(0,i$.A)(n,tP),s=o?.data?.results?.[0];return{referenceRange:s?{hiNormal:s.hiNormal??null,hiAbsolute:s.hiAbsolute??null,hiCritical:s.hiCritical??null,lowNormal:s.lowNormal??null,lowAbsolute:s.lowAbsolute??null,lowCritical:s.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,a),d=r??c,m=(0,rF.useMemo)(()=>{if(o)return o?"--"===o?"normal":uh.includes(o)?o.toLowerCase():uw.includes(o)?o:"normal":void 0;if(d&&!u){if(!d||null==e||""===e)return"normal";let t="string"==typeof e?Number.parseFloat(e):e;return Number.isNaN(t)?"normal":null!==d.hiAbsolute&&void 0!==d.hiAbsolute&&t>d.hiAbsolute?"off_scale_high":null!==d.hiCritical&&void 0!==d.hiCritical&&t>=d.hiCritical?"critically_high":null!==d.hiNormal&&void 0!==d.hiNormal&&t>d.hiNormal?"high":null!==d.lowAbsolute&&void 0!==d.lowAbsolute&&t<d.lowAbsolute?"off_scale_low":null!==d.lowCritical&&void 0!==d.lowCritical&&t<=d.lowCritical?"critically_low":null!==d.lowNormal&&void 0!==d.lowNormal&&t<d.lowNormal?"low":"normal"}return"normal"},[o,d,e,u])??"normal",f="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,p="normal"!==m,g=n?`omrs-numeric-obs-label-${n.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,v=_?e:tm("notAvailable","Not available"),y=sR()({[u_["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[u_["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[u_.low]:"low"===m,[u_.high]:"high"===m,[u_["off-scale-low"]]:"off_scale_low"===m,[u_["off-scale-high"]]:"off_scale_high"===m}),b=sR()({[u_.container]:!0,[u_.card]:!0,[u_["critical-value"]]:f,[u_["abnormal-value"]]:p&&!f}),x=sR()({[u_.cell]:!0,[y]:!0});return"cell"===s?(0,sA.jsxs)("div",{className:x,children:[v,_&&t?` ${t}`:""]}):(0,sA.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,sA.jsxs)("div",{className:u_["label-container"],children:[(0,sA.jsx)("span",{id:g,className:u_.label,children:n}),p&&(0,sA.jsx)("span",{className:u_[m.replace("_","-")],title:tm("abnormalValue","Abnormal value")})]}),(0,sA.jsxs)("div",{className:u_["value-container"],children:[(0,sA.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:u_.value,children:v}),_&&t&&(0,sA.jsx)("span",{id:w,className:u_.units,children:t})]})]})},uy="-esm-devtools__page-header-module__pageHeader___YOpQL",ub=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,sA.jsx)("div",{className:sR()(uy,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,sA.jsx)("div",{className:sR()(uy,o),...r,children:(0,sA.jsx)(ux,{title:t,illustration:n})})}},ux=({title:e,illustration:t,className:n})=>{let[o,r]=(0,rF.useState)(null);return(0,rF.useEffect)(()=>{eM("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sA.jsxs)("div",{className:sR()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,sA.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,sA.jsx)("p",{children:tm(o.implementationName)}),(0,sA.jsx)("h1",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},uS=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=sn(t,e,o,i),c="tablet"===i2(),u=tm("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sA.jsx)(sA.Fragment,{children:e>0&&(0,sA.jsxs)("div",{className:sR()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,sA.jsxs)("div",{children:[u,r&&(0,sA.jsx)(rG,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:s??tm("seeAll","See all")})]}),(0,sA.jsx)(sW.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:a,totalItems:e,onChange:n,pageRangeText:(e,t)=>tm("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uk(e){return uN(uC(e,"usual","official"))}function uj(e){return uk(e)}function uN(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function uE(e){return uN(e)}function uC(e,...t){for(let n of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,o;return t=e,o=n,t.use?t.use===o:"usual"===o});if(t)return t}}function uP(e,t=sc()){let n=sc(t),o=ct(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),s=n.diff(o,"weeks"),a=n.diff(o,"months"),l=n.diff(o,"years"),c={};if(r<2)c.minutes=n.diff(o,"minutes");else if(i<2)c.hours=r;else if(s<4)c.days=i;else if(l<1){let e=n.subtract(s,"weeks").diff(o,"days");c.weeks=s,c.days=e}else if(l<2){let e=n.subtract(a,"months").diff(o,"days");c.months=a,c.days=e}else if(l<18){let e=n.subtract(l,"year").diff(o,"months");c.years=l,c.months=e}else c.years=l;return c}function uI(e,t=sc()){let n=uP(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),ce(n,o)}let uA={container:"-esm-devtools__patient-banner-patient-info-module__container___Gjd-4",activePatientContainer:"-esm-devtools__patient-banner-patient-info-module__activePatientContainer___QLcpg",patientBanner:"-esm-devtools__patient-banner-patient-info-module__patientBanner___7nrgC",patientName:"-esm-devtools__patient-banner-patient-info-module__patientName___-bF9a",patientAvatar:"-esm-devtools__patient-banner-patient-info-module__patientAvatar___AkN3H",patientAvatarButton:"-esm-devtools__patient-banner-patient-info-module__patientAvatarButton___KDxA6",patientInfo:"-esm-devtools__patient-banner-patient-info-module__patientInfo___+WtDB",demographics:"-esm-devtools__patient-banner-patient-info-module__demographics___Vtf3v",row:"-esm-devtools__patient-banner-patient-info-module__row___NIOYI",flexRow:"-esm-devtools__patient-banner-patient-info-module__flexRow___VxdGB",tagsSlot:"-esm-devtools__patient-banner-patient-info-module__tagsSlot___lU6+4",identifiers:"-esm-devtools__patient-banner-patient-info-module__identifiers___tehd8",identifier:"-esm-devtools__patient-banner-patient-info-module__identifier___bSJIF",primaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__primaryIdentifier___yOV1B",secondaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__secondaryIdentifier___WvJbh",value:"-esm-devtools__patient-banner-patient-info-module__value___sBM-q",tag:"-esm-devtools__patient-banner-patient-info-module__tag___BEvEV",gender:"-esm-devtools__patient-banner-patient-info-module__gender___4XkLq",separator:"-esm-devtools__patient-banner-patient-info-module__separator___iYBA3",tooltipPadding:"-esm-devtools__patient-banner-patient-info-module__tooltipPadding___EWVCK",tooltipSmallText:"-esm-devtools__patient-banner-patient-info-module__tooltipSmallText___yDmRU",actionsButtonText:"-esm-devtools__patient-banner-patient-info-module__actionsButtonText___mn139"};function uO({showIdentifierLabel:e,type:t,value:n}){return(0,sA.jsx)("span",{className:uA.primaryIdentifier,children:(0,sA.jsxs)(sW.Tag,{className:uA.tag,type:"gray",children:[e&&t?.text&&(0,sA.jsxs)("span",{className:uA.label,children:[t.text,": "]}),(0,sA.jsx)("span",{className:uA.value,children:n})]})})}function uR({showIdentifierLabel:e,type:t,value:n}){return(0,sA.jsxs)(sW.FormLabel,{className:uA.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,sA.jsxs)("span",{className:uA.label,children:[t?.text,": "]}),(0,sA.jsx)("span",{className:uA.value,children:n})]})}function u$({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=iA(),{primaryIdentifierCode:o}=si(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,sA.jsx)(sA.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,sA.jsxs)(rH().Fragment,{children:[(0,sA.jsx)("span",{className:uA.identifier,children:n?.coding?.[0]?.code===o?(0,sA.jsx)(uO,{showIdentifierLabel:t,type:n,value:e}):(0,sA.jsx)(uR,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,sA.jsx)("span",{className:uA.separator,children:"\xb7"})]},e)):""})}let uT={Female:ay,Male:ab,Other:ax,Unknown:aS},uM=({gender:e})=>{let t=uT[e];return t?(0,sA.jsx)(t,{fill:"#525252"}):null},uL={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uW({patient:e,renderedFrom:t}){var n;let o,r,i=uk(e),s=e?.gender&&(r=uL[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tm(o,n),iconKey:r}),a=(0,rF.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sA.jsxs)("div",{className:uA.patientInfo,children:[(0,sA.jsx)("div",{className:sR()(uA.row,uA.patientNameRow),children:(0,sA.jsxs)("div",{className:uA.flexRow,children:[(0,sA.jsx)("span",{className:uA.patientName,children:i}),s&&(0,sA.jsxs)("div",{className:uA.gender,children:[(0,sA.jsx)(uM,{gender:s.iconKey}),(0,sA.jsx)("span",{children:s.displayText})]}),(0,sA.jsx)(r3,{className:uA.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,sA.jsxs)("div",{className:uA.demographics,children:[e.birthDate&&(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsx)("span",{children:uI(e.birthDate)}),(0,sA.jsx)("span",{className:uA.separator,children:"\xb7"}),(0,sA.jsx)("span",{children:l6(e.birthDate,{time:!1})}),(0,sA.jsx)("span",{className:uA.separator,children:"\xb7"})]}),(0,sA.jsx)(u$,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sA.jsx)(r3,{className:uA.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uD=n(7683);function uU({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,rF.useState)(!1),{extensions:s}=r6(n),a="tablet"===i2(),l=i7(()=>i(!1),r),c=(0,rF.useRef)(null),u=(0,rF.useRef)(null),d=(0,rF.useId)(),m=`patient-actions-menu-trigger-${d}`,f=`patient-actions-menu-${d}`,p=(0,rF.useCallback)(()=>i(e=>!e),[]),g=(0,rF.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rF.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rF.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,rF.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===s.length?null:(0,sA.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sA.jsxs)("div",{"data-overflow-menu":!0,className:sR()("cds--overflow-menu",sB),ref:l,children:[(0,sA.jsxs)("button",{className:sR()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sV),"aria-controls":f,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:p,onKeyDown:h,ref:c,children:[(0,sA.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tm("actions","Actions")})," ",(0,sA.jsx)(uD.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sA.jsxs)("div",{className:sR()("cds--overflow-menu-options","cds--overflow-menu--flip",sF,{[sH]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:f,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sA.jsx)("ul",{className:sR()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,sA.jsx)(r3,{name:n,state:w},n)}),(0,sA.jsx)("span",{})]})]})})}var uB=n(397),uF=n.n(uB);function uH(e){let{patientPhotoConceptUuid:t}=iA({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tj}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=(0,ie.u)(e?n:null,tP),s=o?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uV=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,r9.useTranslation)();return(0,sA.jsxs)("svg",{"aria-label":n??o("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,sA.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sA.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"m36.75 20.134-.884-.884L19.25 35.866l.884.884 1.25-1.25H34.25a1.252 1.252 0 0 0 1.25-1.25V21.384l1.25-1.25Zm-2.5 14.116H22.634l4.87-4.87 1.487 1.486a1.25 1.25 0 0 0 1.768 0l.991-.991 2.5 2.498v1.877Zm0-3.645-1.616-1.616a1.25 1.25 0 0 0-1.768 0l-.991.991-1.486-1.486 5.861-5.86v7.971Zm-12.5 1.145v-1.875l3.125-3.123.858.859.885-.885-.86-.86a1.25 1.25 0 0 0-1.767 0l-2.241 2.242V21.75h10V20.5h-10c-.69 0-1.25.56-1.25 1.25v10h1.25Z",fill:"#8D8D8D"})]})},uG="-esm-devtools__patient-photo-module__avatar___t5TmZ";function uz({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=uH(e),[i,s]=(0,rF.useState)(null),[a,l]=(0,rF.useState)(!1),c=(0,rF.useMemo)(()=>uF().generate(e),[e]);(0,rF.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(s(e),l(!1))},n.onerror=()=>{t||(s(null),l(!1))},n.src=e,()=>{t=!0}}s(null),l(!1)},[o?.imageSrc]);let u=(0,rF.useMemo)(()=>n||(i?tm("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tm("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||a?(0,sA.jsx)(sW.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,sA.jsx)(uV,{"aria-label":tm("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sA.jsx)("div",{"aria-label":u,children:(0,sA.jsx)("img",{className:uG,src:i,alt:u,title:t})}):(0,sA.jsx)("div",{"aria-label":u,children:(0,sA.jsx)("div",{className:uG,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sA.jsx)("span",{className:"-esm-devtools__patient-photo-module__initials___-k9Hv",children:function(e,t=3){return e.split(/\s+/).filter(Boolean).slice(0,t).map(e=>e[0]).join("")}(t)})})})}let uq=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-cohorts","omrs-pict-concept-dictionary","omrs-pict-ct-scan","omrs-pict-data-entry","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-documents","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-reports","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-system-administration","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],uJ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),uK=uJ,uX=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),uY=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),uZ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),uQ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u0=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-cohorts",pictogramProps:e})})),u1=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-concept-dictionary",pictogramProps:e})})),u2=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),u5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-data-entry",pictogramProps:e})})),u6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),u8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),u3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),u7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),u9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),de=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),dt=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),dn=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),dr=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),di=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),ds=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-patient-documents",pictogramProps:e})})),da=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),dl=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),dc=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),du=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dd=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dm=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),df=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-reports",pictogramProps:e})})),dp=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),dg=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dh=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-system-administration",pictogramProps:e})})),dw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),d_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dv=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,sA.jsx)(dS,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),dy=u4,db=dl,dx=(0,rF.memo)((0,rF.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,rF.useRef)(document.getElementById(e));return(0,rF.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sA.jsx)(iy,{value:r.current,fallback:t,children:(0,sA.jsx)(dS,{ref:o,pictogram:e,pictogramProps:n})})})),dS=(0,rF.memo)((0,rF.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,sA.jsx)("svg",{ref:n,className:sR()("-esm-devtools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,sA.jsx)("use",{href:`#${e}`})})})),dk=({children:e})=>"tablet"===i2()?(0,sA.jsx)(sW.Layer,{children:e}):(0,sA.jsx)(sA.Fragment,{children:e}),dj=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:s,subtitle:a="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[f,p]=(0,rF.useState)(n),[g,h]=(0,rF.useState)(!0),[w,_]=(0,rF.useState)(!1),v=(0,rF.useCallback)(()=>{setTimeout(t,250)},[t]),y=(0,rF.useCallback)(()=>{_(!0),v()},[v]);return(0,rF.useEffect)(()=>{if(c){let e=setTimeout(y,l);return()=>clearTimeout(e)}},[l,c,y]),(0,rF.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sA.jsx)(sW.ActionableNotification,{actionButtonLabel:f,"aria-label":tm("closeSnackbar","Close snackbar"),className:sR()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":w}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),y(),s&&p(s)},onClose:v,statusIconDescription:tm("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},dN=({subject:e})=>{let[t,n]=(0,rF.useState)([]),o=(0,rF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sA.jsx)(sA.Fragment,{children:t.map(e=>(0,sA.jsx)(dj,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},dE=new ua,dC=0;function dP(e){e&&(0,r4.createRoot)(e).render((0,sA.jsx)(dN,{subject:dE}))}function dI(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dE.next({...e,id:dC++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dA=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rF.useCallback)(()=>{a(),t()},[t,a]);return(0,sA.jsx)("div",{children:(0,sA.jsx)(sW.ActionableNotification,{actionButtonLabel:s,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},dO=({subject:e})=>{let[t,n]=(0,rF.useState)([]),o=(0,rF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,sA.jsx)(sA.Fragment,{children:t.map(e=>(0,sA.jsx)(dA,{toast:e,closeToast:()=>o(e)},e.id))})},dR=new ua,d$=0;function dT(e){e&&(0,r4.createRoot)(e).render((0,sA.jsx)(dO,{subject:dR}))}function dM(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,un.A)(t))?setTimeout(()=>{dR.next({...e,id:d$++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}var dL=n(4656);async function dW(e,t){let{openedGroup:n}=rE.getState();if(n){if(n.groupName===e&&dB(n.props,t))return!0;else if(!await dV({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rE.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function dD(e){let{openedGroup:t,openedWindows:n}=rE.getState();if(t){if(n.length>0&&!(e||await dV({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rE.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function dU(e,t=null,n=null,o=null){let r=rE.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rC(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rP(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rI(e);if(s&&(s.groupName!==l.name||!dB(s.props,o)))return!!await dV({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rE.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:a,openedWorkspaces:[d1(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},s=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(dB(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&dB(d.props,t)?((s||c!==r.openedWindows.length-1)&&rE.setState(dX.restoreWindow(r,a)),!0):!!await dV({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rE.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d1(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await dV({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rE.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d1(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rE.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[d1(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await dV({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rE.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[d1(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function dB(e,t){return null==e||null==t||x(e,t)}function dF(e,t){let n=[];for(let o=e.openedWorkspaces.length-1;o>=0;o--){let r=e.openedWorkspaces[o];if(r.hasUnsavedChanges&&n.push(r),t&&r.workspaceName===t)break}return n}function dH(e){return 0===e.length?Promise.resolve(!0):new Promise(t=>{let n=ut("workspace2-close-prompt",{size:"sm",onConfirm:()=>{n(),t(!0)},onCancel:()=>{n(),t(!1)},affectedWorkspaceTitles:e.map(e=>e.title??"")})})}function dV(e){let{openedWindows:t}=rE.getState(),n=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":n=t.flatMap(e=>dF(e));break;case"CLOSE_WINDOW":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dF(o);break}case"CLOSE_WORKSPACE":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dF(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":n=t.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>dF(e))}return dH(n)}function dG(e,t){return dH(dF(e,t))}function dz(e,t){let n=e.openedWorkspaces.findIndex(e=>e.workspaceName===t);return n<0?e:0===n?null:{...e,openedWorkspaces:e.openedWorkspaces.slice(0,n)}}function dq(e,t,n,o){let{registeredWorkspacesByName:r}=rE.getState(),i=r[n];if(!i)throw Error(`No workspace named "${n}" registered`);let s=r[t];if(!s)throw Error(`No workspace named "${t}" registered`);if(s.window!==i.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);if(i.window!==e.windowName)throw Error(`Cannot open child workspace ${n} as window ${i.window} is not opened`);let{openedWorkspaces:a}=e,l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{...e,openedWorkspaces:[...c,d1(n,o)]}}function dJ(e,t,n){let o=e.openedWorkspaces.findIndex(e=>e.uuid===t);if(o<0)return e;let r=e.openedWorkspaces[o];if(Object.keys(n).every(e=>r[e]===n[e]))return e;let i=[...e.openedWorkspaces];return i[o]={...r,...n},{...e,openedWorkspaces:i}}function dK(e,t,n){let o=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.uuid===t));if(o<0)return e;let r=e.openedWindows[o],i=dJ(r,t,n);if(i===r)return e;let s=[...e.openedWindows];return s[o]=i,{...e,openedWindows:s}}let dX={setWindowMaximized(e,t,n){let o=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[o],maximized:n};return r[o]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let n=e.openedWindows.findIndex(e=>e.windowName===t),o=e.openedWindows[n],r=[...e.openedWindows.filter((e,t)=>t!==n),o];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let n=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.workspaceName===t));if(n<0)return e;let o=dz(e.openedWindows[n],t),r=[...e.openedWindows],i=e.isMostRecentlyOpenedWindowHidden;if(null===o){let t=n===e.openedWindows.length-1;r.splice(n,1),t&&r.length>0&&(i=!1)}else r[n]=o;return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:i}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==i)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let s=[...e.openedWindows];return s[i]=dq(e.openedWindows[i],t,n,o),{...e,openedWindows:s}},setHasUnsavedChanges:(e,t,n)=>dK(e,t,{hasUnsavedChanges:n}),setWorkspaceTitle:(e,t,n)=>dK(e,t,{title:n})};function dY(){return rY(rE,dX)}let dZ=()=>(0,rF.useContext)(r7.i),dQ=()=>Object.keys(rE.getState().registeredWorkspacesByName);function d0(e,t,n){let o=e.openedWorkspaces[e.openedWorkspaces.length-1];return(o?t[o.workspaceName]?.width:void 0)??n[e.windowName]?.width??"narrow"}function d1(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,dL.A)()}}function d2(e,t,n){let o=rE.getState().registeredWorkspacesByName[e];return o?{windowName:o.window,openedWorkspaces:[d1(e,t)],props:n??null,maximized:!1}:null}let d5=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let{setHasUnsavedChanges:o,setWorkspaceTitle:r}=dZ();return(0,rF.useEffect)(()=>{o(n??!1)},[n,o]),(0,rF.useEffect)(()=>{r(e)},[e,r]),(0,sA.jsx)(sA.Fragment,{children:t})};var d6=n(1820),d8=n(3173),d3=n(185);let d4={workspaceOuterContainer:"-esm-devtools__workspace2-module__workspaceOuterContainer___bPVpy",narrowWorkspace:"-esm-devtools__workspace2-module__narrowWorkspace___kSYS7",widerWorkspace:"-esm-devtools__workspace2-module__widerWorkspace___nW2HB",extraWideWorkspace:"-esm-devtools__workspace2-module__extraWideWorkspace___em5yA",workspaceMiddleContainer:"-esm-devtools__workspace2-module__workspaceMiddleContainer___Bx1i6",maximized:"-esm-devtools__workspace2-module__maximized___Kfygr",hidden:"-esm-devtools__workspace2-module__hidden___RPimX",workspaceInnerContainer:"-esm-devtools__workspace2-module__workspaceInnerContainer___5zxpt",workspaceSpacer:"-esm-devtools__workspace2-module__workspaceSpacer___E+982",loader:"-esm-devtools__workspace2-module__loader___vmBQn",hiddenExtraWorkspace:"-esm-devtools__workspace2-module__hiddenExtraWorkspace___qkbMG",header:"-esm-devtools__workspace2-module__header___IZ-2+",headerButtons:"-esm-devtools__workspace2-module__headerButtons___81a2N",workspaceContent:"-esm-devtools__workspace2-module__workspaceContent___eetPy",overlayHeaderSpacer:"-esm-devtools__workspace2-module__overlayHeaderSpacer___ruc6r",isActionMenuOpened:"-esm-devtools__workspace2-module__isActionMenuOpened___XgCkc",showActionMenu:"-esm-devtools__workspace2-module__showActionMenu___sHRt1",marginWorkspaceContent:"-esm-devtools__workspace2-module__marginWorkspaceContent___TN+S+",workspaceContainerWithActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithActionMenu___xLg8e",workspaceFixedContainer:"-esm-devtools__workspace2-module__workspaceFixedContainer___W9cgZ",workspaceContainerWithoutActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithoutActionMenu___fRrxd"},d7=e=>e.registeredWorkspacesByName,d9=({lifeCycle:e,openedWorkspace:t,openedWindow:n,groupProps:o,actions:r,renderChrome:i,isRootWorkspace:s,isLeafWorkspace:a,showActionMenu:l})=>{let c=(0,rF.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:i=!1}=e;return o?!!(i||await r.promptForClosingWorkspaces())&&(r.closeWorkspace(n.openedWorkspaces[0].workspaceName),!0):!!(i||await r.promptForClosingWorkspaces(t.workspaceName))&&(r.closeWorkspace(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let i=t.workspaceName,{openedWorkspaces:s}=n,a=s.findIndex(e=>e.workspaceName===i);-1===a||a!==s.length-1&&s.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await r.promptForClosingWorkspaces(s[a+1].workspaceName)||r.openChildWorkspace(i,e,o||{})},setWorkspaceTitle:e=>r.setWorkspaceTitle(t.uuid,e),setHasUnsavedChanges:e=>r.setHasUnsavedChanges(t.uuid,e),workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:o,workspaceMeta:rE.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:s,isLeafWorkspace:a,windowName:n.windowName,showActionMenu:l},[t,n,o,r,s,a,l]),u=!i&&!a,d=(0,rF.useMemo)(()=>e?(0,sA.jsx)(d6.A,{config:e,mountParcel:rU,wrapWith:"div",wrapClassName:sR()(d4.workspaceContent,{[d4.hiddenExtraWorkspace]:u}),...c},t.workspaceName):null,[e,t.workspaceName,c,u]);return i?(0,sA.jsx)(me,{openedWorkspace:t,openedWindow:n,isRootWorkspace:s,showActionMenu:l,closeWindow:()=>c.closeWorkspace({closeWindow:!0}),children:d}):d??(0,sA.jsx)(sW.InlineLoading,{className:sR()(d4.loader,{[d4.hiddenExtraWorkspace]:u}),description:`${tm("loading")}`})},me=({openedWorkspace:e,openedWindow:t,isRootWorkspace:n,showActionMenu:o,closeWindow:r,children:i})=>{let s=i2(),{openedGroup:a,openedWindows:l,registeredWindowsByName:c,registeredWorkspacesByName:u,registeredGroupsByName:d,isMostRecentlyOpenedWindowHidden:m,setWindowMaximized:f,hideWindow:p}=dY(),g=t.windowName,{maximized:h}=t,w=e.title??"",_=c[g],v=d0(t,u,c),y=_?.icon,b=_?.canMaximize,x=!!a&&d[a.groupName]?.persistence==="closable",S=!!y&&!x,k=l.findIndex(e=>e.windowName===g)<l.length-1||m,j=Object.values(c).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,sA.jsxs)("div",{className:sR()(d4.workspaceOuterContainer,{[d4.narrowWorkspace]:"narrow"===v,[d4.widerWorkspace]:"wider"===v,[d4.extraWideWorkspace]:"extra-wide"===v,[d4.isActionMenuOpened]:j}),children:[(0,sA.jsx)("div",{className:sR()(d4.workspaceSpacer,{[d4.hidden]:k})}),(0,sA.jsx)("div",{className:sR()(d4.workspaceMiddleContainer,{[d4.maximized]:h,[d4.hidden]:k,[d4.isRootWorkspace]:n,[d4.showActionMenu]:o}),children:(0,sA.jsx)("div",{className:sR()(d4.workspaceInnerContainer,{[d4.maximized]:h,[d4.hidden]:k,[d4.isRootWorkspace]:n}),children:i?(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsxs)(sW.Header,{"aria-label":tm("workspaceHeader"),className:d4.header,children:[(0,sA.jsx)(sW.HeaderName,{prefix:"",children:w}),(0,sA.jsx)("div",{className:d4.overlayHeaderSpacer}),(0,sA.jsx)(sW.HeaderGlobalBar,{className:d4.headerButtons,children:i5(s)?(0,sA.jsxs)(sA.Fragment,{children:[(b||h)&&(0,sA.jsx)(sW.HeaderGlobalAction,{"aria-label":h?tm("minimize"):tm("maximize"),onClick:()=>f(g,!h),children:h?(0,sA.jsx)(d8.Xj,{}):(0,sA.jsx)(d8.hz,{})}),S&&(0,sA.jsx)(sW.HeaderGlobalAction,{"aria-label":tm("hide"),onClick:()=>p(),children:(0,sA.jsx)(s2,{})}),!x&&(0,sA.jsx)(sW.HeaderGlobalAction,{"aria-label":tm("close"),onClick:r,children:(0,sA.jsx)(au,{})})]}):(0,sA.jsxs)(sA.Fragment,{children:[S&&(0,sA.jsx)(sW.HeaderGlobalAction,{"aria-label":tm("hide"),onClick:()=>p(),children:(0,sA.jsx)(d3.d3,{})}),(0,sA.jsx)(sW.HeaderGlobalAction,{"aria-label":tm("close"),onClick:()=>{x?dD():r()},children:(0,sA.jsx)(au,{})})]})})]}),i]}):(0,sA.jsx)(sW.InlineLoading,{className:d4.loader,description:`${tm("loading")} ...`})})})]})},mt=({openedWindow:e,groupProps:t,actions:n,renderChrome:o,showActionMenu:r})=>{let{openedWorkspaces:i}=e,[s,a]=(0,rF.useState)({}),l=rX(rE,d7);return(0,rF.useEffect)(()=>{let e=!1;return Promise.all(i.map(async e=>{let t=l[e.workspaceName];if(!t)return null;let{moduleName:n,component:o}=t;return[e.uuid,await sy(n,o)]})).then(t=>{e||a(Object.fromEntries(t.filter(e=>null!=e)))}),()=>{e=!0}},[i,l]),(0,sA.jsx)(sA.Fragment,{children:i.map((a,l)=>(0,sA.jsx)(d9,{openedWorkspace:a,openedWindow:e,groupProps:t,actions:n,renderChrome:o,lifeCycle:s[a.uuid],isRootWorkspace:0===l,isLeafWorkspace:l===i.length-1,showActionMenu:r},a.uuid))})},mn=e=>e.registeredWorkspacesByName,mo=({name:e,workspaceProps:t,windowProps:n,groupProps:o,onWindowChanged:r})=>{let i=rX(rE,mn),s=rX(rE,t=>{let n=t.registeredWorkspacesByName[e]?.window;return n?t.registeredWindowsByName[n]:void 0}),a={name:e,workspaceProps:t,windowProps:n,groupProps:o},l=(0,rF.useRef)(),c=(0,rF.useRef)(null);if(!l.current){let r=d2(e,t,n);l.current=$({openedWindow:r,groupProps:o??null}),r&&(c.current=a)}let u=l.current;(0,rF.useEffect)(()=>{let r=c.current;if(r&&r.name===e&&x(r.workspaceProps,t)&&x(r.windowProps,n)&&x(r.groupProps,o))return;let i=d2(e,t,n);u.setState({openedWindow:i,groupProps:o??null},!0),c.current=i?a:null},[e,t,n,o,i,u]);let d=(0,rF.useMemo)(()=>(function(e){function t(t){e.setState(e=>{if(!e.openedWindow)return e;let n=t(e.openedWindow);return n===e.openedWindow?e:{...e,openedWindow:n}})}return{closeWorkspace(e){t(t=>dz(t,e))},openChildWorkspace(e,n,o){t(t=>dq(t,e,n,o))},setWorkspaceTitle(e,n){t(t=>dJ(t,e,{title:n}))},setHasUnsavedChanges(e,n){t(t=>dJ(t,e,{hasUnsavedChanges:n}))},promptForClosingWorkspaces(t){let{openedWindow:n}=e.getState();return n?dG(n,t):Promise.resolve(!0)}}})(u),[u]),{openedWindow:m,groupProps:f}=rX(u),p=m?.openedWorkspaces[m.openedWorkspaces.length-1],g=p?.workspaceName??null,h=p?.title??"",w=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=s?.width??"narrow",v=(0,rF.useRef)(r);return(0,rF.useEffect)(()=>{v.current=r}),(0,rF.useEffect)(()=>{v.current?.({workspaceName:g,windowWidth:_,title:h,hasUnsavedChanges:w})},[g,_,h,w]),(0,sA.jsx)("div",{className:"-esm-devtools__exported-workspace-module__exportedWorkspace___7PE0H",children:m?(0,sA.jsx)(mt,{openedWindow:m,groupProps:f,actions:d,renderChrome:!1,showActionMenu:!1}):null})},mr="-esm-devtools__action-menu-button2-module__container___jc6--",mi="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",ms="-esm-devtools__action-menu-button2-module__active___fbyFm",ma="-esm-devtools__action-menu-button2-module__focused___+aVpz";function ml({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,sA.jsxs)(sA.Fragment,{children:[e({size:16}),t?(0,sA.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sA.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let mc=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=i2(),{openedWindows:s,restoreWindow:a,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=dY(),{extension:u}=(0,rF.useContext)(rV),d=s.findIndex(e=>e.windowName===u?.extensionId),m=s[d],f=null!=m,p=f&&(d<s.length-1||c),g=f&&!p,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(f)p?a(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;dU(e,t,n)}};return"tablet"===i||"phone"===i?(0,sA.jsxs)(sW.Button,{className:sR()(mr,{[ms]:f&&!g,[ma]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,sA.jsx)("span",{className:mi,children:(0,sA.jsx)(ml,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,sA.jsx)("span",{children:t})]}):(0,sA.jsx)(sW.IconButton,{align:"left","aria-label":t,className:sR()(mr,{[ms]:f&&!g,[ma]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,sA.jsx)("div",{className:mi,children:(0,sA.jsx)(ml,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function mu({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,sA.jsx)(sW.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?ac:as,children:e?tm("showLess","Show less"):tm("showMore","Show more")})}let md={contactDetails:"-esm-devtools__patient-banner-contact-details-module__contactDetails___R7vfY",deceased:"-esm-devtools__patient-banner-contact-details-module__deceased___nTt+l",heading:"-esm-devtools__patient-banner-contact-details-module__heading___x7UoT",row:"-esm-devtools__patient-banner-contact-details-module__row___qFgIi",col:"-esm-devtools__patient-banner-contact-details-module__col___JXUlg",relationship:"-esm-devtools__patient-banner-contact-details-module__relationship___T3LO-"},mm=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tj}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=(0,ie.u)(t,tP),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rF.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsxs)("p",{className:md.heading,children:[tm("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,sA.jsx)(sW.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,sA.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>lZ(e?.startDate).getTime()-lZ(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sA.jsx)("li",{children:(0,sA.jsx)(rG,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sA.jsx)("li",{children:"--"})})(),t.length>3&&(0,sA.jsx)("li",{className:md.link,children:(0,sA.jsx)(rG,{to:`${window.spaBase}/home/patient-lists`,children:tm("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mf=({patientId:e})=>{let{patient:t,isLoading:n}=sr(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,sA.jsx)(sW.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsx)("p",{className:md.heading,children:tm("address","Address")}),(0,sA.jsx)("ul",{children:o?Object.entries(o).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?o.extension?.[0]?.extension?.map((t,n)=>(0,sA.jsxs)("li",{children:[tm(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,sA.jsxs)("li",{children:[tm(e,e),": ",t]},`address-${e}`)):(0,sA.jsx)("li",{children:"--"})})]})},mp=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=iA({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=(0,i$.A)(`${tj}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tP);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,rF.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,rF.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tm(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsx)("p",{className:md.heading,children:tm("contactDetails","Contact Details")}),t?(0,sA.jsx)(sW.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,sA.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,sA.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,sA.jsx)("li",{children:"--"})})]})},mg=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tj}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:n,error:o,isLoading:r,isValidating:i}=(0,ie.u)(e?t:null,tP),s=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?s:null,error:o,isLoading:r,isValidating:i}}(e);return(0,sA.jsxs)(sA.Fragment,{children:[(0,sA.jsx)("p",{className:md.heading,children:tm("relationships","Relationships")}),n?(0,sA.jsx)(sW.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,sA.jsx)("ul",{children:t&&t.length>0?(0,sA.jsx)(sA.Fragment,{children:t.map(e=>(0,sA.jsxs)("li",{className:md.relationship,children:[(0,sA.jsx)("div",{children:(0,sA.jsx)(rG,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sA.jsx)("div",{children:e.relationshipType}),(0,sA.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tm("yearAbbreviation","yr"):tm("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sA.jsx)("li",{children:"--"})})]})};function mh({patientId:e,deceased:t}){return(0,sA.jsxs)("div",{className:sR()(md.contactDetails,{[md.deceased]:t}),children:[(0,sA.jsxs)("div",{className:md.row,children:[(0,sA.jsx)("div",{className:md.col,children:(0,sA.jsx)(mf,{patientId:e})}),(0,sA.jsx)("div",{className:md.col,children:(0,sA.jsx)(mp,{patientUuid:e})})]}),(0,sA.jsxs)("div",{className:md.row,children:[(0,sA.jsx)("div",{className:md.col,children:(0,sA.jsx)(mg,{patientId:e})}),(0,sA.jsx)("div",{className:md.col,children:(0,sA.jsx)(mm,{patientUuid:e})})]})]})}function mw(e){let t=document.querySelector("template#loading-spinner");if(t){let n=t.content.cloneNode(!0),o=Array.prototype.map.call(n.childNodes,e=>e);return e.appendChild(n),()=>o.forEach(e=>e.remove())}return()=>{}}let m_="-esm-devtools__action-menu2-module__container___6Gke0";function mv({workspaceGroup:e,groupProps:t}){let n=i2(),{persistence:o}=e;return(0,sA.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,sA.jsxs)("div",{className:m_,children:["closable"==o&&i5(n)&&(0,sA.jsx)(sW.IconButton,{align:"left",onClick:()=>dD(),label:tm("close"),kind:"ghost",children:(0,sA.jsx)(au,{})}),(0,sA.jsx)(rV.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sA.jsx)(r3,{className:m_,name:e.name,state:{groupProps:t}})})]})})}function my(e){let t=new URL(e,window.location.origin).pathname,n=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,o=n.endsWith("/")?n.slice(0,-1):n,r=null;return o?o===t?r="/":t.startsWith(`${o}/`)&&(r=t.slice(o.length)):r=t,{full:t,spaRelative:r}}function mb(e){e&&(0,r4.createRoot)(e).render((0,sA.jsx)(mx,{}))}function mx(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=dY();if((0,rF.useEffect)(()=>nG("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(o)return void r(dD().then(e=>!e));let a=n[e.groupName],l=a?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=my(t),i=my(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let s=o.exec(r.spaRelative),a=o.exec(i.spaRelative);if(s&&a||(s=o.exec(r.full),a=o.exec(i.full)),!s||!a)return!0;if(s.length>1)return!s.slice(1).every((e,t)=>e===a[t+1]);return!1}catch{return!0}}(l,i,s)&&r(dD().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:s}=r,a=Object.values(o).filter(e=>e.group===s&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sA.jsxs)("div",{className:sR()("-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsAndMenuContainer___2u2mc",{"-esm-devtools__workspace-windows-and-menu-module__overlay___7RHYZ":r.overlay,"-esm-devtools__workspace-windows-and-menu-module__hasMaximizedWindow___gvJRd":i}),children:[(0,sA.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(t=>(0,sA.jsx)(mS,{openedWindow:t,groupProps:e.props,showActionMenu:a},t.windowName))}),a&&(0,sA.jsx)(mv,{workspaceGroup:r,groupProps:e.props})]})}function mS({openedWindow:e,groupProps:t,showActionMenu:n}){let{windowName:o}=e,r=(0,rF.useMemo)(()=>({closeWorkspace(e){rE.setState(t=>dX.closeWorkspace(t,e))},openChildWorkspace(e,t,n){rE.setState(o=>dX.openChildWorkspace(o,e,t,n))},setWorkspaceTitle(e,t){rE.setState(n=>dX.setWorkspaceTitle(n,e,t))},setHasUnsavedChanges(e,t){rE.setState(n=>dX.setHasUnsavedChanges(n,e,t))},promptForClosingWorkspaces(e){let t=rE.getState().openedWindows.find(e=>e.windowName===o);return t?dG(t,e):Promise.resolve(!0)}}),[o]);return(0,sA.jsx)(mt,{openedWindow:e,groupProps:t,actions:r,renderChrome:!0,showActionMenu:n})}function mk(e,t,n){if(null==e)return n;let o=lD(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=lD(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=o;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",n=r.find(e=>e.canonical.startsWith(t));if(n)return n.original;if("ht"===i){i="fr-HT";continue}let o=i.lastIndexOf("-");if(-1===o)break;let s=(i=i.slice(0,o)).lastIndexOf("-");-1!==s&&i.length-s==2&&(i=i.slice(0,s))}return n}function mj(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mN(e){return!!e&&e.constructor===Object}var mE=n(3376);function mC(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function mP(e,t){return mE(function(e){let t=e.indexOf("-");if(t>=0){let n=mC(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return mC(e)}(t),e,{includePrerelease:!0})}async function mI(e,t={}){let n,{shouldRetry:o,getDelay:r,onError:i}=t;o=o??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let s=0;do try{return await mA(r(s)),await e()}catch(e){i?.(e,s),n=e}while(o(s++));throw n}async function mA(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mO(e,t,n,o){}function mR(e){}function m$(e){return Promise.resolve([])}function mT(e){return Promise.resolve([])}function mM(e){return Promise.resolve({success:!1,result:void 0,error:"No service worker has been registered. Offline-related features have been removed from the framework."})}function mL(e){return()=>{}}function mW(){return!0}}}]);