@openmrs/esm-implementer-tools-app 11.0.1-pre.5932 → 11.0.1-pre.5956
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/.turbo/turbo-build.log +1 -1
- package/dist/7575.js +13 -13
- package/dist/7575.js.map +1 -1
- package/dist/openmrs-esm-implementer-tools-app.js +2 -2
- package/dist/routes.json +1 -1
- package/package.json +3 -3
package/dist/7575.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_openmrs_esm_implementer_tools_app=globalThis.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([["7575"],{9882(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>aC,evaluateAsNumber:()=>oc,getImportMapOverrideMap:()=>no,StockManagementPictogram:()=>db,ChemistryIcon:()=>ac,BabyIcon:()=>s7,DashboardExtension:()=>lC,openmrsComponentDecorator:()=>ic,tryRegisterExtension:()=>sE,pictogramIds:()=>uQ,ActivityIcon:()=>s2,compile:()=>op,removeRouteMapOverride:()=>nR,TableBatchActions:()=>sV,getAsyncLifecycle:()=>id,subscribeOpenmrsEvent:()=>nG,PasswordIcon:()=>aY,Assessment2Pictogram:()=>u5,CloseIcon:()=>af,setupRouteMapOverrides:()=>nM,useFeatureFlag:()=>iG,reset:()=>rv,ConceptDictionaryPictogram:()=>u3,LabOrderIcon:()=>aL,VisitMode:()=>nY,useLocations:()=>sn,getLifecycle:()=>iu,formatDatetime:()=>cr,getVisitsForPatient:()=>n8,formatPartialDate:()=>ce,CustomOverflowMenu:()=>sY,LocationIcon:()=>aD,GroupIcon:()=>aP,createUseStore:()=>rQ,VisitStatus:()=>nZ,getSessionLocation:()=>tF,getCurrentImportMap:()=>ng,usePatient:()=>sc,useRenderableExtensions:()=>sd,getOpenedWindowIndexByWorkspace:()=>rI,setLeftNav:()=>rx,clearHistory:()=>tb,clearConfigErrors:()=>e0,formatTime:()=>co,isDevEnabled:()=>tY,CohortsPictogram:()=>u4,closeWorkspaceGroup2:()=>dG,getCurrentRouteMap:()=>nE,ConfigurableLink:()=>rz,sessionStore:()=>tO,setSessionLocale:()=>tV,subscribeSnackbarShown:()=>w,getLoggedInUser:()=>tB,GenderMaleIcon:()=>ak,getExtensionSlotConfigFromStore:()=>ei,evaluateAsNumberAsync:()=>ou,getImportMapDefaultMap:()=>nt,unregisterExtensionRendering:()=>oX,implementerToolsConfigStore:()=>e_,Type:()=>G,InPatientPictogram:()=>da,cleanupObsoleteFeatureFlags:()=>o$,getAttachmentsUrl:()=>nU,showSnackbar:()=>dM,PatientBannerActionsMenu:()=>uz,PatientSearchPictogram:()=>dp,DocumentAttachmentIcon:()=>a_,Snackbar:()=>dO,CardiologyPictogram:()=>u8,ImageMedicalIcon:()=>aA,ActionableNotificationComponent:()=>ud,DiagnosisTags:()=>cX,openChildWorkspaceInWindow:()=>dQ,iconIds:()=>s1,PatientsPictogram:()=>df,interpolateUrl:()=>tp,setupHistory:()=>t_,subscribeToastShown:()=>h,detachAll:()=>rg,convertToLocaleCalendar:()=>ci,DocumentIcon:()=>aw,configInternalStore:()=>Q,ActionMenuButton2:()=>mg,setupDynamicOfflineDataHandler:()=>mD,makeUrl:()=>tE,oneOf:()=>e3,selectPreferredName:()=>uT,MobileCheckIcon:()=>aG,createErrorHandler:()=>v,parseDate:()=>l6,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>c5,getExtensionRegistration:()=>rd,ShoppingCartAddItemIcon:()=>lj,ReferralOrderIcon:()=>a5,ReportIcon:()=>a8,dispatchToastShown:()=>p,getImportMapNextPageMap:()=>nn,registerExtension:()=>rm,setupOfflineSync:()=>mW,DownloadIcon:()=>ay,useConnectivity:()=>mV,provide:()=>eT,ShoppingCartArrowDownIcon:()=>ln,featureFlagsStore:()=>oR,jsep:()=>n4.A,GeriatricsPictogram:()=>di,SearchIcon:()=>a7,reportError:()=>y,slugify:()=>nm,isOmrsDateToday:()=>l1,getExtensionStore:()=>oY,BloodBankPictogram:()=>u6,TriagePictogram:()=>dj,Workspace2:()=>d9,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>al,registerExtensionSlot:()=>ry,AllergiesIcon:()=>lv,ArrowDownIcon:()=>s6,useOpenmrsInfinite:()=>i0,getExtensionConfigFromExtensionSlotStore:()=>el,OpenmrsDatePicker:()=>cq,getExtensionConfigFromStore:()=>ea,getDynamicOfflineDataEntries:()=>mU,getLocaleDisplayName:()=>lV,messageOmrsServiceWorker:()=>mF,navigate:()=>tg,launchWorkspace2:()=>dz,getGroupByWindowName:()=>rP,CustomOverflowMenuItem:()=>sZ,isUrl:()=>e4,CaretDownIcon:()=>at,ArrowLeftIcon:()=>s8,FacilityPictogram:()=>dr,ViewOffIcon:()=>lw,updateInternalExtensionStore:()=>oV,dispatchActionableNotificationShown:()=>d,resetRouteMapOverrides:()=>nT,formatDurationBetween:()=>cp,defaultVisitCustomRepresentation:()=>nQ,getBreadcrumbsFor:()=>ts,useOpenmrsPagination:()=>iq,Pagination:()=>uP,CheckmarkFilledIcon:()=>aa,clearCurrentUser:()=>tD,showModal:()=>ua,ChevronUpIcon:()=>ap,saveVisit:()=>n5,useAttachments:()=>iP,Pictogram:()=>dP,useExtensionSlot:()=>r8,ChevronDownIcon:()=>au,OpenmrsDateRangePicker:()=>cJ,deleteAttachmentPermanently:()=>nF,getVisitTypes:()=>nX,OverflowMenuHorizontalIcon:()=>aK,EventScheduleIcon:()=>ax,getSessionStore:()=>tM,ProcedureOrderIcon:()=>a1,preloadImport:()=>nf,registerWorkspaceWindows2:()=>rA,useOnVisible:()=>sr,setSessionLocation:()=>tH,userHasAccess:()=>tU,ChartAverageIcon:()=>ai,getFeatureFlag:()=>oM,UserAvatarIcon:()=>lp,renderExtension:()=>rB,useFhirInfinite:()=>i8,toVisitTypeObject:()=>nJ,useSession:()=>sm,EmergencyDepartmentPictogram:()=>dn,Notification:()=>uc,dispatchSnackbarShown:()=>m,formatDate:()=>ct,workspace2StoreActions:()=>d2,SwitcherIcon:()=>le,esmStyleGuideSchema:()=>sB,getImportMapDisabledOverrides:()=>nr,useAssignedExtensionIds:()=>iC,CaretRightIcon:()=>ao,evaluateAsType:()=>od,PageHeader:()=>uC,TranslateIcon:()=>lc,setUserProperties:()=>tG,MovementIcon:()=>aJ,renderInlineNotifications:()=>u_,subscribePrecacheStaticDependencies:()=>mH,PaymentsDeskPictogram:()=>dg,usePrimaryIdentifierCode:()=>su,useLayoutType:()=>i3,getCurrentUser:()=>t$,closeWorkspaceInWindow:()=>dZ,XrayPictogram:()=>dk,CaretUpIcon:()=>ar,renderActionableNotifications:()=>uv,OpenmrsAppContext:()=>ix,setupModals:()=>us,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(mA(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;mA(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>L,recordConfigDerivationError:()=>eh,useAbortController:()=>ij,Extension:()=>rq,getFhirServerPaginationHandlers:()=>iY,useConnectedExtensions:()=>i$,registerApp:()=>sI,HospitalBedIcon:()=>aO,useExtensionInternalStore:()=>iF,configExtensionStore:()=>et,getSynchronizationItems:()=>mB,getExtensionSlotsConfigStore:()=>eo,registerExtensionRendering:()=>oK,RenderIfValueIsTruthy:()=>iS,registerFeatureFlag:()=>oT,useFhirFetchAll:()=>i6,restBaseUrl:()=>tk,CalendarHeatMapIcon:()=>s9,isImportMapOverrideDisabled:()=>ni,resetConfigSystem:()=>e1,getExtensionInternalStore:()=>oF,registerGlobalStore:()=>$,evaluateAsBoolean:()=>oa,PatientBannerPatientInfo:()=>uV,addRouteMapOverride:()=>nA,getDefaultCalendar:()=>l7,SettingsIcon:()=>a9,DrugOrderIcon:()=>av,ProgramsIcon:()=>a2,useAssignedExtensions:()=>r6,CloseFilledIcon:()=>ag,canAccessStorage:()=>mO,registerDefaultCalendar:()=>l3,TreeViewAltIcon:()=>ld,OverflowMenuVerticalIcon:()=>aX,clearConfigDerivationError:()=>ew,getConfigStore:()=>en,InformationSquareIcon:()=>a$,EmptyCard:()=>c0,ChevronLeftIcon:()=>ad,RadiologyIcon:()=>lS,useCandidateExtensions:()=>iE,renderToasts:()=>dB,isDesktop:()=>i7,integrateBreakpoints:()=>s$,RegistrationPictogram:()=>d_,CardHeader:()=>sW,getExtensionRegistrationFrom:()=>ru,InformationIcon:()=>aR,SystemAdministrationPictogram:()=>dx,TrashCanIcon:()=>lu,useShallowStableValue:()=>rJ,PatientDocumentsPictogram:()=>dm,useOpenmrsSWR:()=>si,Assessment1Pictogram:()=>u2,finishRegisteringAllApps:()=>sO,importDynamic:()=>np,useFhirPagination:()=>iX,useVisitContextStore:()=>sv,ArrowUpIcon:()=>s3,showActionableNotification:()=>ub,useForceUpdate:()=>iz,useVisit:()=>sb,PatientBannerPatientIdentifiers:()=>uU,TransferPictogram:()=>dS,usePagination:()=>ss,Breakpoint:()=>sA,PatientBannerToggleContactDetailsButton:()=>mh,CloseOutlineIcon:()=>ah,ObstetricsPictogram:()=>dd,parseDateInput:()=>ca,ReportsPictogram:()=>dy,getConfig:()=>eM,attach:()=>rp,getLocale:()=>lG,isUrlWithTemplateParameters:()=>e8,useEmrConfiguration:()=>iU,useLeftNav:()=>i9,ToolsIcon:()=>ll,ErrorState:()=>c1,detach:()=>rf,setCurrentVisit:()=>n2,ConditionsIcon:()=>lx,SaveIcon:()=>a3,useConfig:()=>iT,validator:()=>z,CalendarIcon:()=>ae,getHistory:()=>ty,StickyNoteAddIcon:()=>lo,useWorkspace2Store:()=>d5,getPatientName:()=>uI,getVisitStore:()=>n1,getCoreTranslation:()=>tm,registerModuleWithConfigSystem:()=>eI,updateOpenedWorkspaceInWindow:()=>d0,registerModuleLoad:()=>eO,getBreadcrumbs:()=>to,extractVariableNames:()=>oI,translateFrom:()=>td,useStoreWithActions:()=>rZ,EditIcon:()=>ab,getCandidateExtensions:()=>r_,shallowEqual:()=>x,subscribeNotificationShown:()=>f,MaximizeIcon:()=>aB,promptForClosingWorkspaces:()=>dX,WarningIcon:()=>ly,fhirBaseUrl:()=>tN,matchLocale:()=>mI,usePatientPhoto:()=>uK,registerBreadcrumb:()=>tt,EventsIcon:()=>aS,createGlobalStore:()=>R,subscribeToFeatureFlag:()=>oL,useExtensionStore:()=>iV,createAttachment:()=>nB,useLeftNavStore:()=>se,TableIcon:()=>ls,Icon:()=>lN,InformationFilledIcon:()=>aT,getCurrentPageMap:()=>ne,LaboratoryPictogram:()=>dl,temporaryConfigStore:()=>ee,toDateObjectStrict:()=>l2,defineConfigSchema:()=>eP,filterBreadcrumbs:()=>ti,invalidateImplementerToolsConfig:()=>ef,PatientBannerContactDetails:()=>mx,getAssignedExtensions:()=>rw,promptForClosingWorkspacesInWindow:()=>dY,PatientPhoto:()=>uZ,MaterialOrderIcon:()=>aU,MicroscopeIcon:()=>aV,visitTypesUrl:()=>nK,getOpenedWindowWidth:()=>d4,scheduleRecomputation:()=>o2,PharmacyPictogram:()=>dh,AttachmentIcon:()=>lb,MoneyIcon:()=>az,getAttachments:()=>nD,PageHeaderContent:()=>uE,MedicationIcon:()=>aF,PrinterIcon:()=>a0,PatientListsPictogram:()=>dC,useAppContext:()=>ik,isOpenmrsRoutes:()=>n_,AppointmentsAltPictogram:()=>u1,GenericOrderTypeIcon:()=>aE,batchExtensionUpdates:()=>o0,useExtensionSlotStore:()=>r2,ViewIcon:()=>l_,formattedName:()=>uR,sessionEndpoint:()=>tC,duration:()=>cd,resetImportMapOverrides:()=>nl,TableOfContentsIcon:()=>li,CaretLeftIcon:()=>an,getTranslationOverrides:()=>eL,isVersionSatisfied:()=>m$,EmptyCardIllustration:()=>cQ,PenIcon:()=>aQ,verifyTotpCode:()=>tz,validators:()=>e7,setupImportMapOverrides:()=>nd,showToast:()=>dF,useDefineAppContext:()=>ib,getGlobalStore:()=>M,useOnClickOutside:()=>so,getWindowByWorkspaceName:()=>rE,ArrowRightIcon:()=>s4,loadLifeCycles:()=>sk,registerBreadcrumbs:()=>tn,MotherIcon:()=>aq,fetchCurrentPatient:()=>nH,Toast:()=>dL,MessageQueueIcon:()=>aH,TwoFactorAuthenticationIcon:()=>lm,Pharmacy2Pictogram:()=>dw,goBackInHistory:()=>tv,GroupAccessIcon:()=>aI,getExtensionRenderingsStore:()=>oH,setImplementerToolsConfigRecomputer:()=>ep,getAsyncExtensionLifecycle:()=>ip,setupApiModule:()=>tQ,renderLoadingSpinner:()=>mS,showNotification:()=>uy,getModalRegistration:()=>rN,ListCheckedIcon:()=>aW,ResponsiveWrapper:()=>dI,GynaecologyPictogram:()=>ds,ShoppingCartIcon:()=>lt,getRouteMapNextPageMap:()=>nI,MetadataExportPictogram:()=>du,updateVisit:()=>n6,backendDependencies:()=>tZ,MaybePictogram:()=>dE,createParcelMounter:()=>rD,openmrsFetch:()=>tP,useStore:()=>rY,isOpenmrsAppRoutes:()=>nw,ExportedWorkspace:()=>mc,DentistryPictogram:()=>de,HomePictogram:()=>dN,ServiceQueuesPictogram:()=>dv,createExportedWorkspaceWindow:()=>d7,setFeatureFlag:()=>oW,toLanguageTag:()=>lH,DigitalTrustPictogram:()=>dt,NumericObservation:()=>uk,attachmentUrl:()=>nL,interpolateString:()=>tf,inRange:()=>e6,useExtensionSlotMeta:()=>iH,AppointmentsPictogram:()=>u0,renderSnackbars:()=>d$,getRegisteredWorkspace2Names:()=>d8,logout:()=>tq,toLocationObject:()=>nz,ChartLineIcon:()=>as,UserHasAccess:()=>sp,evaluateAsBooleanAsync:()=>ol,createDashboard:()=>lE,getLocations:()=>nq,useExtensionContext:()=>iB,getExtensionsConfigStore:()=>es,getRouteMapDefaultMap:()=>nP,age:()=>uM,isOmrsDateStrict:()=>l0,registerWorkspaceGroups2:()=>rO,usePaginationInfo:()=>sa,evaluateAsync:()=>os,useOpenmrsFetchAll:()=>i2,removeImportMapOverride:()=>na,useVisitTypes:()=>sS,ageAsDuration:()=>u$,getExtensionNameFromId:()=>rc,DataEntryPictogram:()=>u9,renderParcel:()=>rW,ResetIcon:()=>a4,RenewIcon:()=>a6,useWorkspace2Context:()=>d6,subscribeActionableNotificationShown:()=>g,ErrorCard:()=>c2,GenderFemaleIcon:()=>aj,enableImportMapOverride:()=>nc,retry:()=>mM,ComponentContext:()=>rV,ExtensionSlot:()=>r3,unsetLeftNav:()=>rS,addImportMapOverride:()=>ns,MaybeIcon:()=>lk,useCustomOverflowMenu:()=>sX,PedestrianFamilyIcon:()=>aZ,CtScanPictogram:()=>u7,dispatchNotificationShown:()=>u,leftNavStore:()=>rb,OpenmrsFetchError:()=>tI,UserFollowIcon:()=>lf,launchWorkspaceGroup2:()=>dV,ChevronRightIcon:()=>am,UserXrayIcon:()=>lg,GenderOtherIcon:()=>aN,formatDuration:()=>cs,toOmrsIsoString:()=>l5,Labs2Pictogram:()=>dc,workspace2Store:()=>rC,setUserLanguage:()=>tL,useBodyScrollLock:()=>iI,SyringeIcon:()=>lr,LocationPicker:()=>c6,useDebounce:()=>iM,TimeIcon:()=>la,getExtensionSlotConfig:()=>er,AddIcon:()=>s5,getRouteMapOverrideMap:()=>nO,processConfig:()=>eW,InventoryManagementIcon:()=>aM,registerWorkspaces2:()=>rR,UserIcon:()=>lh,formatPatientName:()=>uA,fireOpenmrsEvent:()=>nV,registerModal:()=>rk,registerTranslationNamespace:()=>eA,displayName:()=>uO,createLocalStore:()=>T,evaluate:()=>oi,defineExtensionConfigSchema:()=>eR,getSyncLifecycle:()=>im,renderWorkspaceWindowsAndMenu:()=>mC,evaluateAsTypeAsync:()=>om});let s="openmrs:notification-shown",a="openmrs:actionable-notification-shown",l="openmrs:toast-shown",c="openmrs:snack-bar-shown";function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(c,{detail:e}))}function p(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}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 w(e){let t=t=>e(t.detail);return window.addEventListener(c,t),()=>window.removeEventListener(c,t)}function _(e,t){let{message:n}=b(e);return"string"==typeof n&&n?n:t}function y(e){let t=b(e);setTimeout(()=>{throw t})}function v(){let e=Error();return t=>{let n=b(t);n.stack+=`
|
|
1
|
+
"use strict";(globalThis.webpackChunk_openmrs_esm_implementer_tools_app=globalThis.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([["7575"],{9882(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>aE,evaluateAsNumber:()=>oc,getImportMapOverrideMap:()=>no,StockManagementPictogram:()=>dx,ChemistryIcon:()=>au,BabyIcon:()=>s9,DashboardExtension:()=>lE,openmrsComponentDecorator:()=>ic,tryRegisterExtension:()=>sP,pictogramIds:()=>u0,ActivityIcon:()=>s5,compile:()=>op,removeRouteMapOverride:()=>nR,TableBatchActions:()=>sz,getAsyncLifecycle:()=>id,subscribeOpenmrsEvent:()=>nz,PasswordIcon:()=>aZ,Assessment2Pictogram:()=>u6,CloseIcon:()=>ag,setupRouteMapOverrides:()=>nM,useFeatureFlag:()=>iz,reset:()=>rv,ConceptDictionaryPictogram:()=>u7,LabOrderIcon:()=>aW,VisitMode:()=>nY,useLocations:()=>sn,getLifecycle:()=>iu,formatDatetime:()=>ci,getVisitsForPatient:()=>n8,formatPartialDate:()=>ct,CustomOverflowMenu:()=>sZ,LocationIcon:()=>aU,GroupIcon:()=>aI,createUseStore:()=>rQ,VisitStatus:()=>nZ,getSessionLocation:()=>tF,getCurrentImportMap:()=>ng,usePatient:()=>sc,useRenderableExtensions:()=>sm,getOpenedWindowIndexByWorkspace:()=>rI,setLeftNav:()=>rx,clearHistory:()=>tb,clearConfigErrors:()=>e0,formatTime:()=>cr,isDevEnabled:()=>tY,CohortsPictogram:()=>u3,closeWorkspaceGroup2:()=>dG,getCurrentRouteMap:()=>nE,ConfigurableLink:()=>rG,sessionStore:()=>tO,setSessionLocale:()=>tV,subscribeSnackbarShown:()=>w,getLoggedInUser:()=>tB,GenderMaleIcon:()=>aN,getExtensionSlotConfigFromStore:()=>ei,evaluateAsNumberAsync:()=>ou,getImportMapDefaultMap:()=>nt,unregisterExtensionRendering:()=>oX,implementerToolsConfigStore:()=>e_,Type:()=>z,InPatientPictogram:()=>dl,cleanupObsoleteFeatureFlags:()=>o$,getAttachmentsUrl:()=>nU,showSnackbar:()=>dL,PatientBannerActionsMenu:()=>uq,PatientSearchPictogram:()=>df,DocumentAttachmentIcon:()=>ay,Snackbar:()=>dA,CardiologyPictogram:()=>u4,ImageMedicalIcon:()=>aR,ActionableNotificationComponent:()=>um,DiagnosisTags:()=>cY,openChildWorkspaceInWindow:()=>d0,iconIds:()=>s2,PatientsPictogram:()=>dg,interpolateUrl:()=>tp,setupHistory:()=>t_,subscribeToastShown:()=>h,detachAll:()=>rg,convertToLocaleCalendar:()=>cs,DocumentIcon:()=>a_,configInternalStore:()=>Q,ActionMenuButton2:()=>mh,setupDynamicOfflineDataHandler:()=>mU,makeUrl:()=>tE,oneOf:()=>e3,selectPreferredName:()=>u$,MobileCheckIcon:()=>aG,createErrorHandler:()=>v,parseDate:()=>l8,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>c6,getExtensionRegistration:()=>rd,ShoppingCartAddItemIcon:()=>lk,ReferralOrderIcon:()=>a6,ReportIcon:()=>a4,dispatchToastShown:()=>p,getImportMapNextPageMap:()=>nn,registerExtension:()=>rm,setupOfflineSync:()=>mD,DownloadIcon:()=>av,useConnectivity:()=>mz,provide:()=>eT,ShoppingCartArrowDownIcon:()=>lo,featureFlagsStore:()=>oR,jsep:()=>n4.A,GeriatricsPictogram:()=>ds,SearchIcon:()=>a9,reportError:()=>y,slugify:()=>nm,isOmrsDateToday:()=>l2,getExtensionStore:()=>oY,BloodBankPictogram:()=>u8,TriagePictogram:()=>dk,Workspace2:()=>me,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>ac,registerExtensionSlot:()=>ry,AllergiesIcon:()=>lb,ArrowDownIcon:()=>s8,useOpenmrsInfinite:()=>i0,getExtensionConfigFromExtensionSlotStore:()=>el,OpenmrsDatePicker:()=>cJ,getExtensionConfigFromStore:()=>ea,getDynamicOfflineDataEntries:()=>mB,getLocaleDisplayName:()=>lz,messageOmrsServiceWorker:()=>mH,navigate:()=>tg,launchWorkspace2:()=>dq,getGroupByWindowName:()=>rP,CustomOverflowMenuItem:()=>sQ,isUrl:()=>e4,CaretDownIcon:()=>an,ArrowLeftIcon:()=>s4,FacilityPictogram:()=>di,ViewOffIcon:()=>l_,updateInternalExtensionStore:()=>oV,dispatchActionableNotificationShown:()=>d,resetRouteMapOverrides:()=>nT,formatDurationBetween:()=>cf,defaultVisitCustomRepresentation:()=>nQ,getBreadcrumbsFor:()=>ts,useOpenmrsPagination:()=>iq,Pagination:()=>uI,CheckmarkFilledIcon:()=>al,clearCurrentUser:()=>tD,showModal:()=>ul,ChevronUpIcon:()=>af,saveVisit:()=>n5,useAttachments:()=>iP,Pictogram:()=>dI,useExtensionSlot:()=>r8,ChevronDownIcon:()=>ad,OpenmrsDateRangePicker:()=>cK,deleteAttachmentPermanently:()=>nF,getVisitTypes:()=>nX,OverflowMenuHorizontalIcon:()=>aX,EventScheduleIcon:()=>aS,getSessionStore:()=>tM,ProcedureOrderIcon:()=>a2,preloadImport:()=>nf,registerWorkspaceWindows2:()=>rA,useOnVisible:()=>sr,setSessionLocation:()=>tH,userHasAccess:()=>tU,ChartAverageIcon:()=>as,getFeatureFlag:()=>oM,UserAvatarIcon:()=>lf,renderExtension:()=>rB,useFhirInfinite:()=>i8,toVisitTypeObject:()=>nJ,useSession:()=>sp,EmergencyDepartmentPictogram:()=>dr,Notification:()=>uu,dispatchSnackbarShown:()=>m,formatDate:()=>cn,workspace2StoreActions:()=>d5,SwitcherIcon:()=>lt,esmStyleGuideSchema:()=>sF,getImportMapDisabledOverrides:()=>nr,useAssignedExtensionIds:()=>iC,CaretRightIcon:()=>ar,evaluateAsType:()=>od,PageHeader:()=>uE,TranslateIcon:()=>lu,setUserProperties:()=>tz,MovementIcon:()=>aK,renderInlineNotifications:()=>uy,subscribePrecacheStaticDependencies:()=>mV,PaymentsDeskPictogram:()=>dh,usePrimaryIdentifierCode:()=>su,useLayoutType:()=>i3,getCurrentUser:()=>t$,closeWorkspaceInWindow:()=>dQ,XrayPictogram:()=>dN,CaretUpIcon:()=>ai,renderActionableNotifications:()=>ub,OpenmrsAppContext:()=>ix,setupModals:()=>ua,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(mR(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;mR(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>L,recordConfigDerivationError:()=>eh,useAbortController:()=>ij,Extension:()=>rq,getFhirServerPaginationHandlers:()=>iY,useConnectedExtensions:()=>i$,registerApp:()=>sO,HospitalBedIcon:()=>aA,useExtensionInternalStore:()=>iF,configExtensionStore:()=>et,getSynchronizationItems:()=>mF,getExtensionSlotsConfigStore:()=>eo,registerExtensionRendering:()=>oK,RenderIfValueIsTruthy:()=>iS,registerFeatureFlag:()=>oT,useFhirFetchAll:()=>i6,restBaseUrl:()=>tk,CalendarHeatMapIcon:()=>ae,isImportMapOverrideDisabled:()=>ni,resetConfigSystem:()=>e1,getExtensionInternalStore:()=>oF,registerGlobalStore:()=>$,evaluateAsBoolean:()=>oa,PatientBannerPatientInfo:()=>uz,addRouteMapOverride:()=>nA,getDefaultCalendar:()=>l9,SettingsIcon:()=>le,DrugOrderIcon:()=>ab,ProgramsIcon:()=>a5,useAssignedExtensions:()=>r6,CloseFilledIcon:()=>ah,canAccessStorage:()=>mA,registerDefaultCalendar:()=>l7,TreeViewAltIcon:()=>lm,OverflowMenuVerticalIcon:()=>aY,clearConfigDerivationError:()=>ew,getConfigStore:()=>en,InformationSquareIcon:()=>aM,EmptyCard:()=>c1,ChevronLeftIcon:()=>am,RadiologyIcon:()=>lj,useCandidateExtensions:()=>iE,renderToasts:()=>dF,isDesktop:()=>i7,integrateBreakpoints:()=>sM,RegistrationPictogram:()=>dy,CardHeader:()=>sD,getExtensionRegistrationFrom:()=>ru,InformationIcon:()=>aT,SystemAdministrationPictogram:()=>dS,TrashCanIcon:()=>ld,useShallowStableValue:()=>rJ,PatientDocumentsPictogram:()=>dp,useOpenmrsSWR:()=>si,Assessment1Pictogram:()=>u5,finishRegisteringAllApps:()=>sA,importDynamic:()=>np,useFhirPagination:()=>iX,useVisitContextStore:()=>sb,ArrowUpIcon:()=>s7,showActionableNotification:()=>ux,useForceUpdate:()=>iG,useVisit:()=>sx,PatientBannerPatientIdentifiers:()=>uB,TransferPictogram:()=>dj,usePagination:()=>ss,Breakpoint:()=>sR,PatientBannerToggleContactDetailsButton:()=>mw,CloseOutlineIcon:()=>aw,ObstetricsPictogram:()=>dm,parseDateInput:()=>cl,ReportsPictogram:()=>dv,getConfig:()=>eM,attach:()=>rp,getLocale:()=>lG,isUrlWithTemplateParameters:()=>e8,useEmrConfiguration:()=>iU,useLeftNav:()=>i9,ToolsIcon:()=>lc,ErrorState:()=>c2,detach:()=>rf,setCurrentVisit:()=>n2,ConditionsIcon:()=>lS,SaveIcon:()=>a7,useConfig:()=>iT,validator:()=>G,CalendarIcon:()=>at,getHistory:()=>ty,StickyNoteAddIcon:()=>lr,useWorkspace2Store:()=>d6,getPatientName:()=>uO,getVisitStore:()=>n1,getCoreTranslation:()=>tm,registerModuleWithConfigSystem:()=>eI,updateOpenedWorkspaceInWindow:()=>d1,registerModuleLoad:()=>eO,getBreadcrumbs:()=>to,extractVariableNames:()=>oI,translateFrom:()=>td,useStoreWithActions:()=>rZ,EditIcon:()=>ax,getCandidateExtensions:()=>r_,shallowEqual:()=>x,subscribeNotificationShown:()=>f,MaximizeIcon:()=>aF,promptForClosingWorkspaces:()=>dY,WarningIcon:()=>lv,fhirBaseUrl:()=>tN,matchLocale:()=>mO,usePatientPhoto:()=>uX,registerBreadcrumb:()=>tt,EventsIcon:()=>aj,createGlobalStore:()=>R,subscribeToFeatureFlag:()=>oL,useExtensionStore:()=>iV,createAttachment:()=>nB,useLeftNavStore:()=>se,TableIcon:()=>la,Icon:()=>lC,InformationFilledIcon:()=>a$,getCurrentPageMap:()=>ne,LaboratoryPictogram:()=>dc,temporaryConfigStore:()=>ee,toDateObjectStrict:()=>l5,defineConfigSchema:()=>eP,filterBreadcrumbs:()=>ti,invalidateImplementerToolsConfig:()=>ef,PatientBannerContactDetails:()=>mS,getAssignedExtensions:()=>rw,promptForClosingWorkspacesInWindow:()=>dZ,PatientPhoto:()=>uQ,MaterialOrderIcon:()=>aB,MicroscopeIcon:()=>az,visitTypesUrl:()=>nK,getOpenedWindowWidth:()=>d3,scheduleRecomputation:()=>o2,PharmacyPictogram:()=>dw,AttachmentIcon:()=>lx,MoneyIcon:()=>aq,getAttachments:()=>nD,PageHeaderContent:()=>uP,MedicationIcon:()=>aH,PrinterIcon:()=>a1,PatientListsPictogram:()=>dE,useAppContext:()=>ik,isOpenmrsRoutes:()=>n_,AppointmentsAltPictogram:()=>u2,GenericOrderTypeIcon:()=>aP,batchExtensionUpdates:()=>o0,useExtensionSlotStore:()=>r2,ViewIcon:()=>ly,formattedName:()=>uT,sessionEndpoint:()=>tC,duration:()=>cm,resetImportMapOverrides:()=>nl,TableOfContentsIcon:()=>ls,CaretLeftIcon:()=>ao,getTranslationOverrides:()=>eL,isVersionSatisfied:()=>mM,EmptyCardIllustration:()=>c0,PenIcon:()=>a0,verifyTotpCode:()=>tG,validators:()=>e7,setupImportMapOverrides:()=>nd,showToast:()=>dH,useDefineAppContext:()=>ib,getGlobalStore:()=>M,useOnClickOutside:()=>so,getWindowByWorkspaceName:()=>rE,ArrowRightIcon:()=>s3,loadLifeCycles:()=>sN,registerBreadcrumbs:()=>tn,MotherIcon:()=>aJ,fetchCurrentPatient:()=>nH,Toast:()=>dW,MessageQueueIcon:()=>aV,TwoFactorAuthenticationIcon:()=>lp,Pharmacy2Pictogram:()=>d_,goBackInHistory:()=>tv,GroupAccessIcon:()=>aO,getExtensionRenderingsStore:()=>oH,setImplementerToolsConfigRecomputer:()=>ep,getAsyncExtensionLifecycle:()=>ip,setupApiModule:()=>tQ,renderLoadingSpinner:()=>mj,showNotification:()=>uv,getModalRegistration:()=>rN,ListCheckedIcon:()=>aD,ResponsiveWrapper:()=>dO,GynaecologyPictogram:()=>da,ShoppingCartIcon:()=>ln,getRouteMapNextPageMap:()=>nI,MetadataExportPictogram:()=>dd,updateVisit:()=>n6,backendDependencies:()=>tZ,MaybePictogram:()=>dP,createParcelMounter:()=>rD,openmrsFetch:()=>tP,useStore:()=>rY,isOpenmrsAppRoutes:()=>nw,ExportedWorkspace:()=>mu,DentistryPictogram:()=>dt,HomePictogram:()=>dC,ServiceQueuesPictogram:()=>db,createExportedWorkspaceWindow:()=>d9,setFeatureFlag:()=>oW,toLanguageTag:()=>lV,DigitalTrustPictogram:()=>dn,NumericObservation:()=>uN,attachmentUrl:()=>nL,interpolateString:()=>tf,inRange:()=>e6,useExtensionSlotMeta:()=>iH,AppointmentsPictogram:()=>u1,renderSnackbars:()=>dM,getRegisteredWorkspace2Names:()=>d4,logout:()=>tq,toLocationObject:()=>nG,ChartLineIcon:()=>aa,UserHasAccess:()=>sf,evaluateAsBooleanAsync:()=>ol,createDashboard:()=>lP,getLocations:()=>nq,useExtensionContext:()=>iB,getExtensionsConfigStore:()=>es,getRouteMapDefaultMap:()=>nP,age:()=>uL,isOmrsDateStrict:()=>l1,registerWorkspaceGroups2:()=>rO,usePaginationInfo:()=>sa,evaluateAsync:()=>os,useOpenmrsFetchAll:()=>i2,removeImportMapOverride:()=>na,useVisitTypes:()=>sj,ageAsDuration:()=>uM,getExtensionNameFromId:()=>rc,DataEntryPictogram:()=>de,renderParcel:()=>rW,ResetIcon:()=>a3,RenewIcon:()=>a8,useWorkspace2Context:()=>d8,subscribeActionableNotificationShown:()=>g,ErrorCard:()=>c5,GenderFemaleIcon:()=>ak,enableImportMapOverride:()=>nc,retry:()=>mL,ComponentContext:()=>rV,ExtensionSlot:()=>r3,unsetLeftNav:()=>rS,addImportMapOverride:()=>ns,MaybeIcon:()=>lN,useCustomOverflowMenu:()=>sY,PedestrianFamilyIcon:()=>aQ,CtScanPictogram:()=>u9,dispatchNotificationShown:()=>u,leftNavStore:()=>rb,OpenmrsFetchError:()=>tI,UserFollowIcon:()=>lg,launchWorkspaceGroup2:()=>dz,ChevronRightIcon:()=>ap,UserXrayIcon:()=>lh,GenderOtherIcon:()=>aC,formatDuration:()=>ca,toOmrsIsoString:()=>l6,Labs2Pictogram:()=>du,workspace2Store:()=>rC,setUserLanguage:()=>tL,useBodyScrollLock:()=>iI,SyringeIcon:()=>li,LocationPicker:()=>c8,useDebounce:()=>iM,TimeIcon:()=>ll,getExtensionSlotConfig:()=>er,AddIcon:()=>s6,getRouteMapOverrideMap:()=>nO,processConfig:()=>eW,InventoryManagementIcon:()=>aL,registerWorkspaces2:()=>rR,UserIcon:()=>lw,formatPatientName:()=>uR,fireOpenmrsEvent:()=>nV,registerModal:()=>rk,registerTranslationNamespace:()=>eA,displayName:()=>uA,createLocalStore:()=>T,evaluate:()=>oi,defineExtensionConfigSchema:()=>eR,getSyncLifecycle:()=>im,renderWorkspaceWindowsAndMenu:()=>mE,evaluateAsTypeAsync:()=>om});let s="openmrs:notification-shown",a="openmrs:actionable-notification-shown",l="openmrs:toast-shown",c="openmrs:snack-bar-shown";function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(c,{detail:e}))}function p(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}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 w(e){let t=t=>e(t.detail);return window.addEventListener(c,t),()=>window.removeEventListener(c,t)}function _(e,t){let{message:n}=b(e);return"string"==typeof n&&n?n:t}function y(e){let t=b(e);setTimeout(()=>{throw t})}function v(){let e=Error();return t=>{let n=b(t);n.stack+=`
|
|
2
2
|
Async stacktrace:
|
|
3
|
-
${e.stack}`,y(t)}}function b(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function x(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e,t,n,o,r){return console.error("Unexpected error: ",r??e),p({description:_(r,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),p({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var S,j,k,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 P={},I=Symbol.for("openmrs.esm-state.instanceCount"),O=globalThis,A=(O[I]??0)+1;function R(e,t,n="none"){let o=P[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 P[e]={value:o,active:!0},o}}function T(e){return(0,C.y)()(()=>e)}function $(e,t){let n=P[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):(P[e]={value:t,active:!0},t)}function M(e,t,n="none"){let o=P[e];if(!o){let o=W(e,t??{},n);return P[e]={value:o,active:!1},o}return o.value}function L(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);x(s,t)||(s=t,r(t))})}function W(e,t,n){return"sessionStorage"===n?(0,C.y)()((0,N.Zr)(()=>t,{name:e,storage:(0,N.KU)(()=>sessionStorage)})):(0,C.y)()(()=>t)}O[I]=A,A>1&&!E()&&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=P)},1e3);var D=n(1156),U=n(3591),B=n(4888),F=n(1400),H=n(7014),V=n(8395),G=((S={}).Array="Array",S.Boolean="Boolean",S.ConceptUuid="ConceptUuid",S.Number="Number",S.Object="Object",S.String="String",S.UUID="UUID",S.PersonAttributeTypeUuid="PersonAttributeTypeUuid",S.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",S);function z(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let q=z(e=>Array.isArray(e),"must be an array"),J=z(e=>"boolean"==typeof e,"must be a boolean"),K=z(e=>"number"==typeof e,"must be a number"),X=z(e=>"string"==typeof e,"must be a string"),Y=z(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),Z=z(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Q=R("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{},moduleStarted:{}}),ee=R("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});ee.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let et=R("config-store-of-extension-state",{mountedExtensions:[]});function en(e){return M(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function eo(){return M("config-extension-slots",{slots:{}})}function er(e){return ei(eo().getState(),e)}function ei(e,t){return e.slots[t]??{loaded:!1,config:{}}}function es(){return M("config-extensions",{configs:{}})}function ea(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function el(e,t,n){return e.configure?.[n]??null}let ec=(0,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 ew(){ec.getState().derivationError&&ec.setState({derivationError:void 0})}let e_=$("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 ev(e,t){return(0,B.A)({},e,t,ey)}let eb=[],ex=new Set,eS=null,ej=new WeakMap;function ek(){o=()=>{var e,t;let n,o;return e=Q.getState(),t=ee.getState(),n=e_.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eB.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eZ(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,V.A)(o));eB.set(n,{schema:o,annotated:e}),t[n]=e}}return t}(e.schemas),o=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(n));for(let[e]of o)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=n[e],r=o.map(([t])=>t[e]),s=o.map(([,e])=>e),a=eU.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=ev(l,function e(t,n){return eZ(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),eU.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,F.A)(n.config,o.config)||e_.setState(o))},eN(),eb.push(Q.subscribe(eN),ee.subscribe(eN),et.subscribe(eN))}function eN(){ew();try{!function(){let e=Q.getState(),t=ee.getState(),n=et.getState();if(eS?.configState===e&&eS.tempConfigState===t)return eE(e,n,t,eS.slotConfigs,!0);!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=en(n),i=e.schemas[n],s=!!e.moduleLoaded[n],a=eC.get(n);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)o=a.state;else{let r=s?function(e,t,n){let o=t.schemas[e],r=eV(e,eF(t,n));ez(o,r,e);let i=eX(o,r);return eq(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=eX(e5,eV(e,eF(t,n)));return eq(e5,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:s,config:r},eC.set(n,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,F.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=eG(eF(e,t)),o=Object.keys(n).reduce((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e),{});var r=o;for(let[e,t]of Object.entries(r))for(let[n,o]of Object.entries(t))!function(e,t,n){let o=`${t}.extensionSlots.${n}`,r=`Extension slot config '${o}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&eQ(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||eQ(o,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||eQ(o,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||eQ(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eZ(e.configure)&&eQ(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},s={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(s[t]??(s[t]=[])).push(n.configure);for(let[e,t]of Object.entries(s)){let n=1===t.length?t[0]:eG(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=eo(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,F.A)(e.config,i)?o[t]=e:(o[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(n).length!==Object.keys(o).length)&&t.setState({slots:o})})(o),eE(e,n,t,o,!1),eS={configState:e,tempConfigState:t,slotConfigs:o},ef()}()}catch(e){eh(e),console.error("Failed to recompute the configuration",e)}}ek();let eC=new Map;function eE(e,t,n,o,r){let i=es(),s=i.getState().configs,a={},l=!1,c=0;for(let i of t.mountedExtensions){let t,u=s[i.slotName]?.[i.extensionId],d=u&&ej.get(u);if(r&&u?.loaded&&d?.slotModuleName===i.slotModuleName&&d.extensionModuleName===i.extensionModuleName)t=u;else{let r=function(e,t,n,o,r,i,s){let a=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[a],c=!!r.moduleStarted[t],u=JSON.stringify([n,o,e,t]),d=eD.get(u);if(d&&d.extensionSchema===l&&d.extensionModuleSchema===r.schemas[t]&&d.extensionModuleStarted===c&&d.providedConfigs===r.providedConfigs&&d.temporaryConfig===i.config)return d.config;let m=l?a:t,p=eF(r,i),f=s?.configure?.[o]??{},g=eV(e,p),h=g?.extensionSlots?.[n]?.configure?.[o]??{},w=eG([eV(m,p),f,h]),_=l??r.schemas[t];(l||c)&&ez(_,w,m);let y=eX(_,w);return eq(_,y,m),delete y.extensionSlots,eD.set(u,{extensionSchema:l,extensionModuleSchema:r.schemas[t],extensionModuleStarted:c,providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:y}),y}(i.slotModuleName,i.extensionModuleName,i.slotName,i.extensionId,e,n,o[i.slotName]);t=u?.loaded&&(0,F.A)(u.config,r)?u:{config:r,loaded:!0}}ej.set(t,i),t!==u&&(l=!0),a[i.slotName]||(a[i.slotName]={}),a[i.slotName][i.extensionId]=t,c++}for(let[e,t]of Object.entries(a)){let n=s[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(a[e]=n)}l||(l=Object.keys(s).length!==Object.keys(a).length||Object.values(s).reduce((e,t)=>e+Object.keys(t).length,0)!==c),l&&i.setState({configs:a})}function eP(e,t){eH(e,t);let n=ev(t,e5);Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eI(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e5}}))}function eO(e){Q.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0},moduleStarted:{...t.moduleStarted,[e]:!0}}))}function eA(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e2}}))}function eR(e,t){eH(e,t);let n=ev(t,e5);Q.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eT(e,t="provided"){Q.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function e$(e,t,n){return new Promise(o=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eM(e){return e$(en(e),e=>!!(e.loaded&&e.config),e=>(0,H.A)(e.config,["Display conditions","Translation overrides"]))}function eL(e,t,n){let o=[e in Q.getState().schemas?e$(en(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{}):Promise.resolve({})];if(t&&n){let e=ea(es().getState(),t,n),r=e.loaded&&e.config?e.config["Translation overrides"]??{}:{};o.push(Promise.resolve(r))}return Promise.all(o)}function eW(e,t,n){ez(e,t,n);let o=eX(e,t);return eq(e,o,n),o}let eD=new Map,eU=new Map,eB=new Map;function eF(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eH(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,s=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${o}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${o}`),!eZ(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}s.hasOwnProperty("_default")||eH(e,s,i);let a=s._elements;if(eY(a)&&eH(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
|
|
3
|
+
${e.stack}`,y(t)}}function b(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function x(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e,t,n,o,r){return console.error("Unexpected error: ",r??e),p({description:_(r,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),p({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var S,j,k,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 P={},I=Symbol.for("openmrs.esm-state.instanceCount"),O=globalThis,A=(O[I]??0)+1;function R(e,t,n="none"){let o=P[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 P[e]={value:o,active:!0},o}}function T(e){return(0,C.y)()(()=>e)}function $(e,t){let n=P[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):(P[e]={value:t,active:!0},t)}function M(e,t,n="none"){let o=P[e];if(!o){let o=W(e,t??{},n);return P[e]={value:o,active:!1},o}return o.value}function L(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);x(s,t)||(s=t,r(t))})}function W(e,t,n){return"sessionStorage"===n?(0,C.y)()((0,N.Zr)(()=>t,{name:e,storage:(0,N.KU)(()=>sessionStorage)})):(0,C.y)()(()=>t)}O[I]=A,A>1&&!E()&&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=P)},1e3);var D=n(1156),U=n(3591),B=n(4888),F=n(1400),H=n(7014),V=n(8395),z=((S={}).Array="Array",S.Boolean="Boolean",S.ConceptUuid="ConceptUuid",S.Number="Number",S.Object="Object",S.String="String",S.UUID="UUID",S.PersonAttributeTypeUuid="PersonAttributeTypeUuid",S.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",S);function G(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let q=G(e=>Array.isArray(e),"must be an array"),J=G(e=>"boolean"==typeof e,"must be a boolean"),K=G(e=>"number"==typeof e,"must be a number"),X=G(e=>"string"==typeof e,"must be a string"),Y=G(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),Z=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"),Q=R("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{},moduleStarted:{}}),ee=R("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});ee.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let et=R("config-store-of-extension-state",{mountedExtensions:[]});function en(e){return M(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function eo(){return M("config-extension-slots",{slots:{}})}function er(e){return ei(eo().getState(),e)}function ei(e,t){return e.slots[t]??{loaded:!1,config:{}}}function es(){return M("config-extensions",{configs:{}})}function ea(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function el(e,t,n){return e.configure?.[n]??null}let ec=(0,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 ew(){ec.getState().derivationError&&ec.setState({derivationError:void 0})}let e_=$("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 ev(e,t){return(0,B.A)({},e,t,ey)}let eb=[],ex=new Set,eS=null,ej=new WeakMap;function ek(){o=()=>{var e,t;let n,o;return e=Q.getState(),t=ee.getState(),n=e_.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eB.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eZ(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,V.A)(o));eB.set(n,{schema:o,annotated:e}),t[n]=e}}return t}(e.schemas),o=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(n));for(let[e]of o)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=n[e],r=o.map(([t])=>t[e]),s=o.map(([,e])=>e),a=eU.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=ev(l,function e(t,n){return eZ(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),eU.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,F.A)(n.config,o.config)||e_.setState(o))},eN(),eb.push(Q.subscribe(eN),ee.subscribe(eN),et.subscribe(eN))}function eN(){ew();try{!function(){let e=Q.getState(),t=ee.getState(),n=et.getState();if(eS?.configState===e&&eS.tempConfigState===t)return eE(e,n,t,eS.slotConfigs,!0);!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=en(n),i=e.schemas[n],s=!!e.moduleLoaded[n],a=eC.get(n);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)o=a.state;else{let r=s?function(e,t,n){let o=t.schemas[e],r=eV(e,eF(t,n));eG(o,r,e);let i=eX(o,r);return eq(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=eX(e5,eV(e,eF(t,n)));return eq(e5,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:s,config:r},eC.set(n,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,F.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=ez(eF(e,t)),o=Object.keys(n).reduce((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e),{});var r=o;for(let[e,t]of Object.entries(r))for(let[n,o]of Object.entries(t))!function(e,t,n){let o=`${t}.extensionSlots.${n}`,r=`Extension slot config '${o}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&eQ(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||eQ(o,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||eQ(o,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||eQ(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eZ(e.configure)&&eQ(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},s={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(s[t]??(s[t]=[])).push(n.configure);for(let[e,t]of Object.entries(s)){let n=1===t.length?t[0]:ez(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=eo(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,F.A)(e.config,i)?o[t]=e:(o[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(n).length!==Object.keys(o).length)&&t.setState({slots:o})})(o),eE(e,n,t,o,!1),eS={configState:e,tempConfigState:t,slotConfigs:o},ef()}()}catch(e){eh(e),console.error("Failed to recompute the configuration",e)}}ek();let eC=new Map;function eE(e,t,n,o,r){let i=es(),s=i.getState().configs,a={},l=!1,c=0;for(let i of t.mountedExtensions){let t,u=s[i.slotName]?.[i.extensionId],d=u&&ej.get(u);if(r&&u?.loaded&&d?.slotModuleName===i.slotModuleName&&d.extensionModuleName===i.extensionModuleName)t=u;else{let r=function(e,t,n,o,r,i,s){let a=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[a],c=!!r.moduleStarted[t],u=JSON.stringify([n,o,e,t]),d=eD.get(u);if(d&&d.extensionSchema===l&&d.extensionModuleSchema===r.schemas[t]&&d.extensionModuleStarted===c&&d.providedConfigs===r.providedConfigs&&d.temporaryConfig===i.config)return d.config;let m=l?a:t,p=eF(r,i),f=s?.configure?.[o]??{},g=eV(e,p),h=g?.extensionSlots?.[n]?.configure?.[o]??{},w=ez([eV(m,p),f,h]),_=l??r.schemas[t];(l||c)&&eG(_,w,m);let y=eX(_,w);return eq(_,y,m),delete y.extensionSlots,eD.set(u,{extensionSchema:l,extensionModuleSchema:r.schemas[t],extensionModuleStarted:c,providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:y}),y}(i.slotModuleName,i.extensionModuleName,i.slotName,i.extensionId,e,n,o[i.slotName]);t=u?.loaded&&(0,F.A)(u.config,r)?u:{config:r,loaded:!0}}ej.set(t,i),t!==u&&(l=!0),a[i.slotName]||(a[i.slotName]={}),a[i.slotName][i.extensionId]=t,c++}for(let[e,t]of Object.entries(a)){let n=s[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(a[e]=n)}l||(l=Object.keys(s).length!==Object.keys(a).length||Object.values(s).reduce((e,t)=>e+Object.keys(t).length,0)!==c),l&&i.setState({configs:a})}function eP(e,t){eH(e,t);let n=ev(t,e5);Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eI(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e5}}))}function eO(e){Q.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0},moduleStarted:{...t.moduleStarted,[e]:!0}}))}function eA(e){Q.setState(t=>({...t,schemas:{...t.schemas,[e]:e2}}))}function eR(e,t){eH(e,t);let n=ev(t,e5);Q.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Q.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eT(e,t="provided"){Q.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function e$(e,t,n){return new Promise(o=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eM(e){return e$(en(e),e=>!!(e.loaded&&e.config),e=>(0,H.A)(e.config,["Display conditions","Translation overrides"]))}function eL(e,t,n){let o=[e in Q.getState().schemas?e$(en(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{}):Promise.resolve({})];if(t&&n){let e=ea(es().getState(),t,n),r=e.loaded&&e.config?e.config["Translation overrides"]??{}:{};o.push(Promise.resolve(r))}return Promise.all(o)}function eW(e,t,n){eG(e,t,n);let o=eX(e,t);return eq(e,o,n),o}let eD=new Map,eU=new Map,eB=new Map;function eF(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eH(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,s=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${o}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${o}`),!eZ(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}s.hasOwnProperty("_default")||eH(e,s,i);let a=s._elements;if(eY(a)&&eH(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
|
|
4
4
|
|
|
5
|
-
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(
|
|
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(z).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(
|
|
7
|
+
If you're the maintainer: the allowed types are ${Object.values(z).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}.
|
|
8
8
|
|
|
9
|
-
If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(s)}`),a&&l&&![
|
|
9
|
+
If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(s)}`),a&&l&&![z.Array,z.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 eV(e,t){return
|
|
12
|
-
${t}`)}return o}let eX=(e,t)=>{let n=structuredClone(t);if(!e)return n;for(let t of Object.keys(e)){let o=n[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=r._default);let e=r._elements;if(o&&eY(e)){if(r._type===G.Array&&Array.isArray(o)){let r=o.map(t=>eX(e,t));n[t]=r}else if(r._type===G.Object)for(let t of Object.keys(o))o[t]=eX(e,o[t])}}else if(eZ(r)){let e=o??{};eZ(e)&&(n[t]=eX(r,e))}}return n};function eY(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eZ(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}function eQ(e,t){let n=`${e}:::${t}`;ex.has(n)||(console.error(t),ex.add(n))}function e0(e){e?ex.forEach(t=>{t.startsWith(e)&&ex.delete(t)}):ex.clear()}function e1(){eb.forEach(e=>e()),eb.length=0,eC.clear(),eD.clear(),eB.clear(),eU.clear(),eS=null,ej=new WeakMap,ek()}let e2={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:G.Object,_default:{},_validators:[z(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e5={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:G.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:G.String,_default:void 0}},...e2},e6=(e,t)=>z(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),e8=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return z(e=>{if(!e||"string"!=typeof e)return!1;let n=/\${(.*?)}/g,o=n.exec(e);for(;o;){if(!t.includes(o[1]))return!1;o=n.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e4=e8([]),e3=e=>z(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e7={inRange:e6,isUrl:e4,isUrlWithTemplateParameters:e8,oneOf:e3};var e9=n(4913);let te=R("breadcrumbs",[]);function tt(e){return tn([e])}function tn(e){let t=[...to(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,e9.pathToRegexp)(e.matcher).regexp:(0,e9.pathToRegexp)(e.path).regexp,settings:e}))];te.setState(t,!0)}function to(){return te.getState()}function tr(e,t){if(t)return function(e,t){let[n]=e.filter(e=>e.matcher.test(t));return n}(e,t)||function(e,t){let n=t.split("/");for(;n.length>1;){n.pop();let t=tr(e,n.join("/"));if(t)return t}}(e,t)}function ti(e,t){if(e.length>0){let n=tr(e,t);if(n){let t=[n],o=tr(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=tr(e,o.settings.parent);return t.reverse()}}return[]}function ts(e){return ti(to(),e)}var ta=n(2267);let tl={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",applicationError:"Application Error",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",clearDevOverrides:"Clear dev overrides",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",copied:"Copied!",copyToClipboard:"Copy to clipboard",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",provisional:"Provisional",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",reload:"Reload",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",serverStartingUp:"The server is starting",serverStartingUpExplainer:"This can take a few minutes. OpenMRS will open automatically when the server is ready.",serverStartingUpSlowExplainer:"This is taking longer than usual. First startup after an upgrade can take 10 minutes or more. You can leave this page open.",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",somethingWentWrongTryReloading:"Something went wrong. Please try reloading.",toggleDevTools:"Toggle dev tools",unknown:"Unknown",viewSetupProgress:"View setup progress",waitingForServer:"Waiting for the server",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tc=n(2279);let tu=tc.Ay.default||tc.Ay;function td(e,t,n,o){return tu.t(t,{ns:e,defaultValue:n,...o})}function tm(e,t,n){return tl[e]?td("core",e,t??tl[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tp(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tf(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t});return e.startsWith("//")?o:o.replace(/^\/\//,"/")}function tf(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function tg({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tp(e,t).replace(window.location.origin,""),r=new URL(o,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tm("navigateNonHttp"));o.startsWith(n)?(0,ta.EH)(o):window.location.assign(o)}tu.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let th="openmrs:history";function tw(e){let t=JSON.parse(sessionStorage.getItem(th)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(th,JSON.stringify(t))}function t_(){0===JSON.parse(sessionStorage.getItem(th)??"[]").length&&document.referrer&&tw(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=ty();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(th,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?tv({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tw(window.location.href)})}function ty(){return JSON.parse(sessionStorage.getItem(th)??"[]")}function tv({toUrl:e}){let t=ty(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);tg({to:t[n]}),sessionStorage.setItem(th,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tb(){sessionStorage.removeItem(th)}let tx="${openmrsSpaBase}/login",tS={redirectAuthFailure:{enabled:{_type:G.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:G.String,_default:tx,_validators:[e7.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:G.Array,_default:[401],_elements:{_type:G.Number,_validators:[e7.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:G.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:G.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function 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 tk="/ws/rest/v1",tN="/ws/fhir2/R4",tC=`${tk}/session`;function tE(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=tE(e);t.headers||(t.headers={}),(0,U.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let o=!1;try{let e=new URL(n,window.location.href),t=new URL(tE(tk),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");o=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(o){let e=!1;for(let[n,o]of Object.entries(t.headers))"disable-www-authenticate"===n.toLowerCase()&&(void 0===o?delete t.headers[n]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tN)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let r=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:o,followRedirects:i}=await eM("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(n===tE(tC)||204===e.status)&&tg({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(n===tE(tC)&&403===e.status||o.enabled&&o.errors.includes(e.status))&&(tb(),tg({to:o.url||e.headers.get("location")||tx}),!0!==t.rejectAuthFailure)?o.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new tI(n,e,o,r)},()=>{throw new tI(n,e,null,r)})})}class tI extends Error{constructor(e,t,n,o){super(),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:
|
|
11
|
+
If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eV(e,t){return ez(t.map(({[e]:t})=>t).filter(e=>!!e))}function ez(e){return e.reduce((e,t)=>(0,B.A)(e,t,ey),{})}function eG(e,t,n=""){for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];if(!e.hasOwnProperty(o)){("extensionSlots"!==o||""===n)&&eQ(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,n,o){eJ(o,t._type,n),eZ(n)?t._type===z.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")||eG(t,n,o):t._type===z.Array&&function(t,n,o){if(eJ(o,z.Array,n)){if(eY(t._elements))for(let r=0;r<n.length;r++)e(t._elements,n[r],`${o}[${r}]`);for(let e=0;e<n.length;e++)eJ(`${o}[${e}]`,t._elements?._type,n[e])}}(t,n,o)})(s,r,i)}}function eq(e,t,n=""){if(e){if(t!==e._default&&eK(n,e._validators,t),eZ(t))for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,s=e[o];e._type===z.Object&&e._elements?eq(e._elements,r,i):eq(s,r,i)}else if(Array.isArray(t)&&e._elements)for(let o=0;o<t.length;o++)eq(e._elements,t[o],`${n}[${o}]`)}}function eJ(e,t,n){return!t||eK(e,[{Array:q,Boolean:J,ConceptUuid:Z,Number:K,Object:Y,String:X,UUID:Z,PersonAttributeTypeUuid:Z,PatientIdentifierTypeUuid:Z}[t]],n)}function eK(e,t,n){let o=!0;if(t)try{for(let r of t){let t=r(n);if("string"==typeof t){let r="object"==typeof n?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${n} for ${e}: ${t}`;eQ(e,r),o=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
|
|
12
|
+
${t}`)}return o}let eX=(e,t)=>{let n=structuredClone(t);if(!e)return n;for(let t of Object.keys(e)){let o=n[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=r._default);let e=r._elements;if(o&&eY(e)){if(r._type===z.Array&&Array.isArray(o)){let r=o.map(t=>eX(e,t));n[t]=r}else if(r._type===z.Object)for(let t of Object.keys(o))o[t]=eX(e,o[t])}}else if(eZ(r)){let e=o??{};eZ(e)&&(n[t]=eX(r,e))}}return n};function eY(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eZ(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}function eQ(e,t){let n=`${e}:::${t}`;ex.has(n)||(console.error(t),ex.add(n))}function e0(e){e?ex.forEach(t=>{t.startsWith(e)&&ex.delete(t)}):ex.clear()}function e1(){eb.forEach(e=>e()),eb.length=0,eC.clear(),eD.clear(),eB.clear(),eU.clear(),eS=null,ej=new WeakMap,ek()}let e2={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:z.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(", ")}.`})]}},e5={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:z.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:z.String,_default:void 0}},...e2},e6=(e,t)=>G(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),e8=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(", "))},e4=e8([]),e3=e=>G(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e7={inRange:e6,isUrl:e4,isUrlWithTemplateParameters:e8,oneOf:e3};var e9=n(4913);let te=R("breadcrumbs",[]);function tt(e){return tn([e])}function tn(e){let t=[...to(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,e9.pathToRegexp)(e.matcher).regexp:(0,e9.pathToRegexp)(e.path).regexp,settings:e}))];te.setState(t,!0)}function to(){return te.getState()}function tr(e,t){if(t)return function(e,t){let[n]=e.filter(e=>e.matcher.test(t));return n}(e,t)||function(e,t){let n=t.split("/");for(;n.length>1;){n.pop();let t=tr(e,n.join("/"));if(t)return t}}(e,t)}function ti(e,t){if(e.length>0){let n=tr(e,t);if(n){let t=[n],o=tr(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=tr(e,o.settings.parent);return t.reverse()}}return[]}function ts(e){return ti(to(),e)}var ta=n(2267);let tl={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",applicationError:"Application Error",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",clearDevOverrides:"Clear dev overrides",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",copied:"Copied!",copyToClipboard:"Copy to clipboard",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",provisional:"Provisional",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",reload:"Reload",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",serverStartingUp:"The server is starting",serverStartingUpExplainer:"This can take a few minutes. OpenMRS will open automatically when the server is ready.",serverStartingUpSlowExplainer:"This is taking longer than usual. First startup after an upgrade can take 10 minutes or more. You can leave this page open.",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",somethingWentWrongTryReloading:"Something went wrong. Please try reloading.",toggleDevTools:"Toggle dev tools",unknown:"Unknown",viewSetupProgress:"View setup progress",waitingForServer:"Waiting for the server",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tc=n(2279);let tu=tc.Ay.default||tc.Ay;function td(e,t,n,o){return tu.t(t,{ns:e,defaultValue:n,...o})}function tm(e,t,n){return tl[e]?td("core",e,t??tl[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tp(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tf(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t});return e.startsWith("//")?o:o.replace(/^\/\//,"/")}function tf(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function tg({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tp(e,t).replace(window.location.origin,""),r=new URL(o,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tm("navigateNonHttp"));o.startsWith(n)?(0,ta.EH)(o):window.location.assign(o)}tu.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let th="openmrs:history";function tw(e){let t=JSON.parse(sessionStorage.getItem(th)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(th,JSON.stringify(t))}function t_(){0===JSON.parse(sessionStorage.getItem(th)??"[]").length&&document.referrer&&tw(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=ty();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(th,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?tv({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tw(window.location.href)})}function ty(){return JSON.parse(sessionStorage.getItem(th)??"[]")}function tv({toUrl:e}){let t=ty(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);tg({to:t[n]}),sessionStorage.setItem(th,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tb(){sessionStorage.removeItem(th)}let tx="${openmrsSpaBase}/login",tS={redirectAuthFailure:{enabled:{_type:z.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:z.String,_default:tx,_validators:[e7.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:z.Array,_default:[401],_elements:{_type:z.Number,_validators:[e7.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:z.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:z.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 tk="/ws/rest/v1",tN="/ws/fhir2/R4",tC=`${tk}/session`;function tE(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=tE(e);t.headers||(t.headers={}),(0,U.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let o=!1;try{let e=new URL(n,window.location.href),t=new URL(tE(tk),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");o=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(o){let e=!1;for(let[n,o]of Object.entries(t.headers))"disable-www-authenticate"===n.toLowerCase()&&(void 0===o?delete t.headers[n]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tN)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let r=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:o,followRedirects:i}=await eM("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(n===tE(tC)||204===e.status)&&tg({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(n===tE(tC)&&403===e.status||o.enabled&&o.errors.includes(e.status))&&(tb(),tg({to:o.url||e.headers.get("location")||tx}),!0!==t.rejectAuthFailure)?o.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new tI(n,e,o,r)},()=>{throw new tI(n,e,null,r)})})}class tI extends Error{constructor(e,t,n,o){super(),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 tO=R("session",{loaded:!1,session:null}),tA=0,tR=null;function tT(){return tR||(tO.getState().loaded&&tA>=Date.now()-6e4?null:tW())}function t$(e){let t=e?.includeAuthStatus??!0,n=e=>t?e:e.user,o=tT();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 tM(){return tT(),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 tW(e,t){tA=Date.now(),r??(r=tA);let n={};e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let o=tJ(tP(tC,{headers:n,rejectAuthFailure:!0})),i=()=>{tR===o&&(tR=null)};return o.then(i,i),tR=o,o}function tD(){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,D.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,D.A)(o.privileges.find(t=>e===t.display))):((0,D.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,D.A)(t.roles.find(e=>"System Developer"===e.display))}function tB(){let e,t;return new Promise(n=>{let o=o=>{o.loaded&&o.session.user&&(e=o.session.user,n(o.session.user),t&&t())};o(tO.getState()),e||(t=tO.subscribe(o))})}async function tF(){return(await t$()).sessionLocation}async function tH(e,t){return tJ(tP(tC,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tV(e,t){return await tP(tC,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tW()}async function tG(e,t,n){return n||(n=new AbortController),await tP(`${tk}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}async function tz(e,t=!1){let n=await tP(t?`${tC}?rememberMe=true`:tC,{headers:{"X-Totp-Code":e}});return n.data?.authenticated?(await tW()).session:n.data}async function tq(){try{await tP(tC,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tK(e))throw e}tD(),await tW().catch(()=>{})}function tJ(e){return new Promise((t,n)=>{e.then(e=>{if("object"==typeof e?.data){let n={loaded:!0,session:e.data};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(tX(Error("The session endpoint did not respond with a session"))):n(tX(Error("The server is still starting up"),!0))}).catch(e=>{var o,i;if(tK(e)){"object"==typeof(o=e.responseBody)&&null!==o&&!1===o.authenticated?tO.setState({loaded:!0,session:e.responseBody},!0):tD(),t(tO.getState());return}(i=e)instanceof tI&&502===i.response.status&&!tO.getState().loaded&&void 0!==r&&Date.now()-r<18e4?n(tX(e,!0)):(y(`Failed to fetch new session information: ${e}`),n(tX(e)))})})}function tK(e){return e instanceof tI&&(401===e.response.status||403===e.response.status)}function tX(e,t=!1){return tO.getState().loaded||tO.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e)),initializing:t},!0),tO.getState()}function tY(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tO.subscribe(e=>{e.loaded&&e.session&&tL(e.session)});let tZ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tQ(){eP("@openmrs/esm-api",tS),tW()}let t0="import-map-override:",t1="import-map-overrides-disabled",t2="import-map-overrides:change",t5=!1,t6=null,t8=null;async function t4(){return t8??(t8=t3().then(({map:e,complete:t})=>(t||(t8=null),e))),t8}async function t3(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){n=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${o}`,e)}}return{map:t7(t),complete:n}}function t7(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t9(){let e={};try{let t=nr();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(t0)){let n=o.slice(t0.length);if(!t.includes(n)){let t=localStorage.getItem(o);t&&(e[n]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function ne(){let e=await t4();return t5?t7([e,t6??t9()]):e}async function nt(){return t4()}async function nn(){return t5?t7([await t4(),t9()]):t4()}function no(e){if(!t5)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(t0)){let t=localStorage.getItem(n);t&&(e[n.slice(t0.length)]=t)}}return{imports:e}}return t9()}function nr(){if(!t5)return[];try{let e=localStorage.getItem(t1);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function ni(e){return!!t5&&nr().includes(e)}function ns(e,t){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(t0+e,t),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function na(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(t0+e);let t=nr().filter(t=>t!==e);t.length>0?localStorage.setItem(t1,JSON.stringify(t)):localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function nl(){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(t0)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nc(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=nr().filter(t=>t!==e);t.length>0?localStorage.setItem(t1,JSON.stringify(t)):localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nu=!1;function nd(){!nu&&(nu=!0,(t5="development"===window.spaEnv)&&(t6=t9()))}function nm(e){return e.replace(/[\/\-@]/g,"_")}async function np(e,t="./start",o){var r;let i,s=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nf(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=s)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},s)})]),i&&clearTimeout(i);let a=nm(e),l=window[a];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${a} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function nf(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=nm(e);if(!window[n]){let n=t??await ng();if(!n.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let o=n.imports[e];o.startsWith("./")&&(o=window.spaBase+o.substring(1));let r=e in no().imports;try{return await function(e){var t;let n=(t=window)[nh]??(t[nh]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function s(){clearTimeout(i),r.removeEventListener("load",a),r.removeEventListener("error",l)}function a(){s(),t()}function l(t){s(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&p({kind:"error",title:tm("scriptLoadingFailed","Error: Script failed to load"),description:tm("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tm("resetOverrides","Reset overrides"),onActionButtonClick(){nl(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function ng(){return ne()}let nh=Symbol.for("__openmrs_script_loading");function nw(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals))||Object.hasOwn(e,"workspaces2")&&(!e.workspaces2||!Array.isArray(e.workspaces2))||Object.hasOwn(e,"workspaceWindows2")&&(!e.workspaceWindows2||!Array.isArray(e.workspaceWindows2))||Object.hasOwn(e,"workspaceGroups2")&&(!e.workspaceGroups2||!Array.isArray(e.workspaceGroups2)))}function n_(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&nw(t))}let ny="openmrs-routes:",nv="openmrs-routes:change",nb=!1,nx=null,nS=null;async function nj(){return nS??(nS=nk().then(({map:e,complete:t})=>(t||(nS=null),e))),nS}async function nk(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&n_(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nN(t),complete:n}}function nN(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nC(){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(ny)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(ny.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 nE(){let e=await nj();return nb?nN([e,nx??await nC()]):e}async function nP(){return nj()}async function nI(){return nb?nN([await nj(),await nC()]):nj()}function nO(){if(!nb)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(ny)){let t=localStorage.getItem(n);t&&(e[n.slice(ny.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nA(e,t){if(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(ny+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(ny+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(ny+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(ny+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(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(ny+e),window.dispatchEvent(new CustomEvent(nv))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nT(){if(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(ny)&&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 n$=null;function nM(){return n$||(n$=(nb="development"===window.spaEnv)?nC().then(e=>{nx=e}):Promise.resolve())}let nL=`${tk}/attachment`;function nW(e,t){return tP(`${nL}/${e}`,{signal:t.signal})}function nD(e,t,n,o){return tP(nU(e,t,o),{signal:n.signal})}function nU(e,t,n){return n?`${nL}?patient=${e}&encounter=${n}`:`${nL}?patient=${e}&includeEncounterless=${t}`}async function nB(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tP(`${nL}`,{method:"POST",body:o})}function nF(e,t){return tP(`${nL}/${e}`,{method:"DELETE",signal:t.signal})}async function nH(e,t){return e?(await tP(`${tN}/Patient/${e}`,t)).data:null}function nV(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function nG(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}function nz(e){return{uuid:e.uuid,display:e.display}}function nq(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tP(`${tk}/location${o?"?"+o:""}`).then(e=>e.data.results.map(nz))}function nJ(e){return{uuid:e.uuid,display:e.display,name:e.name}}let nK=`${tk}/visittype`;function nX(e=nK){return tP(e).then(e=>e.data.results.map(nJ))}var nY=((j={}).NEWVISIT="startVisit",j.EDITVISIT="editVisit",j.LOADING="loadingVisit",j),nZ=((k={}).NOTSTARTED="notStarted",k.ONGOING="ongoing",k);let nQ="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",n0=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function n1(){return M("visit",n0)}function n2(e,t){n1().setState({patientUuid:e,manuallySetVisitUuid:t})}function n5(e,t){return tP(`${tk}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function n6(e,t,n){return tP(`${tk}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function n8(e,t,n){return tP(`${tk}/visit?patient=${e}&v=${n??nQ}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}n1().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var n4=n(9225),n3=n(6881),n7=n(6828),n9=n(1956),oe=n(3635),ot=n(7839),on=n(2298);let oo={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},or={...oo,Promise};function oi(e,t={}){return od(e,t,of)}async function os(e,t={}){return om(e,t,of)}function oa(e,t={}){return od(e,t,og)}function ol(e,t={}){return om(e,t,og)}function oc(e,t={}){return od(e,t,oh)}function ou(e,t={}){return om(e,t,oh)}function od(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ob(t,oo),r=ow("string"==typeof e?(0,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 om(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ob(t,or);return Promise.resolve(ow("string"==typeof e?(0,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 op(e){return(0,n4.A)(e)}function of(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function og(e){return"boolean"==typeof e}function oh(e){return"number"==typeof e}function ow(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,s,a,l,c,u,d,m,p,f,g=e,h=t;let w=ow(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,y=t;switch(_.operator){case"&&":return ow(_.left,y)&&ow(_.right,y);case"||":return ow(_.left,y)||ow(_.right,y);case"??":return ow(_.left,y)??ow(_.right,y)}let v=ow(_.left,y),b=ow(_.right,y);switch(_.operator){case"+":return v+b;case"-":return v-b;case"*":return v*b;case"/":return v/b;case"%":return v%b;case"**":return v**b;case"==":return v==b;case"===":return v===b;case"!=":return v!=b;case"!==":return v!==b;case">":return v>b;case">=":return v>=b;case"<":return v<b;case"<=":return v<=b;case"in":return v in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return n=e,o=t,ow(n.test,o)?ow(n.consequent,o):ow(n.alternate,o);case"CallExpression":return oj(oy(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 s=e,a=t,s.elements?.map(ok(a));case"SequenceExpression":let S;return l=e,c=t,(S=l.expressions.map(ok(c)))[S.length-1];case"NewExpression":var j=e,k=t;if(j.callee&&"Identifier"===j.callee.type){let e=j.arguments?.map(ok(k));switch(j.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${j.callee.name}`}}if(j.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(oN(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,C;return m=e,p=t,N=m.expressions?.map(ok(p))??[],(C=m.quasis?.map(ok(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 o_(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return o_(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function oy(e,t){let n=oS(e.callee,t);if(n===ox||e.optional&&null==n)return ox;let o=e.arguments?.map(ok(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===ox||e.optional&&null==n)return ox;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${oE(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=o_(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${oE(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(ow(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);oN(o),function(e,t){if(oC.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function ob(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}n4.A.plugins.register(n3.A),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.addBinaryOp("in",7),n4.A.addBinaryOp("??",1);let ox=Symbol("optional chain short-circuited");function oS(e,t){switch(e.type){case"MemberExpression":return ov(e,t);case"CallExpression":return oy(e,t);default:return ow(e,t)}}function oj(e){return e===ox?void 0:e}function ok(e){return function(t){return null===t?null:ow(t,e)}}function oN(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let oC=new Set(["toString","valueOf","hasOwnProperty"]);function oE(e,t){try{return o_(e,t)}catch{return"<computed>"}}function oP(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function oI(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...or},boundNames:new Set,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 n=e,o=t,void oO(n.argument,o);case"BinaryExpression":return r=e,i=t,void(oO(r.left,i),oO(r.right,i));case"ConditionalExpression":return s=e,a=t,void(oO(s.consequent,a),oO(s.test,a),oO(s.alternate,a));case"CallExpression":return l=e,c=t,void(oO(l.callee,c),l.arguments?.map(oA(c)));case"ArrowFunctionExpression":var n,o,r,i,s,a,l,c,u,d,m,p,f,g,h,w,_,y,v,b,x=e,S=t;let j=new Set(S.boundNames);for(let e of x.params??[])e?.type==="Identifier"&&j.add(e.name);oO(x.body,{...S,boundNames:j});return;case"MemberExpression":return u=e,d=t,void(oO(u.object,d),u.computed&&oO(u.property,d));case"ArrayExpression":return m=e,p=t,void m.elements?.map(oA(p));case"SequenceExpression":return f=e,g=t,void f.expressions?.map(oA(g));case"NewExpression":return h=e,w=t,void h.arguments?.map(oA(w));case"Literal":case"TemplateElement":return;case"Identifier":return _=e,y=t,void(_.name in y.globals||y.boundNames.has(_.name)||y.variables.add(_.name));case"TemplateLiteral":return v=e,b=t,void(v.expressions?.map(oA(b)),v.quasis?.map(oA(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function oA(e){return function(t){return null===t?null:oO(t,e)}}let oR=M("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function oT(e,t,n){oR.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function o$(){let e=oR.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function oM(e){return oR.getState().flags[e].enabled}function oL(e,t){oR.subscribe(n=>{t(n.flags[e].enabled)})}function oW(e,t){oR.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}oR.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var oD=n(1216);let oU=R("extensionsInternal",{slots:{},extensions:{}}),oB=R("extensionRenderings",{renderings:new Map}),oF=()=>M("extensionsInternal",{slots:{},extensions:{}}),oH=()=>M("extensionRenderings",{renderings:new Map});function oV(e){let t=oU.getState(),n=e(t);n!==t&&oU.setState(n)}let oG=null,oz=null;function oq(){let e=oB.getState();return oG&&e===oz||(oG=new Map(e.renderings),oz=e,function(e){for(let t of(o5.clear(),e.values()))o8(t,1);o6=!0}(oG)),oG}function oJ(e){oz={renderings:e},oB.setState(oz,!0)}function oK(e){let t=oq();t.has(e.renderingId)||(t.set(e.renderingId,e),o8(e,1),oJ(t))}function oX(e){let t=oq(),n=t.get(e);n&&(t.delete(e),o8(n,-1),oJ(t))}let oY=()=>M("extensions",{slots:{}}),oZ=0,oQ=new Set;function o0(e){oZ++;try{return e()}finally{if(0==--oZ&&oQ.size>0){let e=Array.from(oQ);for(let t of(oQ.clear(),e))o1(t)}}}function o1(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function o2(e){oZ>0?oQ.add(e):o1(e)}let o5=new Map,o6=!1;function o8(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=o5.get(n);if(!o){if(t<0)return;o5.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),o6=!0;return}o.count+=t,o.count<1&&(o5.delete(n),o6=!0)}function o4(){var e,t;if(oq(),!o6)return;o6=!1;let n=Array.from(o5.values(),({record:e})=>e);n.sort(o3),e=et.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===o3(e,t[n]))||et.setState({mountedExtensions:n})}function o3(e,t){return o7(e.slotName,t.slotName)||o7(e.extensionId,t.extensionId)||o7(e.slotModuleName,t.slotModuleName)||o7(e.extensionModuleName,t.extensionModuleName)}function o7(e,t){return e===t?0:e<t?-1:1}o4(),oB.subscribe(()=>o2(o4));let o9=oF(),re=oY(),rt=eo(),rn=es(),ro=new Set,rr=!1;function ri(e){if(null===e)ro=null;else if(null!==ro)for(let t of e)ro.add(t);o2(rs)}function rs(){if(!rr){rr=!0;try{for(let e=1;;e++){let t=ro;if(null!==t&&0===t.size)return;ro=new Set;try{!function(e,t,n,o,r,i=null){let s=re.getState().slots,a={},l=!1,c=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,u]of Object.entries(e.slots)){let d=s[o];if(d&&i&&!i.has(o)){a[o]=d;continue}let{config:m}=ei(t,u.name),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}=o9.getState(),s=new Set(o),a=[...t,...n].filter(e=>!s.has(e)),l=rh(r),c=rh(t),u=new Map(a.map(e=>[e,function(e,t,n,o){let r=t.get(e);if(void 0!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.get(e);return void 0!==t?2e3+t:3e3}}(e,l,i[rc(e)]?.order,c)]));return a.sort((e,t)=>u.get(e)-u.get(t))}(n,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=ea(o,e,l),c=el(n,e,l),u=c?(0,oD.A)({},s,c):s,d=rc(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tU(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(o,e,m,n,c,r.session);d&&d.moduleName===u.moduleName&&(0,F.A)(d.candidateExtensions,p)?a[o]=d:(a[o]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&re.setState({slots:a})}(o9.getState(),rt.getState(),rn.getState(),oR.getState(),tO.getState(),t)}catch(e){throw ro=null===t||null===ro?null:new Set([...t,...ro]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{rr=!1}}}function ra(e,t){let n=new Set;for(let o of Object.keys(e))e[o]!==t[o]&&n.add(o);for(let o of Object.keys(t))o in e||n.add(o);return n}function rl(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rc(e){let[t]=e.split("#");return t}function ru(e,t){let n=rc(t);return e.extensions[n]}function rd(e){return ru(o9.getState(),e)}o9.subscribe((e,t)=>{ri(e.extensions!==t.extensions?null:ra(e.slots,t.slots))}),rt.subscribe((e,t)=>{ri(ra(e.slots,t.slots))}),rn.subscribe((e,t)=>{ri(ra(e.configs,t.configs))}),oR.subscribe(()=>ri(null)),tO.subscribe(()=>ri(null)),ri(null);let rm=e=>oV(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function rp(e,t){oV(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...rl(e),attachedIds:[t]}}}})}function rf(e,t){oV(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function rg(e){oV(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function rh(e){let t=new Map;return e.forEach((e,n)=>{t.has(e)||t.set(e,n)}),t}function rw(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!oa(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(r_(e),t,tO.getState().session,e)}function r_(e){return re.getState().slots[e]?.candidateExtensions??[]}let ry=(e,t)=>o9.setState(n=>{let o=n.slots[t]?.moduleName;if(o&&o!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${o}.`),n;if(o&&o==e)return n;if(n.slots[t])return{...n,slots:{...n.slots,[t]:{...n.slots[t],moduleName:e}}};let r=rl(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),rv=()=>{ro=null,oV(()=>({slots:{},extensions:{}})),oH().setState({renderings:new Map}),re.setState({slots:{}})},rb=R("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rx({name:e,basePath:t,mode:n,componentContext:o,state:r}){rb.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function rS(e){rb.getState().slotName===e&&rb.setState(rb.getInitialState(),!0)}let rj=R("modalRegistry",{modals:{}});function rk(e){rj.setState(t=>(t.modals[e.name]=e,t))}function rN(e){let t=rj.getState().modals[e];if(!t){let n=rd(e);n&&(t={name:e,load:n.load,moduleName:n.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),rk(t))}return t}let rC=R("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],isMostRecentlyOpenedWindowHidden:!1});function rE(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=rC.getState(),o=t[e];if(o){let t=n[o.window];if(t)return t;throw Error(`No workspace window found with name: ${o.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rP(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=rC.getState(),o=n[e];if(o){let n=t[o.group];if(n)return n;throw Error(`No workspace group found with name: ${o.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rI(e){let{openedWindows:t}=rC.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rO(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=rC.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}}rC.setState({registeredGroupsByName:o})}function rA(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=rC.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}rC.setState({registeredWindowsByName:o})}function rR(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=rC.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}rC.setState({registeredWorkspacesByName:o})}let rT=0,r$=null,rM={bootstrap:15e3,mount:15e3,unmount:15e3};function rL(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(rM).filter(t=>e[t]).map(o=>{var r,i;let s,a;return[o,(r=e[o],i=rM[o],s=Array.isArray(r)?r:[r],a=e=>s.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function rW(e,t){var n,o;let r,i,s,a,l,c=await (r$??(r$=new Promise((e,t)=>{(0,ta.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),ta.xL))),r$),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>rL(e,n)):rL(e,n)),u),a=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&a(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rD(){return rU}function rU(e,t){let n,o=rW(e,t).then(e=>n=e);return{mount:()=>o.then(e=>e.mount()),unmount:()=>o.then(e=>e.unmount()),update:e=>o.then(t=>t.update?.(e)),getStatus:()=>n?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return o.then(e=>e.loadPromise)},get bootstrapPromise(){return o.then(e=>e.bootstrapPromise)},get mountPromise(){return o.then(e=>e.mountPromise)},get unmountPromise(){return o.then(e=>e.unmountPromise)}}}async function rB(e,t,n,o,r=e=>e,i={}){let s=rc(o),a=rd(o),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,p=rT++,f=`${t}/${o}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{oX(f)}catch(t){console.error(e,t)}};try{oK({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 rW(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 rF=n(6925),rH=n.n(rF);let rV=(0,rF.createContext)({moduleName:"",featureName:""});var rG=n(5140);function rz({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,rF.useEffect)(()=>{r.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${r.href}'`),r.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),(0,rG.jsx)("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),tg({to:e,templateParams:t})),0===o.button&&(o.ctrlKey||o.metaKey)&&n?.(o),0===o.button&&o.shiftKey&&n?.(o),1===o.button&&n?.(o)},href:tp(e,t),...r,children:o})}let rq=({state:e,children:t,...n})=>{let{extension:o}=(0,rF.useContext)(rV),r=(0,rF.useRef)(null),i=(0,rF.useRef)(Promise.resolve()),s=(0,rF.useRef)(!1),a=(0,rF.useRef)(!1),l=(0,rF.useRef)(e),c=(0,rF.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),u=(0,rF.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,rF.useCallback)(t=>{t&&!r.current&&!a.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(a.current=!0,rB(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rF.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rF.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?(0,rG.jsx)("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function rJ(e){let t=(0,rF.useRef)(e);return x(t.current,e)||(t.current=e),t.current}function rK(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 rX=e=>e;function rY(e,t=rX,n){let o=(0,rF.useCallback)(t=>e.subscribe(t),[e]),r=(0,rF.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rF.useSyncExternalStore)(o,r,r),s=(0,rF.useMemo)(()=>n?rK(e,n):null,[e,n]);return(0,rF.useMemo)(()=>s?{...i,...s}:i,[i,s])}function rZ(e,t){return rY(e,rX,t)}function rQ(e){return function(t){let n=(0,rF.useCallback)(t=>e.subscribe(t),[]),o=(0,rF.useCallback)(()=>e.getState(),[]),r=(0,rF.useSyncExternalStore)(n,o,o),i=(0,rF.useMemo)(()=>t?rK(e,t):null,[t]);return(0,rF.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r0=[];Object.freeze(r0);let r1={candidateExtensions:r0};Object.freeze(r1);let r2=e=>{let t=(0,rF.useCallback)(t=>t.slots?.[e]??r1,[e]);return rY(oY(),t)},r5=e=>e.session;function r6(e,t){let{candidateExtensions:n}=r2(e),o=rY(tO,r5),r=rJ(t);return(0,rF.useMemo)(()=>rw(e,r),[e,r,o,n])}function r8(e,t){let{moduleName:n}=(0,rF.useContext)(rV);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rF.useEffect)(()=>{ry(n,e)},[n,e]),{extensions:r6(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function r4(e){return e}function r3({name:e,extensionSlotName:t,select:n=r4,children:o,state:r,style:i,...s}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rF.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r8(a,r),d=(0,rF.useMemo)(()=>n(c),[n,c]),m=(0,rF.useMemo)(()=>{if("function"==typeof o&&!rH().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return(0,rG.jsx)("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s,children:a&&d?.map((e,t)=>(0,rG.jsx)(rV.Provider,{value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}},children:m?.[t]??("function"!=typeof o?o:null)??(0,rG.jsx)(rq,{state:r})},e.id))})}var r7=n(2852),r9=n.n(r7),ie=n(9568),it=n(9737),io=n(749),ir=n.n(io),ii=n(5254);let is={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ia=new Map;(0,ii.initCache)(ia);let il={errorRetryCount:3,fetcher:tP,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tI){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ia};function ic(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},is,e),n={...il,...t.swrConfig};return function(e){var o,r,i,s,a;return i=r=class extends(o=rH().Component){componentDidCatch(e,n){n&&n.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:n.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:n})}render(){if(this.state.caughtError)return(0,rG.jsx)("div",{children:"An error has occurred. Please try reloading the page."});{let o=(0,rG.jsx)(rF.Suspense,{fallback:null,children:(0,rG.jsx)(io.SWRConfig,{value:n,children:(0,rG.jsx)(rV.Provider,{value:this.state.config,children:t.disableTranslations?(0,rG.jsx)(e,{...this.props}):(0,rG.jsx)(it.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName,children:(0,rG.jsx)(e,{...this.props})})})})});return t.strictMode&&rH().StrictMode?(0,rG.jsx)(rH().StrictMode,{children: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 iu(e,t){return(0,ie.A)({React:rH(),ReactDOMClient:r9(),rootComponent:ic(t)(e)})}function id(e,t){return()=>e().then(({default:e})=>iu(e,t))}function im(e,t){return()=>Promise.resolve(iu(e,t))}let ip=id,ig=(0,C.y)()(()=>({}));$("openmrs-app-context",ig);let ih={};function iw(e,t=e=>e){let n=ig.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function i_(e,t){ig.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function iy(e){return null===e?null:Object.freeze(Object.assign({},e))}let iv=new Map;function ib(e,t){let n=(0,rF.useRef)(t??{}),o=(0,rF.useRef)(t=>i_(e,t)),r=(0,rF.useRef)(Symbol());return(0,rF.useEffect)(()=>{let n=t??{},o=r.current;return null===iw(e)?!function(e,t=ih){ig.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===ih?{}: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.`),i_(e,()=>n)),iv.set(e,o),()=>{iv.get(e)===o&&(ig.setState(t=>(e in t&&delete t[e],t)),iv.delete(e))}},[e]),(0,rF.useEffect)(()=>{let o=t??{};x(n.current,o)||(i_(e,()=>o),n.current=o)},[t]),o.current}function ix({namespace:e,value:t}){return ib(e,t),null}let iS=({children:e,value:t,fallback:n})=>t?(0,rG.jsx)(rG.Fragment,{children:e}):n?(0,rG.jsx)(rG.Fragment,{children:n}):null;function ij(){let e=(0,rF.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rF.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function ik(e,t=e=>e??{}){let[n,o]=(0,rF.useState)(()=>{if(iN(e))return;let n=iw(e);if(null!==n)return t?t(n):n});return(0,rF.useEffect)(()=>{if(iN(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rF.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>x(e,n)?e:n)})(iy(r=iw(e))),ig.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(iy(o)))})},[e,t]),n}function iN(e){return"string"!=typeof e||0===e.trim().length}function iC(e){let t=r6(e);return(0,rF.useMemo)(()=>t.map(e=>e.id),[t])}function iE(e){return r2(e).candidateExtensions}function iP(e,t,n){let{data:o,error:r,mutate:i,isLoading:s,isValidating:a}=ir()(e?nU(e,t,n):null,tP);return(0,rF.useMemo)(()=>({isLoading:s,data:o?.data.results??[],error:r,mutate:i,isValidating:a}),[o,r,s,a,i])}function iI(e){(0,rF.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iO={},iA=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
|
-
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iR(e,t,n){let o=iO[e];if(o)return o;let r=new Promise(e=>{let o=n(t.getState());if(o)return void e(o);let r=t.subscribe(t=>{let o=n(t);o&&(r(),e(o))})});return iO[e]=r,r.then(()=>{iO[e]===r&&delete iO[e]}),r}function iT(e){let{moduleName:t,extension:n}=(0,rF.useContext)(rV),o=e?.externalModuleName??t;if(!o&&!n)throw Error(iA);let r=function(e){let t=(0,rF.useMemo)(()=>en(e),[e]),n=function(e){let[t,n]=(0,rF.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rF.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw iR(e,t,e=>e.loaded?e.config:null);return n}(o),i=function(e){let t=(0,rF.useMemo)(es,[]),n=function(e,t){let[n,o]=(0,rF.useState)(t?()=>{let n=ea(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,rF.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=ea(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,F.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e)throw iR(`${e.extensionSlotName}-${e.extensionId}`,t,t=>{let n=ea(t,e.extensionSlotName,e.extensionId);return n.loaded?n.config:null});return n||{}}(n);return(0,rF.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let i$=r6;function iM(e,t=300){let[n,o]=(0,rF.useState)(e);return(0,rF.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var iL=n(8086),iW=n.n(iL);let iD=`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=`${tk}/emrapi/configuration?v=${iD}`,t=iW()(e,tP);return(0,rF.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iB(){return(0,rF.useContext)(rV).extension}let iF=rQ(oF());function iH(e){let t=r6(e);return(0,rF.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iV=rQ(oY());function iG(e){let{flags:t}=rY(oR);return t[e]?.enabled??!1}function iz(){let[,e]=(0,rF.useState)(0);return(0,rF.useCallback)(()=>{e(e=>e+1)},[])}function iq(e,t,n={}){return iK(e,t,iJ,n)}let iJ={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iK(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tP,[d,m]=(0,rF.useState)(1),p=(0,rF.useRef)(NaN),f=(0,rF.useRef)(NaN),g=(0,rF.useRef)(d),h=(0,rF.useRef)(!1),w=(0,rF.useRef)(!1),_=e?.toString()??"",[y,v]=(0,rF.useState)(_);_!==y&&(v(_),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,rF.useMemo)(()=>r(e,t,b),[e,t,b]),{data:S,...j}=(l?iW():ir())(x,u,c);S?.data&&(p.current=i(S?.data),f.current=s(S?.data),h.current=!0);let k=Math.ceil(p.current/t),N=(0,rF.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(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,rF.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){w.current||(w.current=!0,console.warn(`useServerPagination: ${_} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(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,_,S]);let C=(0,rF.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rF.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(S?.data),totalPages:k,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:k>1,showNextButton:d<k,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...j}}function iX(e,t,n={}){return iK(e,t,iY(),n)}function iY(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var iZ=n(2216),iQ=n.n(iZ);function i0(e,t={}){return i1(e,iJ,t)}function i1(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=n.fetcher??tP,c=(0,rF.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...p}=iQ()(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 i2(e,t={}){return i5(e,iJ,t)}function i5(e,t,n={}){let o=i1(e,t,n),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=o;return((0,rF.useEffect)(()=>{r&&!i&&a()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:s,isLoading:l||r}}function i6(e,t={}){return i5(e,iY(),t)}function i8(e,t={}){return i1(e,iY(),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 i3(){let[e,t]=(0,rF.useState)(i4);return(0,rF.useEffect)(()=>{let e=()=>{t(i4())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i7=e=>"small-desktop"===e||"large-desktop"===e;function i9(e){let t=(0,rF.useContext)(rV);(0,rF.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rx(e),()=>{rS(e.name)}),[t,e])}function se(){return rY(rb)}let st=[];function sn(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString(),{data:r}=i2(`${tk}/location${o?"?"+o:""}`,{immutable:!0});return r??st}function so(e,t=!0){let n=(0,rF.useRef)(null);return(0,rF.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function sr(e){let t=(0,rF.useRef)();return(0,rF.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function si(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,s=ij(),a=(0,rF.useMemo)(()=>o?.signal??n?.signal??s.signal,[n?.signal,o?.signal,s.signal]),l=(0,rF.useCallback)(e=>tP(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:a}),[a,o,r]);return ir()(e,l,i)}function ss(e=[],t=10){let[n,o]=(0,rF.useState)(1),r=(0,rF.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),s=(0,rF.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),a=(0,rF.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,rF.useCallback)(()=>{o(e=>e+1)},[]),c=(0,rF.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,rF.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function sa(e,t,n,o){return{pageSizes:(0,rF.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rF.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function sl(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function sc(e){let[t,n]=(0,rF.useState)(e??sl()),{data:o,error:r,isValidating:i}=ir()(t?["patient",t]:null,()=>nH(t,{}));return(0,rF.useEffect)(()=>{let e=()=>{let e=sl();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rF.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function su(){let e=`${tk}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=ir()(e,tP);return(0,rF.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function sd(e){let{extensions:t,extensionSlotModuleName:n}=r8(e);return e?t.map(t=>({state:o})=>(0,rG.jsx)(rV.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n,extensionMeta:t.meta}},children:(0,rG.jsx)(rq,{state:o})})):[]}function sm(){let e=(0,rF.useRef)(),[t,n]=(0,rF.useState)(null),o=null;if(!t){if(i){let e=tM().getState();e.loaded&&(o=e.session)}else i=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tM().getState()),o||(e.current=tM().subscribe(n))});if(o)n(o);else throw i}(0,rF.useEffect)(()=>(e.current||(e.current=tM().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let r=t||o;if(!r)if(i)throw console.warn("useSession is in an unexpected state. Attempting to recover."),i;else throw Error("useSession is in an invalid state.");return r}let sp=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,rF.useState)(null);return((0,rF.useEffect)(()=>{let e=tM(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:n,session:o}=e.getState();return n&&r(o?.user??null),t},[]),o&&tU(e,o))?(0,rG.jsx)(rG.Fragment,{children:n}):t?(0,rG.jsx)(rG.Fragment,{children:t}):null};var sf=n(4343),sg=n.n(sf),sh=n(3355);let sw=new Map;function s_(){for(let e of Array.from(sw.values()))e()}let sy={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sv(e){let t=(0,rF.useId)();return(0,rF.useEffect)(()=>{if(e)return sw.set(t,e),()=>{sw.delete(t)}},[t,e]),{...rZ(n1(),sy),mutateVisit:s_}}function sb(e,t=nQ){let n=(0,rF.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sv((0,rF.useCallback)(()=>n.current?.(),[])),s=e&&o==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=ir()(e?`${tk}/visit${a}`:null,tP),{data:p,error:f,mutate:g,isValidating:h}=ir()(e&&s?`${tk}/visit${l}`:null,tP),w=(0,rF.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,rF.useMemo)(()=>s&&p?p.data:null,[p,s]),y=(0,rF.useRef)(null);(0,rF.useEffect)(()=>{!m&&w&&o===e&&null===r&&i(w),h||(y.current&&_&&y.current.uuid===_.uuid&&!y.current.stopDatetime&&_.stopDatetime&&i(null),y.current=_)},[_,r,w,m,h,o]);let v=(0,rF.useCallback)(()=>{d(),g()},[d,g]);(0,rF.useEffect)(()=>{n.current=v},[v]);let b=!!(!c||s&&!p),x=!!(s?f:u);return{error:u||f,mutate:v,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!s,isLoading:b&&!x}}sf.extend(sh);let sx=[];function sS(){let{data:e}=iW()(nK,nX);return e??sx}let sj=new Map;async function sk(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 np(r);return s&&Object.hasOwn(s,i)&&"function"==typeof s[i]?sC(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`),sN)}let sN={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sC(e,t){if(e in sj)await sj[e];else{let n=t??await np(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(()=>{eO(e),t(null)}).catch(o)}eO(e),t(null)}))}}function sE(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=R("session",{loaded:!1,session:null}),tA=0,tR=null;function tT(){return tR||(tO.getState().loaded&&tA>=Date.now()-6e4?null:tW())}function t$(e){let t=e?.includeAuthStatus??!0,n=e=>t?e:e.user,o=tT();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 tM(){return tT(),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 tW(e,t){tA=Date.now(),r??(r=tA);let n={};e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let o=tJ(tP(tC,{headers:n,rejectAuthFailure:!0})),i=()=>{tR===o&&(tR=null)};return o.then(i,i),tR=o,o}function tD(){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,D.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,D.A)(o.privileges.find(t=>e===t.display))):((0,D.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,D.A)(t.roles.find(e=>"System Developer"===e.display))}function tB(){let e,t;return new Promise(n=>{let o=o=>{o.loaded&&o.session.user&&(e=o.session.user,n(o.session.user),t&&t())};o(tO.getState()),e||(t=tO.subscribe(o))})}async function tF(){return(await t$()).sessionLocation}async function tH(e,t){return tJ(tP(tC,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tV(e,t){return await tP(tC,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tW()}async function tz(e,t,n){return n||(n=new AbortController),await tP(`${tk}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}async function tG(e,t=!1){let n=await tP(t?`${tC}?rememberMe=true`:tC,{headers:{"X-Totp-Code":e}});return n.data?.authenticated?(await tW()).session:n.data}async function tq(){try{await tP(tC,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tK(e))throw e}tD(),await tW().catch(()=>{})}function tJ(e){return new Promise((t,n)=>{e.then(e=>{if("object"==typeof e?.data){let n={loaded:!0,session:e.data};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(tX(Error("The session endpoint did not respond with a session"))):n(tX(Error("The server is still starting up"),!0))}).catch(e=>{var o,i;if(tK(e)){"object"==typeof(o=e.responseBody)&&null!==o&&!1===o.authenticated?tO.setState({loaded:!0,session:e.responseBody},!0):tD(),t(tO.getState());return}(i=e)instanceof tI&&502===i.response.status&&!tO.getState().loaded&&void 0!==r&&Date.now()-r<18e4?n(tX(e,!0)):(y(`Failed to fetch new session information: ${e}`),n(tX(e)))})})}function tK(e){return e instanceof tI&&(401===e.response.status||403===e.response.status)}function tX(e,t=!1){return tO.getState().loaded||tO.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e)),initializing:t},!0),tO.getState()}function tY(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tO.subscribe(e=>{e.loaded&&e.session&&tL(e.session)});let tZ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tQ(){eP("@openmrs/esm-api",tS),tW()}let t0="import-map-override:",t1="import-map-overrides-disabled",t2="import-map-overrides:change",t5=!1,t6=null,t8=null;async function t4(){return t8??(t8=t3().then(({map:e,complete:t})=>(t||(t8=null),e))),t8}async function t3(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){n=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${o}`,e)}}return{map:t7(t),complete:n}}function t7(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t9(){let e={};try{let t=nr();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(t0)){let n=o.slice(t0.length);if(!t.includes(n)){let t=localStorage.getItem(o);t&&(e[n]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function ne(){let e=await t4();return t5?t7([e,t6??t9()]):e}async function nt(){return t4()}async function nn(){return t5?t7([await t4(),t9()]):t4()}function no(e){if(!t5)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(t0)){let t=localStorage.getItem(n);t&&(e[n.slice(t0.length)]=t)}}return{imports:e}}return t9()}function nr(){if(!t5)return[];try{let e=localStorage.getItem(t1);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function ni(e){return!!t5&&nr().includes(e)}function ns(e,t){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(t0+e,t),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function na(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(t0+e);let t=nr().filter(t=>t!==e);t.length>0?localStorage.setItem(t1,JSON.stringify(t)):localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function nl(){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(t0)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nc(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=nr().filter(t=>t!==e);t.length>0?localStorage.setItem(t1,JSON.stringify(t)):localStorage.removeItem(t1),window.dispatchEvent(new CustomEvent(t2))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nu=!1;function nd(){!nu&&(nu=!0,(t5="development"===window.spaEnv)&&(t6=t9()))}function nm(e){return e.replace(/[\/\-@]/g,"_")}async function np(e,t="./start",o){var r;let i,s=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nf(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=s)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},s)})]),i&&clearTimeout(i);let a=nm(e),l=window[a];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${a} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function nf(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=nm(e);if(!window[n]){let n=t??await ng();if(!n.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let o=n.imports[e];o.startsWith("./")&&(o=window.spaBase+o.substring(1));let r=e in no().imports;try{return await function(e){var t;let n=(t=window)[nh]??(t[nh]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function s(){clearTimeout(i),r.removeEventListener("load",a),r.removeEventListener("error",l)}function a(){s(),t()}function l(t){s(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&p({kind:"error",title:tm("scriptLoadingFailed","Error: Script failed to load"),description:tm("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tm("resetOverrides","Reset overrides"),onActionButtonClick(){nl(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function ng(){return ne()}let nh=Symbol.for("__openmrs_script_loading");function nw(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals))||Object.hasOwn(e,"workspaces2")&&(!e.workspaces2||!Array.isArray(e.workspaces2))||Object.hasOwn(e,"workspaceWindows2")&&(!e.workspaceWindows2||!Array.isArray(e.workspaceWindows2))||Object.hasOwn(e,"workspaceGroups2")&&(!e.workspaceGroups2||!Array.isArray(e.workspaceGroups2)))}function n_(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&nw(t))}let ny="openmrs-routes:",nv="openmrs-routes:change",nb=!1,nx=null,nS=null;async function nj(){return nS??(nS=nk().then(({map:e,complete:t})=>(t||(nS=null),e))),nS}async function nk(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&n_(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nN(t),complete:n}}function nN(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nC(){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(ny)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(ny.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 nE(){let e=await nj();return nb?nN([e,nx??await nC()]):e}async function nP(){return nj()}async function nI(){return nb?nN([await nj(),await nC()]):nj()}function nO(){if(!nb)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(ny)){let t=localStorage.getItem(n);t&&(e[n.slice(ny.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nA(e,t){if(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(ny+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(ny+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(ny+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(ny+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(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(ny+e),window.dispatchEvent(new CustomEvent(nv))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nT(){if(!nb)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(ny)&&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 n$=null;function nM(){return n$||(n$=(nb="development"===window.spaEnv)?nC().then(e=>{nx=e}):Promise.resolve())}let nL=`${tk}/attachment`;function nW(e,t){return tP(`${nL}/${e}`,{signal:t.signal})}function nD(e,t,n,o){return tP(nU(e,t,o),{signal:n.signal})}function nU(e,t,n){return n?`${nL}?patient=${e}&encounter=${n}`:`${nL}?patient=${e}&includeEncounterless=${t}`}async function nB(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tP(`${nL}`,{method:"POST",body:o})}function nF(e,t){return tP(`${nL}/${e}`,{method:"DELETE",signal:t.signal})}async function nH(e,t){return e?(await tP(`${tN}/Patient/${e}`,t)).data:null}function nV(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function nz(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 nG(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(`${tk}/location${o?"?"+o:""}`).then(e=>e.data.results.map(nG))}function nJ(e){return{uuid:e.uuid,display:e.display,name:e.name}}let nK=`${tk}/visittype`;function nX(e=nK){return tP(e).then(e=>e.data.results.map(nJ))}var nY=((j={}).NEWVISIT="startVisit",j.EDITVISIT="editVisit",j.LOADING="loadingVisit",j),nZ=((k={}).NOTSTARTED="notStarted",k.ONGOING="ongoing",k);let nQ="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",n0=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function n1(){return M("visit",n0)}function n2(e,t){n1().setState({patientUuid:e,manuallySetVisitUuid:t})}function n5(e,t){return tP(`${tk}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function n6(e,t,n){return tP(`${tk}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function n8(e,t,n){return tP(`${tk}/visit?patient=${e}&v=${n??nQ}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}n1().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var n4=n(9225),n3=n(6881),n7=n(6828),n9=n(1956),oe=n(3635),ot=n(7839),on=n(2298);let oo={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},or={...oo,Promise};function oi(e,t={}){return od(e,t,of)}async function os(e,t={}){return om(e,t,of)}function oa(e,t={}){return od(e,t,og)}function ol(e,t={}){return om(e,t,og)}function oc(e,t={}){return od(e,t,oh)}function ou(e,t={}){return om(e,t,oh)}function od(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ob(t,oo),r=ow("string"==typeof e?(0,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 om(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ob(t,or);return Promise.resolve(ow("string"==typeof e?(0,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 op(e){return(0,n4.A)(e)}function of(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function og(e){return"boolean"==typeof e}function oh(e){return"number"==typeof e}function ow(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,s,a,l,c,u,d,m,p,f,g=e,h=t;let w=ow(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,y=t;switch(_.operator){case"&&":return ow(_.left,y)&&ow(_.right,y);case"||":return ow(_.left,y)||ow(_.right,y);case"??":return ow(_.left,y)??ow(_.right,y)}let v=ow(_.left,y),b=ow(_.right,y);switch(_.operator){case"+":return v+b;case"-":return v-b;case"*":return v*b;case"/":return v/b;case"%":return v%b;case"**":return v**b;case"==":return v==b;case"===":return v===b;case"!=":return v!=b;case"!==":return v!==b;case">":return v>b;case">=":return v>=b;case"<":return v<b;case"<=":return v<=b;case"in":return v in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return n=e,o=t,ow(n.test,o)?ow(n.consequent,o):ow(n.alternate,o);case"CallExpression":return oj(oy(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 s=e,a=t,s.elements?.map(ok(a));case"SequenceExpression":let S;return l=e,c=t,(S=l.expressions.map(ok(c)))[S.length-1];case"NewExpression":var j=e,k=t;if(j.callee&&"Identifier"===j.callee.type){let e=j.arguments?.map(ok(k));switch(j.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${j.callee.name}`}}if(j.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(oN(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,C;return m=e,p=t,N=m.expressions?.map(ok(p))??[],(C=m.quasis?.map(ok(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 o_(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return o_(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function oy(e,t){let n=oS(e.callee,t);if(n===ox||e.optional&&null==n)return ox;let o=e.arguments?.map(ok(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===ox||e.optional&&null==n)return ox;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${oE(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=o_(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${oE(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(ow(e.property,t)):function(e){if("Identifier"!==e.type)throw`VisitMemberExpression does not support a property of type '${e.type}'`;return e.name}(e.property);oN(o),function(e,t){if(oC.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function ob(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}n4.A.plugins.register(n3.A),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.addBinaryOp("in",7),n4.A.addBinaryOp("??",1);let ox=Symbol("optional chain short-circuited");function oS(e,t){switch(e.type){case"MemberExpression":return ov(e,t);case"CallExpression":return oy(e,t);default:return ow(e,t)}}function oj(e){return e===ox?void 0:e}function ok(e){return function(t){return null===t?null:ow(t,e)}}function oN(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let oC=new Set(["toString","valueOf","hasOwnProperty"]);function oE(e,t){try{return o_(e,t)}catch{return"<computed>"}}function oP(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function oI(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...or},boundNames:new Set,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 n=e,o=t,void oO(n.argument,o);case"BinaryExpression":return r=e,i=t,void(oO(r.left,i),oO(r.right,i));case"ConditionalExpression":return s=e,a=t,void(oO(s.consequent,a),oO(s.test,a),oO(s.alternate,a));case"CallExpression":return l=e,c=t,void(oO(l.callee,c),l.arguments?.map(oA(c)));case"ArrowFunctionExpression":var n,o,r,i,s,a,l,c,u,d,m,p,f,g,h,w,_,y,v,b,x=e,S=t;let j=new Set(S.boundNames);for(let e of x.params??[])e?.type==="Identifier"&&j.add(e.name);oO(x.body,{...S,boundNames:j});return;case"MemberExpression":return u=e,d=t,void(oO(u.object,d),u.computed&&oO(u.property,d));case"ArrayExpression":return m=e,p=t,void m.elements?.map(oA(p));case"SequenceExpression":return f=e,g=t,void f.expressions?.map(oA(g));case"NewExpression":return h=e,w=t,void h.arguments?.map(oA(w));case"Literal":case"TemplateElement":return;case"Identifier":return _=e,y=t,void(_.name in y.globals||y.boundNames.has(_.name)||y.variables.add(_.name));case"TemplateLiteral":return v=e,b=t,void(v.expressions?.map(oA(b)),v.quasis?.map(oA(b)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function oA(e){return function(t){return null===t?null:oO(t,e)}}let oR=M("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function oT(e,t,n){oR.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function o$(){let e=oR.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function oM(e){return oR.getState().flags[e].enabled}function oL(e,t){oR.subscribe(n=>{t(n.flags[e].enabled)})}function oW(e,t){oR.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}oR.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var oD=n(1216);let oU=R("extensionsInternal",{slots:{},extensions:{}}),oB=R("extensionRenderings",{renderings:new Map}),oF=()=>M("extensionsInternal",{slots:{},extensions:{}}),oH=()=>M("extensionRenderings",{renderings:new Map});function oV(e){let t=oU.getState(),n=e(t);n!==t&&oU.setState(n)}let oz=null,oG=null;function oq(){let e=oB.getState();return oz&&e===oG||(oz=new Map(e.renderings),oG=e,function(e){for(let t of(o5.clear(),e.values()))o8(t,1);o6=!0}(oz)),oz}function oJ(e){oG={renderings:e},oB.setState(oG,!0)}function oK(e){let t=oq();t.has(e.renderingId)||(t.set(e.renderingId,e),o8(e,1),oJ(t))}function oX(e){let t=oq(),n=t.get(e);n&&(t.delete(e),o8(n,-1),oJ(t))}let oY=()=>M("extensions",{slots:{}}),oZ=0,oQ=new Set;function o0(e){oZ++;try{return e()}finally{if(0==--oZ&&oQ.size>0){let e=Array.from(oQ);for(let t of(oQ.clear(),e))o1(t)}}}function o1(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function o2(e){oZ>0?oQ.add(e):o1(e)}let o5=new Map,o6=!1;function o8(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=o5.get(n);if(!o){if(t<0)return;o5.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),o6=!0;return}o.count+=t,o.count<1&&(o5.delete(n),o6=!0)}function o4(){var e,t;if(oq(),!o6)return;o6=!1;let n=Array.from(o5.values(),({record:e})=>e);n.sort(o3),e=et.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===o3(e,t[n]))||et.setState({mountedExtensions:n})}function o3(e,t){return o7(e.slotName,t.slotName)||o7(e.extensionId,t.extensionId)||o7(e.slotModuleName,t.slotModuleName)||o7(e.extensionModuleName,t.extensionModuleName)}function o7(e,t){return e===t?0:e<t?-1:1}o4(),oB.subscribe(()=>o2(o4));let o9=oF(),re=oY(),rt=eo(),rn=es(),ro=new Set,rr=!1;function ri(e){if(null===e)ro=null;else if(null!==ro)for(let t of e)ro.add(t);o2(rs)}function rs(){if(!rr){rr=!0;try{for(let e=1;;e++){let t=ro;if(null!==t&&0===t.size)return;ro=new Set;try{!function(e,t,n,o,r,i=null){let s=re.getState().slots,a={},l=!1,c=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,u]of Object.entries(e.slots)){let d=s[o];if(d&&i&&!i.has(o)){a[o]=d;continue}let{config:m}=ei(t,u.name),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}=o9.getState(),s=new Set(o),a=[...t,...n].filter(e=>!s.has(e)),l=rh(r),c=rh(t),u=new Map(a.map(e=>[e,function(e,t,n,o){let r=t.get(e);if(void 0!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.get(e);return void 0!==t?2e3+t:3e3}}(e,l,i[rc(e)]?.order,c)]));return a.sort((e,t)=>u.get(e)-u.get(t))}(n,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=ea(o,e,l),c=el(n,e,l),u=c?(0,oD.A)({},s,c):s,d=rc(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tU(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(o,e,m,n,c,r.session);d&&d.moduleName===u.moduleName&&(0,F.A)(d.candidateExtensions,p)?a[o]=d:(a[o]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&re.setState({slots:a})}(o9.getState(),rt.getState(),rn.getState(),oR.getState(),tO.getState(),t)}catch(e){throw ro=null===t||null===ro?null:new Set([...t,...ro]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{rr=!1}}}function ra(e,t){let n=new Set;for(let o of Object.keys(e))e[o]!==t[o]&&n.add(o);for(let o of Object.keys(t))o in e||n.add(o);return n}function rl(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rc(e){let[t]=e.split("#");return t}function ru(e,t){let n=rc(t);return e.extensions[n]}function rd(e){return ru(o9.getState(),e)}o9.subscribe((e,t)=>{ri(e.extensions!==t.extensions?null:ra(e.slots,t.slots))}),rt.subscribe((e,t)=>{ri(ra(e.slots,t.slots))}),rn.subscribe((e,t)=>{ri(ra(e.configs,t.configs))}),oR.subscribe(()=>ri(null)),tO.subscribe(()=>ri(null)),ri(null);let rm=e=>oV(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function rp(e,t){oV(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...rl(e),attachedIds:[t]}}}})}function rf(e,t){oV(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function rg(e){oV(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function rh(e){let t=new Map;return e.forEach((e,n)=>{t.has(e)||t.set(e,n)}),t}function rw(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!oa(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(r_(e),t,tO.getState().session,e)}function r_(e){return re.getState().slots[e]?.candidateExtensions??[]}let ry=(e,t)=>o9.setState(n=>{let o=n.slots[t]?.moduleName;if(o&&o!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${o}.`),n;if(o&&o==e)return n;if(n.slots[t])return{...n,slots:{...n.slots,[t]:{...n.slots[t],moduleName:e}}};let r=rl(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),rv=()=>{ro=null,oV(()=>({slots:{},extensions:{}})),oH().setState({renderings:new Map}),re.setState({slots:{}})},rb=R("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rx({name:e,basePath:t,mode:n,componentContext:o,state:r}){rb.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function rS(e){rb.getState().slotName===e&&rb.setState(rb.getInitialState(),!0)}let rj=R("modalRegistry",{modals:{}});function rk(e){rj.setState(t=>(t.modals[e.name]=e,t))}function rN(e){let t=rj.getState().modals[e];if(!t){let n=rd(e);n&&(t={name:e,load:n.load,moduleName:n.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),rk(t))}return t}let rC=R("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],isMostRecentlyOpenedWindowHidden:!1});function rE(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=rC.getState(),o=t[e];if(o){let t=n[o.window];if(t)return t;throw Error(`No workspace window found with name: ${o.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rP(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=rC.getState(),o=n[e];if(o){let n=t[o.group];if(n)return n;throw Error(`No workspace group found with name: ${o.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rI(e){let{openedWindows:t}=rC.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rO(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=rC.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}}rC.setState({registeredGroupsByName:o})}function rA(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=rC.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}rC.setState({registeredWindowsByName:o})}function rR(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=rC.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}rC.setState({registeredWorkspacesByName:o})}let rT=0,r$=null,rM={bootstrap:15e3,mount:15e3,unmount:15e3};function rL(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(rM).filter(t=>e[t]).map(o=>{var r,i;let s,a;return[o,(r=e[o],i=rM[o],s=Array.isArray(r)?r:[r],a=e=>s.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function rW(e,t){var n,o;let r,i,s,a,l,c=await (r$??(r$=new Promise((e,t)=>{(0,ta.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),ta.xL))),r$),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>rL(e,n)):rL(e,n)),u),a=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&a(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rD(){return rU}function rU(e,t){let n,o=rW(e,t).then(e=>n=e);return{mount:()=>o.then(e=>e.mount()),unmount:()=>o.then(e=>e.unmount()),update:e=>o.then(t=>t.update?.(e)),getStatus:()=>n?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return o.then(e=>e.loadPromise)},get bootstrapPromise(){return o.then(e=>e.bootstrapPromise)},get mountPromise(){return o.then(e=>e.mountPromise)},get unmountPromise(){return o.then(e=>e.unmountPromise)}}}async function rB(e,t,n,o,r=e=>e,i={}){let s=rc(o),a=rd(o),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,p=rT++,f=`${t}/${o}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{oX(f)}catch(t){console.error(e,t)}};try{oK({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 rW(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 rF=n(6925),rH=n.n(rF);let rV=(0,rF.createContext)({moduleName:"",featureName:""});var rz=n(5140);function rG({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,rF.useEffect)(()=>{r.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${r.href}'`),r.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),(0,rz.jsx)("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),tg({to:e,templateParams:t})),0===o.button&&(o.ctrlKey||o.metaKey)&&n?.(o),0===o.button&&o.shiftKey&&n?.(o),1===o.button&&n?.(o)},href:tp(e,t),...r,children:o})}let rq=({state:e,children:t,...n})=>{let{extension:o}=(0,rF.useContext)(rV),r=(0,rF.useRef)(null),i=(0,rF.useRef)(Promise.resolve()),s=(0,rF.useRef)(!1),a=(0,rF.useRef)(!1),l=(0,rF.useRef)(e),c=(0,rF.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),u=(0,rF.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,rF.useCallback)(t=>{t&&!r.current&&!a.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(a.current=!0,rB(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rF.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rF.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?(0,rz.jsx)("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function rJ(e){let t=(0,rF.useRef)(e);return x(t.current,e)||(t.current=e),t.current}function rK(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 rX=e=>e;function rY(e,t=rX,n){let o=(0,rF.useCallback)(t=>e.subscribe(t),[e]),r=(0,rF.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rF.useSyncExternalStore)(o,r,r),s=(0,rF.useMemo)(()=>n?rK(e,n):null,[e,n]);return(0,rF.useMemo)(()=>s?{...i,...s}:i,[i,s])}function rZ(e,t){return rY(e,rX,t)}function rQ(e){return function(t){let n=(0,rF.useCallback)(t=>e.subscribe(t),[]),o=(0,rF.useCallback)(()=>e.getState(),[]),r=(0,rF.useSyncExternalStore)(n,o,o),i=(0,rF.useMemo)(()=>t?rK(e,t):null,[t]);return(0,rF.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r0=[];Object.freeze(r0);let r1={candidateExtensions:r0};Object.freeze(r1);let r2=e=>{let t=(0,rF.useCallback)(t=>t.slots?.[e]??r1,[e]);return rY(oY(),t)},r5=e=>e.session;function r6(e,t){let{candidateExtensions:n}=r2(e),o=rY(tO,r5),r=rJ(t);return(0,rF.useMemo)(()=>rw(e,r),[e,r,o,n])}function r8(e,t){let{moduleName:n}=(0,rF.useContext)(rV);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rF.useEffect)(()=>{ry(n,e)},[n,e]),{extensions:r6(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function r4(e){return e}function r3({name:e,extensionSlotName:t,select:n=r4,children:o,state:r,style:i,...s}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rF.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r8(a,r),d=(0,rF.useMemo)(()=>n(c),[n,c]),m=(0,rF.useMemo)(()=>{if("function"==typeof o&&!rH().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return(0,rz.jsx)("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s,children:a&&d?.map((e,t)=>(0,rz.jsx)(rV.Provider,{value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}},children:m?.[t]??("function"!=typeof o?o:null)??(0,rz.jsx)(rq,{state:r})},e.id))})}var r7=n(2852),r9=n.n(r7),ie=n(9568),it=n(9737),io=n(749),ir=n.n(io),ii=n(5254);let is={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ia=new Map;(0,ii.initCache)(ia);let il={errorRetryCount:3,fetcher:tP,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tI){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ia};function ic(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},is,e),n={...il,...t.swrConfig};return function(e){var o,r,i,s,a;return i=r=class extends(o=rH().Component){componentDidCatch(e,n){n&&n.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:n.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:n})}render(){if(this.state.caughtError)return(0,rz.jsx)("div",{children:"An error has occurred. Please try reloading the page."});{let o=(0,rz.jsx)(rF.Suspense,{fallback:null,children:(0,rz.jsx)(io.SWRConfig,{value:n,children:(0,rz.jsx)(rV.Provider,{value:this.state.config,children:t.disableTranslations?(0,rz.jsx)(e,{...this.props}):(0,rz.jsx)(it.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName,children:(0,rz.jsx)(e,{...this.props})})})})});return t.strictMode&&rH().StrictMode?(0,rz.jsx)(rH().StrictMode,{children: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 iu(e,t){return(0,ie.A)({React:rH(),ReactDOMClient:r9(),rootComponent:ic(t)(e)})}function id(e,t){return()=>e().then(({default:e})=>iu(e,t))}function im(e,t){return()=>Promise.resolve(iu(e,t))}let ip=id,ig=(0,C.y)()(()=>({}));$("openmrs-app-context",ig);let ih={};function iw(e,t=e=>e){let n=ig.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function i_(e,t){ig.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function iy(e){return null===e?null:Object.freeze(Object.assign({},e))}let iv=new Map;function ib(e,t){let n=(0,rF.useRef)(t??{}),o=(0,rF.useRef)(t=>i_(e,t)),r=(0,rF.useRef)(Symbol());return(0,rF.useEffect)(()=>{let n=t??{},o=r.current;return null===iw(e)?!function(e,t=ih){ig.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===ih?{}: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.`),i_(e,()=>n)),iv.set(e,o),()=>{iv.get(e)===o&&(ig.setState(t=>(e in t&&delete t[e],t)),iv.delete(e))}},[e]),(0,rF.useEffect)(()=>{let o=t??{};x(n.current,o)||(i_(e,()=>o),n.current=o)},[t]),o.current}function ix({namespace:e,value:t}){return ib(e,t),null}let iS=({children:e,value:t,fallback:n})=>t?(0,rz.jsx)(rz.Fragment,{children:e}):n?(0,rz.jsx)(rz.Fragment,{children:n}):null;function ij(){let e=(0,rF.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rF.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function ik(e,t=e=>e??{}){let[n,o]=(0,rF.useState)(()=>{if(iN(e))return;let n=iw(e);if(null!==n)return t?t(n):n});return(0,rF.useEffect)(()=>{if(iN(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rF.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>x(e,n)?e:n)})(iy(r=iw(e))),ig.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(iy(o)))})},[e,t]),n}function iN(e){return"string"!=typeof e||0===e.trim().length}function iC(e){let t=r6(e);return(0,rF.useMemo)(()=>t.map(e=>e.id),[t])}function iE(e){return r2(e).candidateExtensions}function iP(e,t,n){let{data:o,error:r,mutate:i,isLoading:s,isValidating:a}=ir()(e?nU(e,t,n):null,tP);return(0,rF.useMemo)(()=>({isLoading:s,data:o?.data.results??[],error:r,mutate:i,isValidating:a}),[o,r,s,a,i])}function iI(e){(0,rF.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iO={},iA=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
|
+
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iR(e,t,n){let o=iO[e];if(o)return o;let r=new Promise(e=>{let o=n(t.getState());if(o)return void e(o);let r=t.subscribe(t=>{let o=n(t);o&&(r(),e(o))})});return iO[e]=r,r.then(()=>{iO[e]===r&&delete iO[e]}),r}function iT(e){let{moduleName:t,extension:n}=(0,rF.useContext)(rV),o=e?.externalModuleName??t;if(!o&&!n)throw Error(iA);let r=function(e){let t=(0,rF.useMemo)(()=>en(e),[e]),n=function(e){let[t,n]=(0,rF.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rF.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw iR(e,t,e=>e.loaded?e.config:null);return n}(o),i=function(e){let t=(0,rF.useMemo)(es,[]),n=function(e,t){let[n,o]=(0,rF.useState)(t?()=>{let n=ea(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,rF.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=ea(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,F.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e)throw iR(`${e.extensionSlotName}-${e.extensionId}`,t,t=>{let n=ea(t,e.extensionSlotName,e.extensionId);return n.loaded?n.config:null});return n||{}}(n);return(0,rF.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let i$=r6;function iM(e,t=300){let[n,o]=(0,rF.useState)(e);return(0,rF.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var iL=n(8086),iW=n.n(iL);let iD=`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=`${tk}/emrapi/configuration?v=${iD}`,t=iW()(e,tP);return(0,rF.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iB(){return(0,rF.useContext)(rV).extension}let iF=rQ(oF());function iH(e){let t=r6(e);return(0,rF.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iV=rQ(oY());function iz(e){let{flags:t}=rY(oR);return t[e]?.enabled??!1}function iG(){let[,e]=(0,rF.useState)(0);return(0,rF.useCallback)(()=>{e(e=>e+1)},[])}function iq(e,t,n={}){return iK(e,t,iJ,n)}let iJ={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iK(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tP,[d,m]=(0,rF.useState)(1),p=(0,rF.useRef)(NaN),f=(0,rF.useRef)(NaN),g=(0,rF.useRef)(d),h=(0,rF.useRef)(!1),w=(0,rF.useRef)(!1),_=e?.toString()??"",[y,v]=(0,rF.useState)(_);_!==y&&(v(_),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,rF.useMemo)(()=>r(e,t,b),[e,t,b]),{data:S,...j}=(l?iW():ir())(x,u,c);S?.data&&(p.current=i(S?.data),f.current=s(S?.data),h.current=!0);let k=Math.ceil(p.current/t),N=(0,rF.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(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,rF.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){w.current||(w.current=!0,console.warn(`useServerPagination: ${_} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(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,_,S]);let C=(0,rF.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rF.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(S?.data),totalPages:k,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:k>1,showNextButton:d<k,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...j}}function iX(e,t,n={}){return iK(e,t,iY(),n)}function iY(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var iZ=n(2216),iQ=n.n(iZ);function i0(e,t={}){return i1(e,iJ,t)}function i1(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=n.fetcher??tP,c=(0,rF.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...p}=iQ()(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 i2(e,t={}){return i5(e,iJ,t)}function i5(e,t,n={}){let o=i1(e,t,n),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=o;return((0,rF.useEffect)(()=>{r&&!i&&a()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:s,isLoading:l||r}}function i6(e,t={}){return i5(e,iY(),t)}function i8(e,t={}){return i1(e,iY(),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 i3(){let[e,t]=(0,rF.useState)(i4);return(0,rF.useEffect)(()=>{let e=()=>{t(i4())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i7=e=>"small-desktop"===e||"large-desktop"===e;function i9(e){let t=(0,rF.useContext)(rV);(0,rF.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rx(e),()=>{rS(e.name)}),[t,e])}function se(){return rY(rb)}let st=[];function sn(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString(),{data:r}=i2(`${tk}/location${o?"?"+o:""}`,{immutable:!0});return r??st}function so(e,t=!0){let n=(0,rF.useRef)(null);return(0,rF.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function sr(e){let t=(0,rF.useRef)();return(0,rF.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function si(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,s=ij(),a=(0,rF.useMemo)(()=>o?.signal??n?.signal??s.signal,[n?.signal,o?.signal,s.signal]),l=(0,rF.useCallback)(e=>tP(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:a}),[a,o,r]);return ir()(e,l,i)}function ss(e=[],t=10){let[n,o]=(0,rF.useState)(1),r=(0,rF.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),s=(0,rF.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),a=(0,rF.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,rF.useCallback)(()=>{o(e=>e+1)},[]),c=(0,rF.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,rF.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function sa(e,t,n,o){return{pageSizes:(0,rF.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rF.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function sl(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function sc(e){let[t,n]=(0,rF.useState)(e??sl()),{data:o,error:r,isValidating:i}=ir()(t?["patient",t]:null,()=>nH(t,{}));return(0,rF.useEffect)(()=>{let e=()=>{let e=sl();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rF.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function su(){let e=`${tk}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=ir()(e,tP);return(0,rF.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function sd(e,t,n,o){let r=e?.slotName===t&&e.slotModuleName===n?e.components:null,i=new Map;for(let e of o)i.set(e,r?.get(e)??function(e,t,n){let o=rc(n),r=e=>e.extensions[o]?.meta,i=({state:o})=>{let i=rY(oF(),r),s=(0,rF.useMemo)(()=>({moduleName:t,featureName:"",extension:{extensionId:n,extensionSlotName:e,extensionSlotModuleName:t,extensionMeta:i}}),[i]);return(0,rz.jsx)(rV.Provider,{value:s,children:(0,rz.jsx)(rq,{state:o})})};return i.displayName=`RenderableExtension(${n})`,i}(t,n,e));return{slotName:t,slotModuleName:n,components:i}}function sm(e){let{extensions:t,extensionSlotModuleName:n}=r8(e),o=(0,rF.useMemo)(()=>new Set(e?t.map(e=>e.id):[]),[e,t]),[r,i]=(0,rF.useState)(()=>sd(null,e,n,o)),s=r;return r.slotName===e&&r.slotModuleName===n&&r.components.size===o.size&&[...o].every(e=>r.components.has(e))||i(s=sd(r,e,n,o)),(0,rF.useMemo)(()=>e?t.flatMap(e=>{let t=s.components.get(e.id);return t?[t]:[]}):[],[e,t,s])}function sp(){let e=(0,rF.useRef)(),[t,n]=(0,rF.useState)(null),o=null;if(!t){if(i){let e=tM().getState();e.loaded&&(o=e.session)}else i=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tM().getState()),o||(e.current=tM().subscribe(n))});if(o)n(o);else throw i}(0,rF.useEffect)(()=>(e.current||(e.current=tM().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let r=t||o;if(!r)if(i)throw console.warn("useSession is in an unexpected state. Attempting to recover."),i;else throw Error("useSession is in an invalid state.");return r}let sf=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,rF.useState)(null);return((0,rF.useEffect)(()=>{let e=tM(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:n,session:o}=e.getState();return n&&r(o?.user??null),t},[]),o&&tU(e,o))?(0,rz.jsx)(rz.Fragment,{children:n}):t?(0,rz.jsx)(rz.Fragment,{children:t}):null};var sg=n(4343),sh=n.n(sg),sw=n(3355);let s_=new Map;function sy(){for(let e of Array.from(s_.values()))e()}let sv={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sb(e){let t=(0,rF.useId)();return(0,rF.useEffect)(()=>{if(e)return s_.set(t,e),()=>{s_.delete(t)}},[t,e]),{...rZ(n1(),sv),mutateVisit:sy}}function sx(e,t=nQ){let n=(0,rF.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sb((0,rF.useCallback)(()=>n.current?.(),[])),s=e&&o==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=ir()(e?`${tk}/visit${a}`:null,tP),{data:p,error:f,mutate:g,isValidating:h}=ir()(e&&s?`${tk}/visit${l}`:null,tP),w=(0,rF.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,rF.useMemo)(()=>s&&p?p.data:null,[p,s]),y=(0,rF.useRef)(null);(0,rF.useEffect)(()=>{!m&&w&&o===e&&null===r&&i(w),h||(y.current&&_&&y.current.uuid===_.uuid&&!y.current.stopDatetime&&_.stopDatetime&&i(null),y.current=_)},[_,r,w,m,h,o]);let v=(0,rF.useCallback)(()=>{d(),g()},[d,g]);(0,rF.useEffect)(()=>{n.current=v},[v]);let b=!!(!c||s&&!p),x=!!(s?f:u);return{error:u||f,mutate:v,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!s,isLoading:b&&!x}}sg.extend(sw);let sS=[];function sj(){let{data:e}=iW()(nK,nX);return e??sS}let sk=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 np(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 sk)await sk[e];else{let n=t??await np(e);await (sk[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eO(e),t(null)}).catch(o)}eO(e),t(null)}))}}function sP(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(rm({name:n,load:()=>
|
|
20
|
+
To fix this, ensure that you define a 'component' field inside the extension definition.`,t);for(let r of(rm({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))rp(r,n)}let sI=[];function sO(e,t){o0(()=>(function(e,t){if(e&&t&&"object"==typeof t){eI(e);let n=t.extensions??[],o=t.modals??[],r=t.featureFlags??[],i=t.workspaceGroups2??[],s=t.workspaceWindows2??[],a=t.workspaces2??[];t.pages?.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"component")&&(Object.hasOwn(t,"route")||Object.hasOwn(t,"routeRegex")||Object.hasOwn(t,"routes"))?sI.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")?sP(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?rk({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.
|
|
21
21
|
To fix this, ensure that you define a 'component' field inside the modal definition.`,t):console.error(`A modal definition in ${e} is missing an name and thus cannot be
|
|
22
22
|
registered. To fix this, ensure that you define the "name" field inside the
|
|
23
|
-
modal definition.`,t)}else console.warn(`A modal for ${e} could not be registered as it does not appear to have the required properties`,t)}),(Object.hasOwn(t,"workspaces")||Object.hasOwn(t,"workspaceGroups"))&&console.warn(`${e} defines workspaces or workspaceGroups in its routes.json, which are no longer supported and won't be registered. Use workspaces2, workspaceWindows2 and workspaceGroups2 instead.`),rO(e,i);for(let t of(rA(e,s),s))t.icon&&
|
|
23
|
+
modal definition.`,t)}else console.warn(`A modal for ${e} could not be registered as it does not appear to have the required properties`,t)}),(Object.hasOwn(t,"workspaces")||Object.hasOwn(t,"workspaceGroups"))&&console.warn(`${e} defines workspaces or workspaceGroups in its routes.json, which are no longer supported and won't be registered. Use workspaces2, workspaceWindows2 and workspaceGroups2 instead.`),rO(e,i);for(let t of(rA(e,s),s))t.icon&&sP(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});rR(e,a),r.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?oT(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
|
|
24
24
|
To fix this, ensure that you define the "description" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
|
|
25
25
|
To fix this, ensure that you define the "label" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a name and thus cannot be registered.
|
|
26
|
-
To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function
|
|
26
|
+
To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function sA(){sI.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sI){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let n=e.get(t.appName),o=`${t.appName}-page-${n}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),s=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=s,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let n=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===n)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
|
|
27
27
|
To fix this, ensure that you define the "route" (or alternatively the "routeRegex") field inside the extension definition.`,e);if(!t.component)return console.warn(`A registered page definition is missing a component and thus cannot be registered.
|
|
28
|
-
To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{featureFlag:t}){return t?n=>!!oM(t)&&e(n):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,ta.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,ta.AG)(e,()=>sk(t.appName,t.component),o)}(o,t)}}let sA={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 sR(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sA.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sA.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sA.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sA.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sA.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sA.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sA.SMALL_DESKTOP_MAX)}let sT=!1;function s$(){sT||(window.addEventListener("resize",sR),sR(),sT=!0)}var sM=n(5530),sL=n.n(sM);function sW({title:e,children:t}){let n="tablet"===i3();return(0,rG.jsxs)("div",{className:sL()({"-esm-implementer-tools__card-header-module__tabletHeader___Vkmd-":n,"-esm-implementer-tools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,rG.jsx)("h4",{children:e}),t]})}let sD=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sU={primaryColor:{_type:G.String,_description:"The color for displaying primary diagnoses tags",_default:"blue",_validators:[e7.oneOf(sD)]},secondaryColor:{_type:G.String,_description:"The color for displaying secondary diagnoses tags",_default:"gray",_validators:[e7.oneOf(sD)]}},sB={"Brand color #1":{_default:"#005d5d",_type:G.String},"Brand color #2":{_default:"#004144",_type:G.String},"Brand color #3":{_default:"#007d79",_type:G.String},excludePatientIdentifierCodeTypes:{uuids:{_type:G.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:G.UUID}}},implementationName:{_type:G.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},logo:{src:{_type:G.String,_default:"",_description:"The path or URL to the logo shown on the login page and while the server is starting up. If set to an empty string, the default OpenMRS logo is used.",_validators:[e7.isUrl]},alt:{_type:G.String,_default:"Logo",_description:"The alternative text for the logo image, displayed when the image cannot be loaded or on hover."}},patientPhotoConceptUuid:{_type:G.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:G.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e7.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:G.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:G.String}},diagnosisTags:sU};var sF=n(8326);let sH={"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,rG.jsx)(sF.TableBatchActions,{translateWithId:(e,t)=>{let n=sH[e];return n?tm(n,e,t):e},...e}),sG="-esm-implementer-tools__custom-overflow-menu-module__container___8PykS",sz="-esm-implementer-tools__custom-overflow-menu-module__menu___qsOLn",sq="-esm-implementer-tools__custom-overflow-menu-module__show___BserJ",sJ="-esm-implementer-tools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sK=(0,rF.createContext)(null);function sX(){let e=(0,rF.useContext)(sK);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sY({menuTitle:e,children:t}){let[n,o]=rH().useState(!1),r=so(()=>o(!1),n),i="tablet"===i3(),s=(0,rF.useCallback)(()=>o(e=>!e),[]),a=(0,rF.useRef)(null),l=(0,rF.useRef)(null),c=(0,rF.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rF.useCallback)(()=>{o(!1),a.current?.focus()},[]),p=(0,rF.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rF.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=rF.Children.toArray(t);(0,rF.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,rF.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,s=i<0?n.length-1:i>=n.length?0:i;n[s]?.focus()},[]),w=g.map((e,t)=>(0,rF.isValidElement)(e)?(0,rF.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,rG.jsxs)("div",{"data-overflow-menu":!0,className:sL()("cds--overflow-menu",sG),ref:r,children:[(0,rG.jsx)("button",{className:sL()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sJ),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:f,ref:a,children:e}),(0,rG.jsxs)("div",{className:sL()("cds--overflow-menu-options","cds--overflow-menu--flip",sz,{[sq]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,rG.jsx)("ul",{className:sL()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,rG.jsx)(sK.Provider,{value:p,children:w})}),(0,rG.jsx)("span",{})]})]})}function sZ(e){let t=(0,rF.useContext)(sK);return(0,rG.jsx)(sF.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sQ=n(2277),s0=n(4194);let s1=["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"],s2=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),s5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),ae=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),at=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),an=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),ao=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),ar=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),ai=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),as=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),aa=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),al=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),ac=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),au=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),ad=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),am=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),ap=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),af=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-close",iconProps:e})})),ag=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),ah=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),aw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-document",iconProps:e})})),a_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),ay=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-download",iconProps:e})})),av=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),ab=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),ax=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),aS=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-events",iconProps:e})})),aj=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),ak=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),aN=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),aC=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),aE=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),aP=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aI=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aO=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),aA=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aR=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-information",iconProps:e})})),aT=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),a$=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aM=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),aL=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),aW=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),aD=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aU=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aB=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aF=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),aH=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),aV=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aG=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),az=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aq=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aJ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),aK=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aX=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aY=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-password",iconProps:e})})),aZ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),aQ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),a0=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),a1=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),a2=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),a5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),a6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),a8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-save",iconProps:e})})),a7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-search",iconProps:e})})),a9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),le=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),lt=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),ln=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),lo=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),lr=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),li=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),ls=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-table",iconProps:e})})),la=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-time",iconProps:e})})),ll=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),lc=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),lu=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),ld=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),lm=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lp=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lf=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),lg=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lh=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-user",iconProps:e})})),lw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),l_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-view",iconProps:e})})),ly=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(lN,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lv=ly,lb=a_,lx=aW,lS=aA,lj=ln,lk=(0,rF.memo)((0,rF.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,rF.useRef)(e?document.getElementById(e):void 0);return(0,rF.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,rG.jsx)(iS,{value:r.current,fallback:t,children:(0,rG.jsx)(lN,{ref:o,icon:e,iconProps:n})})})),lN=(0,rF.memo)((0,rF.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rF.useRef)(null);return(0,rF.useImperativeHandle)(n,()=>s.current),(0,rF.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,rG.jsx)("svg",{ref:s,className:sL()("omrs-icon","-esm-implementer-tools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,rG.jsx)("use",{href:`#${e}`})})})),lC=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,it.useTranslation)(),i=(0,sQ.zy)(),s=(0,rF.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,rG.jsx)("div",{children:(0,rG.jsx)(rz,{className:sL()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${n}/${encodeURIComponent(e)}`,children:(0,rG.jsxs)("span",{className:"-esm-implementer-tools__dashboard-module__menu___ds1tf",children:[(0,rG.jsx)(lk,{icon:o,className:"-esm-implementer-tools__dashboard-module__icon___4Zrrh",size:16}),(0,rG.jsx)("span",{children:r(t)})]})})},e)};function lE(e){return function({basePath:t}){return(0,rG.jsx)(s0.Kd,{children:(0,rG.jsx)(lC,{basePath:t,...e})})}}var lP=n(7715),lI=n(7532),lO=n(3692),lA=n(7615),lR=n(700),lT=n(6816),l$=n(1168);function lM(e){return rH().createElement(l$.C,e)}var lL=n(3010),lW=n(6513),lD=n(6190);function lU(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 lL.ng||e instanceof lL._l||e instanceof lL.Ip)return t?(0,lW.yP)(e,t):e;{let n=sg()(e).toDate(),o=new lL.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,lW.yP)(o,t):o}}function lB(e){if(e)return e.toDate((0,lD.Xj)())}var lF=n(9002);function lH(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=lH(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function lG(){let e=window.i18next.language,t=lH(e)??e;return"ht"===t&&(t="fr-HT"),t}var lz=n(7883),lq=n(424),lJ=n(1492),lK=n(8271);function lX(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}sf.extend(sh),sf.extend(lJ),sf.extend(lq);let lY="YYYY-MM-DDTHH:mm:ss.SSSZZ",lZ=/^(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?$/;function lQ(e,t){let n=lZ.exec(e);if(!n)return(0,lz.CD)(e,t);let o=Number(n[1]),r=void 0===n[2]?void 0:Number(n[2]),i=void 0===n[3]?void 0:Number(n[3]),s=new Date(0);return(s.setUTCFullYear(o,(r??1)-1,i??1),s.getUTCFullYear()!==o||s.getUTCMonth()!==(r??1)-1||s.getUTCDate()!==(i??1))?{invalid:`Invalid ISO calendar date '${e}'`}:{year:o,...void 0!==r&&{month:r},...void 0!==i&&{day:i}}}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])&&sf(e,lY).isValid()}function l1(e){return sf(e).isToday()}function l2(e){return l0(e)?sf(e,lY).toDate():null}function l5(e,t=!1){let n=sf(e);return t&&(n=n.utc()),n.format(lY)}function l6(e){return sf(e).toDate()}var l8=new WeakMap;let l4=new class{register(e,t){lX(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(lX(this,l8).has(t))return lX(this,l8).get(t)}if(e.language&&lX(this,l8).has(e.language))return lX(this,l8).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lX(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 l3(e,t){l4.register(e,t)}function l7(e){let t=e??lG();return l4.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=lQ(e,lG());if(n.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lK.A)(n.day)&&(0,lK.A)(n.month)&&(n=Object.assign({},(0,H.A)(n,"day"),{month:n.day})),n.month&&(n.month-=1),n.day&&(n=Object.assign({},(0,H.A)(n,"day"),{date:n.day}));let o=sf().set(n).toDate();return(0,lK.A)(n.year)&&(t.year=!1),(0,lK.A)(n.month)&&(t.month=!1),(0,lK.A)(n.date)&&(t.day=!1),ct(o,t)}function ct(e,t){let n,o=t?.locale??lG(),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=sf(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(lG(),{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,lW.yP)(e,(0,lF.d)(n)):e}function cs(e,t){return new Intl.DurationFormat(lG(),t).format(e)}function ca(e,t){if(null==e)return null;if("string"==typeof e){let n=lQ(e,lG());return n.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(n.day&&!n.month&&(n={...(0,H.A)(n,"day"),...{month:n.day}}),n.month&&(n.month-=1),n.day&&(n={...(0,H.A)(n,"day"),...{date:n.day}}),sf(t).set(n))}return sf(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=sf(),n){let o,r=sf(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=sf(),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,rF.createContext)(null);function cg(){let e=iT({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rF.useMemo)(()=>{let t=lG();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,rF.useMemo)(()=>{let e=l7(t);return void 0!==e?(0,lF.d)(e):void 0},[t]),o=(0,rF.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,rF.useMemo)(()=>n?(0,lW.yP)((0,lD.Ec)((0,lD.Xj)()),n):(0,lD.Ec)((0,lD.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let ch=new lL.ng(1793,1,1);var cw=n(5830),c_=n(5354),cy=n(4745),cv=n(1202);function cb(e,t){return Number.parseInt(ct(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cx=(0,rF.forwardRef)(function(e,t){let{className:n}=e,o=(0,rF.useContext)(cw.f2),r=(0,rF.useContext)(cw._I),i=o??r,s=(0,rF.useContext)(cf),a=(0,lD.Xj)(),l=ct(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=cb(i.visibleRange.start.toDate(a),s),u=i.maxValue?cb(i.maxValue.toDate(a),s):void 0,d=i.minValue?cb(i.minValue.toDate(a),s):void 0,m=(0,rF.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,rG.jsxs)("span",{ref:t,className:n,children:[(0,rG.jsx)("span",{children:l}),(0,rG.jsxs)(cy.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,rG.jsx)(cv.p,{}),(0,rG.jsxs)(lA.Y,{children:[(0,rG.jsx)(lR.$,{slot:"increment",children:(0,rG.jsx)(ar,{size:8})}),(0,rG.jsx)(lR.$,{slot:"decrement",children:(0,rG.jsx)(at,{size:8})})]})]})]})});var cS=n(9588);let cj="-esm-implementer-tools__datepicker-module__inputGroup___+4zks",ck="-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",cP="-esm-implementer-tools__datepicker-module__flatButtonMd___fhR-1",cI="-esm-implementer-tools__datepicker-module__flatButtonSm___5INZ7",cO="-esm-implementer-tools__datepicker-module__flatButtonLg___RFMrl";function cA({children:e}){let t=(0,rF.useContext)(lI.Pg),n=(0,rF.useContext)(lI.a8),o=t??n,r=so(()=>o?.close());return(0,rG.jsx)(cS.lG,{className:"-esm-implementer-tools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cR=(0,rF.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,s=i?cw._e:cw.Vv;return(0,rG.jsx)(c_.A,{ref:r,className:"-esm-implementer-tools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,rG.jsx)(cA,{children:(0,rG.jsxs)(s,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,rG.jsxs)("header",{className:"-esm-implementer-tools__datepicker-module__header___WAVlD",children:[(0,rG.jsx)(lR.$,{className:sL()(cE,cP),slot:"previous",children:(0,rG.jsx)(ad,{size:16})}),(0,rG.jsx)(cx,{className:"-esm-implementer-tools__datepicker-module__monthYear___A3aKF"}),(0,rG.jsx)(lR.$,{className:sL()(cE,cP),slot:"next",children:(0,rG.jsx)(am,{size:16})})]}),(0,rG.jsx)(cw.r8,{className:"-esm-implementer-tools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,rG.jsx)(cw.Zr,{className:sL()("cds--date-picker__day",{"-esm-implementer-tools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cT=n(8017),c$=n(9774),cM=n(7956);let cL=(0,rF.forwardRef)(function(e,t){let n=(0,rF.useContext)(lI.Pg),[o,r]=(0,lP.JT)({slot:e.slot},t,c$.cQ),{locale:i}=(0,l$.Y)(),s=(0,cM.F)({...o,locale:i,createCalendar:lF.d}),a=(0,rF.useRef)(null),{fieldProps:l,inputProps:c}=(0,cT.cJ)({...o,inputRef:a},s,r),u=(0,rF.useCallback)(()=>{s.isDisabled||n.toggle()},[]);return(0,rG.jsxs)(lP.Kq,{values:[[c$.$,s],[cv.E,{...c,ref:a}],[lA.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,rG.jsx)(lA.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,n)=>(0,rF.cloneElement)(e.children(t),{key:n}))}),(0,rG.jsx)(cv.p,{})]})}),cW=(0,rF.forwardRef)(function(e,t){let n=(0,rF.useContext)(lI.Pg),o=(0,rF.useContext)(lI.a8);return(n??o).isInvalid?(0,rG.jsx)(ly,{ref:t,size:16,...e}):(0,rG.jsx)(ae,{ref:t,size:16,...e})});var cD=n(64),cU=n(5503),cB=n(1697),cF=n(7866),cH=n(8035),cV=n(2231);let cG=(0,rF.forwardRef)(function({segment:e,...t},n){let o=(0,rF.useContext)(c$.$),r=(0,cD.U)(n),{segmentProps:i}=(0,cU.V)(e,o,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,cB.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,rF.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof n?n({...a,defaultStyle:s||{}}):n,c="function"==typeof o?o({...a,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rF.useCallback)(e=>{e.stopPropagation()},[]);return(0,rG.jsx)("span",{...(0,cH.v)((0,cV.$)(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})}),cz={short:!1,size:"md"},cq=(0,rF.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:s,isInvalid:a,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:p,onChangeRaw:f,short:g,size:h,value:w,..._}={...cz,...e},{calendar:y,intlLocale:v,today_:b}=cg(),x=(0,rF.useId)(),S=!!(c??l),j=(0,rF.useMemo)(()=>lU(o,y),[o,y]),k=(0,rF.useMemo)(()=>lU(w,y,!0),[w,y]),N=(0,rF.useMemo)(()=>lU(d,y),[d,y]),C=(0,rF.useMemo)(()=>lU(m??ch,y),[m,y]),E=(0,rF.useMemo)(()=>i||a,[i,a]),P=(0,rF.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?.(lB(e)))),[f,p]);return(0,rG.jsx)(lM,{locale:v.toString(),children:(0,rG.jsx)("div",{className:sL()("cds--form-item",n),children:(0,rG.jsx)(lP.Kq,{values:[[cf,v]],children:(0,rG.jsxs)(lI.lr,{className:sL()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:j,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:k,shouldForceLeadingZeros:"en"===v.language||void 0,..._,onChange:P,children:[(0,rG.jsxs)("div",{className:"cds--date-picker-container",children:[S&&(0,rG.jsx)(lO.J,{className:sL()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,rG.jsxs)(lA.Y,{className:cj,children:[(0,rG.jsx)(cL,{id:S?x:void 0,ref:t,className:sL()("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,rG.jsx)(cG,{className:ck,segment:e}):(0,rG.jsx)(rH().Fragment,{})}),(0,rG.jsx)(lR.$,{className:sL()(cE,{[cI]:"sm"===h,[cP]:"md"===h||!h||0===h.length,[cO]:"lg"===h}),children:(0,rG.jsx)(cW,{})})]}),(0,rG.jsx)(lT.b,{className:cC,children:s})]}),(0,rG.jsx)(cR,{variant:"single",today_:b})]})})})})}),cJ=(0,rF.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:p="md",value:f,...g},h){let{calendar:w,intlLocale:_,today_:y}=cg(),v=(0,rF.useId)(),b=!!(a??s),x=(0,rF.useMemo)(()=>{if(f)return{start:lU(f[0],w,!1),end:lU(f[1],w,!1)}},[f,w]),S=(0,rF.useMemo)(()=>{if(t)return{start:lU(t[0],w,!1),end:lU(t[1],w,!1)}},[t,w]),j=(0,rF.useMemo)(()=>lU(u??ch,w,!0),[u,w]),k=(0,rF.useMemo)(()=>lU(c,w,!0),[c,w]),N=(0,rF.useMemo)(()=>n||i,[n,i]),C=(0,rF.useMemo)(()=>(m&&d&&console.error("An OpenmrsDateRangePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),m??(e=>d?.([lB(e.start),lB(e.end)]))),[m,d]);return(0,rG.jsx)(lM,{locale:_.toString(),children:(0,rG.jsx)("div",{className:sL()("cds--form-item",e),children:(0,rG.jsx)(lP.Kq,{values:[[cf,_]],children:(0,rG.jsx)(lI.Ur,{id:b?v:void 0,className:sL()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:k,minValue:j,value:x,defaultValue:S,ref:h,isDisabled:r,...g,onChange:C,children:(0,rG.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,rG.jsx)(lO.J,{className:sL()("cds--label",{"cds--label--disabled":r}),htmlFor:v,children:a??s}),(0,rG.jsxs)(lA.Y,{className:cj,children:[(0,rG.jsxs)("div",{className:sL()("-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,rG.jsx)(c$.J3,{className:sL()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__startInput___qgbQm",cN),slot:"start",children:e=>(0,rG.jsx)(cG,{className:ck,segment:e})}),(0,rG.jsx)("div",{className:"-esm-implementer-tools__datepicker-module__separator___79vXZ",children:(0,rG.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,rG.jsx)(c$.J3,{className:sL()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__endInput___huv7x",cN),slot:"end",children:e=>(0,rG.jsx)(cG,{className:ck,segment:e})})]}),(0,rG.jsx)(lR.$,{className:sL()(cE,{[cI]:"sm"===p,[cP]:"md"===p||!p||0===p.length,[cO]:"lg"===p}),children:(0,rG.jsx)(cW,{})})]}),(0,rG.jsx)(lT.b,{className:cC,children:o}),(0,rG.jsx)(cR,{variant:"range",today_:y,minDate:j,maxDate:k})]})})})})})});var cK=n(9606);let cX=({diagnoses:e,showCertainty:t=!1})=>{let{diagnosisTags:n}=iT({externalModuleName:"@openmrs/esm-styleguide"});return(0,rG.jsx)("div",{className:"-esm-implementer-tools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let o=t&&"PROVISIONAL"===e.certainty,r=1===e.rank?n?.primaryColor??"blue":n?.secondaryColor??"gray";return(0,rG.jsx)(cY,{color:r,isProvisional:o,name:e.display},e.uuid)})})};function cY({color:e,isProvisional:t,name:n}){let[o,r]=(0,rF.useState)(!1),[i,s]=(0,rF.useState)(!1),[a,l]=(0,rF.useState)(!1),c=a||i,u=(0,rF.useRef)(null);(0,rF.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=()=>{let t=e.scrollWidth>e.clientWidth;l(t),t||r(!1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[n,t,c]);let d=sL()("cds--tag","cds--tag--md","cds--layout--size-md",`cds--tag--${e}`,"-esm-implementer-tools__diagnosis-tags-module__diagnosisTag___PFhpl"),m=(0,rG.jsxs)(rG.Fragment,{children:[t&&(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsx)("span",{"aria-hidden":"true",className:"-esm-implementer-tools__diagnosis-tags-module__provisionalMark___8o6l4",children:"?"}),(0,rG.jsxs)("span",{className:"cds--visually-hidden",children:[tm("provisional","Provisional")," "]})]}),(0,rG.jsx)("span",{ref:u,className:"cds--tag__label",children:n})]});return c?(0,rG.jsxs)(cK.k$,{delay:0,closeDelay:150,isOpen:o,onOpenChange:r,children:[(0,rG.jsx)(lR.$,{className:d,"data-testid":"diagnosis-tag",onFocusChange:s,onPress:()=>r(!0),children:m}),(0,rG.jsx)(cK.m_,{className:"-esm-implementer-tools__diagnosis-tags-module__tagTooltip___asRTH",placement:"bottom",offset:4,containerPadding:8,children:n})]}):(0,rG.jsx)("span",{className:d,"data-testid":"diagnosis-tag",children:m})}let cZ={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"},cQ=({width:e="64",height:t="64"})=>(0,rG.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,rG.jsx)("use",{href:"#omrs-empty-data-illustration"})}),c0=e=>{let t="tablet"===i3(),n=e.launchForm;return(0,rG.jsx)(sF.Layer,{className:cZ.layer,children:(0,rG.jsxs)(sF.Tile,{className:cZ.tile,children:[(0,rG.jsx)("div",{className:t?cZ.tabletHeading:cZ.desktopHeading,children:(0,rG.jsx)("h4",{children:e.headerTitle})}),(0,rG.jsx)(cQ,{}),(0,rG.jsx)("p",{className:cZ.content,children:tm("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,rG.jsx)("p",{className:cZ.action,children:n&&(0,rG.jsx)(sF.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tm("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},c1=({error:e,headerTitle:t})=>{let n="tablet"===i3();return(0,rG.jsx)(sF.Layer,{children:(0,rG.jsxs)(sF.Tile,{className:"-esm-implementer-tools__error-state-module__tile___dd418",children:[(0,rG.jsx)("div",{className:n?"-esm-implementer-tools__error-state-module__tabletHeading___g5rjg":"-esm-implementer-tools__error-state-module__desktopHeading___Nd9u2",children:(0,rG.jsx)("h4",{children:t})}),(0,rG.jsxs)("p",{className:"-esm-implementer-tools__error-state-module__errorMessage___z2RiN",children:[tm("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,rG.jsx)("p",{className:"-esm-implementer-tools__error-state-module__errorCopy___dq+e2",children:tm("errorCopy")})]})})},c2=c1,c5=rH().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=se(),s=window.location??{pathname:""},a=r6(n??"");return e.isChildOfHeader&&n&&a.length>0?(0,rG.jsxs)(sF.SideNav,{"aria-label":tm("leftNavigation","Left navigation"),className:"-esm-implementer-tools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,rG.jsx)(r3,{name:"global-nav-menu-slot"}),n?(0,rG.jsx)(iS,{value:r,fallback:(0,rG.jsx)(r3,{name:n,state:{basePath:o,currentPath:s,...i}}),children:(0,rG.jsx)(rV.Provider,{value:r,children:(0,rG.jsx)(r3,{name:n,state:{basePath:o,currentPath:s,...i}})})}):null]}):null}),c6=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,s]=(0,rF.useState)(""),a=(0,rF.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=iW()(t,tP,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rF.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:p,setPage:f}=function(e,t=0,n=""){let o=iM(n),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=iQ()(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tN}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),n&&s.append("_getpagesoffset",""+n*t),e&&s.append("_tag",e),"string"==typeof o&&""!==o&&s.append("name:contains",o),i+s.toString()},tP);return(0,rF.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(n,o,i),g=(0,rF.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rF.useCallback)(e=>{r(),s(e.trim())},[r]),w=sr((0,rF.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsx)(sF.Search,{"aria-describedby":p?`${a}-error`:void 0,labelText:tm("searchForLocation"),id:a,placeholder:tm("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,rG.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,rG.jsx)(sF.InlineNotification,{kind:"error",subtitle:tm("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tm("error","Error")})}),(0,rG.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__searchResults___Gbet+",children:u?(0,rG.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,rG.jsx)(sF.RadioButtonSkeleton,{className:"-esm-implementer-tools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,rG.jsx)(sF.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,rG.jsx)(sF.RadioButton,{className:"-esm-implementer-tools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,rG.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,rG.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__emptyState___w4-Ca",children:(0,rG.jsx)("p",{className:"-esm-implementer-tools__location-picker-module__locationNotFound___Of2MJ",children:tm("noResultsToDisplay")})})}),m&&(0,rG.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingIcon___NAwSB",children:(0,rG.jsx)(sF.InlineLoading,{description:tm("loading")})})]})})]})},c8=R("modalState",{modalContainer:null,modalStack:[]}),c4=0;async function c3(e,t,n={}){let o=rN(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,s=await i(),a=c4++;r=await rW({...s,name:`${t}-${a}`},{...n,domElement:e})}else y(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c7(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function c9(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function ue(e){return e.find(e=>!c7(e))}function ut(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let un=window.getComputedStyle(document.body).overflow;function uo({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",ui),document.body.style.overflow="hidden",t.style.visibility="unset");let n=ue(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",c3(n,e.modalName,e.props).then(o=>{c7(e)?c9(e.modalName,o):o?(e.parcel=o,t.prepend(n),ut(e,ue(c8.getState().modalStack)===e),o.mountPromise.then(()=>{c7(e)||(e.state="MOUNTED")},t=>{y(t),e.parcel=null,ur(e)})):ur(e)},t=>{y(t),ur(e)});break}case"MOUNTING":case"MOUNTED":ut(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),c9(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=c8.getState();c8.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=un,removeEventListener("keydown",ui)}function ur(e){if(c7(e))return;e.state="TO_BE_DELETED";let t=c8.getState();c8.setState({...t,modalStack:[...t.modalStack]})}function ui(e){"Escape"===e.key&&function(){let[e]=c8.getState().modalStack;e&&ur(e)}()}function us(e){c8.subscribe(uo),c8.setState({...c8.getState(),modalContainer:e})}function ua(e,t={},n=()=>{}){let o=()=>{let e=c8.getState().modalStack.find(e=>e.onClose===n);e&&ur(e)};if(rN(e)){var r;let i,s;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},s=[r,...(i=c8.getState()).modalStack],c8.setState({...i,modalStack:s})}else y(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}var ul=n(9685);let uc=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:s}=e;return(0,rG.jsx)(sF.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},uu=({subject:e})=>{let[t,n]=(0,rF.useState)([]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,rG.jsx)(rG.Fragment,{children:t.map(e=>(0,rG.jsx)(uc,{notification:e},e.id))})},ud=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rF.useState)(t);return(0,rG.jsx)(sF.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tm("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),a&&d(a)},statusIconDescription:tm("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:s,inline:!0,...c})},um=({subject:e})=>{let[t,n]=(0,rF.useState)([]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,rG.jsx)(rG.Fragment,{children:t.map(e=>(0,rG.jsx)(ud,{notification:e},e.id))})};class up{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 uf=new up,ug=0,uh=new up,uw=0;function u_(e){e&&(0,r7.createRoot)(e).render((0,rG.jsx)(uu,{subject:uf}))}function uy(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,ul.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{uf.next({...e,id:ug++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function uv(e){e&&(0,r7.createRoot)(e).render((0,rG.jsx)(um,{subject:uh}))}function ub(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,ul.A)(t))?setTimeout(()=>{uh.next({...e,id:uw++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let ux=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],uS=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uj={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,rF.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tk}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tk}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=iW()(n,tP),s=o?.data?.results?.[0];return{referenceRange:s?{hiNormal:s.hiNormal??null,hiAbsolute:s.hiAbsolute??null,hiCritical:s.hiCritical??null,lowNormal:s.lowNormal??null,lowAbsolute:s.lowAbsolute??null,lowCritical:s.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,a),d=r??c,m=(0,rF.useMemo)(()=>{if(o)return o?"--"===o?"normal":ux.includes(o)?o.toLowerCase():uS.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}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,y=_?e:tm("notAvailable","Not available"),v=sL()({[uj["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uj["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uj.low]:"low"===m,[uj.high]:"high"===m,[uj["off-scale-low"]]:"off_scale_low"===m,[uj["off-scale-high"]]:"off_scale_high"===m}),b=sL()({[uj.container]:!0,[uj.card]:!0,[uj["critical-value"]]:p,[uj["abnormal-value"]]:f&&!p}),x=sL()({[uj.cell]:!0,[v]:!0});return"cell"===s?(0,rG.jsxs)("div",{className:x,children:[y,_&&t?` ${t}`:""]}):(0,rG.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,rG.jsxs)("div",{className:uj["label-container"],children:[(0,rG.jsx)("span",{id:g,className:uj.label,children:n}),f&&(0,rG.jsx)("span",{className:uj[m.replace("_","-")],title:tm("abnormalValue","Abnormal value")})]}),(0,rG.jsxs)("div",{className:uj["value-container"],children:[(0,rG.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:uj.value,children:y}),_&&t&&(0,rG.jsx)("span",{id:w,className:uj.units,children:t})]})]})},uN="-esm-implementer-tools__page-header-module__pageHeader___YOpQL",uC=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,rG.jsx)("div",{className:sL()(uN,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,rG.jsx)("div",{className:sL()(uN,o),...r,children:(0,rG.jsx)(uE,{title:t,illustration:n})})}},uE=({title:e,illustration:t,className:n})=>{let[o,r]=(0,rF.useState)(null);return(0,rF.useEffect)(()=>{eM("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,rG.jsxs)("div",{className:sL()("-esm-implementer-tools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,rG.jsxs)("div",{className:"-esm-implementer-tools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,rG.jsx)("p",{children:tm(o.implementationName)}),(0,rG.jsx)("h1",{className:"-esm-implementer-tools__page-header-module__pageName___3d4IC",children:e})]})]})},uP=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=sa(t,e,o,i),c="tablet"===i3(),u=tm("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,rG.jsx)(rG.Fragment,{children:e>0&&(0,rG.jsxs)("div",{className:sL()({"-esm-implementer-tools__pagination-module__tablet___lQ3ak":c,"-esm-implementer-tools__pagination-module__desktop___HfUTY":!c}),children:[(0,rG.jsxs)("div",{children:[u,r&&(0,rG.jsx)(rz,{to:r,className:"-esm-implementer-tools__pagination-module__configurableLink___NM9v7",children:s??tm("seeAll","See all")})]}),(0,rG.jsx)(sF.Pagination,{className:"-esm-implementer-tools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:a,totalItems:e,onChange:n,pageRangeText:(e,t)=>tm("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uI(e){return uA(uT(e,"usual","official"))}function uO(e){return uI(e)}function uA(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function uR(e){return uA(e)}function uT(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 u$(e,t=sf()){let n=sf(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 uM(e,t=sf()){let n=u$(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 uL={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 uW({showIdentifierLabel:e,type:t,value:n}){return(0,rG.jsx)("span",{className:uL.primaryIdentifier,children:(0,rG.jsxs)(sF.Tag,{className:uL.tag,type:"gray",children:[e&&t?.text&&(0,rG.jsxs)("span",{className:uL.label,children:[t.text,": "]}),(0,rG.jsx)("span",{className:uL.value,children:n})]})})}function uD({showIdentifierLabel:e,type:t,value:n}){return(0,rG.jsxs)(sF.FormLabel,{className:uL.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,rG.jsxs)("span",{className:uL.label,children:[t?.text,": "]}),(0,rG.jsx)("span",{className:uL.value,children:n})]})}function uU({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=iT(),{primaryIdentifierCode:o}=su(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,rG.jsx)(rG.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,rG.jsxs)(rH().Fragment,{children:[(0,rG.jsx)("span",{className:uL.identifier,children:n?.coding?.[0]?.code===o?(0,rG.jsx)(uW,{showIdentifierLabel:t,type:n,value:e}):(0,rG.jsx)(uD,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,rG.jsx)("span",{className:uL.separator,children:"\xb7"})]},e)):""})}let uB={Female:aj,Male:ak,Other:aN,Unknown:aC},uF=({gender:e})=>{let t=uB[e];return t?(0,rG.jsx)(t,{fill:"#525252"}):null},uH={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uV({patient:e,renderedFrom:t}){var n;let o,r,i=uI(e),s=e?.gender&&(r=uH[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tm(o,n),iconKey:r}),a=(0,rF.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,rG.jsxs)("div",{className:uL.patientInfo,children:[(0,rG.jsx)("div",{className:sL()(uL.row,uL.patientNameRow),children:(0,rG.jsxs)("div",{className:uL.flexRow,children:[(0,rG.jsx)("span",{className:uL.patientName,children:i}),s&&(0,rG.jsxs)("div",{className:uL.gender,children:[(0,rG.jsx)(uF,{gender:s.iconKey}),(0,rG.jsx)("span",{children:s.displayText})]}),(0,rG.jsx)(r3,{className:uL.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,rG.jsxs)("div",{className:uL.demographics,children:[e.birthDate&&(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsx)("span",{children:uM(e.birthDate)}),(0,rG.jsx)("span",{className:uL.separator,children:"\xb7"}),(0,rG.jsx)("span",{children:ce(e.birthDate,{time:!1,noToday:!0})}),(0,rG.jsx)("span",{className:uL.separator,children:"\xb7"})]}),(0,rG.jsx)(uU,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,rG.jsx)(r3,{className:uL.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uG=n(7683);function uz({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,rF.useState)(!1),{extensions:s}=r8(n),a="tablet"===i3(),l=so(()=>i(!1),r),c=(0,rF.useRef)(null),u=(0,rF.useRef)(null),d=(0,rF.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rF.useCallback)(()=>i(e=>!e),[]),g=(0,rF.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rF.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rF.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,rF.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===s.length?null:(0,rG.jsx)("div",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,rG.jsxs)("div",{"data-overflow-menu":!0,className:sL()("cds--overflow-menu",sG),ref:l,children:[(0,rG.jsxs)("button",{className:sL()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sJ),"aria-controls":p,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:f,onKeyDown:h,ref:c,children:[(0,rG.jsx)("span",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tm("actions","Actions")})," ",(0,rG.jsx)(uG.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,rG.jsxs)("div",{className:sL()("cds--overflow-menu-options","cds--overflow-menu--flip",sz,{[sq]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,rG.jsx)("ul",{className:sL()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,rG.jsx)(r3,{name:n,state:w},n)}),(0,rG.jsx)("span",{})]})]})})}var uq=n(397),uJ=n.n(uq);function uK(e){let{patientPhotoConceptUuid:t}=iT({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tk}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=ir()(e?n:null,tP),s=o?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uX=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,it.useTranslation)();return(0,rG.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,rG.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,rG.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"})]})},uY="-esm-implementer-tools__patient-photo-module__avatar___t5TmZ";function uZ({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=uK(e),[i,s]=(0,rF.useState)(null),[a,l]=(0,rF.useState)(!1),c=(0,rF.useMemo)(()=>uJ().generate(e),[e]);(0,rF.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(s(e),l(!1))},n.onerror=()=>{t||(s(null),l(!1))},n.src=e,()=>{t=!0}}s(null),l(!1)},[o?.imageSrc]);let u=(0,rF.useMemo)(()=>n||(i?tm("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tm("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||a?(0,rG.jsx)(sF.SkeletonIcon,{className:"-esm-implementer-tools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,rG.jsx)(uX,{"aria-label":tm("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,rG.jsx)("div",{"aria-label":u,children:(0,rG.jsx)("img",{className:uY,src:i,alt:u,title:t})}):(0,rG.jsx)("div",{"aria-label":u,children:(0,rG.jsx)("div",{className:uY,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,rG.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 uQ=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-cohorts","omrs-pict-concept-dictionary","omrs-pict-ct-scan","omrs-pict-data-entry","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-documents","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-reports","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-system-administration","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],u0=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),u1=u0,u2=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),u5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),u6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),u8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-cohorts",pictogramProps:e})})),u3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-concept-dictionary",pictogramProps:e})})),u7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),u9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-data-entry",pictogramProps:e})})),de=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),dt=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),dn=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),dr=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),di=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),ds=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),da=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),dl=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),dc=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),du=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),dd=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),dm=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-patient-documents",pictogramProps:e})})),dp=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),df=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),dg=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),dh=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),d_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),dy=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-reports",pictogramProps:e})})),dv=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),db=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dx=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-system-administration",pictogramProps:e})})),dS=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dj=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dk=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rG.jsx)(dP,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),dN=dr,dC=df,dE=(0,rF.memo)((0,rF.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,rF.useRef)(document.getElementById(e));return(0,rF.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,rG.jsx)(iS,{value:r.current,fallback:t,children:(0,rG.jsx)(dP,{ref:o,pictogram:e,pictogramProps:n})})})),dP=(0,rF.memo)((0,rF.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,rG.jsx)("svg",{ref:n,className:sL()("-esm-implementer-tools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,rG.jsx)("use",{href:`#${e}`})})})),dI=({children:e})=>"tablet"===i3()?(0,rG.jsx)(sF.Layer,{children:e}):(0,rG.jsx)(rG.Fragment,{children:e}),dO=({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,rF.useState)(n),[g,h]=(0,rF.useState)(!0),[w,_]=(0,rF.useState)(!1),y=(0,rF.useCallback)(()=>{setTimeout(t,250)},[t]),v=(0,rF.useCallback)(()=>{_(!0),y()},[y]);return(0,rF.useEffect)(()=>{if(c){let e=setTimeout(v,l);return()=>clearTimeout(e)}},[l,c,v]),(0,rF.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,rG.jsx)(sF.ActionableNotification,{actionButtonLabel:p,"aria-label":tm("closeSnackbar","Close snackbar"),className:sL()("-esm-implementer-tools__snackbar-module__slideIn___-oZIt",{"-esm-implementer-tools__snackbar-module__animated___M2YBU":g,"-esm-implementer-tools__snackbar-module__slideOut___yEmGT":w}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),v(),s&&f(s)},onClose:y,statusIconDescription:tm("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},dA=({subject:e})=>{let[t,n]=(0,rF.useState)([]),o=(0,rF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,rG.jsx)(rG.Fragment,{children:t.map(e=>(0,rG.jsx)(dO,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},dR=new up,dT=0;function d$(e){e&&(0,r7.createRoot)(e).render((0,rG.jsx)(dA,{subject:dR}))}function dM(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dR.next({...e,id:dT++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dL=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rF.useCallback)(()=>{a(),t()},[t,a]);return(0,rG.jsx)("div",{children:(0,rG.jsx)(sF.ActionableNotification,{actionButtonLabel:s,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},dW=({subject:e})=>{let[t,n]=(0,rF.useState)([]),o=(0,rF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,rG.jsx)(rG.Fragment,{children:t.map(e=>(0,rG.jsx)(dL,{toast:e,closeToast:()=>o(e)},e.id))})},dD=new up,dU=0;function dB(e){e&&(0,r7.createRoot)(e).render((0,rG.jsx)(dW,{subject:dD}))}function dF(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,ul.A)(t))?setTimeout(()=>{dD.next({...e,id:dU++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}var dH=n(4656);async function dV(e,t){let{openedGroup:n}=rC.getState();if(n){if(n.groupName===e&&dq(n.props,t))return!0;else if(!await dX({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rC.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function dG(e){let{openedGroup:t,openedWindows:n}=rC.getState();if(t){if(n.length>0&&!(e||await dX({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rC.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function dz(e,t=null,n=null,o=null){let r=rC.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rE(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rP(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rI(e);if(s&&(s.groupName!==l.name||!dq(s.props,o)))return!!await dX({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:a,openedWorkspaces:[d3(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(dq(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&dq(d.props,t)?((s||c!==r.openedWindows.length-1)&&rC.setState(d2.restoreWindow(r,a)),!0):!!await dX({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d3(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await dX({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d3(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rC.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[d3(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await dX({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[d3(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function dq(e,t){return null==e||null==t||x(e,t)}function dJ(e,t){let n=[];for(let o=e.openedWorkspaces.length-1;o>=0;o--){let r=e.openedWorkspaces[o];if(r.hasUnsavedChanges&&n.push(r),t&&r.workspaceName===t)break}return n}function dK(e){return 0===e.length?Promise.resolve(!0):new Promise(t=>{let n=ua("workspace2-close-prompt",{size:"sm",onConfirm:()=>{n(),t(!0)},onCancel:()=>{n(),t(!1)},affectedWorkspaceTitles:e.map(e=>e.title??"")})})}function dX(e){let{openedWindows:t}=rC.getState(),n=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":n=t.flatMap(e=>dJ(e));break;case"CLOSE_WINDOW":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dJ(o);break}case"CLOSE_WORKSPACE":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dJ(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":n=t.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>dJ(e))}return dK(n)}function dY(e,t){return dK(dJ(e,t))}function dZ(e,t){let n=e.openedWorkspaces.findIndex(e=>e.workspaceName===t);return n<0?e:0===n?null:{...e,openedWorkspaces:e.openedWorkspaces.slice(0,n)}}function dQ(e,t,n,o){let{registeredWorkspacesByName:r}=rC.getState(),i=r[n];if(!i)throw Error(`No workspace named "${n}" registered`);let s=r[t];if(!s)throw Error(`No workspace named "${t}" registered`);if(s.window!==i.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);if(i.window!==e.windowName)throw Error(`Cannot open child workspace ${n} as window ${i.window} is not opened`);let{openedWorkspaces:a}=e,l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{...e,openedWorkspaces:[...c,d3(n,o)]}}function d0(e,t,n){let o=e.openedWorkspaces.findIndex(e=>e.uuid===t);if(o<0)return e;let r=e.openedWorkspaces[o];if(Object.keys(n).every(e=>r[e]===n[e]))return e;let i=[...e.openedWorkspaces];return i[o]={...r,...n},{...e,openedWorkspaces:i}}function d1(e,t,n){let o=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.uuid===t));if(o<0)return e;let r=e.openedWindows[o],i=d0(r,t,n);if(i===r)return e;let s=[...e.openedWindows];return s[o]=i,{...e,openedWindows:s}}let d2={setWindowMaximized(e,t,n){let o=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[o],maximized:n};return r[o]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let n=e.openedWindows.findIndex(e=>e.windowName===t),o=e.openedWindows[n],r=[...e.openedWindows.filter((e,t)=>t!==n),o];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let n=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.workspaceName===t));if(n<0)return e;let o=dZ(e.openedWindows[n],t),r=[...e.openedWindows],i=e.isMostRecentlyOpenedWindowHidden;if(null===o){let t=n===e.openedWindows.length-1;r.splice(n,1),t&&r.length>0&&(i=!1)}else r[n]=o;return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:i}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==i)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let s=[...e.openedWindows];return s[i]=dQ(e.openedWindows[i],t,n,o),{...e,openedWindows:s}},setHasUnsavedChanges:(e,t,n)=>d1(e,t,{hasUnsavedChanges:n}),setWorkspaceTitle:(e,t,n)=>d1(e,t,{title:n})};function d5(){return rZ(rC,d2)}let d6=()=>(0,rF.useContext)(ie.i),d8=()=>Object.keys(rC.getState().registeredWorkspacesByName);function d4(e,t,n){let o=e.openedWorkspaces[e.openedWorkspaces.length-1];return(o?t[o.workspaceName]?.width:void 0)??n[e.windowName]?.width??"narrow"}function d3(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,dH.A)()}}function d7(e,t,n){let o=rC.getState().registeredWorkspacesByName[e];return o?{windowName:o.window,openedWorkspaces:[d3(e,t)],props:n??null,maximized:!1}:null}let d9=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let{setHasUnsavedChanges:o,setWorkspaceTitle:r}=d6();return(0,rF.useEffect)(()=>{o(n??!1)},[n,o]),(0,rF.useEffect)(()=>{r(e)},[e,r]),(0,rG.jsx)(rG.Fragment,{children:t})};var me=n(1820),mt=n(3173),mn=n(185);let mo={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"},mr=e=>e.registeredWorkspacesByName,mi=({lifeCycle:e,openedWorkspace:t,openedWindow:n,groupProps:o,actions:r,renderChrome:i,isRootWorkspace:s,isLeafWorkspace:a,showActionMenu:l})=>{let c=(0,rF.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:i=!1}=e;return o?!!(i||await r.promptForClosingWorkspaces())&&(r.closeWorkspace(n.openedWorkspaces[0].workspaceName),!0):!!(i||await r.promptForClosingWorkspaces(t.workspaceName))&&(r.closeWorkspace(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let i=t.workspaceName,{openedWorkspaces:s}=n,a=s.findIndex(e=>e.workspaceName===i);-1===a||a!==s.length-1&&s.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await r.promptForClosingWorkspaces(s[a+1].workspaceName)||r.openChildWorkspace(i,e,o||{})},setWorkspaceTitle:e=>r.setWorkspaceTitle(t.uuid,e),setHasUnsavedChanges:e=>r.setHasUnsavedChanges(t.uuid,e),workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:o,workspaceMeta:rC.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:s,isLeafWorkspace:a,windowName:n.windowName,showActionMenu:l},[t,n,o,r,s,a,l]),u=!i&&!a,d=(0,rF.useMemo)(()=>e?(0,rG.jsx)(me.A,{config:e,mountParcel:rU,wrapWith:"div",wrapClassName:sL()(mo.workspaceContent,{[mo.hiddenExtraWorkspace]:u}),...c},t.workspaceName):null===e?(0,rG.jsx)("div",{className:sL()(mo.workspaceContent,{[mo.hiddenExtraWorkspace]:u}),children:(0,rG.jsx)(sF.InlineNotification,{kind:"error",title:tm("error"),subtitle:tm("somethingWentWrongTryReloading"),hideCloseButton:!0})}):null,[e,t.workspaceName,c,u]);return i?(0,rG.jsx)("div",{children:(0,rG.jsx)(ms,{openedWorkspace:t,openedWindow:n,isRootWorkspace:s,showActionMenu:l,closeWindow:()=>c.closeWorkspace({closeWindow:!0}),children:d})}):d??(0,rG.jsx)(sF.InlineLoading,{className:sL()(mo.loader,{[mo.hiddenExtraWorkspace]:u}),description:`${tm("loading")}`})},ms=({openedWorkspace:e,openedWindow:t,isRootWorkspace:n,showActionMenu:o,closeWindow:r,children:i})=>{let s=i3(),{openedGroup:a,openedWindows:l,registeredWindowsByName:c,registeredWorkspacesByName:u,registeredGroupsByName:d,isMostRecentlyOpenedWindowHidden:m,setWindowMaximized:p,hideWindow:f}=d5(),g=t.windowName,{maximized:h}=t,w=e.title??"",_=c[g],y=d4(t,u,c),v=_?.icon,b=_?.canMaximize,x=!!a&&d[a.groupName]?.persistence==="closable",S=!!v&&!x,j=l.findIndex(e=>e.windowName===g)<l.length-1||m,k=Object.values(c).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,rG.jsxs)("div",{className:sL()(mo.workspaceOuterContainer,{[mo.narrowWorkspace]:"narrow"===y,[mo.widerWorkspace]:"wider"===y,[mo.extraWideWorkspace]:"extra-wide"===y,[mo.isActionMenuOpened]:k}),children:[(0,rG.jsx)("div",{className:sL()(mo.workspaceSpacer,{[mo.hidden]:j})}),(0,rG.jsx)("div",{className:sL()(mo.workspaceMiddleContainer,{[mo.maximized]:h,[mo.hidden]:j,[mo.isRootWorkspace]:n,[mo.showActionMenu]:o}),children:(0,rG.jsx)("div",{className:sL()(mo.workspaceInnerContainer,{[mo.maximized]:h,[mo.hidden]:j,[mo.isRootWorkspace]:n}),children:i?(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsxs)(sF.Header,{"aria-label":tm("workspaceHeader"),className:mo.header,children:[(0,rG.jsx)(sF.HeaderName,{prefix:"",children:w}),(0,rG.jsx)("div",{className:mo.overlayHeaderSpacer}),(0,rG.jsx)(sF.HeaderGlobalBar,{className:mo.headerButtons,children:i7(s)?(0,rG.jsxs)(rG.Fragment,{children:[(b||h)&&(0,rG.jsx)(sF.HeaderGlobalAction,{"aria-label":h?tm("minimize"):tm("maximize"),onClick:()=>p(g,!h),children:h?(0,rG.jsx)(mt.Xj,{}):(0,rG.jsx)(mt.hz,{})}),S&&(0,rG.jsx)(sF.HeaderGlobalAction,{"aria-label":tm("hide"),onClick:()=>f(),children:(0,rG.jsx)(s4,{})}),!x&&(0,rG.jsx)(sF.HeaderGlobalAction,{"aria-label":tm("close"),onClick:r,children:(0,rG.jsx)(af,{})})]}):(0,rG.jsxs)(rG.Fragment,{children:[S&&(0,rG.jsx)(sF.HeaderGlobalAction,{"aria-label":tm("hide"),onClick:()=>f(),children:(0,rG.jsx)(mn.d3,{})}),(0,rG.jsx)(sF.HeaderGlobalAction,{"aria-label":tm("close"),onClick:()=>{x?dG():r()},children:(0,rG.jsx)(af,{})})]})})]}),i]}):(0,rG.jsx)(sF.InlineLoading,{className:mo.loader,description:`${tm("loading")} ...`})})})]})},ma=({openedWindow:e,groupProps:t,actions:n,renderChrome:o,showActionMenu:r})=>{let{openedWorkspaces:i}=e,[s,a]=(0,rF.useState)({}),l=rY(rC,mr),c=(0,rF.useRef)(new Set);return(0,rF.useEffect)(()=>{let e=!1;return Promise.all(i.map(async t=>{let n=l[t.workspaceName];if(!n)return null;let{moduleName:o,component:r}=n;try{return[t.uuid,await sk(o,r)]}catch(n){return e||c.current.has(t.uuid)||(c.current.add(t.uuid),y(n)),[t.uuid,null]}})).then(t=>{e||a(Object.fromEntries(t.filter(e=>null!=e)))},y),()=>{e=!0}},[i,l]),(0,rG.jsx)(rG.Fragment,{children:i.map((a,l)=>(0,rG.jsx)(mi,{openedWorkspace:a,openedWindow:e,groupProps:t,actions:n,renderChrome:o,lifeCycle:s[a.uuid],isRootWorkspace:0===l,isLeafWorkspace:l===i.length-1,showActionMenu:r},a.uuid))})},ml=e=>e.registeredWorkspacesByName,mc=({name:e,workspaceProps:t,windowProps:n,groupProps:o,onWindowChanged:r})=>{let i=rY(rC,ml),s=rY(rC,t=>{let n=t.registeredWorkspacesByName[e]?.window;return n?t.registeredWindowsByName[n]:void 0}),a={name:e,workspaceProps:t,windowProps:n,groupProps:o},l=(0,rF.useRef)(),c=(0,rF.useRef)(null);if(!l.current){let r=d7(e,t,n);l.current=T({openedWindow:r,groupProps:o??null}),r&&(c.current=a)}let u=l.current;(0,rF.useEffect)(()=>{let r=c.current;if(r&&r.name===e&&x(r.workspaceProps,t)&&x(r.windowProps,n)&&x(r.groupProps,o))return;let i=d7(e,t,n);u.setState({openedWindow:i,groupProps:o??null},!0),c.current=i?a:null},[e,t,n,o,i,u]);let d=(0,rF.useMemo)(()=>(function(e){function t(t){e.setState(e=>{if(!e.openedWindow)return e;let n=t(e.openedWindow);return n===e.openedWindow?e:{...e,openedWindow:n}})}return{closeWorkspace(e){t(t=>dZ(t,e))},openChildWorkspace(e,n,o){t(t=>dQ(t,e,n,o))},setWorkspaceTitle(e,n){t(t=>d0(t,e,{title:n}))},setHasUnsavedChanges(e,n){t(t=>d0(t,e,{hasUnsavedChanges:n}))},promptForClosingWorkspaces(t){let{openedWindow:n}=e.getState();return n?dY(n,t):Promise.resolve(!0)}}})(u),[u]),{openedWindow:m,groupProps:p}=rY(u),f=m?.openedWorkspaces[m.openedWorkspaces.length-1],g=f?.workspaceName??null,h=f?.title??"",w=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=s?.width??"narrow",y=(0,rF.useRef)(r);return(0,rF.useEffect)(()=>{y.current=r}),(0,rF.useEffect)(()=>{y.current?.({workspaceName:g,windowWidth:_,title:h,hasUnsavedChanges:w})},[g,_,h,w]),(0,rG.jsx)("div",{className:"-esm-implementer-tools__exported-workspace-module__exportedWorkspace___7PE0H",children:m?(0,rG.jsx)(ma,{openedWindow:m,groupProps:p,actions:d,renderChrome:!1,showActionMenu:!1}):null})},mu="-esm-implementer-tools__action-menu-button2-module__container___jc6--",md="-esm-implementer-tools__action-menu-button2-module__elementContainer___whLL8",mm="-esm-implementer-tools__action-menu-button2-module__active___fbyFm",mp="-esm-implementer-tools__action-menu-button2-module__focused___+aVpz";function mf({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,rG.jsxs)(rG.Fragment,{children:[e({size:16}),t?(0,rG.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,rG.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let mg=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r,hidden:i,disabled:s})=>{let a=i3(),{openedWindows:l,restoreWindow:c,hideWindow:u,isMostRecentlyOpenedWindowHidden:d}=d5(),{extension:m}=(0,rF.useContext)(rV),p=l.findIndex(e=>e.windowName===m?.extensionId),f=l[p],g=null!=f,h=g&&(p<l.length-1||d),w=g&&!h,_=f?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,y=async()=>{if(g)h?c(f.windowName):u();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;dz(e,t,n)}};return i?.(l)?null:"tablet"===a||"phone"===a?(0,rG.jsxs)(sF.Button,{className:sL()(mu,{[mm]:g&&!w,[mp]:w}),iconDescription:t,kind:"ghost",onClick:y,role:"button",tabIndex:0,size:"md",disabled:s?.(l),children:[(0,rG.jsx)("span",{className:md,children:(0,rG.jsx)(mf,{hasUnsavedChanges:_,getIcon:e,tagContent:n})}),(0,rG.jsx)("span",{children:t})]}):(0,rG.jsx)(sF.IconButton,{align:"left","aria-label":t,className:sL()(mu,{[mm]:g&&!w,[mp]:w}),enterDelayMs:300,kind:"ghost",label:t,onClick:y,size:"md",disabled:s?.(l),children:(0,rG.jsx)("div",{className:md,children:(0,rG.jsx)(mf,{hasUnsavedChanges:_,getIcon:e,tagContent:n})})})};function mh({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,rG.jsx)(sF.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?ap:au,children:e?tm("showLess","Show less"):tm("showMore","Show more")})}let mw={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-"},m_=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tk}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=ir()(t,tP),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rF.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsxs)("p",{className:mw.heading,children:[tm("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,rG.jsx)(sF.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rG.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>l6(e?.startDate).getTime()-l6(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,rG.jsx)("li",{children:(0,rG.jsx)(rz,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,rG.jsx)("li",{children:"--"})})(),t.length>3&&(0,rG.jsx)("li",{className:mw.link,children:(0,rG.jsx)(rz,{to:`${window.spaBase}/home/patient-lists`,children:tm("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},my=({patientId:e})=>{let{patient:t,isLoading:n}=sc(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,rG.jsx)(sF.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsx)("p",{className:mw.heading,children:tm("address","Address")}),(0,rG.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,rG.jsxs)("li",{children:[tm(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,rG.jsxs)("li",{children:[tm(e,e),": ",t]},`address-${e}`)):(0,rG.jsx)("li",{children:"--"})})]})},mv=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=iT({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=iW()(`${tk}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tP);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,rF.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,rF.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tm(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsx)("p",{className:mw.heading,children:tm("contactDetails","Contact Details")}),t?(0,rG.jsx)(sF.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rG.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,rG.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,rG.jsx)("li",{children:"--"})})]})},mb=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tk}/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}=ir()(e?t:null,tP),s=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?s:null,error:o,isLoading:r,isValidating:i}}(e);return(0,rG.jsxs)(rG.Fragment,{children:[(0,rG.jsx)("p",{className:mw.heading,children:tm("relationships","Relationships")}),n?(0,rG.jsx)(sF.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rG.jsx)("ul",{children:t&&t.length>0?(0,rG.jsx)(rG.Fragment,{children:t.map(e=>(0,rG.jsxs)("li",{className:mw.relationship,children:[(0,rG.jsx)("div",{children:(0,rG.jsx)(rz,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,rG.jsx)("div",{children:e.relationshipType}),(0,rG.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tm("yearAbbreviation","yr"):tm("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,rG.jsx)("li",{children:"--"})})]})};function mx({patientId:e,deceased:t}){return(0,rG.jsxs)("div",{className:sL()(mw.contactDetails,{[mw.deceased]:t}),children:[(0,rG.jsxs)("div",{className:mw.row,children:[(0,rG.jsx)("div",{className:mw.col,children:(0,rG.jsx)(my,{patientId:e})}),(0,rG.jsx)("div",{className:mw.col,children:(0,rG.jsx)(mv,{patientUuid:e})})]}),(0,rG.jsxs)("div",{className:mw.row,children:[(0,rG.jsx)("div",{className:mw.col,children:(0,rG.jsx)(mb,{patientId:e})}),(0,rG.jsx)("div",{className:mw.col,children:(0,rG.jsx)(m_,{patientUuid:e})})]})]})}function mS(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 mj="-esm-implementer-tools__action-menu2-module__container___6Gke0";function mk({workspaceGroup:e,groupProps:t}){let n=i3(),{persistence:o}=e;return(0,rG.jsx)("aside",{className:"-esm-implementer-tools__action-menu2-module__sideRail___T2lMV",children:(0,rG.jsxs)("div",{className:mj,children:["closable"==o&&i7(n)&&(0,rG.jsx)(sF.IconButton,{align:"left",onClick:()=>dG(),label:tm("close"),kind:"ghost",children:(0,rG.jsx)(af,{})}),(0,rG.jsx)(rV.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,rG.jsx)(r3,{className:mj,name:e.name,state:{groupProps:t}})})]})})}function mN(e){let t=new URL(e,window.location.origin).pathname,n=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,o=n.endsWith("/")?n.slice(0,-1):n,r=null;return o?o===t?r="/":t.startsWith(`${o}/`)&&(r=t.slice(o.length)):r=t,{full:t,spaRelative:r}}function mC(e){e&&(0,r7.createRoot)(e).render((0,rG.jsx)(mE,{}))}function mE(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=d5();if((0,rF.useEffect)(()=>nG("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(o)return void r(dG().then(e=>!e));let a=n[e.groupName],l=a?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=mN(t),i=mN(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(dG().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,rG.jsxs)("div",{className:sL()("-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,rG.jsx)("div",{className:"-esm-implementer-tools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(t=>(0,rG.jsx)(mP,{openedWindow:t,groupProps:e.props,showActionMenu:a},t.windowName))}),a&&(0,rG.jsx)(mk,{workspaceGroup:r,groupProps:e.props})]})}function mP({openedWindow:e,groupProps:t,showActionMenu:n}){let{windowName:o}=e,r=(0,rF.useMemo)(()=>({closeWorkspace(e){rC.setState(t=>d2.closeWorkspace(t,e))},openChildWorkspace(e,t,n){rC.setState(o=>d2.openChildWorkspace(o,e,t,n))},setWorkspaceTitle(e,t){rC.setState(n=>d2.setWorkspaceTitle(n,e,t))},setHasUnsavedChanges(e,t){rC.setState(n=>d2.setHasUnsavedChanges(n,e,t))},promptForClosingWorkspaces(e){let t=rC.getState().openedWindows.find(e=>e.windowName===o);return t?dY(t,e):Promise.resolve(!0)}}),[o]);return(0,rG.jsx)(ma,{openedWindow:e,groupProps:t,actions:r,renderChrome:!0,showActionMenu:n})}function mI(e,t,n){if(null==e)return n;let o=lH(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=lH(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 mO(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mA(e){return!!e&&e.constructor===Object}var mR=n(3376);function mT(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function m$(e,t){return mR(function(e){let t=e.indexOf("-");if(t>=0){let n=mT(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return mT(e)}(t),e,{includePrerelease:!0})}async function mM(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 mL(r(s)),await e()}catch(e){i?.(e,s),n=e}while(o(s++));throw n}async function mL(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mW(e,t,n,o){}function mD(e){}function mU(e){return Promise.resolve([])}function mB(e){return Promise.resolve([])}function mF(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 mH(e){return()=>{}}function mV(){return!0}}}]);
|
|
28
|
+
To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{featureFlag:t}){return t?n=>!!oM(t)&&e(n):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,ta.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,ta.AG)(e,()=>sN(t.appName,t.component),o)}(o,t)}}let sR={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 sT(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sR.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sR.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sR.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sR.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sR.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sR.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sR.SMALL_DESKTOP_MAX)}let s$=!1;function sM(){s$||(window.addEventListener("resize",sT),sT(),s$=!0)}var sL=n(5530),sW=n.n(sL);function sD({title:e,children:t}){let n="tablet"===i3();return(0,rz.jsxs)("div",{className:sW()({"-esm-implementer-tools__card-header-module__tabletHeader___Vkmd-":n,"-esm-implementer-tools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,rz.jsx)("h4",{children:e}),t]})}let sU=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sB={primaryColor:{_type:z.String,_description:"The color for displaying primary diagnoses tags",_default:"blue",_validators:[e7.oneOf(sU)]},secondaryColor:{_type:z.String,_description:"The color for displaying secondary diagnoses tags",_default:"gray",_validators:[e7.oneOf(sU)]}},sF={"Brand color #1":{_default:"#005d5d",_type:z.String},"Brand color #2":{_default:"#004144",_type:z.String},"Brand color #3":{_default:"#007d79",_type:z.String},excludePatientIdentifierCodeTypes:{uuids:{_type:z.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:z.UUID}}},implementationName:{_type:z.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},logo:{src:{_type:z.String,_default:"",_description:"The path or URL to the logo shown on the login page and while the server is starting up. If set to an empty string, the default OpenMRS logo is used.",_validators:[e7.isUrl]},alt:{_type:z.String,_default:"Logo",_description:"The alternative text for the logo image, displayed when the image cannot be loaded or on hover."}},patientPhotoConceptUuid:{_type:z.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:z.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e7.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:z.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:z.String}},diagnosisTags:sB};var sH=n(8326);let sV={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sz=e=>(0,rz.jsx)(sH.TableBatchActions,{translateWithId:(e,t)=>{let n=sV[e];return n?tm(n,e,t):e},...e}),sG="-esm-implementer-tools__custom-overflow-menu-module__container___8PykS",sq="-esm-implementer-tools__custom-overflow-menu-module__menu___qsOLn",sJ="-esm-implementer-tools__custom-overflow-menu-module__show___BserJ",sK="-esm-implementer-tools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sX=(0,rF.createContext)(null);function sY(){let e=(0,rF.useContext)(sX);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sZ({menuTitle:e,children:t}){let[n,o]=rH().useState(!1),r=so(()=>o(!1),n),i="tablet"===i3(),s=(0,rF.useCallback)(()=>o(e=>!e),[]),a=(0,rF.useRef)(null),l=(0,rF.useRef)(null),c=(0,rF.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rF.useCallback)(()=>{o(!1),a.current?.focus()},[]),p=(0,rF.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rF.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=rF.Children.toArray(t);(0,rF.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,rF.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,s=i<0?n.length-1:i>=n.length?0:i;n[s]?.focus()},[]),w=g.map((e,t)=>(0,rF.isValidElement)(e)?(0,rF.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,rz.jsxs)("div",{"data-overflow-menu":!0,className:sW()("cds--overflow-menu",sG),ref:r,children:[(0,rz.jsx)("button",{className:sW()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sK),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:f,ref:a,children:e}),(0,rz.jsxs)("div",{className:sW()("cds--overflow-menu-options","cds--overflow-menu--flip",sq,{[sJ]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,rz.jsx)("ul",{className:sW()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,rz.jsx)(sX.Provider,{value:p,children:w})}),(0,rz.jsx)("span",{})]})]})}function sQ(e){let t=(0,rF.useContext)(sX);return(0,rz.jsx)(sH.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var s0=n(2277),s1=n(4194);let s2=["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,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),s6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),ae=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),at=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),an=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),ao=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),ar=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),ai=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),as=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),aa=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),al=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),ac=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),au=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),ad=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),am=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),ap=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),af=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),ag=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-close",iconProps:e})})),ah=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),aw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),a_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-document",iconProps:e})})),ay=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),av=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-download",iconProps:e})})),ab=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),ax=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),aS=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),aj=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-events",iconProps:e})})),ak=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),aN=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),aC=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),aE=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),aP=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),aI=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aO=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aA=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),aR=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aT=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-information",iconProps:e})})),a$=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),aM=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aL=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),aW=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),aD=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),aU=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aB=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aF=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aH=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),aV=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),az=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aG=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),aq=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aJ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aK=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),aX=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aY=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aZ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-password",iconProps:e})})),aQ=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),a0=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),a1=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),a2=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),a5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),a6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),a8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),a4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-save",iconProps:e})})),a9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-search",iconProps:e})})),le=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),lt=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),ln=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),lo=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),lr=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),li=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),ls=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),la=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-table",iconProps:e})})),ll=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-time",iconProps:e})})),lc=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),lu=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),ld=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),lm=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),lp=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lf=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lg=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),lh=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-user",iconProps:e})})),l_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),ly=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lv=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(lC,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lb=lv,lx=ay,lS=aD,lj=aR,lk=lo,lN=(0,rF.memo)((0,rF.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,rF.useRef)(e?document.getElementById(e):void 0);return(0,rF.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,rz.jsx)(iS,{value:r.current,fallback:t,children:(0,rz.jsx)(lC,{ref:o,icon:e,iconProps:n})})})),lC=(0,rF.memo)((0,rF.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rF.useRef)(null);return(0,rF.useImperativeHandle)(n,()=>s.current),(0,rF.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,rz.jsx)("svg",{ref:s,className:sW()("omrs-icon","-esm-implementer-tools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,rz.jsx)("use",{href:`#${e}`})})})),lE=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,it.useTranslation)(),i=(0,s0.zy)(),s=(0,rF.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,rz.jsx)("div",{children:(0,rz.jsx)(rG,{className:sW()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${n}/${encodeURIComponent(e)}`,children:(0,rz.jsxs)("span",{className:"-esm-implementer-tools__dashboard-module__menu___ds1tf",children:[(0,rz.jsx)(lN,{icon:o,className:"-esm-implementer-tools__dashboard-module__icon___4Zrrh",size:16}),(0,rz.jsx)("span",{children:r(t)})]})})},e)};function lP(e){return function({basePath:t}){return(0,rz.jsx)(s1.Kd,{children:(0,rz.jsx)(lE,{basePath:t,...e})})}}var lI=n(7715),lO=n(7532),lA=n(3692),lR=n(7615),lT=n(700),l$=n(6816),lM=n(1168);function lL(e){return rH().createElement(lM.C,e)}var lW=n(3010),lD=n(6513),lU=n(6190);function lB(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 lW.ng||e instanceof lW._l||e instanceof lW.Ip)return t?(0,lD.yP)(e,t):e;{let n=sh()(e).toDate(),o=new lW.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,lD.yP)(o,t):o}}function lF(e){if(e)return e.toDate((0,lU.Xj)())}var lH=n(9002);function lV(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lz(e){let t=e??"",n=lV(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function lG(){let e=window.i18next.language,t=lV(e)??e;return"ht"===t&&(t="fr-HT"),t}var lq=n(7883),lJ=n(424),lK=n(1492),lX=n(8271);function lY(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(sw),sg.extend(lK),sg.extend(lJ);let lZ="YYYY-MM-DDTHH:mm:ss.SSSZZ",lQ=/^(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?$/;function l0(e,t){let n=lQ.exec(e);if(!n)return(0,lq.CD)(e,t);let o=Number(n[1]),r=void 0===n[2]?void 0:Number(n[2]),i=void 0===n[3]?void 0:Number(n[3]),s=new Date(0);return(s.setUTCFullYear(o,(r??1)-1,i??1),s.getUTCFullYear()!==o||s.getUTCMonth()!==(r??1)-1||s.getUTCDate()!==(i??1))?{invalid:`Invalid ISO calendar date '${e}'`}:{year:o,...void 0!==r&&{month:r},...void 0!==i&&{day:i}}}function l1(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,lZ).isValid()}function l2(e){return sg(e).isToday()}function l5(e){return l1(e)?sg(e,lZ).toDate():null}function l6(e,t=!1){let n=sg(e);return t&&(n=n.utc()),n.format(lZ)}function l8(e){return sg(e).toDate()}var l4=new WeakMap;let l3=new class{register(e,t){lY(this,l4).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lY(this,l4).has(t))return lY(this,l4).get(t)}if(e.language&&lY(this,l4).has(e.language))return lY(this,l4).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lY(this,l4).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,l4,{writable:!0,value:new Map})}};function l7(e,t){l3.register(e,t)}function l9(e){let t=e??lG();return l3.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let ce={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function ct(e,t={}){let n=l0(e,lG());if(n.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lX.A)(n.day)&&(0,lX.A)(n.month)&&(n=Object.assign({},(0,H.A)(n,"day"),{month:n.day})),n.month&&(n.month-=1),n.day&&(n=Object.assign({},(0,H.A)(n,"day"),{date:n.day}));let o=sg().set(n).toDate();return(0,lX.A)(n.year)&&(t.year=!1),(0,lX.A)(n.month)&&(t.month=!1),(0,lX.A)(n.date)&&(t.day=!1),cn(o,t)}function cn(e,t){let n,o=t?.locale??lG(),r=new Intl.Locale(o),{calendar:i,mode:s,time:a,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...ce,...{noToday:"am"===r.language},...t},p={calendar:i??l9(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(co("-"))),"wide"==s&&(t=t.map(co(" — "))),"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+=`, ${cr(e)}`),n}let co=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function cr(e){return e.toLocaleTimeString(lG(),{hour:"2-digit",minute:"2-digit"})}function ci(e,t){return cn(e,{...t,time:!0})}function cs(e,t){let n=l9("string"==typeof t?new Intl.Locale(t):t);return n?(0,lD.yP)(e,(0,lH.d)(n)):e}function ca(e,t){return new Intl.DurationFormat(lG(),t).format(e)}function cl(e,t){if(null==e)return null;if("string"==typeof e){let n=l0(e,lG());return n.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(n.day&&!n.month&&(n={...(0,H.A)(n,"day"),...{month:n.day}}),n.month&&(n.month-=1),n.day&&(n={...(0,H.A)(n,"day"),...{date:n.day}}),sg(t).set(n))}return sg(e)}let cc=["years","months","days","hours","minutes","seconds"],cu={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},cd={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function cm(e,t=sg(),n){let o,r=sg(t),i=cl(e,r);if(null==i)return null;if("string"==typeof n){let e=cu[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?cu[l]??l:void 0;return e="auto"===a||void 0===a?function(e,t,n){let o=cc.indexOf(n);for(let r=0;r<cc.length;r++){let i=cc[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):cu[a]??a,function(e,t,n,o){let r=cc.indexOf(n),i=cc.indexOf(o),s=cc.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={...cd};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[cu[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 cp={style:"short",localeMatcher:"lookup"};function cf(e,t=sg(),n){let o=cm(e,t,n);return null==o?null:ca(o,"object"==typeof n&&n.formatOptions?{...cp,...n.formatOptions}:cp)}let cg=(0,rF.createContext)(null);function ch(){let e=iT({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rF.useMemo)(()=>{let t=lG();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,rF.useMemo)(()=>{let e=l9(t);return void 0!==e?(0,lH.d)(e):void 0},[t]),o=(0,rF.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,rF.useMemo)(()=>n?(0,lD.yP)((0,lU.Ec)((0,lU.Xj)()),n):(0,lU.Ec)((0,lU.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let cw=new lW.ng(1793,1,1);var c_=n(5830),cy=n(5354),cv=n(4745),cb=n(1202);function cx(e,t){return Number.parseInt(cn(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cS=(0,rF.forwardRef)(function(e,t){let{className:n}=e,o=(0,rF.useContext)(c_.f2),r=(0,rF.useContext)(c_._I),i=o??r,s=(0,rF.useContext)(cg),a=(0,lU.Xj)(),l=cn(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=cx(i.visibleRange.start.toDate(a),s),u=i.maxValue?cx(i.maxValue.toDate(a),s):void 0,d=i.minValue?cx(i.minValue.toDate(a),s):void 0,m=(0,rF.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,rz.jsxs)("span",{ref:t,className:n,children:[(0,rz.jsx)("span",{children:l}),(0,rz.jsxs)(cv.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,rz.jsx)(cb.p,{}),(0,rz.jsxs)(lR.Y,{children:[(0,rz.jsx)(lT.$,{slot:"increment",children:(0,rz.jsx)(ai,{size:8})}),(0,rz.jsx)(lT.$,{slot:"decrement",children:(0,rz.jsx)(an,{size:8})})]})]})]})});var cj=n(9588);let ck="-esm-implementer-tools__datepicker-module__inputGroup___+4zks",cN="-esm-implementer-tools__datepicker-module__inputSegment___wiExn",cC="-esm-implementer-tools__datepicker-module__dateInputWrapper___uiyAC",cE="-esm-implementer-tools__datepicker-module__invalidText___SxtTL",cP="-esm-implementer-tools__datepicker-module__flatButton___UU1Qp",cI="-esm-implementer-tools__datepicker-module__flatButtonMd___fhR-1",cO="-esm-implementer-tools__datepicker-module__flatButtonSm___5INZ7",cA="-esm-implementer-tools__datepicker-module__flatButtonLg___RFMrl";function cR({children:e}){let t=(0,rF.useContext)(lO.Pg),n=(0,rF.useContext)(lO.a8),o=t??n,r=so(()=>o?.close());return(0,rz.jsx)(cj.lG,{className:"-esm-implementer-tools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cT=(0,rF.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,s=i?c_._e:c_.Vv;return(0,rz.jsx)(cy.A,{ref:r,className:"-esm-implementer-tools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,rz.jsx)(cR,{children:(0,rz.jsxs)(s,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,rz.jsxs)("header",{className:"-esm-implementer-tools__datepicker-module__header___WAVlD",children:[(0,rz.jsx)(lT.$,{className:sW()(cP,cI),slot:"previous",children:(0,rz.jsx)(am,{size:16})}),(0,rz.jsx)(cS,{className:"-esm-implementer-tools__datepicker-module__monthYear___A3aKF"}),(0,rz.jsx)(lT.$,{className:sW()(cP,cI),slot:"next",children:(0,rz.jsx)(ap,{size:16})})]}),(0,rz.jsx)(c_.r8,{className:"-esm-implementer-tools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,rz.jsx)(c_.Zr,{className:sW()("cds--date-picker__day",{"-esm-implementer-tools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var c$=n(8017),cM=n(9774),cL=n(7956);let cW=(0,rF.forwardRef)(function(e,t){let n=(0,rF.useContext)(lO.Pg),[o,r]=(0,lI.JT)({slot:e.slot},t,cM.cQ),{locale:i}=(0,lM.Y)(),s=(0,cL.F)({...o,locale:i,createCalendar:lH.d}),a=(0,rF.useRef)(null),{fieldProps:l,inputProps:c}=(0,c$.cJ)({...o,inputRef:a},s,r),u=(0,rF.useCallback)(()=>{s.isDisabled||n.toggle()},[]);return(0,rz.jsxs)(lI.Kq,{values:[[cM.$,s],[cb.E,{...c,ref:a}],[lR.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,rz.jsx)(lR.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,n)=>(0,rF.cloneElement)(e.children(t),{key:n}))}),(0,rz.jsx)(cb.p,{})]})}),cD=(0,rF.forwardRef)(function(e,t){let n=(0,rF.useContext)(lO.Pg),o=(0,rF.useContext)(lO.a8);return(n??o).isInvalid?(0,rz.jsx)(lv,{ref:t,size:16,...e}):(0,rz.jsx)(at,{ref:t,size:16,...e})});var cU=n(64),cB=n(5503),cF=n(1697),cH=n(7866),cV=n(8035),cz=n(2231);let cG=(0,rF.forwardRef)(function({segment:e,...t},n){let o=(0,rF.useContext)(cM.$),r=(0,cU.U)(n),{segmentProps:i}=(0,cB.V)(e,o,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,cF.o)(),{hoverProps:c,isHovered:u}=(0,cH.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:s,values:a}=e;return(0,rF.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof n?n({...a,defaultStyle:s||{}}):n,c="function"==typeof o?o({...a,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rF.useCallback)(e=>{e.stopPropagation()},[]);return(0,rz.jsx)("span",{...(0,cV.v)((0,cz.$)(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})}),cq={short:!1,size:"md"},cJ=(0,rF.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:s,isInvalid:a,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:p,onChangeRaw:f,short:g,size:h,value:w,..._}={...cq,...e},{calendar:y,intlLocale:v,today_:b}=ch(),x=(0,rF.useId)(),S=!!(c??l),j=(0,rF.useMemo)(()=>lB(o,y),[o,y]),k=(0,rF.useMemo)(()=>lB(w,y,!0),[w,y]),N=(0,rF.useMemo)(()=>lB(d,y),[d,y]),C=(0,rF.useMemo)(()=>lB(m??cw,y),[m,y]),E=(0,rF.useMemo)(()=>i||a,[i,a]),P=(0,rF.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?.(lF(e)))),[f,p]);return(0,rz.jsx)(lL,{locale:v.toString(),children:(0,rz.jsx)("div",{className:sW()("cds--form-item",n),children:(0,rz.jsx)(lI.Kq,{values:[[cg,v]],children:(0,rz.jsxs)(lO.lr,{className:sW()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:j,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:k,shouldForceLeadingZeros:"en"===v.language||void 0,..._,onChange:P,children:[(0,rz.jsxs)("div",{className:"cds--date-picker-container",children:[S&&(0,rz.jsx)(lA.J,{className:sW()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,rz.jsxs)(lR.Y,{className:ck,children:[(0,rz.jsx)(cW,{id:S?x:void 0,ref:t,className:sW()("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,rz.jsx)(cG,{className:cN,segment:e}):(0,rz.jsx)(rH().Fragment,{})}),(0,rz.jsx)(lT.$,{className:sW()(cP,{[cO]:"sm"===h,[cI]:"md"===h||!h||0===h.length,[cA]:"lg"===h}),children:(0,rz.jsx)(cD,{})})]}),(0,rz.jsx)(l$.b,{className:cE,children:s})]}),(0,rz.jsx)(cT,{variant:"single",today_:b})]})})})})}),cK=(0,rF.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:p="md",value:f,...g},h){let{calendar:w,intlLocale:_,today_:y}=ch(),v=(0,rF.useId)(),b=!!(a??s),x=(0,rF.useMemo)(()=>{if(f)return{start:lB(f[0],w,!1),end:lB(f[1],w,!1)}},[f,w]),S=(0,rF.useMemo)(()=>{if(t)return{start:lB(t[0],w,!1),end:lB(t[1],w,!1)}},[t,w]),j=(0,rF.useMemo)(()=>lB(u??cw,w,!0),[u,w]),k=(0,rF.useMemo)(()=>lB(c,w,!0),[c,w]),N=(0,rF.useMemo)(()=>n||i,[n,i]),C=(0,rF.useMemo)(()=>(m&&d&&console.error("An OpenmrsDateRangePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),m??(e=>d?.([lF(e.start),lF(e.end)]))),[m,d]);return(0,rz.jsx)(lL,{locale:_.toString(),children:(0,rz.jsx)("div",{className:sW()("cds--form-item",e),children:(0,rz.jsx)(lI.Kq,{values:[[cg,_]],children:(0,rz.jsx)(lO.Ur,{id:b?v:void 0,className:sW()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:k,minValue:j,value:x,defaultValue:S,ref:h,isDisabled:r,...g,onChange:C,children:(0,rz.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,rz.jsx)(lA.J,{className:sW()("cds--label",{"cds--label--disabled":r}),htmlFor:v,children:a??s}),(0,rz.jsxs)(lR.Y,{className:ck,children:[(0,rz.jsxs)("div",{className:sW()("-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,rz.jsx)(cM.J3,{className:sW()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__startInput___qgbQm",cC),slot:"start",children:e=>(0,rz.jsx)(cG,{className:cN,segment:e})}),(0,rz.jsx)("div",{className:"-esm-implementer-tools__datepicker-module__separator___79vXZ",children:(0,rz.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,rz.jsx)(cM.J3,{className:sW()("cds--date-picker-input__wrapper","-esm-implementer-tools__datepicker-module__endInput___huv7x",cC),slot:"end",children:e=>(0,rz.jsx)(cG,{className:cN,segment:e})})]}),(0,rz.jsx)(lT.$,{className:sW()(cP,{[cO]:"sm"===p,[cI]:"md"===p||!p||0===p.length,[cA]:"lg"===p}),children:(0,rz.jsx)(cD,{})})]}),(0,rz.jsx)(l$.b,{className:cE,children:o}),(0,rz.jsx)(cT,{variant:"range",today_:y,minDate:j,maxDate:k})]})})})})})});var cX=n(9606);let cY=({diagnoses:e,showCertainty:t=!1})=>{let{diagnosisTags:n}=iT({externalModuleName:"@openmrs/esm-styleguide"});return(0,rz.jsx)("div",{className:"-esm-implementer-tools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let o=t&&"PROVISIONAL"===e.certainty,r=1===e.rank?n?.primaryColor??"blue":n?.secondaryColor??"gray";return(0,rz.jsx)(cZ,{color:r,isProvisional:o,name:e.display},e.uuid)})})};function cZ({color:e,isProvisional:t,name:n}){let[o,r]=(0,rF.useState)(!1),[i,s]=(0,rF.useState)(!1),[a,l]=(0,rF.useState)(!1),c=a||i,u=(0,rF.useRef)(null);(0,rF.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=()=>{let t=e.scrollWidth>e.clientWidth;l(t),t||r(!1)};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[n,t,c]);let d=sW()("cds--tag","cds--tag--md","cds--layout--size-md",`cds--tag--${e}`,"-esm-implementer-tools__diagnosis-tags-module__diagnosisTag___PFhpl"),m=(0,rz.jsxs)(rz.Fragment,{children:[t&&(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsx)("span",{"aria-hidden":"true",className:"-esm-implementer-tools__diagnosis-tags-module__provisionalMark___8o6l4",children:"?"}),(0,rz.jsxs)("span",{className:"cds--visually-hidden",children:[tm("provisional","Provisional")," "]})]}),(0,rz.jsx)("span",{ref:u,className:"cds--tag__label",children:n})]});return c?(0,rz.jsxs)(cX.k$,{delay:0,closeDelay:150,isOpen:o,onOpenChange:r,children:[(0,rz.jsx)(lT.$,{className:d,"data-testid":"diagnosis-tag",onFocusChange:s,onPress:()=>r(!0),children:m}),(0,rz.jsx)(cX.m_,{className:"-esm-implementer-tools__diagnosis-tags-module__tagTooltip___asRTH",placement:"bottom",offset:4,containerPadding:8,children:n})]}):(0,rz.jsx)("span",{className:d,"data-testid":"diagnosis-tag",children:m})}let cQ={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"},c0=({width:e="64",height:t="64"})=>(0,rz.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,rz.jsx)("use",{href:"#omrs-empty-data-illustration"})}),c1=e=>{let t="tablet"===i3(),n=e.launchForm;return(0,rz.jsx)(sH.Layer,{className:cQ.layer,children:(0,rz.jsxs)(sH.Tile,{className:cQ.tile,children:[(0,rz.jsx)("div",{className:t?cQ.tabletHeading:cQ.desktopHeading,children:(0,rz.jsx)("h4",{children:e.headerTitle})}),(0,rz.jsx)(c0,{}),(0,rz.jsx)("p",{className:cQ.content,children:tm("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,rz.jsx)("p",{className:cQ.action,children:n&&(0,rz.jsx)(sH.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tm("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},c2=({error:e,headerTitle:t})=>{let n="tablet"===i3();return(0,rz.jsx)(sH.Layer,{children:(0,rz.jsxs)(sH.Tile,{className:"-esm-implementer-tools__error-state-module__tile___dd418",children:[(0,rz.jsx)("div",{className:n?"-esm-implementer-tools__error-state-module__tabletHeading___g5rjg":"-esm-implementer-tools__error-state-module__desktopHeading___Nd9u2",children:(0,rz.jsx)("h4",{children:t})}),(0,rz.jsxs)("p",{className:"-esm-implementer-tools__error-state-module__errorMessage___z2RiN",children:[tm("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,rz.jsx)("p",{className:"-esm-implementer-tools__error-state-module__errorCopy___dq+e2",children:tm("errorCopy")})]})})},c5=c2,c6=rH().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=se(),s=window.location??{pathname:""},a=r6(n??"");return e.isChildOfHeader&&n&&a.length>0?(0,rz.jsxs)(sH.SideNav,{"aria-label":tm("leftNavigation","Left navigation"),className:"-esm-implementer-tools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,rz.jsx)(r3,{name:"global-nav-menu-slot"}),n?(0,rz.jsx)(iS,{value:r,fallback:(0,rz.jsx)(r3,{name:n,state:{basePath:o,currentPath:s,...i}}),children:(0,rz.jsx)(rV.Provider,{value:r,children:(0,rz.jsx)(r3,{name:n,state:{basePath:o,currentPath:s,...i}})})}):null]}):null}),c8=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,s]=(0,rF.useState)(""),a=(0,rF.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=iW()(t,tP,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rF.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:p,setPage:f}=function(e,t=0,n=""){let o=iM(n),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=iQ()(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tN}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),n&&s.append("_getpagesoffset",""+n*t),e&&s.append("_tag",e),"string"==typeof o&&""!==o&&s.append("name:contains",o),i+s.toString()},tP);return(0,rF.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(n,o,i),g=(0,rF.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rF.useCallback)(e=>{r(),s(e.trim())},[r]),w=sr((0,rF.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsx)(sH.Search,{"aria-describedby":p?`${a}-error`:void 0,labelText:tm("searchForLocation"),id:a,placeholder:tm("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,rz.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,rz.jsx)(sH.InlineNotification,{kind:"error",subtitle:tm("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tm("error","Error")})}),(0,rz.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__searchResults___Gbet+",children:u?(0,rz.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,rz.jsx)(sH.RadioButtonSkeleton,{className:"-esm-implementer-tools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,rz.jsx)(sH.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,rz.jsx)(sH.RadioButton,{className:"-esm-implementer-tools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,rz.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,rz.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__emptyState___w4-Ca",children:(0,rz.jsx)("p",{className:"-esm-implementer-tools__location-picker-module__locationNotFound___Of2MJ",children:tm("noResultsToDisplay")})})}),m&&(0,rz.jsx)("div",{className:"-esm-implementer-tools__location-picker-module__loadingIcon___NAwSB",children:(0,rz.jsx)(sH.InlineLoading,{description:tm("loading")})})]})})]})},c4=R("modalState",{modalContainer:null,modalStack:[]}),c3=0;async function c7(e,t,n={}){let o=rN(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,s=await i(),a=c3++;r=await rW({...s,name:`${t}-${a}`},{...n,domElement:e})}else y(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c9(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function ue(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function ut(e){return e.find(e=>!c9(e))}function un(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let uo=window.getComputedStyle(document.body).overflow;function ur({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=ut(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",c7(n,e.modalName,e.props).then(o=>{c9(e)?ue(e.modalName,o):o?(e.parcel=o,t.prepend(n),un(e,ut(c4.getState().modalStack)===e),o.mountPromise.then(()=>{c9(e)||(e.state="MOUNTED")},t=>{y(t),e.parcel=null,ui(e)})):ui(e)},t=>{y(t),ui(e)});break}case"MOUNTING":case"MOUNTED":un(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),ue(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=uo,removeEventListener("keydown",us)}function ui(e){if(c9(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&&ui(e)}()}function ua(e){c4.subscribe(ur),c4.setState({...c4.getState(),modalContainer:e})}function ul(e,t={},n=()=>{}){let o=()=>{let e=c4.getState().modalStack.find(e=>e.onClose===n);e&&ui(e)};if(rN(e)){var r;let i,s;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},s=[r,...(i=c4.getState()).modalStack],c4.setState({...i,modalStack:s})}else y(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}var uc=n(9685);let uu=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:s}=e;return(0,rz.jsx)(sH.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},ud=({subject:e})=>{let[t,n]=(0,rF.useState)([]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,rz.jsx)(rz.Fragment,{children:t.map(e=>(0,rz.jsx)(uu,{notification:e},e.id))})},um=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rF.useState)(t);return(0,rz.jsx)(sH.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tm("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),a&&d(a)},statusIconDescription:tm("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:s,inline:!0,...c})},up=({subject:e})=>{let[t,n]=(0,rF.useState)([]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,rz.jsx)(rz.Fragment,{children:t.map(e=>(0,rz.jsx)(um,{notification:e},e.id))})};class uf{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 ug=new uf,uh=0,uw=new uf,u_=0;function uy(e){e&&(0,r7.createRoot)(e).render((0,rz.jsx)(ud,{subject:ug}))}function uv(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,uc.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{ug.next({...e,id:uh++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function ub(e){e&&(0,r7.createRoot)(e).render((0,rz.jsx)(up,{subject:uw}))}function ux(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,uc.A)(t))?setTimeout(()=>{uw.next({...e,id:u_++})},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"],uk={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"},uN=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:s="card",patientUuid:a})=>{let l=(0,rF.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tk}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tk}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=iW()(n,tP),s=o?.data?.results?.[0];return{referenceRange:s?{hiNormal:s.hiNormal??null,hiAbsolute:s.hiAbsolute??null,hiCritical:s.hiCritical??null,lowNormal:s.lowNormal??null,lowAbsolute:s.lowAbsolute??null,lowCritical:s.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,a),d=r??c,m=(0,rF.useMemo)(()=>{if(o)return o?"--"===o?"normal":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}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,y=_?e:tm("notAvailable","Not available"),v=sW()({[uk["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uk["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uk.low]:"low"===m,[uk.high]:"high"===m,[uk["off-scale-low"]]:"off_scale_low"===m,[uk["off-scale-high"]]:"off_scale_high"===m}),b=sW()({[uk.container]:!0,[uk.card]:!0,[uk["critical-value"]]:p,[uk["abnormal-value"]]:f&&!p}),x=sW()({[uk.cell]:!0,[v]:!0});return"cell"===s?(0,rz.jsxs)("div",{className:x,children:[y,_&&t?` ${t}`:""]}):(0,rz.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,rz.jsxs)("div",{className:uk["label-container"],children:[(0,rz.jsx)("span",{id:g,className:uk.label,children:n}),f&&(0,rz.jsx)("span",{className:uk[m.replace("_","-")],title:tm("abnormalValue","Abnormal value")})]}),(0,rz.jsxs)("div",{className:uk["value-container"],children:[(0,rz.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:uk.value,children:y}),_&&t&&(0,rz.jsx)("span",{id:w,className:uk.units,children:t})]})]})},uC="-esm-implementer-tools__page-header-module__pageHeader___YOpQL",uE=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,rz.jsx)("div",{className:sW()(uC,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,rz.jsx)("div",{className:sW()(uC,o),...r,children:(0,rz.jsx)(uP,{title:t,illustration:n})})}},uP=({title:e,illustration:t,className:n})=>{let[o,r]=(0,rF.useState)(null);return(0,rF.useEffect)(()=>{eM("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,rz.jsxs)("div",{className:sW()("-esm-implementer-tools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,rz.jsxs)("div",{className:"-esm-implementer-tools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,rz.jsx)("p",{children:tm(o.implementationName)}),(0,rz.jsx)("h1",{className:"-esm-implementer-tools__page-header-module__pageName___3d4IC",children:e})]})]})},uI=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=sa(t,e,o,i),c="tablet"===i3(),u=tm("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,rz.jsx)(rz.Fragment,{children:e>0&&(0,rz.jsxs)("div",{className:sW()({"-esm-implementer-tools__pagination-module__tablet___lQ3ak":c,"-esm-implementer-tools__pagination-module__desktop___HfUTY":!c}),children:[(0,rz.jsxs)("div",{children:[u,r&&(0,rz.jsx)(rG,{to:r,className:"-esm-implementer-tools__pagination-module__configurableLink___NM9v7",children:s??tm("seeAll","See all")})]}),(0,rz.jsx)(sH.Pagination,{className:"-esm-implementer-tools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:a,totalItems:e,onChange:n,pageRangeText:(e,t)=>tm("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uO(e){return uR(u$(e,"usual","official"))}function uA(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 uT(e){return uR(e)}function u$(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 uM(e,t=sg()){let n=sg(t),o=cl(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 uL(e,t=sg()){let n=uM(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),ca(n,o)}let uW={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 uD({showIdentifierLabel:e,type:t,value:n}){return(0,rz.jsx)("span",{className:uW.primaryIdentifier,children:(0,rz.jsxs)(sH.Tag,{className:uW.tag,type:"gray",children:[e&&t?.text&&(0,rz.jsxs)("span",{className:uW.label,children:[t.text,": "]}),(0,rz.jsx)("span",{className:uW.value,children:n})]})})}function uU({showIdentifierLabel:e,type:t,value:n}){return(0,rz.jsxs)(sH.FormLabel,{className:uW.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,rz.jsxs)("span",{className:uW.label,children:[t?.text,": "]}),(0,rz.jsx)("span",{className:uW.value,children:n})]})}function uB({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=iT(),{primaryIdentifierCode:o}=su(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,rz.jsx)(rz.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,rz.jsxs)(rH().Fragment,{children:[(0,rz.jsx)("span",{className:uW.identifier,children:n?.coding?.[0]?.code===o?(0,rz.jsx)(uD,{showIdentifierLabel:t,type:n,value:e}):(0,rz.jsx)(uU,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,rz.jsx)("span",{className:uW.separator,children:"\xb7"})]},e)):""})}let uF={Female:ak,Male:aN,Other:aC,Unknown:aE},uH=({gender:e})=>{let t=uF[e];return t?(0,rz.jsx)(t,{fill:"#525252"}):null},uV={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uz({patient:e,renderedFrom:t}){var n;let o,r,i=uO(e),s=e?.gender&&(r=uV[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tm(o,n),iconKey:r}),a=(0,rF.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,rz.jsxs)("div",{className:uW.patientInfo,children:[(0,rz.jsx)("div",{className:sW()(uW.row,uW.patientNameRow),children:(0,rz.jsxs)("div",{className:uW.flexRow,children:[(0,rz.jsx)("span",{className:uW.patientName,children:i}),s&&(0,rz.jsxs)("div",{className:uW.gender,children:[(0,rz.jsx)(uH,{gender:s.iconKey}),(0,rz.jsx)("span",{children:s.displayText})]}),(0,rz.jsx)(r3,{className:uW.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,rz.jsxs)("div",{className:uW.demographics,children:[e.birthDate&&(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsx)("span",{children:uL(e.birthDate)}),(0,rz.jsx)("span",{className:uW.separator,children:"\xb7"}),(0,rz.jsx)("span",{children:ct(e.birthDate,{time:!1,noToday:!0})}),(0,rz.jsx)("span",{className:uW.separator,children:"\xb7"})]}),(0,rz.jsx)(uB,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,rz.jsx)(r3,{className:uW.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uG=n(7683);function uq({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,rF.useState)(!1),{extensions:s}=r8(n),a="tablet"===i3(),l=so(()=>i(!1),r),c=(0,rF.useRef)(null),u=(0,rF.useRef)(null),d=(0,rF.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rF.useCallback)(()=>i(e=>!e),[]),g=(0,rF.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rF.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rF.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,rF.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===s.length?null:(0,rz.jsx)("div",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,rz.jsxs)("div",{"data-overflow-menu":!0,className:sW()("cds--overflow-menu",sG),ref:l,children:[(0,rz.jsxs)("button",{className:sW()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sK),"aria-controls":p,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:f,onKeyDown:h,ref:c,children:[(0,rz.jsx)("span",{className:"-esm-implementer-tools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tm("actions","Actions")})," ",(0,rz.jsx)(uG.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,rz.jsxs)("div",{className:sW()("cds--overflow-menu-options","cds--overflow-menu--flip",sq,{[sJ]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,rz.jsx)("ul",{className:sW()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,rz.jsx)(r3,{name:n,state:w},n)}),(0,rz.jsx)("span",{})]})]})})}var uJ=n(397),uK=n.n(uJ);function uX(e){let{patientPhotoConceptUuid:t}=iT({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tk}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=ir()(e?n:null,tP),s=o?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uY=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,it.useTranslation)();return(0,rz.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,rz.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,rz.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"m36.75 20.134-.884-.884L19.25 35.866l.884.884 1.25-1.25H34.25a1.252 1.252 0 0 0 1.25-1.25V21.384l1.25-1.25Zm-2.5 14.116H22.634l4.87-4.87 1.487 1.486a1.25 1.25 0 0 0 1.768 0l.991-.991 2.5 2.498v1.877Zm0-3.645-1.616-1.616a1.25 1.25 0 0 0-1.768 0l-.991.991-1.486-1.486 5.861-5.86v7.971Zm-12.5 1.145v-1.875l3.125-3.123.858.859.885-.885-.86-.86a1.25 1.25 0 0 0-1.767 0l-2.241 2.242V21.75h10V20.5h-10c-.69 0-1.25.56-1.25 1.25v10h1.25Z",fill:"#8D8D8D"})]})},uZ="-esm-implementer-tools__patient-photo-module__avatar___t5TmZ";function uQ({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=uX(e),[i,s]=(0,rF.useState)(null),[a,l]=(0,rF.useState)(!1),c=(0,rF.useMemo)(()=>uK().generate(e),[e]);(0,rF.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(s(e),l(!1))},n.onerror=()=>{t||(s(null),l(!1))},n.src=e,()=>{t=!0}}s(null),l(!1)},[o?.imageSrc]);let u=(0,rF.useMemo)(()=>n||(i?tm("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tm("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||a?(0,rz.jsx)(sH.SkeletonIcon,{className:"-esm-implementer-tools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,rz.jsx)(uY,{"aria-label":tm("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,rz.jsx)("div",{"aria-label":u,children:(0,rz.jsx)("img",{className:uZ,src:i,alt:u,title:t})}):(0,rz.jsx)("div",{"aria-label":u,children:(0,rz.jsx)("div",{className:uZ,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,rz.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 u0=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-cohorts","omrs-pict-concept-dictionary","omrs-pict-ct-scan","omrs-pict-data-entry","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-documents","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-reports","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-system-administration","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],u1=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),u2=u1,u5=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),u6=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),u8=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),u4=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u3=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-cohorts",pictogramProps:e})})),u7=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-concept-dictionary",pictogramProps:e})})),u9=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),de=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-data-entry",pictogramProps:e})})),dt=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),dn=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),dr=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),di=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),ds=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),da=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),dl=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),dc=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),du=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),dd=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),dm=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),dp=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-patient-documents",pictogramProps:e})})),df=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),dg=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),dh=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),dw=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),d_=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dy=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),dv=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-reports",pictogramProps:e})})),db=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),dx=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dS=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-system-administration",pictogramProps:e})})),dj=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dk=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dN=(0,rF.memo)((0,rF.forwardRef)(function(e,t){return(0,rz.jsx)(dI,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),dC=di,dE=dg,dP=(0,rF.memo)((0,rF.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,rF.useRef)(document.getElementById(e));return(0,rF.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,rz.jsx)(iS,{value:r.current,fallback:t,children:(0,rz.jsx)(dI,{ref:o,pictogram:e,pictogramProps:n})})})),dI=(0,rF.memo)((0,rF.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,rz.jsx)("svg",{ref:n,className:sW()("-esm-implementer-tools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,rz.jsx)("use",{href:`#${e}`})})})),dO=({children:e})=>"tablet"===i3()?(0,rz.jsx)(sH.Layer,{children:e}):(0,rz.jsx)(rz.Fragment,{children:e}),dA=({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,rF.useState)(n),[g,h]=(0,rF.useState)(!0),[w,_]=(0,rF.useState)(!1),y=(0,rF.useCallback)(()=>{setTimeout(t,250)},[t]),v=(0,rF.useCallback)(()=>{_(!0),y()},[y]);return(0,rF.useEffect)(()=>{if(c){let e=setTimeout(v,l);return()=>clearTimeout(e)}},[l,c,v]),(0,rF.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,rz.jsx)(sH.ActionableNotification,{actionButtonLabel:p,"aria-label":tm("closeSnackbar","Close snackbar"),className:sW()("-esm-implementer-tools__snackbar-module__slideIn___-oZIt",{"-esm-implementer-tools__snackbar-module__animated___M2YBU":g,"-esm-implementer-tools__snackbar-module__slideOut___yEmGT":w}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),v(),s&&f(s)},onClose:y,statusIconDescription:tm("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},dR=({subject:e})=>{let[t,n]=(0,rF.useState)([]),o=(0,rF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,rz.jsx)(rz.Fragment,{children:t.map(e=>(0,rz.jsx)(dA,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},dT=new uf,d$=0;function dM(e){e&&(0,r7.createRoot)(e).render((0,rz.jsx)(dR,{subject:dT}))}function dL(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dT.next({...e,id:d$++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dW=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rF.useCallback)(()=>{a(),t()},[t,a]);return(0,rz.jsx)("div",{children:(0,rz.jsx)(sH.ActionableNotification,{actionButtonLabel:s,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},dD=({subject:e})=>{let[t,n]=(0,rF.useState)([]),o=(0,rF.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rF.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,rz.jsx)(rz.Fragment,{children:t.map(e=>(0,rz.jsx)(dW,{toast:e,closeToast:()=>o(e)},e.id))})},dU=new uf,dB=0;function dF(e){e&&(0,r7.createRoot)(e).render((0,rz.jsx)(dD,{subject:dU}))}function dH(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,uc.A)(t))?setTimeout(()=>{dU.next({...e,id:dB++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}var dV=n(4656);async function dz(e,t){let{openedGroup:n}=rC.getState();if(n){if(n.groupName===e&&dJ(n.props,t))return!0;else if(!await dY({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rC.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function dG(e){let{openedGroup:t,openedWindows:n}=rC.getState();if(t){if(n.length>0&&!(e||await dY({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rC.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function dq(e,t=null,n=null,o=null){let r=rC.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rE(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rP(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rI(e);if(s&&(s.groupName!==l.name||!dJ(s.props,o)))return!!await dY({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:a,openedWorkspaces:[d7(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(dJ(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&dJ(d.props,t)?((s||c!==r.openedWindows.length-1)&&rC.setState(d5.restoreWindow(r,a)),!0):!!await dY({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d7(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await dY({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[d7(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rC.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[d7(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await dY({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[d7(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function dJ(e,t){return null==e||null==t||x(e,t)}function dK(e,t){let n=[];for(let o=e.openedWorkspaces.length-1;o>=0;o--){let r=e.openedWorkspaces[o];if(r.hasUnsavedChanges&&n.push(r),t&&r.workspaceName===t)break}return n}function dX(e){return 0===e.length?Promise.resolve(!0):new Promise(t=>{let n=ul("workspace2-close-prompt",{size:"sm",onConfirm:()=>{n(),t(!0)},onCancel:()=>{n(),t(!1)},affectedWorkspaceTitles:e.map(e=>e.title??"")})})}function dY(e){let{openedWindows:t}=rC.getState(),n=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":n=t.flatMap(e=>dK(e));break;case"CLOSE_WINDOW":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dK(o);break}case"CLOSE_WORKSPACE":{let o=t.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);n=dK(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":n=t.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>dK(e))}return dX(n)}function dZ(e,t){return dX(dK(e,t))}function dQ(e,t){let n=e.openedWorkspaces.findIndex(e=>e.workspaceName===t);return n<0?e:0===n?null:{...e,openedWorkspaces:e.openedWorkspaces.slice(0,n)}}function d0(e,t,n,o){let{registeredWorkspacesByName:r}=rC.getState(),i=r[n];if(!i)throw Error(`No workspace named "${n}" registered`);let s=r[t];if(!s)throw Error(`No workspace named "${t}" registered`);if(s.window!==i.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);if(i.window!==e.windowName)throw Error(`Cannot open child workspace ${n} as window ${i.window} is not opened`);let{openedWorkspaces:a}=e,l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{...e,openedWorkspaces:[...c,d7(n,o)]}}function d1(e,t,n){let o=e.openedWorkspaces.findIndex(e=>e.uuid===t);if(o<0)return e;let r=e.openedWorkspaces[o];if(Object.keys(n).every(e=>r[e]===n[e]))return e;let i=[...e.openedWorkspaces];return i[o]={...r,...n},{...e,openedWorkspaces:i}}function d2(e,t,n){let o=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.uuid===t));if(o<0)return e;let r=e.openedWindows[o],i=d1(r,t,n);if(i===r)return e;let s=[...e.openedWindows];return s[o]=i,{...e,openedWindows:s}}let d5={setWindowMaximized(e,t,n){let o=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[o],maximized:n};return r[o]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let n=e.openedWindows.findIndex(e=>e.windowName===t),o=e.openedWindows[n],r=[...e.openedWindows.filter((e,t)=>t!==n),o];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let n=e.openedWindows.findIndex(e=>e.openedWorkspaces.some(e=>e.workspaceName===t));if(n<0)return e;let o=dQ(e.openedWindows[n],t),r=[...e.openedWindows],i=e.isMostRecentlyOpenedWindowHidden;if(null===o){let t=n===e.openedWindows.length-1;r.splice(n,1),t&&r.length>0&&(i=!1)}else r[n]=o;return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:i}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==i)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let s=[...e.openedWindows];return s[i]=d0(e.openedWindows[i],t,n,o),{...e,openedWindows:s}},setHasUnsavedChanges:(e,t,n)=>d2(e,t,{hasUnsavedChanges:n}),setWorkspaceTitle:(e,t,n)=>d2(e,t,{title:n})};function d6(){return rZ(rC,d5)}let d8=()=>(0,rF.useContext)(ie.i),d4=()=>Object.keys(rC.getState().registeredWorkspacesByName);function d3(e,t,n){let o=e.openedWorkspaces[e.openedWorkspaces.length-1];return(o?t[o.workspaceName]?.width:void 0)??n[e.windowName]?.width??"narrow"}function d7(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,dV.A)()}}function d9(e,t,n){let o=rC.getState().registeredWorkspacesByName[e];return o?{windowName:o.window,openedWorkspaces:[d7(e,t)],props:n??null,maximized:!1}:null}let me=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let{setHasUnsavedChanges:o,setWorkspaceTitle:r}=d8();return(0,rF.useEffect)(()=>{o(n??!1)},[n,o]),(0,rF.useEffect)(()=>{r(e)},[e,r]),(0,rz.jsx)(rz.Fragment,{children:t})};var mt=n(1820),mn=n(3173),mo=n(185);let mr={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"},mi=e=>e.registeredWorkspacesByName,ms=({lifeCycle:e,openedWorkspace:t,openedWindow:n,groupProps:o,actions:r,renderChrome:i,isRootWorkspace:s,isLeafWorkspace:a,showActionMenu:l})=>{let c=(0,rF.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:i=!1}=e;return o?!!(i||await r.promptForClosingWorkspaces())&&(r.closeWorkspace(n.openedWorkspaces[0].workspaceName),!0):!!(i||await r.promptForClosingWorkspaces(t.workspaceName))&&(r.closeWorkspace(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let i=t.workspaceName,{openedWorkspaces:s}=n,a=s.findIndex(e=>e.workspaceName===i);-1===a||a!==s.length-1&&s.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await r.promptForClosingWorkspaces(s[a+1].workspaceName)||r.openChildWorkspace(i,e,o||{})},setWorkspaceTitle:e=>r.setWorkspaceTitle(t.uuid,e),setHasUnsavedChanges:e=>r.setHasUnsavedChanges(t.uuid,e),workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:o,workspaceMeta:rC.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:s,isLeafWorkspace:a,windowName:n.windowName,showActionMenu:l},[t,n,o,r,s,a,l]),u=!i&&!a,d=(0,rF.useMemo)(()=>e?(0,rz.jsx)(mt.A,{config:e,mountParcel:rU,wrapWith:"div",wrapClassName:sW()(mr.workspaceContent,{[mr.hiddenExtraWorkspace]:u}),...c},t.workspaceName):null===e?(0,rz.jsx)("div",{className:sW()(mr.workspaceContent,{[mr.hiddenExtraWorkspace]:u}),children:(0,rz.jsx)(sH.InlineNotification,{kind:"error",title:tm("error"),subtitle:tm("somethingWentWrongTryReloading"),hideCloseButton:!0})}):null,[e,t.workspaceName,c,u]);return i?(0,rz.jsx)("div",{children:(0,rz.jsx)(ma,{openedWorkspace:t,openedWindow:n,isRootWorkspace:s,showActionMenu:l,closeWindow:()=>c.closeWorkspace({closeWindow:!0}),children:d})}):d??(0,rz.jsx)(sH.InlineLoading,{className:sW()(mr.loader,{[mr.hiddenExtraWorkspace]:u}),description:`${tm("loading")}`})},ma=({openedWorkspace:e,openedWindow:t,isRootWorkspace:n,showActionMenu:o,closeWindow:r,children:i})=>{let s=i3(),{openedGroup:a,openedWindows:l,registeredWindowsByName:c,registeredWorkspacesByName:u,registeredGroupsByName:d,isMostRecentlyOpenedWindowHidden:m,setWindowMaximized:p,hideWindow:f}=d6(),g=t.windowName,{maximized:h}=t,w=e.title??"",_=c[g],y=d3(t,u,c),v=_?.icon,b=_?.canMaximize,x=!!a&&d[a.groupName]?.persistence==="closable",S=!!v&&!x,j=l.findIndex(e=>e.windowName===g)<l.length-1||m,k=Object.values(c).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,rz.jsxs)("div",{className:sW()(mr.workspaceOuterContainer,{[mr.narrowWorkspace]:"narrow"===y,[mr.widerWorkspace]:"wider"===y,[mr.extraWideWorkspace]:"extra-wide"===y,[mr.isActionMenuOpened]:k}),children:[(0,rz.jsx)("div",{className:sW()(mr.workspaceSpacer,{[mr.hidden]:j})}),(0,rz.jsx)("div",{className:sW()(mr.workspaceMiddleContainer,{[mr.maximized]:h,[mr.hidden]:j,[mr.isRootWorkspace]:n,[mr.showActionMenu]:o}),children:(0,rz.jsx)("div",{className:sW()(mr.workspaceInnerContainer,{[mr.maximized]:h,[mr.hidden]:j,[mr.isRootWorkspace]:n}),children:i?(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsxs)(sH.Header,{"aria-label":tm("workspaceHeader"),className:mr.header,children:[(0,rz.jsx)(sH.HeaderName,{prefix:"",children:w}),(0,rz.jsx)("div",{className:mr.overlayHeaderSpacer}),(0,rz.jsx)(sH.HeaderGlobalBar,{className:mr.headerButtons,children:i7(s)?(0,rz.jsxs)(rz.Fragment,{children:[(b||h)&&(0,rz.jsx)(sH.HeaderGlobalAction,{"aria-label":h?tm("minimize"):tm("maximize"),onClick:()=>p(g,!h),children:h?(0,rz.jsx)(mn.Xj,{}):(0,rz.jsx)(mn.hz,{})}),S&&(0,rz.jsx)(sH.HeaderGlobalAction,{"aria-label":tm("hide"),onClick:()=>f(),children:(0,rz.jsx)(s3,{})}),!x&&(0,rz.jsx)(sH.HeaderGlobalAction,{"aria-label":tm("close"),onClick:r,children:(0,rz.jsx)(ag,{})})]}):(0,rz.jsxs)(rz.Fragment,{children:[S&&(0,rz.jsx)(sH.HeaderGlobalAction,{"aria-label":tm("hide"),onClick:()=>f(),children:(0,rz.jsx)(mo.d3,{})}),(0,rz.jsx)(sH.HeaderGlobalAction,{"aria-label":tm("close"),onClick:()=>{x?dG():r()},children:(0,rz.jsx)(ag,{})})]})})]}),i]}):(0,rz.jsx)(sH.InlineLoading,{className:mr.loader,description:`${tm("loading")} ...`})})})]})},ml=({openedWindow:e,groupProps:t,actions:n,renderChrome:o,showActionMenu:r})=>{let{openedWorkspaces:i}=e,[s,a]=(0,rF.useState)({}),l=rY(rC,mi),c=(0,rF.useRef)(new Set);return(0,rF.useEffect)(()=>{let e=!1;return Promise.all(i.map(async t=>{let n=l[t.workspaceName];if(!n)return null;let{moduleName:o,component:r}=n;try{return[t.uuid,await sN(o,r)]}catch(n){return e||c.current.has(t.uuid)||(c.current.add(t.uuid),y(n)),[t.uuid,null]}})).then(t=>{e||a(Object.fromEntries(t.filter(e=>null!=e)))},y),()=>{e=!0}},[i,l]),(0,rz.jsx)(rz.Fragment,{children:i.map((a,l)=>(0,rz.jsx)(ms,{openedWorkspace:a,openedWindow:e,groupProps:t,actions:n,renderChrome:o,lifeCycle:s[a.uuid],isRootWorkspace:0===l,isLeafWorkspace:l===i.length-1,showActionMenu:r},a.uuid))})},mc=e=>e.registeredWorkspacesByName,mu=({name:e,workspaceProps:t,windowProps:n,groupProps:o,onWindowChanged:r})=>{let i=rY(rC,mc),s=rY(rC,t=>{let n=t.registeredWorkspacesByName[e]?.window;return n?t.registeredWindowsByName[n]:void 0}),a={name:e,workspaceProps:t,windowProps:n,groupProps:o},l=(0,rF.useRef)(),c=(0,rF.useRef)(null);if(!l.current){let r=d9(e,t,n);l.current=T({openedWindow:r,groupProps:o??null}),r&&(c.current=a)}let u=l.current;(0,rF.useEffect)(()=>{let r=c.current;if(r&&r.name===e&&x(r.workspaceProps,t)&&x(r.windowProps,n)&&x(r.groupProps,o))return;let i=d9(e,t,n);u.setState({openedWindow:i,groupProps:o??null},!0),c.current=i?a:null},[e,t,n,o,i,u]);let d=(0,rF.useMemo)(()=>(function(e){function t(t){e.setState(e=>{if(!e.openedWindow)return e;let n=t(e.openedWindow);return n===e.openedWindow?e:{...e,openedWindow:n}})}return{closeWorkspace(e){t(t=>dQ(t,e))},openChildWorkspace(e,n,o){t(t=>d0(t,e,n,o))},setWorkspaceTitle(e,n){t(t=>d1(t,e,{title:n}))},setHasUnsavedChanges(e,n){t(t=>d1(t,e,{hasUnsavedChanges:n}))},promptForClosingWorkspaces(t){let{openedWindow:n}=e.getState();return n?dZ(n,t):Promise.resolve(!0)}}})(u),[u]),{openedWindow:m,groupProps:p}=rY(u),f=m?.openedWorkspaces[m.openedWorkspaces.length-1],g=f?.workspaceName??null,h=f?.title??"",w=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=s?.width??"narrow",y=(0,rF.useRef)(r);return(0,rF.useEffect)(()=>{y.current=r}),(0,rF.useEffect)(()=>{y.current?.({workspaceName:g,windowWidth:_,title:h,hasUnsavedChanges:w})},[g,_,h,w]),(0,rz.jsx)("div",{className:"-esm-implementer-tools__exported-workspace-module__exportedWorkspace___7PE0H",children:m?(0,rz.jsx)(ml,{openedWindow:m,groupProps:p,actions:d,renderChrome:!1,showActionMenu:!1}):null})},md="-esm-implementer-tools__action-menu-button2-module__container___jc6--",mm="-esm-implementer-tools__action-menu-button2-module__elementContainer___whLL8",mp="-esm-implementer-tools__action-menu-button2-module__active___fbyFm",mf="-esm-implementer-tools__action-menu-button2-module__focused___+aVpz";function mg({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,rz.jsxs)(rz.Fragment,{children:[e({size:16}),t?(0,rz.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,rz.jsx)("span",{className:"-esm-implementer-tools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let mh=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r,hidden:i,disabled:s})=>{let a=i3(),{openedWindows:l,restoreWindow:c,hideWindow:u,isMostRecentlyOpenedWindowHidden:d}=d6(),{extension:m}=(0,rF.useContext)(rV),p=l.findIndex(e=>e.windowName===m?.extensionId),f=l[p],g=null!=f,h=g&&(p<l.length-1||d),w=g&&!h,_=f?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,y=async()=>{if(g)h?c(f.windowName):u();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;dq(e,t,n)}};return i?.(l)?null:"tablet"===a||"phone"===a?(0,rz.jsxs)(sH.Button,{className:sW()(md,{[mp]:g&&!w,[mf]:w}),iconDescription:t,kind:"ghost",onClick:y,role:"button",tabIndex:0,size:"md",disabled:s?.(l),children:[(0,rz.jsx)("span",{className:mm,children:(0,rz.jsx)(mg,{hasUnsavedChanges:_,getIcon:e,tagContent:n})}),(0,rz.jsx)("span",{children:t})]}):(0,rz.jsx)(sH.IconButton,{align:"left","aria-label":t,className:sW()(md,{[mp]:g&&!w,[mf]:w}),enterDelayMs:300,kind:"ghost",label:t,onClick:y,size:"md",disabled:s?.(l),children:(0,rz.jsx)("div",{className:mm,children:(0,rz.jsx)(mg,{hasUnsavedChanges:_,getIcon:e,tagContent:n})})})};function mw({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,rz.jsx)(sH.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?af:ad,children:e?tm("showLess","Show less"):tm("showMore","Show more")})}let m_={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-"},my=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tk}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=ir()(t,tP),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rF.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsxs)("p",{className:m_.heading,children:[tm("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,rz.jsx)(sH.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rz.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>l8(e?.startDate).getTime()-l8(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,rz.jsx)("li",{children:(0,rz.jsx)(rG,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,rz.jsx)("li",{children:"--"})})(),t.length>3&&(0,rz.jsx)("li",{className:m_.link,children:(0,rz.jsx)(rG,{to:`${window.spaBase}/home/patient-lists`,children:tm("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mv=({patientId:e})=>{let{patient:t,isLoading:n}=sc(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,rz.jsx)(sH.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsx)("p",{className:m_.heading,children:tm("address","Address")}),(0,rz.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,rz.jsxs)("li",{children:[tm(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,rz.jsxs)("li",{children:[tm(e,e),": ",t]},`address-${e}`)):(0,rz.jsx)("li",{children:"--"})})]})},mb=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=iT({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=iW()(`${tk}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tP);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,rF.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,rF.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tm(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsx)("p",{className:m_.heading,children:tm("contactDetails","Contact Details")}),t?(0,rz.jsx)(sH.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rz.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,rz.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,rz.jsx)("li",{children:"--"})})]})},mx=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tk}/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}=ir()(e?t:null,tP),s=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?s:null,error:o,isLoading:r,isValidating:i}}(e);return(0,rz.jsxs)(rz.Fragment,{children:[(0,rz.jsx)("p",{className:m_.heading,children:tm("relationships","Relationships")}),n?(0,rz.jsx)(sH.InlineLoading,{description:`${tm("loading","Loading")} ...`,role:"progressbar"}):(0,rz.jsx)("ul",{children:t&&t.length>0?(0,rz.jsx)(rz.Fragment,{children:t.map(e=>(0,rz.jsxs)("li",{className:m_.relationship,children:[(0,rz.jsx)("div",{children:(0,rz.jsx)(rG,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,rz.jsx)("div",{children:e.relationshipType}),(0,rz.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tm("yearAbbreviation","yr"):tm("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,rz.jsx)("li",{children:"--"})})]})};function mS({patientId:e,deceased:t}){return(0,rz.jsxs)("div",{className:sW()(m_.contactDetails,{[m_.deceased]:t}),children:[(0,rz.jsxs)("div",{className:m_.row,children:[(0,rz.jsx)("div",{className:m_.col,children:(0,rz.jsx)(mv,{patientId:e})}),(0,rz.jsx)("div",{className:m_.col,children:(0,rz.jsx)(mb,{patientUuid:e})})]}),(0,rz.jsxs)("div",{className:m_.row,children:[(0,rz.jsx)("div",{className:m_.col,children:(0,rz.jsx)(mx,{patientId:e})}),(0,rz.jsx)("div",{className:m_.col,children:(0,rz.jsx)(my,{patientUuid:e})})]})]})}function mj(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 mk="-esm-implementer-tools__action-menu2-module__container___6Gke0";function mN({workspaceGroup:e,groupProps:t}){let n=i3(),{persistence:o}=e;return(0,rz.jsx)("aside",{className:"-esm-implementer-tools__action-menu2-module__sideRail___T2lMV",children:(0,rz.jsxs)("div",{className:mk,children:["closable"==o&&i7(n)&&(0,rz.jsx)(sH.IconButton,{align:"left",onClick:()=>dG(),label:tm("close"),kind:"ghost",children:(0,rz.jsx)(ag,{})}),(0,rz.jsx)(rV.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,rz.jsx)(r3,{className:mk,name:e.name,state:{groupProps:t}})})]})})}function mC(e){let t=new URL(e,window.location.origin).pathname,n=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,o=n.endsWith("/")?n.slice(0,-1):n,r=null;return o?o===t?r="/":t.startsWith(`${o}/`)&&(r=t.slice(o.length)):r=t,{full:t,spaRelative:r}}function mE(e){e&&(0,r7.createRoot)(e).render((0,rz.jsx)(mP,{}))}function mP(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=d6();if((0,rF.useEffect)(()=>nz("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(o)return void r(dG().then(e=>!e));let a=n[e.groupName],l=a?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=mC(t),i=mC(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(dG().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,rz.jsxs)("div",{className:sW()("-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,rz.jsx)("div",{className:"-esm-implementer-tools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(t=>(0,rz.jsx)(mI,{openedWindow:t,groupProps:e.props,showActionMenu:a},t.windowName))}),a&&(0,rz.jsx)(mN,{workspaceGroup:r,groupProps:e.props})]})}function mI({openedWindow:e,groupProps:t,showActionMenu:n}){let{windowName:o}=e,r=(0,rF.useMemo)(()=>({closeWorkspace(e){rC.setState(t=>d5.closeWorkspace(t,e))},openChildWorkspace(e,t,n){rC.setState(o=>d5.openChildWorkspace(o,e,t,n))},setWorkspaceTitle(e,t){rC.setState(n=>d5.setWorkspaceTitle(n,e,t))},setHasUnsavedChanges(e,t){rC.setState(n=>d5.setHasUnsavedChanges(n,e,t))},promptForClosingWorkspaces(e){let t=rC.getState().openedWindows.find(e=>e.windowName===o);return t?dZ(t,e):Promise.resolve(!0)}}),[o]);return(0,rz.jsx)(ml,{openedWindow:e,groupProps:t,actions:r,renderChrome:!0,showActionMenu:n})}function mO(e,t,n){if(null==e)return n;let o=lV(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=lV(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 mA(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mR(e){return!!e&&e.constructor===Object}var mT=n(3376);function m$(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function mM(e,t){return mT(function(e){let t=e.indexOf("-");if(t>=0){let n=m$(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return m$(e)}(t),e,{includePrerelease:!0})}async function mL(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 mW(r(s)),await e()}catch(e){i?.(e,s),n=e}while(o(s++));throw n}async function mW(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mD(e,t,n,o){}function mU(e){}function mB(e){return Promise.resolve([])}function mF(e){return Promise.resolve([])}function mH(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 mV(e){return()=>{}}function mz(){return!0}}}]);
|