@openmrs/esm-implementer-tools-app 10.0.1-pre.5635 → 10.0.1-pre.5649

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/3077.js CHANGED
@@ -1,32 +1,32 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_implementer_tools_app=globalThis.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([["3077"],{9668(e,t,n){let o,r;n.r(t),n.d(t,{GenderUnknownIcon:()=>aI,evaluateAsNumber:()=>os,getImportMapOverrideMap:()=>ne,StockManagementPictogram:()=>df,ChemistryIcon:()=>ad,BabyIcon:()=>ae,DashboardExtension:()=>lI,openmrsComponentDecorator:()=>id,tryRegisterExtension:()=>sI,pictogramIds:()=>uY,ActivityIcon:()=>s5,compile:()=>ou,removeRouteMapOverride:()=>nP,TableBatchActions:()=>sV,getAsyncLifecycle:()=>ip,subscribeOpenmrsEvent:()=>nF,PasswordIcon:()=>aQ,Assessment2Pictogram:()=>u1,CloseIcon:()=>ah,setupRouteMapOverrides:()=>nT,getWorkspaceGroupRegistration:()=>rP,registerWorkspace:()=>rN,useFeatureFlag:()=>iV,reset:()=>r_,LabOrderIcon:()=>aD,VisitMode:()=>nq,useLocations:()=>so,getLifecycle:()=>im,formatDatetime:()=>cr,getVisitsForPatient:()=>n2,formatPartialDate:()=>ce,CustomOverflowMenu:()=>sQ,LocationIcon:()=>aU,GroupIcon:()=>aA,createUseStore:()=>r2,VisitStatus:()=>nK,getSessionLocation:()=>tD,getCurrentImportMap:()=>nm,usePatient:()=>su,useRenderableExtensions:()=>sm,getOpenedWindowIndexByWorkspace:()=>r$,setLeftNav:()=>ry,clearHistory:()=>tw,clearConfigErrors:()=>eY,formatTime:()=>co,isDevEnabled:()=>tq,closeWorkspaceGroup2:()=>mu,getCurrentRouteMap:()=>nj,ConfigurableLink:()=>rK,sessionStore:()=>tE,setSessionLocale:()=>tU,subscribeSnackbarShown:()=>h,getLoggedInUser:()=>tL,GenderMaleIcon:()=>aC,getExtensionSlotConfigFromStore:()=>eo,evaluateAsNumberAsync:()=>oa,getImportMapDefaultMap:()=>t7,unregisterExtensionRendering:()=>oJ,implementerToolsConfigStore:()=>e_,Type:()=>H,InPatientPictogram:()=>dt,cleanupObsoleteFeatureFlags:()=>oO,getAttachmentsUrl:()=>nW,showSnackbar:()=>dE,PatientBannerActionsMenu:()=>uG,PatientSearchPictogram:()=>da,DocumentAttachmentIcon:()=>ab,Snackbar:()=>dk,CardiologyPictogram:()=>u6,ImageMedicalIcon:()=>a$,ActionableNotificationComponent:()=>uc,DiagnosisTags:()=>cK,iconIds:()=>s6,PatientsPictogram:()=>dl,interpolateUrl:()=>tu,setupHistory:()=>tg,subscribeToastShown:()=>g,detachAll:()=>rm,convertToLocaleCalendar:()=>ci,DocumentIcon:()=>ay,configInternalStore:()=>Y,ActionMenuButton2:()=>mN,setupDynamicOfflineDataHandler:()=>mY,makeUrl:()=>tj,oneOf:()=>e5,selectPreferredName:()=>uO,launchWorkspaceGroup:()=>function e(t,n){let o=rP(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:s,workspaceToLaunch:a}=n,l=function(){return dq}();if(l.getState().openWorkspaces.length){let o=l.getState().workspaceGroup;o?dM(o?.name,()=>{e(t,n)}):dZ(()=>{e(t,n)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:o.members,cleanup:s}})),d6(t,r),i?.(),a&&dL(a.name,a.additionalProps??{})},MobileCheckIcon:()=>aJ,createErrorHandler:()=>y,parseDate:()=>l5,getAttachmentByUuid:()=>nR,LeftNavMenu:()=>c1,getExtensionRegistration:()=>rl,ShoppingCartAddItemIcon:()=>lN,ReferralOrderIcon:()=>a8,ReportIcon:()=>a4,dispatchToastShown:()=>m,getImportMapNextPageMap:()=>t9,registerExtension:()=>rc,setupOfflineSync:()=>mX,DownloadIcon:()=>av,useConnectivity:()=>m2,provide:()=>eP,ShoppingCartArrowDownIcon:()=>lr,featureFlagsStore:()=>oP,promptBeforeClosing:()=>dU,jsep:()=>n6.A,GeriatricsPictogram:()=>u9,SearchIcon:()=>le,reportError:()=>w,slugify:()=>nc,isOmrsDateToday:()=>l1,getExtensionStore:()=>oq,BloodBankPictogram:()=>u2,TriagePictogram:()=>dh,Workspace2:()=>mb,refetchCurrentUser:()=>tR,CheckmarkOutlineIcon:()=>au,registerExtensionSlot:()=>rh,AllergiesIcon:()=>lx,ArrowDownIcon:()=>s3,useOpenmrsInfinite:()=>i1,getExtensionConfigFromExtensionSlotStore:()=>ea,OpenmrsDatePicker:()=>cJ,getExtensionConfigFromStore:()=>es,getDynamicOfflineDataEntries:()=>mZ,getLocaleDisplayName:()=>lV,messageOmrsServiceWorker:()=>m0,navigate:()=>tm,launchWorkspace2:()=>md,getGroupByWindowName:()=>rT,CustomOverflowMenuItem:()=>s0,isUrl:()=>e6,CaretDownIcon:()=>ao,ArrowLeftIcon:()=>s4,FacilityPictogram:()=>u7,ViewOffIcon:()=>ly,updateInternalExtensionStore:()=>oU,dispatchActionableNotificationShown:()=>u,resetRouteMapOverrides:()=>nA,formatDurationBetween:()=>cp,defaultVisitCustomRepresentation:()=>nX,getBreadcrumbsFor:()=>to,useOpenmrsPagination:()=>iq,Pagination:()=>uC,CheckmarkFilledIcon:()=>ac,clearCurrentUser:()=>tM,showModal:()=>ui,ChevronUpIcon:()=>ag,saveVisit:()=>n0,useAttachments:()=>iA,Pictogram:()=>dv,useExtensionSlot:()=>r7,ChevronDownIcon:()=>am,OpenmrsDateRangePicker:()=>cq,deleteAttachmentPermanently:()=>nD,getVisitTypes:()=>nJ,OverflowMenuHorizontalIcon:()=>aY,EventScheduleIcon:()=>aS,getSessionStore:()=>tT,ActionMenu:()=>mi,ProcedureOrderIcon:()=>a6,preloadImport:()=>nd,registerWorkspaceWindows2:()=>rM,useOnVisible:()=>si,setSessionLocation:()=>tB,userHasAccess:()=>tW,ChartAverageIcon:()=>aa,getFeatureFlag:()=>oT,UserAvatarIcon:()=>lg,renderExtension:()=>rz,useFhirInfinite:()=>i3,toVisitTypeObject:()=>nz,useSession:()=>sp,EmergencyDepartmentPictogram:()=>u4,Notification:()=>ua,dispatchSnackbarShown:()=>d,navigateAndLaunchWorkspace:()=>dD,formatDate:()=>ct,workspace2StoreActions:()=>mf,SwitcherIcon:()=>ln,esmStyleGuideSchema:()=>sH,getImportMapDisabledOverrides:()=>nt,useAssignedExtensionIds:()=>iI,CaretRightIcon:()=>ai,evaluateAsType:()=>ol,PageHeader:()=>uj,TranslateIcon:()=>ld,setUserProperties:()=>tF,MovementIcon:()=>aX,renderInlineNotifications:()=>uh,subscribePrecacheStaticDependencies:()=>m1,PaymentsDeskPictogram:()=>dc,usePrimaryIdentifierCode:()=>sd,useLayoutType:()=>i7,getCurrentUser:()=>tO,XrayPictogram:()=>d_,CaretUpIcon:()=>as,renderActionableNotifications:()=>uw,OpenmrsAppContext:()=>iS,setupModals:()=>ur,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(mG(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;mG(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>R,recordConfigDerivationError:()=>eg,useAbortController:()=>iN,Extension:()=>rX,getFhirServerPaginationHandlers:()=>iZ,useConnectedExtensions:()=>iM,registerApp:()=>sA,HospitalBedIcon:()=>aT,useExtensionInternalStore:()=>iH,configExtensionStore:()=>Q,getSynchronizationItems:()=>mQ,getExtensionSlotsConfigStore:()=>et,registerExtensionRendering:()=>oV,RenderIfValueIsTruthy:()=>ij,registerFeatureFlag:()=>oA,useFhirFetchAll:()=>i8,restBaseUrl:()=>tx,CalendarHeatMapIcon:()=>at,getWorkspaceRegistration:()=>rI,isImportMapOverrideDisabled:()=>nn,resetConfigSystem:()=>eZ,getExtensionInternalStore:()=>oD,registerGlobalStore:()=>T,evaluateAsBoolean:()=>or,PatientBannerPatientInfo:()=>uF,addRouteMapOverride:()=>nI,getDefaultCalendar:()=>l7,SettingsIcon:()=>lt,DrugOrderIcon:()=>ax,ProgramsIcon:()=>a5,useAssignedExtensions:()=>r4,CloseFilledIcon:()=>a_,canAccessStorage:()=>mH,registerDefaultCalendar:()=>l4,TreeViewAltIcon:()=>lp,OverflowMenuVerticalIcon:()=>aZ,clearConfigDerivationError:()=>eh,getConfigStore:()=>ee,registerWorkspaceGroup:()=>rC,InformationSquareIcon:()=>aW,EmptyCard:()=>cZ,ChevronLeftIcon:()=>ap,RadiologyIcon:()=>lj,useCandidateExtensions:()=>iP,renderToasts:()=>dT,isDesktop:()=>i9,integrateBreakpoints:()=>sM,RegistrationPictogram:()=>dm,CardHeader:()=>sB,getExtensionRegistrationFrom:()=>ra,InformationIcon:()=>aR,TrashCanIcon:()=>lm,useShallowStableValue:()=>rY,useOpenmrsSWR:()=>ss,Assessment1Pictogram:()=>u0,finishRegisteringAllApps:()=>sO,importDynamic:()=>nu,useFhirPagination:()=>iY,useVisitContextStore:()=>sv,ArrowUpIcon:()=>s9,showActionableNotification:()=>uy,useForceUpdate:()=>iJ,useVisit:()=>sx,updateWorkspaceWindowState:()=>dX,PatientBannerPatientIdentifiers:()=>uL,WorkspaceNotification:()=>mn,TransferPictogram:()=>dg,usePagination:()=>sa,Breakpoint:()=>sT,PatientBannerToggleContactDetailsButton:()=>mC,CloseOutlineIcon:()=>aw,ObstetricsPictogram:()=>ds,parseDateInput:()=>ca,getConfig:()=>eO,attach:()=>ru,getLocale:()=>lJ,ActionMenuButton:()=>d7,isUrlWithTemplateParameters:()=>e2,useEmrConfiguration:()=>iU,useLeftNav:()=>se,ToolsIcon:()=>lu,ErrorState:()=>cQ,detach:()=>rd,setCurrentVisit:()=>nQ,ConditionsIcon:()=>lS,SaveIcon:()=>a9,useWorkspaces:()=>dQ,resetWorkspaceStore:()=>d2,useConfig:()=>iR,validator:()=>G,CalendarIcon:()=>an,getHistory:()=>th,StickyNoteAddIcon:()=>li,useWorkspace2Store:()=>mg,getPatientName:()=>uE,getVisitStore:()=>nZ,getCoreTranslation:()=>tc,registerModuleWithConfigSystem:()=>eN,registerModuleLoad:()=>eC,getBreadcrumbs:()=>te,extractVariableNames:()=>oC,translateFrom:()=>tl,useStoreWithActions:()=>r1,EditIcon:()=>ak,getCandidateExtensions:()=>rg,shallowEqual:()=>v,subscribeNotificationShown:()=>p,MaximizeIcon:()=>aH,promptForClosingWorkspaces:()=>mp,WarningIcon:()=>lv,closeAllWorkspaces:()=>dZ,fhirBaseUrl:()=>tk,matchLocale:()=>mF,registerBreadcrumb:()=>e7,usePatientPhoto:()=>uJ,EventsIcon:()=>aj,createGlobalStore:()=>O,workspaceStore:()=>dq,subscribeToFeatureFlag:()=>o$,useExtensionStore:()=>iz,closeWorkspace:()=>dz,createAttachment:()=>nL,useLeftNavStore:()=>st,TableIcon:()=>ll,Icon:()=>lE,InformationFilledIcon:()=>aM,getCurrentPageMap:()=>t4,LaboratoryPictogram:()=>dn,temporaryConfigStore:()=>Z,getPromptBeforeClosingFcn:()=>dF,toDateObjectStrict:()=>l2,defineConfigSchema:()=>ej,filterBreadcrumbs:()=>tn,invalidateImplementerToolsConfig:()=>ep,PatientBannerContactDetails:()=>mT,getAssignedExtensions:()=>rf,PatientPhoto:()=>uX,MaterialOrderIcon:()=>aF,MicroscopeIcon:()=>aV,visitTypesUrl:()=>nV,scheduleRecomputation:()=>oQ,PharmacyPictogram:()=>du,AttachmentIcon:()=>lk,MoneyIcon:()=>aq,getAttachments:()=>nM,getWorkspaceGroupStore:()=>d6,PageHeaderContent:()=>uN,MedicationIcon:()=>aG,PrinterIcon:()=>a2,PatientListsPictogram:()=>dy,useAppContext:()=>iC,isOpenmrsRoutes:()=>ng,AppointmentsAltPictogram:()=>uQ,GenericOrderTypeIcon:()=>aP,batchExtensionUpdates:()=>oY,useExtensionSlotStore:()=>r8,ViewIcon:()=>lb,formattedName:()=>uA,sessionEndpoint:()=>tS,duration:()=>cd,resetImportMapOverrides:()=>ni,TableOfContentsIcon:()=>la,CaretLeftIcon:()=>ar,getTranslationOverrides:()=>eT,isVersionSatisfied:()=>mJ,EmptyCardIllustration:()=>cY,PenIcon:()=>a1,getWorkspaceStore:()=>dK,validators:()=>e8,setupImportMapOverrides:()=>nl,showToast:()=>d$,useDefineAppContext:()=>ik,verifyTotpCode:()=>tH,getGlobalStore:()=>$,useOnClickOutside:()=>sr,getWindowByWorkspaceName:()=>rO,ArrowRightIcon:()=>s7,loadLifeCycles:()=>sN,registerBreadcrumbs:()=>e9,MotherIcon:()=>aK,fetchCurrentPatient:()=>nB,Toast:()=>dI,MessageQueueIcon:()=>az,TwoFactorAuthenticationIcon:()=>lf,Pharmacy2Pictogram:()=>dd,goBackInHistory:()=>t_,GroupAccessIcon:()=>aO,getExtensionRenderingsStore:()=>oB,setImplementerToolsConfigRecomputer:()=>em,getAsyncExtensionLifecycle:()=>ih,setupApiModule:()=>tX,renderLoadingSpinner:()=>m$,WorkspaceContainer:()=>ms,showNotification:()=>u_,getModalRegistration:()=>rk,ListCheckedIcon:()=>aB,ResponsiveWrapper:()=>dx,GynaecologyPictogram:()=>de,ShoppingCartIcon:()=>lo,getRouteMapNextPageMap:()=>nC,MetadataExportPictogram:()=>di,updateVisit:()=>n1,backendDependencies:()=>tK,MaybePictogram:()=>db,createParcelMounter:()=>rH,openmrsFetch:()=>tN,useStore:()=>r0,isOpenmrsAppRoutes:()=>nf,HomePictogram:()=>dw,DentistryPictogram:()=>u8,ServiceQueuesPictogram:()=>dp,toLanguageTag:()=>lz,launchWorkspace:()=>dL,setFeatureFlag:()=>oR,DigitalTrustPictogram:()=>u3,NumericObservation:()=>uk,attachmentUrl:()=>n$,interpolateString:()=>td,inRange:()=>e1,useExtensionSlotMeta:()=>iG,AppointmentsPictogram:()=>uZ,renderSnackbars:()=>dC,getRegisteredWorkspace2Names:()=>m_,logout:()=>tG,toLocationObject:()=>nH,ChartLineIcon:()=>al,UserHasAccess:()=>sf,evaluateAsBooleanAsync:()=>oi,changeWorkspaceContext:()=>dV,createDashboard:()=>lP,getLocations:()=>nG,useExtensionContext:()=>iF,canCloseWorkspaceWithoutPrompting:()=>dR,getExtensionsConfigStore:()=>er,getRouteMapDefaultMap:()=>nN,age:()=>u$,isOmrsDateStrict:()=>l0,registerWorkspaceGroups2:()=>rR,usePaginationInfo:()=>sl,evaluateAsync:()=>oo,useOpenmrsFetchAll:()=>i6,removeImportMapOverride:()=>nr,showWorkspacePrompts:()=>d0,useVisitTypes:()=>sS,ageAsDuration:()=>uT,getExtensionNameFromId:()=>rs,renderParcel:()=>rF,useWorkspace2Context:()=>mh,ResetIcon:()=>a7,RenewIcon:()=>a3,subscribeActionableNotificationShown:()=>f,ErrorCard:()=>c0,GenderFemaleIcon:()=>aN,enableImportMapOverride:()=>ns,retry:()=>mq,ComponentContext:()=>rq,ExtensionSlot:()=>ie,unsetLeftNav:()=>rb,addImportMapOverride:()=>no,MaybeIcon:()=>lC,useCustomOverflowMenu:()=>sZ,PedestrianFamilyIcon:()=>a0,cancelPrompt:()=>dH,CtScanPictogram:()=>u5,dispatchNotificationShown:()=>c,leftNavStore:()=>rw,OpenmrsFetchError:()=>tC,UserFollowIcon:()=>lh,launchWorkspaceGroup2:()=>mc,ChevronRightIcon:()=>af,UserXrayIcon:()=>l_,GenderOtherIcon:()=>aE,formatDuration:()=>cs,toOmrsIsoString:()=>l6,Labs2Pictogram:()=>dr,workspace2Store:()=>rA,setUserLanguage:()=>t$,useBodyScrollLock:()=>iO,getExtensionConfig:()=>ei,SyringeIcon:()=>ls,LocationPicker:()=>c2,useDebounce:()=>iW,TimeIcon:()=>lc,getExtensionSlotConfig:()=>en,AddIcon:()=>s8,getRouteMapOverrideMap:()=>nE,processConfig:()=>e$,InventoryManagementIcon:()=>aL,registerWorkspaces2:()=>rW,UserIcon:()=>lw,formatPatientName:()=>uP,fireOpenmrsEvent:()=>nU,registerModal:()=>rx,registerTranslationNamespace:()=>eE,displayName:()=>uI,evaluate:()=>on,defineExtensionConfigSchema:()=>eI,renderWorkspaceWindowsAndMenu:()=>mB,getSyncLifecycle:()=>ig,evaluateAsTypeAsync:()=>oc});let i="openmrs:notification-shown",s="openmrs:actionable-notification-shown",a="openmrs:toast-shown",l="openmrs:snack-bar-shown";function c(e){window.dispatchEvent(new CustomEvent(i,{detail:e}))}function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function p(e){let t=t=>e(t.detail);return window.addEventListener(i,t),()=>window.removeEventListener(i,t)}function f(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function _(e,t){return e instanceof Error?e.message||t:"string"==typeof e&&e.trim().length>0?e:t}function w(e){let t=b(e);setTimeout(()=>{throw t})}function y(){let e=Error();return t=>{let n=b(t);n.stack+=`
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_implementer_tools_app=globalThis.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([["3077"],{9668(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>sT,evaluateAsNumber:()=>ou,getImportMapOverrideMap:()=>nr,StockManagementPictogram:()=>dw,ChemistryIcon:()=>sg,BabyIcon:()=>sr,DashboardExtension:()=>lT,openmrsComponentDecorator:()=>ih,tryRegisterExtension:()=>aT,pictogramIds:()=>u1,ActivityIcon:()=>a7,compile:()=>of,removeRouteMapOverride:()=>nR,TableBatchActions:()=>aX,getAsyncLifecycle:()=>iw,subscribeOpenmrsEvent:()=>nV,PasswordIcon:()=>s6,Assessment2Pictogram:()=>u8,CloseIcon:()=>sb,setupRouteMapOverrides:()=>nW,getWorkspaceGroupRegistration:()=>rR,registerWorkspace:()=>rP,useFeatureFlag:()=>iX,reset:()=>rv,LabOrderIcon:()=>sH,VisitMode:()=>nZ,useLocations:()=>as,getLifecycle:()=>i_,formatDatetime:()=>cl,getVisitsForPatient:()=>n3,formatPartialDate:()=>cr,CustomOverflowMenu:()=>a6,LocationIcon:()=>sz,GroupIcon:()=>s$,createUseStore:()=>r3,VisitStatus:()=>nQ,getSessionLocation:()=>tH,getCurrentImportMap:()=>nh,usePatient:()=>af,useRenderableExtensions:()=>ah,getOpenedWindowIndexByWorkspace:()=>rL,setLeftNav:()=>rk,clearHistory:()=>tx,clearConfigErrors:()=>e1,formatTime:()=>cs,isDevEnabled:()=>tZ,closeWorkspaceGroup2:()=>mf,getCurrentRouteMap:()=>nI,ConfigurableLink:()=>rQ,sessionStore:()=>tO,setSessionLocale:()=>tz,subscribeSnackbarShown:()=>_,getLoggedInUser:()=>tF,GenderMaleIcon:()=>sA,getExtensionSlotConfigFromStore:()=>er,evaluateAsNumberAsync:()=>od,getImportMapDefaultMap:()=>nn,unregisterExtensionRendering:()=>oY,implementerToolsConfigStore:()=>ew,Type:()=>G,InPatientPictogram:()=>da,cleanupObsoleteFeatureFlags:()=>oM,getAttachmentsUrl:()=>nU,showSnackbar:()=>dO,PatientBannerActionsMenu:()=>uq,PatientSearchPictogram:()=>dd,DocumentAttachmentIcon:()=>sS,Snackbar:()=>dC,CardiologyPictogram:()=>u4,ImageMedicalIcon:()=>sL,ActionableNotificationComponent:()=>up,DiagnosisTags:()=>cQ,iconIds:()=>a4,PatientsPictogram:()=>dm,interpolateUrl:()=>tf,setupHistory:()=>ty,subscribeToastShown:()=>h,detachAll:()=>rh,convertToLocaleCalendar:()=>cc,DocumentIcon:()=>sk,configInternalStore:()=>Z,ActionMenuButton2:()=>mP,setupDynamicOfflineDataHandler:()=>m1,makeUrl:()=>tI,oneOf:()=>e7,selectPreferredName:()=>uM,launchWorkspaceGroup:()=>function e(t,n){let o=rR(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:a,workspaceToLaunch:s}=n,l=function(){return dZ}();if(l.getState().openWorkspaces.length){let o=l.getState().workspaceGroup;o?dB(o?.name,()=>{e(t,n)}):d2(()=>{e(t,n)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:o.members,cleanup:a}})),d4(t,r),i?.(),s&&dF(s.name,s.additionalProps??{})},MobileCheckIcon:()=>sY,createErrorHandler:()=>b,parseDate:()=>l7,getAttachmentByUuid:()=>nD,LeftNavMenu:()=>c8,getExtensionRegistration:()=>rm,ShoppingCartAddItemIcon:()=>lP,ReferralOrderIcon:()=>s9,ReportIcon:()=>lt,dispatchToastShown:()=>p,getImportMapNextPageMap:()=>no,registerExtension:()=>rp,setupOfflineSync:()=>m0,DownloadIcon:()=>sj,useConnectivity:()=>m3,provide:()=>eR,ShoppingCartArrowDownIcon:()=>ll,featureFlagsStore:()=>oR,promptBeforeClosing:()=>dz,jsep:()=>n4.A,GeriatricsPictogram:()=>dr,SearchIcon:()=>lr,reportError:()=>y,slugify:()=>np,isOmrsDateToday:()=>l8,getExtensionStore:()=>oZ,BloodBankPictogram:()=>u3,TriagePictogram:()=>db,Workspace2:()=>mS,refetchCurrentUser:()=>tD,CheckmarkOutlineIcon:()=>sf,registerExtensionSlot:()=>rb,AllergiesIcon:()=>lN,ArrowDownIcon:()=>se,useOpenmrsInfinite:()=>i8,getExtensionConfigFromExtensionSlotStore:()=>el,OpenmrsDatePicker:()=>cY,getExtensionConfigFromStore:()=>es,getDynamicOfflineDataEntries:()=>m2,getLocaleDisplayName:()=>lX,messageOmrsServiceWorker:()=>m5,navigate:()=>th,launchWorkspace2:()=>mg,getGroupByWindowName:()=>rW,CustomOverflowMenuItem:()=>a5,isUrl:()=>e4,CaretDownIcon:()=>ss,ArrowLeftIcon:()=>st,FacilityPictogram:()=>dn,ViewOffIcon:()=>lk,updateInternalExtensionStore:()=>oz,dispatchActionableNotificationShown:()=>d,resetRouteMapOverrides:()=>n$,formatDurationBetween:()=>c_,defaultVisitCustomRepresentation:()=>n0,getBreadcrumbsFor:()=>ts,useOpenmrsPagination:()=>iZ,Pagination:()=>uA,CheckmarkFilledIcon:()=>sp,clearCurrentUser:()=>tB,showModal:()=>uc,ChevronUpIcon:()=>sy,saveVisit:()=>n5,useAttachments:()=>i$,Pictogram:()=>dj,useExtensionSlot:()=>io,ChevronDownIcon:()=>sh,OpenmrsDateRangePicker:()=>cZ,deleteAttachmentPermanently:()=>nH,getVisitTypes:()=>nY,OverflowMenuHorizontalIcon:()=>s1,EventScheduleIcon:()=>sE,getSessionStore:()=>tW,ActionMenu:()=>mc,ProcedureOrderIcon:()=>s4,preloadImport:()=>ng,registerWorkspaceWindows2:()=>rB,useOnVisible:()=>ac,setSessionLocation:()=>tG,userHasAccess:()=>tU,ChartAverageIcon:()=>sd,getFeatureFlag:()=>oW,UserAvatarIcon:()=>ly,renderExtension:()=>rK,useFhirInfinite:()=>ae,toVisitTypeObject:()=>nK,useSession:()=>a_,EmergencyDepartmentPictogram:()=>dt,Notification:()=>ud,dispatchSnackbarShown:()=>m,navigateAndLaunchWorkspace:()=>dH,formatDate:()=>ci,workspace2StoreActions:()=>mw,SwitcherIcon:()=>la,esmStyleGuideSchema:()=>aJ,getImportMapDisabledOverrides:()=>ni,useAssignedExtensionIds:()=>iT,CaretRightIcon:()=>sc,evaluateAsType:()=>om,PageHeader:()=>uI,TranslateIcon:()=>lg,setUserProperties:()=>tV,MovementIcon:()=>s0,renderInlineNotifications:()=>ub,subscribePrecacheStaticDependencies:()=>m8,PaymentsDeskPictogram:()=>dp,usePrimaryIdentifierCode:()=>ag,useLayoutType:()=>an,getCurrentUser:()=>tM,XrayPictogram:()=>dv,CaretUpIcon:()=>su,renderActionableNotifications:()=>ux,OpenmrsAppContext:()=>iE,setupModals:()=>ul,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(mq(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;mq(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>M,recordConfigDerivationError:()=>eh,useAbortController:()=>iP,Extension:()=>r0,getFhirServerPaginationHandlers:()=>i2,useConnectedExtensions:()=>iB,registerApp:()=>a$,HospitalBedIcon:()=>sW,useExtensionInternalStore:()=>iJ,configExtensionStore:()=>ee,getSynchronizationItems:()=>m6,getExtensionSlotsConfigStore:()=>en,registerExtensionRendering:()=>oX,RenderIfValueIsTruthy:()=>iI,registerFeatureFlag:()=>o$,useFhirFetchAll:()=>i9,restBaseUrl:()=>tN,CalendarHeatMapIcon:()=>si,getWorkspaceRegistration:()=>rT,isImportMapOverrideDisabled:()=>na,resetConfigSystem:()=>e2,getExtensionInternalStore:()=>oH,registerGlobalStore:()=>R,evaluateAsBoolean:()=>ol,PatientBannerPatientInfo:()=>uV,addRouteMapOverride:()=>nT,getDefaultCalendar:()=>cn,SettingsIcon:()=>li,DrugOrderIcon:()=>sN,ProgramsIcon:()=>s7,useAssignedExtensions:()=>it,CloseFilledIcon:()=>sv,canAccessStorage:()=>mJ,registerDefaultCalendar:()=>ct,TreeViewAltIcon:()=>l_,OverflowMenuVerticalIcon:()=>s2,clearConfigDerivationError:()=>e_,getConfigStore:()=>et,registerWorkspaceGroup:()=>rA,InformationSquareIcon:()=>sU,EmptyCard:()=>c2,ChevronLeftIcon:()=>s_,RadiologyIcon:()=>lI,useCandidateExtensions:()=>iR,renderToasts:()=>dW,isDesktop:()=>ao,integrateBreakpoints:()=>aB,RegistrationPictogram:()=>dh,CardHeader:()=>aG,getExtensionRegistrationFrom:()=>rd,InformationIcon:()=>sD,TrashCanIcon:()=>lh,useShallowStableValue:()=>r1,useOpenmrsSWR:()=>au,Assessment1Pictogram:()=>u5,finishRegisteringAllApps:()=>aM,importDynamic:()=>nf,useFhirPagination:()=>i1,useVisitContextStore:()=>aj,ArrowUpIcon:()=>so,showActionableNotification:()=>uk,useForceUpdate:()=>iY,useVisit:()=>aN,updateWorkspaceWindowState:()=>d0,PatientBannerPatientIdentifiers:()=>uF,WorkspaceNotification:()=>ma,TransferPictogram:()=>dy,usePagination:()=>ad,Breakpoint:()=>aW,PatientBannerToggleContactDetailsButton:()=>mA,CloseOutlineIcon:()=>sx,ObstetricsPictogram:()=>du,parseDateInput:()=>cd,getConfig:()=>eM,attach:()=>rf,getLocale:()=>lY,ActionMenuButton:()=>mn,isUrlWithTemplateParameters:()=>e3,useEmrConfiguration:()=>iz,useLeftNav:()=>ar,ToolsIcon:()=>lf,ErrorState:()=>c6,detach:()=>rg,setCurrentVisit:()=>n6,ConditionsIcon:()=>lE,SaveIcon:()=>lo,useWorkspaces:()=>d6,resetWorkspaceStore:()=>d3,useConfig:()=>iD,validator:()=>z,CalendarIcon:()=>sa,getHistory:()=>tb,StickyNoteAddIcon:()=>lc,useWorkspace2Store:()=>my,getPatientName:()=>uO,getVisitStore:()=>n2,getCoreTranslation:()=>tp,registerModuleWithConfigSystem:()=>eP,registerModuleLoad:()=>eA,getBreadcrumbs:()=>tr,extractVariableNames:()=>oA,translateFrom:()=>tm,useStoreWithActions:()=>r8,EditIcon:()=>sC,getCandidateExtensions:()=>ry,shallowEqual:()=>x,subscribeNotificationShown:()=>f,MaximizeIcon:()=>sJ,promptForClosingWorkspaces:()=>m_,WarningIcon:()=>lj,closeAllWorkspaces:()=>d2,fhirBaseUrl:()=>tC,matchLocale:()=>mV,registerBreadcrumb:()=>tn,usePatientPhoto:()=>uY,EventsIcon:()=>sI,createGlobalStore:()=>T,workspaceStore:()=>dZ,subscribeToFeatureFlag:()=>oL,useExtensionStore:()=>iK,closeWorkspace:()=>dK,createAttachment:()=>nF,useLeftNavStore:()=>ai,TableIcon:()=>lm,Icon:()=>lO,InformationFilledIcon:()=>sB,getCurrentPageMap:()=>nt,LaboratoryPictogram:()=>ds,temporaryConfigStore:()=>Q,getPromptBeforeClosingFcn:()=>dV,toDateObjectStrict:()=>l3,defineConfigSchema:()=>eI,filterBreadcrumbs:()=>ta,invalidateImplementerToolsConfig:()=>ef,PatientBannerContactDetails:()=>mW,getAssignedExtensions:()=>rw,PatientPhoto:()=>u0,MaterialOrderIcon:()=>sV,MicroscopeIcon:()=>sX,visitTypesUrl:()=>nX,scheduleRecomputation:()=>o6,PharmacyPictogram:()=>df,AttachmentIcon:()=>lC,MoneyIcon:()=>sZ,getAttachments:()=>nB,getWorkspaceGroupStore:()=>d4,PageHeaderContent:()=>uP,MedicationIcon:()=>sq,PrinterIcon:()=>s3,PatientListsPictogram:()=>dk,useAppContext:()=>iA,isOpenmrsRoutes:()=>ny,AppointmentsAltPictogram:()=>u6,GenericOrderTypeIcon:()=>sR,batchExtensionUpdates:()=>o1,useExtensionSlotStore:()=>r9,ViewIcon:()=>lS,formattedName:()=>u$,sessionEndpoint:()=>tE,duration:()=>cg,resetImportMapOverrides:()=>nc,TableOfContentsIcon:()=>ld,CaretLeftIcon:()=>sl,getTranslationOverrides:()=>eW,isVersionSatisfied:()=>mY,EmptyCardIllustration:()=>c1,PenIcon:()=>s8,getWorkspaceStore:()=>dQ,validators:()=>e9,setupImportMapOverrides:()=>nm,showToast:()=>dL,useDefineAppContext:()=>iC,verifyTotpCode:()=>tJ,getGlobalStore:()=>$,useOnClickOutside:()=>al,getWindowByWorkspaceName:()=>rM,ArrowRightIcon:()=>sn,loadLifeCycles:()=>aP,registerBreadcrumbs:()=>to,MotherIcon:()=>sQ,fetchCurrentPatient:()=>nG,Toast:()=>dT,MessageQueueIcon:()=>sK,TwoFactorAuthenticationIcon:()=>lw,Pharmacy2Pictogram:()=>dg,goBackInHistory:()=>tv,GroupAccessIcon:()=>sM,getExtensionRenderingsStore:()=>oG,setImplementerToolsConfigRecomputer:()=>ep,getAsyncExtensionLifecycle:()=>ib,setupApiModule:()=>t0,renderLoadingSpinner:()=>mL,WorkspaceContainer:()=>mu,showNotification:()=>uv,getModalRegistration:()=>rC,ListCheckedIcon:()=>sG,ResponsiveWrapper:()=>dN,GynaecologyPictogram:()=>di,ShoppingCartIcon:()=>ls,getRouteMapNextPageMap:()=>nA,MetadataExportPictogram:()=>dc,updateVisit:()=>n8,backendDependencies:()=>tQ,MaybePictogram:()=>dS,createParcelMounter:()=>rJ,openmrsFetch:()=>tP,useStore:()=>r5,isOpenmrsAppRoutes:()=>nw,HomePictogram:()=>dx,DentistryPictogram:()=>u9,ServiceQueuesPictogram:()=>d_,toLanguageTag:()=>lK,launchWorkspace:()=>dF,setFeatureFlag:()=>oD,DigitalTrustPictogram:()=>de,NumericObservation:()=>uC,attachmentUrl:()=>nL,interpolateString:()=>tg,inRange:()=>e8,useExtensionSlotMeta:()=>iq,AppointmentsPictogram:()=>u2,renderSnackbars:()=>dA,getRegisteredWorkspace2Names:()=>mv,logout:()=>tq,toLocationObject:()=>nJ,ChartLineIcon:()=>sm,UserHasAccess:()=>aw,evaluateAsBooleanAsync:()=>oc,changeWorkspaceContext:()=>dX,createDashboard:()=>lR,getLocations:()=>nq,useExtensionContext:()=>iV,canCloseWorkspaceWithoutPrompting:()=>dD,getExtensionsConfigStore:()=>ei,getRouteMapDefaultMap:()=>nP,age:()=>uL,isOmrsDateStrict:()=>l5,registerWorkspaceGroups2:()=>rD,usePaginationInfo:()=>am,evaluateAsync:()=>os,useOpenmrsFetchAll:()=>i4,removeImportMapOverride:()=>nl,showWorkspacePrompts:()=>d5,useVisitTypes:()=>aE,ageAsDuration:()=>uW,getExtensionNameFromId:()=>ru,renderParcel:()=>rV,useWorkspace2Context:()=>mb,ResetIcon:()=>ln,RenewIcon:()=>le,subscribeActionableNotificationShown:()=>g,ErrorCard:()=>c5,GenderFemaleIcon:()=>sP,enableImportMapOverride:()=>nu,retry:()=>mZ,ComponentContext:()=>rZ,ExtensionSlot:()=>ii,unsetLeftNav:()=>rS,addImportMapOverride:()=>ns,MaybeIcon:()=>lA,useCustomOverflowMenu:()=>a2,PedestrianFamilyIcon:()=>s5,cancelPrompt:()=>dJ,CtScanPictogram:()=>u7,dispatchNotificationShown:()=>u,leftNavStore:()=>rx,OpenmrsFetchError:()=>tA,UserFollowIcon:()=>lb,launchWorkspaceGroup2:()=>mp,ChevronRightIcon:()=>sw,UserXrayIcon:()=>lv,GenderOtherIcon:()=>sO,formatDuration:()=>cu,toOmrsIsoString:()=>l4,Labs2Pictogram:()=>dl,workspace2Store:()=>r$,setUserLanguage:()=>tL,useBodyScrollLock:()=>iM,getExtensionConfig:()=>ea,SyringeIcon:()=>lu,LocationPicker:()=>c3,useDebounce:()=>iU,TimeIcon:()=>lp,getExtensionSlotConfig:()=>eo,AddIcon:()=>a9,getRouteMapOverrideMap:()=>nO,processConfig:()=>eL,InventoryManagementIcon:()=>sF,registerWorkspaces2:()=>rU,UserIcon:()=>lx,formatPatientName:()=>uR,fireOpenmrsEvent:()=>nz,registerModal:()=>rN,registerTranslationNamespace:()=>eO,displayName:()=>uT,evaluate:()=>oa,defineExtensionConfigSchema:()=>eT,renderWorkspaceWindowsAndMenu:()=>mG,getSyncLifecycle:()=>iy,evaluateAsTypeAsync:()=>op});let a="openmrs:notification-shown",s="openmrs:actionable-notification-shown",l="openmrs:toast-shown",c="openmrs:snack-bar-shown";function u(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(c,{detail:e}))}function p(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function f(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function _(e){let t=t=>e(t.detail);return window.addEventListener(c,t),()=>window.removeEventListener(c,t)}function w(e,t){return e instanceof Error?e.message||t:"string"==typeof e&&e.trim().length>0?e:t}function y(e){let t=v(e);setTimeout(()=>{throw t})}function b(){let e=Error();return t=>{let n=v(t);n.stack+=`
2
2
  Async stacktrace:
3
- ${e.stack}`,w(t)}}function b(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function v(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e,t,n,o,r){return console.error("Unexpected error: ",r??e),m({description:_(r??e,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),m({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var x,k,S,j=n(1978),N=n(9167);function C(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let E={},I=Symbol.for("openmrs.esm-state.instanceCount"),P=globalThis,A=(P[I]??0)+1;function O(e,t,n="none"){let o=E[e];if(o)return o.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value.setState(t,!0),o.active=!0,o.value;{let o=M(e,t,n);return E[e]={value:o,active:!0},o}}function T(e,t){let n=E[e];return n?(n.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value=t,n.active=!0,n.value):(E[e]={value:t,active:!0},t)}function $(e,t,n="none"){let o=E[e];if(!o){let o=M(e,t??{},n);return E[e]={value:o,active:!1},o}return o.value}function R(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);v(s,t)||(s=t,r(t))})}function M(e,t,n){return"sessionStorage"===n?(0,N.y)()((0,j.Zr)(()=>t,{name:e,storage:(0,j.KU)(()=>sessionStorage)})):(0,N.y)()(()=>t)}P[I]=A,A>1&&!C()&&console.error(`Detected ${A} 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=E)},1e3);var W=n(1156),L=n(3591),D=n(4888),B=n(1400),U=n(7014),F=n(8395),H=((x={}).Array="Array",x.Boolean="Boolean",x.ConceptUuid="ConceptUuid",x.Number="Number",x.Object="Object",x.String="String",x.UUID="UUID",x.PersonAttributeTypeUuid="PersonAttributeTypeUuid",x.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",x);function G(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let z=G(e=>Array.isArray(e),"must be an array"),V=G(e=>"boolean"==typeof e,"must be a boolean"),J=G(e=>"number"==typeof e,"must be a number"),q=G(e=>"string"==typeof e,"must be a string"),K=G(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),X=G(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"),Y=O("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),Z=O("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});Z.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let Q=O("config-store-of-extension-state",{mountedExtensions:[]});function ee(e){return $(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function et(){return $("config-extension-slots",{slots:{}})}function en(e){return eo(et().getState(),e)}function eo(e,t){return e.slots[t]??{loaded:!1,config:{}}}function er(){return $("config-extensions",{configs:{}})}function ei(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=er(),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);v(r,i)||e(r,i)})}}function es(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function ea(e,t,n){return e.configure?.[n]??null}let el=(0,N.y)()(()=>({config:{}})),ec=0,eu=!0,ed=!1;function em(e){o=e}function ep(){eu=!0,ec>0&&ef()}function ef(){if(eu&&o&&!ed){ed=!0,eu=!1;try{o()}catch(e){eu=!0,eg(e),console.error("Failed to derive the implementer tools config",e)}finally{ed=!1}}}function eg(e){el.setState({derivationError:e instanceof Error?e.message:String(e)})}function eh(){el.getState().derivationError&&el.setState({derivationError:void 0})}let e_=T("config-implementer-tools",{...el,getState:()=>(0===ec&&ef(),el.getState()),setState:(...e)=>(eu=!1,el.setState(...e)),subscribe(e){ec++,ef();let t=el.subscribe(e),n=!1;return()=>{!n&&(n=!0,ec--),t()}}});function ew(e,t){if(Array.isArray(t))return t}function ey(e,t){return(0,D.A)({},e,t,ew)}let eb=[];function ev(){let e=Y.getState(),t=Z.getState(),n=Q.getState();!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=ee(n),i=e.schemas[n],s=!!e.moduleLoaded[n],a=eS.get(n);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)o=a.state;else{let r=s?function(e,t,n){let o=t.schemas[e],r=eB(e,eL(t,n));eF(o,r,e);let i=eV(o,r);return eH(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=eV(e0,eB(e,eL(t,n)));return eH(e0,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:s,config:r},eS.set(n,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,B.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=eU(eL(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&&eX(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||eX(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)||eX(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)||eX(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eq(e.configure)&&eX(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},s={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(s[t]??(s[t]=[])).push(n.configure);for(let[e,t]of Object.entries(s)){let n=1===t.length?t[0]:eU(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=et(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,B.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=er(),i=r.getState().configs,s={},a=!1,l=0;for(let r of t.mountedExtensions){let t=function(e,t,n,o,r,i,s){let a=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[a],c=JSON.stringify([n,o,e,t]),u=eR.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?a:t,m=eL(r,i),p=s?.configure?.[o]??{},f=eB(e,m),g=f?.extensionSlots?.[n]?.configure?.[o]??{},h=eU([eB(d,m),p,g]),_=l??r.schemas[t];eF(_,h,d);let w=eV(_,h);return eH(_,w,d),delete w.extensionSlots,eR.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:w}),w}(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,n,o[r.slotName]),c=i[r.slotName]?.[r.extensionId],u=c?.loaded&&(0,B.A)(c.config,t)?c:{config:t,loaded:!0};u!==c&&(a=!0),s[r.slotName]||(s[r.slotName]={}),s[r.slotName][r.extensionId]=u,l++}for(let[e,t]of Object.entries(s)){let n=i[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(s[e]=n)}a||(a=Object.keys(i).length!==Object.keys(s).length||Object.values(i).reduce((e,t)=>e+Object.keys(t).length,0)!==l),a&&r.setState({configs:s})}(e,n,t,o),ep()}function ex(){o=()=>{var e,t;let n,o;return e=Y.getState(),t=Z.getState(),n=e_.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eW.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eq(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,F.A)(o));eW.set(n,{schema:o,annotated:e}),t[n]=e}}return t}(e.schemas),o=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(n));for(let[e]of o)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=n[e],r=o.map(([t])=>t[e]),s=o.map(([,e])=>e),a=eM.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=ey(l,function e(t,n){return eq(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),eM.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,B.A)(n.config,o.config)||e_.setState(o))},ev(),eb.push(Y.subscribe(ek),Z.subscribe(ek),Q.subscribe(ek))}function ek(){eh();try{ev()}catch(e){eg(e),console.error("Failed to recompute the configuration",e)}}ex();let eS=new Map;function ej(e,t){eD(e,t);let n=ey(t,e0);Y.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eN(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:e0}}))}function eC(e){Y.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eE(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:eQ}}))}function eI(e,t){eD(e,t);let n=ey(t,e0);Y.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.`),Y.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eP(e,t="provided"){Y.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function eA(e,t,n){return new Promise(o=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eO(e){return eA(ee(e),e=>!!(e.loaded&&e.config),e=>(0,U.A)(e.config,["Display conditions","Translation overrides"]))}function eT(e,t,n){let o=[eA(ee(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&n&&o.push(eA(ei(t,n),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(o)}function e$(e,t,n){eF(e,t,n);let o=eV(e,t);return eH(e,o,n),o}let eR=new Map,eM=new Map,eW=new Map;function eL(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eD(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,s=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${o}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${o}`),!eq(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}s.hasOwnProperty("_default")||eD(e,s,i);let a=s._elements;if(eJ(a)&&eD(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
3
+ ${e.stack}`,y(t)}}function v(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function x(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e,t,n,o,r){return console.error("Unexpected error: ",r??e),p({description:w(r??e,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),p({description:w(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var k,S,j,N=n(1978),C=n(9167);function E(){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 I={},P=Symbol.for("openmrs.esm-state.instanceCount"),A=globalThis,O=(A[P]??0)+1;function T(e,t,n="none"){let o=I[e];if(o)return o.active?E()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value.setState(t,!0),o.active=!0,o.value;{let o=W(e,t,n);return I[e]={value:o,active:!0},o}}function R(e,t){let n=I[e];return n?(n.active?E()||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):(I[e]={value:t,active:!0},t)}function $(e,t,n="none"){let o=I[e];if(!o){let o=W(e,t??{},n);return I[e]={value:o,active:!1},o}return o.value}function M(...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);x(a,t)||(a=t,r(t))})}function W(e,t,n){return"sessionStorage"===n?(0,C.y)()((0,N.Zr)(()=>t,{name:e,storage:(0,N.KU)(()=>sessionStorage)})):(0,C.y)()(()=>t)}A[P]=O,O>1&&!E()&&console.error(`Detected ${O} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=I)},1e3);var L=n(1156),D=n(3591),B=n(4888),U=n(1400),F=n(7014),H=n(8395),G=((k={}).Array="Array",k.Boolean="Boolean",k.ConceptUuid="ConceptUuid",k.Number="Number",k.Object="Object",k.String="String",k.UUID="UUID",k.PersonAttributeTypeUuid="PersonAttributeTypeUuid",k.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",k);function z(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let V=z(e=>Array.isArray(e),"must be an array"),J=z(e=>"boolean"==typeof e,"must be a boolean"),q=z(e=>"number"==typeof e,"must be a number"),K=z(e=>"string"==typeof e,"must be a string"),X=z(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),Y=z(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Z=T("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),Q=T("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});Q.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let ee=T("config-store-of-extension-state",{mountedExtensions:[]});function et(e){return $(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function en(){return $("config-extension-slots",{slots:{}})}function eo(e){return er(en().getState(),e)}function er(e,t){return e.slots[t]??{loaded:!1,config:{}}}function ei(){return $("config-extensions",{configs:{}})}function ea(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let n=ei(),o=n=>n.configs[e]?.[t];return{getInitialState:()=>o(n.getInitialState()),getState:()=>o(n.getState())??{loaded:!1,config:null},subscribe:e=>n.subscribe((t,n)=>{let r=o(t),i=o(n);x(r,i)||e(r,i)})}}function es(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function el(e,t,n){return e.configure?.[n]??null}let ec=(0,C.y)()(()=>({config:{}})),eu=0,ed=!0,em=!1;function ep(e){o=e}function ef(){ed=!0,eu>0&&eg()}function eg(){if(ed&&o&&!em){em=!0,ed=!1;try{o()}catch(e){ed=!0,eh(e),console.error("Failed to derive the implementer tools config",e)}finally{em=!1}}}function eh(e){ec.setState({derivationError:e instanceof Error?e.message:String(e)})}function e_(){ec.getState().derivationError&&ec.setState({derivationError:void 0})}let ew=R("config-implementer-tools",{...ec,getState:()=>(0===eu&&eg(),ec.getState()),setState:(...e)=>(ed=!1,ec.setState(...e)),subscribe(e){eu++,eg();let t=ec.subscribe(e),n=!1;return()=>{!n&&(n=!0,eu--),t()}}});function ey(e,t){if(Array.isArray(t))return t}function eb(e,t){return(0,B.A)({},e,t,ey)}let ev=[];function ex(){let e=Z.getState(),t=Q.getState(),n=ee.getState();if(ek?.configState===e&&ek.tempConfigState===t)return void eE(e,n,t,ek.slotConfigs,!0);!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=et(n),i=e.schemas[n],a=!!e.moduleLoaded[n],s=eC.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=eG(e,eF(t,n));eV(o,r,e);let i=eX(o,r);return eJ(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=eX(e5,eG(e,eF(t,n)));return eJ(e5,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:a,config:r},eC.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,U.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=ez(eF(e,t)),o=Object.keys(n).reduce((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e),{});var r=o;for(let[e,t]of Object.entries(r))for(let[n,o]of Object.entries(t))!function(e,t,n){let o=`${t}.extensionSlots.${n}`,r=`Extension slot config '${o}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&e0(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||e0(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)||e0(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)||e0(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eZ(e.configure)&&e0(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]:ez(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=en(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,U.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),eE(e,n,t,o,!1),ek={configState:e,tempConfigState:t,slotConfigs:o},ef()}let ek=null,eS=new WeakMap;function ej(){o=()=>{var e,t;let n,o;return e=Z.getState(),t=Q.getState(),n=ew.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eU.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eZ(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,H.A)(o));eU.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=eB.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=eb(l,function e(t,n){return eZ(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),eB.set(e,{annotatedSchema:t,configSlices:r,sources:a,result:l}),i[e]=l}return i}(e,t)},void((0,U.A)(n.config,o.config)||ew.setState(o))},ex(),ev.push(Z.subscribe(eN),Q.subscribe(eN),ee.subscribe(eN))}function eN(){e_();try{ex()}catch(e){eh(e),console.error("Failed to recompute the configuration",e)}}ej();let eC=new Map;function eE(e,t,n,o,r){let i=ei(),a=i.getState().configs,s={},l=!1,c=0;for(let i of t.mountedExtensions){let t,u=a[i.slotName]?.[i.extensionId],d=u&&eS.get(u);if(r&&u?.loaded&&d?.slotModuleName===i.slotModuleName&&d.extensionModuleName===i.extensionModuleName)t=u;else{let r=function(e,t,n,o,r,i,a){let s=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[s],c=JSON.stringify([n,o,e,t]),u=eD.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?s:t,m=eF(r,i),p=a?.configure?.[o]??{},f=eG(e,m),g=f?.extensionSlots?.[n]?.configure?.[o]??{},h=ez([eG(d,m),p,g]),_=l??r.schemas[t];eV(_,h,d);let w=eX(_,h);return eJ(_,w,d),delete w.extensionSlots,eD.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:w}),w}(i.slotModuleName,i.extensionModuleName,i.slotName,i.extensionId,e,n,o[i.slotName]);t=u?.loaded&&(0,U.A)(u.config,r)?u:{config:r,loaded:!0}}eS.set(t,i),t!==u&&(l=!0),s[i.slotName]||(s[i.slotName]={}),s[i.slotName][i.extensionId]=t,c++}for(let[e,t]of Object.entries(s)){let n=a[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(s[e]=n)}l||(l=Object.keys(a).length!==Object.keys(s).length||Object.values(a).reduce((e,t)=>e+Object.keys(t).length,0)!==c),l&&i.setState({configs:s})}function eI(e,t){eH(e,t);let n=eb(t,e5);Z.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eP(e){Z.setState(t=>({...t,schemas:{...t.schemas,[e]:e5}}))}function eA(e){Z.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eO(e){Z.setState(t=>({...t,schemas:{...t.schemas,[e]:e6}}))}function eT(e,t){eH(e,t);let n=eb(t,e5);Z.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.`),Z.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eR(e,t="provided"){Z.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function e$(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 eM(e){return e$(et(e),e=>!!(e.loaded&&e.config),e=>(0,F.A)(e.config,["Display conditions","Translation overrides"]))}function eW(e,t,n){let o=[e$(et(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&n&&o.push(e$(ea(t,n),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(o)}function eL(e,t,n){eV(e,t,n);let o=eX(e,t);return eJ(e,o,n),o}let eD=new Map,eB=new Map,eU=new Map;function eF(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eH(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,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}`),!eZ(a)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}a.hasOwnProperty("_default")||eH(e,a,i);let s=a._elements;if(eY(s)&&eH(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
- If you're the maintainer: validators must be functions that return either undefined or an error string. Received ${t}.`);let l=s._type;l&&!Object.values(H).includes(l)&&console.error(`${e} has invalid type for key '${i}' ${o}.
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(G).includes(l)&&console.error(`${e} has invalid type for key '${i}' ${o}.
6
6
 
7
- If you're the maintainer: the allowed types are ${Object.values(H).join(", ")}. Received '${l}'`),Object.keys(s).every(e=>["_description","_validators","_elements","_type"].includes(e))&&!n.includes("._elements")&&console.error(`${e} has bad config schema definition for key '${i}'. ${o}.
7
+ If you're the maintainer: the allowed types are ${Object.values(G).join(", ")}. Received '${l}'`),Object.keys(a).every(e=>["_description","_validators","_elements","_type"].includes(e))&&!n.includes("._elements")&&console.error(`${e} has bad config schema definition for key '${i}'. ${o}.
8
8
 
9
- If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(s)}`),a&&l&&![H.Array,H.Object].includes(l)&&console.error(`${e} has bad config schema definition for key '${i}'. ${o}.
9
+ If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(a)}`),s&&l&&![G.Array,G.Object].includes(l)&&console.error(`${e} has bad config schema definition for key '${i}'. ${o}.
10
10
 
11
- If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eB(e,t){return eU(t.map(({[e]:t})=>t).filter(e=>!!e))}function eU(e){return e.reduce((e,t)=>(0,D.A)(e,t,ew),{})}function eF(e,t,n=""){for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];if(!e.hasOwnProperty(o)){("extensionSlots"!==o||""===n)&&eX(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,n,o){eG(o,t._type,n),eq(n)?t._type===H.Object?function(t,n,o){if(t._elements)for(let r of Object.keys(n)){let i=n[r];e(t._elements,i,`${o}.${r}`)}}(t,n,o):t.hasOwnProperty("_default")||t.hasOwnProperty("_type")||eF(t,n,o):t._type===H.Array&&function(t,n,o){if(eG(o,H.Array,n)){if(eJ(t._elements))for(let r=0;r<n.length;r++)e(t._elements,n[r],`${o}[${r}]`);for(let e=0;e<n.length;e++)eG(`${o}[${e}]`,t._elements?._type,n[e])}}(t,n,o)})(s,r,i)}}function eH(e,t,n=""){if(e){if(t!==e._default&&ez(n,e._validators,t),eq(t))for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];e._type===H.Object&&e._elements?eH(e._elements,r,i):eH(s,r,i)}else if(Array.isArray(t)&&e._elements)for(let o=0;o<t.length;o++)eH(e._elements,t[o],`${n}[${o}]`)}}function eG(e,t,n){return!t||ez(e,[{Array:z,Boolean:V,ConceptUuid:X,Number:J,Object:K,String:q,UUID:X,PersonAttributeTypeUuid:X,PatientIdentifierTypeUuid:X}[t]],n)}function ez(e,t,n){let o=!0;if(t)try{for(let r of t){let t=r(n);if("string"==typeof t){let r="object"==typeof n?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${n} for ${e}: ${t}`;eX(e,r),o=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
12
- ${t}`)}return o}let eV=(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&&eJ(e)){if(r._type===H.Array&&Array.isArray(o)){let r=o.map(t=>eV(e,t));n[t]=r}else if(r._type===H.Object)for(let t of Object.keys(o))o[t]=eV(e,o[t])}}else if(eq(r)){let e=o??{};eq(e)&&(n[t]=eV(r,e))}}return n};function eJ(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eq(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let eK=new Set;function eX(e,t){let n=`${e}:::${t}`;eK||(eK=new Set),eK.has(n)||(console.error(t),eK.add(n))}function eY(e){e?eK.forEach(t=>{t.startsWith(e)&&eK.delete(t)}):eK.clear()}function eZ(){eb.forEach(e=>e()),eb.length=0,eS.clear(),eR.clear(),eW.clear(),eM.clear(),ex()}let eQ={"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:H.Object,_default:{},_validators:[G(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(", ")}.`})]}},e0={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:H.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:H.String,_default:void 0}},...eQ},e1=(e,t)=>G(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),e2=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return G(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(", "))},e6=e2([]),e5=e=>G(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e8={inRange:e1,isUrl:e6,isUrlWithTemplateParameters:e2,oneOf:e5};var e3=n(4913);let e4=O("breadcrumbs",[]);function e7(e){return e9([e])}function e9(e){let t=[...te(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,e3.pathToRegexp)(e.matcher).regexp:(0,e3.pathToRegexp)(e.path).regexp,settings:e}))];e4.setState(t,!0)}function te(){return e4.getState()}function tt(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=tt(e,n.join("/"));if(t)return t}}(e,t)}function tn(e,t){if(e.length>0){let n=tt(e,t);if(n){let t=[n],o=tt(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=tt(e,o.settings.parent);return t.reverse()}}return[]}function to(e){return tn(te(),e)}var tr=n(2267);let ti={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",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",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 ts=n(2279);let ta=ts.Ay.default||ts.Ay;function tl(e,t,n,o){return ta.t(t,{ns:e,defaultValue:n,...o})}function tc(e,t,n){return ti[e]?tl("core",e,t??ti[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tu(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=td(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t});return e.startsWith("//")?o:o.replace(/^\/\//,"/")}function td(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function tm({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tu(e,t).replace(window.location.origin,""),r=new URL(o,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tc("navigateNonHttp"));o.startsWith(n)?(0,tr.EH)(o):window.location.assign(o)}ta.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tp="openmrs:history";function tf(e){let t=JSON.parse(sessionStorage.getItem(tp)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(tp,JSON.stringify(t))}function tg(){0===JSON.parse(sessionStorage.getItem(tp)??"[]").length&&document.referrer&&tf(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=th();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(tp,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?t_({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tf(window.location.href)})}function th(){return JSON.parse(sessionStorage.getItem(tp)??"[]")}function t_({toUrl:e}){let t=th(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);tm({to:t[n]}),sessionStorage.setItem(tp,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tw(){sessionStorage.removeItem(tp)}let ty="${openmrsSpaBase}/login",tb={redirectAuthFailure:{enabled:{_type:H.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:H.String,_default:ty,_validators:[e8.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:H.Array,_default:[401],_elements:{_type:H.Number,_validators:[e8.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:H.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:H.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let tx="/ws/rest/v1",tk="/ws/fhir2/R4",tS=`${tx}/session`;function tj(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tN(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=tj(e);t.headers||(t.headers={}),(0,L.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let o=!1;try{let e=new URL(n,window.location.href),t=new URL(tj(tx),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");o=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(o){let e=!1;for(let[n,o]of Object.entries(t.headers))"disable-www-authenticate"===n.toLowerCase()&&(void 0===o?delete t.headers[n]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tk)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let r=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:o,followRedirects:i}=await eO("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(n===tj(tS)||204===e.status)&&tm({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===tj(tS)&&403===e.status||o.enabled&&o.errors.includes(e.status))&&(tw(),tm({to:o.url||e.headers.get("location")||ty}),!0!==t.rejectAuthFailure)?o.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new tC(n,e,o,r)},()=>{throw new tC(n,e,null,r)})})}class tC extends Error{constructor(e,t,n,o){super(),tv(this,"response",void 0),tv(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,o.message=this.message,this.responseBody=n,this.response=t,this.stack=`Stacktrace for outgoing request:
11
+ If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eG(e,t){return ez(t.map(({[e]:t})=>t).filter(e=>!!e))}function ez(e){return e.reduce((e,t)=>(0,B.A)(e,t,ey),{})}function eV(e,t,n=""){for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,a=e[o];if(!e.hasOwnProperty(o)){("extensionSlots"!==o||""===n)&&e0(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,n,o){eq(o,t._type,n),eZ(n)?t._type===G.Object?function(t,n,o){if(t._elements)for(let r of Object.keys(n)){let i=n[r];e(t._elements,i,`${o}.${r}`)}}(t,n,o):t.hasOwnProperty("_default")||t.hasOwnProperty("_type")||eV(t,n,o):t._type===G.Array&&function(t,n,o){if(eq(o,G.Array,n)){if(eY(t._elements))for(let r=0;r<n.length;r++)e(t._elements,n[r],`${o}[${r}]`);for(let e=0;e<n.length;e++)eq(`${o}[${e}]`,t._elements?._type,n[e])}}(t,n,o)})(a,r,i)}}function eJ(e,t,n=""){if(e){if(t!==e._default&&eK(n,e._validators,t),eZ(t))for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,a=e[o];e._type===G.Object&&e._elements?eJ(e._elements,r,i):eJ(a,r,i)}else if(Array.isArray(t)&&e._elements)for(let o=0;o<t.length;o++)eJ(e._elements,t[o],`${n}[${o}]`)}}function eq(e,t,n){return!t||eK(e,[{Array:V,Boolean:J,ConceptUuid:Y,Number:q,Object:X,String:K,UUID:Y,PersonAttributeTypeUuid:Y,PatientIdentifierTypeUuid:Y}[t]],n)}function eK(e,t,n){let o=!0;if(t)try{for(let r of t){let t=r(n);if("string"==typeof t){let r="object"==typeof n?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${n} for ${e}: ${t}`;e0(e,r),o=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
12
+ ${t}`)}return o}let eX=(e,t)=>{let n=structuredClone(t);if(!e)return n;for(let t of Object.keys(e)){let o=n[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=r._default);let e=r._elements;if(o&&eY(e)){if(r._type===G.Array&&Array.isArray(o)){let r=o.map(t=>eX(e,t));n[t]=r}else if(r._type===G.Object)for(let t of Object.keys(o))o[t]=eX(e,o[t])}}else if(eZ(r)){let e=o??{};eZ(e)&&(n[t]=eX(r,e))}}return n};function eY(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eZ(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let eQ=new Set;function e0(e,t){let n=`${e}:::${t}`;eQ||(eQ=new Set),eQ.has(n)||(console.error(t),eQ.add(n))}function e1(e){e?eQ.forEach(t=>{t.startsWith(e)&&eQ.delete(t)}):eQ.clear()}function e2(){ev.forEach(e=>e()),ev.length=0,eC.clear(),eD.clear(),eU.clear(),eB.clear(),ek=null,eS=new WeakMap,ej()}let e6={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:G.Object,_default:{},_validators:[z(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e5={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:G.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:G.String,_default:void 0}},...e6},e8=(e,t)=>z(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),e3=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return z(e=>{if(!e||"string"!=typeof e)return!1;let n=/\${(.*?)}/g,o=n.exec(e);for(;o;){if(!t.includes(o[1]))return!1;o=n.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e4=e3([]),e7=e=>z(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e9={inRange:e8,isUrl:e4,isUrlWithTemplateParameters:e3,oneOf:e7};var te=n(4913);let tt=T("breadcrumbs",[]);function tn(e){return to([e])}function to(e){let t=[...tr(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,te.pathToRegexp)(e.matcher).regexp:(0,te.pathToRegexp)(e.path).regexp,settings:e}))];tt.setState(t,!0)}function tr(){return tt.getState()}function ti(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=ti(e,n.join("/"));if(t)return t}}(e,t)}function ta(e,t){if(e.length>0){let n=ti(e,t);if(n){let t=[n],o=ti(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=ti(e,o.settings.parent);return t.reverse()}}return[]}function ts(e){return ta(tr(),e)}var tl=n(2267);let tc={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",applicationError:"Application Error",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",clearDevOverrides:"Clear dev overrides",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",copied:"Copied!",copyToClipboard:"Copy to clipboard",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",reload:"Reload",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",serverStartingUp:"The server is starting",serverStartingUpExplainer:"This can take a few minutes. OpenMRS will open automatically when the server is ready.",serverStartingUpSlowExplainer:"This is taking longer than usual. First startup after an upgrade can take 10 minutes or more. You can leave this page open.",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",somethingWentWrongTryReloading:"Something went wrong. Please try reloading.",toggleDevTools:"Toggle dev tools",unknown:"Unknown",viewSetupProgress:"View setup progress",waitingForServer:"Waiting for the server",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tu=n(2279);let td=tu.Ay.default||tu.Ay;function tm(e,t,n,o){return td.t(t,{ns:e,defaultValue:n,...o})}function tp(e,t,n){return tc[e]?tm("core",e,t??tc[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tf(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tg(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t});return e.startsWith("//")?o:o.replace(/^\/\//,"/")}function tg(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function th({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tf(e,t).replace(window.location.origin,""),r=new URL(o,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tp("navigateNonHttp"));o.startsWith(n)?(0,tl.EH)(o):window.location.assign(o)}td.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let t_="openmrs:history";function tw(e){let t=JSON.parse(sessionStorage.getItem(t_)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(t_,JSON.stringify(t))}function ty(){0===JSON.parse(sessionStorage.getItem(t_)??"[]").length&&document.referrer&&tw(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=tb();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(t_,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?tv({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tw(window.location.href)})}function tb(){return JSON.parse(sessionStorage.getItem(t_)??"[]")}function tv({toUrl:e}){let t=tb(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);th({to:t[n]}),sessionStorage.setItem(t_,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tx(){sessionStorage.removeItem(t_)}let tk="${openmrsSpaBase}/login",tS={redirectAuthFailure:{enabled:{_type:G.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:G.String,_default:tk,_validators:[e9.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:G.Array,_default:[401],_elements:{_type:G.Number,_validators:[e9.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:G.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:G.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let tN="/ws/rest/v1",tC="/ws/fhir2/R4",tE=`${tN}/session`;function tI(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tP(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let n=tI(e);t.headers||(t.headers={}),(0,D.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let o=!1;try{let e=new URL(n,window.location.href),t=new URL(tI(tN),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");o=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(o){let e=!1;for(let[n,o]of Object.entries(t.headers))"disable-www-authenticate"===n.toLowerCase()&&(void 0===o?delete t.headers[n]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tC)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let r=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:o,followRedirects:i}=await eM("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(n===tI(tE)||204===e.status)&&th({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(n===tI(tE)&&403===e.status||o.enabled&&o.errors.includes(e.status))&&(tx(),th({to:o.url||e.headers.get("location")||tk}),!0!==t.rejectAuthFailure)?o.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new tA(n,e,o,r)},()=>{throw new tA(n,e,null,r)})})}class tA extends Error{constructor(e,t,n,o){super(),tj(this,"response",void 0),tj(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 tE=O("session",{loaded:!1,session:null}),tI=0,tP=null;function tA(){return tP||(tE.getState().loaded&&tI>=Date.now()-6e4?null:tR())}function tO(e){let t=e?.includeAuthStatus??!0,n=e=>t?e:e.user,o=tA();return o?new Promise(e=>{let t=()=>{let t=tE.getState();t.loaded&&(r(),e(n(t.session)))},r=tE.subscribe(t);o.then(t,t)}):Promise.resolve(n(tE.getState().session))}function tT(){return tA(),tE}function t$(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 tR(e,t){tI=Date.now();let n={};e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let o=tz(tN(tS,{headers:n,rejectAuthFailure:!0})),r=()=>{tP===o&&(tP=null)};return o.then(r,r),tP=o,o}function tM(){tE.setState({loaded:!0,session:{authenticated:!1,sessionId:""}},!0)}function tW(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,W.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,W.A)(o.privileges.find(t=>e===t.display))):((0,W.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,W.A)(t.roles.find(e=>"System Developer"===e.display))}function tL(){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(tE.getState()),e||(t=tE.subscribe(o))})}async function tD(){return(await tO()).sessionLocation}async function tB(e,t){return tz(tN(tS,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tU(e,t){return await tN(tS,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tR()}async function tF(e,t,n){return n||(n=new AbortController),await tN(`${tx}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tR()}async function tH(e,t=!1){let n=await tN(t?`${tS}?rememberMe=true`:tS,{headers:{"X-Totp-Code":e}});return n.data?.authenticated?(await tR()).session:n.data}async function tG(){try{await tN(tS,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tV(e))throw e}tM(),await tR().catch(()=>{})}function tz(e){return new Promise((t,n)=>{e.then(e=>{if("object"==typeof e?.data){let n={loaded:!0,session:e.data};tE.setState(n,!0),t(n)}else n(tJ(Error("The session endpoint did not respond with a session")))}).catch(e=>{if(tV(e)){var o;"object"==typeof(o=e.responseBody)&&null!==o&&!1===o.authenticated?tE.setState({loaded:!0,session:e.responseBody},!0):tM(),t(tE.getState());return}w(`Failed to fetch new session information: ${e}`),n(tJ(e))})})}function tV(e){return e instanceof tC&&(401===e.response.status||403===e.response.status)}function tJ(e){return tE.getState().loaded||tE.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e))},!0),tE.getState()}function tq(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tE.subscribe(e=>{e.loaded&&e.session&&t$(e.session)});let tK={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tX(){ej("@openmrs/esm-api",tb),tR()}let tY="import-map-override:",tZ="import-map-overrides-disabled",tQ="import-map-overrides:change",t0=!1,t1=null,t2=null;async function t6(){return t2??(t2=t5().then(({map:e,complete:t})=>(t||(t2=null),e))),t2}async function t5(){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:t8(t),complete:n}}function t8(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t3(){let e={};try{let t=nt();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(tY)){let n=o.slice(tY.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 t4(){let e=await t6();return t0?t8([e,t1??t3()]):e}async function t7(){return t6()}async function t9(){return t0?t8([await t6(),t3()]):t6()}function ne(e){if(!t0)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(tY)){let t=localStorage.getItem(n);t&&(e[n.slice(tY.length)]=t)}}return{imports:e}}return t3()}function nt(){if(!t0)return[];try{let e=localStorage.getItem(tZ);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function nn(e){return!!t0&&nt().includes(e)}function no(e,t){if(!t0)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tY+e,t),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function nr(e){if(!t0)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tY+e);let t=nt().filter(t=>t!==e);t.length>0?localStorage.setItem(tZ,JSON.stringify(t)):localStorage.removeItem(tZ),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function ni(){if(!t0)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(tY)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(tZ),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function ns(e){if(!t0)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=nt().filter(t=>t!==e);t.length>0?localStorage.setItem(tZ,JSON.stringify(t)):localStorage.removeItem(tZ),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let na=!1;function nl(){!na&&(na=!0,(t0="development"===window.spaEnv)&&(t1=t3()))}function nc(e){return e.replace(/[\/\-@]/g,"_")}async function nu(e,t="./start",o){var r;let i,s=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nd(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=s)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},s)})]),i&&clearTimeout(i);let a=nc(e),l=window[a];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${a} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function nd(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=nc(e);if(!window[n]){let n=t??await nm();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 ne().imports;try{return await function(e){var t;let n=(t=window)[np]??(t[np]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function s(){clearTimeout(i),r.removeEventListener("load",a),r.removeEventListener("error",l)}function a(){s(),t()}function l(t){s(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&m({kind:"error",title:tc("scriptLoadingFailed","Error: Script failed to load"),description:tc("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:tc("resetOverrides","Reset overrides"),onActionButtonClick(){ni(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function nm(){return t4()}let np=Symbol.for("__openmrs_script_loading");function nf(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 ng(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&&nf(t))}let nh="openmrs-routes:",n_="openmrs-routes:change",nw=!1,ny=null,nb=null;async function nv(){return nb??(nb=nx().then(({map:e,complete:t})=>(t||(nb=null),e))),nb}async function nx(){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&&ng(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:nk(t),complete:n}}function nk(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 nS(){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(nh)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(nh.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(nf(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(nf(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 nj(){let e=await nv();return nw?nk([e,ny??await nS()]):e}async function nN(){return nv()}async function nC(){return nw?nk([await nv(),await nS()]):nv()}function nE(){if(!nw)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(nh)){let t=localStorage.getItem(n);t&&(e[n.slice(nh.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nI(e,t){if(!nw)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(nh+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!nf(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(nh+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(nh+e,JSON.stringify(t.toString()));else{if(!nf(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(nh+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(n_))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nP(e){if(!nw)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(nh+e),window.dispatchEvent(new CustomEvent(n_))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nA(){if(!nw)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(nh)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(n_))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let nO=null;function nT(){return nO||(nO=(nw="development"===window.spaEnv)?nS().then(e=>{ny=e}):Promise.resolve())}let n$=`${tx}/attachment`;function nR(e,t){return tN(`${n$}/${e}`,{signal:t.signal})}function nM(e,t,n,o){return tN(nW(e,t,o),{signal:n.signal})}function nW(e,t,n){return n?`${n$}?patient=${e}&encounter=${n}`:`${n$}?patient=${e}&includeEncounterless=${t}`}async function nL(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tN(`${n$}`,{method:"POST",body:o})}function nD(e,t){return tN(`${n$}/${e}`,{method:"DELETE",signal:t.signal})}async function nB(e,t){return e?(await tN(`${tk}/Patient/${e}`,t)).data:null}function nU(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function nF(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}function nH(e){return{uuid:e.uuid,display:e.display}}function nG(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tN(`${tx}/location${o?"?"+o:""}`).then(e=>e.data.results.map(nH))}function nz(e){return{uuid:e.uuid,display:e.display,name:e.name}}let nV=`${tx}/visittype`;function nJ(e=nV){return tN(e).then(e=>e.data.results.map(nz))}var nq=((k={}).NEWVISIT="startVisit",k.EDITVISIT="editVisit",k.LOADING="loadingVisit",k),nK=((S={}).NOTSTARTED="notStarted",S.ONGOING="ongoing",S);let nX="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))",nY=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function nZ(){return $("visit",nY)}function nQ(e,t){nZ().setState({patientUuid:e,manuallySetVisitUuid:t})}function n0(e,t){return tN(`${tx}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function n1(e,t,n){return tN(`${tx}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function n2(e,t,n){return tN(`${tx}/visit?patient=${e}&v=${n??nX}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}nZ().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var n6=n(9225),n5=n(6881),n8=n(6828),n3=n(1956),n4=n(3635),n7=n(7839),n9=n(2298);let oe={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)}},ot={...oe,Promise};function on(e,t={}){return ol(e,t,od)}async function oo(e,t={}){return oc(e,t,od)}function or(e,t={}){return ol(e,t,om)}function oi(e,t={}){return oc(e,t,om)}function os(e,t={}){return ol(e,t,op)}function oa(e,t={}){return oc(e,t,op)}function ol(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=ow(t,oe),r=of("string"==typeof e?(0,n6.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 oc(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=ow(t,ot);return Promise.resolve(of("string"==typeof e?(0,n6.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 ou(e){return(0,n6.A)(e)}function od(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function om(e){return"boolean"==typeof e}function op(e){return"number"==typeof e}function of(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,s,a,l,c,u,d,m,p,f,g=e,h=t;let _=of(g.argument,h);switch(g.operator){case"+":return+_;case"-":return-_;case"~":return~_;case"!":return!_;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var w=e,y=t;switch(w.operator){case"&&":return of(w.left,y)&&of(w.right,y);case"||":return of(w.left,y)||of(w.right,y);case"??":return of(w.left,y)??of(w.right,y)}let b=of(w.left,y),v=of(w.right,y);switch(w.operator){case"+":return b+v;case"-":return b-v;case"*":return b*v;case"/":return b/v;case"%":return b%v;case"**":return b**v;case"==":return b==v;case"===":return b===v;case"!=":return b!=v;case"!==":return b!==v;case">":return b>v;case">=":return b>=v;case"<":return b<v;case"<=":return b<=v;case"in":return b in v;default:throw`Expression evaluator does not support operator '${w.operator}' operator`}case"ConditionalExpression":return n=e,o=t,of(n.test,o)?of(n.consequent,o):of(n.alternate,o);case"CallExpression":return ov(oh(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,n,o)=>{let r=e[o];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let n of Object.keys(t))if(!e(t[n]))return!1;return!0}if(Array.isArray(t)){for(let n of t)if(!e(n))break}return!1}(r)&&t.push([n,r]),t},[]));return of(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return ov(o_(e,t));case"ArrayExpression":return s=e,a=t,s.elements?.map(ox(a));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(ox(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(ox(j));switch(S.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${S.callee.name}`}}if(S.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(ok(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,C;return m=e,p=t,N=m.expressions?.map(ox(p))??[],(C=m.quasis?.map(ox(p))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+N.join("")+C.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 og(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return og(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function oh(e,t){let n=ob(e.callee,t);if(n===oy||e.optional&&null==n)return oy;let o=e.arguments?.map(ox(t));if(n){if("function"!=typeof n)throw`${oN(e.callee)} is not a function`}else throw`No function named ${oN(e.callee)} is defined in this context`;return n(...o)}function o_(e,t){let n=ob(e.object,t);if(n===oy||e.optional&&null==n)return oy;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${oj(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=og(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${oj(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(of(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);ok(o),function(e,t){if(oS.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function ow(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}n6.A.plugins.register(n5.A),n6.A.plugins.register(n8.A),n6.A.plugins.register(n3.A),n6.A.plugins.register(n4.A),n6.A.plugins.register(n7.A),n6.A.plugins.register(n9.A),n6.A.addBinaryOp("in",7),n6.A.addBinaryOp("??",1);let oy=Symbol("optional chain short-circuited");function ob(e,t){switch(e.type){case"MemberExpression":return o_(e,t);case"CallExpression":return oh(e,t);default:return of(e,t)}}function ov(e){return e===oy?void 0:e}function ox(e){return function(t){return null===t?null:of(t,e)}}function ok(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let oS=new Set(["toString","valueOf","hasOwnProperty"]);function oj(e,t){try{return og(e,t)}catch{return"<computed>"}}function oN(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function oC(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:{...ot},isLocalExpression:!1,variables:new Set};return oE("string"==typeof e?(0,n6.A)(e):e,t),[...t.variables]}function oE(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,oE(o.argument,r);case"BinaryExpression":return i=e,s=t,[oE(i.left,s),oE(i.right,s)].filter(Boolean);case"ConditionalExpression":return a=e,l=t,[oE(a.consequent,l),oE(a.test,l),oE(a.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=oE(c.callee,u),c.arguments?.map(oI(u)),n;case"ArrowFunctionExpression":var o,r,i,s,a,l,c,u,d,m,p,f,g,h,_,w,y=e,b=t;let v={...b};v.isLocalExpression=!0;let x=y.params?.map(oI(v))??[],k=oE(y.body,v)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||b.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(oE(S.object,j),S.computed)return void oE(S.property,j);let N={...j};N.isLocalExpression=!0,oE(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(oI(m));case"SequenceExpression":return p=e,f=t,void p.expressions?.map(oI(f));case"NewExpression":return g=e,h=t,void g.arguments?.map(oI(h));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 _=e,w=t,void(_.expressions?.map(oI(w)),_.quasis?.map(oI(w)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function oI(e){return function(t){return null===t?null:oE(t,e)}}let oP=$("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 oA(e,t,n){oP.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function oO(){let e=oP.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 oT(e){return oP.getState().flags[e].enabled}function o$(e,t){oP.subscribe(n=>{t(n.flags[e].enabled)})}function oR(e,t){oP.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}oP.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 oM=n(1216);let oW=O("extensionsInternal",{slots:{},extensions:{}}),oL=O("extensionRenderings",{renderings:new Map}),oD=()=>$("extensionsInternal",{slots:{},extensions:{}}),oB=()=>$("extensionRenderings",{renderings:new Map});function oU(e){let t=oW.getState(),n=e(t);n!==t&&oW.setState(n)}let oF=null,oH=null;function oG(){let e=oL.getState();return oF&&e===oH||(oF=new Map(e.renderings),oH=e,function(e){for(let t of(o0.clear(),e.values()))o2(t,1);o1=!0}(oF)),oF}function oz(e){oH={renderings:e},oL.setState(oH,!0)}function oV(e){let t=oG();t.has(e.renderingId)||(t.set(e.renderingId,e),o2(e,1),oz(t))}function oJ(e){let t=oG(),n=t.get(e);n&&(t.delete(e),o2(n,-1),oz(t))}let oq=()=>$("extensions",{slots:{}}),oK=0,oX=new Set;function oY(e){oK++;try{return e()}finally{if(0==--oK&&oX.size>0){let e=Array.from(oX);for(let t of(oX.clear(),e))oZ(t)}}}function oZ(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function oQ(e){oK>0?oX.add(e):oZ(e)}let o0=new Map,o1=!1;function o2(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=o0.get(n);if(!o){if(t<0)return;o0.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),o1=!0;return}o.count+=t,o.count<1&&(o0.delete(n),o1=!0)}function o6(){var e,t;if(oG(),!o1)return;o1=!1;let n=Array.from(o0.values(),({record:e})=>e);n.sort(o5),e=Q.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===o5(e,t[n]))||Q.setState({mountedExtensions:n})}function o5(e,t){return o8(e.slotName,t.slotName)||o8(e.extensionId,t.extensionId)||o8(e.slotModuleName,t.slotModuleName)||o8(e.extensionModuleName,t.extensionModuleName)}function o8(e,t){return e===t?0:e<t?-1:1}o6(),oL.subscribe(()=>oQ(o6));let o3=oD(),o4=oq(),o7=et(),o9=er(),re=new Set,rt=!1;function rn(e){if(null===e)re=null;else if(null!==re)for(let t of e)re.add(t);oQ(ro)}function ro(){if(!rt){rt=!0;try{for(let e=1;;e++){let t=re;if(null!==t&&0===t.size)return;re=new Set;try{!function(e,t,n,o,r,i=null){let s=o4.getState().slots,a={},l=!1,c=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,u]of Object.entries(e.slots)){let d=s[o];if(d&&i&&!i.has(o)){a[o]=d;continue}let{config:m}=eo(t,u.name),p=function(e,t,n,o,r,i){let s=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=o3.getState();return[...t,...n].filter(e=>!o.includes(e)).sort((e,n)=>rp(e,r,i[rs(e)]?.order,t)-rp(n,r,i[rs(n)]?.order,t))}(n,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=es(o,e,l),c=ea(n,e,l),u=c?(0,oM.A)({},s,c):s,d=rs(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tW(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(o,e,m,n,c,r.session);d&&d.moduleName===u.moduleName&&(0,B.A)(d.candidateExtensions,p)?a[o]=d:(a[o]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&o4.setState({slots:a})}(o3.getState(),o7.getState(),o9.getState(),oP.getState(),tE.getState(),t)}catch(e){throw re=null===t||null===re?null:new Set([...t,...re]),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{rt=!1}}}function rr(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 ri(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rs(e){let[t]=e.split("#");return t}function ra(e,t){let n=rs(t);return e.extensions[n]}function rl(e){return ra(o3.getState(),e)}o3.subscribe((e,t)=>{rn(e.extensions!==t.extensions?null:rr(e.slots,t.slots))}),o7.subscribe((e,t)=>{rn(rr(e.slots,t.slots))}),o9.subscribe((e,t)=>{rn(rr(e.configs,t.configs))}),oP.subscribe(()=>rn(null)),tE.subscribe(()=>rn(null)),rn(null);let rc=e=>oU(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ru(e,t){oU(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...ri(e),attachedIds:[t]}}}})}function rd(e,t){oU(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 rm(e){oU(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function rp(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 rf(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!!or(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(rg(e),t,tE.getState().session,e)}function rg(e){return o4.getState().slots[e]?.candidateExtensions??[]}let rh=(e,t)=>o3.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=ri(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),r_=()=>{re=null,oU(()=>({slots:{},extensions:{}})),oB().setState({renderings:new Map}),o4.setState({slots:{}})},rw=O("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function ry({name:e,basePath:t,mode:n,componentContext:o,state:r}){rw.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function rb(e){rw.getState().slotName===e&&rw.setState(rw.getInitialState(),!0)}let rv=O("modalRegistry",{modals:{}});function rx(e){rv.setState(t=>(t.modals[e.name]=e,t))}function rk(e){let t=rv.getState().modals[e];if(!t){let n=rl(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.`),rx(t))}return t}let rS=O("workspaceRegistrations",{workspaces:{}}),rj=O("workspaceGroups",{workspaceGroups:{}});function rN(e){rS.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 rC(e){rj.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 rE=new Set;function rI(e){let t=rS.getState().workspaces;if(t[e])return t[e];{let t=rl(e);if(t){var n;let o;return rE.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.`),rE.add(e)),{name:t.name,title:(n=t,"string"==typeof(o=n?.meta?.title)?o:o&&"object"==typeof o?tl(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 rP(e){let t=rj.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let rA=O("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function rO(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=rA.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 rT(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=rA.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 r$(e){let{openedWindows:t}=rA.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rR(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=rA.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}}rA.setState({registeredGroupsByName:o})}function rM(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=rA.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}rA.setState({registeredWindowsByName:o})}function rW(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=rA.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}rA.setState({registeredWorkspacesByName:o})}let rL=0,rD=null,rB={bootstrap:15e3,mount:15e3,unmount:15e3};function rU(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(rB).filter(t=>e[t]).map(o=>{var r,i;let s,a;return[o,(r=e[o],i=rB[o],s=Array.isArray(r)?r:[r],a=e=>s.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function rF(e,t){var n,o;let r,i,s,a,l,c=await (rD??(rD=new Promise((e,t)=>{(0,tr.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),tr.xL))),rD),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>rU(e,n)):rU(e,n)),u),a=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&a(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rH(){return rG}function rG(e,t){let n,o=rF(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 rz(e,t,n,o,r=e=>e,i={}){let s=rs(o),a=rl(o),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,p=rL++,f=`${t}/${o}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{oJ(f)}catch(t){console.error(e,t)}};try{oV({renderingId:f,extensionName:s,extensionModuleName:d,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw g(`Recomputing configuration after registering '${o}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await rF(r({...c,name:`${t}/${s}-${p}`}),{...i,_meta:u,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${o}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${o}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${o}' failed to unmount also failed`)})}else console.warn(`Tried to render ${o} into ${t} but no DOM element was available.`);return l}var rV=n(6925),rJ=n.n(rV);let rq=(0,rV.createContext)({moduleName:"",featureName:""});function rK({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,rV.useEffect)(()=>{r.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${r.href}'`),r.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),rJ().createElement("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),tm({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:tu(e,t),...r},o)}let rX=({state:e,children:t,...n})=>{let{extension:o}=(0,rV.useContext)(rq),r=(0,rV.useRef)(null),i=(0,rV.useRef)(Promise.resolve()),s=(0,rV.useRef)(!1),a=(0,rV.useRef)(!1),l=(0,rV.useRef)(e),c=(0,rV.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),u=(0,rV.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,rV.useCallback)(t=>{t&&!r.current&&!a.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(a.current=!0,rz(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rV.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rV.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?rJ().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function rY(e){let t=(0,rV.useRef)(e);return v(t.current,e)||(t.current=e),t.current}function rZ(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 rQ=e=>e;function r0(e,t=rQ,n){let o=(0,rV.useCallback)(t=>e.subscribe(t),[e]),r=(0,rV.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rV.useSyncExternalStore)(o,r,r),s=(0,rV.useMemo)(()=>n?rZ(e,n):null,[e,n]);return(0,rV.useMemo)(()=>s?{...i,...s}:i,[i,s])}function r1(e,t){return r0(e,rQ,t)}function r2(e){return function(t){let n=(0,rV.useCallback)(t=>e.subscribe(t),[]),o=(0,rV.useCallback)(()=>e.getState(),[]),r=(0,rV.useSyncExternalStore)(n,o,o),i=(0,rV.useMemo)(()=>t?rZ(e,t):null,[t]);return(0,rV.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r6=[];Object.freeze(r6);let r5={candidateExtensions:r6};Object.freeze(r5);let r8=e=>{let t=(0,rV.useCallback)(t=>t.slots?.[e]??r5,[e]);return r0(oq(),t)},r3=e=>e.session;function r4(e,t){let{candidateExtensions:n}=r8(e),o=r0(tE,r3),r=rY(t);return(0,rV.useMemo)(()=>rf(e,r),[e,r,o,n])}function r7(e,t){let{moduleName:n}=(0,rV.useContext)(rq);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rV.useEffect)(()=>{rh(n,e)},[n,e]),{extensions:r4(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function r9(e){return e}function ie({name:e,extensionSlotName:t,select:n=r9,children:o,state:r,style:i,...s}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rV.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r7(a,r),d=(0,rV.useMemo)(()=>n(c),[n,c]),m=(0,rV.useMemo)(()=>{if("function"==typeof o&&!rJ().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return rJ().createElement("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s},a&&d?.map((e,t)=>rJ().createElement(rq.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof o?o:null)??rJ().createElement(rX,{state:r}))))}var it=n(3776),io=n(9568),ir=n(9737),ii=n(749),is=n.n(ii),ia=n(5254);let il={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ic=new Map;(0,ia.initCache)(ic);let iu={errorRetryCount:3,fetcher:tN,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tC){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ic};function id(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},il,e),n={...iu,...t.swrConfig};return function(e){var o,r,i,s,a;return i=r=class extends(o=rJ().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 rJ().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=rJ().createElement(rV.Suspense,{fallback:null},rJ().createElement(ii.SWRConfig,{value:n},rJ().createElement(rq.Provider,{value:this.state.config},t.disableTranslations?rJ().createElement(e,this.props):rJ().createElement(ir.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},rJ().createElement(e,this.props)))));return t.strictMode&&rJ().StrictMode?rJ().createElement(rJ().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},s="displayName",a=`OpenmrsReactComponent(${t.featureName})`,s in i?Object.defineProperty(i,s,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[s]=a,r}}function im(e,t){return(0,io.A)({React:rJ(),ReactDOMClient:it,rootComponent:id(t)(e)})}function ip(e,t){return()=>e().then(({default:e})=>im(e,t))}function ig(e,t){return()=>Promise.resolve(im(e,t))}let ih=ip,i_=(0,N.y)()(()=>({}));T("openmrs-app-context",i_);let iw={};function iy(e,t=e=>e){let n=i_.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function ib(e,t){i_.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function iv(e){return null===e?null:Object.freeze(Object.assign({},e))}let ix=new Map;function ik(e,t){let n=(0,rV.useRef)(t??{}),o=(0,rV.useRef)(t=>ib(e,t)),r=(0,rV.useRef)(Symbol());return(0,rV.useEffect)(()=>{let n=t??{},o=r.current;return null===iy(e)?!function(e,t=iw){i_.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===iw?{}: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.`),ib(e,()=>n)),ix.set(e,o),()=>{ix.get(e)===o&&(i_.setState(t=>(e in t&&delete t[e],t)),ix.delete(e))}},[e]),(0,rV.useEffect)(()=>{let o=t??{};v(n.current,o)||(ib(e,()=>o),n.current=o)},[t]),o.current}function iS({namespace:e,value:t}){return ik(e,t),null}let ij=({children:e,value:t,fallback:n})=>t?rJ().createElement(rJ().Fragment,null,e):n?rJ().createElement(rJ().Fragment,null,n):null;function iN(){let e=(0,rV.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rV.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function iC(e,t=e=>e??{}){let[n,o]=(0,rV.useState)(()=>{if(iE(e))return;let n=iy(e);if(null!==n)return t?t(n):n});return(0,rV.useEffect)(()=>{if(iE(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rV.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>v(e,n)?e:n)})(iv(r=iy(e))),i_.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(iv(o)))})},[e,t]),n}function iE(e){return"string"!=typeof e||0===e.trim().length}function iI(e){let t=r4(e);return(0,rV.useMemo)(()=>t.map(e=>e.id),[t])}function iP(e){return r8(e).candidateExtensions}function iA(e,t,n){let{data:o,error:r,mutate:i,isLoading:s,isValidating:a}=is()(e?nW(e,t,n):null,tN);return(0,rV.useMemo)(()=>({isLoading:s,data:o?.data.results??[],error:r,mutate:i,isValidating:a}),[o,r,s,a,i])}function iO(e){(0,rV.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iT={},i$=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
- Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iR(e){let{moduleName:t,extension:n}=(0,rV.useContext)(rq),o=e?.externalModuleName??t;if(!o&&!n)throw Error(i$);let r=function(e){let t=(0,rV.useMemo)(()=>ee(e),[e]),n=function(e){let[t,n]=(0,rV.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rV.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw iT[e]||(iT[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),iT[e];return n}(o),i=function(e){let t=(0,rV.useMemo)(er,[]),n=function(e,t){let[n,o]=(0,rV.useState)(t?()=>{let n=es(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,rV.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=es(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,B.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!iT[n]&&t&&(iT[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=es(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),iT[n]}return n||{}}(n);return(0,rV.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let iM=r4;function iW(e,t=300){let[n,o]=(0,rV.useState)(e);return(0,rV.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var iL=n(8086),iD=n.n(iL);let iB=`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 iU(){let e=`${tx}/emrapi/configuration?v=${iB}`,t=iD()(e,tN);return(0,rV.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iF(){return(0,rV.useContext)(rq).extension}let iH=r2(oD());function iG(e){let t=r4(e);return(0,rV.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iz=r2(oq());function iV(e){let{flags:t}=r0(oP);return t[e]?.enabled??!1}function iJ(){let[,e]=(0,rV.useState)(0);return(0,rV.useCallback)(()=>{e(e=>e+1)},[])}function iq(e,t,n={}){return iX(e,t,iK,n)}let iK={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tj(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 iX(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tN,[d,m]=(0,rV.useState)(1),p=(0,rV.useRef)(NaN),f=(0,rV.useRef)(NaN),g=(0,rV.useRef)(d),h=(0,rV.useRef)(!1),_=(0,rV.useRef)(!1),w=e?.toString()??"",[y,b]=(0,rV.useState)(w);w!==y&&(b(w),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,_.current=!1);let v=(d-1)*t,x=(0,rV.useMemo)(()=>r(e,t,v),[e,t,v]),{data:k,...S}=(l?iD():is())(x,u,c);k?.data&&(p.current=i(k?.data),f.current=s(k?.data),h.current=!0);let j=Math.ceil(p.current/t),N=(0,rV.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(p.current/t);!h.current||Number.isNaN(n)||e<=n?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rV.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){_.current||(_.current=!0,console.warn(`useServerPagination: ${w} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(p.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,w,k]);let C=(0,rV.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rV.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(k?.data),totalPages:j,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function iY(e,t,n={}){return iX(e,t,iZ(),n)}function iZ(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tj(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 iQ=n(2216),i0=n.n(iQ);function i1(e,t={}){return i2(e,iK,t)}function i2(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=n.fetcher??tN,c=(0,rV.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...p}=i0()(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),f=i(u?.[u.length-1].data),g=s(u?.[0]?.data);return{data:u?.flatMap(e=>a(e.data)),totalCount:g,hasMore:null!=f,loadMore:()=>{m((u?.length??0)+1)},nextUri:f,...p}}function i6(e,t={}){return i5(e,iK,t)}function i5(e,t,n={}){let o=i2(e,t,n),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=o;return((0,rV.useEffect)(()=>{r&&!i&&a()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:s,isLoading:l||r}}function i8(e,t={}){return i5(e,iZ(),t)}function i3(e,t={}){return i2(e,iZ(),t)}function i4(){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 i7(){let[e,t]=(0,rV.useState)(i4);return(0,rV.useEffect)(()=>{let e=()=>{t(i4())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i9=e=>"small-desktop"===e||"large-desktop"===e;function se(e){let t=(0,rV.useContext)(rq);(0,rV.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),ry(e),()=>{rb(e.name)}),[t,e])}function st(){return r0(rw)}let sn=[];function so(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString(),{data:r}=i6(`${tx}/location${o?"?"+o:""}`,{immutable:!0});return r??sn}function sr(e,t=!0){let n=(0,rV.useRef)(null);return(0,rV.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function si(e){let t=(0,rV.useRef)();return(0,rV.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function ss(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,s=iN(),a=(0,rV.useMemo)(()=>o?.signal??n?.signal??s.signal,[n?.signal,o?.signal,s.signal]),l=(0,rV.useCallback)(e=>tN(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:a}),[a,o,r]);return is()(e,l,i)}function sa(e=[],t=10){let[n,o]=(0,rV.useState)(1),r=(0,rV.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),s=(0,rV.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),a=(0,rV.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,rV.useCallback)(()=>{o(e=>e+1)},[]),c=(0,rV.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,rV.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function sl(e,t,n,o){return{pageSizes:(0,rV.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rV.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function sc(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function su(e){let[t,n]=(0,rV.useState)(e??sc()),{data:o,error:r,isValidating:i}=is()(t?["patient",t]:null,()=>nB(t,{}));return(0,rV.useEffect)(()=>{let e=()=>{let e=sc();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rV.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function sd(){let e=`${tx}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=is()(e,tN);return(0,rV.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function sm(e){let{extensions:t,extensionSlotModuleName:n}=r7(e);return e?t.map(t=>({state:o})=>rJ().createElement(rq.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n,extensionMeta:t.meta}}},rJ().createElement(rX,{state:o}))):[]}function sp(){let e=(0,rV.useRef)(),[t,n]=(0,rV.useState)(null),o=null;if(!t){if(r){let e=tT().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(tT().getState()),o||(e.current=tT().subscribe(n))});if(o)n(o);else throw r}(0,rV.useEffect)(()=>(e.current||(e.current=tT().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 sf=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,rV.useState)(null);return((0,rV.useEffect)(()=>{let e=tT(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:n,session:o}=e.getState();return n&&r(o?.user??null),t},[]),o&&tW(e,o))?rJ().createElement(rJ().Fragment,null,n):t?rJ().createElement(rJ().Fragment,null,t):null};var sg=n(4343),sh=n.n(sg),s_=n(3355);let sw=new Map;function sy(){for(let e of Array.from(sw.values()))e()}let sb={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sv(e){let t=(0,rV.useId)();return(0,rV.useEffect)(()=>{if(e)return sw.set(t,e),()=>{sw.delete(t)}},[t,e]),{...r1(nZ(),sb),mutateVisit:sy}}function sx(e,t=nX){let n=(0,rV.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sv((0,rV.useCallback)(()=>n.current?.(),[])),s=e&&o==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=is()(e?`${tx}/visit${a}`:null,tN),{data:p,error:f,mutate:g,isValidating:h}=is()(e&&s?`${tx}/visit${l}`:null,tN),_=(0,rV.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),w=(0,rV.useMemo)(()=>s&&p?p.data:null,[p,s]),y=(0,rV.useRef)(null);(0,rV.useEffect)(()=>{!m&&_&&o===e&&null===r&&i(_),h||(y.current&&w&&y.current.uuid===w.uuid&&!y.current.stopDatetime&&w.stopDatetime&&i(null),y.current=w)},[w,r,_,m,h,o]);let b=(0,rV.useCallback)(()=>{d(),g()},[d,g]);(0,rV.useEffect)(()=>{n.current=b},[b]);let v=!!(!c||s&&!p),x=!!(s?f:u);return{error:u||f,mutate:b,isValidating:m||h,activeVisit:_,currentVisit:w,currentVisitIsRetrospective:!!s,isLoading:v&&!x}}sg.extend(s_);let sk=[];function sS(){let{data:e}=iD()(nV,nJ);return e??sk}let sj=new Map;async function sN(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,s=await nu(r);return s&&Object.hasOwn(s,i)&&"function"==typeof s[i]?sE(r,s).then(()=>s[i]()):(s?s&&Object.hasOwn(s,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${r} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${r} for ${t} defined in ${e}'s routes.json`),sC)}let sC={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sE(e,t){if(e in sj)await sj[e];else{let n=t??await nu(e);await (sj[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eC(e),t(null)}).catch(o)}eC(e),t(null)}))}}function sI(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 tO=T("session",{loaded:!1,session:null}),tT=0,tR=null;function t$(){return tR||(tO.getState().loaded&&tT>=Date.now()-6e4?null:tD())}function tM(e){let t=e?.includeAuthStatus??!0,n=e=>t?e:e.user,o=t$();return o?new Promise(e=>{let t=()=>{let t=tO.getState();t.loaded&&(r(),e(n(t.session)))},r=tO.subscribe(t);o.then(t,t)}):Promise.resolve(n(tO.getState().session))}function tW(){return t$(),tO}function tL(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tD(e,t){tT=Date.now(),r??(r=tT);let n={};e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let o=tK(tP(tE,{headers:n,rejectAuthFailure:!0})),i=()=>{tR===o&&(tR=null)};return o.then(i,i),tR=o,o}function tB(){tO.setState({loaded:!0,session:{authenticated:!1,sessionId:""}},!0)}function tU(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,L.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,L.A)(o.privileges.find(t=>e===t.display))):((0,L.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,L.A)(t.roles.find(e=>"System Developer"===e.display))}function tF(){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(tO.getState()),e||(t=tO.subscribe(o))})}async function tH(){return(await tM()).sessionLocation}async function tG(e,t){return tK(tP(tE,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tz(e,t){return await tP(tE,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tD()}async function tV(e,t,n){return n||(n=new AbortController),await tP(`${tN}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tD()}async function tJ(e,t=!1){let n=await tP(t?`${tE}?rememberMe=true`:tE,{headers:{"X-Totp-Code":e}});return n.data?.authenticated?(await tD()).session:n.data}async function tq(){try{await tP(tE,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tX(e))throw e}tB(),await tD().catch(()=>{})}function tK(e){return new Promise((t,n)=>{e.then(e=>{if("object"==typeof e?.data){let n={loaded:!0,session:e.data};tO.setState(n,!0),t(n)}else!function(e){if(!e?.redirected||!e.url)return!1;try{return new URL(e.url,window.location.href).pathname.replace(/\/+$/,"").endsWith("/initialsetup")}catch{return!1}}(e)?n(tY(Error("The session endpoint did not respond with a session"))):n(tY(Error("The server is still starting up"),!0))}).catch(e=>{var o,i;if(tX(e)){"object"==typeof(o=e.responseBody)&&null!==o&&!1===o.authenticated?tO.setState({loaded:!0,session:e.responseBody},!0):tB(),t(tO.getState());return}(i=e)instanceof tA&&502===i.response.status&&!tO.getState().loaded&&void 0!==r&&Date.now()-r<18e4?n(tY(e,!0)):(y(`Failed to fetch new session information: ${e}`),n(tY(e)))})})}function tX(e){return e instanceof tA&&(401===e.response.status||403===e.response.status)}function tY(e,t=!1){return tO.getState().loaded||tO.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e)),initializing:t},!0),tO.getState()}function tZ(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tO.subscribe(e=>{e.loaded&&e.session&&tL(e.session)});let tQ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function t0(){eI("@openmrs/esm-api",tS),tD()}let t1="import-map-override:",t2="import-map-overrides-disabled",t6="import-map-overrides:change",t5=!1,t8=null,t3=null;async function t4(){return t3??(t3=t7().then(({map:e,complete:t})=>(t||(t3=null),e))),t3}async function t7(){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:t9(t),complete:n}}function t9(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function ne(){let e={};try{let t=ni();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(t1)){let n=o.slice(t1.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 nt(){let e=await t4();return t5?t9([e,t8??ne()]):e}async function nn(){return t4()}async function no(){return t5?t9([await t4(),ne()]):t4()}function nr(e){if(!t5)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(t1)){let t=localStorage.getItem(n);t&&(e[n.slice(t1.length)]=t)}}return{imports:e}}return ne()}function ni(){if(!t5)return[];try{let e=localStorage.getItem(t2);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function na(e){return!!t5&&ni().includes(e)}function ns(e,t){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(t1+e,t),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function nl(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(t1+e);let t=ni().filter(t=>t!==e);t.length>0?localStorage.setItem(t2,JSON.stringify(t)):localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function nc(){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(t1)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nu(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=ni().filter(t=>t!==e);t.length>0?localStorage.setItem(t2,JSON.stringify(t)):localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nd=!1;function nm(){!nd&&(nd=!0,(t5="development"===window.spaEnv)&&(t8=ne()))}function np(e){return e.replace(/[\/\-@]/g,"_")}async function nf(e,t="./start",o){var r;let i,a=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([ng(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=np(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 ng(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=np(e);if(!window[n]){let n=t??await nh();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 nr().imports;try{return await function(e){var t;let n=(t=window)[n_]??(t[n_]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function 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&&p({kind:"error",title:tp("scriptLoadingFailed","Error: Script failed to load"),description:tp("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tp("resetOverrides","Reset overrides"),onActionButtonClick(){nc(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function nh(){return nt()}let n_=Symbol.for("__openmrs_script_loading");function nw(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function ny(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&nw(t))}let nb="openmrs-routes:",nv="openmrs-routes:change",nx=!1,nk=null,nS=null;async function nj(){return nS??(nS=nN().then(({map:e,complete:t})=>(t||(nS=null),e))),nS}async function nN(){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&&ny(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nC(t),complete:n}}function nC(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nE(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let n=localStorage.key(e);if(n?.startsWith(nb)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(nb.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(nw(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(nw(o))return{moduleName:e,routes:o};throw Error(`${n} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===n.status?e.routes[n.value.moduleName]=n.value.routes:console.warn("[route-maps] Failed to load route override",n.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function nI(){let e=await nj();return nx?nC([e,nk??await nE()]):e}async function nP(){return nj()}async function nA(){return nx?nC([await nj(),await nE()]):nj()}function nO(){if(!nx)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(nb)){let t=localStorage.getItem(n);t&&(e[n.slice(nb.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nT(e,t){if(!nx)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(nb+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!nw(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(nb+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(nb+e,JSON.stringify(t.toString()));else{if(!nw(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(nb+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(nv))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nR(e){if(!nx)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(nb+e),window.dispatchEvent(new CustomEvent(nv))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function n$(){if(!nx)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(nb)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(nv))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let nM=null;function nW(){return nM||(nM=(nx="development"===window.spaEnv)?nE().then(e=>{nk=e}):Promise.resolve())}let nL=`${tN}/attachment`;function nD(e,t){return tP(`${nL}/${e}`,{signal:t.signal})}function nB(e,t,n,o){return tP(nU(e,t,o),{signal:n.signal})}function nU(e,t,n){return n?`${nL}?patient=${e}&encounter=${n}`:`${nL}?patient=${e}&includeEncounterless=${t}`}async function nF(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tP(`${nL}`,{method:"POST",body:o})}function nH(e,t){return tP(`${nL}/${e}`,{method:"DELETE",signal:t.signal})}async function nG(e,t){return e?(await tP(`${tC}/Patient/${e}`,t)).data:null}function nz(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function nV(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}function nJ(e){return{uuid:e.uuid,display:e.display}}function nq(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tP(`${tN}/location${o?"?"+o:""}`).then(e=>e.data.results.map(nJ))}function nK(e){return{uuid:e.uuid,display:e.display,name:e.name}}let nX=`${tN}/visittype`;function nY(e=nX){return tP(e).then(e=>e.data.results.map(nK))}var nZ=((S={}).NEWVISIT="startVisit",S.EDITVISIT="editVisit",S.LOADING="loadingVisit",S),nQ=((j={}).NOTSTARTED="notStarted",j.ONGOING="ongoing",j);let n0="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))",n1=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function n2(){return $("visit",n1)}function n6(e,t){n2().setState({patientUuid:e,manuallySetVisitUuid:t})}function n5(e,t){return tP(`${tN}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function n8(e,t,n){return tP(`${tN}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function n3(e,t,n){return tP(`${tN}/visit?patient=${e}&v=${n??n0}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}n2().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var n4=n(9225),n7=n(6881),n9=n(6828),oe=n(1956),ot=n(3635),on=n(7839),oo=n(2298);let or={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)}},oi={...or,Promise};function oa(e,t={}){return om(e,t,og)}async function os(e,t={}){return op(e,t,og)}function ol(e,t={}){return om(e,t,oh)}function oc(e,t={}){return op(e,t,oh)}function ou(e,t={}){return om(e,t,o_)}function od(e,t={}){return op(e,t,o_)}function om(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=ox(t,or),r=ow("string"==typeof e?(0,n4.A)(e):e,o);if(n(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function op(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ox(t,oi);return Promise.resolve(ow("string"==typeof e?(0,n4.A)(e):e,o)).then(t=>{if(n(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function of(e){return(0,n4.A)(e)}function og(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function oh(e){return"boolean"==typeof e}function o_(e){return"number"==typeof e}function ow(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,a,s,l,c,u,d,m,p,f,g=e,h=t;let _=ow(g.argument,h);switch(g.operator){case"+":return+_;case"-":return-_;case"~":return~_;case"!":return!_;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var w=e,y=t;switch(w.operator){case"&&":return ow(w.left,y)&&ow(w.right,y);case"||":return ow(w.left,y)||ow(w.right,y);case"??":return ow(w.left,y)??ow(w.right,y)}let b=ow(w.left,y),v=ow(w.right,y);switch(w.operator){case"+":return b+v;case"-":return b-v;case"*":return b*v;case"/":return b/v;case"%":return b%v;case"**":return b**v;case"==":return b==v;case"===":return b===v;case"!=":return b!=v;case"!==":return b!==v;case">":return b>v;case">=":return b>=v;case"<":return b<v;case"<=":return b<=v;case"in":return b in v;default:throw`Expression evaluator does not support operator '${w.operator}' operator`}case"ConditionalExpression":return n=e,o=t,ow(n.test,o)?ow(n.consequent,o):ow(n.alternate,o);case"CallExpression":return oj(ob(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,n,o)=>{let r=e[o];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let n of Object.keys(t))if(!e(t[n]))return!1;return!0}if(Array.isArray(t)){for(let n of t)if(!e(n))break}return!1}(r)&&t.push([n,r]),t},[]));return ow(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return oj(ov(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(oN(s));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(oN(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(oN(j));switch(S.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${S.callee.name}`}}if(S.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(oC(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,C;return m=e,p=t,N=m.expressions?.map(oN(p))??[],(C=m.quasis?.map(oN(p))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+N.join("")+C.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 oy(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return oy(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function ob(e,t){let n=oS(e.callee,t);if(n===ok||e.optional&&null==n)return ok;let o=e.arguments?.map(oN(t));if(n){if("function"!=typeof n)throw`${oP(e.callee)} is not a function`}else throw`No function named ${oP(e.callee)} is defined in this context`;return n(...o)}function ov(e,t){let n=oS(e.object,t);if(n===ok||e.optional&&null==n)return ok;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${oI(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=oy(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${oI(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(ow(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);oC(o),function(e,t){if(oE.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function ox(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}n4.A.plugins.register(n7.A),n4.A.plugins.register(n9.A),n4.A.plugins.register(oe.A),n4.A.plugins.register(ot.A),n4.A.plugins.register(on.A),n4.A.plugins.register(oo.A),n4.A.addBinaryOp("in",7),n4.A.addBinaryOp("??",1);let ok=Symbol("optional chain short-circuited");function oS(e,t){switch(e.type){case"MemberExpression":return ov(e,t);case"CallExpression":return ob(e,t);default:return ow(e,t)}}function oj(e){return e===ok?void 0:e}function oN(e){return function(t){return null===t?null:ow(t,e)}}function oC(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let oE=new Set(["toString","valueOf","hasOwnProperty"]);function oI(e,t){try{return oy(e,t)}catch{return"<computed>"}}function oP(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function oA(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:{...oi},isLocalExpression:!1,variables:new Set};return oO("string"==typeof e?(0,n4.A)(e):e,t),[...t.variables]}function oO(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,oO(o.argument,r);case"BinaryExpression":return i=e,a=t,[oO(i.left,a),oO(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[oO(s.consequent,l),oO(s.test,l),oO(s.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=oO(c.callee,u),c.arguments?.map(oT(u)),n;case"ArrowFunctionExpression":var o,r,i,a,s,l,c,u,d,m,p,f,g,h,_,w,y=e,b=t;let v={...b};v.isLocalExpression=!0;let x=y.params?.map(oT(v))??[],k=oO(y.body,v)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||b.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(oO(S.object,j),S.computed)return void oO(S.property,j);let N={...j};N.isLocalExpression=!0,oO(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(oT(m));case"SequenceExpression":return p=e,f=t,void p.expressions?.map(oT(f));case"NewExpression":return g=e,h=t,void g.arguments?.map(oT(h));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 _=e,w=t,void(_.expressions?.map(oT(w)),_.quasis?.map(oT(w)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function oT(e){return function(t){return null===t?null:oO(t,e)}}let oR=$("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function o$(e,t,n){oR.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function oM(){let e=oR.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function oW(e){return oR.getState().flags[e].enabled}function oL(e,t){oR.subscribe(n=>{t(n.flags[e].enabled)})}function oD(e,t){oR.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}oR.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var oB=n(1216);let oU=T("extensionsInternal",{slots:{},extensions:{}}),oF=T("extensionRenderings",{renderings:new Map}),oH=()=>$("extensionsInternal",{slots:{},extensions:{}}),oG=()=>$("extensionRenderings",{renderings:new Map});function oz(e){let t=oU.getState(),n=e(t);n!==t&&oU.setState(n)}let oV=null,oJ=null;function oq(){let e=oF.getState();return oV&&e===oJ||(oV=new Map(e.renderings),oJ=e,function(e){for(let t of(o5.clear(),e.values()))o3(t,1);o8=!0}(oV)),oV}function oK(e){oJ={renderings:e},oF.setState(oJ,!0)}function oX(e){let t=oq();t.has(e.renderingId)||(t.set(e.renderingId,e),o3(e,1),oK(t))}function oY(e){let t=oq(),n=t.get(e);n&&(t.delete(e),o3(n,-1),oK(t))}let oZ=()=>$("extensions",{slots:{}}),oQ=0,o0=new Set;function o1(e){oQ++;try{return e()}finally{if(0==--oQ&&o0.size>0){let e=Array.from(o0);for(let t of(o0.clear(),e))o2(t)}}}function o2(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function o6(e){oQ>0?o0.add(e):o2(e)}let o5=new Map,o8=!1;function o3(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=o5.get(n);if(!o){if(t<0)return;o5.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),o8=!0;return}o.count+=t,o.count<1&&(o5.delete(n),o8=!0)}function o4(){var e,t;if(oq(),!o8)return;o8=!1;let n=Array.from(o5.values(),({record:e})=>e);n.sort(o7),e=ee.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===o7(e,t[n]))||ee.setState({mountedExtensions:n})}function o7(e,t){return o9(e.slotName,t.slotName)||o9(e.extensionId,t.extensionId)||o9(e.slotModuleName,t.slotModuleName)||o9(e.extensionModuleName,t.extensionModuleName)}function o9(e,t){return e===t?0:e<t?-1:1}o4(),oF.subscribe(()=>o6(o4));let re=oH(),rt=oZ(),rn=en(),ro=ei(),rr=new Set,ri=!1;function ra(e){if(null===e)rr=null;else if(null!==rr)for(let t of e)rr.add(t);o6(rs)}function rs(){if(!ri){ri=!0;try{for(let e=1;;e++){let t=rr;if(null!==t&&0===t.size)return;rr=new Set;try{!function(e,t,n,o,r,i=null){let a=rt.getState().slots,s={},l=!1,c=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,u]of Object.entries(e.slots)){let d=a[o];if(d&&i&&!i.has(o)){s[o]=d;continue}let{config:m}=er(t,u.name),p=function(e,t,n,o,r,i){let a=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=re.getState(),a=new Set(o),s=[...t,...n].filter(e=>!a.has(e)),l=r_(r),c=r_(t),u=new Map(s.map(e=>[e,function(e,t,n,o){let r=t.get(e);if(void 0!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.get(e);return void 0!==t?2e3+t:3e3}}(e,l,i[ru(e)]?.order,c)]));return s.sort((e,t)=>u.get(e)-u.get(t))}(n,t.slots[e].attachedIds),s=[];for(let l of a){let{config:a}=es(o,e,l),c=el(n,e,l),u=c?(0,oB.A)({},a,c):a,d=ru(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tU(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;s.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return s}(o,e,m,n,c,r.session);d&&d.moduleName===u.moduleName&&(0,U.A)(d.candidateExtensions,p)?s[o]=d:(s[o]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&rt.setState({slots:s})}(re.getState(),rn.getState(),ro.getState(),oR.getState(),tO.getState(),t)}catch(e){throw rr=null===t||null===rr?null:new Set([...t,...rr]),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{ri=!1}}}function rl(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 rc(e,t){return{moduleName:t,name:e,attachedIds:[]}}function ru(e){let[t]=e.split("#");return t}function rd(e,t){let n=ru(t);return e.extensions[n]}function rm(e){return rd(re.getState(),e)}re.subscribe((e,t)=>{ra(e.extensions!==t.extensions?null:rl(e.slots,t.slots))}),rn.subscribe((e,t)=>{ra(rl(e.slots,t.slots))}),ro.subscribe((e,t)=>{ra(rl(e.configs,t.configs))}),oR.subscribe(()=>ra(null)),tO.subscribe(()=>ra(null)),ra(null);let rp=e=>oz(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function rf(e,t){oz(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...rc(e),attachedIds:[t]}}}})}function rg(e,t){oz(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function rh(e){oz(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function r_(e){let t=new Map;return e.forEach((e,n)=>{t.has(e)||t.set(e,n)}),t}function rw(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!ol(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(ry(e),t,tO.getState().session,e)}function ry(e){return rt.getState().slots[e]?.candidateExtensions??[]}let rb=(e,t)=>re.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=rc(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),rv=()=>{rr=null,oz(()=>({slots:{},extensions:{}})),oG().setState({renderings:new Map}),rt.setState({slots:{}})},rx=T("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rk({name:e,basePath:t,mode:n,componentContext:o,state:r}){rx.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function rS(e){rx.getState().slotName===e&&rx.setState(rx.getInitialState(),!0)}let rj=T("modalRegistry",{modals:{}});function rN(e){rj.setState(t=>(t.modals[e.name]=e,t))}function rC(e){let t=rj.getState().modals[e];if(!t){let n=rm(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.`),rN(t))}return t}let rE=T("workspaceRegistrations",{workspaces:{}}),rI=T("workspaceGroups",{workspaceGroups:{}});function rP(e){rE.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 rA(e){rI.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 rO=new Set;function rT(e){let t=rE.getState().workspaces;if(t[e])return t[e];{let t=rm(e);if(t){var n;let o;return rO.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.`),rO.add(e)),{name:t.name,title:(n=t,"string"==typeof(o=n?.meta?.title)?o:o&&"object"==typeof o?tm(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 rR(e){let t=rI.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let r$=T("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function rM(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=r$.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 rW(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=r$.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 rL(e){let{openedWindows:t}=r$.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rD(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=r$.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}}r$.setState({registeredGroupsByName:o})}function rB(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=r$.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}r$.setState({registeredWindowsByName:o})}function rU(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=r$.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}r$.setState({registeredWorkspacesByName:o})}let rF=0,rH=null,rG={bootstrap:15e3,mount:15e3,unmount:15e3};function rz(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(rG).filter(t=>e[t]).map(o=>{var r,i;let a,s;return[o,(r=e[o],i=rG[o],a=Array.isArray(r)?r:[r],s=e=>a.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,a=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function rV(e,t){var n,o;let r,i,a,s,l,c=await (rH??(rH=new Promise((e,t)=>{(0,tl.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),tl.xL))),rH),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>rz(e,n)):rz(e,n)),u),s=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&s(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function rJ(){return rq}function rq(e,t){let n,o=rV(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 rK(e,t,n,o,r=e=>e,i={}){let a=ru(o),s=rm(o),l=null;if(e){let c;if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=s,p=rF++,f=`${t}/${o}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{oY(f)}catch(t){console.error(e,t)}};try{oX({renderingId:f,extensionName:a,extensionModuleName:d,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw g(`Recomputing configuration after registering '${o}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await rV(r({...c,name:`${t}/${a}-${p}`}),{...i,_meta:u,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${o}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${o}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${o}' failed to unmount also failed`)})}else console.warn(`Tried to render ${o} into ${t} but no DOM element was available.`);return l}var rX=n(6925),rY=n.n(rX);let rZ=(0,rX.createContext)({moduleName:"",featureName:""});function rQ({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,rX.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}`)},[]),rY().createElement("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),th({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 r0=({state:e,children:t,...n})=>{let{extension:o}=(0,rX.useContext)(rZ),r=(0,rX.useRef)(null),i=(0,rX.useRef)(Promise.resolve()),a=(0,rX.useRef)(!1),s=(0,rX.useRef)(!1),l=(0,rX.useRef)(e),c=(0,rX.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,rX.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,rX.useCallback)(t=>{t&&!r.current&&!s.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(s.current=!0,rK(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,rX.useEffect)(()=>(a.current=!1,()=>{a.current=!0,c(r.current)}),[]),(0,rX.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?rY().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function r1(e){let t=(0,rX.useRef)(e);return x(t.current,e)||(t.current=e),t.current}function r2(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 r6=e=>e;function r5(e,t=r6,n){let o=(0,rX.useCallback)(t=>e.subscribe(t),[e]),r=(0,rX.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rX.useSyncExternalStore)(o,r,r),a=(0,rX.useMemo)(()=>n?r2(e,n):null,[e,n]);return(0,rX.useMemo)(()=>a?{...i,...a}:i,[i,a])}function r8(e,t){return r5(e,r6,t)}function r3(e){return function(t){let n=(0,rX.useCallback)(t=>e.subscribe(t),[]),o=(0,rX.useCallback)(()=>e.getState(),[]),r=(0,rX.useSyncExternalStore)(n,o,o),i=(0,rX.useMemo)(()=>t?r2(e,t):null,[t]);return(0,rX.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r4=[];Object.freeze(r4);let r7={candidateExtensions:r4};Object.freeze(r7);let r9=e=>{let t=(0,rX.useCallback)(t=>t.slots?.[e]??r7,[e]);return r5(oZ(),t)},ie=e=>e.session;function it(e,t){let{candidateExtensions:n}=r9(e),o=r5(tO,ie),r=r1(t);return(0,rX.useMemo)(()=>rw(e,r),[e,r,o,n])}function io(e,t){let{moduleName:n}=(0,rX.useContext)(rZ);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rX.useEffect)(()=>{rb(n,e)},[n,e]),{extensions:it(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function ir(e){return e}function ii({name:e,extensionSlotName:t,select:n=ir,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,rX.useRef)(null),{extensions:c,extensionSlotModuleName:u}=io(s,r),d=(0,rX.useMemo)(()=>n(c),[n,c]),m=(0,rX.useMemo)(()=>{if("function"==typeof o&&!rY().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return rY().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)=>rY().createElement(rZ.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof o?o:null)??rY().createElement(r0,{state:r}))))}var ia=n(3776),is=n(9568),il=n(9737),ic=n(749),iu=n.n(ic),id=n(5254);let im={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ip=new Map;(0,id.initCache)(ip);let ig={errorRetryCount:3,fetcher:tP,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tA){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ip};function ih(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},im,e),n={...ig,...t.swrConfig};return function(e){var o,r,i,a,s;return i=r=class extends(o=rY().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 rY().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=rY().createElement(rX.Suspense,{fallback:null},rY().createElement(ic.SWRConfig,{value:n},rY().createElement(rZ.Provider,{value:this.state.config},t.disableTranslations?rY().createElement(e,this.props):rY().createElement(il.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},rY().createElement(e,this.props)))));return t.strictMode&&rY().StrictMode?rY().createElement(rY().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 i_(e,t){return(0,is.A)({React:rY(),ReactDOMClient:ia,rootComponent:ih(t)(e)})}function iw(e,t){return()=>e().then(({default:e})=>i_(e,t))}function iy(e,t){return()=>Promise.resolve(i_(e,t))}let ib=iw,iv=(0,C.y)()(()=>({}));R("openmrs-app-context",iv);let ix={};function ik(e,t=e=>e){let n=iv.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function iS(e,t){iv.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function ij(e){return null===e?null:Object.freeze(Object.assign({},e))}let iN=new Map;function iC(e,t){let n=(0,rX.useRef)(t??{}),o=(0,rX.useRef)(t=>iS(e,t)),r=(0,rX.useRef)(Symbol());return(0,rX.useEffect)(()=>{let n=t??{},o=r.current;return null===ik(e)?!function(e,t=ix){iv.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===ix?{}: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.`),iS(e,()=>n)),iN.set(e,o),()=>{iN.get(e)===o&&(iv.setState(t=>(e in t&&delete t[e],t)),iN.delete(e))}},[e]),(0,rX.useEffect)(()=>{let o=t??{};x(n.current,o)||(iS(e,()=>o),n.current=o)},[t]),o.current}function iE({namespace:e,value:t}){return iC(e,t),null}let iI=({children:e,value:t,fallback:n})=>t?rY().createElement(rY().Fragment,null,e):n?rY().createElement(rY().Fragment,null,n):null;function iP(){let e=(0,rX.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rX.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function iA(e,t=e=>e??{}){let[n,o]=(0,rX.useState)(()=>{if(iO(e))return;let n=ik(e);if(null!==n)return t?t(n):n});return(0,rX.useEffect)(()=>{if(iO(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rX.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>x(e,n)?e:n)})(ij(r=ik(e))),iv.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(ij(o)))})},[e,t]),n}function iO(e){return"string"!=typeof e||0===e.trim().length}function iT(e){let t=it(e);return(0,rX.useMemo)(()=>t.map(e=>e.id),[t])}function iR(e){return r9(e).candidateExtensions}function i$(e,t,n){let{data:o,error:r,mutate:i,isLoading:a,isValidating:s}=iu()(e?nU(e,t,n):null,tP);return(0,rX.useMemo)(()=>({isLoading:a,data:o?.data.results??[],error:r,mutate:i,isValidating:s}),[o,r,a,s,i])}function iM(e){(0,rX.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iW={},iL=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
+ Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iD(e){let{moduleName:t,extension:n}=(0,rX.useContext)(rZ),o=e?.externalModuleName??t;if(!o&&!n)throw Error(iL);let r=function(e){let t=(0,rX.useMemo)(()=>et(e),[e]),n=function(e){let[t,n]=(0,rX.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rX.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw iW[e]||(iW[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),iW[e];return n}(o),i=function(e){let t=(0,rX.useMemo)(ei,[]),n=function(e,t){let[n,o]=(0,rX.useState)(t?()=>{let n=es(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,rX.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=es(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,U.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!iW[n]&&t&&(iW[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=es(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),iW[n]}return n||{}}(n);return(0,rX.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let iB=it;function iU(e,t=300){let[n,o]=(0,rX.useState)(e);return(0,rX.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var iF=n(8086),iH=n.n(iF);let iG=`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 iz(){let e=`${tN}/emrapi/configuration?v=${iG}`,t=iH()(e,tP);return(0,rX.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iV(){return(0,rX.useContext)(rZ).extension}let iJ=r3(oH());function iq(e){let t=it(e);return(0,rX.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iK=r3(oZ());function iX(e){let{flags:t}=r5(oR);return t[e]?.enabled??!1}function iY(){let[,e]=(0,rX.useState)(0);return(0,rX.useCallback)(()=>{e(e=>e+1)},[])}function iZ(e,t,n={}){return i0(e,t,iQ,n)}let iQ={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tI(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function i0(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:a,getData:s}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tP,[d,m]=(0,rX.useState)(1),p=(0,rX.useRef)(NaN),f=(0,rX.useRef)(NaN),g=(0,rX.useRef)(d),h=(0,rX.useRef)(!1),_=(0,rX.useRef)(!1),w=e?.toString()??"",[y,b]=(0,rX.useState)(w);w!==y&&(b(w),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,_.current=!1);let v=(d-1)*t,x=(0,rX.useMemo)(()=>r(e,t,v),[e,t,v]),{data:k,...S}=(l?iH():iu())(x,u,c);k?.data&&(p.current=i(k?.data),f.current=a(k?.data),h.current=!0);let j=Math.ceil(p.current/t),N=(0,rX.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(p.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,rX.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){_.current||(_.current=!0,console.warn(`useServerPagination: ${w} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(p.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,w,k]);let C=(0,rX.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rX.useCallback)(()=>{N(g.current-1)},[N]);return{data:s(k?.data),totalPages:j,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function i1(e,t,n={}){return i0(e,t,i2(),n)}function i2(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tI(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var i6=n(2216),i5=n.n(i6);function i8(e,t={}){return i3(e,iQ,t)}function i3(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=n.fetcher??tP,c=(0,rX.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...p}=i5()(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),f=i(u?.[u.length-1].data),g=a(u?.[0]?.data);return{data:u?.flatMap(e=>s(e.data)),totalCount:g,hasMore:null!=f,loadMore:()=>{m((u?.length??0)+1)},nextUri:f,...p}}function i4(e,t={}){return i7(e,iQ,t)}function i7(e,t,n={}){let o=i3(e,t,n),{hasMore:r,error:i,data:a,loadMore:s,isLoading:l,nextUri:c}=o;return((0,rX.useEffect)(()=>{r&&!i&&s()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:a,isLoading:l||r}}function i9(e,t={}){return i7(e,i2(),t)}function ae(e,t={}){return i3(e,i2(),t)}function at(){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 an(){let[e,t]=(0,rX.useState)(at);return(0,rX.useEffect)(()=>{let e=()=>{t(at())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let ao=e=>"small-desktop"===e||"large-desktop"===e;function ar(e){let t=(0,rX.useContext)(rZ);(0,rX.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rk(e),()=>{rS(e.name)}),[t,e])}function ai(){return r5(rx)}let aa=[];function as(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString(),{data:r}=i4(`${tN}/location${o?"?"+o:""}`,{immutable:!0});return r??aa}function al(e,t=!0){let n=(0,rX.useRef)(null);return(0,rX.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 ac(e){let t=(0,rX.useRef)();return(0,rX.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 au(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,a=iP(),s=(0,rX.useMemo)(()=>o?.signal??n?.signal??a.signal,[n?.signal,o?.signal,a.signal]),l=(0,rX.useCallback)(e=>tP(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:s}),[s,o,r]);return iu()(e,l,i)}function ad(e=[],t=10){let[n,o]=(0,rX.useState)(1),r=(0,rX.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,rX.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),s=(0,rX.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,rX.useCallback)(()=>{o(e=>e+1)},[]),c=(0,rX.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,rX.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 am(e,t,n,o){return{pageSizes:(0,rX.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rX.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function ap(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function af(e){let[t,n]=(0,rX.useState)(e??ap()),{data:o,error:r,isValidating:i}=iu()(t?["patient",t]:null,()=>nG(t,{}));return(0,rX.useEffect)(()=>{let e=()=>{let e=ap();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rX.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function ag(){let e=`${tN}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=iu()(e,tP);return(0,rX.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function ah(e){let{extensions:t,extensionSlotModuleName:n}=io(e);return e?t.map(t=>({state:o})=>rY().createElement(rZ.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n,extensionMeta:t.meta}}},rY().createElement(r0,{state:o}))):[]}function a_(){let e=(0,rX.useRef)(),[t,n]=(0,rX.useState)(null),o=null;if(!t){if(i){let e=tW().getState();e.loaded&&(o=e.session)}else i=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tW().getState()),o||(e.current=tW().subscribe(n))});if(o)n(o);else throw i}(0,rX.useEffect)(()=>(e.current||(e.current=tW().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let r=t||o;if(!r)if(i)throw console.warn("useSession is in an unexpected state. Attempting to recover."),i;else throw Error("useSession is in an invalid state.");return r}let aw=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,rX.useState)(null);return((0,rX.useEffect)(()=>{let e=tW(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:n,session:o}=e.getState();return n&&r(o?.user??null),t},[]),o&&tU(e,o))?rY().createElement(rY().Fragment,null,n):t?rY().createElement(rY().Fragment,null,t):null};var ay=n(4343),ab=n.n(ay),av=n(3355);let ax=new Map;function ak(){for(let e of Array.from(ax.values()))e()}let aS={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function aj(e){let t=(0,rX.useId)();return(0,rX.useEffect)(()=>{if(e)return ax.set(t,e),()=>{ax.delete(t)}},[t,e]),{...r8(n2(),aS),mutateVisit:ak}}function aN(e,t=n0){let n=(0,rX.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=aj((0,rX.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}=iu()(e?`${tN}/visit${s}`:null,tP),{data:p,error:f,mutate:g,isValidating:h}=iu()(e&&a?`${tN}/visit${l}`:null,tP),_=(0,rX.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),w=(0,rX.useMemo)(()=>a&&p?p.data:null,[p,a]),y=(0,rX.useRef)(null);(0,rX.useEffect)(()=>{!m&&_&&o===e&&null===r&&i(_),h||(y.current&&w&&y.current.uuid===w.uuid&&!y.current.stopDatetime&&w.stopDatetime&&i(null),y.current=w)},[w,r,_,m,h,o]);let b=(0,rX.useCallback)(()=>{d(),g()},[d,g]);(0,rX.useEffect)(()=>{n.current=b},[b]);let v=!!(!c||a&&!p),x=!!(a?f:u);return{error:u||f,mutate:b,isValidating:m||h,activeVisit:_,currentVisit:w,currentVisitIsRetrospective:!!a,isLoading:v&&!x}}ay.extend(av);let aC=[];function aE(){let{data:e}=iH()(nX,nY);return e??aC}let aI=new Map;async function aP(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 nf(r);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?aO(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`),aA)}let aA={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function aO(e,t){if(e in aI)await aI[e];else{let n=t??await nf(e);await (aI[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eA(e),t(null)}).catch(o)}eA(e),t(null)}))}}function aT(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(rc({name:n,load:()=>sN(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))ru(r,n)}let sP=[];function sA(e,t){oY(()=>(function(e,t){if(e&&t&&"object"==typeof t){eN(e);let n=t.extensions??[],o=t.modals??[],r=t.workspaces??[],i=t.workspaceGroups??[],s=t.featureFlags??[],a=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"))?sP.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")?sI(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?rx({name:n,moduleName:e,load:()=>sN(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(rp({name:n,load:()=>aP(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))rf(r,n)}let aR=[];function a$(e,t){o1(()=>(function(e,t){if(e&&t&&"object"==typeof t){eP(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"))?aR.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")?aT(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?rN({name:n,moduleName:e,load:()=>aP(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(rN({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:()=>sN(e,t.component)}),t.groups||[]))rC({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)?rC({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)}),rR(e,a);for(let t of(rM(e,l),l))t.icon&&sI(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});rW(e,c),s.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?oA(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(rP({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:()=>aP(e,t.component)}),t.groups||[]))rA({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)?rA({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)}),rD(e,s);for(let t of(rB(e,l),l))t.icon&&aT(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});rU(e,c),a.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?o$(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
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 sO(){sP.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sP){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let n=e.get(t.appName),o=`${t.appName}-page-${n}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),s=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=s,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let n=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===n)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
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 aM(){aR.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of aR){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,{featureFlag:t}){return t?n=>!!oT(t)&&e(n):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,tr.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tr.AG)(e,()=>sN(t.appName,t.component),o)}(o,t)}}let sT={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 s$(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sT.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sT.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sT.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sT.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sT.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sT.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sT.SMALL_DESKTOP_MAX)}let sR=!1;function sM(){sR||(window.addEventListener("resize",s$),s$(),sR=!0)}var sW=n(6870),sL=n(5530),sD=n.n(sL);function sB({title:e,children:t}){let n="tablet"===i7();return(0,sW.jsxs)("div",{className:sD()({"-esm-implementer-tools__card-header-module__tabletHeader___Vkmd-":n,"-esm-implementer-tools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,sW.jsx)("h4",{children:e}),t]})}let sU=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sF={primaryColor:{_type:H.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[e8.oneOf(sU)]},secondaryColor:{_type:H.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[e8.oneOf(sU)]}},sH={"Brand color #1":{_default:"#005d5d",_type:H.String},"Brand color #2":{_default:"#004144",_type:H.String},"Brand color #3":{_default:"#007d79",_type:H.String},excludePatientIdentifierCodeTypes:{uuids:{_type:H.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:H.UUID}}},implementationName:{_type:H.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:H.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:H.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:[e8.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:H.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:H.String}},diagnosisTags:sF};var sG=n(8326);let sz={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sV=e=>(0,sW.jsx)(sG.TableBatchActions,{translateWithId:(e,t)=>{let n=sz[e];return n?tc(n,e,t):e},...e}),sJ="-esm-implementer-tools__custom-overflow-menu-module__container___8PykS",sq="-esm-implementer-tools__custom-overflow-menu-module__menu___qsOLn",sK="-esm-implementer-tools__custom-overflow-menu-module__show___BserJ",sX="-esm-implementer-tools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sY=(0,rV.createContext)(null);function sZ(){let e=(0,rV.useContext)(sY);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sQ({menuTitle:e,children:t}){let[n,o]=rJ().useState(!1),r=sr(()=>o(!1),n),i="tablet"===i7(),s=(0,rV.useCallback)(()=>o(e=>!e),[]),a=(0,rV.useRef)(null),l=(0,rV.useRef)(null),c=(0,rV.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rV.useCallback)(()=>{o(!1),a.current?.focus()},[]),p=(0,rV.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rV.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=rV.Children.toArray(t);(0,rV.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,rV.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,s=i<0?n.length-1:i>=n.length?0:i;n[s]?.focus()},[]),_=g.map((e,t)=>(0,rV.isValidElement)(e)?(0,rV.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sW.jsxs)("div",{"data-overflow-menu":!0,className:sD()("cds--overflow-menu",sJ),ref:r,children:[(0,sW.jsx)("button",{className:sD()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sX),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:f,ref:a,children:e}),(0,sW.jsxs)("div",{className:sD()("cds--overflow-menu-options","cds--overflow-menu--flip",sq,{[sK]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,sW.jsx)("ul",{className:sD()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sW.jsx)(sY.Provider,{value:p,children:_})}),(0,sW.jsx)("span",{})]})]})}function s0(e){let t=(0,rV.useContext)(sY);return(0,sW.jsx)(sG.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var s1=n(2277),s2=n(4194);let s6=["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"],s5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),s8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),ae=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),at=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),an=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),ao=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),ar=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),ai=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),as=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),aa=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),al=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),ac=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),au=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),ad=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),am=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),ap=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),af=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),ag=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),ah=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-close",iconProps:e})})),a_=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),aw=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),ay=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-document",iconProps:e})})),ab=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),av=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-download",iconProps:e})})),ax=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),ak=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),aS=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),aj=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-events",iconProps:e})})),aN=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),aC=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),aE=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),aI=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),aP=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),aA=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aO=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aT=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),a$=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aR=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-information",iconProps:e})})),aM=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),aW=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aL=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),aD=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),aB=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),aU=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aF=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aH=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aG=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),az=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),aV=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aJ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),aq=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aK=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aX=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),aY=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aZ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aQ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-password",iconProps:e})})),a0=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),a1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),a2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),a6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),a5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),a8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),a3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),a4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-save",iconProps:e})})),le=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-search",iconProps:e})})),lt=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),ln=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),lo=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),lr=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),li=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),ls=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),la=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),ll=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lc=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-time",iconProps:e})})),lu=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),ld=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),lm=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),lp=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),lf=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lg=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lh=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),l_=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lw=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-user",iconProps:e})})),ly=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lb=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lv=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(lE,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lx=lv,lk=ab,lS=aB,lj=a$,lN=lr,lC=(0,rV.memo)((0,rV.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,rV.useRef)(e?document.getElementById(e):void 0);return(0,rV.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sW.jsx)(ij,{value:r.current,fallback:t,children:(0,sW.jsx)(lE,{ref:o,icon:e,iconProps:n})})})),lE=(0,rV.memo)((0,rV.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rV.useRef)(null);return(0,rV.useImperativeHandle)(n,()=>s.current),(0,rV.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sW.jsx)("svg",{ref:s,className:sD()("omrs-icon","-esm-implementer-tools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,sW.jsx)("use",{href:`#${e}`})})})),lI=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,ir.useTranslation)(),i=(0,s1.zy)(),s=(0,rV.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,sW.jsx)("div",{children:(0,sW.jsx)(rK,{className:sD()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${n}/${encodeURIComponent(e)}`,children:(0,sW.jsxs)("span",{className:"-esm-implementer-tools__dashboard-module__menu___ds1tf",children:[(0,sW.jsx)(lC,{icon:o,className:"-esm-implementer-tools__dashboard-module__icon___4Zrrh",size:16}),(0,sW.jsx)("span",{children:r(t)})]})})},e)};function lP(e){return function({basePath:t}){return(0,sW.jsx)(s2.Kd,{children:(0,sW.jsx)(lI,{basePath:t,...e})})}}var lA=n(7715),lO=n(7532),lT=n(3692),l$=n(7615),lR=n(700),lM=n(6816),lW=n(1168);function lL(e){return rJ().createElement(lW.C,e)}var lD=n(3010),lB=n(6513),lU=n(6190);function lF(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 lD.ng||e instanceof lD._l||e instanceof lD.Ip)return t?(0,lB.yP)(e,t):e;{let n=sh()(e).toDate(),o=new lD.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,lB.yP)(o,t):o}}function lH(e){if(e)return e.toDate((0,lU.Xj)())}var lG=n(9002);function lz(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lV(e){let t=e??"",n=lz(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function lJ(){let e=window.i18next.language,t=lz(e)??e;return"ht"===t&&(t="fr-HT"),t}var lq=n(7883),lK=n(424),lX=n(1492),lY=n(8271);function lZ(e,t){var n=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return n.get?n.get.call(e):n.value}sg.extend(s_),sg.extend(lX),sg.extend(lK);let lQ="YYYY-MM-DDTHH:mm:ss.SSSZZ";function l0(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sg(e,lQ).isValid()}function l1(e){return sg(e).isToday()}function l2(e){return l0(e)?sg(e,lQ).toDate():null}function l6(e,t=!1){let n=sg(e);return t&&(n=n.utc()),n.format(lQ)}function l5(e){return sg(e).toDate()}var l8=new WeakMap;let l3=new class{register(e,t){lZ(this,l8).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lZ(this,l8).has(t))return lZ(this,l8).get(t)}if(e.language&&lZ(this,l8).has(e.language))return lZ(this,l8).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lZ(this,l8).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,l8,{writable:!0,value:new Map})}};function l4(e,t){l3.register(e,t)}function l7(e){let t=e??lJ();return l3.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let l9={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function ce(e,t={}){let n=lJ(),o=(0,lq.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lY.A)(o.day)&&(0,lY.A)(o.month)&&(o=Object.assign({},(0,U.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,U.A)(o,"day"),{date:o.day}));let r=sg().set(o).toDate();return(0,lY.A)(o.year)&&(t.year=!1),(0,lY.A)(o.month)&&(t.month=!1),(0,lY.A)(o.date)&&(t.day=!1),ct(r,t)}function ct(e,t){let n,o=t?.locale??lJ(),r=new Intl.Locale(o),{calendar:i,mode:s,time:a,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...l9,...{noToday:"am"===r.language},...t},p={calendar:i??l7(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},f=sg(e).isToday();if(f&&!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,p).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==s&&u&&l&&(t=t.map(cn("-"))),"wide"==s&&(t=t.map(cn(" — "))),"ethiopic"===p.calendar&&(t=t.filter((e,t,n)=>"era"!==e.type&&("literal"!==e.type||!(t<n.length-1)||"era"!==n[t+1].type))),n=t.map(e=>e.value).join("")}return(!0===a||f&&"for today"===a)&&(n+=`, ${co(e)}`),n}let cn=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function co(e){return e.toLocaleTimeString(lJ(),{hour:"2-digit",minute:"2-digit"})}function cr(e,t){return ct(e,{...t,time:!0})}function ci(e,t){let n=l7("string"==typeof t?new Intl.Locale(t):t);return n?(0,lB.yP)(e,(0,lG.d)(n)):e}function cs(e,t){return new Intl.DurationFormat(lJ(),t).format(e)}function ca(e,t){if(null==e)return null;if("string"==typeof e){let n=lJ(),o=(0,lq.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,U.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,U.A)(o,"day"),...{date:o.day}}),sg(t).set(o))}return sg(e)}let cl=["years","months","days","hours","minutes","seconds"],cc={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},cu={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function cd(e,t=sg(),n){let o,r=sg(t),i=ca(e,r);if(null==i)return null;if("string"==typeof n){let e=cc[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:s,largestUnit:a,smallestUnit:l}=n??{};if(void 0!==a||void 0!==l){let e,t=l?cc[l]??l:void 0;return e="auto"===a||void 0===a?function(e,t,n){let o=cl.indexOf(n);for(let r=0;r<cl.length;r++){let i=cl[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):cc[a]??a,function(e,t,n,o){let r=cl.indexOf(n),i=cl.indexOf(o),s=cl.slice(r,i+1),a={},l=e;for(let e of s){let n=t.diff(l,e);a[e]=n,l=l.add(n,e)}return a}(i,r,e,t??e)}let c=(o=function(e){let t={...cu};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[cc[n]??n]=o);return t}(s),r.diff(i,"seconds")<o.seconds?"seconds":r.diff(i,"minutes")<o.minutes?"minutes":r.diff(i,"hours")<o.hours?"hours":r.diff(i,"days")<o.days?"days":r.diff(i,"months")<o.months?"months":"years");return{[c]:r.diff(i,c)}}let cm={style:"short",localeMatcher:"lookup"};function cp(e,t=sg(),n){let o=cd(e,t,n);return null==o?null:cs(o,"object"==typeof n&&n.formatOptions?{...cm,...n.formatOptions}:cm)}let cf=(0,rV.createContext)(null);function cg(){let e=iR({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rV.useMemo)(()=>{let t=lJ();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,rV.useMemo)(()=>{let e=l7(t);return void 0!==e?(0,lG.d)(e):void 0},[t]),o=(0,rV.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,rV.useMemo)(()=>n?(0,lB.yP)((0,lU.Ec)((0,lU.Xj)()),n):(0,lU.Ec)((0,lU.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let ch=new lD.ng(1793,1,1);var c_=n(5830),cw=n(6156),cy=n(4745),cb=n(1202);function cv(e,t){return Number.parseInt(ct(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cx=(0,rV.forwardRef)(function(e,t){let{className:n}=e,o=(0,rV.useContext)(c_.f2),r=(0,rV.useContext)(c_._I),i=o??r,s=(0,rV.useContext)(cf),a=(0,lU.Xj)(),l=ct(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=cv(i.visibleRange.start.toDate(a),s),u=i.maxValue?cv(i.maxValue.toDate(a),s):void 0,d=i.minValue?cv(i.minValue.toDate(a),s):void 0,m=(0,rV.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sW.jsxs)("span",{ref:t,className:n,children:[(0,sW.jsx)("span",{children:l}),(0,sW.jsxs)(cy.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sW.jsx)(cb.p,{}),(0,sW.jsxs)(l$.Y,{children:[(0,sW.jsx)(lR.$,{slot:"increment",children:(0,sW.jsx)(as,{size:8})}),(0,sW.jsx)(lR.$,{slot:"decrement",children:(0,sW.jsx)(ao,{size:8})})]})]})]})});var ck=n(9588);let cS="-esm-implementer-tools__datepicker-module__inputGroup___+4zks",cj="-esm-implementer-tools__datepicker-module__inputSegment___wiExn",cN="-esm-implementer-tools__datepicker-module__dateInputWrapper___uiyAC",cC="-esm-implementer-tools__datepicker-module__invalidText___SxtTL",cE="-esm-implementer-tools__datepicker-module__flatButton___UU1Qp",cI="-esm-implementer-tools__datepicker-module__flatButtonMd___fhR-1",cP="-esm-implementer-tools__datepicker-module__flatButtonSm___5INZ7",cA="-esm-implementer-tools__datepicker-module__flatButtonLg___RFMrl";function cO({children:e}){let t=(0,rV.useContext)(lO.Pg),n=(0,rV.useContext)(lO.a8),o=t??n,r=sr(()=>o?.close());return(0,sW.jsx)(ck.lG,{className:"-esm-implementer-tools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cT=(0,rV.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,s=i?c_._e:c_.Vv;return(0,sW.jsx)(cw.A,{ref:r,className:"-esm-implementer-tools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sW.jsx)(cO,{children:(0,sW.jsxs)(s,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,sW.jsxs)("header",{className:"-esm-implementer-tools__datepicker-module__header___WAVlD",children:[(0,sW.jsx)(lR.$,{className:sD()(cE,cI),slot:"previous",children:(0,sW.jsx)(ap,{size:16})}),(0,sW.jsx)(cx,{className:"-esm-implementer-tools__datepicker-module__monthYear___A3aKF"}),(0,sW.jsx)(lR.$,{className:sD()(cE,cI),slot:"next",children:(0,sW.jsx)(af,{size:16})})]}),(0,sW.jsx)(c_.r8,{className:"-esm-implementer-tools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sW.jsx)(c_.Zr,{className:sD()("cds--date-picker__day",{"-esm-implementer-tools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var c$=n(8017),cR=n(9774),cM=n(7956);let cW=(0,rV.forwardRef)(function(e,t){let n=(0,rV.useContext)(lO.Pg),[o,r]=(0,lA.JT)({slot:e.slot},t,cR.cQ),{locale:i}=(0,lW.Y)(),s=(0,cM.F)({...o,locale:i,createCalendar:lG.d}),a=(0,rV.useRef)(null),{fieldProps:l,inputProps:c}=(0,c$.cJ)({...o,inputRef:a},s,r),u=(0,rV.useCallback)(()=>{s.isDisabled||n.toggle()},[]);return(0,sW.jsxs)(lA.Kq,{values:[[cR.$,s],[cb.E,{...c,ref:a}],[l$.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,sW.jsx)(l$.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,n)=>(0,rV.cloneElement)(e.children(t),{key:n}))}),(0,sW.jsx)(cb.p,{})]})}),cL=(0,rV.forwardRef)(function(e,t){let n=(0,rV.useContext)(lO.Pg),o=(0,rV.useContext)(lO.a8);return(n??o).isInvalid?(0,sW.jsx)(lv,{ref:t,size:16,...e}):(0,sW.jsx)(an,{ref:t,size:16,...e})});var cD=n(64),cB=n(5503),cU=n(1697),cF=n(7866),cH=n(8035),cG=n(2231);let cz=(0,rV.forwardRef)(function({segment:e,...t},n){let o=(0,rV.useContext)(cR.$),r=(0,cD.U)(n),{segmentProps:i}=(0,cB.V)(e,o,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,cU.o)(),{hoverProps:c,isHovered:u}=(0,cF.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:s,values:a}=e;return(0,rV.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof n?n({...a,defaultStyle:s||{}}):n,c="function"==typeof o?o({...a,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rV.useCallback)(e=>{e.stopPropagation()},[]);return(0,sW.jsx)("span",{...(0,cH.v)((0,cG.$)(t),i,s,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":o.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":o.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":a||void 0,"data-focus-visible":l||void 0,onClick:m})}),cV={short:!1,size:"md"},cJ=(0,rV.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:s,isInvalid:a,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:p,onChangeRaw:f,short:g,size:h,value:_,...w}={...cV,...e},{calendar:y,intlLocale:b,today_:v}=cg(),x=(0,rV.useId)(),k=!!(c??l),S=(0,rV.useMemo)(()=>lF(o,y),[o,y]),j=(0,rV.useMemo)(()=>lF(_,y,!0),[_,y]),N=(0,rV.useMemo)(()=>lF(d,y),[d,y]),C=(0,rV.useMemo)(()=>lF(m??ch,y),[m,y]),E=(0,rV.useMemo)(()=>i||a,[i,a]),I=(0,rV.useMemo)(()=>(f&&p&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),f??(e=>p?.(lH(e)))),[f,p]);return(0,sW.jsx)(lL,{locale:b.toString(),children:(0,sW.jsx)("div",{className:sD()("cds--form-item",n),children:(0,sW.jsx)(lA.Kq,{values:[[cf,b]],children:(0,sW.jsxs)(lO.lr,{className:sD()("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"===b.language||void 0,...w,onChange:I,children:[(0,sW.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,sW.jsx)(lT.J,{className:sD()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sW.jsxs)(l$.Y,{className:cS,children:[(0,sW.jsx)(cW,{id:k?x:void 0,ref:t,className:sD()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__inputWrapper___kykar",{"-esm-implementer-tools__datepicker-module__inputWrapperSm___KJtg-":"sm"===h,"-esm-implementer-tools__datepicker-module__inputWrapperMd___ablE9":"md"===h||!h||0===h.length,"-esm-implementer-tools__datepicker-module__inputWrapperLg___5dkQp":"lg"===h}),children:e=>"era"!==e.type?(0,sW.jsx)(cz,{className:cj,segment:e}):(0,sW.jsx)(rJ().Fragment,{})}),(0,sW.jsx)(lR.$,{className:sD()(cE,{[cP]:"sm"===h,[cI]:"md"===h||!h||0===h.length,[cA]:"lg"===h}),children:(0,sW.jsx)(cL,{})})]}),(0,sW.jsx)(lM.b,{className:cC,children:s})]}),(0,sW.jsx)(cT,{variant:"single",today_:v})]})})})})}),cq=(0,rV.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:p="md",value:f,...g},h){let{calendar:_,intlLocale:w,today_:y}=cg(),b=(0,rV.useId)(),v=!!(a??s),x=(0,rV.useMemo)(()=>{if(f)return{start:lF(f[0],_,!1),end:lF(f[1],_,!1)}},[f,_]),k=(0,rV.useMemo)(()=>{if(t)return{start:lF(t[0],_,!1),end:lF(t[1],_,!1)}},[t,_]),S=(0,rV.useMemo)(()=>lF(u??ch,_,!0),[u,_]),j=(0,rV.useMemo)(()=>lF(c,_,!0),[c,_]),N=(0,rV.useMemo)(()=>n||i,[n,i]),C=(0,rV.useMemo)(()=>(m&&d&&console.error("An OpenmrsDateRangePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),m??(e=>d?.([lH(e.start),lH(e.end)]))),[m,d]);return(0,sW.jsx)(lL,{locale:w.toString(),children:(0,sW.jsx)("div",{className:sD()("cds--form-item",e),children:(0,sW.jsx)(lA.Kq,{values:[[cf,w]],children:(0,sW.jsx)(lO.Ur,{id:v?b:void 0,className:sD()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===w.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,sW.jsxs)("div",{className:"cds--date-picker-container",children:[v&&(0,sW.jsx)(lT.J,{className:sD()("cds--label",{"cds--label--disabled":r}),htmlFor:b,children:a??s}),(0,sW.jsxs)(l$.Y,{className:cS,children:[(0,sW.jsxs)("div",{className:sD()("-esm-implementer-tools__datepicker-module__inputsWrapper___YlkGh",{"-esm-implementer-tools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===p,"-esm-implementer-tools__datepicker-module__inputsWrapperMd___XVgGP":"md"===p||!p||0===p.length,"-esm-implementer-tools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===p}),children:[(0,sW.jsx)(cR.J3,{className:sD()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__startInput___qgbQm",cN),slot:"start",children:e=>(0,sW.jsx)(cz,{className:cj,segment:e})}),(0,sW.jsx)("div",{className:"-esm-implementer-tools__datepicker-module__separator___79vXZ",children:(0,sW.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sW.jsx)(cR.J3,{className:sD()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__endInput___huv7x",cN),slot:"end",children:e=>(0,sW.jsx)(cz,{className:cj,segment:e})})]}),(0,sW.jsx)(lR.$,{className:sD()(cE,{[cP]:"sm"===p,[cI]:"md"===p||!p||0===p.length,[cA]:"lg"===p}),children:(0,sW.jsx)(cL,{})})]}),(0,sW.jsx)(lM.b,{className:cC,children:o}),(0,sW.jsx)(cT,{variant:"range",today_:y,minDate:S,maxDate:j})]})})})})})}),cK=({diagnoses:e})=>{let{diagnosisTags:t}=iR({externalModuleName:"@openmrs/esm-styleguide"});return(0,sW.jsx)("div",{className:"-esm-implementer-tools__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,sW.jsx)(sG.Tag,{type:i,children:r},o)})})},cX={action:"-esm-implementer-tools__empty-card-module__action___Y0dul",content:"-esm-implementer-tools__empty-card-module__content___fo0nB",desktopHeading:"-esm-implementer-tools__empty-card-module__desktopHeading___0Cg1N",tabletHeading:"-esm-implementer-tools__empty-card-module__tabletHeading___BogTF",tile:"-esm-implementer-tools__empty-card-module__tile___QB8Ld"},cY=({width:e="64",height:t="64"})=>(0,sW.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sW.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cZ=e=>{let t="tablet"===i7(),n=e.launchForm;return(0,sW.jsx)(sG.Layer,{className:cX.layer,children:(0,sW.jsxs)(sG.Tile,{className:cX.tile,children:[(0,sW.jsx)("div",{className:t?cX.tabletHeading:cX.desktopHeading,children:(0,sW.jsx)("h4",{children:e.headerTitle})}),(0,sW.jsx)(cY,{}),(0,sW.jsx)("p",{className:cX.content,children:tc("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sW.jsx)("p",{className:cX.action,children:n&&(0,sW.jsx)(sG.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tc("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},cQ=({error:e,headerTitle:t})=>{let n="tablet"===i7();return(0,sW.jsx)(sG.Layer,{children:(0,sW.jsxs)(sG.Tile,{className:"-esm-implementer-tools__error-state-module__tile___dd418",children:[(0,sW.jsx)("div",{className:n?"-esm-implementer-tools__error-state-module__tabletHeading___g5rjg":"-esm-implementer-tools__error-state-module__desktopHeading___Nd9u2",children:(0,sW.jsx)("h4",{children:t})}),(0,sW.jsxs)("p",{className:"-esm-implementer-tools__error-state-module__errorMessage___z2RiN",children:[tc("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sW.jsx)("p",{className:"-esm-implementer-tools__error-state-module__errorCopy___dq+e2",children:tc("errorCopy")})]})})},c0=cQ,c1=rJ().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=st(),s=window.location??{pathname:""},a=r4(n??"");return e.isChildOfHeader&&n&&a.length>0?(0,sW.jsxs)(sG.SideNav,{"aria-label":tc("leftNavigation","Left navigation"),className:"-esm-implementer-tools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sW.jsx)(ie,{name:"global-nav-menu-slot"}),n?(0,sW.jsx)(ij,{value:r,fallback:(0,sW.jsx)(ie,{name:n,state:{basePath:o,currentPath:s,...i}}),children:(0,sW.jsx)(rq.Provider,{value:r,children:(0,sW.jsx)(ie,{name:n,state:{basePath:o,currentPath:s,...i}})})}):null]}):null}),c2=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,s]=(0,rV.useState)(""),a=(0,rV.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=iD()(t,tN,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rV.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:p,setPage:f}=function(e,t=0,n=""){let o=iW(n),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=i0()(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=`${tk}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),n&&s.append("_getpagesoffset",""+n*t),e&&s.append("_tag",e),"string"==typeof o&&""!==o&&s.append("name:contains",o),i+s.toString()},tN);return(0,rV.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(n,o,i),g=(0,rV.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rV.useCallback)(e=>{r(),s(e.trim())},[r]),_=si((0,rV.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),w=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsx)(sG.Search,{"aria-describedby":p?`${a}-error`:void 0,labelText:tc("searchForLocation"),id:a,placeholder:tc("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,sW.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,sW.jsx)(sG.InlineNotification,{kind:"error",subtitle:tc("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tc("error","Error")})}),(0,sW.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__searchResults___Gbet+",children:u?(0,sW.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sW.jsx)(sG.RadioButtonSkeleton,{className:"-esm-implementer-tools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sW.jsx)(sG.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sW.jsx)(sG.RadioButton,{className:"-esm-implementer-tools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sW.jsx)("span",{ref:t===w?_:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sW.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__emptyState___w4-Ca",children:(0,sW.jsx)("p",{className:"-esm-implementer-tools__location-picker-module__locationNotFound___Of2MJ",children:tc("noResultsToDisplay")})})}),m&&(0,sW.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingIcon___NAwSB",children:(0,sW.jsx)(sG.InlineLoading,{description:tc("loading")})})]})})]})},c6=O("modalState",{modalContainer:null,modalStack:[]}),c5=0;async function c8(e,t,n={}){let o=rk(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,s=await i(),a=c5++;r=await rF({...s,name:`${t}-${a}`},{...n,domElement:e})}else w(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c3(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function c4(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c7(e){return e.find(e=>!c3(e))}function c9(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let ue=window.getComputedStyle(document.body).overflow;function ut({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",uo),document.body.style.overflow="hidden",t.style.visibility="unset");let n=c7(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",c8(n,e.modalName,e.props).then(o=>{c3(e)?c4(e.modalName,o):o?(e.parcel=o,t.prepend(n),c9(e,c7(c6.getState().modalStack)===e),o.mountPromise.then(()=>{c3(e)||(e.state="MOUNTED")},t=>{w(t),e.parcel=null,un(e)})):un(e)},t=>{w(t),un(e)});break}case"MOUNTING":case"MOUNTED":c9(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),c4(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=c6.getState();c6.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=ue,removeEventListener("keydown",uo)}function un(e){if(c3(e))return;e.state="TO_BE_DELETED";let t=c6.getState();c6.setState({...t,modalStack:[...t.modalStack]})}function uo(e){"Escape"===e.key&&function(){let[e]=c6.getState().modalStack;e&&un(e)}()}function ur(e){c6.subscribe(ut),c6.setState({...c6.getState(),modalContainer:e})}function ui(e,t={},n=()=>{}){let o=()=>{let e=c6.getState().modalStack.find(e=>e.onClose===n);e&&un(e)};if(rk(e)){var r;let i,s;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},s=[r,...(i=c6.getState()).modalStack],c6.setState({...i,modalStack:s})}else w(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}var us=n(9685);let ua=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:s}=e;return(0,sW.jsx)(sG.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},ul=({subject:e})=>{let[t,n]=(0,rV.useState)([]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sW.jsx)(sW.Fragment,{children:t.map(e=>(0,sW.jsx)(ua,{notification:e},e.id))})},uc=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rV.useState)(t);return(0,sW.jsx)(sG.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tc("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),a&&d(a)},statusIconDescription:tc("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:s,inline:!0,...c})},uu=({subject:e})=>{let[t,n]=(0,rV.useState)([]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sW.jsx)(sW.Fragment,{children:t.map(e=>(0,sW.jsx)(uc,{notification:e},e.id))})};class ud{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"listeners",new Set)}}let um=new ud,up=0,uf=new ud,ug=0;function uh(e){e&&(0,it.createRoot)(e).render((0,sW.jsx)(ul,{subject:um}))}function u_(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,us.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{um.next({...e,id:up++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function uw(e){e&&(0,it.createRoot)(e).render((0,sW.jsx)(uu,{subject:uf}))}function uy(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,us.A)(t))?setTimeout(()=>{uf.next({...e,id:ug++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let ub=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],uv=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],ux={container:"-esm-implementer-tools__numeric-observation-module__container___NfxbH",card:"-esm-implementer-tools__numeric-observation-module__card___9oQAh","abnormal-value":"-esm-implementer-tools__numeric-observation-module__abnormal-value___drvEi","critical-value":"-esm-implementer-tools__numeric-observation-module__critical-value___JAIHt",cell:"-esm-implementer-tools__numeric-observation-module__cell___lTunW","critically-high":"-esm-implementer-tools__numeric-observation-module__critically-high___aDUjc","critically-low":"-esm-implementer-tools__numeric-observation-module__critically-low___5srAK",high:"-esm-implementer-tools__numeric-observation-module__high___7KiyK",low:"-esm-implementer-tools__numeric-observation-module__low___Zs2ct","label-container":"-esm-implementer-tools__numeric-observation-module__label-container___lGnGH","value-container":"-esm-implementer-tools__numeric-observation-module__value-container___hHPXt",label:"-esm-implementer-tools__numeric-observation-module__label___WFuxk",value:"-esm-implementer-tools__numeric-observation-module__value___6fHUr",units:"-esm-implementer-tools__numeric-observation-module__units___EdVuw","pad-right":"-esm-implementer-tools__numeric-observation-module__pad-right___6T9Cd","off-scale-low":"-esm-implementer-tools__numeric-observation-module__off-scale-low___Sc1CV","off-scale-high":"-esm-implementer-tools__numeric-observation-module__off-scale-high___cWpU2",arrow:"-esm-implementer-tools__numeric-observation-module__arrow___SLGUh"},uk=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:s="card",patientUuid:a})=>{let l=(0,rV.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tx}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tx}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=iD()(n,tN),s=o?.data?.results?.[0];return{referenceRange:s?{hiNormal:s.hiNormal??null,hiAbsolute:s.hiAbsolute??null,hiCritical:s.hiCritical??null,lowNormal:s.lowNormal??null,lowAbsolute:s.lowAbsolute??null,lowCritical:s.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,a),d=r??c,m=(0,rV.useMemo)(()=>{if(o)return o?"--"===o?"normal":ub.includes(o)?o.toLowerCase():uv.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",p="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,f="normal"!==m,g=n?`omrs-numeric-obs-label-${n.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,_=`omrs-numeric-obs-unit-${l}`,w=null!=e&&""!==e,y=w?e:tc("notAvailable","Not available"),b=sD()({[ux["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[ux["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[ux.low]:"low"===m,[ux.high]:"high"===m,[ux["off-scale-low"]]:"off_scale_low"===m,[ux["off-scale-high"]]:"off_scale_high"===m}),v=sD()({[ux.container]:!0,[ux.card]:!0,[ux["critical-value"]]:p,[ux["abnormal-value"]]:f&&!p}),x=sD()({[ux.cell]:!0,[b]:!0});return"cell"===s?(0,sW.jsxs)("div",{className:x,children:[y,w&&t?` ${t}`:""]}):(0,sW.jsxs)("section",{className:v,"data-testid":"numeric-observation-card",children:[n&&(0,sW.jsxs)("div",{className:ux["label-container"],children:[(0,sW.jsx)("span",{id:g,className:ux.label,children:n}),f&&(0,sW.jsx)("span",{className:ux[m.replace("_","-")],title:tc("abnormalValue","Abnormal value")})]}),(0,sW.jsxs)("div",{className:ux["value-container"],children:[(0,sW.jsx)("span",{id:h,"aria-labelledby":g&&_?`${g} ${_}`:g||_||void 0,className:ux.value,children:y}),w&&t&&(0,sW.jsx)("span",{id:_,className:ux.units,children:t})]})]})},uS="-esm-implementer-tools__page-header-module__pageHeader___YOpQL",uj=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,sW.jsx)("div",{className:sD()(uS,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,sW.jsx)("div",{className:sD()(uS,o),...r,children:(0,sW.jsx)(uN,{title:t,illustration:n})})}},uN=({title:e,illustration:t,className:n})=>{let[o,r]=(0,rV.useState)(null);return(0,rV.useEffect)(()=>{eO("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sW.jsxs)("div",{className:sD()("-esm-implementer-tools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,sW.jsxs)("div",{className:"-esm-implementer-tools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,sW.jsx)("p",{children:tc(o.implementationName)}),(0,sW.jsx)("p",{className:"-esm-implementer-tools__page-header-module__pageName___3d4IC",children:e})]})]})},uC=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=sl(t,e,o,i),c="tablet"===i7(),u=tc("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sW.jsx)(sW.Fragment,{children:e>0&&(0,sW.jsxs)("div",{className:sD()({"-esm-implementer-tools__pagination-module__tablet___lQ3ak":c,"-esm-implementer-tools__pagination-module__desktop___HfUTY":!c}),children:[(0,sW.jsxs)("div",{children:[u,r&&(0,sW.jsx)(rK,{to:r,className:"-esm-implementer-tools__pagination-module__configurableLink___NM9v7",children:s??tc("seeAll","See all")})]}),(0,sW.jsx)(sG.Pagination,{className:"-esm-implementer-tools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:a,totalItems:e,onChange:n,pageRangeText:(e,t)=>tc("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uE(e){return uP(uO(e,"usual","official"))}function uI(e){return uE(e)}function uP(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function uA(e){return uP(e)}function uO(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 uT(e,t=sg()){let n=sg(t),o=ca(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),s=n.diff(o,"weeks"),a=n.diff(o,"months"),l=n.diff(o,"years"),c={};if(r<2)c.minutes=n.diff(o,"minutes");else if(i<2)c.hours=r;else if(s<4)c.days=i;else if(l<1){let e=n.subtract(s,"weeks").diff(o,"days");c.weeks=s,c.days=e}else if(l<2){let e=n.subtract(a,"months").diff(o,"days");c.months=a,c.days=e}else if(l<18){let e=n.subtract(l,"year").diff(o,"months");c.years=l,c.months=e}else c.years=l;return c}function u$(e,t=sg()){let n=uT(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),cs(n,o)}let uR={container:"-esm-implementer-tools__patient-banner-patient-info-module__container___Gjd-4",activePatientContainer:"-esm-implementer-tools__patient-banner-patient-info-module__activePatientContainer___QLcpg",patientBanner:"-esm-implementer-tools__patient-banner-patient-info-module__patientBanner___7nrgC",patientName:"-esm-implementer-tools__patient-banner-patient-info-module__patientName___-bF9a",patientAvatar:"-esm-implementer-tools__patient-banner-patient-info-module__patientAvatar___AkN3H",patientAvatarButton:"-esm-implementer-tools__patient-banner-patient-info-module__patientAvatarButton___KDxA6",patientInfo:"-esm-implementer-tools__patient-banner-patient-info-module__patientInfo___+WtDB",demographics:"-esm-implementer-tools__patient-banner-patient-info-module__demographics___Vtf3v",row:"-esm-implementer-tools__patient-banner-patient-info-module__row___NIOYI",flexRow:"-esm-implementer-tools__patient-banner-patient-info-module__flexRow___VxdGB",tagsSlot:"-esm-implementer-tools__patient-banner-patient-info-module__tagsSlot___lU6+4",identifiers:"-esm-implementer-tools__patient-banner-patient-info-module__identifiers___tehd8",identifier:"-esm-implementer-tools__patient-banner-patient-info-module__identifier___bSJIF",primaryIdentifier:"-esm-implementer-tools__patient-banner-patient-info-module__primaryIdentifier___yOV1B",secondaryIdentifier:"-esm-implementer-tools__patient-banner-patient-info-module__secondaryIdentifier___WvJbh",value:"-esm-implementer-tools__patient-banner-patient-info-module__value___sBM-q",tag:"-esm-implementer-tools__patient-banner-patient-info-module__tag___BEvEV",gender:"-esm-implementer-tools__patient-banner-patient-info-module__gender___4XkLq",separator:"-esm-implementer-tools__patient-banner-patient-info-module__separator___iYBA3",tooltipPadding:"-esm-implementer-tools__patient-banner-patient-info-module__tooltipPadding___EWVCK",tooltipSmallText:"-esm-implementer-tools__patient-banner-patient-info-module__tooltipSmallText___yDmRU",actionsButtonText:"-esm-implementer-tools__patient-banner-patient-info-module__actionsButtonText___mn139"};function uM({showIdentifierLabel:e,type:t,value:n}){return(0,sW.jsx)("span",{className:uR.primaryIdentifier,children:(0,sW.jsxs)(sG.Tag,{className:uR.tag,type:"gray",children:[e&&t?.text&&(0,sW.jsxs)("span",{className:uR.label,children:[t.text,": "]}),(0,sW.jsx)("span",{className:uR.value,children:n})]})})}function uW({showIdentifierLabel:e,type:t,value:n}){return(0,sW.jsxs)(sG.FormLabel,{className:uR.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,sW.jsxs)("span",{className:uR.label,children:[t?.text,": "]}),(0,sW.jsx)("span",{className:uR.value,children:n})]})}function uL({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=iR(),{primaryIdentifierCode:o}=sd(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,sW.jsx)(sW.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,sW.jsxs)(rJ().Fragment,{children:[(0,sW.jsx)("span",{className:uR.identifier,children:n?.coding?.[0]?.code===o?(0,sW.jsx)(uM,{showIdentifierLabel:t,type:n,value:e}):(0,sW.jsx)(uW,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,sW.jsx)("span",{className:uR.separator,children:"\xb7"})]},e)):""})}let uD={Female:aN,Male:aC,Other:aE,Unknown:aI},uB=({gender:e})=>{let t=uD[e];return t?(0,sW.jsx)(t,{fill:"#525252"}):null},uU={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uF({patient:e,renderedFrom:t}){var n;let o,r,i=uE(e),s=e?.gender&&(r=uU[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tc(o,n),iconKey:r}),a=(0,rV.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sW.jsxs)("div",{className:uR.patientInfo,children:[(0,sW.jsx)("div",{className:sD()(uR.row,uR.patientNameRow),children:(0,sW.jsxs)("div",{className:uR.flexRow,children:[(0,sW.jsx)("span",{className:uR.patientName,children:i}),s&&(0,sW.jsxs)("div",{className:uR.gender,children:[(0,sW.jsx)(uB,{gender:s.iconKey}),(0,sW.jsx)("span",{children:s.displayText})]}),(0,sW.jsx)(ie,{className:uR.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,sW.jsxs)("div",{className:uR.demographics,children:[e.birthDate&&(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsx)("span",{children:u$(e.birthDate)}),(0,sW.jsx)("span",{className:uR.separator,children:"\xb7"}),(0,sW.jsx)("span",{children:ce(e.birthDate,{time:!1})}),(0,sW.jsx)("span",{className:uR.separator,children:"\xb7"})]}),(0,sW.jsx)(uL,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sW.jsx)(ie,{className:uR.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uH=n(7683);function uG({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,rV.useState)(!1),{extensions:s}=r7(n),a="tablet"===i7(),l=sr(()=>i(!1),r),c=(0,rV.useRef)(null),u=(0,rV.useRef)(null),d=(0,rV.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rV.useCallback)(()=>i(e=>!e),[]),g=(0,rV.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rV.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rV.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let _=(0,rV.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===s.length?null:(0,sW.jsx)("div",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sW.jsxs)("div",{"data-overflow-menu":!0,className:sD()("cds--overflow-menu",sJ),ref:l,children:[(0,sW.jsxs)("button",{className:sD()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sX),"aria-controls":p,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:f,onKeyDown:h,ref:c,children:[(0,sW.jsx)("span",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tc("actions","Actions")})," ",(0,sW.jsx)(uH.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sW.jsxs)("div",{className:sD()("cds--overflow-menu-options","cds--overflow-menu--flip",sq,{[sK]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sW.jsx)("ul",{className:sD()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,sW.jsx)(ie,{name:n,state:_},n)}),(0,sW.jsx)("span",{})]})]})})}var uz=n(397),uV=n.n(uz);function uJ(e){let{patientPhotoConceptUuid:t}=iR({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tx}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=is()(e?n:null,tN),s=o?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uq=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,ir.useTranslation)();return(0,sW.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,sW.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sW.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"})]})},uK="-esm-implementer-tools__patient-photo-module__avatar___t5TmZ";function uX({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=uJ(e),[i,s]=(0,rV.useState)(null),[a,l]=(0,rV.useState)(!1),c=(0,rV.useMemo)(()=>uV().generate(e),[e]);(0,rV.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(s(e),l(!1))},n.onerror=()=>{t||(s(null),l(!1))},n.src=e,()=>{t=!0}}s(null),l(!1)},[o?.imageSrc]);let u=(0,rV.useMemo)(()=>n||(i?tc("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tc("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||a?(0,sW.jsx)(sG.SkeletonIcon,{className:"-esm-implementer-tools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,sW.jsx)(uq,{"aria-label":tc("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sW.jsx)("div",{"aria-label":u,children:(0,sW.jsx)("img",{className:uK,src:i,alt:u,title:t})}):(0,sW.jsx)("div",{"aria-label":u,children:(0,sW.jsx)("div",{className:uK,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sW.jsx)("span",{className:"-esm-implementer-tools__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 uY=["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-metadata-export","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"],uZ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),uQ=uZ,u0=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),u1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),u2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),u6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),u8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),u3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),u4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),u9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),de=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),dt=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),dn=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),dr=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),di=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),ds=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),da=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),dl=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),dc=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),du=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dd=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dm=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),dp=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),df=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dg=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dh=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),d_=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,sW.jsx)(dv,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),dw=u7,dy=dl,db=(0,rV.memo)((0,rV.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,rV.useRef)(document.getElementById(e));return(0,rV.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sW.jsx)(ij,{value:r.current,fallback:t,children:(0,sW.jsx)(dv,{ref:o,pictogram:e,pictogramProps:n})})})),dv=(0,rV.memo)((0,rV.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,sW.jsx)("svg",{ref:n,className:sD()("-esm-implementer-tools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,sW.jsx)("use",{href:`#${e}`})})})),dx=({children:e})=>"tablet"===i7()?(0,sW.jsx)(sG.Layer,{children:e}):(0,sW.jsx)(sW.Fragment,{children:e}),dk=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:s,subtitle:a="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[p,f]=(0,rV.useState)(n),[g,h]=(0,rV.useState)(!0),[_,w]=(0,rV.useState)(!1),y=(0,rV.useCallback)(()=>{setTimeout(t,250)},[t]),b=(0,rV.useCallback)(()=>{w(!0),y()},[y]);return(0,rV.useEffect)(()=>{if(c){let e=setTimeout(b,l);return()=>clearTimeout(e)}},[l,c,b]),(0,rV.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sW.jsx)(sG.ActionableNotification,{actionButtonLabel:p,"aria-label":tc("closeSnackbar","Close snackbar"),className:sD()("-esm-implementer-tools__snackbar-module__slideIn___-oZIt",{"-esm-implementer-tools__snackbar-module__animated___M2YBU":g,"-esm-implementer-tools__snackbar-module__slideOut___yEmGT":_}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),b(),s&&f(s)},onClose:y,statusIconDescription:tc("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},dS=({subject:e})=>{let[t,n]=(0,rV.useState)([]),o=(0,rV.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sW.jsx)(sW.Fragment,{children:t.map(e=>(0,sW.jsx)(dk,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},dj=new ud,dN=0;function dC(e){e&&(0,it.createRoot)(e).render((0,sW.jsx)(dS,{subject:dj}))}function dE(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dj.next({...e,id:dN++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dI=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rV.useCallback)(()=>{a(),t()},[t,a]);return(0,sW.jsx)("div",{children:(0,sW.jsx)(sG.ActionableNotification,{actionButtonLabel:s,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},dP=({subject:e})=>{let[t,n]=(0,rV.useState)([]),o=(0,rV.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,sW.jsx)(sW.Fragment,{children:t.map(e=>(0,sW.jsx)(dI,{toast:e,closeToast:()=>o(e)},e.id))})},dA=new ud,dO=0;function dT(e){e&&(0,it.createRoot)(e).render((0,sW.jsx)(dP,{subject:dA}))}function d$(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,us.A)(t))?setTimeout(()=>{dA.next({...e,id:dO++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function dR(e,t=!1){if(t)return!0;let n=dB[e];return!n||!n()}function dM(e,t){let n=dq.getState()?.workspaceGroup,o=n?.name;o&&e===o&&dZ(()=>{let o=d6(e);o&&(o.setState({},!0),o.subscribe(()=>{})()),"function"==typeof n?.cleanup&&n.cleanup(),dq.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},o?e=>e.currentWorkspaceGroup===o:()=>!0)}function dW(e,t){let{name:n,additionalProps:o}=t;rI(n);let r=()=>{dz(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>dL(n,o),closeWorkspaceGroup:!1})};dR(e.name)?r():d0("closing-workspace-launching-new-workspace",r,e.title??e.name)}function dL(e,t){let n=rI(e),o=dq.getState().workspaceGroup;if(o&&!o.members?.includes(e))return void dM(o.name,()=>{dL(e,t)});let r=dq.getState().workspaceGroup?.name,i={...n,title:d1(n,t),closeWorkspace:(t={})=>dz(e,t),closeWorkspaceWithSavedChanges:t=>dz(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var n,o;return n=e,o=t,void(dB[n]=o)},setTitle:(t,n)=>{i.title=t,i.titleNode=n,dq.setState(t=>{let n=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:n}})},currentWorkspaceGroup:r,additionalProps:t??{}};function s(e,t){dq.setState(n=>{let o=[e,...t??n.openWorkspaces],r=dY(e);return{...n,openWorkspaces:o,workspaceWindowState:r}})}r&&d6(r,t);let a=dq.getState().openWorkspaces,l=a.findIndex(t=>t.name===e),c=a.find(e=>e.type==i.type);if(0===a.length)s(i);else if(a[0].canHide||0===l)if(l>=0){let t=a[l];s({...t,additionalProps:i.additionalProps,...t.title===d1(t,t.additionalProps)&&{title:d1(i,i.additionalProps)}},a.filter(t=>t.name!=e))}else c?(s(c,dq.getState().openWorkspaces.filter(e=>e.type!=i.type)),dW(c,{name:e,additionalProps:t})):s(i);else dW(a[0],{name:e,additionalProps:t})}function dD({targetUrl:e,contextKey:t,workspaceName:n,additionalProps:o}){dV(t),dL(n,o),tm({to:e})}let dB={};function dU(e,t){dB[e]=t}function dF(e){return dB[e]}function dH(){let e=dq.getState();dq.setState({...e,prompt:null})}let dG={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function dz(e,t={}){t={...dG,...t};let n=()=>{let n=dq.getState();n.openWorkspaces.find(t=>t.name===e);let o=n.openWorkspaces.filter(t=>t.name!=e),r=dq.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&dM(r),dB[e]=()=>!1,dq.setState(e=>({...e,prompt:null,openWorkspaces:o,workspaceWindowState:dY(o?.[0])})),t?.onWorkspaceClose?.()};return dR(e,t?.ignoreChanges)?(n(),!0):(d0("closing-workspace",n,rI(e).title??e),!1)}function dV(e){dq.getState().context!=e&&dq.setState({context:e,openWorkspaces:[],prompt:null})}let dJ={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},dq=O("workspace",dJ);function dK(){return dq}function dX(e){let t=dq.getState();dq.setState({...t,workspaceWindowState:e})}function dY(e){return e?.preferredWindowSize??"normal"}function dZ(e=()=>{},t=()=>!0){let n=dq.getState().openWorkspaces.filter(t).every(({name:e})=>dR(e)),o=()=>{d2(),e?.()};n?o():d0("closing-all-workspaces",o)}function dQ(){let{workspaceWindowState:e,openWorkspaces:t,prompt:n,workspaceGroup:o}=r0(dq);return(0,rV.useMemo)(()=>({active:t.length>0,prompt:n,workspaceWindowState:e,workspaces:t,workspaceGroup:o}),[t,e,n,o])}function d0(e,t=()=>{},n=""){let o;switch(e){case"closing-workspace":o={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tc("discard","Discard")};break;case"closing-all-workspaces":{let e=dq.getState().openWorkspaces.filter(({name:e})=>!dR(e)).map(({title:e},t)=>`${t+1}. ${e}`);o={title:tc("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tc("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:tc("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":o={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:n}),onConfirm:()=>{dq.setState(e=>({...e,prompt:null})),t?.()},confirmText:tc("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}dq.setState(e=>({...e,prompt:o}))}function d1(e,t){return t?.workspaceTitle??e.title}function d2(){dq.setState(dJ)}function d6(e,t={}){if(!e||"default"===e)return;let n=$(e,{});return t&&n.setState(e=>({...e,...t})),n}let d5="-esm-implementer-tools__action-menu-button-module__container___f7spB",d8="-esm-implementer-tools__action-menu-button-module__elementContainer___ZROo9",d3="-esm-implementer-tools__action-menu-button-module__active___+mcQh";function d4({getIcon:e,formOpenInTheBackground:t,tagContent:n}){return(0,sW.jsxs)(sW.Fragment,{children:[e({size:16}),t?(0,sW.jsx)("span",{className:"-esm-implementer-tools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,sW.jsx)("span",{className:"-esm-implementer-tools__action-menu-button-module__countTag___vo9ZX",children:n})]})}let d7=({getIcon:e,label:t,iconDescription:n,handler:o,type:r,tagContent:i})=>{let s=i7(),{workspaces:a,workspaceWindowState:l}=dQ(),c=a?.findIndex(({type:e})=>e===r)??-1,u="hidden"!==l&&0===c,d=c>0||0===c&&"hidden"===l;return"tablet"===s||"phone"===s?(0,sW.jsxs)(sG.Button,{className:sD()(d5,{[d3]:u}),iconDescription:n,kind:"ghost",onClick:o,role:"button",tabIndex:0,size:"md",children:[(0,sW.jsx)("span",{className:d8,children:(0,sW.jsx)(d4,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,sW.jsx)("span",{children:t})]}):(0,sW.jsx)(sG.IconButton,{align:"left","aria-label":n,className:sD()(d5,{[d3]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:o,size:"md",children:(0,sW.jsx)("div",{className:d8,children:(0,sW.jsx)(d4,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var d9=n(3173),me=n(185),mt=n(4564);function mn({contextKey:e}){let{prompt:t}=dQ();return(0,rV.useEffect)(()=>{RegExp(`/${(0,mt.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,rV.useEffect)(()=>(dV(e),()=>{dV(null)}),[e]),(0,rV.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:n,newUrl:o}}=t,r=RegExp(`/${(0,mt.A)(e)}(/|$)`),i=new URL(o),s=r.test(i.pathname),a=dq.getState().openWorkspaces.every(({name:e})=>dR(e));s||(a?d2():(n?.(),dZ(()=>{tm({to:o})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,sW.jsxs)(sG.ComposedModal,{open:!0,onClose:dH,children:[(0,sW.jsx)(sG.ModalHeader,{title:t.title}),(0,sW.jsx)(sG.ModalBody,{children:(0,sW.jsx)("p",{className:"-esm-implementer-tools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,sW.jsxs)(sG.ModalFooter,{children:[(0,sW.jsx)(sG.Button,{kind:"secondary",onClick:dH,children:t.cancelText??tc("cancel")}),(0,sW.jsx)(sG.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tc("confirm")})]})]}):null}var mo=n(1820);function mr({workspace:e,additionalPropsFromPage:t}){let[n,o]=(0,rV.useState)(),r=function(e){let[t,n]=(0,rV.useState)({}),[o,r]=(0,rV.useState)(e);return(0,rV.useEffect)(()=>{o!==e&&r(e)},[e]),(0,rV.useEffect)(()=>{let e,t=d6(o);return t&&(n(t.getState()),e=t.subscribe(n)),()=>{t&&e?.()}},[o]),t}(e.currentWorkspaceGroup);(0,rV.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&o(e)}),()=>{t=!1}},[e]);let i=(0,rV.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return n?(0,sW.jsx)(mo.A,{config:n,mountParcel:rG,...i},e.name):(0,sW.jsx)(sG.InlineLoading,{className:"-esm-implementer-tools__workspace-module__loader___H6dHj",description:`${tc("loading","Loading")} ...`})}function mi({isWithinWorkspace:e,name:t,actionMenuProps:n={}}){let[o,r]=(0,rV.useState)(!1),i=(0,rV.useRef)(window.innerHeight),{featureName:s}=(0,rV.useContext)(rq),a=i7();(0,rV.useEffect)(()=>{let e=()=>{r(!i9(a)&&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:s}-items-slot`;return(0,sW.jsx)("aside",{className:sD()("-esm-implementer-tools__action-menu-module__sideRail___GJUJ7",{"-esm-implementer-tools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-implementer-tools__action-menu-module__sideRailHidden___bQ0UM":o,"-esm-implementer-tools__action-menu-module__sideRailVisible___v-1cR":!o}),children:(0,sW.jsx)("div",{className:"-esm-implementer-tools__action-menu-module__container___WocuW",children:(0,sW.jsx)(ie,{className:"-esm-implementer-tools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:n})})})}function ms({contextKey:e,overlay:t,showSiderailAndBottomNav:n,additionalWorkspaceProps:o,actionMenuProps:r}){let i=i7(),{workspaces:s,workspaceWindowState:a,workspaceGroup:l}=dQ(),c=l?.name,u=s[0],d="hidden"===a||null==u,m=u?.width??(t?"wider":"narrow"),p=(0,rV.useMemo)(()=>n||c&&!d,[c,d,n]);return iO(!d&&!i9(i)),(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsxs)("div",{className:n?"-esm-implementer-tools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-implementer-tools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,sW.jsx)("aside",{className:sD()(t?"-esm-implementer-tools__workspace-module__workspaceOverlayOuterContainer___7nS96":"-esm-implementer-tools__workspace-module__workspaceWindowSpacer___l+rgk",{"-esm-implementer-tools__workspace-module__hiddenRelative___AJHmQ":d,"-esm-implementer-tools__workspace-module__narrowWorkspace___Vb16L":"narrow"===m,"-esm-implementer-tools__workspace-module__widerWorkspace___Bn7v8":"wider"===m,"-esm-implementer-tools__workspace-module__extraWideWorkspace___vN8kI":"extra-wide"===m}),children:(0,sW.jsx)("div",{className:sD()("-esm-implementer-tools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-implementer-tools__workspace-module__maximizedWindow___Sew5F":"maximized"===a,"-esm-implementer-tools__workspace-module__hiddenFixed___BxutH":d}),children:s.map((e,t)=>(0,sW.jsx)("div",{className:sD()("-esm-implementer-tools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-implementer-tools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,sW.jsx)(rV.Suspense,{fallback:null,children:(0,sW.jsx)(ir.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,sW.jsx)(ma,{workspaceInstance:e,additionalWorkspaceProps:o})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,sW.jsx)(mn,{contextKey:e})]}),p&&(0,sW.jsx)(mi,{name:c,isWithinWorkspace:!n,actionMenuProps:r})]})}function ma({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:n}=(0,ir.useTranslation)(),o=i7(),{workspaceWindowState:r,workspaceGroup:i}=dQ(),s=i?.name,a="maximized"===r;(0,rV.useEffect)(()=>{let t=n(e.title);t!==e.title&&e.setTitle(t)},[e.title,n,e.setTitle]);let{featureName:l}=(0,rV.useContext)(rq),c=(0,rV.useCallback)(()=>{dX(a?"normal":"maximized")},[a]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:p}=(0,rV.useMemo)(()=>e??{},[e]),f=(0,rV.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsxs)(sG.Header,{"aria-label":tc("workspaceHeader","Workspace Header"),className:"-esm-implementer-tools__workspace-module__header___-3kjt",children:[!i9(o)&&!u&&(0,sW.jsx)(sG.HeaderMenuButton,{"aria-label":tc("close","Close"),renderMenuIcon:(0,sW.jsx)(s4,{}),onClick:()=>p()}),(0,sW.jsx)(sG.HeaderName,{prefix:"",children:e.titleNode??n(e.title)}),(0,sW.jsx)("div",{className:"-esm-implementer-tools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,sW.jsxs)(sG.HeaderGlobalBar,{className:"-esm-implementer-tools__workspace-module__headerButtons___ppNsY",children:[(0,sW.jsx)(ie,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:f}),(0,sW.jsx)(ie,{name:`workspace-header-type-${e.type}-slot`,state:f}),(0,sW.jsx)(ie,{name:`workspace-header-${l}-slot`,state:f}),i9(o)&&(0,sW.jsxs)(sW.Fragment,{children:[(d||a)&&(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":a?tc("minimize","Minimize"):tc("maximize","Maximize"),onClick:c,children:a?(0,sW.jsx)(d9.Xj,{}):(0,sW.jsx)(d9.hz,{})}),u&&!s?(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":tc("hide","Hide"),onClick:()=>dX("hidden"),children:(0,sW.jsx)(s7,{})}):(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,sW.jsx)(ah,{})})]}),"tablet"===o&&u&&(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,sW.jsx)(me.d3,{})})]})]}),(0,sW.jsx)("div",{className:sD()("-esm-implementer-tools__workspace-module__workspaceContent___cNdK1",{"-esm-implementer-tools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,sW.jsx)(mr,{workspace:e,additionalPropsFromPage:t},e.name)})]})}var ml=n(4656);async function mc(e,t){let{openedGroup:n}=rA.getState();if(n){if(n.groupName===e&&mm(n.props,t))return!0;else if(!await mp({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rA.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function mu(e){let{openedGroup:t,openedWindows:n}=rA.getState();if(t){if(n.length>0&&!(e||await mp({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rA.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function md(e,t=null,n=null,o=null){let r=rA.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rO(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rT(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=r$(e);if(s&&(s.groupName!==l.name||!mm(s.props,o)))return!!await mp({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rA.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:a,openedWorkspaces:[mw(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},s=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(mm(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&mm(d.props,t)?((s||c!==r.openedWindows.length-1)&&rA.setState(mf.restoreWindow(r,a)),!0):!!await mp({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rA.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mw(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await mp({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rA.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mw(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rA.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[mw(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await mp({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rA.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[mw(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function mm(e,t){return null==e||null==t||v(e,t)}function mp(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}=rA.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=ui("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>o[e.workspaceName])})})}let mf={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=r$(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 s=e.isMostRecentlyOpenedWindowHidden;if(0===o.openedWorkspaces.length){let t=n===e.openedWindows.length-1;i.splice(n,1),t&&i.length>0&&(s=!1)}else i[n]=o;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:s}},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 s=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==s)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let{openedWorkspaces:a}=e.openedWindows[s],l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==s?{...e,openedWorkspaces:[...c,mw(n,o)]}:e)}},setHasUnsavedChanges(e,t,n){let o=r$(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 s=[...e.openedWindows];return s[o]=r,{...e,openedWindows:s}},setWorkspaceTitle(e,t,n){let o={...e.workspaceTitleByWorkspaceName};return null===n?delete o[t]:o[t]=n,{...e,workspaceTitleByWorkspaceName:o}}};function mg(){return r1(rA,mf)}let mh=()=>(0,rV.useContext)(io.i),m_=()=>Object.keys(rA.getState().registeredWorkspacesByName);function mw(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,ml.A)()}}let my={workspaceOuterContainer:"-esm-implementer-tools__workspace2-module__workspaceOuterContainer___bPVpy",narrowWorkspace:"-esm-implementer-tools__workspace2-module__narrowWorkspace___kSYS7",widerWorkspace:"-esm-implementer-tools__workspace2-module__widerWorkspace___nW2HB",extraWideWorkspace:"-esm-implementer-tools__workspace2-module__extraWideWorkspace___em5yA",workspaceMiddleContainer:"-esm-implementer-tools__workspace2-module__workspaceMiddleContainer___Bx1i6",maximized:"-esm-implementer-tools__workspace2-module__maximized___Kfygr",hidden:"-esm-implementer-tools__workspace2-module__hidden___RPimX",workspaceInnerContainer:"-esm-implementer-tools__workspace2-module__workspaceInnerContainer___5zxpt",workspaceSpacer:"-esm-implementer-tools__workspace2-module__workspaceSpacer___E+982",loader:"-esm-implementer-tools__workspace2-module__loader___vmBQn",hiddenExtraWorkspace:"-esm-implementer-tools__workspace2-module__hiddenExtraWorkspace___qkbMG",header:"-esm-implementer-tools__workspace2-module__header___IZ-2+",headerButtons:"-esm-implementer-tools__workspace2-module__headerButtons___81a2N",workspaceContent:"-esm-implementer-tools__workspace2-module__workspaceContent___eetPy",overlayHeaderSpacer:"-esm-implementer-tools__workspace2-module__overlayHeaderSpacer___ruc6r",isActionMenuOpened:"-esm-implementer-tools__workspace2-module__isActionMenuOpened___XgCkc",showActionMenu:"-esm-implementer-tools__workspace2-module__showActionMenu___sHRt1",marginWorkspaceContent:"-esm-implementer-tools__workspace2-module__marginWorkspaceContent___TN+S+",workspaceContainerWithActionMenu:"-esm-implementer-tools__workspace2-module__workspaceContainerWithActionMenu___xLg8e",workspaceFixedContainer:"-esm-implementer-tools__workspace2-module__workspaceFixedContainer___W9cgZ",workspaceContainerWithoutActionMenu:"-esm-implementer-tools__workspace2-module__workspaceContainerWithoutActionMenu___fRrxd"},mb=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let o=i7(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:s,openedWindows:a,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:p,isMostRecentlyOpenedWindowHidden:f}=mg(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:_,showActionMenu:w}=mh(),y=r$(g),b=a[y],v=b?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,rV.useEffect)(()=>{v?.hasUnsavedChanges!=n&&s(g,n??!1)},[v?.hasUnsavedChanges,n,g,s]),(0,rV.useEffect)(()=>{m[g]!==e&&p(g,e)},[m,g,e,p]),y<0||null==l||null==v)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:I}=b,P=S?.width??"narrow",A=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),O=y<a.length-1||f;return(0,sW.jsxs)("div",{className:sD()(my.workspaceOuterContainer,{[my.narrowWorkspace]:"narrow"===P,[my.widerWorkspace]:"wider"===P,[my.extraWideWorkspace]:"extra-wide"===P,[my.isActionMenuOpened]:A}),children:[(0,sW.jsx)("div",{className:sD()(my.workspaceSpacer,{[my.hidden]:O})}),(0,sW.jsx)("div",{className:sD()(my.workspaceMiddleContainer,{[my.maximized]:I,[my.hidden]:O,[my.isRootWorkspace]:h,[my.showActionMenu]:w}),children:(0,sW.jsxs)("div",{className:sD()(my.workspaceInnerContainer,{[my.maximized]:I,[my.hidden]:O,[my.isRootWorkspace]:h}),children:[(0,sW.jsxs)(sG.Header,{"aria-label":tc("workspaceHeader"),className:my.header,children:[(0,sW.jsx)(sG.HeaderName,{prefix:"",children:e}),(0,sW.jsx)("div",{className:my.overlayHeaderSpacer}),(0,sW.jsx)(sG.HeaderGlobalBar,{className:my.headerButtons,children:i9(o)?(0,sW.jsxs)(sW.Fragment,{children:[(N||I)&&(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":I?tc("minimize"):tc("maximize"),onClick:()=>r(k,!I),children:I?(0,sW.jsx)(d9.Xj,{}):(0,sW.jsx)(d9.hz,{})}),E&&(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,sW.jsx)(s7,{})}),!C&&(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>_({closeWindow:!0}),children:(0,sW.jsx)(ah,{})})]}):(0,sW.jsxs)(sW.Fragment,{children:[E&&(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,sW.jsx)(me.d3,{})}),(0,sW.jsx)(sG.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>{C?mu():_({closeWindow:!0})},children:(0,sW.jsx)(ah,{})})]})})]}),(0,sW.jsx)("div",{className:sD()(my.workspaceContent),children:t})]})})]})},mv="-esm-implementer-tools__action-menu-button2-module__container___jc6--",mx="-esm-implementer-tools__action-menu-button2-module__elementContainer___whLL8",mk="-esm-implementer-tools__action-menu-button2-module__active___fbyFm",mS="-esm-implementer-tools__action-menu-button2-module__focused___+aVpz";function mj({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,sW.jsxs)(sW.Fragment,{children:[e({size:16}),t?(0,sW.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sW.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let mN=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=i7(),{openedWindows:s,restoreWindow:a,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=mg(),{extension:u}=(0,rV.useContext)(rq),d=s.findIndex(e=>e.windowName===u?.extensionId),m=s[d],p=null!=m,f=p&&(d<s.length-1||c),g=p&&!f,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=async()=>{if(p)f?a(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;md(e,t,n)}};return"tablet"===i||"phone"===i?(0,sW.jsxs)(sG.Button,{className:sD()(mv,{[mk]:p&&!g,[mS]:g}),iconDescription:t,kind:"ghost",onClick:_,role:"button",tabIndex:0,size:"md",children:[(0,sW.jsx)("span",{className:mx,children:(0,sW.jsx)(mj,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,sW.jsx)("span",{children:t})]}):(0,sW.jsx)(sG.IconButton,{align:"left","aria-label":t,className:sD()(mv,{[mk]:p&&!g,[mS]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:_,size:"md",children:(0,sW.jsx)("div",{className:mx,children:(0,sW.jsx)(mj,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function mC({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,sW.jsx)(sG.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?ag:am,children:e?tc("showLess","Show less"):tc("showMore","Show more")})}let mE={contactDetails:"-esm-implementer-tools__patient-banner-contact-details-module__contactDetails___R7vfY",deceased:"-esm-implementer-tools__patient-banner-contact-details-module__deceased___nTt+l",heading:"-esm-implementer-tools__patient-banner-contact-details-module__heading___x7UoT",row:"-esm-implementer-tools__patient-banner-contact-details-module__row___qFgIi",col:"-esm-implementer-tools__patient-banner-contact-details-module__col___JXUlg",relationship:"-esm-implementer-tools__patient-banner-contact-details-module__relationship___T3LO-"},mI=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tx}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=is()(t,tN),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rV.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsxs)("p",{className:mE.heading,children:[tc("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,sW.jsx)(sG.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sW.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>l5(e?.startDate).getTime()-l5(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sW.jsx)("li",{children:(0,sW.jsx)(rK,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sW.jsx)("li",{children:"--"})})(),t.length>3&&(0,sW.jsx)("li",{className:mE.link,children:(0,sW.jsx)(rK,{to:`${window.spaBase}/home/patient-lists`,children:tc("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mP=({patientId:e})=>{let{patient:t,isLoading:n}=su(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,sW.jsx)(sG.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsx)("p",{className:mE.heading,children:tc("address","Address")}),(0,sW.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,sW.jsxs)("li",{children:[tc(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,sW.jsxs)("li",{children:[tc(e,e),": ",t]},`address-${e}`)):(0,sW.jsx)("li",{children:"--"})})]})},mA=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=iR({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=iD()(`${tx}/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)))`,tN);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,rV.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,rV.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tc(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsx)("p",{className:mE.heading,children:tc("contactDetails","Contact Details")}),t?(0,sW.jsx)(sG.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sW.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,sW.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,sW.jsx)("li",{children:"--"})})]})},mO=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tx}/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}=is()(e?t:null,tN),s=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?s:null,error:o,isLoading:r,isValidating:i}}(e);return(0,sW.jsxs)(sW.Fragment,{children:[(0,sW.jsx)("p",{className:mE.heading,children:tc("relationships","Relationships")}),n?(0,sW.jsx)(sG.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sW.jsx)("ul",{children:t&&t.length>0?(0,sW.jsx)(sW.Fragment,{children:t.map(e=>(0,sW.jsxs)("li",{className:mE.relationship,children:[(0,sW.jsx)("div",{children:(0,sW.jsx)(rK,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sW.jsx)("div",{children:e.relationshipType}),(0,sW.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tc("yearAbbreviation","yr"):tc("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sW.jsx)("li",{children:"--"})})]})};function mT({patientId:e,deceased:t}){return(0,sW.jsxs)("div",{className:sD()(mE.contactDetails,{[mE.deceased]:t}),children:[(0,sW.jsxs)("div",{className:mE.row,children:[(0,sW.jsx)("div",{className:mE.col,children:(0,sW.jsx)(mP,{patientId:e})}),(0,sW.jsx)("div",{className:mE.col,children:(0,sW.jsx)(mA,{patientUuid:e})})]}),(0,sW.jsxs)("div",{className:mE.row,children:[(0,sW.jsx)("div",{className:mE.col,children:(0,sW.jsx)(mO,{patientId:e})}),(0,sW.jsx)("div",{className:mE.col,children:(0,sW.jsx)(mI,{patientUuid:e})})]})]})}function m$(e){let t=document.querySelector("template#loading-spinner");if(t){let n=t.content.cloneNode(!0),o=Array.prototype.map.call(n.childNodes,e=>e);return e.appendChild(n),()=>o.forEach(e=>e.remove())}return()=>{}}let mR="-esm-implementer-tools__action-menu2-module__container___6Gke0";function mM({workspaceGroup:e,groupProps:t}){let n=i7(),{persistence:o}=e;return(0,sW.jsx)("aside",{className:"-esm-implementer-tools__action-menu2-module__sideRail___T2lMV",children:(0,sW.jsxs)("div",{className:mR,children:["closable"==o&&i9(n)&&(0,sW.jsx)(sG.IconButton,{align:"left",onClick:()=>mu(),label:tc("close"),kind:"ghost",children:(0,sW.jsx)(ah,{})}),(0,sW.jsx)(rq.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sW.jsx)(ie,{className:mR,name:e.name,state:{groupProps:t}})})]})})}function mW(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 mL=({lifeCycle:e,openedWorkspace:t,openedWindow:n,isRootWorkspace:o,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:s,closeWorkspace:a,openChildWorkspace:l}=mg(),c=(0,rV.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:r=!1}=e;return o?!!(r||await mp({reason:"CLOSE_WINDOW",explicit:!0,windowName:n.windowName}))&&(a(n.openedWorkspaces[0].workspaceName),!0):!!(r||await mp({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:t.workspaceName}))&&(a(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let r=t.workspaceName,{openedWorkspaces:i}=n,s=i.findIndex(e=>e.workspaceName===r);-1===s||s!==i.length-1&&i.slice(s+1).some(e=>e.hasUnsavedChanges)&&!await mp({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:i[s+1].workspaceName})||l(r,e,o||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:s&&s.props?s.props:null,workspaceMeta:rA.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:o,isLeafWorkspace:r,windowName:n.windowName,showActionMenu:i},[t,a,s,n]);if(!e){let{registeredWorkspacesByName:e}=rA.getState(),n=e[t.workspaceName],r=n&&n.window?n.window:void 0,{registeredWindowsByName:a}=rA.getState(),l=r?a[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(a).some(e=>e.group===s?.groupName&&void 0!==e.icon);return(0,sW.jsxs)("div",{className:sD()(my.workspaceOuterContainer,{[my.narrowWorkspace]:"narrow"===c,[my.widerWorkspace]:"wider"===c,[my.extraWideWorkspace]:"extra-wide"===c,[my.isActionMenuOpened]:u}),children:[(0,sW.jsx)("div",{className:my.workspaceSpacer}),(0,sW.jsx)("div",{className:sD()(my.workspaceMiddleContainer,{[my.isRootWorkspace]:o,[my.showActionMenu]:i}),children:(0,sW.jsx)("div",{className:sD()(my.workspaceInnerContainer,{[my.isRootWorkspace]:o}),children:(0,sW.jsx)(sG.InlineLoading,{className:my.loader,description:`${tc("loading")} ...`})})})]})}return(0,sW.jsx)(mo.A,{config:e,mountParcel:rG,...c},t.workspaceName)},mD=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:n}=e,[o,r]=(0,rV.useState)({}),{registeredWorkspacesByName:i}=rA.getState();return(0,rV.useEffect)(()=>{let e=!1;return Promise.all(n.map(async e=>{let{moduleName:t,component:n}=i[e.workspaceName];return[e.uuid,await sN(t,n)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[n]),(0,sW.jsx)(sW.Fragment,{children:n.map((r,i)=>(0,sW.jsx)(mL,{openedWorkspace:r,openedWindow:e,lifeCycle:o[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===n.length-1,showActionMenu:t},r.uuid))})};function mB(e){e&&(0,it.createRoot)(e).render((0,sW.jsx)(mU,{}))}function mU(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=mg();if((0,rV.useEffect)(()=>nF("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(o)return void r(mu().then(e=>!e));let a=n[e.groupName],l=a?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=mW(t),i=mW(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let s=o.exec(r.spaRelative),a=o.exec(i.spaRelative);if(s&&a||(s=o.exec(r.full),a=o.exec(i.full)),!s||!a)return!0;if(s.length>1)return!s.slice(1).every((e,t)=>e===a[t+1]);return!1}catch{return!0}}(l,i,s)&&r(mu().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:s}=r,a=Object.values(o).filter(e=>e.group===s&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sW.jsxs)("div",{className:sD()("-esm-implementer-tools__workspace-windows-and-menu-module__workspaceWindowsAndMenuContainer___2u2mc",{"-esm-implementer-tools__workspace-windows-and-menu-module__overlay___7RHYZ":r.overlay,"-esm-implementer-tools__workspace-windows-and-menu-module__hasMaximizedWindow___gvJRd":i}),children:[(0,sW.jsx)("div",{className:"-esm-implementer-tools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,sW.jsx)(mD,{openedWindow:e,showActionMenu:a},e.windowName))}),a&&(0,sW.jsx)(mM,{workspaceGroup:r,groupProps:e.props})]})}function mF(e,t,n){if(null==e)return n;let o=lz(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=lz(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=o;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",n=r.find(e=>e.canonical.startsWith(t));if(n)return n.original;if("ht"===i){i="fr-HT";continue}let o=i.lastIndexOf("-");if(-1===o)break;let s=(i=i.slice(0,o)).lastIndexOf("-");-1!==s&&i.length-s==2&&(i=i.slice(0,s))}return n}function mH(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mG(e){return!!e&&e.constructor===Object}var mz=n(3376);function mV(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function mJ(e,t){return mz(function(e){let t=e.indexOf("-");if(t>=0){let n=mV(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return mV(e)}(t),e,{includePrerelease:!0})}async function mq(e,t={}){let n,{shouldRetry:o,getDelay:r,onError:i}=t;o=o??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let s=0;do try{return await mK(r(s)),await e()}catch(e){i?.(e,s),n=e}while(o(s++));throw n}async function mK(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mX(e,t,n,o){}function mY(e){}function mZ(e){return Promise.resolve([])}function mQ(e){return Promise.resolve([])}function m0(e){return Promise.resolve({success:!1,result:void 0,error:"No service worker has been registered. Offline-related features have been removed from the framework."})}function m1(e){return()=>{}}function m2(){return!0}}}]);
32
+ To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{featureFlag:t}){return t?n=>!!oW(t)&&e(n):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,tl.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tl.AG)(e,()=>aP(t.appName,t.component),o)}(o,t)}}let aW={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 aL(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<aW.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>aW.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>aW.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<aW.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<aW.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<aW.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>aW.SMALL_DESKTOP_MAX)}let aD=!1;function aB(){aD||(window.addEventListener("resize",aL),aL(),aD=!0)}var aU=n(6870),aF=n(5530),aH=n.n(aF);function aG({title:e,children:t}){let n="tablet"===an();return(0,aU.jsxs)("div",{className:aH()({"-esm-implementer-tools__card-header-module__tabletHeader___Vkmd-":n,"-esm-implementer-tools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,aU.jsx)("h4",{children:e}),t]})}let az=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],aV={primaryColor:{_type:G.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[e9.oneOf(az)]},secondaryColor:{_type:G.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[e9.oneOf(az)]}},aJ={"Brand color #1":{_default:"#005d5d",_type:G.String},"Brand color #2":{_default:"#004144",_type:G.String},"Brand color #3":{_default:"#007d79",_type:G.String},excludePatientIdentifierCodeTypes:{uuids:{_type:G.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:G.UUID}}},implementationName:{_type:G.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},logo:{src:{_type:G.String,_default:"",_description:"The path or URL to the logo shown on the login page and while the server is starting up. If set to an empty string, the default OpenMRS logo is used.",_validators:[e9.isUrl]},alt:{_type:G.String,_default:"Logo",_description:"The alternative text for the logo image, displayed when the image cannot be loaded or on hover."}},patientPhotoConceptUuid:{_type:G.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:G.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e9.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:G.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:G.String}},diagnosisTags:aV};var aq=n(8326);let aK={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},aX=e=>(0,aU.jsx)(aq.TableBatchActions,{translateWithId:(e,t)=>{let n=aK[e];return n?tp(n,e,t):e},...e}),aY="-esm-implementer-tools__custom-overflow-menu-module__container___8PykS",aZ="-esm-implementer-tools__custom-overflow-menu-module__menu___qsOLn",aQ="-esm-implementer-tools__custom-overflow-menu-module__show___BserJ",a0="-esm-implementer-tools__custom-overflow-menu-module__overflowMenuButton___n86Gz",a1=(0,rX.createContext)(null);function a2(){let e=(0,rX.useContext)(a1);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function a6({menuTitle:e,children:t}){let[n,o]=rY().useState(!1),r=al(()=>o(!1),n),i="tablet"===an(),a=(0,rX.useCallback)(()=>o(e=>!e),[]),s=(0,rX.useRef)(null),l=(0,rX.useRef)(null),c=(0,rX.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rX.useCallback)(()=>{o(!1),s.current?.focus()},[]),p=(0,rX.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rX.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=rX.Children.toArray(t);(0,rX.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,rX.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()},[]),_=g.map((e,t)=>(0,rX.isValidElement)(e)?(0,rX.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,aU.jsxs)("div",{"data-overflow-menu":!0,className:aH()("cds--overflow-menu",aY),ref:r,children:[(0,aU.jsx)("button",{className:aH()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},a0),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:a,onKeyDown:f,ref:s,children:e}),(0,aU.jsxs)("div",{className:aH()("cds--overflow-menu-options","cds--overflow-menu--flip",aZ,{[aQ]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,aU.jsx)("ul",{className:aH()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,aU.jsx)(a1.Provider,{value:p,children:_})}),(0,aU.jsx)("span",{})]})]})}function a5(e){let t=(0,rX.useContext)(a1);return(0,aU.jsx)(aq.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var a8=n(2277),a3=n(4194);let a4=["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"],a7=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),a9=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-add",iconProps:e})})),se=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),st=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),sn=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),so=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),sr=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),si=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),sa=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),ss=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),sl=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),sc=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),su=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),sd=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),sm=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),sp=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),sf=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),sg=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),sh=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),s_=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),sw=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),sy=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),sb=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-close",iconProps:e})})),sv=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),sx=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),sk=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-document",iconProps:e})})),sS=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),sj=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-download",iconProps:e})})),sN=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),sC=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),sE=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),sI=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-events",iconProps:e})})),sP=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),sA=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),sO=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),sT=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),sR=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),s$=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-group",iconProps:e})})),sM=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),sW=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),sL=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),sD=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-information",iconProps:e})})),sB=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),sU=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),sF=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),sH=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),sG=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),sz=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-location",iconProps:e})})),sV=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),sJ=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),sq=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),sK=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),sX=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),sY=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),sZ=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-money",iconProps:e})})),sQ=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),s0=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),s1=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),s2=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),s6=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-password",iconProps:e})})),s5=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),s8=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),s3=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),s4=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),s7=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),s9=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),le=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),lt=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-report",iconProps:e})})),ln=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),lo=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-save",iconProps:e})})),lr=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-search",iconProps:e})})),li=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),la=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),ls=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),ll=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),lc=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),lu=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),ld=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),lm=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lp=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-time",iconProps:e})})),lf=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),lg=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),lh=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),l_=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),lw=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),ly=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lb=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),lv=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lx=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-user",iconProps:e})})),lk=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lS=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lj=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(lO,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lN=lj,lC=sS,lE=sG,lI=sL,lP=ll,lA=(0,rX.memo)((0,rX.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,rX.useRef)(e?document.getElementById(e):void 0);return(0,rX.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,aU.jsx)(iI,{value:r.current,fallback:t,children:(0,aU.jsx)(lO,{ref:o,icon:e,iconProps:n})})})),lO=(0,rX.memo)((0,rX.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,rX.useRef)(null);return(0,rX.useImperativeHandle)(n,()=>a.current),(0,rX.useEffect)(()=>{a.current&&"currentColor"!==r&&a.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,aU.jsx)("svg",{ref:a,className:aH()("omrs-icon","-esm-implementer-tools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,aU.jsx)("use",{href:`#${e}`})})})),lT=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,il.useTranslation)(),i=(0,a8.zy)(),a=(0,rX.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,aU.jsx)("div",{children:(0,aU.jsx)(rQ,{className:aH()("cds--side-nav__link",{"active-left-nav-link":a}),to:`${n}/${encodeURIComponent(e)}`,children:(0,aU.jsxs)("span",{className:"-esm-implementer-tools__dashboard-module__menu___ds1tf",children:[(0,aU.jsx)(lA,{icon:o,className:"-esm-implementer-tools__dashboard-module__icon___4Zrrh",size:16}),(0,aU.jsx)("span",{children:r(t)})]})})},e)};function lR(e){return function({basePath:t}){return(0,aU.jsx)(a3.Kd,{children:(0,aU.jsx)(lT,{basePath:t,...e})})}}var l$=n(7715),lM=n(7532),lW=n(3692),lL=n(7615),lD=n(700),lB=n(6816),lU=n(1168);function lF(e){return rY().createElement(lU.C,e)}var lH=n(3010),lG=n(6513),lz=n(6190);function lV(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 lH.ng||e instanceof lH._l||e instanceof lH.Ip)return t?(0,lG.yP)(e,t):e;{let n=ab()(e).toDate(),o=new lH.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,lG.yP)(o,t):o}}function lJ(e){if(e)return e.toDate((0,lz.Xj)())}var lq=n(9002);function lK(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lX(e){let t=e??"",n=lK(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function lY(){let e=window.i18next.language,t=lK(e)??e;return"ht"===t&&(t="fr-HT"),t}var lZ=n(7883),lQ=n(424),l0=n(1492),l1=n(8271);function l2(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}ay.extend(av),ay.extend(l0),ay.extend(lQ);let l6="YYYY-MM-DDTHH:mm:ss.SSSZZ";function l5(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&ay(e,l6).isValid()}function l8(e){return ay(e).isToday()}function l3(e){return l5(e)?ay(e,l6).toDate():null}function l4(e,t=!1){let n=ay(e);return t&&(n=n.utc()),n.format(l6)}function l7(e){return ay(e).toDate()}var l9=new WeakMap;let ce=new class{register(e,t){l2(this,l9).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(l2(this,l9).has(t))return l2(this,l9).get(t)}if(e.language&&l2(this,l9).has(e.language))return l2(this,l9).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return l2(this,l9).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,l9,{writable:!0,value:new Map})}};function ct(e,t){ce.register(e,t)}function cn(e){let t=e??lY();return ce.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let co={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function cr(e,t={}){let n=lY(),o=(0,lZ.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,l1.A)(o.day)&&(0,l1.A)(o.month)&&(o=Object.assign({},(0,F.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,F.A)(o,"day"),{date:o.day}));let r=ay().set(o).toDate();return(0,l1.A)(o.year)&&(t.year=!1),(0,l1.A)(o.month)&&(t.month=!1),(0,l1.A)(o.date)&&(t.day=!1),ci(r,t)}function ci(e,t){let n,o=t?.locale??lY(),r=new Intl.Locale(o),{calendar:i,mode:a,time:s,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...co,...{noToday:"am"===r.language},...t},p={calendar:i??cn(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},f=ay(e).isToday();if(f&&!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,p).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==a&&u&&l&&(t=t.map(ca("-"))),"wide"==a&&(t=t.map(ca(" — "))),"ethiopic"===p.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||f&&"for today"===s)&&(n+=`, ${cs(e)}`),n}let ca=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function cs(e){return e.toLocaleTimeString(lY(),{hour:"2-digit",minute:"2-digit"})}function cl(e,t){return ci(e,{...t,time:!0})}function cc(e,t){let n=cn("string"==typeof t?new Intl.Locale(t):t);return n?(0,lG.yP)(e,(0,lq.d)(n)):e}function cu(e,t){return new Intl.DurationFormat(lY(),t).format(e)}function cd(e,t){if(null==e)return null;if("string"==typeof e){let n=lY(),o=(0,lZ.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,F.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,F.A)(o,"day"),...{date:o.day}}),ay(t).set(o))}return ay(e)}let cm=["years","months","days","hours","minutes","seconds"],cp={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},cf={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function cg(e,t=ay(),n){let o,r=ay(t),i=cd(e,r);if(null==i)return null;if("string"==typeof n){let e=cp[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?cp[l]??l:void 0;return e="auto"===s||void 0===s?function(e,t,n){let o=cm.indexOf(n);for(let r=0;r<cm.length;r++){let i=cm[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):cp[s]??s,function(e,t,n,o){let r=cm.indexOf(n),i=cm.indexOf(o),a=cm.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={...cf};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[cp[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 ch={style:"short",localeMatcher:"lookup"};function c_(e,t=ay(),n){let o=cg(e,t,n);return null==o?null:cu(o,"object"==typeof n&&n.formatOptions?{...ch,...n.formatOptions}:ch)}let cw=(0,rX.createContext)(null);function cy(){let e=iD({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rX.useMemo)(()=>{let t=lY();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,rX.useMemo)(()=>{let e=cn(t);return void 0!==e?(0,lq.d)(e):void 0},[t]),o=(0,rX.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,rX.useMemo)(()=>n?(0,lG.yP)((0,lz.Ec)((0,lz.Xj)()),n):(0,lz.Ec)((0,lz.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let cb=new lH.ng(1793,1,1);var cv=n(5830),cx=n(6156),ck=n(4745),cS=n(1202);function cj(e,t){return Number.parseInt(ci(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cN=(0,rX.forwardRef)(function(e,t){let{className:n}=e,o=(0,rX.useContext)(cv.f2),r=(0,rX.useContext)(cv._I),i=o??r,a=(0,rX.useContext)(cw),s=(0,lz.Xj)(),l=ci(i.visibleRange.start.toDate(s),{calendar:a.calendar,locale:a.baseName,day:!1,year:!1,noToday:!0}),c=cj(i.visibleRange.start.toDate(s),a),u=i.maxValue?cj(i.maxValue.toDate(s),a):void 0,d=i.minValue?cj(i.minValue.toDate(s),a):void 0,m=(0,rX.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,aU.jsxs)("span",{ref:t,className:n,children:[(0,aU.jsx)("span",{children:l}),(0,aU.jsxs)(ck.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,aU.jsx)(cS.p,{}),(0,aU.jsxs)(lL.Y,{children:[(0,aU.jsx)(lD.$,{slot:"increment",children:(0,aU.jsx)(su,{size:8})}),(0,aU.jsx)(lD.$,{slot:"decrement",children:(0,aU.jsx)(ss,{size:8})})]})]})]})});var cC=n(9588);let cE="-esm-implementer-tools__datepicker-module__inputGroup___+4zks",cI="-esm-implementer-tools__datepicker-module__inputSegment___wiExn",cP="-esm-implementer-tools__datepicker-module__dateInputWrapper___uiyAC",cA="-esm-implementer-tools__datepicker-module__invalidText___SxtTL",cO="-esm-implementer-tools__datepicker-module__flatButton___UU1Qp",cT="-esm-implementer-tools__datepicker-module__flatButtonMd___fhR-1",cR="-esm-implementer-tools__datepicker-module__flatButtonSm___5INZ7",c$="-esm-implementer-tools__datepicker-module__flatButtonLg___RFMrl";function cM({children:e}){let t=(0,rX.useContext)(lM.Pg),n=(0,rX.useContext)(lM.a8),o=t??n,r=al(()=>o?.close());return(0,aU.jsx)(cC.lG,{className:"-esm-implementer-tools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cW=(0,rX.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,a=i?cv._e:cv.Vv;return(0,aU.jsx)(cx.A,{ref:r,className:"-esm-implementer-tools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,aU.jsx)(cM,{children:(0,aU.jsxs)(a,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,aU.jsxs)("header",{className:"-esm-implementer-tools__datepicker-module__header___WAVlD",children:[(0,aU.jsx)(lD.$,{className:aH()(cO,cT),slot:"previous",children:(0,aU.jsx)(s_,{size:16})}),(0,aU.jsx)(cN,{className:"-esm-implementer-tools__datepicker-module__monthYear___A3aKF"}),(0,aU.jsx)(lD.$,{className:aH()(cO,cT),slot:"next",children:(0,aU.jsx)(sw,{size:16})})]}),(0,aU.jsx)(cv.r8,{className:"-esm-implementer-tools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,aU.jsx)(cv.Zr,{className:aH()("cds--date-picker__day",{"-esm-implementer-tools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cL=n(8017),cD=n(9774),cB=n(7956);let cU=(0,rX.forwardRef)(function(e,t){let n=(0,rX.useContext)(lM.Pg),[o,r]=(0,l$.JT)({slot:e.slot},t,cD.cQ),{locale:i}=(0,lU.Y)(),a=(0,cB.F)({...o,locale:i,createCalendar:lq.d}),s=(0,rX.useRef)(null),{fieldProps:l,inputProps:c}=(0,cL.cJ)({...o,inputRef:s},a,r),u=(0,rX.useCallback)(()=>{a.isDisabled||n.toggle()},[]);return(0,aU.jsxs)(l$.Kq,{values:[[cD.$,a],[cS.E,{...c,ref:s}],[lL.t,{...l,ref:r,isInvalid:a.isInvalid}]],children:[(0,aU.jsx)(lL.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,rX.cloneElement)(e.children(t),{key:n}))}),(0,aU.jsx)(cS.p,{})]})}),cF=(0,rX.forwardRef)(function(e,t){let n=(0,rX.useContext)(lM.Pg),o=(0,rX.useContext)(lM.a8);return(n??o).isInvalid?(0,aU.jsx)(lj,{ref:t,size:16,...e}):(0,aU.jsx)(sa,{ref:t,size:16,...e})});var cH=n(64),cG=n(5503),cz=n(1697),cV=n(7866),cJ=n(8035),cq=n(2231);let cK=(0,rX.forwardRef)(function({segment:e,...t},n){let o=(0,rX.useContext)(cD.$),r=(0,cH.U)(n),{segmentProps:i}=(0,cG.V)(e,o,r),{focusProps:a,isFocused:s,isFocusVisible:l}=(0,cz.o)(),{hoverProps:c,isHovered:u}=(0,cV.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,rX.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,rX.useCallback)(e=>{e.stopPropagation()},[]);return(0,aU.jsx)("span",{...(0,cJ.v)((0,cq.$)(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})}),cX={short:!1,size:"md"},cY=(0,rX.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:p,onChangeRaw:f,short:g,size:h,value:_,...w}={...cX,...e},{calendar:y,intlLocale:b,today_:v}=cy(),x=(0,rX.useId)(),k=!!(c??l),S=(0,rX.useMemo)(()=>lV(o,y),[o,y]),j=(0,rX.useMemo)(()=>lV(_,y,!0),[_,y]),N=(0,rX.useMemo)(()=>lV(d,y),[d,y]),C=(0,rX.useMemo)(()=>lV(m??cb,y),[m,y]),E=(0,rX.useMemo)(()=>i||s,[i,s]),I=(0,rX.useMemo)(()=>(f&&p&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),f??(e=>p?.(lJ(e)))),[f,p]);return(0,aU.jsx)(lF,{locale:b.toString(),children:(0,aU.jsx)("div",{className:aH()("cds--form-item",n),children:(0,aU.jsx)(l$.Kq,{values:[[cw,b]],children:(0,aU.jsxs)(lM.lr,{className:aH()("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"===b.language||void 0,...w,onChange:I,children:[(0,aU.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,aU.jsx)(lW.J,{className:aH()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,aU.jsxs)(lL.Y,{className:cE,children:[(0,aU.jsx)(cU,{id:k?x:void 0,ref:t,className:aH()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__inputWrapper___kykar",{"-esm-implementer-tools__datepicker-module__inputWrapperSm___KJtg-":"sm"===h,"-esm-implementer-tools__datepicker-module__inputWrapperMd___ablE9":"md"===h||!h||0===h.length,"-esm-implementer-tools__datepicker-module__inputWrapperLg___5dkQp":"lg"===h}),children:e=>"era"!==e.type?(0,aU.jsx)(cK,{className:cI,segment:e}):(0,aU.jsx)(rY().Fragment,{})}),(0,aU.jsx)(lD.$,{className:aH()(cO,{[cR]:"sm"===h,[cT]:"md"===h||!h||0===h.length,[c$]:"lg"===h}),children:(0,aU.jsx)(cF,{})})]}),(0,aU.jsx)(lB.b,{className:cA,children:a})]}),(0,aU.jsx)(cW,{variant:"single",today_:v})]})})})})}),cZ=(0,rX.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:p="md",value:f,...g},h){let{calendar:_,intlLocale:w,today_:y}=cy(),b=(0,rX.useId)(),v=!!(s??a),x=(0,rX.useMemo)(()=>{if(f)return{start:lV(f[0],_,!1),end:lV(f[1],_,!1)}},[f,_]),k=(0,rX.useMemo)(()=>{if(t)return{start:lV(t[0],_,!1),end:lV(t[1],_,!1)}},[t,_]),S=(0,rX.useMemo)(()=>lV(u??cb,_,!0),[u,_]),j=(0,rX.useMemo)(()=>lV(c,_,!0),[c,_]),N=(0,rX.useMemo)(()=>n||i,[n,i]),C=(0,rX.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?.([lJ(e.start),lJ(e.end)]))),[m,d]);return(0,aU.jsx)(lF,{locale:w.toString(),children:(0,aU.jsx)("div",{className:aH()("cds--form-item",e),children:(0,aU.jsx)(l$.Kq,{values:[[cw,w]],children:(0,aU.jsx)(lM.Ur,{id:v?b:void 0,className:aH()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===w.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,aU.jsxs)("div",{className:"cds--date-picker-container",children:[v&&(0,aU.jsx)(lW.J,{className:aH()("cds--label",{"cds--label--disabled":r}),htmlFor:b,children:s??a}),(0,aU.jsxs)(lL.Y,{className:cE,children:[(0,aU.jsxs)("div",{className:aH()("-esm-implementer-tools__datepicker-module__inputsWrapper___YlkGh",{"-esm-implementer-tools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===p,"-esm-implementer-tools__datepicker-module__inputsWrapperMd___XVgGP":"md"===p||!p||0===p.length,"-esm-implementer-tools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===p}),children:[(0,aU.jsx)(cD.J3,{className:aH()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__startInput___qgbQm",cP),slot:"start",children:e=>(0,aU.jsx)(cK,{className:cI,segment:e})}),(0,aU.jsx)("div",{className:"-esm-implementer-tools__datepicker-module__separator___79vXZ",children:(0,aU.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,aU.jsx)(cD.J3,{className:aH()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__endInput___huv7x",cP),slot:"end",children:e=>(0,aU.jsx)(cK,{className:cI,segment:e})})]}),(0,aU.jsx)(lD.$,{className:aH()(cO,{[cR]:"sm"===p,[cT]:"md"===p||!p||0===p.length,[c$]:"lg"===p}),children:(0,aU.jsx)(cF,{})})]}),(0,aU.jsx)(lB.b,{className:cA,children:o}),(0,aU.jsx)(cW,{variant:"range",today_:y,minDate:S,maxDate:j})]})})})})})}),cQ=({diagnoses:e})=>{let{diagnosisTags:t}=iD({externalModuleName:"@openmrs/esm-styleguide"});return(0,aU.jsx)("div",{className:"-esm-implementer-tools__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,aU.jsx)(aq.Tag,{type:i,children:r},o)})})},c0={action:"-esm-implementer-tools__empty-card-module__action___Y0dul",content:"-esm-implementer-tools__empty-card-module__content___fo0nB",desktopHeading:"-esm-implementer-tools__empty-card-module__desktopHeading___0Cg1N",tabletHeading:"-esm-implementer-tools__empty-card-module__tabletHeading___BogTF",tile:"-esm-implementer-tools__empty-card-module__tile___QB8Ld"},c1=({width:e="64",height:t="64"})=>(0,aU.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,aU.jsx)("use",{href:"#omrs-empty-data-illustration"})}),c2=e=>{let t="tablet"===an(),n=e.launchForm;return(0,aU.jsx)(aq.Layer,{className:c0.layer,children:(0,aU.jsxs)(aq.Tile,{className:c0.tile,children:[(0,aU.jsx)("div",{className:t?c0.tabletHeading:c0.desktopHeading,children:(0,aU.jsx)("h4",{children:e.headerTitle})}),(0,aU.jsx)(c1,{}),(0,aU.jsx)("p",{className:c0.content,children:tp("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,aU.jsx)("p",{className:c0.action,children:n&&(0,aU.jsx)(aq.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tp("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},c6=({error:e,headerTitle:t})=>{let n="tablet"===an();return(0,aU.jsx)(aq.Layer,{children:(0,aU.jsxs)(aq.Tile,{className:"-esm-implementer-tools__error-state-module__tile___dd418",children:[(0,aU.jsx)("div",{className:n?"-esm-implementer-tools__error-state-module__tabletHeading___g5rjg":"-esm-implementer-tools__error-state-module__desktopHeading___Nd9u2",children:(0,aU.jsx)("h4",{children:t})}),(0,aU.jsxs)("p",{className:"-esm-implementer-tools__error-state-module__errorMessage___z2RiN",children:[tp("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,aU.jsx)("p",{className:"-esm-implementer-tools__error-state-module__errorCopy___dq+e2",children:tp("errorCopy")})]})})},c5=c6,c8=rY().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=ai(),a=window.location??{pathname:""},s=it(n??"");return e.isChildOfHeader&&n&&s.length>0?(0,aU.jsxs)(aq.SideNav,{"aria-label":tp("leftNavigation","Left navigation"),className:"-esm-implementer-tools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,aU.jsx)(ii,{name:"global-nav-menu-slot"}),n?(0,aU.jsx)(iI,{value:r,fallback:(0,aU.jsx)(ii,{name:n,state:{basePath:o,currentPath:a,...i}}),children:(0,aU.jsx)(rZ.Provider,{value:r,children:(0,aU.jsx)(ii,{name:n,state:{basePath:o,currentPath:a,...i}})})}):null]}):null}),c3=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,a]=(0,rX.useState)(""),s=(0,rX.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=iH()(t,tP,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rX.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:p,setPage:f}=function(e,t=0,n=""){let o=iU(n),{data:r,isLoading:i,isValidating:a,setSize:s,error:l}=i5()(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tC}/Location?`,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()},tP);return(0,rX.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,rX.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rX.useCallback)(e=>{r(),a(e.trim())},[r]),_=ac((0,rX.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),w=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsx)(aq.Search,{"aria-describedby":p?`${s}-error`:void 0,labelText:tp("searchForLocation"),id:s,placeholder:tp("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,aU.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__errorNotification___vWBFD",id:`${s}-error`,children:(0,aU.jsx)(aq.InlineNotification,{kind:"error",subtitle:tp("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tp("error","Error")})}),(0,aU.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__searchResults___Gbet+",children:u?(0,aU.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,aU.jsx)(aq.RadioButtonSkeleton,{className:"-esm-implementer-tools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,aU.jsx)(aq.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,aU.jsx)(aq.RadioButton,{className:"-esm-implementer-tools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,aU.jsx)("span",{ref:t===w?_:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,aU.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__emptyState___w4-Ca",children:(0,aU.jsx)("p",{className:"-esm-implementer-tools__location-picker-module__locationNotFound___Of2MJ",children:tp("noResultsToDisplay")})})}),m&&(0,aU.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingIcon___NAwSB",children:(0,aU.jsx)(aq.InlineLoading,{description:tp("loading")})})]})})]})},c4=T("modalState",{modalContainer:null,modalStack:[]}),c7=0;async function c9(e,t,n={}){let o=rC(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,a=await i(),s=c7++;r=await rV({...a,name:`${t}-${s}`},{...n,domElement:e})}else y(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function ue(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function ut(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function un(e){return e.find(e=>!ue(e))}function uo(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let ur=window.getComputedStyle(document.body).overflow;function ui({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",us),document.body.style.overflow="hidden",t.style.visibility="unset");let n=un(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",c9(n,e.modalName,e.props).then(o=>{ue(e)?ut(e.modalName,o):o?(e.parcel=o,t.prepend(n),uo(e,un(c4.getState().modalStack)===e),o.mountPromise.then(()=>{ue(e)||(e.state="MOUNTED")},t=>{y(t),e.parcel=null,ua(e)})):ua(e)},t=>{y(t),ua(e)});break}case"MOUNTING":case"MOUNTED":uo(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),ut(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=c4.getState();c4.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=ur,removeEventListener("keydown",us)}function ua(e){if(ue(e))return;e.state="TO_BE_DELETED";let t=c4.getState();c4.setState({...t,modalStack:[...t.modalStack]})}function us(e){"Escape"===e.key&&function(){let[e]=c4.getState().modalStack;e&&ua(e)}()}function ul(e){c4.subscribe(ui),c4.setState({...c4.getState(),modalContainer:e})}function uc(e,t={},n=()=>{}){let o=()=>{let e=c4.getState().modalStack.find(e=>e.onClose===n);e&&ua(e)};if(rC(e)){var r;let i,a;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},a=[r,...(i=c4.getState()).modalStack],c4.setState({...i,modalStack:a})}else y(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}var uu=n(9685);let ud=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:a}=e;return(0,aU.jsx)(aq.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:a})},um=({subject:e})=>{let[t,n]=(0,rX.useState)([]);return(0,rX.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,aU.jsx)(aU.Fragment,{children:t.map(e=>(0,aU.jsx)(ud,{notification:e},e.id))})},up=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:a,progressActionLabel:s,id:l,...c}=e,[u,d]=(0,rX.useState)(t);return(0,aU.jsx)(aq.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tp("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),s&&d(s)},statusIconDescription:tp("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:a,inline:!0,...c})},uf=({subject:e})=>{let[t,n]=(0,rX.useState)([]);return(0,rX.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,aU.jsx)(aU.Fragment,{children:t.map(e=>(0,aU.jsx)(up,{notification:e},e.id))})};class ug{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"listeners",new Set)}}let uh=new ug,u_=0,uw=new ug,uy=0;function ub(e){e&&(0,ia.createRoot)(e).render((0,aU.jsx)(um,{subject:uh}))}function uv(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,uu.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{uh.next({...e,id:u_++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function ux(e){e&&(0,ia.createRoot)(e).render((0,aU.jsx)(uf,{subject:uw}))}function uk(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,uu.A)(t))?setTimeout(()=>{uw.next({...e,id:uy++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let uS=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],uj=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uN={container:"-esm-implementer-tools__numeric-observation-module__container___NfxbH",card:"-esm-implementer-tools__numeric-observation-module__card___9oQAh","abnormal-value":"-esm-implementer-tools__numeric-observation-module__abnormal-value___drvEi","critical-value":"-esm-implementer-tools__numeric-observation-module__critical-value___JAIHt",cell:"-esm-implementer-tools__numeric-observation-module__cell___lTunW","critically-high":"-esm-implementer-tools__numeric-observation-module__critically-high___aDUjc","critically-low":"-esm-implementer-tools__numeric-observation-module__critically-low___5srAK",high:"-esm-implementer-tools__numeric-observation-module__high___7KiyK",low:"-esm-implementer-tools__numeric-observation-module__low___Zs2ct","label-container":"-esm-implementer-tools__numeric-observation-module__label-container___lGnGH","value-container":"-esm-implementer-tools__numeric-observation-module__value-container___hHPXt",label:"-esm-implementer-tools__numeric-observation-module__label___WFuxk",value:"-esm-implementer-tools__numeric-observation-module__value___6fHUr",units:"-esm-implementer-tools__numeric-observation-module__units___EdVuw","pad-right":"-esm-implementer-tools__numeric-observation-module__pad-right___6T9Cd","off-scale-low":"-esm-implementer-tools__numeric-observation-module__off-scale-low___Sc1CV","off-scale-high":"-esm-implementer-tools__numeric-observation-module__off-scale-high___cWpU2",arrow:"-esm-implementer-tools__numeric-observation-module__arrow___SLGUh"},uC=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:a="card",patientUuid:s})=>{let l=(0,rX.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tN}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tN}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=iH()(n,tP),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,rX.useMemo)(()=>{if(o)return o?"--"===o?"normal":uS.includes(o)?o.toLowerCase():uj.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",p="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,f="normal"!==m,g=n?`omrs-numeric-obs-label-${n.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,_=`omrs-numeric-obs-unit-${l}`,w=null!=e&&""!==e,y=w?e:tp("notAvailable","Not available"),b=aH()({[uN["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uN["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uN.low]:"low"===m,[uN.high]:"high"===m,[uN["off-scale-low"]]:"off_scale_low"===m,[uN["off-scale-high"]]:"off_scale_high"===m}),v=aH()({[uN.container]:!0,[uN.card]:!0,[uN["critical-value"]]:p,[uN["abnormal-value"]]:f&&!p}),x=aH()({[uN.cell]:!0,[b]:!0});return"cell"===a?(0,aU.jsxs)("div",{className:x,children:[y,w&&t?` ${t}`:""]}):(0,aU.jsxs)("section",{className:v,"data-testid":"numeric-observation-card",children:[n&&(0,aU.jsxs)("div",{className:uN["label-container"],children:[(0,aU.jsx)("span",{id:g,className:uN.label,children:n}),f&&(0,aU.jsx)("span",{className:uN[m.replace("_","-")],title:tp("abnormalValue","Abnormal value")})]}),(0,aU.jsxs)("div",{className:uN["value-container"],children:[(0,aU.jsx)("span",{id:h,"aria-labelledby":g&&_?`${g} ${_}`:g||_||void 0,className:uN.value,children:y}),w&&t&&(0,aU.jsx)("span",{id:_,className:uN.units,children:t})]})]})},uE="-esm-implementer-tools__page-header-module__pageHeader___YOpQL",uI=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,aU.jsx)("div",{className:aH()(uE,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,aU.jsx)("div",{className:aH()(uE,o),...r,children:(0,aU.jsx)(uP,{title:t,illustration:n})})}},uP=({title:e,illustration:t,className:n})=>{let[o,r]=(0,rX.useState)(null);return(0,rX.useEffect)(()=>{eM("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,aU.jsxs)("div",{className:aH()("-esm-implementer-tools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,aU.jsxs)("div",{className:"-esm-implementer-tools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,aU.jsx)("p",{children:tp(o.implementationName)}),(0,aU.jsx)("p",{className:"-esm-implementer-tools__page-header-module__pageName___3d4IC",children:e})]})]})},uA=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:a})=>{let{pageSizes:s,pageItemsCount:l}=am(t,e,o,i),c="tablet"===an(),u=tp("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,aU.jsx)(aU.Fragment,{children:e>0&&(0,aU.jsxs)("div",{className:aH()({"-esm-implementer-tools__pagination-module__tablet___lQ3ak":c,"-esm-implementer-tools__pagination-module__desktop___HfUTY":!c}),children:[(0,aU.jsxs)("div",{children:[u,r&&(0,aU.jsx)(rQ,{to:r,className:"-esm-implementer-tools__pagination-module__configurableLink___NM9v7",children:a??tp("seeAll","See all")})]}),(0,aU.jsx)(aq.Pagination,{className:"-esm-implementer-tools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:s,totalItems:e,onChange:n,pageRangeText:(e,t)=>tp("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uO(e){return uR(uM(e,"usual","official"))}function uT(e){return uO(e)}function uR(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function u$(e){return uR(e)}function uM(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 uW(e,t=ay()){let n=ay(t),o=cd(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 uL(e,t=ay()){let n=uW(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),cu(n,o)}let uD={container:"-esm-implementer-tools__patient-banner-patient-info-module__container___Gjd-4",activePatientContainer:"-esm-implementer-tools__patient-banner-patient-info-module__activePatientContainer___QLcpg",patientBanner:"-esm-implementer-tools__patient-banner-patient-info-module__patientBanner___7nrgC",patientName:"-esm-implementer-tools__patient-banner-patient-info-module__patientName___-bF9a",patientAvatar:"-esm-implementer-tools__patient-banner-patient-info-module__patientAvatar___AkN3H",patientAvatarButton:"-esm-implementer-tools__patient-banner-patient-info-module__patientAvatarButton___KDxA6",patientInfo:"-esm-implementer-tools__patient-banner-patient-info-module__patientInfo___+WtDB",demographics:"-esm-implementer-tools__patient-banner-patient-info-module__demographics___Vtf3v",row:"-esm-implementer-tools__patient-banner-patient-info-module__row___NIOYI",flexRow:"-esm-implementer-tools__patient-banner-patient-info-module__flexRow___VxdGB",tagsSlot:"-esm-implementer-tools__patient-banner-patient-info-module__tagsSlot___lU6+4",identifiers:"-esm-implementer-tools__patient-banner-patient-info-module__identifiers___tehd8",identifier:"-esm-implementer-tools__patient-banner-patient-info-module__identifier___bSJIF",primaryIdentifier:"-esm-implementer-tools__patient-banner-patient-info-module__primaryIdentifier___yOV1B",secondaryIdentifier:"-esm-implementer-tools__patient-banner-patient-info-module__secondaryIdentifier___WvJbh",value:"-esm-implementer-tools__patient-banner-patient-info-module__value___sBM-q",tag:"-esm-implementer-tools__patient-banner-patient-info-module__tag___BEvEV",gender:"-esm-implementer-tools__patient-banner-patient-info-module__gender___4XkLq",separator:"-esm-implementer-tools__patient-banner-patient-info-module__separator___iYBA3",tooltipPadding:"-esm-implementer-tools__patient-banner-patient-info-module__tooltipPadding___EWVCK",tooltipSmallText:"-esm-implementer-tools__patient-banner-patient-info-module__tooltipSmallText___yDmRU",actionsButtonText:"-esm-implementer-tools__patient-banner-patient-info-module__actionsButtonText___mn139"};function uB({showIdentifierLabel:e,type:t,value:n}){return(0,aU.jsx)("span",{className:uD.primaryIdentifier,children:(0,aU.jsxs)(aq.Tag,{className:uD.tag,type:"gray",children:[e&&t?.text&&(0,aU.jsxs)("span",{className:uD.label,children:[t.text,": "]}),(0,aU.jsx)("span",{className:uD.value,children:n})]})})}function uU({showIdentifierLabel:e,type:t,value:n}){return(0,aU.jsxs)(aq.FormLabel,{className:uD.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,aU.jsxs)("span",{className:uD.label,children:[t?.text,": "]}),(0,aU.jsx)("span",{className:uD.value,children:n})]})}function uF({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=iD(),{primaryIdentifierCode:o}=ag(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,aU.jsx)(aU.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,aU.jsxs)(rY().Fragment,{children:[(0,aU.jsx)("span",{className:uD.identifier,children:n?.coding?.[0]?.code===o?(0,aU.jsx)(uB,{showIdentifierLabel:t,type:n,value:e}):(0,aU.jsx)(uU,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,aU.jsx)("span",{className:uD.separator,children:"\xb7"})]},e)):""})}let uH={Female:sP,Male:sA,Other:sO,Unknown:sT},uG=({gender:e})=>{let t=uH[e];return t?(0,aU.jsx)(t,{fill:"#525252"}):null},uz={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uV({patient:e,renderedFrom:t}){var n;let o,r,i=uO(e),a=e?.gender&&(r=uz[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tp(o,n),iconKey:r}),s=(0,rX.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,aU.jsxs)("div",{className:uD.patientInfo,children:[(0,aU.jsx)("div",{className:aH()(uD.row,uD.patientNameRow),children:(0,aU.jsxs)("div",{className:uD.flexRow,children:[(0,aU.jsx)("span",{className:uD.patientName,children:i}),a&&(0,aU.jsxs)("div",{className:uD.gender,children:[(0,aU.jsx)(uG,{gender:a.iconKey}),(0,aU.jsx)("span",{children:a.displayText})]}),(0,aU.jsx)(ii,{className:uD.tagsSlot,name:"patient-banner-tags-slot",state:s})]})}),(0,aU.jsxs)("div",{className:uD.demographics,children:[e.birthDate&&(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsx)("span",{children:uL(e.birthDate)}),(0,aU.jsx)("span",{className:uD.separator,children:"\xb7"}),(0,aU.jsx)("span",{children:cr(e.birthDate,{time:!1})}),(0,aU.jsx)("span",{className:uD.separator,children:"\xb7"})]}),(0,aU.jsx)(uF,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,aU.jsx)(ii,{className:uD.extensionSlot,name:"patient-banner-bottom-slot",state:s})]})]})}var uJ=n(7683);function uq({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,rX.useState)(!1),{extensions:a}=io(n),s="tablet"===an(),l=al(()=>i(!1),r),c=(0,rX.useRef)(null),u=(0,rX.useRef)(null),d=(0,rX.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rX.useCallback)(()=>i(e=>!e),[]),g=(0,rX.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rX.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,rX.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let _=(0,rX.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===a.length?null:(0,aU.jsx)("div",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,aU.jsxs)("div",{"data-overflow-menu":!0,className:aH()("cds--overflow-menu",aY),ref:l,children:[(0,aU.jsxs)("button",{className:aH()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},a0),"aria-controls":p,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:f,onKeyDown:h,ref:c,children:[(0,aU.jsx)("span",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tp("actions","Actions")})," ",(0,aU.jsx)(uJ.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,aU.jsxs)("div",{className:aH()("cds--overflow-menu-options","cds--overflow-menu--flip",aZ,{[aQ]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,aU.jsx)("ul",{className:aH()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":s}),children:(0,aU.jsx)(ii,{name:n,state:_},n)}),(0,aU.jsx)("span",{})]})]})})}var uK=n(397),uX=n.n(uK);function uY(e){let{patientPhotoConceptUuid:t}=iD({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tN}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=iu()(e?n:null,tP),a=o?.data?.results[0];return{data:a?{dateTime:a?.obsDatetime,imageSrc:a?.value?.links?.uri}:null,error:r,isLoading:i}}let uZ=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,il.useTranslation)();return(0,aU.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,aU.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,aU.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"})]})},uQ="-esm-implementer-tools__patient-photo-module__avatar___t5TmZ";function u0({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=uY(e),[i,a]=(0,rX.useState)(null),[s,l]=(0,rX.useState)(!1),c=(0,rX.useMemo)(()=>uX().generate(e),[e]);(0,rX.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,rX.useMemo)(()=>n||(i?tp("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tp("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||s?(0,aU.jsx)(aq.SkeletonIcon,{className:"-esm-implementer-tools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,aU.jsx)(uZ,{"aria-label":tp("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,aU.jsx)("div",{"aria-label":u,children:(0,aU.jsx)("img",{className:uQ,src:i,alt:u,title:t})}):(0,aU.jsx)("div",{"aria-label":u,children:(0,aU.jsx)("div",{className:uQ,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,aU.jsx)("span",{className:"-esm-implementer-tools__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 u1=["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-metadata-export","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"],u2=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),u6=u2,u5=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),u8=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),u3=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),u4=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u7=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),u9=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),de=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),dt=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),dn=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),dr=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),di=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),da=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),ds=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),dl=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),dc=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),du=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),dd=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),dm=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),dp=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),df=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dg=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dh=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),d_=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),dw=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dy=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),db=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dv=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aU.jsx)(dj,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),dx=dn,dk=dm,dS=(0,rX.memo)((0,rX.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,rX.useRef)(document.getElementById(e));return(0,rX.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,aU.jsx)(iI,{value:r.current,fallback:t,children:(0,aU.jsx)(dj,{ref:o,pictogram:e,pictogramProps:n})})})),dj=(0,rX.memo)((0,rX.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,aU.jsx)("svg",{ref:n,className:aH()("-esm-implementer-tools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,aU.jsx)("use",{href:`#${e}`})})})),dN=({children:e})=>"tablet"===an()?(0,aU.jsx)(aq.Layer,{children:e}):(0,aU.jsx)(aU.Fragment,{children:e}),dC=({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,[p,f]=(0,rX.useState)(n),[g,h]=(0,rX.useState)(!0),[_,w]=(0,rX.useState)(!1),y=(0,rX.useCallback)(()=>{setTimeout(t,250)},[t]),b=(0,rX.useCallback)(()=>{w(!0),y()},[y]);return(0,rX.useEffect)(()=>{if(c){let e=setTimeout(b,l);return()=>clearTimeout(e)}},[l,c,b]),(0,rX.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,aU.jsx)(aq.ActionableNotification,{actionButtonLabel:p,"aria-label":tp("closeSnackbar","Close snackbar"),className:aH()("-esm-implementer-tools__snackbar-module__slideIn___-oZIt",{"-esm-implementer-tools__snackbar-module__animated___M2YBU":g,"-esm-implementer-tools__snackbar-module__slideOut___yEmGT":_}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),b(),a&&f(a)},onClose:y,statusIconDescription:tp("snackbarNotification","Snackbar notification"),subtitle:s,title:u,...m})},dE=({subject:e})=>{let[t,n]=(0,rX.useState)([]),o=(0,rX.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rX.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,aU.jsx)(aU.Fragment,{children:t.map(e=>(0,aU.jsx)(dC,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},dI=new ug,dP=0;function dA(e){e&&(0,ia.createRoot)(e).render((0,aU.jsx)(dE,{subject:dI}))}function dO(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dI.next({...e,id:dP++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dT=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:a,onActionButtonClick:s=()=>{}}=e,l=(0,rX.useCallback)(()=>{s(),t()},[t,s]);return(0,aU.jsx)("div",{children:(0,aU.jsx)(aq.ActionableNotification,{actionButtonLabel:a,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},dR=({subject:e})=>{let[t,n]=(0,rX.useState)([]),o=(0,rX.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rX.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,aU.jsx)(aU.Fragment,{children:t.map(e=>(0,aU.jsx)(dT,{toast:e,closeToast:()=>o(e)},e.id))})},d$=new ug,dM=0;function dW(e){e&&(0,ia.createRoot)(e).render((0,aU.jsx)(dR,{subject:d$}))}function dL(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,uu.A)(t))?setTimeout(()=>{d$.next({...e,id:dM++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function dD(e,t=!1){if(t)return!0;let n=dG[e];return!n||!n()}function dB(e,t){let n=dZ.getState()?.workspaceGroup,o=n?.name;o&&e===o&&d2(()=>{let o=d4(e);o&&(o.setState({},!0),o.subscribe(()=>{})()),"function"==typeof n?.cleanup&&n.cleanup(),dZ.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},o?e=>e.currentWorkspaceGroup===o:()=>!0)}function dU(e,t){let{name:n,additionalProps:o}=t;rT(n);let r=()=>{dK(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>dF(n,o),closeWorkspaceGroup:!1})};dD(e.name)?r():d5("closing-workspace-launching-new-workspace",r,e.title??e.name)}function dF(e,t){let n=rT(e),o=dZ.getState().workspaceGroup;if(o&&!o.members?.includes(e))return void dB(o.name,()=>{dF(e,t)});let r=dZ.getState().workspaceGroup?.name,i={...n,title:d8(n,t),closeWorkspace:(t={})=>dK(e,t),closeWorkspaceWithSavedChanges:t=>dK(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var n,o;return n=e,o=t,void(dG[n]=o)},setTitle:(t,n)=>{i.title=t,i.titleNode=n,dZ.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){dZ.setState(n=>{let o=[e,...t??n.openWorkspaces],r=d1(e);return{...n,openWorkspaces:o,workspaceWindowState:r}})}r&&d4(r,t);let s=dZ.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===d8(t,t.additionalProps)&&{title:d8(i,i.additionalProps)}},s.filter(t=>t.name!=e))}else c?(a(c,dZ.getState().openWorkspaces.filter(e=>e.type!=i.type)),dU(c,{name:e,additionalProps:t})):a(i);else dU(s[0],{name:e,additionalProps:t})}function dH({targetUrl:e,contextKey:t,workspaceName:n,additionalProps:o}){dX(t),dF(n,o),th({to:e})}let dG={};function dz(e,t){dG[e]=t}function dV(e){return dG[e]}function dJ(){let e=dZ.getState();dZ.setState({...e,prompt:null})}let dq={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function dK(e,t={}){t={...dq,...t};let n=()=>{let n=dZ.getState();n.openWorkspaces.find(t=>t.name===e);let o=n.openWorkspaces.filter(t=>t.name!=e),r=dZ.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&dB(r),dG[e]=()=>!1,dZ.setState(e=>({...e,prompt:null,openWorkspaces:o,workspaceWindowState:d1(o?.[0])})),t?.onWorkspaceClose?.()};return dD(e,t?.ignoreChanges)?(n(),!0):(d5("closing-workspace",n,rT(e).title??e),!1)}function dX(e){dZ.getState().context!=e&&dZ.setState({context:e,openWorkspaces:[],prompt:null})}let dY={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},dZ=T("workspace",dY);function dQ(){return dZ}function d0(e){let t=dZ.getState();dZ.setState({...t,workspaceWindowState:e})}function d1(e){return e?.preferredWindowSize??"normal"}function d2(e=()=>{},t=()=>!0){let n=dZ.getState().openWorkspaces.filter(t).every(({name:e})=>dD(e)),o=()=>{d3(),e?.()};n?o():d5("closing-all-workspaces",o)}function d6(){let{workspaceWindowState:e,openWorkspaces:t,prompt:n,workspaceGroup:o}=r5(dZ);return(0,rX.useMemo)(()=>({active:t.length>0,prompt:n,workspaceWindowState:e,workspaces:t,workspaceGroup:o}),[t,e,n,o])}function d5(e,t=()=>{},n=""){let o;switch(e){case"closing-workspace":o={title:tp("unsavedChangesTitleText","Unsaved changes"),body:tp("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tp("discard","Discard")};break;case"closing-all-workspaces":{let e=dZ.getState().openWorkspaces.filter(({name:e})=>!dD(e)).map(({title:e},t)=>`${t+1}. ${e}`);o={title:tp("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tp("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:tp("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":o={title:tp("unsavedChangesTitleText","Unsaved changes"),body:tp("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:n}),onConfirm:()=>{dZ.setState(e=>({...e,prompt:null})),t?.()},confirmText:tp("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}dZ.setState(e=>({...e,prompt:o}))}function d8(e,t){return t?.workspaceTitle??e.title}function d3(){dZ.setState(dY)}function d4(e,t={}){if(!e||"default"===e)return;let n=$(e,{});return t&&n.setState(e=>({...e,...t})),n}let d7="-esm-implementer-tools__action-menu-button-module__container___f7spB",d9="-esm-implementer-tools__action-menu-button-module__elementContainer___ZROo9",me="-esm-implementer-tools__action-menu-button-module__active___+mcQh";function mt({getIcon:e,formOpenInTheBackground:t,tagContent:n}){return(0,aU.jsxs)(aU.Fragment,{children:[e({size:16}),t?(0,aU.jsx)("span",{className:"-esm-implementer-tools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,aU.jsx)("span",{className:"-esm-implementer-tools__action-menu-button-module__countTag___vo9ZX",children:n})]})}let mn=({getIcon:e,label:t,iconDescription:n,handler:o,type:r,tagContent:i})=>{let a=an(),{workspaces:s,workspaceWindowState:l}=d6(),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,aU.jsxs)(aq.Button,{className:aH()(d7,{[me]:u}),iconDescription:n,kind:"ghost",onClick:o,role:"button",tabIndex:0,size:"md",children:[(0,aU.jsx)("span",{className:d9,children:(0,aU.jsx)(mt,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,aU.jsx)("span",{children:t})]}):(0,aU.jsx)(aq.IconButton,{align:"left","aria-label":n,className:aH()(d7,{[me]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:o,size:"md",children:(0,aU.jsx)("div",{className:d9,children:(0,aU.jsx)(mt,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var mo=n(3173),mr=n(185),mi=n(4564);function ma({contextKey:e}){let{prompt:t}=d6();return(0,rX.useEffect)(()=>{RegExp(`/${(0,mi.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,rX.useEffect)(()=>(dX(e),()=>{dX(null)}),[e]),(0,rX.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:n,newUrl:o}}=t,r=RegExp(`/${(0,mi.A)(e)}(/|$)`),i=new URL(o),a=r.test(i.pathname),s=dZ.getState().openWorkspaces.every(({name:e})=>dD(e));a||(s?d3():(n?.(),d2(()=>{th({to:o})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,aU.jsxs)(aq.ComposedModal,{open:!0,onClose:dJ,children:[(0,aU.jsx)(aq.ModalHeader,{title:t.title}),(0,aU.jsx)(aq.ModalBody,{children:(0,aU.jsx)("p",{className:"-esm-implementer-tools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,aU.jsxs)(aq.ModalFooter,{children:[(0,aU.jsx)(aq.Button,{kind:"secondary",onClick:dJ,children:t.cancelText??tp("cancel")}),(0,aU.jsx)(aq.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tp("confirm")})]})]}):null}var ms=n(1820);function ml({workspace:e,additionalPropsFromPage:t}){let[n,o]=(0,rX.useState)(),r=function(e){let[t,n]=(0,rX.useState)({}),[o,r]=(0,rX.useState)(e);return(0,rX.useEffect)(()=>{o!==e&&r(e)},[e]),(0,rX.useEffect)(()=>{let e,t=d4(o);return t&&(n(t.getState()),e=t.subscribe(n)),()=>{t&&e?.()}},[o]),t}(e.currentWorkspaceGroup);(0,rX.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&o(e)}),()=>{t=!1}},[e]);let i=(0,rX.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return n?(0,aU.jsx)(ms.A,{config:n,mountParcel:rq,...i},e.name):(0,aU.jsx)(aq.InlineLoading,{className:"-esm-implementer-tools__workspace-module__loader___H6dHj",description:`${tp("loading","Loading")} ...`})}function mc({isWithinWorkspace:e,name:t,actionMenuProps:n={}}){let[o,r]=(0,rX.useState)(!1),i=(0,rX.useRef)(window.innerHeight),{featureName:a}=(0,rX.useContext)(rZ),s=an();(0,rX.useEffect)(()=>{let e=()=>{r(!ao(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,aU.jsx)("aside",{className:aH()("-esm-implementer-tools__action-menu-module__sideRail___GJUJ7",{"-esm-implementer-tools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-implementer-tools__action-menu-module__sideRailHidden___bQ0UM":o,"-esm-implementer-tools__action-menu-module__sideRailVisible___v-1cR":!o}),children:(0,aU.jsx)("div",{className:"-esm-implementer-tools__action-menu-module__container___WocuW",children:(0,aU.jsx)(ii,{className:"-esm-implementer-tools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:n})})})}function mu({contextKey:e,overlay:t,showSiderailAndBottomNav:n,additionalWorkspaceProps:o,actionMenuProps:r}){let i=an(),{workspaces:a,workspaceWindowState:s,workspaceGroup:l}=d6(),c=l?.name,u=a[0],d="hidden"===s||null==u,m=u?.width??(t?"wider":"narrow"),p=(0,rX.useMemo)(()=>n||c&&!d,[c,d,n]);return iM(!d&&!ao(i)),(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsxs)("div",{className:n?"-esm-implementer-tools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-implementer-tools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,aU.jsx)("aside",{className:aH()(t?"-esm-implementer-tools__workspace-module__workspaceOverlayOuterContainer___7nS96":"-esm-implementer-tools__workspace-module__workspaceWindowSpacer___l+rgk",{"-esm-implementer-tools__workspace-module__hiddenRelative___AJHmQ":d,"-esm-implementer-tools__workspace-module__narrowWorkspace___Vb16L":"narrow"===m,"-esm-implementer-tools__workspace-module__widerWorkspace___Bn7v8":"wider"===m,"-esm-implementer-tools__workspace-module__extraWideWorkspace___vN8kI":"extra-wide"===m}),children:(0,aU.jsx)("div",{className:aH()("-esm-implementer-tools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-implementer-tools__workspace-module__maximizedWindow___Sew5F":"maximized"===s,"-esm-implementer-tools__workspace-module__hiddenFixed___BxutH":d}),children:a.map((e,t)=>(0,aU.jsx)("div",{className:aH()("-esm-implementer-tools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-implementer-tools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,aU.jsx)(rX.Suspense,{fallback:null,children:(0,aU.jsx)(il.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,aU.jsx)(md,{workspaceInstance:e,additionalWorkspaceProps:o})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,aU.jsx)(ma,{contextKey:e})]}),p&&(0,aU.jsx)(mc,{name:c,isWithinWorkspace:!n,actionMenuProps:r})]})}function md({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:n}=(0,il.useTranslation)(),o=an(),{workspaceWindowState:r,workspaceGroup:i}=d6(),a=i?.name,s="maximized"===r;(0,rX.useEffect)(()=>{let t=n(e.title);t!==e.title&&e.setTitle(t)},[e.title,n,e.setTitle]);let{featureName:l}=(0,rX.useContext)(rZ),c=(0,rX.useCallback)(()=>{d0(s?"normal":"maximized")},[s]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:p}=(0,rX.useMemo)(()=>e??{},[e]),f=(0,rX.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsxs)(aq.Header,{"aria-label":tp("workspaceHeader","Workspace Header"),className:"-esm-implementer-tools__workspace-module__header___-3kjt",children:[!ao(o)&&!u&&(0,aU.jsx)(aq.HeaderMenuButton,{"aria-label":tp("close","Close"),renderMenuIcon:(0,aU.jsx)(st,{}),onClick:()=>p()}),(0,aU.jsx)(aq.HeaderName,{prefix:"",children:e.titleNode??n(e.title)}),(0,aU.jsx)("div",{className:"-esm-implementer-tools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,aU.jsxs)(aq.HeaderGlobalBar,{className:"-esm-implementer-tools__workspace-module__headerButtons___ppNsY",children:[(0,aU.jsx)(ii,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:f}),(0,aU.jsx)(ii,{name:`workspace-header-type-${e.type}-slot`,state:f}),(0,aU.jsx)(ii,{name:`workspace-header-${l}-slot`,state:f}),ao(o)&&(0,aU.jsxs)(aU.Fragment,{children:[(d||s)&&(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":s?tp("minimize","Minimize"):tp("maximize","Maximize"),onClick:c,children:s?(0,aU.jsx)(mo.Xj,{}):(0,aU.jsx)(mo.hz,{})}),u&&!a?(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":tp("hide","Hide"),onClick:()=>d0("hidden"),children:(0,aU.jsx)(sn,{})}):(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":tp("close","Close"),onClick:()=>p?.(),children:(0,aU.jsx)(sb,{})})]}),"tablet"===o&&u&&(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":tp("close","Close"),onClick:()=>p?.(),children:(0,aU.jsx)(mr.d3,{})})]})]}),(0,aU.jsx)("div",{className:aH()("-esm-implementer-tools__workspace-module__workspaceContent___cNdK1",{"-esm-implementer-tools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,aU.jsx)(ml,{workspace:e,additionalPropsFromPage:t},e.name)})]})}var mm=n(4656);async function mp(e,t){let{openedGroup:n}=r$.getState();if(n){if(n.groupName===e&&mh(n.props,t))return!0;else if(!await m_({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return r$.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function mf(e){let{openedGroup:t,openedWindows:n}=r$.getState();if(t){if(n.length>0&&!(e||await m_({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;r$.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function mg(e,t=null,n=null,o=null){let r=r$.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rM(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=rW(s);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rL(e);if(a&&(a.groupName!==l.name||!mh(a.props,o)))return!!await m_({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:s,openedWorkspaces:[mx(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(mh(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&mh(d.props,t)?((a||c!==r.openedWindows.length-1)&&r$.setState(mw.restoreWindow(r,s)),!0):!!await m_({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:s,workspaceName:e})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[mx(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await m_({reason:"CLOSE_WINDOW",explicit:!1,windowName:s})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[mx(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(r$.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:s,openedWorkspaces:[mx(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await m_({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:s,openedWorkspaces:[mx(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function mh(e,t){return null==e||null==t||x(e,t)}function m_(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}=r$.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=uc("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>o[e.workspaceName])})})}let mw={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=rL(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,mx(n,o)]}:e)}},setHasUnsavedChanges(e,t,n){let o=rL(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 my(){return r8(r$,mw)}let mb=()=>(0,rX.useContext)(is.i),mv=()=>Object.keys(r$.getState().registeredWorkspacesByName);function mx(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,mm.A)()}}let mk={workspaceOuterContainer:"-esm-implementer-tools__workspace2-module__workspaceOuterContainer___bPVpy",narrowWorkspace:"-esm-implementer-tools__workspace2-module__narrowWorkspace___kSYS7",widerWorkspace:"-esm-implementer-tools__workspace2-module__widerWorkspace___nW2HB",extraWideWorkspace:"-esm-implementer-tools__workspace2-module__extraWideWorkspace___em5yA",workspaceMiddleContainer:"-esm-implementer-tools__workspace2-module__workspaceMiddleContainer___Bx1i6",maximized:"-esm-implementer-tools__workspace2-module__maximized___Kfygr",hidden:"-esm-implementer-tools__workspace2-module__hidden___RPimX",workspaceInnerContainer:"-esm-implementer-tools__workspace2-module__workspaceInnerContainer___5zxpt",workspaceSpacer:"-esm-implementer-tools__workspace2-module__workspaceSpacer___E+982",loader:"-esm-implementer-tools__workspace2-module__loader___vmBQn",hiddenExtraWorkspace:"-esm-implementer-tools__workspace2-module__hiddenExtraWorkspace___qkbMG",header:"-esm-implementer-tools__workspace2-module__header___IZ-2+",headerButtons:"-esm-implementer-tools__workspace2-module__headerButtons___81a2N",workspaceContent:"-esm-implementer-tools__workspace2-module__workspaceContent___eetPy",overlayHeaderSpacer:"-esm-implementer-tools__workspace2-module__overlayHeaderSpacer___ruc6r",isActionMenuOpened:"-esm-implementer-tools__workspace2-module__isActionMenuOpened___XgCkc",showActionMenu:"-esm-implementer-tools__workspace2-module__showActionMenu___sHRt1",marginWorkspaceContent:"-esm-implementer-tools__workspace2-module__marginWorkspaceContent___TN+S+",workspaceContainerWithActionMenu:"-esm-implementer-tools__workspace2-module__workspaceContainerWithActionMenu___xLg8e",workspaceFixedContainer:"-esm-implementer-tools__workspace2-module__workspaceFixedContainer___W9cgZ",workspaceContainerWithoutActionMenu:"-esm-implementer-tools__workspace2-module__workspaceContainerWithoutActionMenu___fRrxd"},mS=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let o=an(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:a,openedWindows:s,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:p,isMostRecentlyOpenedWindowHidden:f}=my(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:_,showActionMenu:w}=mb(),y=rL(g),b=s[y],v=b?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,rX.useEffect)(()=>{v?.hasUnsavedChanges!=n&&a(g,n??!1)},[v?.hasUnsavedChanges,n,g,a]),(0,rX.useEffect)(()=>{m[g]!==e&&p(g,e)},[m,g,e,p]),y<0||null==l||null==v)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:I}=b,P=S?.width??"narrow",A=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),O=y<s.length-1||f;return(0,aU.jsxs)("div",{className:aH()(mk.workspaceOuterContainer,{[mk.narrowWorkspace]:"narrow"===P,[mk.widerWorkspace]:"wider"===P,[mk.extraWideWorkspace]:"extra-wide"===P,[mk.isActionMenuOpened]:A}),children:[(0,aU.jsx)("div",{className:aH()(mk.workspaceSpacer,{[mk.hidden]:O})}),(0,aU.jsx)("div",{className:aH()(mk.workspaceMiddleContainer,{[mk.maximized]:I,[mk.hidden]:O,[mk.isRootWorkspace]:h,[mk.showActionMenu]:w}),children:(0,aU.jsxs)("div",{className:aH()(mk.workspaceInnerContainer,{[mk.maximized]:I,[mk.hidden]:O,[mk.isRootWorkspace]:h}),children:[(0,aU.jsxs)(aq.Header,{"aria-label":tp("workspaceHeader"),className:mk.header,children:[(0,aU.jsx)(aq.HeaderName,{prefix:"",children:e}),(0,aU.jsx)("div",{className:mk.overlayHeaderSpacer}),(0,aU.jsx)(aq.HeaderGlobalBar,{className:mk.headerButtons,children:ao(o)?(0,aU.jsxs)(aU.Fragment,{children:[(N||I)&&(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":I?tp("minimize"):tp("maximize"),onClick:()=>r(k,!I),children:I?(0,aU.jsx)(mo.Xj,{}):(0,aU.jsx)(mo.hz,{})}),E&&(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":tp("hide"),onClick:()=>i(),children:(0,aU.jsx)(sn,{})}),!C&&(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":tp("close"),onClick:()=>_({closeWindow:!0}),children:(0,aU.jsx)(sb,{})})]}):(0,aU.jsxs)(aU.Fragment,{children:[E&&(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":tp("hide"),onClick:()=>i(),children:(0,aU.jsx)(mr.d3,{})}),(0,aU.jsx)(aq.HeaderGlobalAction,{"aria-label":tp("close"),onClick:()=>{C?mf():_({closeWindow:!0})},children:(0,aU.jsx)(sb,{})})]})})]}),(0,aU.jsx)("div",{className:aH()(mk.workspaceContent),children:t})]})})]})},mj="-esm-implementer-tools__action-menu-button2-module__container___jc6--",mN="-esm-implementer-tools__action-menu-button2-module__elementContainer___whLL8",mC="-esm-implementer-tools__action-menu-button2-module__active___fbyFm",mE="-esm-implementer-tools__action-menu-button2-module__focused___+aVpz";function mI({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,aU.jsxs)(aU.Fragment,{children:[e({size:16}),t?(0,aU.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,aU.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let mP=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=an(),{openedWindows:a,restoreWindow:s,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=my(),{extension:u}=(0,rX.useContext)(rZ),d=a.findIndex(e=>e.windowName===u?.extensionId),m=a[d],p=null!=m,f=p&&(d<a.length-1||c),g=p&&!f,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=async()=>{if(p)f?s(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;mg(e,t,n)}};return"tablet"===i||"phone"===i?(0,aU.jsxs)(aq.Button,{className:aH()(mj,{[mC]:p&&!g,[mE]:g}),iconDescription:t,kind:"ghost",onClick:_,role:"button",tabIndex:0,size:"md",children:[(0,aU.jsx)("span",{className:mN,children:(0,aU.jsx)(mI,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,aU.jsx)("span",{children:t})]}):(0,aU.jsx)(aq.IconButton,{align:"left","aria-label":t,className:aH()(mj,{[mC]:p&&!g,[mE]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:_,size:"md",children:(0,aU.jsx)("div",{className:mN,children:(0,aU.jsx)(mI,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function mA({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,aU.jsx)(aq.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?sy:sh,children:e?tp("showLess","Show less"):tp("showMore","Show more")})}let mO={contactDetails:"-esm-implementer-tools__patient-banner-contact-details-module__contactDetails___R7vfY",deceased:"-esm-implementer-tools__patient-banner-contact-details-module__deceased___nTt+l",heading:"-esm-implementer-tools__patient-banner-contact-details-module__heading___x7UoT",row:"-esm-implementer-tools__patient-banner-contact-details-module__row___qFgIi",col:"-esm-implementer-tools__patient-banner-contact-details-module__col___JXUlg",relationship:"-esm-implementer-tools__patient-banner-contact-details-module__relationship___T3LO-"},mT=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tN}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=iu()(t,tP),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rX.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsxs)("p",{className:mO.heading,children:[tp("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,aU.jsx)(aq.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aU.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>l7(e?.startDate).getTime()-l7(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,aU.jsx)("li",{children:(0,aU.jsx)(rQ,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,aU.jsx)("li",{children:"--"})})(),t.length>3&&(0,aU.jsx)("li",{className:mO.link,children:(0,aU.jsx)(rQ,{to:`${window.spaBase}/home/patient-lists`,children:tp("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mR=({patientId:e})=>{let{patient:t,isLoading:n}=af(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,aU.jsx)(aq.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsx)("p",{className:mO.heading,children:tp("address","Address")}),(0,aU.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,aU.jsxs)("li",{children:[tp(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,aU.jsxs)("li",{children:[tp(e,e),": ",t]},`address-${e}`)):(0,aU.jsx)("li",{children:"--"})})]})},m$=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=iD({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=iH()(`${tN}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tP);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,rX.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,rX.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tp(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsx)("p",{className:mO.heading,children:tp("contactDetails","Contact Details")}),t?(0,aU.jsx)(aq.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aU.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,aU.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,aU.jsx)("li",{children:"--"})})]})},mM=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tN}/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}=iu()(e?t:null,tP),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,aU.jsxs)(aU.Fragment,{children:[(0,aU.jsx)("p",{className:mO.heading,children:tp("relationships","Relationships")}),n?(0,aU.jsx)(aq.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aU.jsx)("ul",{children:t&&t.length>0?(0,aU.jsx)(aU.Fragment,{children:t.map(e=>(0,aU.jsxs)("li",{className:mO.relationship,children:[(0,aU.jsx)("div",{children:(0,aU.jsx)(rQ,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,aU.jsx)("div",{children:e.relationshipType}),(0,aU.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tp("yearAbbreviation","yr"):tp("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,aU.jsx)("li",{children:"--"})})]})};function mW({patientId:e,deceased:t}){return(0,aU.jsxs)("div",{className:aH()(mO.contactDetails,{[mO.deceased]:t}),children:[(0,aU.jsxs)("div",{className:mO.row,children:[(0,aU.jsx)("div",{className:mO.col,children:(0,aU.jsx)(mR,{patientId:e})}),(0,aU.jsx)("div",{className:mO.col,children:(0,aU.jsx)(m$,{patientUuid:e})})]}),(0,aU.jsxs)("div",{className:mO.row,children:[(0,aU.jsx)("div",{className:mO.col,children:(0,aU.jsx)(mM,{patientId:e})}),(0,aU.jsx)("div",{className:mO.col,children:(0,aU.jsx)(mT,{patientUuid:e})})]})]})}function mL(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 mD="-esm-implementer-tools__action-menu2-module__container___6Gke0";function mB({workspaceGroup:e,groupProps:t}){let n=an(),{persistence:o}=e;return(0,aU.jsx)("aside",{className:"-esm-implementer-tools__action-menu2-module__sideRail___T2lMV",children:(0,aU.jsxs)("div",{className:mD,children:["closable"==o&&ao(n)&&(0,aU.jsx)(aq.IconButton,{align:"left",onClick:()=>mf(),label:tp("close"),kind:"ghost",children:(0,aU.jsx)(sb,{})}),(0,aU.jsx)(rZ.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,aU.jsx)(ii,{className:mD,name:e.name,state:{groupProps:t}})})]})})}function mU(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 mF=({lifeCycle:e,openedWorkspace:t,openedWindow:n,isRootWorkspace:o,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:a,closeWorkspace:s,openChildWorkspace:l}=my(),c=(0,rX.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:r=!1}=e;return o?!!(r||await m_({reason:"CLOSE_WINDOW",explicit:!0,windowName:n.windowName}))&&(s(n.openedWorkspaces[0].workspaceName),!0):!!(r||await m_({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 m_({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,workspaceMeta:r$.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:o,isLeafWorkspace:r,windowName:n.windowName,showActionMenu:i},[t,s,a,n]);if(!e){let{registeredWorkspacesByName:e}=r$.getState(),n=e[t.workspaceName],r=n&&n.window?n.window:void 0,{registeredWindowsByName:s}=r$.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,aU.jsxs)("div",{className:aH()(mk.workspaceOuterContainer,{[mk.narrowWorkspace]:"narrow"===c,[mk.widerWorkspace]:"wider"===c,[mk.extraWideWorkspace]:"extra-wide"===c,[mk.isActionMenuOpened]:u}),children:[(0,aU.jsx)("div",{className:mk.workspaceSpacer}),(0,aU.jsx)("div",{className:aH()(mk.workspaceMiddleContainer,{[mk.isRootWorkspace]:o,[mk.showActionMenu]:i}),children:(0,aU.jsx)("div",{className:aH()(mk.workspaceInnerContainer,{[mk.isRootWorkspace]:o}),children:(0,aU.jsx)(aq.InlineLoading,{className:mk.loader,description:`${tp("loading")} ...`})})})]})}return(0,aU.jsx)(ms.A,{config:e,mountParcel:rq,...c},t.workspaceName)},mH=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:n}=e,[o,r]=(0,rX.useState)({}),{registeredWorkspacesByName:i}=r$.getState();return(0,rX.useEffect)(()=>{let e=!1;return Promise.all(n.map(async e=>{let{moduleName:t,component:n}=i[e.workspaceName];return[e.uuid,await aP(t,n)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[n]),(0,aU.jsx)(aU.Fragment,{children:n.map((r,i)=>(0,aU.jsx)(mF,{openedWorkspace:r,openedWindow:e,lifeCycle:o[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===n.length-1,showActionMenu:t},r.uuid))})};function mG(e){e&&(0,ia.createRoot)(e).render((0,aU.jsx)(mz,{}))}function mz(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=my();if((0,rX.useEffect)(()=>nV("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:a}=t;if(!e)return;if(o)return void r(mf().then(e=>!e));let s=n[e.groupName],l=s?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=mU(t),i=mU(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(mf().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,aU.jsxs)("div",{className:aH()("-esm-implementer-tools__workspace-windows-and-menu-module__workspaceWindowsAndMenuContainer___2u2mc",{"-esm-implementer-tools__workspace-windows-and-menu-module__overlay___7RHYZ":r.overlay,"-esm-implementer-tools__workspace-windows-and-menu-module__hasMaximizedWindow___gvJRd":i}),children:[(0,aU.jsx)("div",{className:"-esm-implementer-tools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,aU.jsx)(mH,{openedWindow:e,showActionMenu:s},e.windowName))}),s&&(0,aU.jsx)(mB,{workspaceGroup:r,groupProps:e.props})]})}function mV(e,t,n){if(null==e)return n;let o=lK(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=lK(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 mJ(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mq(e){return!!e&&e.constructor===Object}var mK=n(3376);function mX(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function mY(e,t){return mK(function(e){let t=e.indexOf("-");if(t>=0){let n=mX(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return mX(e)}(t),e,{includePrerelease:!0})}async function mZ(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 mQ(r(a)),await e()}catch(e){i?.(e,a),n=e}while(o(a++));throw n}async function mQ(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function m0(e,t,n,o){}function m1(e){}function m2(e){return Promise.resolve([])}function m6(e){return Promise.resolve([])}function m5(e){return Promise.resolve({success:!1,result:void 0,error:"No service worker has been registered. Offline-related features have been removed from the framework."})}function m8(e){return()=>{}}function m3(){return!0}}}]);