@openmrs/esm-devtools-app 10.0.1-pre.5378 → 10.0.1-pre.5393

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/893.js CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["893"],{3236(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>l_,evaluateAsNumber:()=>rr,getImportMapOverrideMap:()=>nn,StockManagementPictogram:()=>mt,ChemistryIcon:()=>le,BabyIcon:()=>sZ,DashboardExtension:()=>c_,openmrsComponentDecorator:()=>ai,tryRegisterExtension:()=>s_,pictogramIds:()=>dB,ActivityIcon:()=>sJ,compile:()=>rl,removeRouteMapOverride:()=>nP,checkStatus:()=>rA,TableBatchActions:()=>s$,getAsyncLifecycle:()=>as,subscribeOpenmrsEvent:()=>oL,dispatchConnectivityChanged:()=>s,PasswordIcon:()=>lF,Assessment2Pictogram:()=>dz,CloseIcon:()=>li,setupRouteMapOverrides:()=>n$,getWorkspaceGroupRegistration:()=>iC,registerWorkspace:()=>ik,useFeatureFlag:()=>aD,reset:()=>ip,LabOrderIcon:()=>lE,VisitMode:()=>oG,offlineUuidPrefix:()=>oh,useLocations:()=>a6,getLifecycle:()=>aa,formatDatetime:()=>c6,getVisitsForPatient:()=>oZ,subscribeConnectivity:()=>c,formatPartialDate:()=>cZ,CustomOverflowMenu:()=>sF,LocationIcon:()=>lI,GroupIcon:()=>lv,canBeginEditSynchronizationItemsOfType:()=>od,VisitStatus:()=>oV,createUseStore:()=>iY,getCurrentImportMap:()=>np,getSessionLocation:()=>tU,usePatient:()=>se,useRenderableExtensions:()=>sn,getOpenedWindowIndexByWorkspace:()=>iO,checkStatusFor:()=>rI,clearHistory:()=>tb,clearConfigErrors:()=>e8,formatTime:()=>c2,isDevEnabled:()=>tG,setLeftNav:()=>ih,syncOfflinePatientData:()=>oR,closeWorkspaceGroup2:()=>m3,getCurrentRouteMap:()=>nC,ConfigurableLink:()=>iG,sessionStore:()=>tP,subscribeSnackbarShown:()=>S,getDynamicOfflineDataEntriesFor:()=>ok,getLoggedInUser:()=>tB,GenderMaleIcon:()=>lh,getExtensionSlotConfigFromStore:()=>ed,evaluateAsNumberAsync:()=>ri,putDynamicOfflineDataFor:()=>oj,getImportMapDefaultMap:()=>ne,unregisterExtensionRendering:()=>rU,implementerToolsConfigStore:()=>ej,Type:()=>Q,InPatientPictogram:()=>d0,cleanupObsoleteFeatureFlags:()=>rk,showSnackbar:()=>mg,PatientBannerActionsMenu:()=>dT,PatientSearchPictogram:()=>d5,DocumentAttachmentIcon:()=>lc,Snackbar:()=>mu,CardiologyPictogram:()=>dV,ImageMedicalIcon:()=>lk,ActionableNotificationComponent:()=>u4,DiagnosisTags:()=>uD,iconIds:()=>sV,PatientsPictogram:()=>d8,interpolateUrl:()=>tf,setupHistory:()=>t_,subscribeToastShown:()=>k,detachAll:()=>il,convertToLocaleCalendar:()=>c5,DocumentIcon:()=>ll,configInternalStore:()=>ei,ActionMenuButton2:()=>fm,setupDynamicOfflineDataHandler:()=>ob,makeUrl:()=>tE,oneOf:()=>tn,selectPreferredName:()=>db,launchWorkspaceGroup:()=>function e(t,n){let o=iC(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:a,workspaceToLaunch:s}=n,l=function(){return m$}();if(l.getState().openWorkspaces.length){let o=l.getState().workspaceGroup;o?mk(o?.name,()=>{e(t,n)}):mL(()=>{e(t,n)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:o.members,cleanup:a}})),mz(t,r),i?.(),s&&mj(s.name,s.additionalProps??{})},syncDynamicOfflineData:()=>oA,MobileCheckIcon:()=>lM,createErrorHandler:()=>N,openmrsObservableFetch:()=>tI,parseDate:()=>cJ,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>uz,getExtensionRegistration:()=>ir,ShoppingCartAddItemIcon:()=>cg,ReferralOrderIcon:()=>lq,ReportIcon:()=>lX,dispatchToastShown:()=>v,getImportMapNextPageMap:()=>nt,registerExtension:()=>ii,setupOfflineSync:()=>op,DownloadIcon:()=>lu,useConnectivity:()=>aI,provide:()=>eD,getSynchronizationItemsFor:()=>oa,ShoppingCartArrowDownIcon:()=>l6,featureFlagsStore:()=>rb,promptBeforeClosing:()=>mE,removeDynamicOfflineDataFor:()=>oC,jsep:()=>o1.A,GeriatricsPictogram:()=>dY,SearchIcon:()=>lZ,reportError:()=>j,slugify:()=>nd,isOmrsDateToday:()=>cz,getExtensionStore:()=>rF,BloodBankPictogram:()=>dG,TriagePictogram:()=>mo,Workspace2:()=>fa,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>s9,registerExtensionSlot:()=>im,AllergiesIcon:()=>cd,ArrowDownIcon:()=>sK,useOpenmrsInfinite:()=>aV,getExtensionConfigFromExtensionSlotStore:()=>eg,OpenmrsDatePicker:()=>uM,getExtensionConfigFromStore:()=>ep,getDynamicOfflineDataEntries:()=>ox,getLocaleDisplayName:()=>c$,messageOmrsServiceWorker:()=>nJ,navigate:()=>tg,launchWorkspace2:()=>m4,getGroupByWindowName:()=>iI,CustomOverflowMenuItem:()=>sH,isUrl:()=>tt,CaretDownIcon:()=>s2,ArrowLeftIcon:()=>sX,FacilityPictogram:()=>dQ,ViewOffIcon:()=>cl,setCurrentOfflineMode:()=>n1,updateInternalExtensionStore:()=>r$,dispatchActionableNotificationShown:()=>_,resetRouteMapOverrides:()=>nT,formatDurationBetween:()=>un,defaultVisitCustomRepresentation:()=>oJ,getBreadcrumbsFor:()=>td,useOpenmrsPagination:()=>aB,Pagination:()=>dh,CheckmarkFilledIcon:()=>s7,clearCurrentUser:()=>tD,showModal:()=>u5,ChevronUpIcon:()=>lr,saveVisit:()=>oQ,useAttachments:()=>aS,Pictogram:()=>ml,useExtensionSlot:()=>i5,ChevronDownIcon:()=>lt,OpenmrsDateRangePicker:()=>uW,deleteAttachmentPermanently:()=>nB,getVisitTypes:()=>oz,OverflowMenuHorizontalIcon:()=>lB,EventScheduleIcon:()=>lf,getSessionStore:()=>t$,ActionMenu:()=>m2,ProcedureOrderIcon:()=>lV,preloadImport:()=>nf,registerWorkspaceWindows2:()=>iT,useOnVisible:()=>a8,setSessionLocation:()=>tF,userHasAccess:()=>tL,ChartAverageIcon:()=>s3,getFeatureFlag:()=>rS,UserAvatarIcon:()=>cr,renderExtension:()=>iU,useFhirInfinite:()=>aQ,toVisitTypeObject:()=>oH,useSession:()=>so,EmergencyDepartmentPictogram:()=>dX,Notification:()=>u8,dispatchSnackbarShown:()=>y,getSynchronizationItem:()=>ou,navigateAndLaunchWorkspace:()=>mN,omrsOfflineCachingStrategyHttpHeaderName:()=>nV,formatDate:()=>c0,workspace2StoreActions:()=>fe,SwitcherIcon:()=>l1,esmStyleGuideSchema:()=>sP,getImportMapDisabledOverrides:()=>no,useAssignedExtensionIds:()=>ax,CaretRightIcon:()=>s5,evaluateAsType:()=>ra,PageHeader:()=>dp,TranslateIcon:()=>ce,setUserProperties:()=>tH,MovementIcon:()=>lL,renderInlineNotifications:()=>di,subscribePrecacheStaticDependencies:()=>m,PaymentsDeskPictogram:()=>d3,usePrimaryIdentifierCode:()=>st,dispatchPrecacheStaticDependencies:()=>d,getCurrentUser:()=>tR,useLayoutType:()=>aZ,XrayPictogram:()=>mr,CaretUpIcon:()=>s8,renderActionableNotifications:()=>ds,OpenmrsAppContext:()=>aw,setupModals:()=>u6,omrsOfflineResponseBodyHttpHeaderName:()=>nz,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(fI(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;fI(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>F,recordConfigDerivationError:()=>ek,useAbortController:()=>ay,Extension:()=>iV,getFhirServerPaginationHandlers:()=>az,useConnectedExtensions:()=>aA,registerApp:()=>sv,queueSynchronizationItemFor:()=>or,HospitalBedIcon:()=>lx,useExtensionInternalStore:()=>a$,configExtensionStore:()=>es,getSynchronizationItems:()=>ol,getExtensionSlotsConfigStore:()=>ec,registerExtensionRendering:()=>rB,RenderIfValueIsTruthy:()=>a_,registerFeatureFlag:()=>rx,useFhirFetchAll:()=>aX,restBaseUrl:()=>tj,CalendarHeatMapIcon:()=>s0,getWorkspaceRegistration:()=>iN,isImportMapOverrideDisabled:()=>nr,resetConfigSystem:()=>e3,getFullSynchronizationItems:()=>oc,getExtensionInternalStore:()=>rT,registerGlobalStore:()=>B,runSynchronization:()=>ot,evaluateAsBoolean:()=>rn,PatientBannerPatientInfo:()=>dO,addRouteMapOverride:()=>nO,getDefaultCalendar:()=>cQ,SettingsIcon:()=>l0,DrugOrderIcon:()=>ld,isOnline:()=>rC,ProgramsIcon:()=>lJ,useAssignedExtensions:()=>i6,CloseFilledIcon:()=>la,canAccessStorage:()=>fA,registerDefaultCalendar:()=>cX,TreeViewAltIcon:()=>cn,OverflowMenuVerticalIcon:()=>lU,clearConfigDerivationError:()=>eS,getConfigStore:()=>el,registerWorkspaceGroup:()=>iS,InformationSquareIcon:()=>lN,EmptyCard:()=>uU,ChevronLeftIcon:()=>ln,RadiologyIcon:()=>cp,useCandidateExtensions:()=>ak,renderToasts:()=>mv,isDesktop:()=>a0,integrateBreakpoints:()=>sj,RegistrationPictogram:()=>d9,CardHeader:()=>sA,getExtensionRegistrationFrom:()=>io,InformationIcon:()=>lS,TrashCanIcon:()=>ct,useShallowStableValue:()=>iJ,useOpenmrsSWR:()=>a3,Assessment1Pictogram:()=>dH,finishRegisteringAllApps:()=>sb,importDynamic:()=>nm,useFhirPagination:()=>aH,useVisitContextStore:()=>sd,ArrowUpIcon:()=>sY,showActionableNotification:()=>dl,getDynamicOfflineDataHandlers:()=>ov,useForceUpdate:()=>aL,updateWorkspaceWindowState:()=>mW,useVisit:()=>sm,PatientBannerPatientIdentifiers:()=>dC,WorkspaceNotification:()=>mZ,TransferPictogram:()=>mn,usePagination:()=>a4,Breakpoint:()=>sx,PatientBannerToggleContactDetailsButton:()=>ff,CloseOutlineIcon:()=>ls,ObstetricsPictogram:()=>d6,parseDateInput:()=>c3,getConfig:()=>eB,attach:()=>ia,getLocale:()=>cM,ActionMenuButton:()=>mK,isUrlWithTemplateParameters:()=>te,useEmrConfiguration:()=>aR,useLeftNav:()=>a1,ToolsIcon:()=>l9,ErrorState:()=>uF,detach:()=>is,setCurrentVisit:()=>oX,registerOmrsServiceWorker:()=>nF,ConditionsIcon:()=>cf,SaveIcon:()=>lY,activateOfflineCapability:()=>n2,useWorkspaces:()=>mB,resetWorkspaceStore:()=>mH,useConfig:()=>aE,validator:()=>Y,CalendarIcon:()=>s1,getHistory:()=>ty,StickyNoteAddIcon:()=>l5,useWorkspace2Store:()=>ft,getPatientName:()=>dw,getVisitStore:()=>oK,getCoreTranslation:()=>tY,registerModuleWithConfigSystem:()=>eR,isOfflineUuid:()=>o_,registerModuleLoad:()=>e$,getBreadcrumbs:()=>tl,extractVariableNames:()=>r_,getOfflineSynchronizationStore:()=>oe,translateFrom:()=>tQ,EditIcon:()=>lm,useStoreWithActions:()=>iQ,getCandidateExtensions:()=>id,putDynamicOfflineData:()=>oS,shallowEqual:()=>E,subscribeNotificationShown:()=>b,MaximizeIcon:()=>lP,promptForClosingWorkspaces:()=>m9,WarningIcon:()=>cu,closeAllWorkspaces:()=>mL,fhirBaseUrl:()=>tN,matchLocale:()=>fE,registerBreadcrumb:()=>ta,usePatientPhoto:()=>dM,EventsIcon:()=>lp,createGlobalStore:()=>L,workspaceStore:()=>m$,getCurrentOfflineMode:()=>n0,subscribeToFeatureFlag:()=>rj,useExtensionStore:()=>aW,closeWorkspace:()=>mP,createAttachment:()=>nL,useLeftNavStore:()=>a2,TableIcon:()=>l4,Icon:()=>cw,InformationFilledIcon:()=>lj,getCurrentPageMap:()=>t9,LaboratoryPictogram:()=>d1,temporaryConfigStore:()=>ea,getPromptBeforeClosingFcn:()=>mA,toDateObjectStrict:()=>cG,defineConfigSchema:()=>eT,filterBreadcrumbs:()=>tu,invalidateImplementerToolsConfig:()=>eb,PatientBannerContactDetails:()=>fy,getAssignedExtensions:()=>iu,PatientPhoto:()=>dL,MaterialOrderIcon:()=>lO,MicroscopeIcon:()=>l$,scheduleRecomputation:()=>rJ,PharmacyPictogram:()=>d4,AttachmentIcon:()=>cm,MoneyIcon:()=>lW,getAttachments:()=>nD,getFullSynchronizationItemsFor:()=>os,PageHeaderContent:()=>dg,MedicationIcon:()=>lT,PrinterIcon:()=>lG,getWorkspaceGroupStore:()=>mz,PatientListsPictogram:()=>ma,useAppContext:()=>av,isOpenmrsRoutes:()=>nw,AppointmentsAltPictogram:()=>dF,GenericOrderTypeIcon:()=>ly,batchExtensionUpdates:()=>rG,useExtensionSlotStore:()=>i1,ViewIcon:()=>cc,formattedName:()=>dv,sessionEndpoint:()=>tC,duration:()=>ue,resetImportMapOverrides:()=>ns,TableOfContentsIcon:()=>l3,CaretLeftIcon:()=>s6,getTranslationOverrides:()=>eU,isVersionSatisfied:()=>fT,EmptyCardIllustration:()=>uB,PenIcon:()=>lz,getWorkspaceStore:()=>mM,registerOfflinePatientHandler:()=>oT,setupImportMapOverrides:()=>nu,showToast:()=>mb,useDefineAppContext:()=>ah,validators:()=>to,getGlobalStore:()=>U,useOnClickOutside:()=>a5,getWindowByWorkspaceName:()=>iA,ArrowRightIcon:()=>sQ,loadLifeCycles:()=>sg,registerBreadcrumbs:()=>ts,MotherIcon:()=>lD,fetchCurrentPatient:()=>oM,Toast:()=>mh,MessageQueueIcon:()=>lR,TwoFactorAuthenticationIcon:()=>co,Pharmacy2Pictogram:()=>d7,goBackInHistory:()=>tv,GroupAccessIcon:()=>lb,getExtensionRenderingsStore:()=>rR,setImplementerToolsConfigRecomputer:()=>ev,getAsyncExtensionLifecycle:()=>ac,setupApiModule:()=>tJ,renderLoadingSpinner:()=>fv,WorkspaceContainer:()=>m6,showNotification:()=>da,queueSynchronizationItem:()=>oi,getModalRegistration:()=>iv,ListCheckedIcon:()=>lA,ResponsiveWrapper:()=>mc,GynaecologyPictogram:()=>dZ,ShoppingCartIcon:()=>l2,getRouteMapNextPageMap:()=>nA,updateVisit:()=>oY,backendDependencies:()=>tV,MaybePictogram:()=>ms,beginEditSynchronizationItem:()=>om,createParcelMounter:()=>iL,getStartedVisit:()=>o0,omrsOfflineResponseStatusHttpHeaderName:()=>nG,isOpenmrsAppRoutes:()=>nh,openmrsFetch:()=>tA,HomePictogram:()=>mi,DentistryPictogram:()=>dq,ServiceQueuesPictogram:()=>me,toLanguageTag:()=>cR,launchWorkspace:()=>mj,setFeatureFlag:()=>rN,useStore:()=>iX,DigitalTrustPictogram:()=>dK,NumericObservation:()=>dm,attachmentUrl:()=>nM,interpolateString:()=>tp,inRange:()=>e9,useExtensionSlotMeta:()=>aM,AppointmentsPictogram:()=>dU,renderSnackbars:()=>mp,getRegisteredWorkspace2Names:()=>fo,toLocationObject:()=>oU,ChartLineIcon:()=>s4,UserHasAccess:()=>sr,evaluateAsBooleanAsync:()=>ro,changeWorkspaceContext:()=>mT,createDashboard:()=>cy,getLocations:()=>oF,getOfflineDb:()=>n3,canCloseWorkspaceWithoutPrompting:()=>mx,getExtensionsConfigStore:()=>em,getRouteMapDefaultMap:()=>nE,age:()=>dk,syncAllDynamicOfflineData:()=>oE,isOmrsDateStrict:()=>cH,registerWorkspaceGroups2:()=>iP,usePaginationInfo:()=>a7,evaluateAsync:()=>rt,useOpenmrsFetchAll:()=>aq,removeImportMapOverride:()=>na,showWorkspacePrompts:()=>mU,useVisitTypes:()=>sf,ageAsDuration:()=>dx,removeDynamicOfflineData:()=>oN,getExtensionNameFromId:()=>it,deleteSynchronizationItem:()=>of,renderParcel:()=>iD,useWorkspace2Context:()=>fn,ResetIcon:()=>lQ,RenewIcon:()=>lK,subscribeActionableNotificationShown:()=>x,ErrorCard:()=>uH,GenderFemaleIcon:()=>lg,enableImportMapOverride:()=>nl,getOfflinePatientDataStore:()=>oP,retry:()=>fR,ComponentContext:()=>iz,ExtensionSlot:()=>i3,getOmrsServiceWorker:()=>nH,addImportMapOverride:()=>ni,subscribeConnectivityChanged:()=>l,unsetLeftNav:()=>iw,MaybeIcon:()=>ch,useCustomOverflowMenu:()=>sU,PedestrianFamilyIcon:()=>lH,generateOfflineUuid:()=>ow,cancelPrompt:()=>mI,CtScanPictogram:()=>dJ,dispatchNotificationShown:()=>w,leftNavStore:()=>ig,OpenmrsFetchError:()=>tO,UserFollowIcon:()=>ci,launchWorkspaceGroup2:()=>m8,ChevronRightIcon:()=>lo,UserXrayIcon:()=>ca,GenderOtherIcon:()=>lw,formatDuration:()=>c8,toOmrsIsoString:()=>cV,Labs2Pictogram:()=>d2,workspace2Store:()=>iE,setUserLanguage:()=>tM,useBodyScrollLock:()=>aj,getExtensionConfig:()=>ef,SyringeIcon:()=>l8,LocationPicker:()=>uG,useDebounce:()=>aO,TimeIcon:()=>l7,getExtensionSlotConfig:()=>eu,AddIcon:()=>sq,getRouteMapOverrideMap:()=>nI,processConfig:()=>eF,InventoryManagementIcon:()=>lC,registerWorkspaces2:()=>iR,UserIcon:()=>cs,formatPatientName:()=>dy,fireOpenmrsEvent:()=>oD,registerModal:()=>iy,registerTranslationNamespace:()=>eM,displayName:()=>d_,evaluate:()=>re,defineExtensionConfigSchema:()=>eW,renderWorkspaceWindowsAndMenu:()=>fN,getSyncLifecycle:()=>al,evaluateAsTypeAsync:()=>rs});let a="openmrs:connectivity-changed";function s(e){window.dispatchEvent(new CustomEvent(a,{detail:{online:e}}))}function l(e){if(!window.offlineEnabled)return()=>{};let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function c(e){return e({online:!window.offlineEnabled||navigator.onLine}),l(e)}let u="openmrs:precache-static-dependencies";function d(e={}){window.dispatchEvent(new CustomEvent(u,{detail:e}))}function m(e){let t=t=>e(t.detail);return window.addEventListener(u,t),()=>window.removeEventListener(u,t)}let f="openmrs:notification-shown",p="openmrs:actionable-notification-shown",g="openmrs:toast-shown",h="openmrs:snack-bar-shown";function w(e){window.dispatchEvent(new CustomEvent(f,{detail:e}))}function _(e){window.dispatchEvent(new CustomEvent(p,{detail:e}))}function y(e){window.dispatchEvent(new CustomEvent(h,{detail:e}))}function v(e){window.dispatchEvent(new CustomEvent(g,{detail:e}))}function b(e){let t=t=>e(t.detail);return window.addEventListener(f,t),()=>window.removeEventListener(f,t)}function x(e){let t=t=>e(t.detail);return window.addEventListener(p,t),()=>window.removeEventListener(p,t)}function k(e){let t=t=>e(t.detail);return window.addEventListener(g,t),()=>window.removeEventListener(g,t)}function S(e){let t=t=>e(t.detail);return window.addEventListener(h,t),()=>window.removeEventListener(h,t)}function j(e){let t=C(e);setTimeout(()=>{throw t})}function N(){let e=Error();return t=>{let n=C(t);n.stack+=`
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["893"],{3236(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>ly,evaluateAsNumber:()=>rr,getImportMapOverrideMap:()=>nn,StockManagementPictogram:()=>mn,ChemistryIcon:()=>lt,BabyIcon:()=>s0,DashboardExtension:()=>cy,openmrsComponentDecorator:()=>aa,tryRegisterExtension:()=>sy,pictogramIds:()=>dU,ActivityIcon:()=>sq,compile:()=>rl,removeRouteMapOverride:()=>nP,checkStatus:()=>rA,TableBatchActions:()=>sM,getAsyncLifecycle:()=>al,subscribeOpenmrsEvent:()=>oL,dispatchConnectivityChanged:()=>s,PasswordIcon:()=>lH,Assessment2Pictogram:()=>dG,CloseIcon:()=>la,setupRouteMapOverrides:()=>nR,getWorkspaceGroupRegistration:()=>iC,registerWorkspace:()=>ik,useFeatureFlag:()=>aL,reset:()=>ip,LabOrderIcon:()=>lA,VisitMode:()=>oG,offlineUuidPrefix:()=>oh,useLocations:()=>a5,getLifecycle:()=>as,formatDatetime:()=>c5,getVisitsForPatient:()=>oZ,subscribeConnectivity:()=>c,formatPartialDate:()=>c0,CustomOverflowMenu:()=>sH,LocationIcon:()=>lO,GroupIcon:()=>lb,canBeginEditSynchronizationItemsOfType:()=>od,VisitStatus:()=>oV,createUseStore:()=>iZ,getCurrentImportMap:()=>np,getSessionLocation:()=>tU,usePatient:()=>st,useRenderableExtensions:()=>so,getOpenedWindowIndexByWorkspace:()=>iO,checkStatusFor:()=>rI,clearHistory:()=>tb,clearConfigErrors:()=>e8,formatTime:()=>c6,isDevEnabled:()=>tG,setLeftNav:()=>ih,syncOfflinePatientData:()=>o$,closeWorkspaceGroup2:()=>m4,getCurrentRouteMap:()=>nC,ConfigurableLink:()=>iV,sessionStore:()=>tP,subscribeSnackbarShown:()=>S,getDynamicOfflineDataEntriesFor:()=>ok,getLoggedInUser:()=>tB,GenderMaleIcon:()=>lw,getExtensionSlotConfigFromStore:()=>ed,evaluateAsNumberAsync:()=>ri,putDynamicOfflineDataFor:()=>oj,getImportMapDefaultMap:()=>ne,unregisterExtensionRendering:()=>rU,implementerToolsConfigStore:()=>ej,Type:()=>Q,InPatientPictogram:()=>d1,cleanupObsoleteFeatureFlags:()=>rk,showSnackbar:()=>mh,PatientBannerActionsMenu:()=>d$,PatientSearchPictogram:()=>d8,DocumentAttachmentIcon:()=>lu,Snackbar:()=>md,CardiologyPictogram:()=>dJ,ImageMedicalIcon:()=>lS,ActionableNotificationComponent:()=>u7,DiagnosisTags:()=>uL,iconIds:()=>sJ,PatientsPictogram:()=>d3,interpolateUrl:()=>tf,setupHistory:()=>t_,subscribeToastShown:()=>k,detachAll:()=>il,convertToLocaleCalendar:()=>c8,DocumentIcon:()=>lc,configInternalStore:()=>ei,ActionMenuButton2:()=>ff,setupDynamicOfflineDataHandler:()=>ob,makeUrl:()=>tE,oneOf:()=>tn,selectPreferredName:()=>dx,launchWorkspaceGroup:()=>function e(t,n){let o=iC(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:a,workspaceToLaunch:s}=n,l=function(){return mM}();if(l.getState().openWorkspaces.length){let o=l.getState().workspaceGroup;o?mS(o?.name,()=>{e(t,n)}):mB(()=>{e(t,n)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:o.members,cleanup:a}})),mG(t,r),i?.(),s&&mN(s.name,s.additionalProps??{})},syncDynamicOfflineData:()=>oA,MobileCheckIcon:()=>lW,createErrorHandler:()=>N,openmrsObservableFetch:()=>tI,parseDate:()=>cq,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>uG,getExtensionRegistration:()=>ir,ShoppingCartAddItemIcon:()=>ch,ReferralOrderIcon:()=>lK,ReportIcon:()=>lQ,dispatchToastShown:()=>v,getImportMapNextPageMap:()=>nt,registerExtension:()=>ii,setupOfflineSync:()=>op,DownloadIcon:()=>ld,useConnectivity:()=>aO,provide:()=>eD,getSynchronizationItemsFor:()=>oa,ShoppingCartArrowDownIcon:()=>l5,featureFlagsStore:()=>rb,promptBeforeClosing:()=>mA,removeDynamicOfflineDataFor:()=>oC,jsep:()=>o1.A,GeriatricsPictogram:()=>dZ,SearchIcon:()=>l0,reportError:()=>j,slugify:()=>nd,isOmrsDateToday:()=>cG,getExtensionStore:()=>rF,BloodBankPictogram:()=>dV,TriagePictogram:()=>mr,Workspace2:()=>fs,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>le,registerExtensionSlot:()=>im,AllergiesIcon:()=>cm,ArrowDownIcon:()=>sX,useOpenmrsInfinite:()=>aJ,getExtensionConfigFromExtensionSlotStore:()=>eg,OpenmrsDatePicker:()=>uW,getExtensionConfigFromStore:()=>ep,getDynamicOfflineDataEntries:()=>ox,getLocaleDisplayName:()=>cM,messageOmrsServiceWorker:()=>nJ,navigate:()=>tg,launchWorkspace2:()=>m7,getGroupByWindowName:()=>iI,CustomOverflowMenuItem:()=>sz,isUrl:()=>tt,CaretDownIcon:()=>s6,ArrowLeftIcon:()=>sQ,FacilityPictogram:()=>dY,ViewOffIcon:()=>cc,setCurrentOfflineMode:()=>n1,updateInternalExtensionStore:()=>rR,dispatchActionableNotificationShown:()=>_,resetRouteMapOverrides:()=>nT,formatDurationBetween:()=>uo,defaultVisitCustomRepresentation:()=>oJ,getBreadcrumbsFor:()=>td,useOpenmrsPagination:()=>aU,Pagination:()=>dw,CheckmarkFilledIcon:()=>s9,clearCurrentUser:()=>tD,showModal:()=>u8,ChevronUpIcon:()=>li,saveVisit:()=>oQ,useAttachments:()=>aj,Pictogram:()=>mc,useExtensionSlot:()=>i8,ChevronDownIcon:()=>ln,OpenmrsDateRangePicker:()=>uD,deleteAttachmentPermanently:()=>nB,getVisitTypes:()=>oz,OverflowMenuHorizontalIcon:()=>lU,EventScheduleIcon:()=>lp,getSessionStore:()=>tR,ActionMenu:()=>m6,ProcedureOrderIcon:()=>lJ,preloadImport:()=>nf,registerWorkspaceWindows2:()=>iT,useOnVisible:()=>a3,setSessionLocation:()=>tF,userHasAccess:()=>tL,ChartAverageIcon:()=>s4,getFeatureFlag:()=>rS,UserAvatarIcon:()=>ci,renderExtension:()=>iF,useFhirInfinite:()=>aY,toVisitTypeObject:()=>oH,useSession:()=>sr,EmergencyDepartmentPictogram:()=>dQ,Notification:()=>u3,dispatchSnackbarShown:()=>y,getSynchronizationItem:()=>ou,navigateAndLaunchWorkspace:()=>mC,omrsOfflineCachingStrategyHttpHeaderName:()=>nV,formatDate:()=>c1,workspace2StoreActions:()=>ft,SwitcherIcon:()=>l2,esmStyleGuideSchema:()=>sT,getImportMapDisabledOverrides:()=>no,useAssignedExtensionIds:()=>ak,CaretRightIcon:()=>s8,evaluateAsType:()=>ra,PageHeader:()=>dg,TranslateIcon:()=>ct,setUserProperties:()=>tH,MovementIcon:()=>lB,renderInlineNotifications:()=>da,subscribePrecacheStaticDependencies:()=>m,PaymentsDeskPictogram:()=>d4,usePrimaryIdentifierCode:()=>sn,dispatchPrecacheStaticDependencies:()=>d,getCurrentUser:()=>t$,useLayoutType:()=>a0,XrayPictogram:()=>mi,CaretUpIcon:()=>s3,renderActionableNotifications:()=>dl,OpenmrsAppContext:()=>a_,setupModals:()=>u5,omrsOfflineResponseBodyHttpHeaderName:()=>nz,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(fO(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;fO(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>F,recordConfigDerivationError:()=>ek,useAbortController:()=>av,Extension:()=>iJ,getFhirServerPaginationHandlers:()=>aG,useConnectedExtensions:()=>aI,registerApp:()=>sb,queueSynchronizationItemFor:()=>or,HospitalBedIcon:()=>lk,useExtensionInternalStore:()=>aM,configExtensionStore:()=>es,getSynchronizationItems:()=>ol,getExtensionSlotsConfigStore:()=>ec,registerExtensionRendering:()=>rB,RenderIfValueIsTruthy:()=>ay,registerFeatureFlag:()=>rx,useFhirFetchAll:()=>aQ,restBaseUrl:()=>tj,CalendarHeatMapIcon:()=>s1,getWorkspaceRegistration:()=>iN,isImportMapOverrideDisabled:()=>nr,resetConfigSystem:()=>e3,getFullSynchronizationItems:()=>oc,getExtensionInternalStore:()=>rT,registerGlobalStore:()=>B,runSynchronization:()=>ot,evaluateAsBoolean:()=>rn,PatientBannerPatientInfo:()=>dP,addRouteMapOverride:()=>nO,getDefaultCalendar:()=>cY,SettingsIcon:()=>l1,DrugOrderIcon:()=>lm,isOnline:()=>rC,ProgramsIcon:()=>lq,useAssignedExtensions:()=>i5,CloseFilledIcon:()=>ls,canAccessStorage:()=>fI,registerDefaultCalendar:()=>cQ,TreeViewAltIcon:()=>co,OverflowMenuVerticalIcon:()=>lF,clearConfigDerivationError:()=>eS,getConfigStore:()=>el,registerWorkspaceGroup:()=>iS,InformationSquareIcon:()=>lC,EmptyCard:()=>uF,ChevronLeftIcon:()=>lo,RadiologyIcon:()=>cg,useCandidateExtensions:()=>aS,renderToasts:()=>mb,isDesktop:()=>a1,integrateBreakpoints:()=>sN,RegistrationPictogram:()=>me,CardHeader:()=>sI,getExtensionRegistrationFrom:()=>io,InformationIcon:()=>lj,TrashCanIcon:()=>cn,useShallowStableValue:()=>iq,useOpenmrsSWR:()=>a4,Assessment1Pictogram:()=>dz,finishRegisteringAllApps:()=>sx,importDynamic:()=>nm,useFhirPagination:()=>az,useVisitContextStore:()=>sm,ArrowUpIcon:()=>sZ,showActionableNotification:()=>dc,getDynamicOfflineDataHandlers:()=>ov,useForceUpdate:()=>aB,updateWorkspaceWindowState:()=>mD,useVisit:()=>sf,PatientBannerPatientIdentifiers:()=>dE,WorkspaceNotification:()=>m0,TransferPictogram:()=>mo,usePagination:()=>a7,Breakpoint:()=>sk,PatientBannerToggleContactDetailsButton:()=>fp,CloseOutlineIcon:()=>ll,ObstetricsPictogram:()=>d5,parseDateInput:()=>c4,getConfig:()=>eB,attach:()=>ia,getLocale:()=>cW,ActionMenuButton:()=>mX,isUrlWithTemplateParameters:()=>te,useEmrConfiguration:()=>aR,useLeftNav:()=>a2,ToolsIcon:()=>ce,ErrorState:()=>uH,detach:()=>is,setCurrentVisit:()=>oX,registerOmrsServiceWorker:()=>nF,ConditionsIcon:()=>cp,SaveIcon:()=>lZ,activateOfflineCapability:()=>n2,useWorkspaces:()=>mU,resetWorkspaceStore:()=>mz,useConfig:()=>aA,validator:()=>Y,CalendarIcon:()=>s2,getHistory:()=>ty,StickyNoteAddIcon:()=>l8,useWorkspace2Store:()=>fn,getPatientName:()=>d_,getVisitStore:()=>oK,getCoreTranslation:()=>tY,registerModuleWithConfigSystem:()=>e$,isOfflineUuid:()=>o_,registerModuleLoad:()=>eR,getBreadcrumbs:()=>tl,extractVariableNames:()=>r_,getOfflineSynchronizationStore:()=>oe,translateFrom:()=>tQ,EditIcon:()=>lf,useStoreWithActions:()=>iY,getCandidateExtensions:()=>id,putDynamicOfflineData:()=>oS,shallowEqual:()=>E,subscribeNotificationShown:()=>b,MaximizeIcon:()=>lT,promptForClosingWorkspaces:()=>fe,WarningIcon:()=>cd,closeAllWorkspaces:()=>mB,fhirBaseUrl:()=>tN,matchLocale:()=>fA,registerBreadcrumb:()=>ta,usePatientPhoto:()=>dW,EventsIcon:()=>lg,createGlobalStore:()=>L,workspaceStore:()=>mM,getCurrentOfflineMode:()=>n0,subscribeToFeatureFlag:()=>rj,useExtensionStore:()=>aD,closeWorkspace:()=>mT,createAttachment:()=>nL,useLeftNavStore:()=>a6,TableIcon:()=>l7,Icon:()=>c_,InformationFilledIcon:()=>lN,getCurrentPageMap:()=>t9,LaboratoryPictogram:()=>d2,temporaryConfigStore:()=>ea,getPromptBeforeClosingFcn:()=>mI,toDateObjectStrict:()=>cV,defineConfigSchema:()=>eT,filterBreadcrumbs:()=>tu,invalidateImplementerToolsConfig:()=>eb,PatientBannerContactDetails:()=>fv,getAssignedExtensions:()=>iu,PatientPhoto:()=>dB,MaterialOrderIcon:()=>lP,MicroscopeIcon:()=>lM,scheduleRecomputation:()=>rJ,PharmacyPictogram:()=>d7,AttachmentIcon:()=>cf,MoneyIcon:()=>lD,getAttachments:()=>nD,getFullSynchronizationItemsFor:()=>os,PageHeaderContent:()=>dh,MedicationIcon:()=>l$,PrinterIcon:()=>lV,getWorkspaceGroupStore:()=>mG,PatientListsPictogram:()=>ms,useAppContext:()=>ab,isOpenmrsRoutes:()=>nw,AppointmentsAltPictogram:()=>dH,GenericOrderTypeIcon:()=>lv,batchExtensionUpdates:()=>rG,useExtensionSlotStore:()=>i2,ViewIcon:()=>cu,formattedName:()=>db,sessionEndpoint:()=>tC,duration:()=>ut,resetImportMapOverrides:()=>ns,TableOfContentsIcon:()=>l4,CaretLeftIcon:()=>s5,getTranslationOverrides:()=>eU,isVersionSatisfied:()=>f$,EmptyCardIllustration:()=>uU,PenIcon:()=>lG,getWorkspaceStore:()=>mW,registerOfflinePatientHandler:()=>oT,setupImportMapOverrides:()=>nu,showToast:()=>mx,useDefineAppContext:()=>aw,validators:()=>to,getGlobalStore:()=>U,useOnClickOutside:()=>a8,getWindowByWorkspaceName:()=>iA,ArrowRightIcon:()=>sY,loadLifeCycles:()=>sh,registerBreadcrumbs:()=>ts,MotherIcon:()=>lL,fetchCurrentPatient:()=>oM,Toast:()=>mw,MessageQueueIcon:()=>lR,TwoFactorAuthenticationIcon:()=>cr,Pharmacy2Pictogram:()=>d9,goBackInHistory:()=>tv,GroupAccessIcon:()=>lx,getExtensionRenderingsStore:()=>r$,setImplementerToolsConfigRecomputer:()=>ev,getAsyncExtensionLifecycle:()=>au,setupApiModule:()=>tJ,renderLoadingSpinner:()=>fb,WorkspaceContainer:()=>m5,showNotification:()=>ds,queueSynchronizationItem:()=>oi,getModalRegistration:()=>iv,ListCheckedIcon:()=>lI,ResponsiveWrapper:()=>mu,GynaecologyPictogram:()=>d0,ShoppingCartIcon:()=>l6,getRouteMapNextPageMap:()=>nA,updateVisit:()=>oY,backendDependencies:()=>tV,MaybePictogram:()=>ml,beginEditSynchronizationItem:()=>om,createParcelMounter:()=>iB,getStartedVisit:()=>o0,omrsOfflineResponseStatusHttpHeaderName:()=>nG,isOpenmrsAppRoutes:()=>nh,openmrsFetch:()=>tA,HomePictogram:()=>ma,DentistryPictogram:()=>dK,ServiceQueuesPictogram:()=>mt,toLanguageTag:()=>cR,launchWorkspace:()=>mN,setFeatureFlag:()=>rN,useStore:()=>iQ,DigitalTrustPictogram:()=>dX,NumericObservation:()=>df,attachmentUrl:()=>nM,interpolateString:()=>tp,inRange:()=>e9,useExtensionSlotMeta:()=>aW,AppointmentsPictogram:()=>dF,renderSnackbars:()=>mg,getRegisteredWorkspace2Names:()=>fr,toLocationObject:()=>oU,ChartLineIcon:()=>s7,UserHasAccess:()=>si,evaluateAsBooleanAsync:()=>ro,changeWorkspaceContext:()=>m$,createDashboard:()=>cv,getLocations:()=>oF,getOfflineDb:()=>n3,canCloseWorkspaceWithoutPrompting:()=>mk,getExtensionsConfigStore:()=>em,getRouteMapDefaultMap:()=>nE,age:()=>dS,syncAllDynamicOfflineData:()=>oE,isOmrsDateStrict:()=>cz,registerWorkspaceGroups2:()=>iP,usePaginationInfo:()=>a9,evaluateAsync:()=>rt,useOpenmrsFetchAll:()=>aK,removeImportMapOverride:()=>na,showWorkspacePrompts:()=>mF,useVisitTypes:()=>sp,ageAsDuration:()=>dk,removeDynamicOfflineData:()=>oN,getExtensionNameFromId:()=>it,deleteSynchronizationItem:()=>of,renderParcel:()=>iL,useWorkspace2Context:()=>fo,ResetIcon:()=>lY,RenewIcon:()=>lX,subscribeActionableNotificationShown:()=>x,ErrorCard:()=>uz,GenderFemaleIcon:()=>lh,enableImportMapOverride:()=>nl,getOfflinePatientDataStore:()=>oP,retry:()=>fR,ComponentContext:()=>iG,ExtensionSlot:()=>i4,getOmrsServiceWorker:()=>nH,addImportMapOverride:()=>ni,subscribeConnectivityChanged:()=>l,unsetLeftNav:()=>iw,MaybeIcon:()=>cw,useCustomOverflowMenu:()=>sF,PedestrianFamilyIcon:()=>lz,generateOfflineUuid:()=>ow,cancelPrompt:()=>mO,CtScanPictogram:()=>dq,dispatchNotificationShown:()=>w,leftNavStore:()=>ig,OpenmrsFetchError:()=>tO,UserFollowIcon:()=>ca,launchWorkspaceGroup2:()=>m3,ChevronRightIcon:()=>lr,UserXrayIcon:()=>cs,GenderOtherIcon:()=>l_,formatDuration:()=>c3,toOmrsIsoString:()=>cJ,Labs2Pictogram:()=>d6,workspace2Store:()=>iE,setUserLanguage:()=>tM,useBodyScrollLock:()=>aN,getExtensionConfig:()=>ef,SyringeIcon:()=>l3,LocationPicker:()=>uV,useDebounce:()=>aP,TimeIcon:()=>l9,getExtensionSlotConfig:()=>eu,AddIcon:()=>sK,getRouteMapOverrideMap:()=>nI,processConfig:()=>eF,InventoryManagementIcon:()=>lE,registerWorkspaces2:()=>i$,UserIcon:()=>cl,formatPatientName:()=>dv,fireOpenmrsEvent:()=>oD,registerModal:()=>iy,registerTranslationNamespace:()=>eM,displayName:()=>dy,evaluate:()=>re,defineExtensionConfigSchema:()=>eW,renderWorkspaceWindowsAndMenu:()=>fC,getSyncLifecycle:()=>ac,evaluateAsTypeAsync:()=>rs});let a="openmrs:connectivity-changed";function s(e){window.dispatchEvent(new CustomEvent(a,{detail:{online:e}}))}function l(e){if(!window.offlineEnabled)return()=>{};let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function c(e){return e({online:!window.offlineEnabled||navigator.onLine}),l(e)}let u="openmrs:precache-static-dependencies";function d(e={}){window.dispatchEvent(new CustomEvent(u,{detail:e}))}function m(e){let t=t=>e(t.detail);return window.addEventListener(u,t),()=>window.removeEventListener(u,t)}let f="openmrs:notification-shown",p="openmrs:actionable-notification-shown",g="openmrs:toast-shown",h="openmrs:snack-bar-shown";function w(e){window.dispatchEvent(new CustomEvent(f,{detail:e}))}function _(e){window.dispatchEvent(new CustomEvent(p,{detail:e}))}function y(e){window.dispatchEvent(new CustomEvent(h,{detail:e}))}function v(e){window.dispatchEvent(new CustomEvent(g,{detail:e}))}function b(e){let t=t=>e(t.detail);return window.addEventListener(f,t),()=>window.removeEventListener(f,t)}function x(e){let t=t=>e(t.detail);return window.addEventListener(p,t),()=>window.removeEventListener(p,t)}function k(e){let t=t=>e(t.detail);return window.addEventListener(g,t),()=>window.removeEventListener(g,t)}function S(e){let t=t=>e(t.detail);return window.addEventListener(h,t),()=>window.removeEventListener(h,t)}function j(e){let t=C(e);setTimeout(()=>{throw t})}function N(){let e=Error();return t=>{let n=C(t);n.stack+=`
2
2
  Async stacktrace:
3
- ${e.stack}`,j(t)}}function C(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 E(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){return console.error("Unexpected error: ",e),v({description:e??"Oops! An unexpected error occurred.",kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),v({description:e.reason??"Oops! An unhandled promise rejection occurred.",kind:"error",title:"Error"})};var A,I,O,P=n(1978),T=n(9167);function R(){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 $={},M=Symbol.for("openmrs.esm-state.instanceCount"),W=globalThis,D=(W[M]??0)+1;function L(e,t,n="none"){let o=$[e];if(o)return o.active?R()||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=H(e,t,n);return $[e]={value:o,active:!0},o}}function B(e,t){let n=$[e];return n?(n.active?R()||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):($[e]={value:t,active:!0},t)}function U(e,t,n="none"){let o=$[e];if(!o){let o=H(e,t??{},n);return $[e]={value:o,active:!1},o}return o.value}function F(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,a=i(t.getState());return r(a),t.subscribe(e=>{let t=i(e);E(a,t)||(a=t,r(t))})}function H(e,t,n){return"sessionStorage"===n?(0,T.y)()((0,P.Zr)(()=>t,{name:e,storage:(0,P.KU)(()=>sessionStorage)})):(0,T.y)()(()=>t)}W[M]=D,D>1&&!R()&&console.error(`Detected ${D} 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=$)},1e3);var z=n(1156),G=n(7436),V=n(3591),J=n(4888),q=n(9352),K=n(8170),X=n(8395),Q=((A={}).Array="Array",A.Boolean="Boolean",A.ConceptUuid="ConceptUuid",A.Number="Number",A.Object="Object",A.String="String",A.UUID="UUID",A.PersonAttributeTypeUuid="PersonAttributeTypeUuid",A.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",A);function Y(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let Z=Y(e=>Array.isArray(e),"must be an array"),ee=Y(e=>"boolean"==typeof e,"must be a boolean"),et=Y(e=>"number"==typeof e,"must be a number"),en=Y(e=>"string"==typeof e,"must be a string"),eo=Y(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),er=Y(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"),ei=L("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),ea=L("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});ea.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let es=L("config-store-of-extension-state",{mountedExtensions:[]});function el(e){return U(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function ec(){return U("config-extension-slots",{slots:{}})}function eu(e){return ed(ec().getState(),e)}function ed(e,t){return e.slots[t]??{loaded:!1,config:{}}}function em(){return U("config-extensions",{configs:{}})}function ef(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=em(),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);E(r,i)||e(r,i)})}}function ep(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function eg(e,t,n){return e.configure?.[n]??null}let eh=(0,T.y)()(()=>({config:{}})),ew=0,e_=!0,ey=!1;function ev(e){o=e}function eb(){e_=!0,ew>0&&ex()}function ex(){if(e_&&o&&!ey){ey=!0,e_=!1;try{o()}catch(e){e_=!0,ek(e),console.error("Failed to derive the implementer tools config",e)}finally{ey=!1}}}function ek(e){eh.setState({derivationError:e instanceof Error?e.message:String(e)})}function eS(){eh.getState().derivationError&&eh.setState({derivationError:void 0})}let ej=B("config-implementer-tools",{...eh,getState:()=>(0===ew&&ex(),eh.getState()),setState:(...e)=>(e_=!1,eh.setState(...e)),subscribe(e){ew++,ex();let t=eh.subscribe(e),n=!1;return()=>{!n&&(n=!0,ew--),t()}}});function eN(e,t){if(Array.isArray(t))return t}function eC(e,t){return(0,J.A)({},e,t,eN)}let eE=[];function eA(){let e=ei.getState(),t=ea.getState(),n=es.getState();!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=el(n),i=e.schemas[n],a=!!e.moduleLoaded[n],s=eP.get(n);if(s&&s.schema===i&&s.moduleLoaded===a&&s.providedConfigs===e.providedConfigs&&s.temporaryConfig===t.config)o=s.state;else{let r=a?function(e,t,n){let o=t.schemas[e],r=eq(e,eV(t,n));eX(o,r,e);let i=e0(o,r);return eQ(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=e0(e7,eq(e,eV(t,n)));return eQ(e7,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:a,config:r},eP.set(n,{schema:i,moduleLoaded:a,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,q.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=eK(eV(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&&e5(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||e5(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)||e5(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)||e5(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!e2(e.configure)&&e5(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},a={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(a[t]??(a[t]=[])).push(n.configure);for(let[e,t]of Object.entries(a)){let n=1===t.length?t[0]:eK(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=ec(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,q.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),function(e,t,n,o){let r=em(),i=r.getState().configs,a={},s=!1,l=0;for(let r of t.mountedExtensions){let t=function(e,t,n,o,r,i,a){let s=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[s],c=JSON.stringify([n,o,e,t]),u=eH.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?s:t,m=eV(r,i),f=a?.configure?.[o]??{},p=eq(e,m),g=p?.extensionSlots?.[n]?.configure?.[o]??{},h=eK([eq(d,m),f,g]),w=l??r.schemas[t];eX(w,h,d);let _=e0(w,h);return eQ(w,_,d),delete _.extensionSlots,eH.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:_}),_}(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,n,o[r.slotName]),c=i[r.slotName]?.[r.extensionId],u=c?.loaded&&(0,q.A)(c.config,t)?c:{config:t,loaded:!0};u!==c&&(s=!0),a[r.slotName]||(a[r.slotName]={}),a[r.slotName][r.extensionId]=u,l++}for(let[e,t]of Object.entries(a)){let n=i[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(a[e]=n)}s||(s=Object.keys(i).length!==Object.keys(a).length||Object.values(i).reduce((e,t)=>e+Object.keys(t).length,0)!==l),s&&r.setState({configs:a})}(e,n,t,o),eb()}function eI(){o=()=>{var e,t;let n,o;return e=ei.getState(),t=ea.getState(),n=ej.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eG.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"}:e2(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,X.A)(o));eG.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]),a=o.map(([,e])=>e),s=ez.get(e);if(s&&s.annotatedSchema===t&&s.configSlices.length===r.length&&s.configSlices.every((e,t)=>e===r[t])&&s.sources.every((e,t)=>e===a[t])){i[e]=s.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=eC(l,function e(t,n){return e2(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),ez.set(e,{annotatedSchema:t,configSlices:r,sources:a,result:l}),i[e]=l}return i}(e,t)},void((0,q.A)(n.config,o.config)||ej.setState(o))},eA(),eE.push(ei.subscribe(eO),ea.subscribe(eO),es.subscribe(eO))}function eO(){eS();try{eA()}catch(e){ek(e),console.error("Failed to recompute the configuration",e)}}eI();let eP=new Map;function eT(e,t){eJ(e,t);let n=eC(t,e7);ei.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eR(e){ei.setState(t=>({...t,schemas:{...t.schemas,[e]:e7}}))}function e$(e){ei.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eM(e){ei.setState(t=>({...t,schemas:{...t.schemas,[e]:e4}}))}function eW(e,t){eJ(e,t);let n=eC(t,e7);ei.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.`),ei.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eD(e,t="provided"){ei.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function eL(e,t,n){return new Promise(o=>{let r,i=!1;function a(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}a(e.getState()),i||(r=e.subscribe(a))})}function eB(e){return eL(el(e),e=>!!(e.loaded&&e.config),e=>(0,K.A)(e.config,["Display conditions","Translation overrides"]))}function eU(e,t,n){let o=[eL(el(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&n&&o.push(eL(ef(t,n),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(o)}function eF(e,t,n){eX(e,t,n);let o=e0(e,t);return eQ(e,o,n),o}let eH=new Map,ez=new Map,eG=new Map;function eV(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eJ(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,a=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}`),!e2(a)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}a.hasOwnProperty("_default")||eJ(e,a,i);let s=a._elements;if(e1(s)&&eJ(e,s,i+"._elements"),a._validators)for(let t of a._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
3
+ ${e.stack}`,j(t)}}function C(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 E(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){return console.error("Unexpected error: ",e),v({description:e??"Oops! An unexpected error occurred.",kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),v({description:e.reason??"Oops! An unhandled promise rejection occurred.",kind:"error",title:"Error"})};var A,I,O,P=n(1978),T=n(9167);function $(){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 R={},M=Symbol.for("openmrs.esm-state.instanceCount"),W=globalThis,D=(W[M]??0)+1;function L(e,t,n="none"){let o=R[e];if(o)return o.active?$()||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=H(e,t,n);return R[e]={value:o,active:!0},o}}function B(e,t){let n=R[e];return n?(n.active?$()||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):(R[e]={value:t,active:!0},t)}function U(e,t,n="none"){let o=R[e];if(!o){let o=H(e,t??{},n);return R[e]={value:o,active:!1},o}return o.value}function F(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,a=i(t.getState());return r(a),t.subscribe(e=>{let t=i(e);E(a,t)||(a=t,r(t))})}function H(e,t,n){return"sessionStorage"===n?(0,T.y)()((0,P.Zr)(()=>t,{name:e,storage:(0,P.KU)(()=>sessionStorage)})):(0,T.y)()(()=>t)}W[M]=D,D>1&&!$()&&console.error(`Detected ${D} 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=R)},1e3);var z=n(1156),G=n(7436),V=n(3591),J=n(4888),q=n(9352),K=n(8170),X=n(8395),Q=((A={}).Array="Array",A.Boolean="Boolean",A.ConceptUuid="ConceptUuid",A.Number="Number",A.Object="Object",A.String="String",A.UUID="UUID",A.PersonAttributeTypeUuid="PersonAttributeTypeUuid",A.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",A);function Y(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let Z=Y(e=>Array.isArray(e),"must be an array"),ee=Y(e=>"boolean"==typeof e,"must be a boolean"),et=Y(e=>"number"==typeof e,"must be a number"),en=Y(e=>"string"==typeof e,"must be a string"),eo=Y(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),er=Y(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"),ei=L("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),ea=L("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});ea.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let es=L("config-store-of-extension-state",{mountedExtensions:[]});function el(e){return U(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function ec(){return U("config-extension-slots",{slots:{}})}function eu(e){return ed(ec().getState(),e)}function ed(e,t){return e.slots[t]??{loaded:!1,config:{}}}function em(){return U("config-extensions",{configs:{}})}function ef(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=em(),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);E(r,i)||e(r,i)})}}function ep(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function eg(e,t,n){return e.configure?.[n]??null}let eh=(0,T.y)()(()=>({config:{}})),ew=0,e_=!0,ey=!1;function ev(e){o=e}function eb(){e_=!0,ew>0&&ex()}function ex(){if(e_&&o&&!ey){ey=!0,e_=!1;try{o()}catch(e){e_=!0,ek(e),console.error("Failed to derive the implementer tools config",e)}finally{ey=!1}}}function ek(e){eh.setState({derivationError:e instanceof Error?e.message:String(e)})}function eS(){eh.getState().derivationError&&eh.setState({derivationError:void 0})}let ej=B("config-implementer-tools",{...eh,getState:()=>(0===ew&&ex(),eh.getState()),setState:(...e)=>(e_=!1,eh.setState(...e)),subscribe(e){ew++,ex();let t=eh.subscribe(e),n=!1;return()=>{!n&&(n=!0,ew--),t()}}});function eN(e,t){if(Array.isArray(t))return t}function eC(e,t){return(0,J.A)({},e,t,eN)}let eE=[];function eA(){let e=ei.getState(),t=ea.getState(),n=es.getState();!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=el(n),i=e.schemas[n],a=!!e.moduleLoaded[n],s=eP.get(n);if(s&&s.schema===i&&s.moduleLoaded===a&&s.providedConfigs===e.providedConfigs&&s.temporaryConfig===t.config)o=s.state;else{let r=a?function(e,t,n){let o=t.schemas[e],r=eq(e,eV(t,n));eX(o,r,e);let i=e0(o,r);return eQ(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=e0(e7,eq(e,eV(t,n)));return eQ(e7,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:a,config:r},eP.set(n,{schema:i,moduleLoaded:a,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,q.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=eK(eV(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&&e5(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||e5(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)||e5(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)||e5(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!e2(e.configure)&&e5(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},a={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(a[t]??(a[t]=[])).push(n.configure);for(let[e,t]of Object.entries(a)){let n=1===t.length?t[0]:eK(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=ec(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,q.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),function(e,t,n,o){let r=em(),i=r.getState().configs,a={},s=!1,l=0;for(let r of t.mountedExtensions){let t=function(e,t,n,o,r,i,a){let s=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[s],c=JSON.stringify([n,o,e,t]),u=eH.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?s:t,m=eV(r,i),f=a?.configure?.[o]??{},p=eq(e,m),g=p?.extensionSlots?.[n]?.configure?.[o]??{},h=eK([eq(d,m),f,g]),w=l??r.schemas[t];eX(w,h,d);let _=e0(w,h);return eQ(w,_,d),delete _.extensionSlots,eH.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:_}),_}(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,n,o[r.slotName]),c=i[r.slotName]?.[r.extensionId],u=c?.loaded&&(0,q.A)(c.config,t)?c:{config:t,loaded:!0};u!==c&&(s=!0),a[r.slotName]||(a[r.slotName]={}),a[r.slotName][r.extensionId]=u,l++}for(let[e,t]of Object.entries(a)){let n=i[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(a[e]=n)}s||(s=Object.keys(i).length!==Object.keys(a).length||Object.values(i).reduce((e,t)=>e+Object.keys(t).length,0)!==l),s&&r.setState({configs:a})}(e,n,t,o),eb()}function eI(){o=()=>{var e,t;let n,o;return e=ei.getState(),t=ea.getState(),n=ej.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eG.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"}:e2(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,X.A)(o));eG.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]),a=o.map(([,e])=>e),s=ez.get(e);if(s&&s.annotatedSchema===t&&s.configSlices.length===r.length&&s.configSlices.every((e,t)=>e===r[t])&&s.sources.every((e,t)=>e===a[t])){i[e]=s.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=eC(l,function e(t,n){return e2(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),ez.set(e,{annotatedSchema:t,configSlices:r,sources:a,result:l}),i[e]=l}return i}(e,t)},void((0,q.A)(n.config,o.config)||ej.setState(o))},eA(),eE.push(ei.subscribe(eO),ea.subscribe(eO),es.subscribe(eO))}function eO(){eS();try{eA()}catch(e){ek(e),console.error("Failed to recompute the configuration",e)}}eI();let eP=new Map;function eT(e,t){eJ(e,t);let n=eC(t,e7);ei.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function e$(e){ei.setState(t=>({...t,schemas:{...t.schemas,[e]:e7}}))}function eR(e){ei.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eM(e){ei.setState(t=>({...t,schemas:{...t.schemas,[e]:e4}}))}function eW(e,t){eJ(e,t);let n=eC(t,e7);ei.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.`),ei.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eD(e,t="provided"){ei.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function eL(e,t,n){return new Promise(o=>{let r,i=!1;function a(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}a(e.getState()),i||(r=e.subscribe(a))})}function eB(e){return eL(el(e),e=>!!(e.loaded&&e.config),e=>(0,K.A)(e.config,["Display conditions","Translation overrides"]))}function eU(e,t,n){let o=[eL(el(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&n&&o.push(eL(ef(t,n),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(o)}function eF(e,t,n){eX(e,t,n);let o=e0(e,t);return eQ(e,o,n),o}let eH=new Map,ez=new Map,eG=new Map;function eV(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eJ(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,a=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}`),!e2(a)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}a.hasOwnProperty("_default")||eJ(e,a,i);let s=a._elements;if(e1(s)&&eJ(e,s,i+"._elements"),a._validators)for(let t of a._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=a._type;l&&!Object.values(Q).includes(l)&&console.error(`${e} has invalid type for key '${i}' ${o}.
6
6
 
@@ -12,21 +12,21 @@ If you're the maintainer: the 'elements' key only works with '_type' equal to 'A
12
12
  ${t}`)}return o}let e0=(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&&e1(e)){if(r._type===Q.Array&&Array.isArray(o)){let r=o.map(t=>e0(e,t));n[t]=r}else if(r._type===Q.Object)for(let t of Object.keys(o))o[t]=e0(e,o[t])}}else if(e2(r)){let e=o??{};e2(e)&&(n[t]=e0(r,e))}}return n};function e1(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function e2(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let e6=new Set;function e5(e,t){let n=`${e}:::${t}`;e6||(e6=new Set),e6.has(n)||(console.error(t),e6.add(n))}function e8(e){e?e6.forEach(t=>{t.startsWith(e)&&e6.delete(t)}):e6.clear()}function e3(){eE.forEach(e=>e()),eE.length=0,eP.clear(),eH.clear(),eG.clear(),ez.clear(),eI()}let e4={"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:Q.Object,_default:{},_validators:[Y(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(", ")}.`})]}},e7={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:Q.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:Q.String,_default:void 0}},...e4},e9=(e,t)=>Y(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),te=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return Y(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(", "))},tt=te([]),tn=e=>Y(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),to={inRange:e9,isUrl:tt,isUrlWithTemplateParameters:te,oneOf:tn};var tr=n(4913);let ti=L("breadcrumbs",[]);function ta(e){return ts([e])}function ts(e){let t=[...tl(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,tr.pathToRegexp)(e.matcher).regexp:(0,tr.pathToRegexp)(e.path).regexp,settings:e}))];ti.setState(t,!0)}function tl(){return ti.getState()}function tc(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=tc(e,n.join("/"));if(t)return t}}(e,t)}function tu(e,t){if(e.length>0){let n=tc(e,t);if(n){let t=[n],o=tc(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=tc(e,o.settings.parent);return t.reverse()}}return[]}function td(e){return tu(tl(),e)}var tm=n(2267);function tf(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,"");return tp(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t}).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,"");o.startsWith(n)?(0,tm.EH)(o):window.location.assign(o)}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=ty();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)?tv({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tw(window.location.href)})}function ty(){return JSON.parse(sessionStorage.getItem(th)??"[]")}function tv({toUrl:e}){let t=ty(),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",tk={redirectAuthFailure:{enabled:{_type:Q.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:Q.String,_default:tx,_validators:[to.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:Q.Array,_default:[401],_elements:{_type:Q.Number,_validators:[to.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:Q.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:Q.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tS(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",tC=`${tj}/session`;function tE(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=tE(e);if(t.headers||(t.headers={}),(0,V.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,e.startsWith(tj)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(tN)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let o=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:t,followRedirects:r}=await eB("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(r&&t&&(n===tE(tC)||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===tE(tC)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(tb(),tg({to:t.url||e.headers.get("location")||tx}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let r=t;try{r=JSON.parse(t)}catch(e){}throw new tO(n,e,r,o)},t=>{throw new tO(n,e,null,o)})})}function tI(e,t={}){if("object"!=typeof t)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");let n=new AbortController;return t.signal=n.signal,new G.Observable(o=>{let r=!1;return tA(e,t).then(e=>{r=!0,o.next(e),o.complete()},e=>{r=!0,o.error(e)}),()=>{r||n.abort()}})}class tO extends Error{constructor(e,t,n,o){super(),tS(this,"response",void 0),tS(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 tP=L("session",{loaded:!1,session:null}),tT=0;function tR(e={includeAuthStatus:!0}){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),new G.Observable(t=>{let n=n=>{n.loaded&&(e.includeAuthStatus?t.next(n.session):t.next(n.session?.user))};return n(tP.getState()),tP.subscribe(n)})}function t$(){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),tP}function tM(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){tT=Date.now();let n={};return e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),tz(tA(tC,{headers:n}))}function tD(){tP.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function tL(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,z.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,z.A)(o.privileges.find(t=>e===t.display))):((0,z.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,z.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(tP.getState()),e||(t=tP.subscribe(o))})}function tU(){return new Promise((e,t)=>{tR().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function tF(e,t){return tz(tA(tC,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function tH(e,t,n){return n||(n=new AbortController),await tA(`${tj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}function tz(e){return new Promise((t,n)=>{e.then(e=>{let o;"object"==typeof e?.data?(o={loaded:!0,session:e.data},tP.setState(o),t(o)):(o={loaded:!1,session:null},tP.setState(o),n(o))}).catch(e=>{j(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};tP.setState(t),n(t)})})}function tG(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tP.subscribe(e=>{e.loaded&&e.session&&tM(e.session)});let tV={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tJ(){eT("@openmrs/esm-api",tk),tW()}let tq={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",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",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",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",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",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",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tK=n(2279);let tX=tK.Ay.default||tK.Ay;function tQ(e,t,n,o){return tX.t(t,{ns:e,defaultValue:n,...o})}function tY(e,t,n){return tq[e]?tQ("core",e,t??tq[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}tX.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tZ="import-map-override:",t0="import-map-overrides-disabled",t1="import-map-overrides:change",t2=!1,t6=null,t5=null;async function t8(){return t5??(t5=t3().then(({map:e,complete:t})=>(t||(t5=null),e))),t5}async function t3(){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:t4(t),complete:n}}function t4(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t7(){let e={};try{let t=no();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(tZ)){let n=o.slice(tZ.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 t9(){let e=await t8();return t2?t4([e,t6??t7()]):e}async function ne(){return t8()}async function nt(){return t2?t4([await t8(),t7()]):t8()}function nn(e){if(!t2)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(tZ)){let t=localStorage.getItem(n);t&&(e[n.slice(tZ.length)]=t)}}return{imports:e}}return t7()}function no(){if(!t2)return[];try{let e=localStorage.getItem(t0);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function nr(e){return!!t2&&no().includes(e)}function ni(e,t){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tZ+e,t),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function na(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tZ+e);let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function ns(){if(!t2)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(tZ)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nl(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nc=!1;function nu(){!nc&&(nc=!0,(t2="development"===window.spaEnv)&&(t6=t7()))}function nd(e){return e.replace(/[\/\-@]/g,"_")}async function nm(e,t="./start",o){var r;let i,a=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nf(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=a)<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`}.`))},a)})]),i&&clearTimeout(i);let s=nd(e),l=window[s];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 ${s} 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 nf(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=nd(e);if(!window[n]){let n=t??await np();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 nn().imports;try{return await function(e){var t;let n=(t=window)[ng]??(t[ng]=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 a(){clearTimeout(i),r.removeEventListener("load",s),r.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",s),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&v({kind:"error",title:tY("scriptLoadingFailed","Error: Script failed to load"),description:tY("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:tY("resetOverrides","Reset overrides"),onActionButtonClick(){ns(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function np(){return t9()}let ng=Symbol.for("__openmrs_script_loading");function nh(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,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function nw(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&&nh(t))}let n_="openmrs-routes:",ny="openmrs-routes:change",nv=!1,nb=null,nx=null;async function nk(){return nx??(nx=nS().then(({map:e,complete:t})=>(t||(nx=null),e))),nx}async function nS(){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&&nw(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:nj(t),complete:n}}function nj(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 nN(){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(n_)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(n_.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(nh(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(nh(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 nv?nj([e,nb??await nN()]):e}async function nE(){return nk()}async function nA(){return nv?nj([await nk(),await nN()]):nk()}function nI(){if(!nv)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(n_)){let t=localStorage.getItem(n);t&&(e[n.slice(n_.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nO(e,t){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(n_+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!nh(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(n_+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(n_+e,JSON.stringify(t.toString()));else{if(!nh(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(n_+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nP(e){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(n_+e),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nT(){if(!nv)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(n_)&&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 nR=null;function n$(){return nR||(nR=(nv="development"===window.spaEnv)?nN().then(e=>{nb=e}):Promise.resolve())}let nM=`${tj}/attachment`;function nW(e,t){return tA(`${nM}/${e}`,{signal:t.signal})}function nD(e,t,n){return tA(`${nM}?patient=${e}&includeEncounterless=${t}`,{signal:n.signal})}async function nL(e,t){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),tA(`${nM}`,{method:"POST",body:n})}function nB(e,t){return tA(`${nM}/${e}`,{method:"DELETE",signal:t.signal})}var nU=n(8798);function nF(e,t){if(void 0!==i)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),i;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let n=new nU.JK(e,t);return i=n.register().then(()=>n.controlling.then(()=>n))}function nH(){return i??Promise.resolve(void 0)}let nz="x-omrs-offline-response-body",nG="x-omrs-offline-response-status",nV="x-omrs-offline-caching-strategy";async function nJ(e){let t=await nH();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function nq(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function nK(){return!window.indexedDB}async function nX(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function nQ(){return await nX()||await nK()||await nq()}let nY="openmrs3:offline-mode",nZ="unavailable";function n0(){return{current:nZ,notAvailable:"unavailable"===nZ,active:"on"===nZ}}function n1(e){"unavailable"!==nZ&&"unavailable"!==e&&(localStorage.setItem(nY,"on"===e?"active":"disabled"),nZ=e)}async function n2(){await nQ()||(nZ="active"===localStorage.getItem(nY)?"on":"off"),navigator.onLine}var n6=n(8442);function n5(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class n8 extends n6.Ay{constructor(){super("EsmOffline"),n5(this,"syncQueue",void 0),n5(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function n3(){return new n8}let n4=new n8,n7={},n9=L("offline-synchronization",{});function oe(){return n9}async function ot(){if(n9.getState().synchronization)return;let e=await n4.syncQueue.count(),t={},n=Object.entries(n7),o=n.length,r={},i=new AbortController,a=()=>{let e=n9.getState().synchronization;n9.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{n9.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<o&&n.length>0;e++)for(let e=n.length;e--;){let[o,s]=n[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(r[o]={},await Promise.all(l),t[o]=on(s,r,i,a),n.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{n9.setState({synchronization:void 0})}}async function on({type:e,dependsOn:t,process:n},o,r,i){let a=[],s=[],l=await oo();await n4.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let c=0;c<a.length;c++){let[u,d,{id:m,dependencies:f=[]}]=a[c];try{let i=await n(d,{abort:r,index:c,items:s,userId:l,dependencies:f.map(({id:e,type:n})=>t.includes(n)?o[n][e]:void 0)});void 0!==m&&(o[e][m]=i),await n4.syncQueue.delete(u)}catch(e){await n4.syncQueue.update(u,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function oo(){let e=await tB();return e?.uuid||"*"}async function or(e,t,n,o){let r=o&&o.id;return void 0!==r&&await n4.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===r).delete().catch(n6.Ay.errnames.DatabaseClosed),await n4.syncQueue.add({type:t,content:n,userId:e,descriptor:o||{},createdOn:new Date}).catch(n6.Ay.errnames.DatabaseClosed,()=>-1)}async function oi(e,t,n){let o=await oo();return await or(o,e,t,n)}async function oa(e,t){return(await os(e,t)).map(e=>e.content)}async function os(e,t){return await n4.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(n6.Ay.errnames.DatabaseClosed,()=>[])}async function ol(e){let t=await oo();return await oa(t,e)}async function oc(e){let t=await oo();return await os(t,e)}async function ou(e){return await n4.syncQueue.get(e).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0)}function od(e){return!!n7[e]?.options.onBeginEditSyncItem}async function om(e){let t=await ou(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let n=n7[t.type]?.options.onBeginEditSyncItem;if(!n)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);n(t)}async function of(e){await n4.syncQueue.delete(e).catch(n6.Ay.errnames.DatabaseClosed)}function op(e,t,n,o={}){n7[e]={type:e,dependsOn:t,process:n,options:o}}var og=n(1301);let oh="OFFLINE+";function ow(){return oh+(0,og.A)()}function o_(e){return e.startsWith(oh)}let oy={};function ov(){return Object.values(oy)}function ob(e){oy[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),oy[e.id]=e}async function ox(e){let t=await oI();return await ok(t,e)}async function ok(e,t){let n=new n8;return await n.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(n6.Ay.errnames.DatabaseClosed,()=>[])}async function oS(e,t){let n=await oI();return await oj(n,e,t)}async function oj(e,t,n){let o=new n8,r=await o.dynamicOfflineData.get({type:t,identifier:n}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0);r?r.users.includes(e)||await o.dynamicOfflineData.update(r.id,{users:[...r.users,e]}).catch(n6.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.add({users:[e],type:t,identifier:n}).catch(n6.Ay.errnames.DatabaseClosed)}async function oN(e,t){let n=await oI();return await oC(n,e,t)}async function oC(e,t,n){let o=new n8,r=await o.dynamicOfflineData.get({type:t,identifier:n,users:e}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0);r&&(r.users.length>1?await o.dynamicOfflineData.update(r.id,{users:r.users.filter(t=>t!==e)}).catch(n6.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.delete(r.id).catch(n6.Ay.errnames.DatabaseClosed))}async function oE(e,t){let n=await ox(e);await Promise.all(n.map(async e=>oA(e.type,e.identifier,t)))}async function oA(e,t,n){await oS(e,t);let o=new n8,r=await oI(),i=await o.dynamicOfflineData.get({type:e,identifier:t}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0),a=ov().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,n),{id:e.id,error:void 0}}catch(n){let t=n.message?.toString()??n.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:r,succeededHandlers:l,erroredHandlers:c,errors:u};i.id&&await o.dynamicOfflineData.update(i.id,{syncState:d}).catch(n6.Ay.errnames.DatabaseClosed)}async function oI(){let e=(await tB()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let oO=L("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function oP(){return o$(),oO}function oT(e,t){o$(),ob({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,n)=>t.onOfflinePatientAdded({patientUuid:e,signal:n??new AbortController().signal})})}async function oR(e){o$(),await oA("patient",e)}function o$(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function oM(e,t,n=!0){if(e){let o=null,[r,i]=await Promise.all([tA(`${tN}/Patient/${e}`,t).catch(e=>o=e),n?oW(e):Promise.resolve(null)]);if(r.ok)return r.data;if(i)return i;if(o)throw o}return null}async function oW(e){let t=(await ol("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function oD(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function oL(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)}}var oB=n(3492);function oU(e){return{uuid:e.uuid,display:e.display}}function oF(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tI(`${tj}/location${o?"?"+o:""}`).pipe((0,oB.map)(e=>e.data.results.map(oU))).pipe((0,oB.take)(1))}function oH(e){return{uuid:e.uuid,display:e.display,name:e.name}}function oz(){return tI(`${tj}/visittype`).pipe((0,oB.map)(e=>e.data.results.map(oH))).pipe((0,oB.take)(1))}var oG=((I={}).NEWVISIT="startVisit",I.EDITVISIT="editVisit",I.LOADING="loadingVisit",I),oV=((O={}).NOTSTARTED="notStarted",O.ONGOING="ongoing",O);let oJ="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))",oq=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function oK(){return U("visit",oq)}function oX(e,t){oK().setState({patientUuid:e,manuallySetVisitUuid:t})}function oQ(e,t){return tA(`${tj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function oY(e,t,n){return tA(`${tj}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function oZ(e,t,n){return tA(`${tj}/visit?patient=${e}&v=${n??oJ}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}oK().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let o0=new G.BehaviorSubject(null);var o1=n(9225),o2=n(6881),o6=n(6828),o5=n(1956),o8=n(3635),o3=n(7839),o4=n(2298);let o7={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)}},o9={...o7,Promise};function re(e,t={}){return ra(e,t,rc)}async function rt(e,t={}){return rs(e,t,rc)}function rn(e,t={}){return ra(e,t,ru)}function ro(e,t={}){return rs(e,t,ru)}function rr(e,t={}){return ra(e,t,rd)}function ri(e,t={}){return rs(e,t,rd)}function ra(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=rp(t,o7),r=rm("string"==typeof e?(0,o1.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 rs(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=rp(t,o9);return Promise.resolve(rm("string"==typeof e?(0,o1.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 rl(e){return(0,o1.A)(e)}function rc(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function ru(e){return"boolean"==typeof e}function rd(e){return"number"==typeof e}function rm(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,a,s,l,c,u,d,m,f,p=e,g=t;let h=rm(p.argument,g);switch(p.operator){case"+":return+h;case"-":return-h;case"~":return~h;case"!":return!h;default:throw`Expression evaluator does not support operator '${p.operator}''`}case"BinaryExpression":var w=e,_=t;let y=rm(w.left,_),v=rm(w.right,_);switch(w.operator){case"+":return y+v;case"-":return y-v;case"*":return y*v;case"/":return y/v;case"%":return y%v;case"**":return y**v;case"==":return y==v;case"===":return y===v;case"!=":return y!=v;case"!==":return y!==v;case">":return y>v;case">=":return y>=v;case"<":return y<v;case"<=":return y<=v;case"in":return y in v;case"&&":return y&&v;case"||":return y||v;case"??":return y??v;default:throw`Expression evaluator does not support operator '${w.operator}' operator`}case"ConditionalExpression":return n=e,o=t,rm(n.test,o)?rm(n.consequent,o):rm(n.alternate,o);case"CallExpression":var b=e,x=t;let k=b.arguments?.map(rg(x)),S=rm(b.callee,x);if(S){if("function"!=typeof S)throw`${rw(b.callee)} is not a function`}else throw`No function named ${rw(b.callee)} is defined in this context`;return S(...k);case"ArrowFunctionExpression":let j;return r=e,i=t,j=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<j.length)throw`Required argument(s) ${j.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(j.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 rm(r.body,i.addVariables(t))}).bind(i.thisObj??null);case"MemberExpression":return function(e,t){let n,o=rm(e.object,t);if(void 0===o)switch(e.object.type){case"Identifier":{let n=rf(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":{let n=rf(e.property,t);throw TypeError(`TypeError: cannot read properties of undefined (reading '${n}')`)}default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}let r=o;if("string"==typeof o)r=String.prototype;else if("number"==typeof o)r=Number.prototype;else if("function"==typeof o);else if("object"!=typeof o)throw`VisitMemberExpression does not support member access on type ${typeof o}`;switch(t.thisObj=r,e.property.type){case"Identifier":case"MemberExpression":n=rm(e.property,t);break;default:{let r=rm(e.property,t);if(void 0===r)throw{type:"Illegal property access",message:"No property was supplied to the property access"};rh(r),n=o[r]}}return"function"==typeof n?n.bind(o):n}(e,t);case"ArrayExpression":return a=e,s=t,a.elements?.map(rg(s));case"SequenceExpression":let N;return l=e,c=t,(N=l.expressions.map(rg(c)))[N.length-1];case"NewExpression":var C=e,E=t;if(C.callee&&"Identifier"===C.callee.type){let e=C.arguments?.map(rg(E));switch(C.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${C.callee.name}`}}if(C.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return rh((u=e).value),u.value;case"Identifier":var A=e,I=t;rh(A.name);let O=I.thisObj;if(O&&("object"==typeof O||"function"==typeof O)&&A.name in O){let e=O[A.name];return rh(e),e}if(I.variables&&A.name in I.variables){let e=I.variables[A.name];return rh(e),e}return A.name in I.globals?I.globals[A.name]:void 0;case"TemplateLiteral":let P,T;return d=e,m=t,P=d.expressions?.map(rg(m))??[],(T=d.quasis?.map(rg(m))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+P.join("")+T.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(f=e).cooked,tail:f.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rf(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return rf(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function rp(e,t){let n={thisObj:void 0,variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}function rg(e){return function(t){return null===t?null:rm(t,e)}}function rh(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}function rw(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function r_(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:{...o9},isLocalExpression:!1,variables:new Set};return ry("string"==typeof e?(0,o1.A)(e):e,t),[...t.variables]}function ry(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,ry(o.argument,r);case"BinaryExpression":return i=e,a=t,[ry(i.left,a),ry(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[ry(s.consequent,l),ry(s.test,l),ry(s.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=ry(c.callee,u),c.arguments?.map(rv(u)),n;case"ArrowFunctionExpression":var o,r,i,a,s,l,c,u,d,m,f,p,g,h,w,_,y,v,b=e,x=t;let k={...x};k.isLocalExpression=!0;let S=b.params?.map(rv(k))??[],j=ry(b.body,k)??[];if(j&&Array.isArray(j))for(let e of j)S.includes(e)||x.variables.add(e);return;case"MemberExpression":let N;return d=e,m=t,ry(d.object,m),void((N={...m}).isLocalExpression=!0,ry(d.property,N));case"ArrayExpression":return f=e,p=t,void f.elements?.map(rv(p));case"SequenceExpression":return g=e,h=t,void g.expressions?.map(rv(h));case"NewExpression":return w=e,_=t,void w.arguments?.map(rv(_));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,E=t;if(!(C.name in E.globals))if(E.isLocalExpression)return C.name;else E.variables.add(C.name);return;case"TemplateLiteral":return y=e,v=t,void(y.expressions?.map(rv(v)),y.quasis?.map(rv(v)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rv(e){return function(t){return null===t?null:ry(t,e)}}o1.A.plugins.register(o2.A),o1.A.plugins.register(o6.A),o1.A.plugins.register(o5.A),o1.A.plugins.register(o8.A),o1.A.plugins.register(o3.A),o1.A.plugins.register(o4.A),o1.A.addBinaryOp("in",7),o1.A.addBinaryOp("??",1);let rb=U("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 rx(e,t,n){rb.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function rk(){let e=rb.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 rS(e){return rb.getState().flags[e].enabled}function rj(e,t){rb.subscribe(n=>{t(n.flags[e].enabled)})}function rN(e,t){rb.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}function rC(e){return!window.offlineEnabled||(e??navigator.onLine)}rb.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 rE=n(1216);function rA(e=!0,t=!1){return rI(rC(),e,t)}function rI(e,t=!0,n=!1){return!!(e?t:n)}let rO=L("extensionsInternal",{slots:{},extensions:{}}),rP=L("extensionRenderings",{renderings:new Map}),rT=()=>U("extensionsInternal",{slots:{},extensions:{}}),rR=()=>U("extensionRenderings",{renderings:new Map});function r$(e){let t=rO.getState(),n=e(t);n!==t&&rO.setState(n)}let rM=null,rW=null;function rD(){let e=rP.getState();return rM&&e===rW||(rM=new Map(e.renderings),rW=e,function(e){for(let t of(rq.clear(),e.values()))rX(t,1);rK=!0}(rM)),rM}function rL(e){rW={renderings:e},rP.setState(rW,!0)}function rB(e){let t=rD();t.has(e.renderingId)||(t.set(e.renderingId,e),rX(e,1),rL(t))}function rU(e){let t=rD(),n=t.get(e);n&&(t.delete(e),rX(n,-1),rL(t))}let rF=()=>U("extensions",{slots:{}}),rH=0,rz=new Set;function rG(e){rH++;try{return e()}finally{if(0==--rH&&rz.size>0){let e=Array.from(rz);for(let t of(rz.clear(),e))rV(t)}}}function rV(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function rJ(e){rH>0?rz.add(e):rV(e)}let rq=new Map,rK=!1;function rX(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=rq.get(n);if(!o){if(t<0)return;rq.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),rK=!0;return}o.count+=t,o.count<1&&(rq.delete(n),rK=!0)}function rQ(){var e,t;if(rD(),!rK)return;rK=!1;let n=Array.from(rq.values(),({record:e})=>e);n.sort(rY),e=es.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===rY(e,t[n]))||es.setState({mountedExtensions:n})}function rY(e,t){return rZ(e.slotName,t.slotName)||rZ(e.extensionId,t.extensionId)||rZ(e.slotModuleName,t.slotModuleName)||rZ(e.extensionModuleName,t.extensionModuleName)}function rZ(e,t){return e===t?0:e<t?-1:1}rQ(),rP.subscribe(()=>rJ(rQ));let r0=rT(),r1=rF(),r2=ec(),r6=em(),r5=new Set,r8=!1;function r3(e){if(null===e)r5=null;else if(null!==r5)for(let t of e)r5.add(t);rJ(r4)}function r4(){if(!r8){r8=!0;try{for(let e=1;;e++){let t=r5;if(null!==t&&0===t.size)return;r5=new Set;try{!function(e,t,n,o,r,i=null){let a=r1.getState().slots,s={},l=!1,c=rC(),u=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,d]of Object.entries(e.slots)){let m=a[o];if(m&&i&&!i.has(o)){s[o]=m;continue}let{config:f}=ed(t,d.name),p=function(e,t,n,o,r,i,a){let s=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=r0.getState();return[...t,...n].filter(e=>!o.includes(e)).sort((e,n)=>ic(e,r,i[it(e)]?.order,t)-ic(n,r,i[it(n)]?.order,t))}(n,t.slots[e].attachedIds),l=[];for(let c of s){let{config:s}=ep(o,e,c),u=eg(n,e,c),d=u?(0,rE.A)({},s,u):s,m=it(c),f=t.extensions[m];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!tL(e,a.user))||f.featureFlag&&!r.includes(f.featureFlag)||window.offlineEnabled&&!rI(i,f.online,f.offline))continue;l.push({id:c,name:m,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(o,e,f,n,u,c,r.session);m&&m.moduleName===d.moduleName&&(0,q.A)(m.candidateExtensions,p)?s[o]=m:(s[o]={moduleName:d.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&r1.setState({slots:s})}(r0.getState(),r2.getState(),r6.getState(),rb.getState(),tP.getState(),t)}catch(e){throw r5=null===t||null===r5?null:new Set([...t,...r5]),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{r8=!1}}}function r7(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 r9(){r3(null)}function ie(e,t){return{moduleName:t,name:e,attachedIds:[]}}function it(e){let[t]=e.split("#");return t}function io(e,t){let n=it(t);return e.extensions[n]}function ir(e){return io(r0.getState(),e)}r0.subscribe((e,t)=>{r3(e.extensions!==t.extensions?null:r7(e.slots,t.slots))}),r2.subscribe((e,t)=>{r3(r7(e.slots,t.slots))}),r6.subscribe((e,t)=>{r3(r7(e.configs,t.configs))}),rb.subscribe(()=>r3(null)),tP.subscribe(()=>r3(null)),r9(),l(r9);let ii=e=>r$(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ia(e,t){r$(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...ie(e),attachedIds:[t]}}}})}function is(e,t){r$(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 il(e){r$(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function ic(e,t,n,o){let r=t.indexOf(e);if(-1!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.indexOf(e);return -1!==t?2e3+t:3e3}}function iu(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!!rn(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(id(e),t,tP.getState().session,e)}function id(e){return r1.getState().slots[e]?.candidateExtensions??[]}let im=(e,t)=>r0.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=ie(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),ip=()=>{r5=null,r$(()=>({slots:{},extensions:{}})),rR().setState({renderings:new Map}),r1.setState({slots:{}})},ig=L("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function ih({name:e,basePath:t,mode:n,componentContext:o,state:r}){ig.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function iw(e){ig.getState().slotName===e&&ig.setState(ig.getInitialState(),!0)}let i_=L("modalRegistry",{modals:{}});function iy(e){i_.setState(t=>(t.modals[e.name]=e,t))}function iv(e){let t=i_.getState().modals[e];if(!t){let n=ir(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.`),iy(t))}return t}let ib=L("workspaceRegistrations",{workspaces:{}}),ix=L("workspaceGroups",{workspaceGroups:{}});function ik(e){ib.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function iS(e){ix.setState(t=>{let n=t.workspaceGroups[e.name];return n?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...n,members:Array.from(new Set([...n.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let ij=new Set;function iN(e){let t=ib.getState().workspaces;if(t[e])return t[e];{let t=ir(e);if(t){var n;let o;return ij.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),ij.add(e)),{name:t.name,title:(n=t,"string"==typeof(o=n?.meta?.title)?o:o&&"object"==typeof o?tQ(n.moduleName,o.key,o.default):n.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function iC(e){let t=ix.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let iE=L("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function iA(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=iE.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 iI(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=iE.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 iO(e){let{openedWindows:t}=iE.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function iP(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=iE.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}}iE.setState({registeredGroupsByName:o})}function iT(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=iE.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}iE.setState({registeredWindowsByName:o})}function iR(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=iE.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}iE.setState({registeredWorkspacesByName:o})}let i$=0,iM=null,iW={bootstrap:{millis:15e3,dieOnTimeout:!0},mount:{millis:15e3,dieOnTimeout:!0},unmount:{millis:15e3,dieOnTimeout:!0}};async function iD(e,t){return(await (iM??(iM=new Promise((e,t)=>{(0,tm.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),tm.xL))),iM))("function"==typeof e?()=>e().then(e=>({timeouts:iW,...e})):{timeouts:iW,...e},t)}function iL(){return iB}function iB(e,t){let n,o=iD(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 iU(e,t,n,o,r=e=>e,i={}){let a=it(o),s=ir(o),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:c,moduleName:u,online:d,offline:m,load:f}=s;if(rA(d,m)){let s,d=i$++,m=`${t}/${o}-${d}`;e.dataset.extensionRenderingId=m;let p=e=>{try{rU(m)}catch(t){console.error(e,t)}};try{rB({renderingId:m,extensionName:a,extensionModuleName:u,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw p(`Recomputing configuration after registering '${o}' failed also failed`),e}try{s=await f()}catch(e){throw p(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await iD(r({...s,name:`${t}/${a}-${d}`}),{...i,_meta:c,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:u},domElement:e})}catch(e){throw p(`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),p(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>p(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),p(`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 iF=n(6925),iH=n.n(iF);let iz=(0,iF.createContext)({moduleName:"",featureName:""});function iG({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,iF.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}`)},[]),iH().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 iV=({state:e,children:t,...n})=>{let{extension:o}=(0,iF.useContext)(iz),r=(0,iF.useRef)(null),i=(0,iF.useRef)(Promise.resolve()),a=(0,iF.useRef)(!1),s=(0,iF.useRef)(!1),l=(0,iF.useRef)(e),c=(0,iF.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,iF.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,iF.useCallback)(t=>{t&&!r.current&&!s.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(s.current=!0,iU(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(s.current=!1,r.current=t,a.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{s.current=!1}))},[]);return(0,iF.useEffect)(()=>(a.current=!1,()=>{a.current=!0,c(r.current)}),[]),(0,iF.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?iH().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function iJ(e){let t=(0,iF.useRef)(e);return E(t.current,e)||(t.current=e),t.current}function iq(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 iK=e=>e;function iX(e,t=iK,n){let o=(0,iF.useCallback)(t=>e.subscribe(t),[e]),r=(0,iF.useCallback)(()=>t(e.getState()),[e,t]),i=(0,iF.useSyncExternalStore)(o,r,r),a=(0,iF.useMemo)(()=>n?iq(e,n):null,[e,n]);return(0,iF.useMemo)(()=>a?{...i,...a}:i,[i,a])}function iQ(e,t){return iX(e,iK,t)}function iY(e){return function(t){let n=(0,iF.useCallback)(t=>e.subscribe(t),[]),o=(0,iF.useCallback)(()=>e.getState(),[]),r=(0,iF.useSyncExternalStore)(n,o,o),i=(0,iF.useMemo)(()=>t?iq(e,t):null,[t]);return(0,iF.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let iZ=[];Object.freeze(iZ);let i0={candidateExtensions:iZ};Object.freeze(i0);let i1=e=>{let t=(0,iF.useCallback)(t=>t.slots?.[e]??i0,[e]);return iX(rF(),t)},i2=e=>e.session;function i6(e,t){let{candidateExtensions:n}=i1(e),o=iX(tP,i2),r=iJ(t);return(0,iF.useMemo)(()=>iu(e,r),[e,r,o,n])}function i5(e,t){let{moduleName:n}=(0,iF.useContext)(iz);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,iF.useEffect)(()=>{im(n,e)},[n,e]),{extensions:i6(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function i8(e){return e}function i3({name:e,extensionSlotName:t,select:n=i8,children:o,state:r,style:i,...a}){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 s=e??t,l=(0,iF.useRef)(null),{extensions:c,extensionSlotModuleName:u}=i5(s,r),d=(0,iF.useMemo)(()=>n(c),[n,c]),m=(0,iF.useMemo)(()=>{if("function"==typeof o&&!iH().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return iH().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>iH().createElement(iz.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:u}}},m?.[t]??("function"!=typeof o?o:null)??iH().createElement(iV,{state:r}))))}var i4=n(3776),i7=n(9568),i9=n(9737),ae=n(7488),at=n(1405);let an={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ao=new Map;(0,at.r2)(ao);let ar={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:()=>ao};function ai(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},an,e),n={...ar,...t.swrConfig};return function(e){var o,r,i,a,s;return i=r=class extends(o=iH().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 iH().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=iH().createElement(iF.Suspense,{fallback:null},iH().createElement(ae.BE,{value:n},iH().createElement(iz.Provider,{value:this.state.config},t.disableTranslations?iH().createElement(e,this.props):iH().createElement(i9.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},iH().createElement(e,this.props)))));return t.strictMode&&iH().StrictMode?iH().createElement(iH().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,r}}function aa(e,t){return(0,i7.A)({React:iH(),ReactDOMClient:i4,rootComponent:ai(t)(e)})}function as(e,t){return()=>e().then(({default:e})=>aa(e,t))}function al(e,t){return()=>Promise.resolve(aa(e,t))}let ac=as,au=(0,T.y)()(()=>({}));B("openmrs-app-context",au);let ad={};function am(e,t=e=>e){let n=au.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function af(e,t){au.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function ap(e){return null===e?null:Object.freeze(Object.assign({},e))}let ag=new Map;function ah(e,t){let n=(0,iF.useRef)(t??{}),o=(0,iF.useRef)(t=>af(e,t)),r=(0,iF.useRef)(Symbol());return(0,iF.useEffect)(()=>{let n=t??{},o=r.current;return null===am(e)?!function(e,t=ad){au.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===ad?{}: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.`),af(e,()=>n)),ag.set(e,o),()=>{ag.get(e)===o&&(au.setState(t=>(e in t&&delete t[e],t)),ag.delete(e))}},[e]),(0,iF.useEffect)(()=>{let o=t??{};E(n.current,o)||(af(e,()=>o),n.current=o)},[t]),o.current}function aw({namespace:e,value:t}){return ah(e,t),null}let a_=({children:e,value:t,fallback:n})=>t?iH().createElement(iH().Fragment,null,e):n?iH().createElement(iH().Fragment,null,n):null;function ay(){let e=(0,iF.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,iF.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function av(e,t=e=>e??{}){let[n,o]=(0,iF.useState)(()=>{if(ab(e))return;let n=am(e);if(null!==n)return t?t(n):n});return(0,iF.useEffect)(()=>{if(ab(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,iF.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>E(e,n)?e:n)})(ap(r=am(e))),au.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(ap(o)))})},[e,t]),n}function ab(e){return"string"!=typeof e||0===e.trim().length}function ax(e){let t=i6(e);return(0,iF.useMemo)(()=>t.map(e=>e.id),[t])}function ak(e){return i1(e).candidateExtensions}function aS(e,t){let{data:n,error:o,mutate:r,isLoading:i,isValidating:a}=(0,ae.Ay)(`${nM}?patient=${e}&includeEncounterless=${t}`,tA);return(0,iF.useMemo)(()=>({isLoading:i,data:n?.data.results??[],error:o,mutate:r,isValidating:a}),[n,o,i,a,r])}function aj(e){(0,iF.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let aN={},aC=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
- Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function aE(e){let{moduleName:t,extension:n}=(0,iF.useContext)(iz),o=e?.externalModuleName??t;if(!o&&!n)throw Error(aC);let r=function(e){let t=(0,iF.useMemo)(()=>el(e),[e]),n=function(e){let[t,n]=(0,iF.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,iF.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw aN[e]||(aN[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),aN[e];return n}(o),i=function(e){let t=(0,iF.useMemo)(em,[]),n=function(e,t){let[n,o]=(0,iF.useState)(t?()=>{let n=ep(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,iF.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=ep(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,q.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!aN[n]&&t&&(aN[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=ep(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),aN[n]}return n||{}}(n);return(0,iF.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let aA=i6;function aI(){let[e,t]=(0,iF.useState)(rC());return(0,iF.useEffect)(()=>l(({online:e})=>t(e)),[]),e}function aO(e,t=300){let[n,o]=(0,iF.useState)(e);return(0,iF.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var aP=n(6269);let aT=`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 aR(){let e=`${tj}/emrapi/configuration?v=${aT}`,t=(0,aP.A)(e,tA);return(0,iF.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let a$=iY(rT());function aM(e){let t=i6(e);return(0,iF.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let aW=iY(rF());function aD(e){let{flags:t}=iX(rb);return t[e]?.enabled??!1}function aL(){let[,e]=(0,iF.useState)(0);return(0,iF.useCallback)(()=>{e(e=>e+1)},[])}function aB(e,t,n={}){return aF(e,t,aU,n)}let aU={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(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 aF(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:a,getData:s}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tA,[d,m]=(0,iF.useState)(1),f=(0,iF.useRef)(NaN),p=(0,iF.useRef)(NaN),g=(0,iF.useRef)(d),h=(0,iF.useRef)(!1),w=(0,iF.useRef)(!1),_=e?.toString()??"",[y,v]=(0,iF.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,iF.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?aP.A:ae.Ay)(x,u,c);k?.data&&(f.current=i(k?.data),p.current=a(k?.data),h.current=!0);let j=Math.ceil(f.current/t),N=(0,iF.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,iF.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,_,k]);let C=(0,iF.useCallback)(()=>{N(g.current+1)},[N]),E=(0,iF.useCallback)(()=>{N(g.current-1)},[N]);return{data:s(k?.data),totalPages:j,totalCount:f.current,currentPage:d,currentPageSize:p.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function aH(e,t,n={}){return aF(e,t,az(),n)}function az(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(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 aG=n(3709);function aV(e,t={}){return aJ(e,aU,t)}function aJ(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=n.fetcher??tA,c=(0,iF.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...f}=(0,aG.Ay)(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),p=i(u?.[u.length-1].data),g=a(u?.[0]?.data);return{data:u?.flatMap(e=>s(e.data)),totalCount:g,hasMore:null!=p,loadMore:()=>{m((u?.length??0)+1)},nextUri:p,...f}}function aq(e,t={}){return aK(e,aU,t)}function aK(e,t,n={}){let o=aJ(e,t,n),{hasMore:r,error:i,data:a,loadMore:s,isLoading:l,nextUri:c}=o;return((0,iF.useEffect)(()=>{r&&!i&&s()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:a,isLoading:l||r}}function aX(e,t={}){return aK(e,az(),t)}function aQ(e,t={}){return aJ(e,az(),t)}function aY(){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 aZ(){let[e,t]=(0,iF.useState)(aY);return(0,iF.useEffect)(()=>{let e=()=>{t(aY())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let a0=e=>"small-desktop"===e||"large-desktop"===e;function a1(e){let t=(0,iF.useContext)(iz);(0,iF.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),ih(e),()=>{iw(e.name)}),[t,e])}function a2(){return iX(ig)}function a6(e=null,t=null){let[n,o]=(0,iF.useState)([]);return(0,iF.useEffect)(()=>{let n=oF(e,t).subscribe(e=>{o(e)},e=>{console.error(e)});return()=>n.unsubscribe()},[e,t]),n}function a5(e,t=!0){let n=(0,iF.useRef)(null);return(0,iF.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 a8(e){let t=(0,iF.useRef)();return(0,iF.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 a3(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,a=ay(),s=(0,iF.useMemo)(()=>o?.signal??n?.signal??a.signal,[n?.signal,o?.signal,a.signal]),l=(0,iF.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:s}),[s,o,r]);return(0,ae.Ay)(e,l,i)}function a4(e=[],t=10){let[n,o]=(0,iF.useState)(1),r=(0,iF.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),a=(0,iF.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),s=(0,iF.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,iF.useCallback)(()=>{o(e=>e+1)},[]),c=(0,iF.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,iF.useMemo)(()=>({results:a,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:s,goToNext:l,goToPrevious:c}),[a,r,e.length,t,i,s,l,c])}function a7(e,t,n,o){return{pageSizes:(0,iF.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,iF.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function a9(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function se(e){let[t,n]=(0,iF.useState)(e??a9()),{data:o,error:r,isValidating:i}=(0,ae.Ay)(t?["patient",t]:null,()=>oM(t,{}));return(0,iF.useEffect)(()=>{let e=()=>{let e=a9();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,iF.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function st(){let e=`${tj}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=(0,ae.Ay)(e,tA);return(0,iF.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function sn(e){let{extensions:t,extensionSlotModuleName:n}=i5(e);return e?t.map(t=>({state:o})=>iH().createElement(iz.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n}}},iH().createElement(iV,{state:o}))):[]}function so(){let e=(0,iF.useRef)(),[t,n]=(0,iF.useState)(null),o=null;if(!t){if(r){let e=t$().getState();e.loaded&&(o=e.session)}else r=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(t$().getState()),o||(e.current=t$().subscribe(n))});if(o)n(o);else throw r}(0,iF.useEffect)(()=>(e.current||(e.current=t$().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||o;if(!i)if(r)throw console.warn("useSession is in an unexpected state. Attempting to recover."),r;else throw Error("useSession is in an invalid state.");return i}let sr=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,iF.useState)(null);return((0,iF.useEffect)(()=>{let e=tR({includeAuthStatus:!1}).subscribe(r);return()=>e.unsubscribe()},[]),o&&tL(e,o))?iH().createElement(iH().Fragment,null,n):t?iH().createElement(iH().Fragment,null,t):null};var si=n(4343),sa=n.n(si),ss=n(3355);let sl=new Map;function sc(){for(let e of Array.from(sl.values()))e()}let su={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sd(e){let t=(0,iF.useId)();return(0,iF.useEffect)(()=>{if(e)return sl.set(t,e),()=>{sl.delete(t)}},[t,e]),{...iQ(oK(),su),mutateVisit:sc}}function sm(e,t=oJ){let n=(0,iF.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sd((0,iF.useCallback)(()=>n.current?.(),[])),a=e&&o==e?r:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,ae.Ay)(e?`${tj}/visit${s}`:null,tA),{data:f,error:p,mutate:g,isValidating:h}=(0,ae.Ay)(e&&a?`${tj}/visit${l}`:null,tA),w=(0,iF.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,iF.useMemo)(()=>a&&f?f.data:null,[f,a]),y=(0,iF.useRef)(null);(0,iF.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,iF.useCallback)(()=>{d(),g()},[d,g]);(0,iF.useEffect)(()=>{n.current=v},[v]);let b=!!(!c||a&&!f),x=!!(a?p:u);return{error:u||p,mutate:v,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!a,isLoading:b&&!x}}function sf(){let[e,t]=(0,iF.useState)([]);return(0,iF.useEffect)(()=>{let e=oz().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}si.extend(ss);let sp=new Map;async function sg(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,a=await nm(r);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?sw(r,a).then(()=>a[i]()):(a?a&&Object.hasOwn(a,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`),sh)}let sh={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sw(e,t){if(e in sp)await sp[e];else{let n=t??await nm(e);await (sp[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{e$(e),t(null)}).catch(o)}e$(e),t(null)}))}}function s_(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 tP=L("session",{loaded:!1,session:null}),tT=0;function t$(e={includeAuthStatus:!0}){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),new G.Observable(t=>{let n=n=>{n.loaded&&(e.includeAuthStatus?t.next(n.session):t.next(n.session?.user))};return n(tP.getState()),tP.subscribe(n)})}function tR(){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),tP}function tM(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){tT=Date.now();let n={};return e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),tz(tA(tC,{headers:n}))}function tD(){tP.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function tL(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,z.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,z.A)(o.privileges.find(t=>e===t.display))):((0,z.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,z.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(tP.getState()),e||(t=tP.subscribe(o))})}function tU(){return new Promise((e,t)=>{t$().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function tF(e,t){return tz(tA(tC,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function tH(e,t,n){return n||(n=new AbortController),await tA(`${tj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}function tz(e){return new Promise((t,n)=>{e.then(e=>{let o;"object"==typeof e?.data?(o={loaded:!0,session:e.data},tP.setState(o),t(o)):(o={loaded:!1,session:null},tP.setState(o),n(o))}).catch(e=>{j(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};tP.setState(t),n(t)})})}function tG(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tP.subscribe(e=>{e.loaded&&e.session&&tM(e.session)});let tV={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tJ(){eT("@openmrs/esm-api",tk),tW()}let tq={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",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",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",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",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",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",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tK=n(2279);let tX=tK.Ay.default||tK.Ay;function tQ(e,t,n,o){return tX.t(t,{ns:e,defaultValue:n,...o})}function tY(e,t,n){return tq[e]?tQ("core",e,t??tq[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}tX.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tZ="import-map-override:",t0="import-map-overrides-disabled",t1="import-map-overrides:change",t2=!1,t6=null,t5=null;async function t8(){return t5??(t5=t3().then(({map:e,complete:t})=>(t||(t5=null),e))),t5}async function t3(){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:t4(t),complete:n}}function t4(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t7(){let e={};try{let t=no();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(tZ)){let n=o.slice(tZ.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 t9(){let e=await t8();return t2?t4([e,t6??t7()]):e}async function ne(){return t8()}async function nt(){return t2?t4([await t8(),t7()]):t8()}function nn(e){if(!t2)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(tZ)){let t=localStorage.getItem(n);t&&(e[n.slice(tZ.length)]=t)}}return{imports:e}}return t7()}function no(){if(!t2)return[];try{let e=localStorage.getItem(t0);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function nr(e){return!!t2&&no().includes(e)}function ni(e,t){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tZ+e,t),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function na(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tZ+e);let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function ns(){if(!t2)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(tZ)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nl(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nc=!1;function nu(){!nc&&(nc=!0,(t2="development"===window.spaEnv)&&(t6=t7()))}function nd(e){return e.replace(/[\/\-@]/g,"_")}async function nm(e,t="./start",o){var r;let i,a=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nf(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=a)<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`}.`))},a)})]),i&&clearTimeout(i);let s=nd(e),l=window[s];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 ${s} 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 nf(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=nd(e);if(!window[n]){let n=t??await np();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 nn().imports;try{return await function(e){var t;let n=(t=window)[ng]??(t[ng]=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 a(){clearTimeout(i),r.removeEventListener("load",s),r.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",s),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&v({kind:"error",title:tY("scriptLoadingFailed","Error: Script failed to load"),description:tY("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:tY("resetOverrides","Reset overrides"),onActionButtonClick(){ns(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function np(){return t9()}let ng=Symbol.for("__openmrs_script_loading");function nh(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,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function nw(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&&nh(t))}let n_="openmrs-routes:",ny="openmrs-routes:change",nv=!1,nb=null,nx=null;async function nk(){return nx??(nx=nS().then(({map:e,complete:t})=>(t||(nx=null),e))),nx}async function nS(){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&&nw(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:nj(t),complete:n}}function nj(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 nN(){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(n_)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(n_.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(nh(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(nh(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 nv?nj([e,nb??await nN()]):e}async function nE(){return nk()}async function nA(){return nv?nj([await nk(),await nN()]):nk()}function nI(){if(!nv)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(n_)){let t=localStorage.getItem(n);t&&(e[n.slice(n_.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nO(e,t){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(n_+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!nh(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(n_+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(n_+e,JSON.stringify(t.toString()));else{if(!nh(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(n_+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nP(e){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(n_+e),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nT(){if(!nv)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(n_)&&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 n$=null;function nR(){return n$||(n$=(nv="development"===window.spaEnv)?nN().then(e=>{nb=e}):Promise.resolve())}let nM=`${tj}/attachment`;function nW(e,t){return tA(`${nM}/${e}`,{signal:t.signal})}function nD(e,t,n){return tA(`${nM}?patient=${e}&includeEncounterless=${t}`,{signal:n.signal})}async function nL(e,t){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),tA(`${nM}`,{method:"POST",body:n})}function nB(e,t){return tA(`${nM}/${e}`,{method:"DELETE",signal:t.signal})}var nU=n(8798);function nF(e,t){if(void 0!==i)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),i;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let n=new nU.JK(e,t);return i=n.register().then(()=>n.controlling.then(()=>n))}function nH(){return i??Promise.resolve(void 0)}let nz="x-omrs-offline-response-body",nG="x-omrs-offline-response-status",nV="x-omrs-offline-caching-strategy";async function nJ(e){let t=await nH();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function nq(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function nK(){return!window.indexedDB}async function nX(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function nQ(){return await nX()||await nK()||await nq()}let nY="openmrs3:offline-mode",nZ="unavailable";function n0(){return{current:nZ,notAvailable:"unavailable"===nZ,active:"on"===nZ}}function n1(e){"unavailable"!==nZ&&"unavailable"!==e&&(localStorage.setItem(nY,"on"===e?"active":"disabled"),nZ=e)}async function n2(){await nQ()||(nZ="active"===localStorage.getItem(nY)?"on":"off"),navigator.onLine}var n6=n(8442);function n5(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class n8 extends n6.Ay{constructor(){super("EsmOffline"),n5(this,"syncQueue",void 0),n5(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function n3(){return new n8}let n4=new n8,n7={},n9=L("offline-synchronization",{});function oe(){return n9}async function ot(){if(n9.getState().synchronization)return;let e=await n4.syncQueue.count(),t={},n=Object.entries(n7),o=n.length,r={},i=new AbortController,a=()=>{let e=n9.getState().synchronization;n9.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{n9.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<o&&n.length>0;e++)for(let e=n.length;e--;){let[o,s]=n[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(r[o]={},await Promise.all(l),t[o]=on(s,r,i,a),n.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{n9.setState({synchronization:void 0})}}async function on({type:e,dependsOn:t,process:n},o,r,i){let a=[],s=[],l=await oo();await n4.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let c=0;c<a.length;c++){let[u,d,{id:m,dependencies:f=[]}]=a[c];try{let i=await n(d,{abort:r,index:c,items:s,userId:l,dependencies:f.map(({id:e,type:n})=>t.includes(n)?o[n][e]:void 0)});void 0!==m&&(o[e][m]=i),await n4.syncQueue.delete(u)}catch(e){await n4.syncQueue.update(u,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function oo(){let e=await tB();return e?.uuid||"*"}async function or(e,t,n,o){let r=o&&o.id;return void 0!==r&&await n4.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===r).delete().catch(n6.Ay.errnames.DatabaseClosed),await n4.syncQueue.add({type:t,content:n,userId:e,descriptor:o||{},createdOn:new Date}).catch(n6.Ay.errnames.DatabaseClosed,()=>-1)}async function oi(e,t,n){let o=await oo();return await or(o,e,t,n)}async function oa(e,t){return(await os(e,t)).map(e=>e.content)}async function os(e,t){return await n4.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(n6.Ay.errnames.DatabaseClosed,()=>[])}async function ol(e){let t=await oo();return await oa(t,e)}async function oc(e){let t=await oo();return await os(t,e)}async function ou(e){return await n4.syncQueue.get(e).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0)}function od(e){return!!n7[e]?.options.onBeginEditSyncItem}async function om(e){let t=await ou(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let n=n7[t.type]?.options.onBeginEditSyncItem;if(!n)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);n(t)}async function of(e){await n4.syncQueue.delete(e).catch(n6.Ay.errnames.DatabaseClosed)}function op(e,t,n,o={}){n7[e]={type:e,dependsOn:t,process:n,options:o}}var og=n(1301);let oh="OFFLINE+";function ow(){return oh+(0,og.A)()}function o_(e){return e.startsWith(oh)}let oy={};function ov(){return Object.values(oy)}function ob(e){oy[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),oy[e.id]=e}async function ox(e){let t=await oI();return await ok(t,e)}async function ok(e,t){let n=new n8;return await n.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(n6.Ay.errnames.DatabaseClosed,()=>[])}async function oS(e,t){let n=await oI();return await oj(n,e,t)}async function oj(e,t,n){let o=new n8,r=await o.dynamicOfflineData.get({type:t,identifier:n}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0);r?r.users.includes(e)||await o.dynamicOfflineData.update(r.id,{users:[...r.users,e]}).catch(n6.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.add({users:[e],type:t,identifier:n}).catch(n6.Ay.errnames.DatabaseClosed)}async function oN(e,t){let n=await oI();return await oC(n,e,t)}async function oC(e,t,n){let o=new n8,r=await o.dynamicOfflineData.get({type:t,identifier:n,users:e}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0);r&&(r.users.length>1?await o.dynamicOfflineData.update(r.id,{users:r.users.filter(t=>t!==e)}).catch(n6.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.delete(r.id).catch(n6.Ay.errnames.DatabaseClosed))}async function oE(e,t){let n=await ox(e);await Promise.all(n.map(async e=>oA(e.type,e.identifier,t)))}async function oA(e,t,n){await oS(e,t);let o=new n8,r=await oI(),i=await o.dynamicOfflineData.get({type:e,identifier:t}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0),a=ov().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,n),{id:e.id,error:void 0}}catch(n){let t=n.message?.toString()??n.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:r,succeededHandlers:l,erroredHandlers:c,errors:u};i.id&&await o.dynamicOfflineData.update(i.id,{syncState:d}).catch(n6.Ay.errnames.DatabaseClosed)}async function oI(){let e=(await tB()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let oO=L("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function oP(){return oR(),oO}function oT(e,t){oR(),ob({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,n)=>t.onOfflinePatientAdded({patientUuid:e,signal:n??new AbortController().signal})})}async function o$(e){oR(),await oA("patient",e)}function oR(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function oM(e,t,n=!0){if(e){let o=null,[r,i]=await Promise.all([tA(`${tN}/Patient/${e}`,t).catch(e=>o=e),n?oW(e):Promise.resolve(null)]);if(r.ok)return r.data;if(i)return i;if(o)throw o}return null}async function oW(e){let t=(await ol("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function oD(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function oL(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)}}var oB=n(3492);function oU(e){return{uuid:e.uuid,display:e.display}}function oF(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tI(`${tj}/location${o?"?"+o:""}`).pipe((0,oB.map)(e=>e.data.results.map(oU))).pipe((0,oB.take)(1))}function oH(e){return{uuid:e.uuid,display:e.display,name:e.name}}function oz(){return tI(`${tj}/visittype`).pipe((0,oB.map)(e=>e.data.results.map(oH))).pipe((0,oB.take)(1))}var oG=((I={}).NEWVISIT="startVisit",I.EDITVISIT="editVisit",I.LOADING="loadingVisit",I),oV=((O={}).NOTSTARTED="notStarted",O.ONGOING="ongoing",O);let oJ="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))",oq=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function oK(){return U("visit",oq)}function oX(e,t){oK().setState({patientUuid:e,manuallySetVisitUuid:t})}function oQ(e,t){return tA(`${tj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function oY(e,t,n){return tA(`${tj}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function oZ(e,t,n){return tA(`${tj}/visit?patient=${e}&v=${n??oJ}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}oK().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let o0=new G.BehaviorSubject(null);var o1=n(9225),o2=n(6881),o6=n(6828),o5=n(1956),o8=n(3635),o3=n(7839),o4=n(2298);let o7={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)}},o9={...o7,Promise};function re(e,t={}){return ra(e,t,rc)}async function rt(e,t={}){return rs(e,t,rc)}function rn(e,t={}){return ra(e,t,ru)}function ro(e,t={}){return rs(e,t,ru)}function rr(e,t={}){return ra(e,t,rd)}function ri(e,t={}){return rs(e,t,rd)}function ra(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=rp(t,o7),r=rm("string"==typeof e?(0,o1.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 rs(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=rp(t,o9);return Promise.resolve(rm("string"==typeof e?(0,o1.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 rl(e){return(0,o1.A)(e)}function rc(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function ru(e){return"boolean"==typeof e}function rd(e){return"number"==typeof e}function rm(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,a,s,l,c,u,d,m,f,p=e,g=t;let h=rm(p.argument,g);switch(p.operator){case"+":return+h;case"-":return-h;case"~":return~h;case"!":return!h;default:throw`Expression evaluator does not support operator '${p.operator}''`}case"BinaryExpression":var w=e,_=t;let y=rm(w.left,_),v=rm(w.right,_);switch(w.operator){case"+":return y+v;case"-":return y-v;case"*":return y*v;case"/":return y/v;case"%":return y%v;case"**":return y**v;case"==":return y==v;case"===":return y===v;case"!=":return y!=v;case"!==":return y!==v;case">":return y>v;case">=":return y>=v;case"<":return y<v;case"<=":return y<=v;case"in":return y in v;case"&&":return y&&v;case"||":return y||v;case"??":return y??v;default:throw`Expression evaluator does not support operator '${w.operator}' operator`}case"ConditionalExpression":return n=e,o=t,rm(n.test,o)?rm(n.consequent,o):rm(n.alternate,o);case"CallExpression":var b=e,x=t;let k=b.arguments?.map(rg(x)),S=rm(b.callee,x);if(S){if("function"!=typeof S)throw`${rw(b.callee)} is not a function`}else throw`No function named ${rw(b.callee)} is defined in this context`;return S(...k);case"ArrowFunctionExpression":let j;return r=e,i=t,j=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<j.length)throw`Required argument(s) ${j.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(j.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 rm(r.body,i.addVariables(t))}).bind(i.thisObj??null);case"MemberExpression":return function(e,t){let n,o=rm(e.object,t);if(void 0===o)switch(e.object.type){case"Identifier":{let n=rf(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":{let n=rf(e.property,t);throw TypeError(`TypeError: cannot read properties of undefined (reading '${n}')`)}default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}let r=o;if("string"==typeof o)r=String.prototype;else if("number"==typeof o)r=Number.prototype;else if("function"==typeof o);else if("object"!=typeof o)throw`VisitMemberExpression does not support member access on type ${typeof o}`;switch(t.thisObj=r,e.property.type){case"Identifier":case"MemberExpression":n=rm(e.property,t);break;default:{let r=rm(e.property,t);if(void 0===r)throw{type:"Illegal property access",message:"No property was supplied to the property access"};rh(r),n=o[r]}}return"function"==typeof n?n.bind(o):n}(e,t);case"ArrayExpression":return a=e,s=t,a.elements?.map(rg(s));case"SequenceExpression":let N;return l=e,c=t,(N=l.expressions.map(rg(c)))[N.length-1];case"NewExpression":var C=e,E=t;if(C.callee&&"Identifier"===C.callee.type){let e=C.arguments?.map(rg(E));switch(C.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${C.callee.name}`}}if(C.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return rh((u=e).value),u.value;case"Identifier":var A=e,I=t;rh(A.name);let O=I.thisObj;if(O&&("object"==typeof O||"function"==typeof O)&&A.name in O){let e=O[A.name];return rh(e),e}if(I.variables&&A.name in I.variables){let e=I.variables[A.name];return rh(e),e}return A.name in I.globals?I.globals[A.name]:void 0;case"TemplateLiteral":let P,T;return d=e,m=t,P=d.expressions?.map(rg(m))??[],(T=d.quasis?.map(rg(m))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+P.join("")+T.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(f=e).cooked,tail:f.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rf(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return rf(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function rp(e,t){let n={thisObj:void 0,variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}function rg(e){return function(t){return null===t?null:rm(t,e)}}function rh(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}function rw(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function r_(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:{...o9},isLocalExpression:!1,variables:new Set};return ry("string"==typeof e?(0,o1.A)(e):e,t),[...t.variables]}function ry(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,ry(o.argument,r);case"BinaryExpression":return i=e,a=t,[ry(i.left,a),ry(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[ry(s.consequent,l),ry(s.test,l),ry(s.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=ry(c.callee,u),c.arguments?.map(rv(u)),n;case"ArrowFunctionExpression":var o,r,i,a,s,l,c,u,d,m,f,p,g,h,w,_,y,v,b=e,x=t;let k={...x};k.isLocalExpression=!0;let S=b.params?.map(rv(k))??[],j=ry(b.body,k)??[];if(j&&Array.isArray(j))for(let e of j)S.includes(e)||x.variables.add(e);return;case"MemberExpression":let N;return d=e,m=t,ry(d.object,m),void((N={...m}).isLocalExpression=!0,ry(d.property,N));case"ArrayExpression":return f=e,p=t,void f.elements?.map(rv(p));case"SequenceExpression":return g=e,h=t,void g.expressions?.map(rv(h));case"NewExpression":return w=e,_=t,void w.arguments?.map(rv(_));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,E=t;if(!(C.name in E.globals))if(E.isLocalExpression)return C.name;else E.variables.add(C.name);return;case"TemplateLiteral":return y=e,v=t,void(y.expressions?.map(rv(v)),y.quasis?.map(rv(v)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rv(e){return function(t){return null===t?null:ry(t,e)}}o1.A.plugins.register(o2.A),o1.A.plugins.register(o6.A),o1.A.plugins.register(o5.A),o1.A.plugins.register(o8.A),o1.A.plugins.register(o3.A),o1.A.plugins.register(o4.A),o1.A.addBinaryOp("in",7),o1.A.addBinaryOp("??",1);let rb=U("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 rx(e,t,n){rb.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function rk(){let e=rb.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 rS(e){return rb.getState().flags[e].enabled}function rj(e,t){rb.subscribe(n=>{t(n.flags[e].enabled)})}function rN(e,t){rb.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}function rC(e){return!window.offlineEnabled||(e??navigator.onLine)}rb.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 rE=n(1216);function rA(e=!0,t=!1){return rI(rC(),e,t)}function rI(e,t=!0,n=!1){return!!(e?t:n)}let rO=L("extensionsInternal",{slots:{},extensions:{}}),rP=L("extensionRenderings",{renderings:new Map}),rT=()=>U("extensionsInternal",{slots:{},extensions:{}}),r$=()=>U("extensionRenderings",{renderings:new Map});function rR(e){let t=rO.getState(),n=e(t);n!==t&&rO.setState(n)}let rM=null,rW=null;function rD(){let e=rP.getState();return rM&&e===rW||(rM=new Map(e.renderings),rW=e,function(e){for(let t of(rq.clear(),e.values()))rX(t,1);rK=!0}(rM)),rM}function rL(e){rW={renderings:e},rP.setState(rW,!0)}function rB(e){let t=rD();t.has(e.renderingId)||(t.set(e.renderingId,e),rX(e,1),rL(t))}function rU(e){let t=rD(),n=t.get(e);n&&(t.delete(e),rX(n,-1),rL(t))}let rF=()=>U("extensions",{slots:{}}),rH=0,rz=new Set;function rG(e){rH++;try{return e()}finally{if(0==--rH&&rz.size>0){let e=Array.from(rz);for(let t of(rz.clear(),e))rV(t)}}}function rV(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function rJ(e){rH>0?rz.add(e):rV(e)}let rq=new Map,rK=!1;function rX(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=rq.get(n);if(!o){if(t<0)return;rq.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),rK=!0;return}o.count+=t,o.count<1&&(rq.delete(n),rK=!0)}function rQ(){var e,t;if(rD(),!rK)return;rK=!1;let n=Array.from(rq.values(),({record:e})=>e);n.sort(rY),e=es.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===rY(e,t[n]))||es.setState({mountedExtensions:n})}function rY(e,t){return rZ(e.slotName,t.slotName)||rZ(e.extensionId,t.extensionId)||rZ(e.slotModuleName,t.slotModuleName)||rZ(e.extensionModuleName,t.extensionModuleName)}function rZ(e,t){return e===t?0:e<t?-1:1}rQ(),rP.subscribe(()=>rJ(rQ));let r0=rT(),r1=rF(),r2=ec(),r6=em(),r5=new Set,r8=!1;function r3(e){if(null===e)r5=null;else if(null!==r5)for(let t of e)r5.add(t);rJ(r4)}function r4(){if(!r8){r8=!0;try{for(let e=1;;e++){let t=r5;if(null!==t&&0===t.size)return;r5=new Set;try{!function(e,t,n,o,r,i=null){let a=r1.getState().slots,s={},l=!1,c=rC(),u=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,d]of Object.entries(e.slots)){let m=a[o];if(m&&i&&!i.has(o)){s[o]=m;continue}let{config:f}=ed(t,d.name),p=function(e,t,n,o,r,i,a){let s=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=r0.getState();return[...t,...n].filter(e=>!o.includes(e)).sort((e,n)=>ic(e,r,i[it(e)]?.order,t)-ic(n,r,i[it(n)]?.order,t))}(n,t.slots[e].attachedIds),l=[];for(let c of s){let{config:s}=ep(o,e,c),u=eg(n,e,c),d=u?(0,rE.A)({},s,u):s,m=it(c),f=t.extensions[m];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!tL(e,a.user))||f.featureFlag&&!r.includes(f.featureFlag)||window.offlineEnabled&&!rI(i,f.online,f.offline))continue;l.push({id:c,name:m,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(o,e,f,n,u,c,r.session);m&&m.moduleName===d.moduleName&&(0,q.A)(m.candidateExtensions,p)?s[o]=m:(s[o]={moduleName:d.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&r1.setState({slots:s})}(r0.getState(),r2.getState(),r6.getState(),rb.getState(),tP.getState(),t)}catch(e){throw r5=null===t||null===r5?null:new Set([...t,...r5]),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{r8=!1}}}function r7(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 r9(){r3(null)}function ie(e,t){return{moduleName:t,name:e,attachedIds:[]}}function it(e){let[t]=e.split("#");return t}function io(e,t){let n=it(t);return e.extensions[n]}function ir(e){return io(r0.getState(),e)}r0.subscribe((e,t)=>{r3(e.extensions!==t.extensions?null:r7(e.slots,t.slots))}),r2.subscribe((e,t)=>{r3(r7(e.slots,t.slots))}),r6.subscribe((e,t)=>{r3(r7(e.configs,t.configs))}),rb.subscribe(()=>r3(null)),tP.subscribe(()=>r3(null)),r9(),l(r9);let ii=e=>rR(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ia(e,t){rR(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...ie(e),attachedIds:[t]}}}})}function is(e,t){rR(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 il(e){rR(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function ic(e,t,n,o){let r=t.indexOf(e);if(-1!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.indexOf(e);return -1!==t?2e3+t:3e3}}function iu(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!!rn(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(id(e),t,tP.getState().session,e)}function id(e){return r1.getState().slots[e]?.candidateExtensions??[]}let im=(e,t)=>r0.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=ie(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),ip=()=>{r5=null,rR(()=>({slots:{},extensions:{}})),r$().setState({renderings:new Map}),r1.setState({slots:{}})},ig=L("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function ih({name:e,basePath:t,mode:n,componentContext:o,state:r}){ig.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function iw(e){ig.getState().slotName===e&&ig.setState(ig.getInitialState(),!0)}let i_=L("modalRegistry",{modals:{}});function iy(e){i_.setState(t=>(t.modals[e.name]=e,t))}function iv(e){let t=i_.getState().modals[e];if(!t){let n=ir(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.`),iy(t))}return t}let ib=L("workspaceRegistrations",{workspaces:{}}),ix=L("workspaceGroups",{workspaceGroups:{}});function ik(e){ib.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function iS(e){ix.setState(t=>{let n=t.workspaceGroups[e.name];return n?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...n,members:Array.from(new Set([...n.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let ij=new Set;function iN(e){let t=ib.getState().workspaces;if(t[e])return t[e];{let t=ir(e);if(t){var n;let o;return ij.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),ij.add(e)),{name:t.name,title:(n=t,"string"==typeof(o=n?.meta?.title)?o:o&&"object"==typeof o?tQ(n.moduleName,o.key,o.default):n.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function iC(e){let t=ix.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let iE=L("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function iA(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=iE.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 iI(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=iE.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 iO(e){let{openedWindows:t}=iE.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function iP(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=iE.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}}iE.setState({registeredGroupsByName:o})}function iT(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=iE.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}iE.setState({registeredWindowsByName:o})}function i$(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=iE.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}iE.setState({registeredWorkspacesByName:o})}let iR=0,iM=null,iW={bootstrap:15e3,mount:15e3,unmount:15e3};function iD(e){if(e.timeouts)return e;let t=e.name??"parcel",n=Object.fromEntries(Object.keys(iW).filter(t=>e[t]).map(n=>{var o,r;let i,a;return[n,(o=e[n],r=iW[n],i=Array.isArray(o)?o:[o],a=e=>i.reduce((o,r,i)=>o.then(()=>{let o=r(e);return"function"==typeof o?.then&&"function"==typeof o?.catch?o:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${t} did not return a promise`))}),Promise.resolve(void 0)),e=>{let o,i=new Promise((e,i)=>{o=setTimeout(()=>i(Error(`Lifecycle function ${n} for parcel ${t} did not settle within ${r}ms`)),r)});return Promise.race([a(e),i]).finally(()=>clearTimeout(o))})]}));return{...e,...n}}async function iL(e,t){return(await (iM??(iM=new Promise((e,t)=>{(0,tm.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),tm.xL))),iM))("function"==typeof e?()=>e().then(iD):iD(e),t)}function iB(){return iU}function iU(e,t){let n,o=iL(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 iF(e,t,n,o,r=e=>e,i={}){let a=it(o),s=ir(o),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:c,moduleName:u,online:d,offline:m,load:f}=s;if(rA(d,m)){let s,d=iR++,m=`${t}/${o}-${d}`;e.dataset.extensionRenderingId=m;let p=e=>{try{rU(m)}catch(t){console.error(e,t)}};try{rB({renderingId:m,extensionName:a,extensionModuleName:u,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw p(`Recomputing configuration after registering '${o}' failed also failed`),e}try{s=await f()}catch(e){throw p(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await iL(r({...s,name:`${t}/${a}-${d}`}),{...i,_meta:c,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:u},domElement:e})}catch(e){throw p(`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),p(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>p(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),p(`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 iH=n(6925),iz=n.n(iH);let iG=(0,iH.createContext)({moduleName:"",featureName:""});function iV({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,iH.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}`)},[]),iz().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 iJ=({state:e,children:t,...n})=>{let{extension:o}=(0,iH.useContext)(iG),r=(0,iH.useRef)(null),i=(0,iH.useRef)(Promise.resolve()),a=(0,iH.useRef)(!1),s=(0,iH.useRef)(!1),l=(0,iH.useRef)(e),c=(0,iH.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,iH.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,iH.useCallback)(t=>{t&&!r.current&&!s.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(s.current=!0,iF(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(s.current=!1,r.current=t,a.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{s.current=!1}))},[]);return(0,iH.useEffect)(()=>(a.current=!1,()=>{a.current=!0,c(r.current)}),[]),(0,iH.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?iz().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function iq(e){let t=(0,iH.useRef)(e);return E(t.current,e)||(t.current=e),t.current}function iK(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 iX=e=>e;function iQ(e,t=iX,n){let o=(0,iH.useCallback)(t=>e.subscribe(t),[e]),r=(0,iH.useCallback)(()=>t(e.getState()),[e,t]),i=(0,iH.useSyncExternalStore)(o,r,r),a=(0,iH.useMemo)(()=>n?iK(e,n):null,[e,n]);return(0,iH.useMemo)(()=>a?{...i,...a}:i,[i,a])}function iY(e,t){return iQ(e,iX,t)}function iZ(e){return function(t){let n=(0,iH.useCallback)(t=>e.subscribe(t),[]),o=(0,iH.useCallback)(()=>e.getState(),[]),r=(0,iH.useSyncExternalStore)(n,o,o),i=(0,iH.useMemo)(()=>t?iK(e,t):null,[t]);return(0,iH.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let i0=[];Object.freeze(i0);let i1={candidateExtensions:i0};Object.freeze(i1);let i2=e=>{let t=(0,iH.useCallback)(t=>t.slots?.[e]??i1,[e]);return iQ(rF(),t)},i6=e=>e.session;function i5(e,t){let{candidateExtensions:n}=i2(e),o=iQ(tP,i6),r=iq(t);return(0,iH.useMemo)(()=>iu(e,r),[e,r,o,n])}function i8(e,t){let{moduleName:n}=(0,iH.useContext)(iG);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,iH.useEffect)(()=>{im(n,e)},[n,e]),{extensions:i5(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function i3(e){return e}function i4({name:e,extensionSlotName:t,select:n=i3,children:o,state:r,style:i,...a}){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 s=e??t,l=(0,iH.useRef)(null),{extensions:c,extensionSlotModuleName:u}=i8(s,r),d=(0,iH.useMemo)(()=>n(c),[n,c]),m=(0,iH.useMemo)(()=>{if("function"==typeof o&&!iz().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return iz().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>iz().createElement(iG.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:u}}},m?.[t]??("function"!=typeof o?o:null)??iz().createElement(iJ,{state:r}))))}var i7=n(3776),i9=n(9568),ae=n(9737),at=n(7488),an=n(1405);let ao={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ar=new Map;(0,an.r2)(ar);let ai={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:()=>ar};function aa(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},ao,e),n={...ai,...t.swrConfig};return function(e){var o,r,i,a,s;return i=r=class extends(o=iz().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 iz().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=iz().createElement(iH.Suspense,{fallback:null},iz().createElement(at.BE,{value:n},iz().createElement(iG.Provider,{value:this.state.config},t.disableTranslations?iz().createElement(e,this.props):iz().createElement(ae.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},iz().createElement(e,this.props)))));return t.strictMode&&iz().StrictMode?iz().createElement(iz().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,r}}function as(e,t){return(0,i9.A)({React:iz(),ReactDOMClient:i7,rootComponent:aa(t)(e)})}function al(e,t){return()=>e().then(({default:e})=>as(e,t))}function ac(e,t){return()=>Promise.resolve(as(e,t))}let au=al,ad=(0,T.y)()(()=>({}));B("openmrs-app-context",ad);let am={};function af(e,t=e=>e){let n=ad.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function ap(e,t){ad.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function ag(e){return null===e?null:Object.freeze(Object.assign({},e))}let ah=new Map;function aw(e,t){let n=(0,iH.useRef)(t??{}),o=(0,iH.useRef)(t=>ap(e,t)),r=(0,iH.useRef)(Symbol());return(0,iH.useEffect)(()=>{let n=t??{},o=r.current;return null===af(e)?!function(e,t=am){ad.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===am?{}: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.`),ap(e,()=>n)),ah.set(e,o),()=>{ah.get(e)===o&&(ad.setState(t=>(e in t&&delete t[e],t)),ah.delete(e))}},[e]),(0,iH.useEffect)(()=>{let o=t??{};E(n.current,o)||(ap(e,()=>o),n.current=o)},[t]),o.current}function a_({namespace:e,value:t}){return aw(e,t),null}let ay=({children:e,value:t,fallback:n})=>t?iz().createElement(iz().Fragment,null,e):n?iz().createElement(iz().Fragment,null,n):null;function av(){let e=(0,iH.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,iH.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function ab(e,t=e=>e??{}){let[n,o]=(0,iH.useState)(()=>{if(ax(e))return;let n=af(e);if(null!==n)return t?t(n):n});return(0,iH.useEffect)(()=>{if(ax(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,iH.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>E(e,n)?e:n)})(ag(r=af(e))),ad.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(ag(o)))})},[e,t]),n}function ax(e){return"string"!=typeof e||0===e.trim().length}function ak(e){let t=i5(e);return(0,iH.useMemo)(()=>t.map(e=>e.id),[t])}function aS(e){return i2(e).candidateExtensions}function aj(e,t){let{data:n,error:o,mutate:r,isLoading:i,isValidating:a}=(0,at.Ay)(`${nM}?patient=${e}&includeEncounterless=${t}`,tA);return(0,iH.useMemo)(()=>({isLoading:i,data:n?.data.results??[],error:o,mutate:r,isValidating:a}),[n,o,i,a,r])}function aN(e){(0,iH.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let aC={},aE=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
+ Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function aA(e){let{moduleName:t,extension:n}=(0,iH.useContext)(iG),o=e?.externalModuleName??t;if(!o&&!n)throw Error(aE);let r=function(e){let t=(0,iH.useMemo)(()=>el(e),[e]),n=function(e){let[t,n]=(0,iH.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,iH.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw aC[e]||(aC[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),aC[e];return n}(o),i=function(e){let t=(0,iH.useMemo)(em,[]),n=function(e,t){let[n,o]=(0,iH.useState)(t?()=>{let n=ep(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,iH.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=ep(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,q.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!aC[n]&&t&&(aC[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=ep(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),aC[n]}return n||{}}(n);return(0,iH.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let aI=i5;function aO(){let[e,t]=(0,iH.useState)(rC());return(0,iH.useEffect)(()=>l(({online:e})=>t(e)),[]),e}function aP(e,t=300){let[n,o]=(0,iH.useState)(e);return(0,iH.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var aT=n(6269);let a$=`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 aR(){let e=`${tj}/emrapi/configuration?v=${a$}`,t=(0,aT.A)(e,tA);return(0,iH.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let aM=iZ(rT());function aW(e){let t=i5(e);return(0,iH.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let aD=iZ(rF());function aL(e){let{flags:t}=iQ(rb);return t[e]?.enabled??!1}function aB(){let[,e]=(0,iH.useState)(0);return(0,iH.useCallback)(()=>{e(e=>e+1)},[])}function aU(e,t,n={}){return aH(e,t,aF,n)}let aF={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(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 aH(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:a,getData:s}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tA,[d,m]=(0,iH.useState)(1),f=(0,iH.useRef)(NaN),p=(0,iH.useRef)(NaN),g=(0,iH.useRef)(d),h=(0,iH.useRef)(!1),w=(0,iH.useRef)(!1),_=e?.toString()??"",[y,v]=(0,iH.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,iH.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?aT.A:at.Ay)(x,u,c);k?.data&&(f.current=i(k?.data),p.current=a(k?.data),h.current=!0);let j=Math.ceil(f.current/t),N=(0,iH.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,iH.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,_,k]);let C=(0,iH.useCallback)(()=>{N(g.current+1)},[N]),E=(0,iH.useCallback)(()=>{N(g.current-1)},[N]);return{data:s(k?.data),totalPages:j,totalCount:f.current,currentPage:d,currentPageSize:p.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function az(e,t,n={}){return aH(e,t,aG(),n)}function aG(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(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 aV=n(3709);function aJ(e,t={}){return aq(e,aF,t)}function aq(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=n.fetcher??tA,c=(0,iH.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...f}=(0,aV.Ay)(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),p=i(u?.[u.length-1].data),g=a(u?.[0]?.data);return{data:u?.flatMap(e=>s(e.data)),totalCount:g,hasMore:null!=p,loadMore:()=>{m((u?.length??0)+1)},nextUri:p,...f}}function aK(e,t={}){return aX(e,aF,t)}function aX(e,t,n={}){let o=aq(e,t,n),{hasMore:r,error:i,data:a,loadMore:s,isLoading:l,nextUri:c}=o;return((0,iH.useEffect)(()=>{r&&!i&&s()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:a,isLoading:l||r}}function aQ(e,t={}){return aX(e,aG(),t)}function aY(e,t={}){return aq(e,aG(),t)}function aZ(){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 a0(){let[e,t]=(0,iH.useState)(aZ);return(0,iH.useEffect)(()=>{let e=()=>{t(aZ())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let a1=e=>"small-desktop"===e||"large-desktop"===e;function a2(e){let t=(0,iH.useContext)(iG);(0,iH.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),ih(e),()=>{iw(e.name)}),[t,e])}function a6(){return iQ(ig)}function a5(e=null,t=null){let[n,o]=(0,iH.useState)([]);return(0,iH.useEffect)(()=>{let n=oF(e,t).subscribe(e=>{o(e)},e=>{console.error(e)});return()=>n.unsubscribe()},[e,t]),n}function a8(e,t=!0){let n=(0,iH.useRef)(null);return(0,iH.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 a3(e){let t=(0,iH.useRef)();return(0,iH.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 a4(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,a=av(),s=(0,iH.useMemo)(()=>o?.signal??n?.signal??a.signal,[n?.signal,o?.signal,a.signal]),l=(0,iH.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:s}),[s,o,r]);return(0,at.Ay)(e,l,i)}function a7(e=[],t=10){let[n,o]=(0,iH.useState)(1),r=(0,iH.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),a=(0,iH.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),s=(0,iH.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,iH.useCallback)(()=>{o(e=>e+1)},[]),c=(0,iH.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,iH.useMemo)(()=>({results:a,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:s,goToNext:l,goToPrevious:c}),[a,r,e.length,t,i,s,l,c])}function a9(e,t,n,o){return{pageSizes:(0,iH.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,iH.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function se(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function st(e){let[t,n]=(0,iH.useState)(e??se()),{data:o,error:r,isValidating:i}=(0,at.Ay)(t?["patient",t]:null,()=>oM(t,{}));return(0,iH.useEffect)(()=>{let e=()=>{let e=se();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,iH.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function sn(){let e=`${tj}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=(0,at.Ay)(e,tA);return(0,iH.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function so(e){let{extensions:t,extensionSlotModuleName:n}=i8(e);return e?t.map(t=>({state:o})=>iz().createElement(iG.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n}}},iz().createElement(iJ,{state:o}))):[]}function sr(){let e=(0,iH.useRef)(),[t,n]=(0,iH.useState)(null),o=null;if(!t){if(r){let e=tR().getState();e.loaded&&(o=e.session)}else r=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tR().getState()),o||(e.current=tR().subscribe(n))});if(o)n(o);else throw r}(0,iH.useEffect)(()=>(e.current||(e.current=tR().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||o;if(!i)if(r)throw console.warn("useSession is in an unexpected state. Attempting to recover."),r;else throw Error("useSession is in an invalid state.");return i}let si=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,iH.useState)(null);return((0,iH.useEffect)(()=>{let e=t$({includeAuthStatus:!1}).subscribe(r);return()=>e.unsubscribe()},[]),o&&tL(e,o))?iz().createElement(iz().Fragment,null,n):t?iz().createElement(iz().Fragment,null,t):null};var sa=n(4343),ss=n.n(sa),sl=n(3355);let sc=new Map;function su(){for(let e of Array.from(sc.values()))e()}let sd={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sm(e){let t=(0,iH.useId)();return(0,iH.useEffect)(()=>{if(e)return sc.set(t,e),()=>{sc.delete(t)}},[t,e]),{...iY(oK(),sd),mutateVisit:su}}function sf(e,t=oJ){let n=(0,iH.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sm((0,iH.useCallback)(()=>n.current?.(),[])),a=e&&o==e?r:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,at.Ay)(e?`${tj}/visit${s}`:null,tA),{data:f,error:p,mutate:g,isValidating:h}=(0,at.Ay)(e&&a?`${tj}/visit${l}`:null,tA),w=(0,iH.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,iH.useMemo)(()=>a&&f?f.data:null,[f,a]),y=(0,iH.useRef)(null);(0,iH.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,iH.useCallback)(()=>{d(),g()},[d,g]);(0,iH.useEffect)(()=>{n.current=v},[v]);let b=!!(!c||a&&!f),x=!!(a?p:u);return{error:u||p,mutate:v,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!a,isLoading:b&&!x}}function sp(){let[e,t]=(0,iH.useState)([]);return(0,iH.useEffect)(()=>{let e=oz().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}sa.extend(sl);let sg=new Map;async function sh(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,a=await nm(r);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?s_(r,a).then(()=>a[i]()):(a?a&&Object.hasOwn(a,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`),sw)}let sw={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function s_(e,t){if(e in sg)await sg[e];else{let n=t??await nm(e);await (sg[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eR(e),t(null)}).catch(o)}eR(e),t(null)}))}}function sy(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(ii({name:n,load:()=>sg(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,online:t.online??!0,offline:t.offline??!1,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))ia(r,n)}let sy=[];function sv(e,t){rG(()=>(function(e,t){if(e&&t&&"object"==typeof t){eR(e);let n=t.extensions??[],o=t.modals??[],r=t.workspaces??[],i=t.workspaceGroups??[],a=t.featureFlags??[],s=t.workspaceGroups2??[],l=t.workspaceWindows2??[],c=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"))?sy.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")?s_(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?iy({name:n,moduleName:e,load:()=>sg(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(ii({name:n,load:()=>sh(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,online:t.online??!0,offline:t.offline??!1,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))ia(r,n)}let sv=[];function sb(e,t){rG(()=>(function(e,t){if(e&&t&&"object"==typeof t){e$(e);let n=t.extensions??[],o=t.modals??[],r=t.workspaces??[],i=t.workspaceGroups??[],a=t.featureFlags??[],s=t.workspaceGroups2??[],l=t.workspaceWindows2??[],c=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"))?sv.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")?sy(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?iy({name:n,moduleName:e,load:()=>sh(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
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)}),r.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?function(e,t){let n=t.name;if(!n)return console.error(`A workspace definition in ${e} is missing a name and thus cannot be registered.
24
24
  To fix this, ensure that you define the "name" field inside the workspace definition.`,t);let o=t.title;if(!o)return console.error(`A workspace definition in ${e} is missing a title and thus cannot be registered.
25
25
  To fix this, ensure that you define the "title" field inside the workspace definition.`,t);if(!t.component)return console.error(`The workspace ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
26
- To fix this, ensure that you define a 'component' field inside the workspace definition.`,t);for(let r of(ik({name:n,title:o,component:t.component,moduleName:e,type:t.type,canHide:t.canHide,canMaximize:t.canMaximize,width:t.width,preferredWindowSize:t.preferredWindowSize,groups:t.groups,load:()=>sg(e,t.component)}),t.groups||[]))iS({name:r,members:[n]})}(e,t):console.warn(`A workspace for ${e} could not be registered as it does not appear to have the required properties`,t)}),i.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")){let n;(n=t.name)?iS({name:n,members:t.members??[]}):console.error(`A workspace group definition in ${e} is missing a name and thus cannot be registered.
27
- To fix this, ensure that you define the "name" field inside the workspace definition.`,t)}else console.warn(`A workspace group for ${e} could not be registered as it does not appear to have the required properties`,t)}),iP(e,s);for(let t of(iT(e,l),l))t.icon&&s_(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});iR(e,c),a.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?rx(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
26
+ To fix this, ensure that you define a 'component' field inside the workspace definition.`,t);for(let r of(ik({name:n,title:o,component:t.component,moduleName:e,type:t.type,canHide:t.canHide,canMaximize:t.canMaximize,width:t.width,preferredWindowSize:t.preferredWindowSize,groups:t.groups,load:()=>sh(e,t.component)}),t.groups||[]))iS({name:r,members:[n]})}(e,t):console.warn(`A workspace for ${e} could not be registered as it does not appear to have the required properties`,t)}),i.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")){let n;(n=t.name)?iS({name:n,members:t.members??[]}):console.error(`A workspace group definition in ${e} is missing a name and thus cannot be registered.
27
+ To fix this, ensure that you define the "name" field inside the workspace definition.`,t)}else console.warn(`A workspace group for ${e} could not be registered as it does not appear to have the required properties`,t)}),iP(e,s);for(let t of(iT(e,l),l))t.icon&&sy(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});i$(e,c),a.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?rx(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
28
28
  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.
29
29
  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.
30
- 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 sb(){sy.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sy){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),a=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=a,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.
30
+ 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 sx(){sv.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sv){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),a=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=a,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.
31
31
  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.
32
- To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{online:t,offline:n,featureFlag:o}){return window.offlineEnabled?r=>!!(navigator.onLine&&(t??!0)||!navigator.onLine&&n)&&(!o||!!rS(o))&&e(r):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,tm.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tm.AG)(e,()=>sg(t.appName,t.component),o)}(o,t)}}let sx={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 sk(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sx.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sx.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sx.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sx.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sx.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sx.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sx.SMALL_DESKTOP_MAX)}let sS=!1;function sj(){sS||(window.addEventListener("resize",sk),sk(),sS=!0)}var sN=n(6870),sC=n(5530),sE=n.n(sC);function sA({title:e,children:t}){let n="tablet"===aZ();return(0,sN.jsxs)("div",{className:sE()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":n,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,sN.jsx)("h4",{children:e}),t]})}let sI=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sO={primaryColor:{_type:Q.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[to.oneOf(sI)]},secondaryColor:{_type:Q.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[to.oneOf(sI)]}},sP={"Brand color #1":{_default:"#005d5d",_type:Q.String},"Brand color #2":{_default:"#004144",_type:Q.String},"Brand color #3":{_default:"#007d79",_type:Q.String},excludePatientIdentifierCodeTypes:{uuids:{_type:Q.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:Q.UUID}}},implementationName:{_type:Q.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:Q.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:Q.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:[to.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:Q.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:Q.String}},diagnosisTags:sO};var sT=n(8326);let sR={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},s$=e=>(0,sN.jsx)(sT.TableBatchActions,{translateWithId:(e,t)=>{let n=sR[e];return n?tY(n,e,t):e},...e}),sM="-esm-devtools__custom-overflow-menu-module__container___8PykS",sW="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sD="-esm-devtools__custom-overflow-menu-module__show___BserJ",sL="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sB=(0,iF.createContext)(null);function sU(){let e=(0,iF.useContext)(sB);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sF({menuTitle:e,children:t}){let[n,o]=iH().useState(!1),r=a5(()=>o(!1),n),i="tablet"===aZ(),a=(0,iF.useCallback)(()=>o(e=>!e),[]),s=(0,iF.useRef)(null),l=(0,iF.useRef)(null),c=(0,iF.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,iF.useCallback)(()=>{o(!1),s.current?.focus()},[]),f=(0,iF.useMemo)(()=>({closeMenu:m}),[m]),p=(0,iF.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=iF.Children.toArray(t);(0,iF.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,iF.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,a=i<0?n.length-1:i>=n.length?0:i;n[a]?.focus()},[]),w=g.map((e,t)=>(0,iF.isValidElement)(e)?(0,iF.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sN.jsxs)("div",{"data-overflow-menu":!0,className:sE()("cds--overflow-menu",sM),ref:r,children:[(0,sN.jsx)("button",{className:sE()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sL),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:a,onKeyDown:p,ref:s,children:e}),(0,sN.jsxs)("div",{className:sE()("cds--overflow-menu-options","cds--overflow-menu--flip",sW,{[sD]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:p,ref:l,role:"menu",tabIndex:-1,children:[(0,sN.jsx)("ul",{className:sE()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sN.jsx)(sB.Provider,{value:f,children:w})}),(0,sN.jsx)("span",{})]})]})}function sH(e){let t=(0,iF.useContext)(sB);return(0,sN.jsx)(sT.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sz=n(2277),sG=n(4194);let sV=["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"],sJ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),sq=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-add",iconProps:e})})),sK=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),sX=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),sQ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),sY=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),sZ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s0=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s1=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),s2=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),s6=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),s5=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),s8=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),s3=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),s4=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),s7=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),s9=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),le=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),lt=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),ln=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),lo=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),lr=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),li=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-close",iconProps:e})})),la=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),ls=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),ll=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-document",iconProps:e})})),lc=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),lu=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-download",iconProps:e})})),ld=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),lm=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),lf=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),lp=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-events",iconProps:e})})),lg=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),lh=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),lw=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),l_=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),ly=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),lv=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-group",iconProps:e})})),lb=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),lx=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),lk=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),lS=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-information",iconProps:e})})),lj=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),lN=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),lC=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),lE=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),lA=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),lI=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-location",iconProps:e})})),lO=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),lP=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),lT=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),lR=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),l$=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),lM=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),lW=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-money",iconProps:e})})),lD=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),lL=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),lB=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lU=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lF=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-password",iconProps:e})})),lH=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),lz=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),lG=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),lV=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),lJ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),lq=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),lK=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),lX=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-report",iconProps:e})})),lQ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),lY=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-save",iconProps:e})})),lZ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-search",iconProps:e})})),l0=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),l1=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),l2=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),l6=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),l5=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),l8=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),l3=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),l4=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-table",iconProps:e})})),l7=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-time",iconProps:e})})),l9=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),ce=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),ct=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),cn=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),co=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),cr=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),ci=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),ca=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),cs=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-user",iconProps:e})})),cl=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),cc=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-view",iconProps:e})})),cu=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(cw,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),cd=cu,cm=lc,cf=lA,cp=lk,cg=l6,ch=(0,iF.memo)((0,iF.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,iF.useRef)(e?document.getElementById(e):void 0);return(0,iF.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,sN.jsx)(a_,{value:r.current,fallback:t,children:(0,sN.jsx)(cw,{ref:o,icon:e,iconProps:n})})})),cw=(0,iF.memo)((0,iF.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 a=(0,iF.useRef)(null);return(0,iF.useImperativeHandle)(n,()=>a.current),(0,iF.useEffect)(()=>{a.current&&"currentColor"!==r&&a.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sN.jsx)("svg",{ref:a,className:sE()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,sN.jsx)("use",{href:`#${e}`})})})),c_=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,i9.useTranslation)(),i=(0,sz.zy)(),a=(0,iF.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,sN.jsx)("div",{children:(0,sN.jsx)(iG,{className:sE()("cds--side-nav__link",{"active-left-nav-link":a}),to:`${n}/${encodeURIComponent(e)}`,children:(0,sN.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,sN.jsx)(ch,{icon:o,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,sN.jsx)("span",{children:r(t)})]})})},e)};function cy(e){return function({basePath:t}){return(0,sN.jsx)(sG.Kd,{children:(0,sN.jsx)(c_,{basePath:t,...e})})}}var cv=n(7715),cb=n(7532),cx=n(3692),ck=n(7615),cS=n(700),cj=n(6816),cN=n(1168);function cC(e){return iH().createElement(cN.C,e)}var cE=n(3010),cA=n(6513),cI=n(6190);function cO(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 cE.ng||e instanceof cE._l||e instanceof cE.Ip)return t?(0,cA.yP)(e,t):e;{let n=sa()(e).toDate(),o=new cE.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,cA.yP)(o,t):o}}function cP(e){if(e)return e.toDate((0,cI.Xj)())}var cT=n(9002);function cR(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function c$(e){let t=e??"",n=cR(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function cM(){let e=window.i18next.language,t=cR(e)??e;return"ht"===t&&(t="fr-HT"),t}var cW=n(7883),cD=n(424),cL=n(1492),cB=n(8271);function cU(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}si.extend(ss),si.extend(cL),si.extend(cD);let cF="YYYY-MM-DDTHH:mm:ss.SSSZZ";function cH(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&si(e,cF).isValid()}function cz(e){return si(e).isToday()}function cG(e){return cH(e)?si(e,cF).toDate():null}function cV(e,t=!1){let n=si(e);return t&&(n=n.utc()),n.format(cF)}function cJ(e){return si(e).toDate()}var cq=new WeakMap;let cK=new class{register(e,t){cU(this,cq).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(cU(this,cq).has(t))return cU(this,cq).get(t)}if(e.language&&cU(this,cq).has(e.language))return cU(this,cq).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return cU(this,cq).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,cq,{writable:!0,value:new Map})}};function cX(e,t){cK.register(e,t)}function cQ(e){let t=e??cM();return cK.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let cY={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function cZ(e,t={}){let n=cM(),o=(0,cW.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,cB.A)(o.day)&&(0,cB.A)(o.month)&&(o=Object.assign({},(0,K.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,K.A)(o,"day"),{date:o.day}));let r=si().set(o).toDate();return(0,cB.A)(o.year)&&(t.year=!1),(0,cB.A)(o.month)&&(t.month=!1),(0,cB.A)(o.date)&&(t.day=!1),c0(r,t)}function c0(e,t){let n,o=t?.locale??cM(),r=new Intl.Locale(o),{calendar:i,mode:a,time:s,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...cY,...{noToday:"am"===r.language},...t},f={calendar:i??cQ(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},p=si(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"==a&&u&&l&&(t=t.map(c1("-"))),"wide"==a&&(t=t.map(c1(" — "))),"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===s||p&&"for today"===s)&&(n+=`, ${c2(e)}`),n}let c1=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function c2(e){return e.toLocaleTimeString(cM(),{hour:"2-digit",minute:"2-digit"})}function c6(e,t){return c0(e,{...t,time:!0})}function c5(e,t){let n=cQ("string"==typeof t?new Intl.Locale(t):t);return n?(0,cA.yP)(e,(0,cT.d)(n)):e}function c8(e,t){return new Intl.DurationFormat(cM(),t).format(e)}function c3(e,t){if(null==e)return null;if("string"==typeof e){let n=cM(),o=(0,cW.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,K.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,K.A)(o,"day"),...{date:o.day}}),si(t).set(o))}return si(e)}let c4=["years","months","days","hours","minutes","seconds"],c7={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},c9={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function ue(e,t=si(),n){let o,r=si(t),i=c3(e,r);if(null==i)return null;if("string"==typeof n){let e=c7[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:a,largestUnit:s,smallestUnit:l}=n??{};if(void 0!==s||void 0!==l){let e,t=l?c7[l]??l:void 0;return e="auto"===s||void 0===s?function(e,t,n){let o=c4.indexOf(n);for(let r=0;r<c4.length;r++){let i=c4[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):c7[s]??s,function(e,t,n,o){let r=c4.indexOf(n),i=c4.indexOf(o),a=c4.slice(r,i+1),s={},l=e;for(let e of a){let n=t.diff(l,e);s[e]=n,l=l.add(n,e)}return s}(i,r,e,t??e)}let c=(o=function(e){let t={...c9};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[c7[n]??n]=o);return t}(a),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 ut={style:"short",localeMatcher:"lookup"};function un(e,t=si(),n){let o=ue(e,t,n);return null==o?null:c8(o,"object"==typeof n&&n.formatOptions?{...ut,...n.formatOptions}:ut)}let uo=(0,iF.createContext)(null);function ur(){let e=aE({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,iF.useMemo)(()=>{let t=cM();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,iF.useMemo)(()=>{let e=cQ(t);return void 0!==e?(0,cT.d)(e):void 0},[t]),o=(0,iF.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,iF.useMemo)(()=>n?(0,cA.yP)((0,cI.Ec)((0,cI.Xj)()),n):(0,cI.Ec)((0,cI.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let ui=new cE.ng(1793,1,1);var ua=n(5830),us=n(6156),ul=n(4745),uc=n(1202);function uu(e,t){return Number.parseInt(c0(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let ud=(0,iF.forwardRef)(function(e,t){let{className:n}=e,o=(0,iF.useContext)(ua.f2),r=(0,iF.useContext)(ua._I),i=o??r,a=(0,iF.useContext)(uo),s=(0,cI.Xj)(),l=c0(i.visibleRange.start.toDate(s),{calendar:a.calendar,locale:a.baseName,day:!1,year:!1,noToday:!0}),c=uu(i.visibleRange.start.toDate(s),a),u=i.maxValue?uu(i.maxValue.toDate(s),a):void 0,d=i.minValue?uu(i.minValue.toDate(s),a):void 0,m=(0,iF.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sN.jsxs)("span",{ref:t,className:n,children:[(0,sN.jsx)("span",{children:l}),(0,sN.jsxs)(ul.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sN.jsx)(uc.p,{}),(0,sN.jsxs)(ck.Y,{children:[(0,sN.jsx)(cS.$,{slot:"increment",children:(0,sN.jsx)(s8,{size:8})}),(0,sN.jsx)(cS.$,{slot:"decrement",children:(0,sN.jsx)(s2,{size:8})})]})]})]})});var um=n(9588);let uf="-esm-devtools__datepicker-module__inputGroup___+4zks",up="-esm-devtools__datepicker-module__inputSegment___wiExn",ug="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",uh="-esm-devtools__datepicker-module__invalidText___SxtTL",uw="-esm-devtools__datepicker-module__flatButton___UU1Qp",u_="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",uy="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",uv="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function ub({children:e}){let t=(0,iF.useContext)(cb.Pg),n=(0,iF.useContext)(cb.a8),o=t??n,r=a5(()=>o?.close());return(0,sN.jsx)(um.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let ux=(0,iF.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,a=i?ua._e:ua.Vv;return(0,sN.jsx)(us.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sN.jsx)(ub,{children:(0,sN.jsxs)(a,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,sN.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,sN.jsx)(cS.$,{className:sE()(uw,u_),slot:"previous",children:(0,sN.jsx)(ln,{size:16})}),(0,sN.jsx)(ud,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,sN.jsx)(cS.$,{className:sE()(uw,u_),slot:"next",children:(0,sN.jsx)(lo,{size:16})})]}),(0,sN.jsx)(ua.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sN.jsx)(ua.Zr,{className:sE()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var uk=n(8017),uS=n(9774),uj=n(7956);let uN=(0,iF.forwardRef)(function(e,t){let n=(0,iF.useContext)(cb.Pg),[o,r]=(0,cv.JT)({slot:e.slot},t,uS.cQ),{locale:i}=(0,cN.Y)(),a=(0,uj.F)({...o,locale:i,createCalendar:cT.d}),s=(0,iF.useRef)(null),{fieldProps:l,inputProps:c}=(0,uk.cJ)({...o,inputRef:s},a,r),u=(0,iF.useCallback)(()=>{a.isDisabled||n.toggle()},[]);return(0,sN.jsxs)(cv.Kq,{values:[[uS.$,a],[uc.E,{...c,ref:s}],[ck.t,{...l,ref:r,isInvalid:a.isInvalid}]],children:[(0,sN.jsx)(ck.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:a.isDisabled,isInvalid:a.isInvalid,onClick:u,children:a.segments.map((t,n)=>(0,iF.cloneElement)(e.children(t),{key:n}))}),(0,sN.jsx)(uc.p,{})]})}),uC=(0,iF.forwardRef)(function(e,t){let n=(0,iF.useContext)(cb.Pg),o=(0,iF.useContext)(cb.a8);return(n??o).isInvalid?(0,sN.jsx)(cu,{ref:t,size:16,...e}):(0,sN.jsx)(s1,{ref:t,size:16,...e})});var uE=n(64),uA=n(5503),uI=n(1697),uO=n(7866),uP=n(8035),uT=n(2231);let uR=(0,iF.forwardRef)(function({segment:e,...t},n){let o=(0,iF.useContext)(uS.$),r=(0,uE.U)(n),{segmentProps:i}=(0,uA.V)(e,o,r),{focusProps:a,isFocused:s,isFocusVisible:l}=(0,uI.o)(),{hoverProps:c,isHovered:u}=(0,uO.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:a,values:s}=e;return(0,iF.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...s,defaultClassName:r}):t,l="function"==typeof n?n({...s,defaultStyle:a||{}}):n,c="function"==typeof o?o({...s,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||a?{...a,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,a,s])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:s,isFocusVisible:l},defaultChildren:e.text}),m=(0,iF.useCallback)(e=>{e.stopPropagation()},[]);return(0,sN.jsx)("span",{...(0,uP.v)((0,uT.$)(t),i,a,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":s||void 0,"data-focus-visible":l||void 0,onClick:m})}),u$={short:!1,size:"md"},uM=(0,iF.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:a,isInvalid:s,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:f,onChangeRaw:p,short:g,size:h,value:w,..._}={...u$,...e},{calendar:y,intlLocale:v,today_:b}=ur(),x=(0,iF.useId)(),k=!!(c??l),S=(0,iF.useMemo)(()=>cO(o,y),[o,y]),j=(0,iF.useMemo)(()=>cO(w,y,!0),[w,y]),N=(0,iF.useMemo)(()=>cO(d,y),[d,y]),C=(0,iF.useMemo)(()=>cO(m??ui,y),[m,y]),E=(0,iF.useMemo)(()=>i||s,[i,s]),A=(0,iF.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?.(cP(e)))),[p,f]);return(0,sN.jsx)(cC,{locale:v.toString(),children:(0,sN.jsx)("div",{className:sE()("cds--form-item",n),children:(0,sN.jsx)(cv.Kq,{values:[[uo,v]],children:(0,sN.jsxs)(cb.lr,{className:sE()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:S,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:j,shouldForceLeadingZeros:"en"===v.language||void 0,..._,onChange:A,children:[(0,sN.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,sN.jsx)(cx.J,{className:sE()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sN.jsxs)(ck.Y,{className:uf,children:[(0,sN.jsx)(uN,{id:k?x:void 0,ref:t,className:sE()("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,sN.jsx)(uR,{className:up,segment:e}):(0,sN.jsx)(iH().Fragment,{})}),(0,sN.jsx)(cS.$,{className:sE()(uw,{[uy]:"sm"===h,[u_]:"md"===h||!h||0===h.length,[uv]:"lg"===h}),children:(0,sN.jsx)(uC,{})})]}),(0,sN.jsx)(cj.b,{className:uh,children:a})]}),(0,sN.jsx)(ux,{variant:"single",today_:b})]})})})})}),uW=(0,iF.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:a,labelText:s,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:f="md",value:p,...g},h){let{calendar:w,intlLocale:_,today_:y}=ur(),v=(0,iF.useId)(),b=!!(s??a),x=(0,iF.useMemo)(()=>{if(p)return{start:cO(p[0],w,!1),end:cO(p[1],w,!1)}},[p,w]),k=(0,iF.useMemo)(()=>{if(t)return{start:cO(t[0],w,!1),end:cO(t[1],w,!1)}},[t,w]),S=(0,iF.useMemo)(()=>cO(u??ui,w,!0),[u,w]),j=(0,iF.useMemo)(()=>cO(c,w,!0),[c,w]),N=(0,iF.useMemo)(()=>n||i,[n,i]),C=(0,iF.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?.([cP(e.start),cP(e.end)]))),[m,d]);return(0,sN.jsx)(cC,{locale:_.toString(),children:(0,sN.jsx)("div",{className:sE()("cds--form-item",e),children:(0,sN.jsx)(cv.Kq,{values:[[uo,_]],children:(0,sN.jsx)(cb.Ur,{id:b?v:void 0,className:sE()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,sN.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,sN.jsx)(cx.J,{className:sE()("cds--label",{"cds--label--disabled":r}),htmlFor:v,children:s??a}),(0,sN.jsxs)(ck.Y,{className:uf,children:[(0,sN.jsxs)("div",{className:sE()("-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,sN.jsx)(uS.J3,{className:sE()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",ug),slot:"start",children:e=>(0,sN.jsx)(uR,{className:up,segment:e})}),(0,sN.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,sN.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sN.jsx)(uS.J3,{className:sE()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",ug),slot:"end",children:e=>(0,sN.jsx)(uR,{className:up,segment:e})})]}),(0,sN.jsx)(cS.$,{className:sE()(uw,{[uy]:"sm"===f,[u_]:"md"===f||!f||0===f.length,[uv]:"lg"===f}),children:(0,sN.jsx)(uC,{})})]}),(0,sN.jsx)(cj.b,{className:uh,children:o}),(0,sN.jsx)(ux,{variant:"range",today_:y,minDate:S,maxDate:j})]})})})})})}),uD=({diagnoses:e})=>{let{diagnosisTags:t}=aE({externalModuleName:"@openmrs/esm-styleguide"});return(0,sN.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:n,uuid:o,display:r}=e,i=t[1===n?"primaryColor":"secondaryColor"];return(0,sN.jsx)(sT.Tag,{type:i,children:r},o)})})},uL={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"},uB=({width:e="64",height:t="64"})=>(0,sN.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sN.jsx)("use",{href:"#omrs-empty-data-illustration"})}),uU=e=>{let t="tablet"===aZ(),n=e.launchForm;return(0,sN.jsx)(sT.Layer,{className:uL.layer,children:(0,sN.jsxs)(sT.Tile,{className:uL.tile,children:[(0,sN.jsx)("div",{className:t?uL.tabletHeading:uL.desktopHeading,children:(0,sN.jsx)("h4",{children:e.headerTitle})}),(0,sN.jsx)(uB,{}),(0,sN.jsx)("p",{className:uL.content,children:tY("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sN.jsx)("p",{className:uL.action,children:n&&(0,sN.jsx)(sT.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tY("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},uF=({error:e,headerTitle:t})=>{let n="tablet"===aZ();return(0,sN.jsx)(sT.Layer,{children:(0,sN.jsxs)(sT.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,sN.jsx)("div",{className:n?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,sN.jsx)("h4",{children:t})}),(0,sN.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tY("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sN.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tY("errorCopy")})]})})},uH=uF,uz=iH().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=a2(),a=window.location??{pathname:""},s=i6(n??"");return e.isChildOfHeader&&n&&s.length>0?(0,sN.jsxs)(sT.SideNav,{"aria-label":tY("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sN.jsx)(i3,{name:"global-nav-menu-slot"}),n?(0,sN.jsx)(a_,{value:r,fallback:(0,sN.jsx)(i3,{name:n,state:{basePath:o,currentPath:a,...i}}),children:(0,sN.jsx)(iz.Provider,{value:r,children:(0,sN.jsx)(i3,{name:n,state:{basePath:o,currentPath:a,...i}})})}):null]}):null}),uG=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,a]=(0,iF.useState)(""),s=(0,iF.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=(0,aP.A)(t,tA,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,iF.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=aO(n),{data:r,isLoading:i,isValidating:a,setSize:s,error:l}=(0,aG.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?`,a=new URLSearchParams;return a.append("_summary","data"),t&&a.append("_count",""+t),n&&a.append("_getpagesoffset",""+n*t),e&&a.append("_tag",e),"string"==typeof o&&""!==o&&a.append("name:contains",o),i+a.toString()},tA);return(0,iF.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:a,error:l||null,setPage:s}),[i,r,a,s,l])}(n,o,i),g=(0,iF.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,iF.useCallback)(e=>{r(),a(e.trim())},[r]),w=a8((0,iF.useCallback)(()=>{!m&&d&&p(e=>e+1)},[m,d,p])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsx)(sT.Search,{"aria-describedby":f?`${s}-error`:void 0,labelText:tY("searchForLocation"),id:s,placeholder:tY("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),f&&(0,sN.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${s}-error`,children:(0,sN.jsx)(sT.InlineNotification,{kind:"error",subtitle:tY("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tY("error","Error")})}),(0,sN.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,sN.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sN.jsx)(sT.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sN.jsx)(sT.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sN.jsx)(sT.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sN.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sN.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,sN.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tY("noResultsToDisplay")})})}),m&&(0,sN.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,sN.jsx)(sT.InlineLoading,{description:tY("loading")})})]})})]})},uV=L("modalState",{modalContainer:null,modalStack:[]}),uJ=0;async function uq(e,t,n={}){let o=iv(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,a=await i(),s=uJ++;r=await iD({...a,name:`${t}-${s}`},{...n,domElement:e})}else j(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function uK(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function uX(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function uQ(e){return e.find(e=>!uK(e))}function uY(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let uZ=window.getComputedStyle(document.body).overflow;function u0({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",u2),document.body.style.overflow="hidden",t.style.visibility="unset");let n=uQ(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",uq(n,e.modalName,e.props).then(o=>{uK(e)?uX(e.modalName,o):o?(e.parcel=o,t.prepend(n),uY(e,uQ(uV.getState().modalStack)===e),o.mountPromise.then(()=>{uK(e)||(e.state="MOUNTED")},t=>{j(t),e.parcel=null,u1(e)})):u1(e)},t=>{j(t),u1(e)});break}case"MOUNTING":case"MOUNTED":uY(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),uX(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=uV.getState();uV.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=uZ,removeEventListener("keydown",u2)}function u1(e){if(uK(e))return;e.state="TO_BE_DELETED";let t=uV.getState();uV.setState({...t,modalStack:[...t.modalStack]})}function u2(e){"Escape"===e.key&&function(){let[e]=uV.getState().modalStack;e&&u1(e)}()}function u6(e){uV.subscribe(u0),uV.setState({...uV.getState(),modalContainer:e})}function u5(e,t={},n=()=>{}){let o=()=>{let e=uV.getState().modalStack.find(e=>e.onClose===n);e&&u1(e)};if(iv(e)){var r;let i,a;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},a=[r,...(i=uV.getState()).modalStack],uV.setState({...i,modalStack:a})}else j(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}let u8=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:a}=e;return(0,sN.jsx)(sT.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:a})},u3=({subject:e})=>{let[t,n]=(0,iF.useState)([]);return(0,iF.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,sN.jsx)(sN.Fragment,{children:t.map(e=>(0,sN.jsx)(u8,{notification:e},e.id))})},u4=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:a,progressActionLabel:s,id:l,...c}=e,[u,d]=(0,iF.useState)(t);return(0,sN.jsx)(sT.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tY("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),s&&d(s)},statusIconDescription:tY("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:a,inline:!0,...c})},u7=({subject:e})=>{let[t,n]=(0,iF.useState)([]);return(0,iF.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,sN.jsx)(sN.Fragment,{children:t.map(e=>(0,sN.jsx)(u4,{notification:e},e.id))})};var u9=n(9685);let de=new G.Subject,dt=0,dn=new G.Subject,dr=0;function di(e){e&&(0,i4.createRoot)(e).render((0,sN.jsx)(u3,{subject:de}))}function da(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,u9.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{de.next({...e,id:dt++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function ds(e){e&&(0,i4.createRoot)(e).render((0,sN.jsx)(u7,{subject:dn}))}function dl(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,u9.A)(t))?setTimeout(()=>{dn.next({...e,id:dr++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let dc=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],du=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],dd={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"},dm=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:a="card",patientUuid:s})=>{let l=(0,iF.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,aP.A)(n,tA),a=o?.data?.results?.[0];return{referenceRange:a?{hiNormal:a.hiNormal??null,hiAbsolute:a.hiAbsolute??null,hiCritical:a.hiCritical??null,lowNormal:a.lowNormal??null,lowAbsolute:a.lowAbsolute??null,lowCritical:a.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,s),d=r??c,m=(0,iF.useMemo)(()=>{if(o)return o?"--"===o?"normal":dc.includes(o)?o.toLowerCase():du.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:tY("notAvailable","Not available"),v=sE()({[dd["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[dd["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[dd.low]:"low"===m,[dd.high]:"high"===m,[dd["off-scale-low"]]:"off_scale_low"===m,[dd["off-scale-high"]]:"off_scale_high"===m}),b=sE()({[dd.container]:!0,[dd.card]:!0,[dd["critical-value"]]:f,[dd["abnormal-value"]]:p&&!f}),x=sE()({[dd.cell]:!0,[v]:!0});return"cell"===a?(0,sN.jsxs)("div",{className:x,children:[y,_&&t?` ${t}`:""]}):(0,sN.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,sN.jsxs)("div",{className:dd["label-container"],children:[(0,sN.jsx)("span",{id:g,className:dd.label,children:n}),p&&(0,sN.jsx)("span",{className:dd[m.replace("_","-")],title:tY("abnormalValue","Abnormal value")})]}),(0,sN.jsxs)("div",{className:dd["value-container"],children:[(0,sN.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:dd.value,children:y}),_&&t&&(0,sN.jsx)("span",{id:w,className:dd.units,children:t})]})]})},df="-esm-devtools__page-header-module__pageHeader___YOpQL",dp=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,sN.jsx)("div",{className:sE()(df,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,sN.jsx)("div",{className:sE()(df,o),...r,children:(0,sN.jsx)(dg,{title:t,illustration:n})})}},dg=({title:e,illustration:t,className:n})=>{let[o,r]=(0,iF.useState)(null);return(0,iF.useEffect)(()=>{eB("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sN.jsxs)("div",{className:sE()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,sN.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,sN.jsx)("p",{children:tY(o.implementationName)}),(0,sN.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},dh=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:a})=>{let{pageSizes:s,pageItemsCount:l}=a7(t,e,o,i),c="tablet"===aZ(),u=tY("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sN.jsx)(sN.Fragment,{children:e>0&&(0,sN.jsxs)("div",{className:sE()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,sN.jsxs)("div",{children:[u,r&&(0,sN.jsx)(iG,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:a??tY("seeAll","See all")})]}),(0,sN.jsx)(sT.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:s,totalItems:e,onChange:n,pageRangeText:(e,t)=>tY("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function dw(e){return dy(db(e,"usual","official"))}function d_(e){return dw(e)}function dy(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function dv(e){return dy(e)}function db(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 dx(e,t=si()){let n=si(t),o=c3(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),a=n.diff(o,"weeks"),s=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(a<4)c.days=i;else if(l<1){let e=n.subtract(a,"weeks").diff(o,"days");c.weeks=a,c.days=e}else if(l<2){let e=n.subtract(s,"months").diff(o,"days");c.months=s,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 dk(e,t=si()){let n=dx(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),c8(n,o)}let dS={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 dj({showIdentifierLabel:e,type:t,value:n}){return(0,sN.jsx)("span",{className:dS.primaryIdentifier,children:(0,sN.jsxs)(sT.Tag,{className:dS.tag,type:"gray",children:[e&&t?.text&&(0,sN.jsxs)("span",{className:dS.label,children:[t.text,": "]}),(0,sN.jsx)("span",{className:dS.value,children:n})]})})}function dN({showIdentifierLabel:e,type:t,value:n}){return(0,sN.jsxs)(sT.FormLabel,{className:dS.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,sN.jsxs)("span",{className:dS.label,children:[t?.text,": "]}),(0,sN.jsx)("span",{className:dS.value,children:n})]})}function dC({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=aE(),{primaryIdentifierCode:o}=st(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,sN.jsx)(sN.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,sN.jsxs)(iH().Fragment,{children:[(0,sN.jsx)("span",{className:dS.identifier,children:n?.coding?.[0]?.code===o?(0,sN.jsx)(dj,{showIdentifierLabel:t,type:n,value:e}):(0,sN.jsx)(dN,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,sN.jsx)("span",{className:dS.separator,children:"\xb7"})]},e)):""})}let dE={Female:lg,Male:lh,Other:lw,Unknown:l_},dA=({gender:e})=>{let t=dE[e];return t?(0,sN.jsx)(t,{fill:"#525252"}):null},dI={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function dO({patient:e,renderedFrom:t}){var n;let o,r,i=dw(e),a=e?.gender&&(r=dI[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tY(o,n),iconKey:r}),s=(0,iF.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sN.jsxs)("div",{className:dS.patientInfo,children:[(0,sN.jsx)("div",{className:sE()(dS.row,dS.patientNameRow),children:(0,sN.jsxs)("div",{className:dS.flexRow,children:[(0,sN.jsx)("span",{className:dS.patientName,children:i}),a&&(0,sN.jsxs)("div",{className:dS.gender,children:[(0,sN.jsx)(dA,{gender:a.iconKey}),(0,sN.jsx)("span",{children:a.displayText})]}),(0,sN.jsx)(i3,{className:dS.tagsSlot,name:"patient-banner-tags-slot",state:s})]})}),(0,sN.jsxs)("div",{className:dS.demographics,children:[e.birthDate&&(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsx)("span",{children:dk(e.birthDate)}),(0,sN.jsx)("span",{className:dS.separator,children:"\xb7"}),(0,sN.jsx)("span",{children:cZ(e.birthDate,{time:!1})}),(0,sN.jsx)("span",{className:dS.separator,children:"\xb7"})]}),(0,sN.jsx)(dC,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sN.jsx)(i3,{className:dS.extensionSlot,name:"patient-banner-bottom-slot",state:s})]})]})}var dP=n(7683);function dT({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,iF.useState)(!1),{extensions:a}=i5(n),s="tablet"===aZ(),l=a5(()=>i(!1),r),c=(0,iF.useRef)(null),u=(0,iF.useRef)(null),d=(0,iF.useId)(),m=`patient-actions-menu-trigger-${d}`,f=`patient-actions-menu-${d}`,p=(0,iF.useCallback)(()=>i(e=>!e),[]),g=(0,iF.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,iF.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,iF.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,iF.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===a.length?null:(0,sN.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sN.jsxs)("div",{"data-overflow-menu":!0,className:sE()("cds--overflow-menu",sM),ref:l,children:[(0,sN.jsxs)("button",{className:sE()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sL),"aria-controls":f,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:p,onKeyDown:h,ref:c,children:[(0,sN.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tY("actions","Actions")})," ",(0,sN.jsx)(dP.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sN.jsxs)("div",{className:sE()("cds--overflow-menu-options","cds--overflow-menu--flip",sW,{[sD]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:f,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sN.jsx)("ul",{className:sE()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":s}),children:(0,sN.jsx)(i3,{name:n,state:w},n)}),(0,sN.jsx)("span",{})]})]})})}var dR=n(397),d$=n.n(dR);function dM(e){let{patientPhotoConceptUuid:t}=aE({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tj}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=(0,ae.Ay)(e?n:null,tA),a=o?.data?.results[0];return{data:a?{dateTime:a?.obsDatetime,imageSrc:a?.value?.links?.uri}:null,error:r,isLoading:i}}let dW=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,i9.useTranslation)();return(0,sN.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,sN.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sN.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"})]})},dD="-esm-devtools__patient-photo-module__avatar___t5TmZ";function dL({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=dM(e),[i,a]=(0,iF.useState)(null),[s,l]=(0,iF.useState)(!1),c=(0,iF.useMemo)(()=>d$().generate(e),[e]);(0,iF.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||(a(e),l(!1))},n.onerror=()=>{t||(a(null),l(!1))},n.src=e,()=>{t=!0}}a(null),l(!1)},[o?.imageSrc]);let u=(0,iF.useMemo)(()=>n||(i?tY("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tY("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||s?(0,sN.jsx)(sT.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,sN.jsx)(dW,{"aria-label":tY("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sN.jsx)("div",{"aria-label":u,children:(0,sN.jsx)("img",{className:dD,src:i,alt:u,title:t})}):(0,sN.jsx)("div",{"aria-label":u,children:(0,sN.jsx)("div",{className:dD,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sN.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 dB=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","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-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],dU=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),dF=dU,dH=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),dz=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),dG=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),dV=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),dJ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),dq=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),dK=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),dX=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),dQ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),dY=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),dZ=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),d0=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),d1=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),d2=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),d6=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),d5=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),d8=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),d3=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),d4=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),d7=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),d9=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),me=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),mt=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),mn=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),mo=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),mr=(0,iF.memo)((0,iF.forwardRef)(function(e,t){return(0,sN.jsx)(ml,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),mi=dQ,ma=d8,ms=(0,iF.memo)((0,iF.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,iF.useRef)(document.getElementById(e));return(0,iF.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,sN.jsx)(a_,{value:r.current,fallback:t,children:(0,sN.jsx)(ml,{ref:o,pictogram:e,pictogramProps:n})})})),ml=(0,iF.memo)((0,iF.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,sN.jsx)("svg",{ref:n,className:sE()("-esm-devtools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,sN.jsx)("use",{href:`#${e}`})})})),mc=({children:e})=>"tablet"===aZ()?(0,sN.jsx)(sT.Layer,{children:e}):(0,sN.jsx)(sN.Fragment,{children:e}),mu=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:a,subtitle:s="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[f,p]=(0,iF.useState)(n),[g,h]=(0,iF.useState)(!0),[w,_]=(0,iF.useState)(!1),y=(0,iF.useCallback)(()=>{setTimeout(t,250)},[t]),v=(0,iF.useCallback)(()=>{_(!0),y()},[y]);return(0,iF.useEffect)(()=>{if(c){let e=setTimeout(v,l);return()=>clearTimeout(e)}},[l,c,v]),(0,iF.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sN.jsx)(sT.ActionableNotification,{actionButtonLabel:f,"aria-label":tY("closeSnackbar","Close snackbar"),className:sE()("-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(),a&&p(a)},onClose:y,statusIconDescription:tY("snackbarNotification","Snackbar notification"),subtitle:s,title:u,...m})},md=({subject:e})=>{let[t,n]=(0,iF.useState)([]),o=(0,iF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iF.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,sN.jsx)(sN.Fragment,{children:t.map(e=>(0,sN.jsx)(mu,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},mm=new G.Subject,mf=0;function mp(e){e&&(0,i4.createRoot)(e).render((0,sN.jsx)(md,{subject:mm}))}function mg(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{mm.next({...e,id:mf++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let mh=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:a,onActionButtonClick:s=()=>{}}=e,l=(0,iF.useCallback)(()=>{s(),t()},[t,s]);return(0,sN.jsx)("div",{children:(0,sN.jsx)(sT.ActionableNotification,{actionButtonLabel:a,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},mw=({subject:e})=>{let[t,n]=(0,iF.useState)([]),o=(0,iF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iF.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,sN.jsx)(sN.Fragment,{children:t.map(e=>(0,sN.jsx)(mh,{toast:e,closeToast:()=>o(e)},e.id))})},m_=new G.Subject,my=0;function mv(e){e&&(0,i4.createRoot)(e).render((0,sN.jsx)(mw,{subject:m_}))}function mb(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,u9.A)(t))?setTimeout(()=>{m_.next({...e,id:my++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function mx(e,t=!1){if(t)return!0;let n=mC[e];return!n||!n()}function mk(e,t){let n=m$.getState()?.workspaceGroup,o=n?.name;o&&e===o&&mL(()=>{let o=mz(e);o&&(o.setState({},!0),o.subscribe(()=>{})()),"function"==typeof n?.cleanup&&n.cleanup(),m$.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},o?e=>e.currentWorkspaceGroup===o:()=>!0)}function mS(e,t){let{name:n,additionalProps:o}=t;iN(n);let r=()=>{mP(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>mj(n,o),closeWorkspaceGroup:!1})};mx(e.name)?r():mU("closing-workspace-launching-new-workspace",r,e.title??e.name)}function mj(e,t){let n=iN(e),o=m$.getState().workspaceGroup;if(o&&!o.members?.includes(e))return void mk(o.name,()=>{mj(e,t)});let r=m$.getState().workspaceGroup?.name,i={...n,title:mF(n,t),closeWorkspace:(t={})=>mP(e,t),closeWorkspaceWithSavedChanges:t=>mP(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var n,o;return n=e,o=t,void(mC[n]=o)},setTitle:(t,n)=>{i.title=t,i.titleNode=n,m$.setState(t=>{let n=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:n}})},currentWorkspaceGroup:r,additionalProps:t??{}};function a(e,t){m$.setState(n=>{let o=[e,...t??n.openWorkspaces],r=mD(e);return{...n,openWorkspaces:o,workspaceWindowState:r}})}r&&mz(r,t);let s=m$.getState().openWorkspaces,l=s.findIndex(t=>t.name===e),c=s.find(e=>e.type==i.type);if(0===s.length)a(i);else if(s[0].canHide||0===l)if(l>=0){let t=s[l];a({...t,additionalProps:i.additionalProps,...t.title===mF(t,t.additionalProps)&&{title:mF(i,i.additionalProps)}},s.filter(t=>t.name!=e))}else c?(a(c,m$.getState().openWorkspaces.filter(e=>e.type!=i.type)),mS(c,{name:e,additionalProps:t})):a(i);else mS(s[0],{name:e,additionalProps:t})}function mN({targetUrl:e,contextKey:t,workspaceName:n,additionalProps:o}){mT(t),mj(n,o),tg({to:e})}let mC={};function mE(e,t){mC[e]=t}function mA(e){return mC[e]}function mI(){let e=m$.getState();m$.setState({...e,prompt:null})}let mO={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function mP(e,t={}){t={...mO,...t};let n=()=>{let n=m$.getState();n.openWorkspaces.find(t=>t.name===e);let o=n.openWorkspaces.filter(t=>t.name!=e),r=m$.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&mk(r),mC[e]=()=>!1,m$.setState(e=>({...e,prompt:null,openWorkspaces:o,workspaceWindowState:mD(o?.[0])})),t?.onWorkspaceClose?.()};return mx(e,t?.ignoreChanges)?(n(),!0):(mU("closing-workspace",n,iN(e).title??e),!1)}function mT(e){m$.getState().context!=e&&m$.setState({context:e,openWorkspaces:[],prompt:null})}let mR={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},m$=L("workspace",mR);function mM(){return m$}function mW(e){let t=m$.getState();m$.setState({...t,workspaceWindowState:e})}function mD(e){return e?.preferredWindowSize??"normal"}function mL(e=()=>{},t=()=>!0){let n=m$.getState().openWorkspaces.filter(t).every(({name:e})=>mx(e)),o=()=>{mH(),e?.()};n?o():mU("closing-all-workspaces",o)}function mB(){let{workspaceWindowState:e,openWorkspaces:t,prompt:n,workspaceGroup:o}=iX(m$);return(0,iF.useMemo)(()=>({active:t.length>0,prompt:n,workspaceWindowState:e,workspaces:t,workspaceGroup:o}),[t,e,n,o])}function mU(e,t=()=>{},n=""){let o;switch(e){case"closing-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tY("discard","Discard")};break;case"closing-all-workspaces":{let e=m$.getState().openWorkspaces.filter(({name:e})=>!mx(e)).map(({title:e},t)=>`${t+1}. ${e}`);o={title:tY("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tY("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tY("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:n}),onConfirm:()=>{m$.setState(e=>({...e,prompt:null})),t?.()},confirmText:tY("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}m$.setState(e=>({...e,prompt:o}))}function mF(e,t){return t?.workspaceTitle??e.title}function mH(){m$.setState(mR)}function mz(e,t={}){if(!e||"default"===e)return;let n=U(e,{});return t&&n.setState(e=>({...e,...t})),n}let mG="-esm-devtools__action-menu-button-module__container___f7spB",mV="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",mJ="-esm-devtools__action-menu-button-module__active___+mcQh";function mq({getIcon:e,formOpenInTheBackground:t,tagContent:n}){return(0,sN.jsxs)(sN.Fragment,{children:[e({size:16}),t?(0,sN.jsx)("span",{className:"-esm-devtools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,sN.jsx)("span",{className:"-esm-devtools__action-menu-button-module__countTag___vo9ZX",children:n})]})}let mK=({getIcon:e,label:t,iconDescription:n,handler:o,type:r,tagContent:i})=>{let a=aZ(),{workspaces:s,workspaceWindowState:l}=mB(),c=s?.findIndex(({type:e})=>e===r)??-1,u="hidden"!==l&&0===c,d=c>0||0===c&&"hidden"===l;return"tablet"===a||"phone"===a?(0,sN.jsxs)(sT.Button,{className:sE()(mG,{[mJ]:u}),iconDescription:n,kind:"ghost",onClick:o,role:"button",tabIndex:0,size:"md",children:[(0,sN.jsx)("span",{className:mV,children:(0,sN.jsx)(mq,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,sN.jsx)("span",{children:t})]}):(0,sN.jsx)(sT.IconButton,{align:"left","aria-label":n,className:sE()(mG,{[mJ]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:o,size:"md",children:(0,sN.jsx)("div",{className:mV,children:(0,sN.jsx)(mq,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var mX=n(3173),mQ=n(185),mY=n(4564);function mZ({contextKey:e}){let{prompt:t}=mB();return(0,iF.useEffect)(()=>{RegExp(`/${(0,mY.A)(e)}(/|$)`).test(window.location.pathname)||console.warn(`WorkspaceContainer has provided an invalid context key: "${e}". The context key must be part of the URL path, with no initial or trailing slash.`)},[]),(0,iF.useEffect)(()=>(mT(e),()=>{mT(null)}),[e]),(0,iF.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:n,newUrl:o}}=t,r=RegExp(`/${(0,mY.A)(e)}(/|$)`),i=new URL(o),a=r.test(i.pathname),s=m$.getState().openWorkspaces.every(({name:e})=>mx(e));a||(s?mH():(n?.(),mL(()=>{tg({to:o})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,sN.jsxs)(sT.ComposedModal,{open:!0,onClose:mI,children:[(0,sN.jsx)(sT.ModalHeader,{title:t.title}),(0,sN.jsx)(sT.ModalBody,{children:(0,sN.jsx)("p",{className:"-esm-devtools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,sN.jsxs)(sT.ModalFooter,{children:[(0,sN.jsx)(sT.Button,{kind:"secondary",onClick:mI,children:t.cancelText??tY("cancel")}),(0,sN.jsx)(sT.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tY("confirm")})]})]}):null}var m0=n(1820);function m1({workspace:e,additionalPropsFromPage:t}){let[n,o]=(0,iF.useState)(),r=function(e){let[t,n]=(0,iF.useState)({}),[o,r]=(0,iF.useState)(e);return(0,iF.useEffect)(()=>{o!==e&&r(e)},[e]),(0,iF.useEffect)(()=>{let e,t=mz(o);return t&&(n(t.getState()),e=t.subscribe(n)),()=>{t&&e?.()}},[o]),t}(e.currentWorkspaceGroup);(0,iF.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&o(e)}),()=>{t=!1}},[e]);let i=(0,iF.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return n?(0,sN.jsx)(m0.A,{config:n,mountParcel:iB,...i},e.name):(0,sN.jsx)(sT.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tY("loading","Loading")} ...`})}function m2({isWithinWorkspace:e,name:t,actionMenuProps:n={}}){let[o,r]=(0,iF.useState)(!1),i=(0,iF.useRef)(window.innerHeight),{featureName:a}=(0,iF.useContext)(iz),s=aZ();(0,iF.useEffect)(()=>{let e=()=>{r(!a0(s)&&i.current>window.innerHeight),i.current!=window.innerHeight&&(i.current=window.innerHeight)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[i]);let l=`action-menu-${t&&"default"!=t?t:a}-items-slot`;return(0,sN.jsx)("aside",{className:sE()("-esm-devtools__action-menu-module__sideRail___GJUJ7",{"-esm-devtools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-devtools__action-menu-module__sideRailHidden___bQ0UM":o,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!o}),children:(0,sN.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,sN.jsx)(i3,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:n})})})}function m6({contextKey:e,overlay:t,showSiderailAndBottomNav:n,additionalWorkspaceProps:o,actionMenuProps:r}){let i=aZ(),{workspaces:a,workspaceWindowState:s,workspaceGroup:l}=mB(),c=l?.name,u=a[0],d="hidden"===s||null==u,m=u?.width??(t?"wider":"narrow"),f=(0,iF.useMemo)(()=>n||c&&!d,[c,d,n]);return aj(!d&&!a0(i)),(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsxs)("div",{className:n?"-esm-devtools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-devtools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,sN.jsx)("aside",{className:sE()(t?"-esm-devtools__workspace-module__workspaceOverlayOuterContainer___7nS96":"-esm-devtools__workspace-module__workspaceWindowSpacer___l+rgk",{"-esm-devtools__workspace-module__hiddenRelative___AJHmQ":d,"-esm-devtools__workspace-module__narrowWorkspace___Vb16L":"narrow"===m,"-esm-devtools__workspace-module__widerWorkspace___Bn7v8":"wider"===m,"-esm-devtools__workspace-module__extraWideWorkspace___vN8kI":"extra-wide"===m}),children:(0,sN.jsx)("div",{className:sE()("-esm-devtools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-devtools__workspace-module__maximizedWindow___Sew5F":"maximized"===s,"-esm-devtools__workspace-module__hiddenFixed___BxutH":d}),children:a.map((e,t)=>(0,sN.jsx)("div",{className:sE()("-esm-devtools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-devtools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,sN.jsx)(iF.Suspense,{fallback:null,children:(0,sN.jsx)(i9.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,sN.jsx)(m5,{workspaceInstance:e,additionalWorkspaceProps:o})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,sN.jsx)(mZ,{contextKey:e})]}),f&&(0,sN.jsx)(m2,{name:c,isWithinWorkspace:!n,actionMenuProps:r})]})}function m5({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:n}=(0,i9.useTranslation)(),o=aZ(),{workspaceWindowState:r,workspaceGroup:i}=mB(),a=i?.name,s="maximized"===r;(0,iF.useEffect)(()=>{let t=n(e.title);t!==e.title&&e.setTitle(t)},[e.title,n,e.setTitle]);let{featureName:l}=(0,iF.useContext)(iz),c=(0,iF.useCallback)(()=>{mW(s?"normal":"maximized")},[s]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:f}=(0,iF.useMemo)(()=>e??{},[e]),p=(0,iF.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsxs)(sT.Header,{"aria-label":tY("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!a0(o)&&!u&&(0,sN.jsx)(sT.HeaderMenuButton,{"aria-label":tY("close","Close"),renderMenuIcon:(0,sN.jsx)(sX,{}),onClick:()=>f()}),(0,sN.jsx)(sT.HeaderName,{prefix:"",children:e.titleNode??n(e.title)}),(0,sN.jsx)("div",{className:"-esm-devtools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,sN.jsxs)(sT.HeaderGlobalBar,{className:"-esm-devtools__workspace-module__headerButtons___ppNsY",children:[(0,sN.jsx)(i3,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:p}),(0,sN.jsx)(i3,{name:`workspace-header-type-${e.type}-slot`,state:p}),(0,sN.jsx)(i3,{name:`workspace-header-${l}-slot`,state:p}),a0(o)&&(0,sN.jsxs)(sN.Fragment,{children:[(d||s)&&(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":s?tY("minimize","Minimize"):tY("maximize","Maximize"),onClick:c,children:s?(0,sN.jsx)(mX.Xj,{}):(0,sN.jsx)(mX.hz,{})}),u&&!a?(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":tY("hide","Hide"),onClick:()=>mW("hidden"),children:(0,sN.jsx)(sQ,{})}):(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,sN.jsx)(li,{})})]}),"tablet"===o&&u&&(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,sN.jsx)(mQ.d3,{})})]})]}),(0,sN.jsx)("div",{className:sE()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,sN.jsx)(m1,{workspace:e,additionalPropsFromPage:t},e.name)})]})}async function m8(e,t){let{openedGroup:n}=iE.getState();if(n){if(n.groupName===e&&m7(n.props,t))return!0;else if(!await m9({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return iE.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function m3(e){let{openedGroup:t,openedWindows:n}=iE.getState();if(t){if(n.length>0&&!(e||await m9({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;iE.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function m4(e,t=null,n=null,o=null){let r=iE.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=iA(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:a}=r,{name:s}=i,l=iI(s);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=iO(e);if(a&&(a.groupName!==l.name||!m7(a.props,o)))return!!await m9({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:s,openedWorkspaces:[fr(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},a=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(m7(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&m7(d.props,t)?((a||c!==r.openedWindows.length-1)&&iE.setState(fe.restoreWindow(r,s)),!0):!!await m9({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:s,workspaceName:e})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[fr(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await m9({reason:"CLOSE_WINDOW",explicit:!1,windowName:s})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[fr(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(iE.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:s,openedWorkspaces:[fr(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await m9({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:s,openedWorkspaces:[fr(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function m7(e,t){return null==e||null==t||E(e,t)}function m9(e){function t(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}let{openedWindows:n,workspaceTitleByWorkspaceName:o}=iE.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=n.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o);break}case"CLOSE_WORKSPACE":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=n.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=u5("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>o[e.workspaceName])})})}let fe={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=iO(t);if(n<0)return e;let o={...e.openedWindows[n]},r=o.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];o.openedWorkspaces=o.openedWorkspaces.slice(0,r);let a=e.isMostRecentlyOpenedWindowHidden;if(0===o.openedWorkspaces.length){let t=n===e.openedWindows.length-1;i.splice(n,1),t&&i.length>0&&(a=!1)}else i[n]=o;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:a}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);let a=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==a)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let{openedWorkspaces:s}=e.openedWindows[a],l=s.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=s.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==a?{...e,openedWorkspaces:[...c,fr(n,o)]}:e)}},setHasUnsavedChanges(e,t,n){let o=iO(t);if(o<0)return e;let r={...e.openedWindows[o]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:n};let a=[...e.openedWindows];return a[o]=r,{...e,openedWindows:a}},setWorkspaceTitle(e,t,n){let o={...e.workspaceTitleByWorkspaceName};return null===n?delete o[t]:o[t]=n,{...e,workspaceTitleByWorkspaceName:o}}};function ft(){return iQ(iE,fe)}let fn=()=>(0,iF.useContext)(i7.i),fo=()=>Object.keys(iE.getState().registeredWorkspacesByName);function fr(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,og.A)()}}let fi={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"},fa=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let o=aZ(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:a,openedWindows:s,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:f,isMostRecentlyOpenedWindowHidden:p}=ft(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:w,showActionMenu:_}=fn(),y=iO(g),v=s[y],b=v?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,iF.useEffect)(()=>{b?.hasUnsavedChanges!=n&&a(g,n??!1)},[b?.hasUnsavedChanges,n,g,a]),(0,iF.useEffect)(()=>{m[g]!==e&&f(g,e)},[m,g,e,f]),y<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:A}=v,I=S?.width??"narrow",O=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),P=y<s.length-1||p;return(0,sN.jsxs)("div",{className:sE()(fi.workspaceOuterContainer,{[fi.narrowWorkspace]:"narrow"===I,[fi.widerWorkspace]:"wider"===I,[fi.extraWideWorkspace]:"extra-wide"===I,[fi.isActionMenuOpened]:O}),children:[(0,sN.jsx)("div",{className:sE()(fi.workspaceSpacer,{[fi.hidden]:P})}),(0,sN.jsx)("div",{className:sE()(fi.workspaceMiddleContainer,{[fi.maximized]:A,[fi.hidden]:P,[fi.isRootWorkspace]:h,[fi.showActionMenu]:_}),children:(0,sN.jsxs)("div",{className:sE()(fi.workspaceInnerContainer,{[fi.maximized]:A,[fi.hidden]:P,[fi.isRootWorkspace]:h}),children:[(0,sN.jsxs)(sT.Header,{"aria-label":tY("workspaceHeader"),className:fi.header,children:[(0,sN.jsx)(sT.HeaderName,{prefix:"",children:e}),(0,sN.jsx)("div",{className:fi.overlayHeaderSpacer}),(0,sN.jsx)(sT.HeaderGlobalBar,{className:fi.headerButtons,children:a0(o)?(0,sN.jsxs)(sN.Fragment,{children:[(N||A)&&(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":A?tY("minimize"):tY("maximize"),onClick:()=>r(k,!A),children:A?(0,sN.jsx)(mX.Xj,{}):(0,sN.jsx)(mX.hz,{})}),E&&(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,sN.jsx)(sQ,{})}),!C&&(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>w({closeWindow:!0}),children:(0,sN.jsx)(li,{})})]}):(0,sN.jsxs)(sN.Fragment,{children:[E&&(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,sN.jsx)(mQ.d3,{})}),(0,sN.jsx)(sT.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>{C?m3():w({closeWindow:!0})},children:(0,sN.jsx)(li,{})})]})})]}),(0,sN.jsx)("div",{className:sE()(fi.workspaceContent),children:t})]})})]})},fs="-esm-devtools__action-menu-button2-module__container___jc6--",fl="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",fc="-esm-devtools__action-menu-button2-module__active___fbyFm",fu="-esm-devtools__action-menu-button2-module__focused___+aVpz";function fd({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,sN.jsxs)(sN.Fragment,{children:[e({size:16}),t?(0,sN.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sN.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let fm=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=aZ(),{openedWindows:a,restoreWindow:s,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=ft(),{extension:u}=(0,iF.useContext)(iz),d=a.findIndex(e=>e.windowName===u?.extensionId),m=a[d],f=null!=m,p=f&&(d<a.length-1||c),g=f&&!p,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(f)p?s(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;m4(e,t,n)}};return"tablet"===i||"phone"===i?(0,sN.jsxs)(sT.Button,{className:sE()(fs,{[fc]:f&&!g,[fu]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,sN.jsx)("span",{className:fl,children:(0,sN.jsx)(fd,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,sN.jsx)("span",{children:t})]}):(0,sN.jsx)(sT.IconButton,{align:"left","aria-label":t,className:sE()(fs,{[fc]:f&&!g,[fu]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,sN.jsx)("div",{className:fl,children:(0,sN.jsx)(fd,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function ff({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,sN.jsx)(sT.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?lr:lt,children:e?tY("showLess","Show less"):tY("showMore","Show more")})}let fp={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-"},fg=({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,ae.Ay)(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,iF.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsxs)("p",{className:fp.heading,children:[tY("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,sN.jsx)(sT.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sN.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>cJ(e?.startDate).getTime()-cJ(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sN.jsx)("li",{children:(0,sN.jsx)(iG,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sN.jsx)("li",{children:"--"})})(),t.length>3&&(0,sN.jsx)("li",{className:fp.link,children:(0,sN.jsx)(iG,{to:`${window.spaBase}/home/patient-lists`,children:tY("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},fh=({patientId:e})=>{let{patient:t,isLoading:n}=se(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,sN.jsx)(sT.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsx)("p",{className:fp.heading,children:tY("address","Address")}),(0,sN.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,sN.jsxs)("li",{children:[tY(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,sN.jsxs)("li",{children:[tY(e,e),": ",t]},`address-${e}`)):(0,sN.jsx)("li",{children:"--"})})]})},fw=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=aE({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=(0,aP.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)))`,tA);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,iF.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,iF.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tY(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsx)("p",{className:fp.heading,children:tY("contactDetails","Contact Details")}),t?(0,sN.jsx)(sT.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sN.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,sN.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,sN.jsx)("li",{children:"--"})})]})},f_=({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,ae.Ay)(e?t:null,tA),a=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?a:null,error:o,isLoading:r,isValidating:i}}(e);return(0,sN.jsxs)(sN.Fragment,{children:[(0,sN.jsx)("p",{className:fp.heading,children:tY("relationships","Relationships")}),n?(0,sN.jsx)(sT.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sN.jsx)("ul",{children:t&&t.length>0?(0,sN.jsx)(sN.Fragment,{children:t.map(e=>(0,sN.jsxs)("li",{className:fp.relationship,children:[(0,sN.jsx)("div",{children:(0,sN.jsx)(iG,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sN.jsx)("div",{children:e.relationshipType}),(0,sN.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tY("yearAbbreviation","yr"):tY("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sN.jsx)("li",{children:"--"})})]})};function fy({patientId:e,deceased:t}){return(0,sN.jsxs)("div",{className:sE()(fp.contactDetails,{[fp.deceased]:t}),children:[(0,sN.jsxs)("div",{className:fp.row,children:[(0,sN.jsx)("div",{className:fp.col,children:(0,sN.jsx)(fh,{patientId:e})}),(0,sN.jsx)("div",{className:fp.col,children:(0,sN.jsx)(fw,{patientUuid:e})})]}),(0,sN.jsxs)("div",{className:fp.row,children:[(0,sN.jsx)("div",{className:fp.col,children:(0,sN.jsx)(f_,{patientId:e})}),(0,sN.jsx)("div",{className:fp.col,children:(0,sN.jsx)(fg,{patientUuid:e})})]})]})}function fv(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 fb="-esm-devtools__action-menu2-module__container___6Gke0";function fx({workspaceGroup:e,groupProps:t}){let n=aZ(),{persistence:o}=e;return(0,sN.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,sN.jsxs)("div",{className:fb,children:["closable"==o&&a0(n)&&(0,sN.jsx)(sT.IconButton,{align:"left",onClick:()=>m3(),label:tY("close"),kind:"ghost",children:(0,sN.jsx)(li,{})}),(0,sN.jsx)(iz.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sN.jsx)(i3,{className:fb,name:e.name,state:{groupProps:t}})})]})})}function fk(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}}let fS=({lifeCycle:e,openedWorkspace:t,openedWindow:n,isRootWorkspace:o,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:a,closeWorkspace:s,openChildWorkspace:l}=ft(),c=(0,iF.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:r=!1}=e;return o?!!(r||await m9({reason:"CLOSE_WINDOW",explicit:!0,windowName:n.windowName}))&&(s(n.openedWorkspaces[0].workspaceName),!0):!!(r||await m9({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:t.workspaceName}))&&(s(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let r=t.workspaceName,{openedWorkspaces:i}=n,a=i.findIndex(e=>e.workspaceName===r);-1===a||a!==i.length-1&&i.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await m9({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:i[a+1].workspaceName})||l(r,e,o||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:a&&a.props?a.props:null,isRootWorkspace:o,isLeafWorkspace:r,windowName:n.windowName,showActionMenu:i},[t,s,a,n]);if(!e){let{registeredWorkspacesByName:e}=iE.getState(),n=e[t.workspaceName],r=n&&n.window?n.window:void 0,{registeredWindowsByName:s}=iE.getState(),l=r?s[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(s).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,sN.jsxs)("div",{className:sE()(fi.workspaceOuterContainer,{[fi.narrowWorkspace]:"narrow"===c,[fi.widerWorkspace]:"wider"===c,[fi.extraWideWorkspace]:"extra-wide"===c,[fi.isActionMenuOpened]:u}),children:[(0,sN.jsx)("div",{className:fi.workspaceSpacer}),(0,sN.jsx)("div",{className:sE()(fi.workspaceMiddleContainer,{[fi.isRootWorkspace]:o,[fi.showActionMenu]:i}),children:(0,sN.jsx)("div",{className:sE()(fi.workspaceInnerContainer,{[fi.isRootWorkspace]:o}),children:(0,sN.jsx)(sT.InlineLoading,{className:fi.loader,description:`${tY("loading")} ...`})})})]})}return(0,sN.jsx)(m0.A,{config:e,mountParcel:iB,...c},t.workspaceName)},fj=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:n}=e,[o,r]=(0,iF.useState)({}),{registeredWorkspacesByName:i}=iE.getState();return(0,iF.useEffect)(()=>{let e=!1;return Promise.all(n.map(async e=>{let{moduleName:t,component:n}=i[e.workspaceName];return[e.uuid,await sg(t,n)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[n]),(0,sN.jsx)(sN.Fragment,{children:n.map((r,i)=>(0,sN.jsx)(fS,{openedWorkspace:r,openedWindow:e,lifeCycle:o[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===n.length-1,showActionMenu:t},r.uuid))})};function fN(e){e&&(0,i4.createRoot)(e).render((0,sN.jsx)(fC,{}))}function fC(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=ft();if((0,iF.useEffect)(()=>oL("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:a}=t;if(!e)return;if(o)return void r(m3().then(e=>!e));let s=n[e.groupName],l=s?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=fk(t),i=fk(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let a=o.exec(r.spaRelative),s=o.exec(i.spaRelative);if(a&&s||(a=o.exec(r.full),s=o.exec(i.full)),!a||!s)return!0;if(a.length>1)return!a.slice(1).every((e,t)=>e===s[t+1]);return!1}catch{return!0}}(l,i,a)&&r(m3().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:a}=r,s=Object.values(o).filter(e=>e.group===a&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sN.jsxs)("div",{className:sE()("-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,sN.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,sN.jsx)(fj,{openedWindow:e,showActionMenu:s},e.windowName))}),s&&(0,sN.jsx)(fx,{workspaceGroup:r,groupProps:e.props})]})}function fE(e,t,n){if(null==e)return n;let o=cR(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=cR(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 a=(i=i.slice(0,o)).lastIndexOf("-");-1!==a&&i.length-a==2&&(i=i.slice(0,a))}return n}function fA(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function fI(e){return!!e&&e.constructor===Object}var fO=n(143);function fP(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function fT(e,t){let n=function(e){let t=e.indexOf("-");if(t>=0){let n=fP(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return fP(e)}(t);return fO.satisfies(n,e,{includePrerelease:!0})}async function fR(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 a=0;do try{return await f$(r(a)),await e()}catch(e){i?.(e,a),n=e}while(o(a++));throw n}async function f$(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}}}]);
32
+ To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{online:t,offline:n,featureFlag:o}){return window.offlineEnabled?r=>!!(navigator.onLine&&(t??!0)||!navigator.onLine&&n)&&(!o||!!rS(o))&&e(r):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,tm.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tm.AG)(e,()=>sh(t.appName,t.component),o)}(o,t)}}let sk={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 sS(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sk.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sk.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sk.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sk.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sk.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sk.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sk.SMALL_DESKTOP_MAX)}let sj=!1;function sN(){sj||(window.addEventListener("resize",sS),sS(),sj=!0)}var sC=n(6870),sE=n(5530),sA=n.n(sE);function sI({title:e,children:t}){let n="tablet"===a0();return(0,sC.jsxs)("div",{className:sA()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":n,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,sC.jsx)("h4",{children:e}),t]})}let sO=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sP={primaryColor:{_type:Q.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[to.oneOf(sO)]},secondaryColor:{_type:Q.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[to.oneOf(sO)]}},sT={"Brand color #1":{_default:"#005d5d",_type:Q.String},"Brand color #2":{_default:"#004144",_type:Q.String},"Brand color #3":{_default:"#007d79",_type:Q.String},excludePatientIdentifierCodeTypes:{uuids:{_type:Q.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:Q.UUID}}},implementationName:{_type:Q.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:Q.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:Q.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:[to.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:Q.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:Q.String}},diagnosisTags:sP};var s$=n(8326);let sR={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sM=e=>(0,sC.jsx)(s$.TableBatchActions,{translateWithId:(e,t)=>{let n=sR[e];return n?tY(n,e,t):e},...e}),sW="-esm-devtools__custom-overflow-menu-module__container___8PykS",sD="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sL="-esm-devtools__custom-overflow-menu-module__show___BserJ",sB="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sU=(0,iH.createContext)(null);function sF(){let e=(0,iH.useContext)(sU);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sH({menuTitle:e,children:t}){let[n,o]=iz().useState(!1),r=a8(()=>o(!1),n),i="tablet"===a0(),a=(0,iH.useCallback)(()=>o(e=>!e),[]),s=(0,iH.useRef)(null),l=(0,iH.useRef)(null),c=(0,iH.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,iH.useCallback)(()=>{o(!1),s.current?.focus()},[]),f=(0,iH.useMemo)(()=>({closeMenu:m}),[m]),p=(0,iH.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=iH.Children.toArray(t);(0,iH.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,iH.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,a=i<0?n.length-1:i>=n.length?0:i;n[a]?.focus()},[]),w=g.map((e,t)=>(0,iH.isValidElement)(e)?(0,iH.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sC.jsxs)("div",{"data-overflow-menu":!0,className:sA()("cds--overflow-menu",sW),ref:r,children:[(0,sC.jsx)("button",{className:sA()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sB),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:a,onKeyDown:p,ref:s,children:e}),(0,sC.jsxs)("div",{className:sA()("cds--overflow-menu-options","cds--overflow-menu--flip",sD,{[sL]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:p,ref:l,role:"menu",tabIndex:-1,children:[(0,sC.jsx)("ul",{className:sA()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sC.jsx)(sU.Provider,{value:f,children:w})}),(0,sC.jsx)("span",{})]})]})}function sz(e){let t=(0,iH.useContext)(sU);return(0,sC.jsx)(s$.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sG=n(2277),sV=n(4194);let sJ=["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,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),sK=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-add",iconProps:e})})),sX=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),sQ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),sY=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),sZ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s0=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s1=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s2=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),s6=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),s5=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),s8=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),s3=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),s4=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),s7=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),s9=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),le=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),lt=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),ln=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),lo=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),lr=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),li=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),la=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-close",iconProps:e})})),ls=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),ll=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),lc=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-document",iconProps:e})})),lu=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),ld=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-download",iconProps:e})})),lm=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),lf=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),lp=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),lg=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-events",iconProps:e})})),lh=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),lw=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),l_=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),ly=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),lv=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),lb=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-group",iconProps:e})})),lx=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),lk=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),lS=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),lj=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-information",iconProps:e})})),lN=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),lC=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),lE=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),lA=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),lI=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),lO=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-location",iconProps:e})})),lP=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),lT=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),l$=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),lR=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),lM=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),lW=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),lD=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-money",iconProps:e})})),lL=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),lB=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),lU=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lF=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lH=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-password",iconProps:e})})),lz=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),lG=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),lV=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),lJ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),lq=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),lK=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),lX=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),lQ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-report",iconProps:e})})),lY=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),lZ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-save",iconProps:e})})),l0=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-search",iconProps:e})})),l1=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),l2=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),l6=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),l5=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),l8=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),l3=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),l4=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),l7=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-table",iconProps:e})})),l9=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-time",iconProps:e})})),ce=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),ct=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),cn=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),co=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),cr=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),ci=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),ca=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),cs=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),cl=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-user",iconProps:e})})),cc=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),cu=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-view",iconProps:e})})),cd=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(c_,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),cm=cd,cf=lu,cp=lI,cg=lS,ch=l5,cw=(0,iH.memo)((0,iH.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,iH.useRef)(e?document.getElementById(e):void 0);return(0,iH.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,sC.jsx)(ay,{value:r.current,fallback:t,children:(0,sC.jsx)(c_,{ref:o,icon:e,iconProps:n})})})),c_=(0,iH.memo)((0,iH.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 a=(0,iH.useRef)(null);return(0,iH.useImperativeHandle)(n,()=>a.current),(0,iH.useEffect)(()=>{a.current&&"currentColor"!==r&&a.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sC.jsx)("svg",{ref:a,className:sA()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,sC.jsx)("use",{href:`#${e}`})})})),cy=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,ae.useTranslation)(),i=(0,sG.zy)(),a=(0,iH.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,sC.jsx)("div",{children:(0,sC.jsx)(iV,{className:sA()("cds--side-nav__link",{"active-left-nav-link":a}),to:`${n}/${encodeURIComponent(e)}`,children:(0,sC.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,sC.jsx)(cw,{icon:o,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,sC.jsx)("span",{children:r(t)})]})})},e)};function cv(e){return function({basePath:t}){return(0,sC.jsx)(sV.Kd,{children:(0,sC.jsx)(cy,{basePath:t,...e})})}}var cb=n(7715),cx=n(7532),ck=n(3692),cS=n(7615),cj=n(700),cN=n(6816),cC=n(1168);function cE(e){return iz().createElement(cC.C,e)}var cA=n(3010),cI=n(6513),cO=n(6190);function cP(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 cA.ng||e instanceof cA._l||e instanceof cA.Ip)return t?(0,cI.yP)(e,t):e;{let n=ss()(e).toDate(),o=new cA.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,cI.yP)(o,t):o}}function cT(e){if(e)return e.toDate((0,cO.Xj)())}var c$=n(9002);function cR(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function cM(e){let t=e??"",n=cR(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function cW(){let e=window.i18next.language,t=cR(e)??e;return"ht"===t&&(t="fr-HT"),t}var cD=n(7883),cL=n(424),cB=n(1492),cU=n(8271);function cF(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}sa.extend(sl),sa.extend(cB),sa.extend(cL);let cH="YYYY-MM-DDTHH:mm:ss.SSSZZ";function cz(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sa(e,cH).isValid()}function cG(e){return sa(e).isToday()}function cV(e){return cz(e)?sa(e,cH).toDate():null}function cJ(e,t=!1){let n=sa(e);return t&&(n=n.utc()),n.format(cH)}function cq(e){return sa(e).toDate()}var cK=new WeakMap;let cX=new class{register(e,t){cF(this,cK).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(cF(this,cK).has(t))return cF(this,cK).get(t)}if(e.language&&cF(this,cK).has(e.language))return cF(this,cK).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return cF(this,cK).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,cK,{writable:!0,value:new Map})}};function cQ(e,t){cX.register(e,t)}function cY(e){let t=e??cW();return cX.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let cZ={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function c0(e,t={}){let n=cW(),o=(0,cD.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,cU.A)(o.day)&&(0,cU.A)(o.month)&&(o=Object.assign({},(0,K.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,K.A)(o,"day"),{date:o.day}));let r=sa().set(o).toDate();return(0,cU.A)(o.year)&&(t.year=!1),(0,cU.A)(o.month)&&(t.month=!1),(0,cU.A)(o.date)&&(t.day=!1),c1(r,t)}function c1(e,t){let n,o=t?.locale??cW(),r=new Intl.Locale(o),{calendar:i,mode:a,time:s,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...cZ,...{noToday:"am"===r.language},...t},f={calendar:i??cY(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},p=sa(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"==a&&u&&l&&(t=t.map(c2("-"))),"wide"==a&&(t=t.map(c2(" — "))),"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===s||p&&"for today"===s)&&(n+=`, ${c6(e)}`),n}let c2=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function c6(e){return e.toLocaleTimeString(cW(),{hour:"2-digit",minute:"2-digit"})}function c5(e,t){return c1(e,{...t,time:!0})}function c8(e,t){let n=cY("string"==typeof t?new Intl.Locale(t):t);return n?(0,cI.yP)(e,(0,c$.d)(n)):e}function c3(e,t){return new Intl.DurationFormat(cW(),t).format(e)}function c4(e,t){if(null==e)return null;if("string"==typeof e){let n=cW(),o=(0,cD.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,K.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,K.A)(o,"day"),...{date:o.day}}),sa(t).set(o))}return sa(e)}let c7=["years","months","days","hours","minutes","seconds"],c9={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},ue={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function ut(e,t=sa(),n){let o,r=sa(t),i=c4(e,r);if(null==i)return null;if("string"==typeof n){let e=c9[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:a,largestUnit:s,smallestUnit:l}=n??{};if(void 0!==s||void 0!==l){let e,t=l?c9[l]??l:void 0;return e="auto"===s||void 0===s?function(e,t,n){let o=c7.indexOf(n);for(let r=0;r<c7.length;r++){let i=c7[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):c9[s]??s,function(e,t,n,o){let r=c7.indexOf(n),i=c7.indexOf(o),a=c7.slice(r,i+1),s={},l=e;for(let e of a){let n=t.diff(l,e);s[e]=n,l=l.add(n,e)}return s}(i,r,e,t??e)}let c=(o=function(e){let t={...ue};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[c9[n]??n]=o);return t}(a),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 un={style:"short",localeMatcher:"lookup"};function uo(e,t=sa(),n){let o=ut(e,t,n);return null==o?null:c3(o,"object"==typeof n&&n.formatOptions?{...un,...n.formatOptions}:un)}let ur=(0,iH.createContext)(null);function ui(){let e=aA({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,iH.useMemo)(()=>{let t=cW();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,iH.useMemo)(()=>{let e=cY(t);return void 0!==e?(0,c$.d)(e):void 0},[t]),o=(0,iH.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,iH.useMemo)(()=>n?(0,cI.yP)((0,cO.Ec)((0,cO.Xj)()),n):(0,cO.Ec)((0,cO.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let ua=new cA.ng(1793,1,1);var us=n(5830),ul=n(6156),uc=n(4745),uu=n(1202);function ud(e,t){return Number.parseInt(c1(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let um=(0,iH.forwardRef)(function(e,t){let{className:n}=e,o=(0,iH.useContext)(us.f2),r=(0,iH.useContext)(us._I),i=o??r,a=(0,iH.useContext)(ur),s=(0,cO.Xj)(),l=c1(i.visibleRange.start.toDate(s),{calendar:a.calendar,locale:a.baseName,day:!1,year:!1,noToday:!0}),c=ud(i.visibleRange.start.toDate(s),a),u=i.maxValue?ud(i.maxValue.toDate(s),a):void 0,d=i.minValue?ud(i.minValue.toDate(s),a):void 0,m=(0,iH.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sC.jsxs)("span",{ref:t,className:n,children:[(0,sC.jsx)("span",{children:l}),(0,sC.jsxs)(uc.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sC.jsx)(uu.p,{}),(0,sC.jsxs)(cS.Y,{children:[(0,sC.jsx)(cj.$,{slot:"increment",children:(0,sC.jsx)(s3,{size:8})}),(0,sC.jsx)(cj.$,{slot:"decrement",children:(0,sC.jsx)(s6,{size:8})})]})]})]})});var uf=n(9588);let up="-esm-devtools__datepicker-module__inputGroup___+4zks",ug="-esm-devtools__datepicker-module__inputSegment___wiExn",uh="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",uw="-esm-devtools__datepicker-module__invalidText___SxtTL",u_="-esm-devtools__datepicker-module__flatButton___UU1Qp",uy="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",uv="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",ub="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function ux({children:e}){let t=(0,iH.useContext)(cx.Pg),n=(0,iH.useContext)(cx.a8),o=t??n,r=a8(()=>o?.close());return(0,sC.jsx)(uf.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let uk=(0,iH.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,a=i?us._e:us.Vv;return(0,sC.jsx)(ul.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sC.jsx)(ux,{children:(0,sC.jsxs)(a,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,sC.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,sC.jsx)(cj.$,{className:sA()(u_,uy),slot:"previous",children:(0,sC.jsx)(lo,{size:16})}),(0,sC.jsx)(um,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,sC.jsx)(cj.$,{className:sA()(u_,uy),slot:"next",children:(0,sC.jsx)(lr,{size:16})})]}),(0,sC.jsx)(us.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sC.jsx)(us.Zr,{className:sA()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var uS=n(8017),uj=n(9774),uN=n(7956);let uC=(0,iH.forwardRef)(function(e,t){let n=(0,iH.useContext)(cx.Pg),[o,r]=(0,cb.JT)({slot:e.slot},t,uj.cQ),{locale:i}=(0,cC.Y)(),a=(0,uN.F)({...o,locale:i,createCalendar:c$.d}),s=(0,iH.useRef)(null),{fieldProps:l,inputProps:c}=(0,uS.cJ)({...o,inputRef:s},a,r),u=(0,iH.useCallback)(()=>{a.isDisabled||n.toggle()},[]);return(0,sC.jsxs)(cb.Kq,{values:[[uj.$,a],[uu.E,{...c,ref:s}],[cS.t,{...l,ref:r,isInvalid:a.isInvalid}]],children:[(0,sC.jsx)(cS.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:a.isDisabled,isInvalid:a.isInvalid,onClick:u,children:a.segments.map((t,n)=>(0,iH.cloneElement)(e.children(t),{key:n}))}),(0,sC.jsx)(uu.p,{})]})}),uE=(0,iH.forwardRef)(function(e,t){let n=(0,iH.useContext)(cx.Pg),o=(0,iH.useContext)(cx.a8);return(n??o).isInvalid?(0,sC.jsx)(cd,{ref:t,size:16,...e}):(0,sC.jsx)(s2,{ref:t,size:16,...e})});var uA=n(64),uI=n(5503),uO=n(1697),uP=n(7866),uT=n(8035),u$=n(2231);let uR=(0,iH.forwardRef)(function({segment:e,...t},n){let o=(0,iH.useContext)(uj.$),r=(0,uA.U)(n),{segmentProps:i}=(0,uI.V)(e,o,r),{focusProps:a,isFocused:s,isFocusVisible:l}=(0,uO.o)(),{hoverProps:c,isHovered:u}=(0,uP.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:a,values:s}=e;return(0,iH.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...s,defaultClassName:r}):t,l="function"==typeof n?n({...s,defaultStyle:a||{}}):n,c="function"==typeof o?o({...s,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||a?{...a,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,a,s])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:s,isFocusVisible:l},defaultChildren:e.text}),m=(0,iH.useCallback)(e=>{e.stopPropagation()},[]);return(0,sC.jsx)("span",{...(0,uT.v)((0,u$.$)(t),i,a,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":s||void 0,"data-focus-visible":l||void 0,onClick:m})}),uM={short:!1,size:"md"},uW=(0,iH.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:a,isInvalid:s,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:f,onChangeRaw:p,short:g,size:h,value:w,..._}={...uM,...e},{calendar:y,intlLocale:v,today_:b}=ui(),x=(0,iH.useId)(),k=!!(c??l),S=(0,iH.useMemo)(()=>cP(o,y),[o,y]),j=(0,iH.useMemo)(()=>cP(w,y,!0),[w,y]),N=(0,iH.useMemo)(()=>cP(d,y),[d,y]),C=(0,iH.useMemo)(()=>cP(m??ua,y),[m,y]),E=(0,iH.useMemo)(()=>i||s,[i,s]),A=(0,iH.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?.(cT(e)))),[p,f]);return(0,sC.jsx)(cE,{locale:v.toString(),children:(0,sC.jsx)("div",{className:sA()("cds--form-item",n),children:(0,sC.jsx)(cb.Kq,{values:[[ur,v]],children:(0,sC.jsxs)(cx.lr,{className:sA()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:S,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:j,shouldForceLeadingZeros:"en"===v.language||void 0,..._,onChange:A,children:[(0,sC.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,sC.jsx)(ck.J,{className:sA()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sC.jsxs)(cS.Y,{className:up,children:[(0,sC.jsx)(uC,{id:k?x:void 0,ref:t,className:sA()("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,sC.jsx)(uR,{className:ug,segment:e}):(0,sC.jsx)(iz().Fragment,{})}),(0,sC.jsx)(cj.$,{className:sA()(u_,{[uv]:"sm"===h,[uy]:"md"===h||!h||0===h.length,[ub]:"lg"===h}),children:(0,sC.jsx)(uE,{})})]}),(0,sC.jsx)(cN.b,{className:uw,children:a})]}),(0,sC.jsx)(uk,{variant:"single",today_:b})]})})})})}),uD=(0,iH.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:a,labelText:s,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:f="md",value:p,...g},h){let{calendar:w,intlLocale:_,today_:y}=ui(),v=(0,iH.useId)(),b=!!(s??a),x=(0,iH.useMemo)(()=>{if(p)return{start:cP(p[0],w,!1),end:cP(p[1],w,!1)}},[p,w]),k=(0,iH.useMemo)(()=>{if(t)return{start:cP(t[0],w,!1),end:cP(t[1],w,!1)}},[t,w]),S=(0,iH.useMemo)(()=>cP(u??ua,w,!0),[u,w]),j=(0,iH.useMemo)(()=>cP(c,w,!0),[c,w]),N=(0,iH.useMemo)(()=>n||i,[n,i]),C=(0,iH.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?.([cT(e.start),cT(e.end)]))),[m,d]);return(0,sC.jsx)(cE,{locale:_.toString(),children:(0,sC.jsx)("div",{className:sA()("cds--form-item",e),children:(0,sC.jsx)(cb.Kq,{values:[[ur,_]],children:(0,sC.jsx)(cx.Ur,{id:b?v:void 0,className:sA()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,sC.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,sC.jsx)(ck.J,{className:sA()("cds--label",{"cds--label--disabled":r}),htmlFor:v,children:s??a}),(0,sC.jsxs)(cS.Y,{className:up,children:[(0,sC.jsxs)("div",{className:sA()("-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,sC.jsx)(uj.J3,{className:sA()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",uh),slot:"start",children:e=>(0,sC.jsx)(uR,{className:ug,segment:e})}),(0,sC.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,sC.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sC.jsx)(uj.J3,{className:sA()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",uh),slot:"end",children:e=>(0,sC.jsx)(uR,{className:ug,segment:e})})]}),(0,sC.jsx)(cj.$,{className:sA()(u_,{[uv]:"sm"===f,[uy]:"md"===f||!f||0===f.length,[ub]:"lg"===f}),children:(0,sC.jsx)(uE,{})})]}),(0,sC.jsx)(cN.b,{className:uw,children:o}),(0,sC.jsx)(uk,{variant:"range",today_:y,minDate:S,maxDate:j})]})})})})})}),uL=({diagnoses:e})=>{let{diagnosisTags:t}=aA({externalModuleName:"@openmrs/esm-styleguide"});return(0,sC.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:n,uuid:o,display:r}=e,i=t[1===n?"primaryColor":"secondaryColor"];return(0,sC.jsx)(s$.Tag,{type:i,children:r},o)})})},uB={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"},uU=({width:e="64",height:t="64"})=>(0,sC.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sC.jsx)("use",{href:"#omrs-empty-data-illustration"})}),uF=e=>{let t="tablet"===a0(),n=e.launchForm;return(0,sC.jsx)(s$.Layer,{className:uB.layer,children:(0,sC.jsxs)(s$.Tile,{className:uB.tile,children:[(0,sC.jsx)("div",{className:t?uB.tabletHeading:uB.desktopHeading,children:(0,sC.jsx)("h4",{children:e.headerTitle})}),(0,sC.jsx)(uU,{}),(0,sC.jsx)("p",{className:uB.content,children:tY("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sC.jsx)("p",{className:uB.action,children:n&&(0,sC.jsx)(s$.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tY("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},uH=({error:e,headerTitle:t})=>{let n="tablet"===a0();return(0,sC.jsx)(s$.Layer,{children:(0,sC.jsxs)(s$.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,sC.jsx)("div",{className:n?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,sC.jsx)("h4",{children:t})}),(0,sC.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tY("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sC.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tY("errorCopy")})]})})},uz=uH,uG=iz().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=a6(),a=window.location??{pathname:""},s=i5(n??"");return e.isChildOfHeader&&n&&s.length>0?(0,sC.jsxs)(s$.SideNav,{"aria-label":tY("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sC.jsx)(i4,{name:"global-nav-menu-slot"}),n?(0,sC.jsx)(ay,{value:r,fallback:(0,sC.jsx)(i4,{name:n,state:{basePath:o,currentPath:a,...i}}),children:(0,sC.jsx)(iG.Provider,{value:r,children:(0,sC.jsx)(i4,{name:n,state:{basePath:o,currentPath:a,...i}})})}):null]}):null}),uV=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,a]=(0,iH.useState)(""),s=(0,iH.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=(0,aT.A)(t,tA,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,iH.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=aP(n),{data:r,isLoading:i,isValidating:a,setSize:s,error:l}=(0,aV.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?`,a=new URLSearchParams;return a.append("_summary","data"),t&&a.append("_count",""+t),n&&a.append("_getpagesoffset",""+n*t),e&&a.append("_tag",e),"string"==typeof o&&""!==o&&a.append("name:contains",o),i+a.toString()},tA);return(0,iH.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:a,error:l||null,setPage:s}),[i,r,a,s,l])}(n,o,i),g=(0,iH.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,iH.useCallback)(e=>{r(),a(e.trim())},[r]),w=a3((0,iH.useCallback)(()=>{!m&&d&&p(e=>e+1)},[m,d,p])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsx)(s$.Search,{"aria-describedby":f?`${s}-error`:void 0,labelText:tY("searchForLocation"),id:s,placeholder:tY("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),f&&(0,sC.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${s}-error`,children:(0,sC.jsx)(s$.InlineNotification,{kind:"error",subtitle:tY("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tY("error","Error")})}),(0,sC.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,sC.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sC.jsx)(s$.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sC.jsx)(s$.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sC.jsx)(s$.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sC.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sC.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,sC.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tY("noResultsToDisplay")})})}),m&&(0,sC.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,sC.jsx)(s$.InlineLoading,{description:tY("loading")})})]})})]})},uJ=L("modalState",{modalContainer:null,modalStack:[]}),uq=0;async function uK(e,t,n={}){let o=iv(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,a=await i(),s=uq++;r=await iL({...a,name:`${t}-${s}`},{...n,domElement:e})}else j(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function uX(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function uQ(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function uY(e){return e.find(e=>!uX(e))}function uZ(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let u0=window.getComputedStyle(document.body).overflow;function u1({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",u6),document.body.style.overflow="hidden",t.style.visibility="unset");let n=uY(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",uK(n,e.modalName,e.props).then(o=>{uX(e)?uQ(e.modalName,o):o?(e.parcel=o,t.prepend(n),uZ(e,uY(uJ.getState().modalStack)===e),o.mountPromise.then(()=>{uX(e)||(e.state="MOUNTED")},t=>{j(t),e.parcel=null,u2(e)})):u2(e)},t=>{j(t),u2(e)});break}case"MOUNTING":case"MOUNTED":uZ(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),uQ(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=uJ.getState();uJ.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=u0,removeEventListener("keydown",u6)}function u2(e){if(uX(e))return;e.state="TO_BE_DELETED";let t=uJ.getState();uJ.setState({...t,modalStack:[...t.modalStack]})}function u6(e){"Escape"===e.key&&function(){let[e]=uJ.getState().modalStack;e&&u2(e)}()}function u5(e){uJ.subscribe(u1),uJ.setState({...uJ.getState(),modalContainer:e})}function u8(e,t={},n=()=>{}){let o=()=>{let e=uJ.getState().modalStack.find(e=>e.onClose===n);e&&u2(e)};if(iv(e)){var r;let i,a;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},a=[r,...(i=uJ.getState()).modalStack],uJ.setState({...i,modalStack:a})}else j(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}let u3=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:a}=e;return(0,sC.jsx)(s$.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:a})},u4=({subject:e})=>{let[t,n]=(0,iH.useState)([]);return(0,iH.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,sC.jsx)(sC.Fragment,{children:t.map(e=>(0,sC.jsx)(u3,{notification:e},e.id))})},u7=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:a,progressActionLabel:s,id:l,...c}=e,[u,d]=(0,iH.useState)(t);return(0,sC.jsx)(s$.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tY("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),s&&d(s)},statusIconDescription:tY("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:a,inline:!0,...c})},u9=({subject:e})=>{let[t,n]=(0,iH.useState)([]);return(0,iH.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,sC.jsx)(sC.Fragment,{children:t.map(e=>(0,sC.jsx)(u7,{notification:e},e.id))})};var de=n(9685);let dt=new G.Subject,dn=0,dr=new G.Subject,di=0;function da(e){e&&(0,i7.createRoot)(e).render((0,sC.jsx)(u4,{subject:dt}))}function ds(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,de.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{dt.next({...e,id:dn++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function dl(e){e&&(0,i7.createRoot)(e).render((0,sC.jsx)(u9,{subject:dr}))}function dc(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,de.A)(t))?setTimeout(()=>{dr.next({...e,id:di++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let du=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],dd=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],dm={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"},df=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:a="card",patientUuid:s})=>{let l=(0,iH.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,aT.A)(n,tA),a=o?.data?.results?.[0];return{referenceRange:a?{hiNormal:a.hiNormal??null,hiAbsolute:a.hiAbsolute??null,hiCritical:a.hiCritical??null,lowNormal:a.lowNormal??null,lowAbsolute:a.lowAbsolute??null,lowCritical:a.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,s),d=r??c,m=(0,iH.useMemo)(()=>{if(o)return o?"--"===o?"normal":du.includes(o)?o.toLowerCase():dd.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:tY("notAvailable","Not available"),v=sA()({[dm["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[dm["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[dm.low]:"low"===m,[dm.high]:"high"===m,[dm["off-scale-low"]]:"off_scale_low"===m,[dm["off-scale-high"]]:"off_scale_high"===m}),b=sA()({[dm.container]:!0,[dm.card]:!0,[dm["critical-value"]]:f,[dm["abnormal-value"]]:p&&!f}),x=sA()({[dm.cell]:!0,[v]:!0});return"cell"===a?(0,sC.jsxs)("div",{className:x,children:[y,_&&t?` ${t}`:""]}):(0,sC.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,sC.jsxs)("div",{className:dm["label-container"],children:[(0,sC.jsx)("span",{id:g,className:dm.label,children:n}),p&&(0,sC.jsx)("span",{className:dm[m.replace("_","-")],title:tY("abnormalValue","Abnormal value")})]}),(0,sC.jsxs)("div",{className:dm["value-container"],children:[(0,sC.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:dm.value,children:y}),_&&t&&(0,sC.jsx)("span",{id:w,className:dm.units,children:t})]})]})},dp="-esm-devtools__page-header-module__pageHeader___YOpQL",dg=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,sC.jsx)("div",{className:sA()(dp,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,sC.jsx)("div",{className:sA()(dp,o),...r,children:(0,sC.jsx)(dh,{title:t,illustration:n})})}},dh=({title:e,illustration:t,className:n})=>{let[o,r]=(0,iH.useState)(null);return(0,iH.useEffect)(()=>{eB("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sC.jsxs)("div",{className:sA()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,sC.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,sC.jsx)("p",{children:tY(o.implementationName)}),(0,sC.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},dw=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:a})=>{let{pageSizes:s,pageItemsCount:l}=a9(t,e,o,i),c="tablet"===a0(),u=tY("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sC.jsx)(sC.Fragment,{children:e>0&&(0,sC.jsxs)("div",{className:sA()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,sC.jsxs)("div",{children:[u,r&&(0,sC.jsx)(iV,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:a??tY("seeAll","See all")})]}),(0,sC.jsx)(s$.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:s,totalItems:e,onChange:n,pageRangeText:(e,t)=>tY("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function d_(e){return dv(dx(e,"usual","official"))}function dy(e){return d_(e)}function dv(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function db(e){return dv(e)}function dx(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 dk(e,t=sa()){let n=sa(t),o=c4(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),a=n.diff(o,"weeks"),s=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(a<4)c.days=i;else if(l<1){let e=n.subtract(a,"weeks").diff(o,"days");c.weeks=a,c.days=e}else if(l<2){let e=n.subtract(s,"months").diff(o,"days");c.months=s,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 dS(e,t=sa()){let n=dk(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),c3(n,o)}let dj={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 dN({showIdentifierLabel:e,type:t,value:n}){return(0,sC.jsx)("span",{className:dj.primaryIdentifier,children:(0,sC.jsxs)(s$.Tag,{className:dj.tag,type:"gray",children:[e&&t?.text&&(0,sC.jsxs)("span",{className:dj.label,children:[t.text,": "]}),(0,sC.jsx)("span",{className:dj.value,children:n})]})})}function dC({showIdentifierLabel:e,type:t,value:n}){return(0,sC.jsxs)(s$.FormLabel,{className:dj.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,sC.jsxs)("span",{className:dj.label,children:[t?.text,": "]}),(0,sC.jsx)("span",{className:dj.value,children:n})]})}function dE({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=aA(),{primaryIdentifierCode:o}=sn(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,sC.jsx)(sC.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,sC.jsxs)(iz().Fragment,{children:[(0,sC.jsx)("span",{className:dj.identifier,children:n?.coding?.[0]?.code===o?(0,sC.jsx)(dN,{showIdentifierLabel:t,type:n,value:e}):(0,sC.jsx)(dC,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,sC.jsx)("span",{className:dj.separator,children:"\xb7"})]},e)):""})}let dA={Female:lh,Male:lw,Other:l_,Unknown:ly},dI=({gender:e})=>{let t=dA[e];return t?(0,sC.jsx)(t,{fill:"#525252"}):null},dO={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function dP({patient:e,renderedFrom:t}){var n;let o,r,i=d_(e),a=e?.gender&&(r=dO[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tY(o,n),iconKey:r}),s=(0,iH.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sC.jsxs)("div",{className:dj.patientInfo,children:[(0,sC.jsx)("div",{className:sA()(dj.row,dj.patientNameRow),children:(0,sC.jsxs)("div",{className:dj.flexRow,children:[(0,sC.jsx)("span",{className:dj.patientName,children:i}),a&&(0,sC.jsxs)("div",{className:dj.gender,children:[(0,sC.jsx)(dI,{gender:a.iconKey}),(0,sC.jsx)("span",{children:a.displayText})]}),(0,sC.jsx)(i4,{className:dj.tagsSlot,name:"patient-banner-tags-slot",state:s})]})}),(0,sC.jsxs)("div",{className:dj.demographics,children:[e.birthDate&&(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsx)("span",{children:dS(e.birthDate)}),(0,sC.jsx)("span",{className:dj.separator,children:"\xb7"}),(0,sC.jsx)("span",{children:c0(e.birthDate,{time:!1})}),(0,sC.jsx)("span",{className:dj.separator,children:"\xb7"})]}),(0,sC.jsx)(dE,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sC.jsx)(i4,{className:dj.extensionSlot,name:"patient-banner-bottom-slot",state:s})]})]})}var dT=n(7683);function d$({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,iH.useState)(!1),{extensions:a}=i8(n),s="tablet"===a0(),l=a8(()=>i(!1),r),c=(0,iH.useRef)(null),u=(0,iH.useRef)(null),d=(0,iH.useId)(),m=`patient-actions-menu-trigger-${d}`,f=`patient-actions-menu-${d}`,p=(0,iH.useCallback)(()=>i(e=>!e),[]),g=(0,iH.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,iH.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,iH.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,iH.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===a.length?null:(0,sC.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sC.jsxs)("div",{"data-overflow-menu":!0,className:sA()("cds--overflow-menu",sW),ref:l,children:[(0,sC.jsxs)("button",{className:sA()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sB),"aria-controls":f,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:p,onKeyDown:h,ref:c,children:[(0,sC.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tY("actions","Actions")})," ",(0,sC.jsx)(dT.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sC.jsxs)("div",{className:sA()("cds--overflow-menu-options","cds--overflow-menu--flip",sD,{[sL]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:f,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sC.jsx)("ul",{className:sA()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":s}),children:(0,sC.jsx)(i4,{name:n,state:w},n)}),(0,sC.jsx)("span",{})]})]})})}var dR=n(397),dM=n.n(dR);function dW(e){let{patientPhotoConceptUuid:t}=aA({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tj}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=(0,at.Ay)(e?n:null,tA),a=o?.data?.results[0];return{data:a?{dateTime:a?.obsDatetime,imageSrc:a?.value?.links?.uri}:null,error:r,isLoading:i}}let dD=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,ae.useTranslation)();return(0,sC.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,sC.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sC.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"})]})},dL="-esm-devtools__patient-photo-module__avatar___t5TmZ";function dB({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=dW(e),[i,a]=(0,iH.useState)(null),[s,l]=(0,iH.useState)(!1),c=(0,iH.useMemo)(()=>dM().generate(e),[e]);(0,iH.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||(a(e),l(!1))},n.onerror=()=>{t||(a(null),l(!1))},n.src=e,()=>{t=!0}}a(null),l(!1)},[o?.imageSrc]);let u=(0,iH.useMemo)(()=>n||(i?tY("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tY("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||s?(0,sC.jsx)(s$.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,sC.jsx)(dD,{"aria-label":tY("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sC.jsx)("div",{"aria-label":u,children:(0,sC.jsx)("img",{className:dL,src:i,alt:u,title:t})}):(0,sC.jsx)("div",{"aria-label":u,children:(0,sC.jsx)("div",{className:dL,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sC.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 dU=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","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-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],dF=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),dH=dF,dz=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),dG=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),dV=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),dJ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),dq=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),dK=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),dX=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),dQ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),dY=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),dZ=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),d0=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),d1=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),d2=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),d6=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),d5=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),d8=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),d3=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),d4=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),d7=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),d9=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),me=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),mt=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),mn=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),mo=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),mr=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),mi=(0,iH.memo)((0,iH.forwardRef)(function(e,t){return(0,sC.jsx)(mc,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),ma=dY,ms=d3,ml=(0,iH.memo)((0,iH.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,iH.useRef)(document.getElementById(e));return(0,iH.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,sC.jsx)(ay,{value:r.current,fallback:t,children:(0,sC.jsx)(mc,{ref:o,pictogram:e,pictogramProps:n})})})),mc=(0,iH.memo)((0,iH.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,sC.jsx)("svg",{ref:n,className:sA()("-esm-devtools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,sC.jsx)("use",{href:`#${e}`})})})),mu=({children:e})=>"tablet"===a0()?(0,sC.jsx)(s$.Layer,{children:e}):(0,sC.jsx)(sC.Fragment,{children:e}),md=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:a,subtitle:s="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[f,p]=(0,iH.useState)(n),[g,h]=(0,iH.useState)(!0),[w,_]=(0,iH.useState)(!1),y=(0,iH.useCallback)(()=>{setTimeout(t,250)},[t]),v=(0,iH.useCallback)(()=>{_(!0),y()},[y]);return(0,iH.useEffect)(()=>{if(c){let e=setTimeout(v,l);return()=>clearTimeout(e)}},[l,c,v]),(0,iH.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sC.jsx)(s$.ActionableNotification,{actionButtonLabel:f,"aria-label":tY("closeSnackbar","Close snackbar"),className:sA()("-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(),a&&p(a)},onClose:y,statusIconDescription:tY("snackbarNotification","Snackbar notification"),subtitle:s,title:u,...m})},mm=({subject:e})=>{let[t,n]=(0,iH.useState)([]),o=(0,iH.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iH.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,sC.jsx)(sC.Fragment,{children:t.map(e=>(0,sC.jsx)(md,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},mf=new G.Subject,mp=0;function mg(e){e&&(0,i7.createRoot)(e).render((0,sC.jsx)(mm,{subject:mf}))}function mh(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{mf.next({...e,id:mp++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let mw=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:a,onActionButtonClick:s=()=>{}}=e,l=(0,iH.useCallback)(()=>{s(),t()},[t,s]);return(0,sC.jsx)("div",{children:(0,sC.jsx)(s$.ActionableNotification,{actionButtonLabel:a,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},m_=({subject:e})=>{let[t,n]=(0,iH.useState)([]),o=(0,iH.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iH.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,sC.jsx)(sC.Fragment,{children:t.map(e=>(0,sC.jsx)(mw,{toast:e,closeToast:()=>o(e)},e.id))})},my=new G.Subject,mv=0;function mb(e){e&&(0,i7.createRoot)(e).render((0,sC.jsx)(m_,{subject:my}))}function mx(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,de.A)(t))?setTimeout(()=>{my.next({...e,id:mv++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function mk(e,t=!1){if(t)return!0;let n=mE[e];return!n||!n()}function mS(e,t){let n=mM.getState()?.workspaceGroup,o=n?.name;o&&e===o&&mB(()=>{let o=mG(e);o&&(o.setState({},!0),o.subscribe(()=>{})()),"function"==typeof n?.cleanup&&n.cleanup(),mM.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},o?e=>e.currentWorkspaceGroup===o:()=>!0)}function mj(e,t){let{name:n,additionalProps:o}=t;iN(n);let r=()=>{mT(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>mN(n,o),closeWorkspaceGroup:!1})};mk(e.name)?r():mF("closing-workspace-launching-new-workspace",r,e.title??e.name)}function mN(e,t){let n=iN(e),o=mM.getState().workspaceGroup;if(o&&!o.members?.includes(e))return void mS(o.name,()=>{mN(e,t)});let r=mM.getState().workspaceGroup?.name,i={...n,title:mH(n,t),closeWorkspace:(t={})=>mT(e,t),closeWorkspaceWithSavedChanges:t=>mT(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var n,o;return n=e,o=t,void(mE[n]=o)},setTitle:(t,n)=>{i.title=t,i.titleNode=n,mM.setState(t=>{let n=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:n}})},currentWorkspaceGroup:r,additionalProps:t??{}};function a(e,t){mM.setState(n=>{let o=[e,...t??n.openWorkspaces],r=mL(e);return{...n,openWorkspaces:o,workspaceWindowState:r}})}r&&mG(r,t);let s=mM.getState().openWorkspaces,l=s.findIndex(t=>t.name===e),c=s.find(e=>e.type==i.type);if(0===s.length)a(i);else if(s[0].canHide||0===l)if(l>=0){let t=s[l];a({...t,additionalProps:i.additionalProps,...t.title===mH(t,t.additionalProps)&&{title:mH(i,i.additionalProps)}},s.filter(t=>t.name!=e))}else c?(a(c,mM.getState().openWorkspaces.filter(e=>e.type!=i.type)),mj(c,{name:e,additionalProps:t})):a(i);else mj(s[0],{name:e,additionalProps:t})}function mC({targetUrl:e,contextKey:t,workspaceName:n,additionalProps:o}){m$(t),mN(n,o),tg({to:e})}let mE={};function mA(e,t){mE[e]=t}function mI(e){return mE[e]}function mO(){let e=mM.getState();mM.setState({...e,prompt:null})}let mP={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function mT(e,t={}){t={...mP,...t};let n=()=>{let n=mM.getState();n.openWorkspaces.find(t=>t.name===e);let o=n.openWorkspaces.filter(t=>t.name!=e),r=mM.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&mS(r),mE[e]=()=>!1,mM.setState(e=>({...e,prompt:null,openWorkspaces:o,workspaceWindowState:mL(o?.[0])})),t?.onWorkspaceClose?.()};return mk(e,t?.ignoreChanges)?(n(),!0):(mF("closing-workspace",n,iN(e).title??e),!1)}function m$(e){mM.getState().context!=e&&mM.setState({context:e,openWorkspaces:[],prompt:null})}let mR={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},mM=L("workspace",mR);function mW(){return mM}function mD(e){let t=mM.getState();mM.setState({...t,workspaceWindowState:e})}function mL(e){return e?.preferredWindowSize??"normal"}function mB(e=()=>{},t=()=>!0){let n=mM.getState().openWorkspaces.filter(t).every(({name:e})=>mk(e)),o=()=>{mz(),e?.()};n?o():mF("closing-all-workspaces",o)}function mU(){let{workspaceWindowState:e,openWorkspaces:t,prompt:n,workspaceGroup:o}=iQ(mM);return(0,iH.useMemo)(()=>({active:t.length>0,prompt:n,workspaceWindowState:e,workspaces:t,workspaceGroup:o}),[t,e,n,o])}function mF(e,t=()=>{},n=""){let o;switch(e){case"closing-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tY("discard","Discard")};break;case"closing-all-workspaces":{let e=mM.getState().openWorkspaces.filter(({name:e})=>!mk(e)).map(({title:e},t)=>`${t+1}. ${e}`);o={title:tY("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tY("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tY("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:n}),onConfirm:()=>{mM.setState(e=>({...e,prompt:null})),t?.()},confirmText:tY("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}mM.setState(e=>({...e,prompt:o}))}function mH(e,t){return t?.workspaceTitle??e.title}function mz(){mM.setState(mR)}function mG(e,t={}){if(!e||"default"===e)return;let n=U(e,{});return t&&n.setState(e=>({...e,...t})),n}let mV="-esm-devtools__action-menu-button-module__container___f7spB",mJ="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",mq="-esm-devtools__action-menu-button-module__active___+mcQh";function mK({getIcon:e,formOpenInTheBackground:t,tagContent:n}){return(0,sC.jsxs)(sC.Fragment,{children:[e({size:16}),t?(0,sC.jsx)("span",{className:"-esm-devtools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,sC.jsx)("span",{className:"-esm-devtools__action-menu-button-module__countTag___vo9ZX",children:n})]})}let mX=({getIcon:e,label:t,iconDescription:n,handler:o,type:r,tagContent:i})=>{let a=a0(),{workspaces:s,workspaceWindowState:l}=mU(),c=s?.findIndex(({type:e})=>e===r)??-1,u="hidden"!==l&&0===c,d=c>0||0===c&&"hidden"===l;return"tablet"===a||"phone"===a?(0,sC.jsxs)(s$.Button,{className:sA()(mV,{[mq]:u}),iconDescription:n,kind:"ghost",onClick:o,role:"button",tabIndex:0,size:"md",children:[(0,sC.jsx)("span",{className:mJ,children:(0,sC.jsx)(mK,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,sC.jsx)("span",{children:t})]}):(0,sC.jsx)(s$.IconButton,{align:"left","aria-label":n,className:sA()(mV,{[mq]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:o,size:"md",children:(0,sC.jsx)("div",{className:mJ,children:(0,sC.jsx)(mK,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var mQ=n(3173),mY=n(185),mZ=n(4564);function m0({contextKey:e}){let{prompt:t}=mU();return(0,iH.useEffect)(()=>{RegExp(`/${(0,mZ.A)(e)}(/|$)`).test(window.location.pathname)||console.warn(`WorkspaceContainer has provided an invalid context key: "${e}". The context key must be part of the URL path, with no initial or trailing slash.`)},[]),(0,iH.useEffect)(()=>(m$(e),()=>{m$(null)}),[e]),(0,iH.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:n,newUrl:o}}=t,r=RegExp(`/${(0,mZ.A)(e)}(/|$)`),i=new URL(o),a=r.test(i.pathname),s=mM.getState().openWorkspaces.every(({name:e})=>mk(e));a||(s?mz():(n?.(),mB(()=>{tg({to:o})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,sC.jsxs)(s$.ComposedModal,{open:!0,onClose:mO,children:[(0,sC.jsx)(s$.ModalHeader,{title:t.title}),(0,sC.jsx)(s$.ModalBody,{children:(0,sC.jsx)("p",{className:"-esm-devtools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,sC.jsxs)(s$.ModalFooter,{children:[(0,sC.jsx)(s$.Button,{kind:"secondary",onClick:mO,children:t.cancelText??tY("cancel")}),(0,sC.jsx)(s$.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tY("confirm")})]})]}):null}var m1=n(1820);function m2({workspace:e,additionalPropsFromPage:t}){let[n,o]=(0,iH.useState)(),r=function(e){let[t,n]=(0,iH.useState)({}),[o,r]=(0,iH.useState)(e);return(0,iH.useEffect)(()=>{o!==e&&r(e)},[e]),(0,iH.useEffect)(()=>{let e,t=mG(o);return t&&(n(t.getState()),e=t.subscribe(n)),()=>{t&&e?.()}},[o]),t}(e.currentWorkspaceGroup);(0,iH.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&o(e)}),()=>{t=!1}},[e]);let i=(0,iH.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return n?(0,sC.jsx)(m1.A,{config:n,mountParcel:iU,...i},e.name):(0,sC.jsx)(s$.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tY("loading","Loading")} ...`})}function m6({isWithinWorkspace:e,name:t,actionMenuProps:n={}}){let[o,r]=(0,iH.useState)(!1),i=(0,iH.useRef)(window.innerHeight),{featureName:a}=(0,iH.useContext)(iG),s=a0();(0,iH.useEffect)(()=>{let e=()=>{r(!a1(s)&&i.current>window.innerHeight),i.current!=window.innerHeight&&(i.current=window.innerHeight)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[i]);let l=`action-menu-${t&&"default"!=t?t:a}-items-slot`;return(0,sC.jsx)("aside",{className:sA()("-esm-devtools__action-menu-module__sideRail___GJUJ7",{"-esm-devtools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-devtools__action-menu-module__sideRailHidden___bQ0UM":o,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!o}),children:(0,sC.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,sC.jsx)(i4,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:n})})})}function m5({contextKey:e,overlay:t,showSiderailAndBottomNav:n,additionalWorkspaceProps:o,actionMenuProps:r}){let i=a0(),{workspaces:a,workspaceWindowState:s,workspaceGroup:l}=mU(),c=l?.name,u=a[0],d="hidden"===s||null==u,m=u?.width??(t?"wider":"narrow"),f=(0,iH.useMemo)(()=>n||c&&!d,[c,d,n]);return aN(!d&&!a1(i)),(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsxs)("div",{className:n?"-esm-devtools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-devtools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,sC.jsx)("aside",{className:sA()(t?"-esm-devtools__workspace-module__workspaceOverlayOuterContainer___7nS96":"-esm-devtools__workspace-module__workspaceWindowSpacer___l+rgk",{"-esm-devtools__workspace-module__hiddenRelative___AJHmQ":d,"-esm-devtools__workspace-module__narrowWorkspace___Vb16L":"narrow"===m,"-esm-devtools__workspace-module__widerWorkspace___Bn7v8":"wider"===m,"-esm-devtools__workspace-module__extraWideWorkspace___vN8kI":"extra-wide"===m}),children:(0,sC.jsx)("div",{className:sA()("-esm-devtools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-devtools__workspace-module__maximizedWindow___Sew5F":"maximized"===s,"-esm-devtools__workspace-module__hiddenFixed___BxutH":d}),children:a.map((e,t)=>(0,sC.jsx)("div",{className:sA()("-esm-devtools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-devtools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,sC.jsx)(iH.Suspense,{fallback:null,children:(0,sC.jsx)(ae.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,sC.jsx)(m8,{workspaceInstance:e,additionalWorkspaceProps:o})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,sC.jsx)(m0,{contextKey:e})]}),f&&(0,sC.jsx)(m6,{name:c,isWithinWorkspace:!n,actionMenuProps:r})]})}function m8({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:n}=(0,ae.useTranslation)(),o=a0(),{workspaceWindowState:r,workspaceGroup:i}=mU(),a=i?.name,s="maximized"===r;(0,iH.useEffect)(()=>{let t=n(e.title);t!==e.title&&e.setTitle(t)},[e.title,n,e.setTitle]);let{featureName:l}=(0,iH.useContext)(iG),c=(0,iH.useCallback)(()=>{mD(s?"normal":"maximized")},[s]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:f}=(0,iH.useMemo)(()=>e??{},[e]),p=(0,iH.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsxs)(s$.Header,{"aria-label":tY("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!a1(o)&&!u&&(0,sC.jsx)(s$.HeaderMenuButton,{"aria-label":tY("close","Close"),renderMenuIcon:(0,sC.jsx)(sQ,{}),onClick:()=>f()}),(0,sC.jsx)(s$.HeaderName,{prefix:"",children:e.titleNode??n(e.title)}),(0,sC.jsx)("div",{className:"-esm-devtools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,sC.jsxs)(s$.HeaderGlobalBar,{className:"-esm-devtools__workspace-module__headerButtons___ppNsY",children:[(0,sC.jsx)(i4,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:p}),(0,sC.jsx)(i4,{name:`workspace-header-type-${e.type}-slot`,state:p}),(0,sC.jsx)(i4,{name:`workspace-header-${l}-slot`,state:p}),a1(o)&&(0,sC.jsxs)(sC.Fragment,{children:[(d||s)&&(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":s?tY("minimize","Minimize"):tY("maximize","Maximize"),onClick:c,children:s?(0,sC.jsx)(mQ.Xj,{}):(0,sC.jsx)(mQ.hz,{})}),u&&!a?(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":tY("hide","Hide"),onClick:()=>mD("hidden"),children:(0,sC.jsx)(sY,{})}):(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,sC.jsx)(la,{})})]}),"tablet"===o&&u&&(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,sC.jsx)(mY.d3,{})})]})]}),(0,sC.jsx)("div",{className:sA()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,sC.jsx)(m2,{workspace:e,additionalPropsFromPage:t},e.name)})]})}async function m3(e,t){let{openedGroup:n}=iE.getState();if(n){if(n.groupName===e&&m9(n.props,t))return!0;else if(!await fe({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return iE.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function m4(e){let{openedGroup:t,openedWindows:n}=iE.getState();if(t){if(n.length>0&&!(e||await fe({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;iE.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function m7(e,t=null,n=null,o=null){let r=iE.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=iA(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:a}=r,{name:s}=i,l=iI(s);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=iO(e);if(a&&(a.groupName!==l.name||!m9(a.props,o)))return!!await fe({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:s,openedWorkspaces:[fi(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},a=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(m9(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&m9(d.props,t)?((a||c!==r.openedWindows.length-1)&&iE.setState(ft.restoreWindow(r,s)),!0):!!await fe({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:s,workspaceName:e})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[fi(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await fe({reason:"CLOSE_WINDOW",explicit:!1,windowName:s})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[fi(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(iE.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:s,openedWorkspaces:[fi(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await fe({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(iE.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:s,openedWorkspaces:[fi(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function m9(e,t){return null==e||null==t||E(e,t)}function fe(e){function t(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}let{openedWindows:n,workspaceTitleByWorkspaceName:o}=iE.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=n.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o);break}case"CLOSE_WORKSPACE":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=n.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=u8("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>o[e.workspaceName])})})}let ft={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=iO(t);if(n<0)return e;let o={...e.openedWindows[n]},r=o.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];o.openedWorkspaces=o.openedWorkspaces.slice(0,r);let a=e.isMostRecentlyOpenedWindowHidden;if(0===o.openedWorkspaces.length){let t=n===e.openedWindows.length-1;i.splice(n,1),t&&i.length>0&&(a=!1)}else i[n]=o;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:a}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);let a=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==a)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let{openedWorkspaces:s}=e.openedWindows[a],l=s.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=s.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==a?{...e,openedWorkspaces:[...c,fi(n,o)]}:e)}},setHasUnsavedChanges(e,t,n){let o=iO(t);if(o<0)return e;let r={...e.openedWindows[o]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:n};let a=[...e.openedWindows];return a[o]=r,{...e,openedWindows:a}},setWorkspaceTitle(e,t,n){let o={...e.workspaceTitleByWorkspaceName};return null===n?delete o[t]:o[t]=n,{...e,workspaceTitleByWorkspaceName:o}}};function fn(){return iY(iE,ft)}let fo=()=>(0,iH.useContext)(i9.i),fr=()=>Object.keys(iE.getState().registeredWorkspacesByName);function fi(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,og.A)()}}let fa={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"},fs=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let o=a0(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:a,openedWindows:s,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:f,isMostRecentlyOpenedWindowHidden:p}=fn(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:w,showActionMenu:_}=fo(),y=iO(g),v=s[y],b=v?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,iH.useEffect)(()=>{b?.hasUnsavedChanges!=n&&a(g,n??!1)},[b?.hasUnsavedChanges,n,g,a]),(0,iH.useEffect)(()=>{m[g]!==e&&f(g,e)},[m,g,e,f]),y<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:A}=v,I=S?.width??"narrow",O=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),P=y<s.length-1||p;return(0,sC.jsxs)("div",{className:sA()(fa.workspaceOuterContainer,{[fa.narrowWorkspace]:"narrow"===I,[fa.widerWorkspace]:"wider"===I,[fa.extraWideWorkspace]:"extra-wide"===I,[fa.isActionMenuOpened]:O}),children:[(0,sC.jsx)("div",{className:sA()(fa.workspaceSpacer,{[fa.hidden]:P})}),(0,sC.jsx)("div",{className:sA()(fa.workspaceMiddleContainer,{[fa.maximized]:A,[fa.hidden]:P,[fa.isRootWorkspace]:h,[fa.showActionMenu]:_}),children:(0,sC.jsxs)("div",{className:sA()(fa.workspaceInnerContainer,{[fa.maximized]:A,[fa.hidden]:P,[fa.isRootWorkspace]:h}),children:[(0,sC.jsxs)(s$.Header,{"aria-label":tY("workspaceHeader"),className:fa.header,children:[(0,sC.jsx)(s$.HeaderName,{prefix:"",children:e}),(0,sC.jsx)("div",{className:fa.overlayHeaderSpacer}),(0,sC.jsx)(s$.HeaderGlobalBar,{className:fa.headerButtons,children:a1(o)?(0,sC.jsxs)(sC.Fragment,{children:[(N||A)&&(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":A?tY("minimize"):tY("maximize"),onClick:()=>r(k,!A),children:A?(0,sC.jsx)(mQ.Xj,{}):(0,sC.jsx)(mQ.hz,{})}),E&&(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,sC.jsx)(sY,{})}),!C&&(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>w({closeWindow:!0}),children:(0,sC.jsx)(la,{})})]}):(0,sC.jsxs)(sC.Fragment,{children:[E&&(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,sC.jsx)(mY.d3,{})}),(0,sC.jsx)(s$.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>{C?m4():w({closeWindow:!0})},children:(0,sC.jsx)(la,{})})]})})]}),(0,sC.jsx)("div",{className:sA()(fa.workspaceContent),children:t})]})})]})},fl="-esm-devtools__action-menu-button2-module__container___jc6--",fc="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",fu="-esm-devtools__action-menu-button2-module__active___fbyFm",fd="-esm-devtools__action-menu-button2-module__focused___+aVpz";function fm({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,sC.jsxs)(sC.Fragment,{children:[e({size:16}),t?(0,sC.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sC.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let ff=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=a0(),{openedWindows:a,restoreWindow:s,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=fn(),{extension:u}=(0,iH.useContext)(iG),d=a.findIndex(e=>e.windowName===u?.extensionId),m=a[d],f=null!=m,p=f&&(d<a.length-1||c),g=f&&!p,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(f)p?s(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;m7(e,t,n)}};return"tablet"===i||"phone"===i?(0,sC.jsxs)(s$.Button,{className:sA()(fl,{[fu]:f&&!g,[fd]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,sC.jsx)("span",{className:fc,children:(0,sC.jsx)(fm,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,sC.jsx)("span",{children:t})]}):(0,sC.jsx)(s$.IconButton,{align:"left","aria-label":t,className:sA()(fl,{[fu]:f&&!g,[fd]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,sC.jsx)("div",{className:fc,children:(0,sC.jsx)(fm,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function fp({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,sC.jsx)(s$.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?li:ln,children:e?tY("showLess","Show less"):tY("showMore","Show more")})}let fg={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-"},fh=({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,at.Ay)(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,iH.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsxs)("p",{className:fg.heading,children:[tY("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,sC.jsx)(s$.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sC.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>cq(e?.startDate).getTime()-cq(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sC.jsx)("li",{children:(0,sC.jsx)(iV,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sC.jsx)("li",{children:"--"})})(),t.length>3&&(0,sC.jsx)("li",{className:fg.link,children:(0,sC.jsx)(iV,{to:`${window.spaBase}/home/patient-lists`,children:tY("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},fw=({patientId:e})=>{let{patient:t,isLoading:n}=st(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,sC.jsx)(s$.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsx)("p",{className:fg.heading,children:tY("address","Address")}),(0,sC.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,sC.jsxs)("li",{children:[tY(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,sC.jsxs)("li",{children:[tY(e,e),": ",t]},`address-${e}`)):(0,sC.jsx)("li",{children:"--"})})]})},f_=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=aA({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=(0,aT.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)))`,tA);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,iH.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,iH.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tY(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsx)("p",{className:fg.heading,children:tY("contactDetails","Contact Details")}),t?(0,sC.jsx)(s$.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sC.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,sC.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,sC.jsx)("li",{children:"--"})})]})},fy=({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,at.Ay)(e?t:null,tA),a=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?a:null,error:o,isLoading:r,isValidating:i}}(e);return(0,sC.jsxs)(sC.Fragment,{children:[(0,sC.jsx)("p",{className:fg.heading,children:tY("relationships","Relationships")}),n?(0,sC.jsx)(s$.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sC.jsx)("ul",{children:t&&t.length>0?(0,sC.jsx)(sC.Fragment,{children:t.map(e=>(0,sC.jsxs)("li",{className:fg.relationship,children:[(0,sC.jsx)("div",{children:(0,sC.jsx)(iV,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sC.jsx)("div",{children:e.relationshipType}),(0,sC.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tY("yearAbbreviation","yr"):tY("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sC.jsx)("li",{children:"--"})})]})};function fv({patientId:e,deceased:t}){return(0,sC.jsxs)("div",{className:sA()(fg.contactDetails,{[fg.deceased]:t}),children:[(0,sC.jsxs)("div",{className:fg.row,children:[(0,sC.jsx)("div",{className:fg.col,children:(0,sC.jsx)(fw,{patientId:e})}),(0,sC.jsx)("div",{className:fg.col,children:(0,sC.jsx)(f_,{patientUuid:e})})]}),(0,sC.jsxs)("div",{className:fg.row,children:[(0,sC.jsx)("div",{className:fg.col,children:(0,sC.jsx)(fy,{patientId:e})}),(0,sC.jsx)("div",{className:fg.col,children:(0,sC.jsx)(fh,{patientUuid:e})})]})]})}function fb(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 fx="-esm-devtools__action-menu2-module__container___6Gke0";function fk({workspaceGroup:e,groupProps:t}){let n=a0(),{persistence:o}=e;return(0,sC.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,sC.jsxs)("div",{className:fx,children:["closable"==o&&a1(n)&&(0,sC.jsx)(s$.IconButton,{align:"left",onClick:()=>m4(),label:tY("close"),kind:"ghost",children:(0,sC.jsx)(la,{})}),(0,sC.jsx)(iG.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sC.jsx)(i4,{className:fx,name:e.name,state:{groupProps:t}})})]})})}function fS(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}}let fj=({lifeCycle:e,openedWorkspace:t,openedWindow:n,isRootWorkspace:o,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:a,closeWorkspace:s,openChildWorkspace:l}=fn(),c=(0,iH.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:r=!1}=e;return o?!!(r||await fe({reason:"CLOSE_WINDOW",explicit:!0,windowName:n.windowName}))&&(s(n.openedWorkspaces[0].workspaceName),!0):!!(r||await fe({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:t.workspaceName}))&&(s(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let r=t.workspaceName,{openedWorkspaces:i}=n,a=i.findIndex(e=>e.workspaceName===r);-1===a||a!==i.length-1&&i.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await fe({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:i[a+1].workspaceName})||l(r,e,o||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:a&&a.props?a.props:null,isRootWorkspace:o,isLeafWorkspace:r,windowName:n.windowName,showActionMenu:i},[t,s,a,n]);if(!e){let{registeredWorkspacesByName:e}=iE.getState(),n=e[t.workspaceName],r=n&&n.window?n.window:void 0,{registeredWindowsByName:s}=iE.getState(),l=r?s[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(s).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,sC.jsxs)("div",{className:sA()(fa.workspaceOuterContainer,{[fa.narrowWorkspace]:"narrow"===c,[fa.widerWorkspace]:"wider"===c,[fa.extraWideWorkspace]:"extra-wide"===c,[fa.isActionMenuOpened]:u}),children:[(0,sC.jsx)("div",{className:fa.workspaceSpacer}),(0,sC.jsx)("div",{className:sA()(fa.workspaceMiddleContainer,{[fa.isRootWorkspace]:o,[fa.showActionMenu]:i}),children:(0,sC.jsx)("div",{className:sA()(fa.workspaceInnerContainer,{[fa.isRootWorkspace]:o}),children:(0,sC.jsx)(s$.InlineLoading,{className:fa.loader,description:`${tY("loading")} ...`})})})]})}return(0,sC.jsx)(m1.A,{config:e,mountParcel:iU,...c},t.workspaceName)},fN=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:n}=e,[o,r]=(0,iH.useState)({}),{registeredWorkspacesByName:i}=iE.getState();return(0,iH.useEffect)(()=>{let e=!1;return Promise.all(n.map(async e=>{let{moduleName:t,component:n}=i[e.workspaceName];return[e.uuid,await sh(t,n)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[n]),(0,sC.jsx)(sC.Fragment,{children:n.map((r,i)=>(0,sC.jsx)(fj,{openedWorkspace:r,openedWindow:e,lifeCycle:o[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===n.length-1,showActionMenu:t},r.uuid))})};function fC(e){e&&(0,i7.createRoot)(e).render((0,sC.jsx)(fE,{}))}function fE(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=fn();if((0,iH.useEffect)(()=>oL("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:a}=t;if(!e)return;if(o)return void r(m4().then(e=>!e));let s=n[e.groupName],l=s?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=fS(t),i=fS(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let a=o.exec(r.spaRelative),s=o.exec(i.spaRelative);if(a&&s||(a=o.exec(r.full),s=o.exec(i.full)),!a||!s)return!0;if(a.length>1)return!a.slice(1).every((e,t)=>e===s[t+1]);return!1}catch{return!0}}(l,i,a)&&r(m4().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:a}=r,s=Object.values(o).filter(e=>e.group===a&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sC.jsxs)("div",{className:sA()("-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,sC.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,sC.jsx)(fN,{openedWindow:e,showActionMenu:s},e.windowName))}),s&&(0,sC.jsx)(fk,{workspaceGroup:r,groupProps:e.props})]})}function fA(e,t,n){if(null==e)return n;let o=cR(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=cR(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 a=(i=i.slice(0,o)).lastIndexOf("-");-1!==a&&i.length-a==2&&(i=i.slice(0,a))}return n}function fI(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function fO(e){return!!e&&e.constructor===Object}var fP=n(143);function fT(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function f$(e,t){let n=function(e){let t=e.indexOf("-");if(t>=0){let n=fT(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return fT(e)}(t);return fP.satisfies(n,e,{includePrerelease:!0})}async function fR(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 a=0;do try{return await fM(r(a)),await e()}catch(e){i?.(e,a),n=e}while(o(a++));throw n}async function fM(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}}}]);