@openmrs/esm-devtools-app 10.0.1-pre.5635 → 10.0.1-pre.5649
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/77.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["77"],{9668(e,t,o){let n,r;o.r(t),o.d(t,{GenderUnknownIcon:()=>aN,evaluateAsNumber:()=>ns,getImportMapOverrideMap:()=>oe,StockManagementPictogram:()=>dd,ChemistryIcon:()=>al,BabyIcon:()=>s4,DashboardExtension:()=>lN,openmrsComponentDecorator:()=>iu,tryRegisterExtension:()=>sN,pictogramIds:()=>uq,ActivityIcon:()=>s1,compile:()=>nu,removeRouteMapOverride:()=>oA,TableBatchActions:()=>sH,getAsyncLifecycle:()=>im,subscribeOpenmrsEvent:()=>oF,PasswordIcon:()=>aX,Assessment2Pictogram:()=>uZ,CloseIcon:()=>ap,setupRouteMapOverrides:()=>oT,getWorkspaceGroupRegistration:()=>rA,registerWorkspace:()=>rN,useFeatureFlag:()=>iG,reset:()=>r_,LabOrderIcon:()=>aM,VisitMode:()=>oq,useLocations:()=>se,getLifecycle:()=>id,formatDatetime:()=>ct,getVisitsForPatient:()=>o2,formatPartialDate:()=>l4,CustomOverflowMenu:()=>sX,LocationIcon:()=>aL,GroupIcon:()=>aE,createUseStore:()=>r2,VisitStatus:()=>oK,getSessionLocation:()=>tD,getCurrentImportMap:()=>om,usePatient:()=>sa,useRenderableExtensions:()=>sc,getOpenedWindowIndexByWorkspace:()=>r$,setLeftNav:()=>rv,clearHistory:()=>tw,clearConfigErrors:()=>eY,formatTime:()=>ce,isDevEnabled:()=>tq,closeWorkspaceGroup2:()=>ma,getCurrentRouteMap:()=>oj,ConfigurableLink:()=>rK,sessionStore:()=>tE,setSessionLocale:()=>tU,subscribeSnackbarShown:()=>h,getLoggedInUser:()=>tL,GenderMaleIcon:()=>aS,getExtensionSlotConfigFromStore:()=>en,evaluateAsNumberAsync:()=>na,getImportMapDefaultMap:()=>t7,unregisterExtensionRendering:()=>nJ,implementerToolsConfigStore:()=>e_,Type:()=>H,InPatientPictogram:()=>u7,cleanupObsoleteFeatureFlags:()=>nO,getAttachmentsUrl:()=>oW,showSnackbar:()=>dj,PatientBannerActionsMenu:()=>uU,PatientSearchPictogram:()=>dr,DocumentAttachmentIcon:()=>a_,Snackbar:()=>dy,CardiologyPictogram:()=>u0,ImageMedicalIcon:()=>aP,ActionableNotificationComponent:()=>us,DiagnosisTags:()=>cV,iconIds:()=>s0,PatientsPictogram:()=>di,interpolateUrl:()=>tu,setupHistory:()=>tg,subscribeToastShown:()=>g,detachAll:()=>rm,convertToLocaleCalendar:()=>co,DocumentIcon:()=>ah,configInternalStore:()=>Y,ActionMenuButton2:()=>mk,setupDynamicOfflineDataHandler:()=>mq,makeUrl:()=>tj,oneOf:()=>e5,selectPreferredName:()=>uI,launchWorkspaceGroup:()=>function e(t,o){let n=rA(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:s,workspaceToLaunch:a}=o,l=function(){return dz}();if(l.getState().openWorkspaces.length){let n=l.getState().workspaceGroup;n?dT(n?.name,()=>{e(t,o)}):dK(()=>{e(t,o)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:n.members,cleanup:s}})),d0(t,r),i?.(),a&&dR(a.name,a.additionalProps??{})},MobileCheckIcon:()=>aG,createErrorHandler:()=>v,parseDate:()=>l1,getAttachmentByUuid:()=>oR,LeftNavMenu:()=>cZ,getExtensionRegistration:()=>rl,ShoppingCartAddItemIcon:()=>lk,ReferralOrderIcon:()=>a2,ReportIcon:()=>a5,dispatchToastShown:()=>m,getImportMapNextPageMap:()=>t9,registerExtension:()=>rc,setupOfflineSync:()=>mJ,DownloadIcon:()=>aw,useConnectivity:()=>mQ,provide:()=>eA,ShoppingCartArrowDownIcon:()=>lt,featureFlagsStore:()=>nA,promptBeforeClosing:()=>dL,jsep:()=>o6.A,GeriatricsPictogram:()=>u3,SearchIcon:()=>a4,reportError:()=>w,slugify:()=>oc,isOmrsDateToday:()=>lZ,getExtensionStore:()=>nq,BloodBankPictogram:()=>uQ,TriagePictogram:()=>dp,Workspace2:()=>m_,refetchCurrentUser:()=>tR,CheckmarkOutlineIcon:()=>aa,registerExtensionSlot:()=>rh,AllergiesIcon:()=>lv,ArrowDownIcon:()=>s6,useOpenmrsInfinite:()=>iZ,getExtensionConfigFromExtensionSlotStore:()=>ea,OpenmrsDatePicker:()=>cG,getExtensionConfigFromStore:()=>es,getDynamicOfflineDataEntries:()=>mK,getLocaleDisplayName:()=>lH,messageOmrsServiceWorker:()=>mY,navigate:()=>tm,launchWorkspace2:()=>ml,getGroupByWindowName:()=>rT,CustomOverflowMenuItem:()=>sY,isUrl:()=>e6,CaretDownIcon:()=>ae,ArrowLeftIcon:()=>s5,FacilityPictogram:()=>u8,ViewOffIcon:()=>lh,updateInternalExtensionStore:()=>nU,dispatchActionableNotificationShown:()=>u,resetRouteMapOverrides:()=>oP,formatDurationBetween:()=>cu,defaultVisitCustomRepresentation:()=>oX,getBreadcrumbsFor:()=>tn,useOpenmrsPagination:()=>iV,Pagination:()=>uS,CheckmarkFilledIcon:()=>as,clearCurrentUser:()=>tM,showModal:()=>uo,ChevronUpIcon:()=>am,saveVisit:()=>o0,useAttachments:()=>iA,Pictogram:()=>dw,useExtensionSlot:()=>r7,ChevronDownIcon:()=>ac,OpenmrsDateRangePicker:()=>cz,deleteAttachmentPermanently:()=>oD,getVisitTypes:()=>oJ,OverflowMenuHorizontalIcon:()=>aq,EventScheduleIcon:()=>ab,getSessionStore:()=>tT,ActionMenu:()=>mo,ProcedureOrderIcon:()=>a0,preloadImport:()=>od,registerWorkspaceWindows2:()=>rM,useOnVisible:()=>so,setSessionLocation:()=>tB,userHasAccess:()=>tW,ChartAverageIcon:()=>ar,getFeatureFlag:()=>nT,UserAvatarIcon:()=>lm,renderExtension:()=>rz,useFhirInfinite:()=>i6,toVisitTypeObject:()=>oz,useSession:()=>su,EmergencyDepartmentPictogram:()=>u5,Notification:()=>ur,dispatchSnackbarShown:()=>d,navigateAndLaunchWorkspace:()=>dM,formatDate:()=>l7,workspace2StoreActions:()=>md,SwitcherIcon:()=>a9,esmStyleGuideSchema:()=>sB,getImportMapDisabledOverrides:()=>ot,useAssignedExtensionIds:()=>iE,CaretRightIcon:()=>ao,evaluateAsType:()=>nl,PageHeader:()=>ux,TranslateIcon:()=>ll,setUserProperties:()=>tF,MovementIcon:()=>aJ,renderInlineNotifications:()=>up,subscribePrecacheStaticDependencies:()=>mZ,PaymentsDeskPictogram:()=>ds,usePrimaryIdentifierCode:()=>sl,useLayoutType:()=>i8,getCurrentUser:()=>tO,XrayPictogram:()=>df,CaretUpIcon:()=>an,renderActionableNotifications:()=>ug,OpenmrsAppContext:()=>ik,setupModals:()=>ut,getDefaultsFromConfigSchema:()=>function e(t){let o={};for(let n of Object.keys(t))if(mU(t[n])&&t[n].hasOwnProperty("_default"))o[n]=t[n]._default;else{if(n.startsWith("_"))continue;mU(t[n])?o[n]=e(t[n]):o[n]=t[n]}return o},subscribeTo:()=>R,recordConfigDerivationError:()=>eg,useAbortController:()=>ij,Extension:()=>rX,getFhirServerPaginationHandlers:()=>iX,useConnectedExtensions:()=>iR,registerApp:()=>sE,HospitalBedIcon:()=>aA,useExtensionInternalStore:()=>iU,configExtensionStore:()=>Q,getSynchronizationItems:()=>mX,getExtensionSlotsConfigStore:()=>et,registerExtensionRendering:()=>nV,RenderIfValueIsTruthy:()=>iS,registerFeatureFlag:()=>nP,useFhirFetchAll:()=>i2,restBaseUrl:()=>tx,CalendarHeatMapIcon:()=>s7,getWorkspaceRegistration:()=>rI,isImportMapOverrideDisabled:()=>oo,resetConfigSystem:()=>eZ,getExtensionInternalStore:()=>nD,registerGlobalStore:()=>T,evaluateAsBoolean:()=>nr,PatientBannerPatientInfo:()=>uD,addRouteMapOverride:()=>oI,getDefaultCalendar:()=>l8,SettingsIcon:()=>a7,DrugOrderIcon:()=>av,ProgramsIcon:()=>a1,useAssignedExtensions:()=>r4,CloseFilledIcon:()=>af,canAccessStorage:()=>mB,registerDefaultCalendar:()=>l5,TreeViewAltIcon:()=>lu,OverflowMenuVerticalIcon:()=>aK,clearConfigDerivationError:()=>eh,getConfigStore:()=>ee,registerWorkspaceGroup:()=>rC,InformationSquareIcon:()=>a$,EmptyCard:()=>cK,ChevronLeftIcon:()=>au,RadiologyIcon:()=>lx,useCandidateExtensions:()=>iI,renderToasts:()=>dA,isDesktop:()=>i3,integrateBreakpoints:()=>sT,RegistrationPictogram:()=>dc,CardHeader:()=>sW,getExtensionRegistrationFrom:()=>ra,InformationIcon:()=>aO,TrashCanIcon:()=>lc,useShallowStableValue:()=>rY,useOpenmrsSWR:()=>sn,Assessment1Pictogram:()=>uY,finishRegisteringAllApps:()=>sI,importDynamic:()=>ou,useFhirPagination:()=>iK,useVisitContextStore:()=>sw,ArrowUpIcon:()=>s3,showActionableNotification:()=>uh,useForceUpdate:()=>iz,useVisit:()=>sv,updateWorkspaceWindowState:()=>dJ,PatientBannerPatientIdentifiers:()=>uR,WorkspaceNotification:()=>d9,TransferPictogram:()=>dm,usePagination:()=>sr,Breakpoint:()=>sA,PatientBannerToggleContactDetailsButton:()=>mS,CloseOutlineIcon:()=>ag,ObstetricsPictogram:()=>dn,parseDateInput:()=>cr,getConfig:()=>eO,attach:()=>ru,getLocale:()=>lG,ActionMenuButton:()=>d8,isUrlWithTemplateParameters:()=>e2,useEmrConfiguration:()=>iD,useLeftNav:()=>i4,ToolsIcon:()=>la,ErrorState:()=>cX,detach:()=>rd,setCurrentVisit:()=>oQ,ConditionsIcon:()=>lb,SaveIcon:()=>a3,useWorkspaces:()=>dX,resetWorkspaceStore:()=>dQ,useConfig:()=>i$,validator:()=>G,CalendarIcon:()=>s9,getHistory:()=>th,StickyNoteAddIcon:()=>lo,useWorkspace2Store:()=>mm,getPatientName:()=>uj,getVisitStore:()=>oZ,getCoreTranslation:()=>tc,registerModuleWithConfigSystem:()=>eN,registerModuleLoad:()=>eC,getBreadcrumbs:()=>te,extractVariableNames:()=>nC,translateFrom:()=>tl,useStoreWithActions:()=>r1,EditIcon:()=>ay,getCandidateExtensions:()=>rg,shallowEqual:()=>b,subscribeNotificationShown:()=>p,MaximizeIcon:()=>aB,promptForClosingWorkspaces:()=>mu,WarningIcon:()=>lw,closeAllWorkspaces:()=>dK,fhirBaseUrl:()=>tk,matchLocale:()=>mD,registerBreadcrumb:()=>e7,usePatientPhoto:()=>uG,EventsIcon:()=>ax,createGlobalStore:()=>O,workspaceStore:()=>dz,subscribeToFeatureFlag:()=>n$,useExtensionStore:()=>iH,closeWorkspace:()=>dF,createAttachment:()=>oL,useLeftNavStore:()=>i7,TableIcon:()=>li,Icon:()=>lj,InformationFilledIcon:()=>aT,getCurrentPageMap:()=>t4,LaboratoryPictogram:()=>u9,temporaryConfigStore:()=>Z,getPromptBeforeClosingFcn:()=>dD,toDateObjectStrict:()=>lQ,defineConfigSchema:()=>ej,filterBreadcrumbs:()=>to,invalidateImplementerToolsConfig:()=>ep,PatientBannerContactDetails:()=>mA,getAssignedExtensions:()=>rf,PatientPhoto:()=>uJ,MaterialOrderIcon:()=>aD,MicroscopeIcon:()=>aH,visitTypesUrl:()=>oV,scheduleRecomputation:()=>nQ,PharmacyPictogram:()=>da,AttachmentIcon:()=>ly,MoneyIcon:()=>az,getAttachments:()=>oM,getWorkspaceGroupStore:()=>d0,PageHeaderContent:()=>uk,MedicationIcon:()=>aU,PrinterIcon:()=>aQ,PatientListsPictogram:()=>dh,useAppContext:()=>iN,isOpenmrsRoutes:()=>og,AppointmentsAltPictogram:()=>uX,GenericOrderTypeIcon:()=>aC,batchExtensionUpdates:()=>nY,useExtensionSlotStore:()=>r8,ViewIcon:()=>l_,formattedName:()=>uE,sessionEndpoint:()=>tS,duration:()=>cl,resetImportMapOverrides:()=>oi,TableOfContentsIcon:()=>lr,CaretLeftIcon:()=>at,getTranslationOverrides:()=>eT,isVersionSatisfied:()=>mG,EmptyCardIllustration:()=>cq,PenIcon:()=>aZ,getWorkspaceStore:()=>dV,validators:()=>e8,setupImportMapOverrides:()=>ol,showToast:()=>dP,useDefineAppContext:()=>ix,verifyTotpCode:()=>tH,getGlobalStore:()=>$,useOnClickOutside:()=>st,getWindowByWorkspaceName:()=>rO,ArrowRightIcon:()=>s8,loadLifeCycles:()=>sk,registerBreadcrumbs:()=>e9,MotherIcon:()=>aV,fetchCurrentPatient:()=>oB,Toast:()=>dN,MessageQueueIcon:()=>aF,TwoFactorAuthenticationIcon:()=>ld,Pharmacy2Pictogram:()=>dl,goBackInHistory:()=>t_,GroupAccessIcon:()=>aI,getExtensionRenderingsStore:()=>nB,setImplementerToolsConfigRecomputer:()=>em,getAsyncExtensionLifecycle:()=>ig,setupApiModule:()=>tX,renderLoadingSpinner:()=>mP,WorkspaceContainer:()=>mn,showNotification:()=>uf,getModalRegistration:()=>rk,ListCheckedIcon:()=>aW,ResponsiveWrapper:()=>dv,GynaecologyPictogram:()=>u4,ShoppingCartIcon:()=>le,getRouteMapNextPageMap:()=>oC,MetadataExportPictogram:()=>dt,updateVisit:()=>o1,backendDependencies:()=>tK,MaybePictogram:()=>d_,createParcelMounter:()=>rH,openmrsFetch:()=>tN,useStore:()=>r0,isOpenmrsAppRoutes:()=>of,HomePictogram:()=>dg,DentistryPictogram:()=>u2,ServiceQueuesPictogram:()=>du,toLanguageTag:()=>lF,launchWorkspace:()=>dR,setFeatureFlag:()=>nR,DigitalTrustPictogram:()=>u6,NumericObservation:()=>uy,attachmentUrl:()=>o$,interpolateString:()=>td,inRange:()=>e1,useExtensionSlotMeta:()=>iF,AppointmentsPictogram:()=>uK,renderSnackbars:()=>dS,getRegisteredWorkspace2Names:()=>mf,logout:()=>tG,toLocationObject:()=>oH,ChartLineIcon:()=>ai,UserHasAccess:()=>sd,evaluateAsBooleanAsync:()=>ni,changeWorkspaceContext:()=>dH,createDashboard:()=>lC,getLocations:()=>oG,useExtensionContext:()=>iB,canCloseWorkspaceWithoutPrompting:()=>dO,getExtensionsConfigStore:()=>er,getRouteMapDefaultMap:()=>oN,age:()=>uP,isOmrsDateStrict:()=>lY,registerWorkspaceGroups2:()=>rR,usePaginationInfo:()=>si,evaluateAsync:()=>nn,useOpenmrsFetchAll:()=>i0,removeImportMapOverride:()=>or,showWorkspacePrompts:()=>dY,useVisitTypes:()=>sb,ageAsDuration:()=>uA,getExtensionNameFromId:()=>rs,renderParcel:()=>rF,useWorkspace2Context:()=>mp,ResetIcon:()=>a8,RenewIcon:()=>a6,subscribeActionableNotificationShown:()=>f,ErrorCard:()=>cY,GenderFemaleIcon:()=>ak,enableImportMapOverride:()=>os,retry:()=>mz,ComponentContext:()=>rq,ExtensionSlot:()=>ie,unsetLeftNav:()=>ry,addImportMapOverride:()=>on,MaybeIcon:()=>lS,useCustomOverflowMenu:()=>sK,PedestrianFamilyIcon:()=>aY,cancelPrompt:()=>dB,CtScanPictogram:()=>u1,dispatchNotificationShown:()=>c,leftNavStore:()=>rw,OpenmrsFetchError:()=>tC,UserFollowIcon:()=>lp,launchWorkspaceGroup2:()=>ms,ChevronRightIcon:()=>ad,UserXrayIcon:()=>lf,GenderOtherIcon:()=>aj,formatDuration:()=>cn,toOmrsIsoString:()=>l0,Labs2Pictogram:()=>de,workspace2Store:()=>rP,setUserLanguage:()=>t$,useBodyScrollLock:()=>iP,getExtensionConfig:()=>ei,SyringeIcon:()=>ln,LocationPicker:()=>cQ,useDebounce:()=>iM,TimeIcon:()=>ls,getExtensionSlotConfig:()=>eo,AddIcon:()=>s2,getRouteMapOverrideMap:()=>oE,processConfig:()=>e$,InventoryManagementIcon:()=>aR,registerWorkspaces2:()=>rW,UserIcon:()=>lg,formatPatientName:()=>uC,fireOpenmrsEvent:()=>oU,registerModal:()=>rx,registerTranslationNamespace:()=>eE,displayName:()=>uN,evaluate:()=>no,defineExtensionConfigSchema:()=>eI,renderWorkspaceWindowsAndMenu:()=>mW,getSyncLifecycle:()=>ip,evaluateAsTypeAsync:()=>nc});let i="openmrs:notification-shown",s="openmrs:actionable-notification-shown",a="openmrs:toast-shown",l="openmrs:snack-bar-shown";function c(e){window.dispatchEvent(new CustomEvent(i,{detail:e}))}function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function p(e){let t=t=>e(t.detail);return window.addEventListener(i,t),()=>window.removeEventListener(i,t)}function f(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function _(e,t){return e instanceof Error?e.message||t:"string"==typeof e&&e.trim().length>0?e:t}function w(e){let t=y(e);setTimeout(()=>{throw t})}function v(){let e=Error();return t=>{let o=y(t);o.stack+=`
|
|
1
|
+
"use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["77"],{9668(e,t,o){let n,r,i;o.r(t),o.d(t,{GenderUnknownIcon:()=>sA,evaluateAsNumber:()=>nu,getImportMapOverrideMap:()=>or,StockManagementPictogram:()=>dg,ChemistryIcon:()=>sm,BabyIcon:()=>st,DashboardExtension:()=>lA,openmrsComponentDecorator:()=>ig,tryRegisterExtension:()=>aA,pictogramIds:()=>uZ,ActivityIcon:()=>a8,compile:()=>nf,removeRouteMapOverride:()=>oR,TableBatchActions:()=>aJ,getAsyncLifecycle:()=>iw,subscribeOpenmrsEvent:()=>oV,PasswordIcon:()=>s0,Assessment2Pictogram:()=>u2,CloseIcon:()=>sw,setupRouteMapOverrides:()=>oW,getWorkspaceGroupRegistration:()=>rR,registerWorkspace:()=>rA,useFeatureFlag:()=>iq,reset:()=>rb,LabOrderIcon:()=>sB,VisitMode:()=>oZ,useLocations:()=>ar,getLifecycle:()=>ih,formatDatetime:()=>ci,getVisitsForPatient:()=>o3,formatPartialDate:()=>ct,CustomOverflowMenu:()=>a0,LocationIcon:()=>sF,GroupIcon:()=>sO,createUseStore:()=>r3,VisitStatus:()=>oQ,getSessionLocation:()=>tH,getCurrentImportMap:()=>oh,usePatient:()=>ad,useRenderableExtensions:()=>ap,getOpenedWindowIndexByWorkspace:()=>rL,setLeftNav:()=>rk,clearHistory:()=>tx,clearConfigErrors:()=>e1,formatTime:()=>cr,isDevEnabled:()=>tZ,closeWorkspaceGroup2:()=>md,getCurrentRouteMap:()=>oI,ConfigurableLink:()=>rQ,sessionStore:()=>tO,setSessionLocale:()=>tz,subscribeSnackbarShown:()=>w,getLoggedInUser:()=>tF,GenderMaleIcon:()=>sE,getExtensionSlotConfigFromStore:()=>er,evaluateAsNumberAsync:()=>nd,getImportMapDefaultMap:()=>oo,unregisterExtensionRendering:()=>nY,implementerToolsConfigStore:()=>e_,Type:()=>G,InPatientPictogram:()=>dn,cleanupObsoleteFeatureFlags:()=>nM,getAttachmentsUrl:()=>oU,showSnackbar:()=>dI,PatientBannerActionsMenu:()=>uz,PatientSearchPictogram:()=>dl,DocumentAttachmentIcon:()=>sb,Snackbar:()=>dS,CardiologyPictogram:()=>u5,ImageMedicalIcon:()=>s$,ActionableNotificationComponent:()=>uu,DiagnosisTags:()=>cX,iconIds:()=>a5,PatientsPictogram:()=>dc,interpolateUrl:()=>tf,setupHistory:()=>tv,subscribeToastShown:()=>h,detachAll:()=>rh,convertToLocaleCalendar:()=>ca,DocumentIcon:()=>sy,configInternalStore:()=>Z,ActionMenuButton2:()=>mC,setupDynamicOfflineDataHandler:()=>mZ,makeUrl:()=>tI,oneOf:()=>e7,selectPreferredName:()=>uT,launchWorkspaceGroup:()=>function e(t,o){let n=rR(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:a,workspaceToLaunch:s}=o,l=function(){return dK}();if(l.getState().openWorkspaces.length){let n=l.getState().workspaceGroup;n?dW(n?.name,()=>{e(t,o)}):dQ(()=>{e(t,o)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:n.members,cleanup:a}})),d5(t,r),i?.(),s&&dD(s.name,s.additionalProps??{})},MobileCheckIcon:()=>sq,createErrorHandler:()=>y,parseDate:()=>l8,getAttachmentByUuid:()=>oD,LeftNavMenu:()=>c2,getExtensionRegistration:()=>rm,ShoppingCartAddItemIcon:()=>lC,ReferralOrderIcon:()=>s3,ReportIcon:()=>s7,dispatchToastShown:()=>p,getImportMapNextPageMap:()=>on,registerExtension:()=>rp,setupOfflineSync:()=>mY,DownloadIcon:()=>sx,useConnectivity:()=>m6,provide:()=>eR,ShoppingCartArrowDownIcon:()=>li,featureFlagsStore:()=>nR,promptBeforeClosing:()=>dF,jsep:()=>o4.A,GeriatricsPictogram:()=>de,SearchIcon:()=>lt,reportError:()=>v,slugify:()=>op,isOmrsDateToday:()=>l2,getExtensionStore:()=>nZ,BloodBankPictogram:()=>u6,TriagePictogram:()=>dw,Workspace2:()=>mb,refetchCurrentUser:()=>tD,CheckmarkOutlineIcon:()=>sd,registerExtensionSlot:()=>ry,AllergiesIcon:()=>lk,ArrowDownIcon:()=>a4,useOpenmrsInfinite:()=>i2,getExtensionConfigFromExtensionSlotStore:()=>el,OpenmrsDatePicker:()=>cq,getExtensionConfigFromStore:()=>es,getDynamicOfflineDataEntries:()=>mQ,getLocaleDisplayName:()=>lJ,messageOmrsServiceWorker:()=>m1,navigate:()=>th,launchWorkspace2:()=>mm,getGroupByWindowName:()=>rW,CustomOverflowMenuItem:()=>a1,isUrl:()=>e4,CaretDownIcon:()=>sr,ArrowLeftIcon:()=>a7,FacilityPictogram:()=>u9,ViewOffIcon:()=>ly,updateInternalExtensionStore:()=>nz,dispatchActionableNotificationShown:()=>d,resetRouteMapOverrides:()=>o$,formatDurationBetween:()=>cf,defaultVisitCustomRepresentation:()=>o0,getBreadcrumbsFor:()=>ts,useOpenmrsPagination:()=>iX,Pagination:()=>uE,CheckmarkFilledIcon:()=>su,clearCurrentUser:()=>tB,showModal:()=>ua,ChevronUpIcon:()=>sh,saveVisit:()=>o5,useAttachments:()=>iR,Pictogram:()=>dx,useExtensionSlot:()=>io,ChevronDownIcon:()=>sp,OpenmrsDateRangePicker:()=>cK,deleteAttachmentPermanently:()=>oH,getVisitTypes:()=>oY,OverflowMenuHorizontalIcon:()=>sZ,EventScheduleIcon:()=>sj,getSessionStore:()=>tW,ActionMenu:()=>ma,ProcedureOrderIcon:()=>s5,preloadImport:()=>og,registerWorkspaceWindows2:()=>rB,useOnVisible:()=>aa,setSessionLocation:()=>tG,userHasAccess:()=>tU,ChartAverageIcon:()=>sl,getFeatureFlag:()=>nW,UserAvatarIcon:()=>lh,renderExtension:()=>rK,useFhirInfinite:()=>i4,toVisitTypeObject:()=>oK,useSession:()=>af,EmergencyDepartmentPictogram:()=>u7,Notification:()=>ul,dispatchSnackbarShown:()=>m,navigateAndLaunchWorkspace:()=>dB,formatDate:()=>co,workspace2StoreActions:()=>mg,SwitcherIcon:()=>ln,esmStyleGuideSchema:()=>aG,getImportMapDisabledOverrides:()=>oi,useAssignedExtensionIds:()=>iO,CaretRightIcon:()=>sa,evaluateAsType:()=>nm,PageHeader:()=>uN,TranslateIcon:()=>lm,setUserProperties:()=>tV,MovementIcon:()=>sY,renderInlineNotifications:()=>uw,subscribePrecacheStaticDependencies:()=>m2,PaymentsDeskPictogram:()=>du,usePrimaryIdentifierCode:()=>am,useLayoutType:()=>i9,getCurrentUser:()=>tM,XrayPictogram:()=>d_,CaretUpIcon:()=>ss,renderActionableNotifications:()=>uv,OpenmrsAppContext:()=>iC,setupModals:()=>ui,getDefaultsFromConfigSchema:()=>function e(t){let o={};for(let n of Object.keys(t))if(mz(t[n])&&t[n].hasOwnProperty("_default"))o[n]=t[n]._default;else{if(n.startsWith("_"))continue;mz(t[n])?o[n]=e(t[n]):o[n]=t[n]}return o},subscribeTo:()=>M,recordConfigDerivationError:()=>eh,useAbortController:()=>iI,Extension:()=>r0,getFhirServerPaginationHandlers:()=>i0,useConnectedExtensions:()=>iD,registerApp:()=>aO,HospitalBedIcon:()=>sR,useExtensionInternalStore:()=>iz,configExtensionStore:()=>ee,getSynchronizationItems:()=>m0,getExtensionSlotsConfigStore:()=>eo,registerExtensionRendering:()=>nX,RenderIfValueIsTruthy:()=>iE,registerFeatureFlag:()=>n$,useFhirFetchAll:()=>i3,restBaseUrl:()=>tN,CalendarHeatMapIcon:()=>so,getWorkspaceRegistration:()=>rT,isImportMapOverrideDisabled:()=>oa,resetConfigSystem:()=>e2,getExtensionInternalStore:()=>nH,registerGlobalStore:()=>R,evaluateAsBoolean:()=>nl,PatientBannerPatientInfo:()=>uH,addRouteMapOverride:()=>oT,getDefaultCalendar:()=>l9,SettingsIcon:()=>lo,DrugOrderIcon:()=>sk,ProgramsIcon:()=>s8,useAssignedExtensions:()=>it,CloseFilledIcon:()=>s_,canAccessStorage:()=>mG,registerDefaultCalendar:()=>l7,TreeViewAltIcon:()=>lf,OverflowMenuVerticalIcon:()=>sQ,clearConfigDerivationError:()=>ew,getConfigStore:()=>et,registerWorkspaceGroup:()=>rP,InformationSquareIcon:()=>sL,EmptyCard:()=>cQ,ChevronLeftIcon:()=>sf,RadiologyIcon:()=>lN,useCandidateExtensions:()=>iT,renderToasts:()=>dR,isDesktop:()=>ae,integrateBreakpoints:()=>aW,RegistrationPictogram:()=>dp,CardHeader:()=>aU,getExtensionRegistrationFrom:()=>rd,InformationIcon:()=>sM,TrashCanIcon:()=>lp,useShallowStableValue:()=>r1,useOpenmrsSWR:()=>as,Assessment1Pictogram:()=>u1,finishRegisteringAllApps:()=>aT,importDynamic:()=>of,useFhirPagination:()=>iQ,useVisitContextStore:()=>ax,ArrowUpIcon:()=>se,showActionableNotification:()=>uy,useForceUpdate:()=>iK,useVisit:()=>ak,updateWorkspaceWindowState:()=>dY,PatientBannerPatientIdentifiers:()=>uD,WorkspaceNotification:()=>mn,TransferPictogram:()=>dh,usePagination:()=>al,Breakpoint:()=>aR,PatientBannerToggleContactDetailsButton:()=>mE,CloseOutlineIcon:()=>sv,ObstetricsPictogram:()=>ds,parseDateInput:()=>cl,getConfig:()=>eM,attach:()=>rf,getLocale:()=>lq,ActionMenuButton:()=>d9,isUrlWithTemplateParameters:()=>e3,useEmrConfiguration:()=>iH,useLeftNav:()=>at,ToolsIcon:()=>ld,ErrorState:()=>c0,detach:()=>rg,setCurrentVisit:()=>o6,ConditionsIcon:()=>lj,SaveIcon:()=>le,useWorkspaces:()=>d0,resetWorkspaceStore:()=>d6,useConfig:()=>iL,validator:()=>z,CalendarIcon:()=>sn,getHistory:()=>ty,StickyNoteAddIcon:()=>la,useWorkspace2Store:()=>mh,getPatientName:()=>uI,getVisitStore:()=>o2,getCoreTranslation:()=>tp,registerModuleWithConfigSystem:()=>eA,registerModuleLoad:()=>eP,getBreadcrumbs:()=>tr,extractVariableNames:()=>nP,translateFrom:()=>tm,useStoreWithActions:()=>r8,EditIcon:()=>sS,getCandidateExtensions:()=>rv,shallowEqual:()=>x,subscribeNotificationShown:()=>f,MaximizeIcon:()=>sG,promptForClosingWorkspaces:()=>mf,WarningIcon:()=>lx,closeAllWorkspaces:()=>dQ,fhirBaseUrl:()=>tC,matchLocale:()=>mH,registerBreadcrumb:()=>to,usePatientPhoto:()=>uq,EventsIcon:()=>sN,createGlobalStore:()=>T,workspaceStore:()=>dK,subscribeToFeatureFlag:()=>nL,useExtensionStore:()=>iJ,closeWorkspace:()=>dV,createAttachment:()=>oF,useLeftNavStore:()=>ao,TableIcon:()=>lc,Icon:()=>lI,InformationFilledIcon:()=>sW,getCurrentPageMap:()=>ot,LaboratoryPictogram:()=>dr,temporaryConfigStore:()=>Q,getPromptBeforeClosingFcn:()=>dH,toDateObjectStrict:()=>l6,defineConfigSchema:()=>eI,filterBreadcrumbs:()=>ta,invalidateImplementerToolsConfig:()=>ef,PatientBannerContactDetails:()=>mR,getAssignedExtensions:()=>r_,PatientPhoto:()=>uY,MaterialOrderIcon:()=>sH,MicroscopeIcon:()=>sJ,visitTypesUrl:()=>oX,scheduleRecomputation:()=>n6,PharmacyPictogram:()=>dd,AttachmentIcon:()=>lS,MoneyIcon:()=>sK,getAttachments:()=>oB,getWorkspaceGroupStore:()=>d5,PageHeaderContent:()=>uC,MedicationIcon:()=>sz,PrinterIcon:()=>s6,PatientListsPictogram:()=>dy,useAppContext:()=>iA,isOpenmrsRoutes:()=>ov,AppointmentsAltPictogram:()=>u0,GenericOrderTypeIcon:()=>sP,batchExtensionUpdates:()=>n1,useExtensionSlotStore:()=>r9,ViewIcon:()=>lb,formattedName:()=>uO,sessionEndpoint:()=>tE,duration:()=>cm,resetImportMapOverrides:()=>oc,TableOfContentsIcon:()=>ll,CaretLeftIcon:()=>si,getTranslationOverrides:()=>eW,isVersionSatisfied:()=>mq,EmptyCardIllustration:()=>cZ,PenIcon:()=>s2,getWorkspaceStore:()=>dX,validators:()=>e9,setupImportMapOverrides:()=>om,showToast:()=>d$,useDefineAppContext:()=>iN,verifyTotpCode:()=>tJ,getGlobalStore:()=>$,useOnClickOutside:()=>ai,getWindowByWorkspaceName:()=>rM,ArrowRightIcon:()=>a9,loadLifeCycles:()=>aC,registerBreadcrumbs:()=>tn,MotherIcon:()=>sX,fetchCurrentPatient:()=>oG,Toast:()=>dA,MessageQueueIcon:()=>sV,TwoFactorAuthenticationIcon:()=>lg,Pharmacy2Pictogram:()=>dm,goBackInHistory:()=>tb,GroupAccessIcon:()=>sT,getExtensionRenderingsStore:()=>nG,setImplementerToolsConfigRecomputer:()=>ep,getAsyncExtensionLifecycle:()=>iv,setupApiModule:()=>t0,renderLoadingSpinner:()=>m$,WorkspaceContainer:()=>ms,showNotification:()=>u_,getModalRegistration:()=>rC,ListCheckedIcon:()=>sU,ResponsiveWrapper:()=>dk,GynaecologyPictogram:()=>dt,ShoppingCartIcon:()=>lr,getRouteMapNextPageMap:()=>oP,MetadataExportPictogram:()=>da,updateVisit:()=>o8,backendDependencies:()=>tQ,MaybePictogram:()=>db,createParcelMounter:()=>rJ,openmrsFetch:()=>tA,useStore:()=>r5,isOpenmrsAppRoutes:()=>o_,HomePictogram:()=>dv,DentistryPictogram:()=>u3,ServiceQueuesPictogram:()=>df,toLanguageTag:()=>lV,launchWorkspace:()=>dD,setFeatureFlag:()=>nD,DigitalTrustPictogram:()=>u4,NumericObservation:()=>uS,attachmentUrl:()=>oL,interpolateString:()=>tg,inRange:()=>e8,useExtensionSlotMeta:()=>iV,AppointmentsPictogram:()=>uQ,renderSnackbars:()=>dE,getRegisteredWorkspace2Names:()=>m_,logout:()=>tq,toLocationObject:()=>oJ,ChartLineIcon:()=>sc,UserHasAccess:()=>ag,evaluateAsBooleanAsync:()=>nc,changeWorkspaceContext:()=>dJ,createDashboard:()=>lP,getLocations:()=>oq,useExtensionContext:()=>iG,canCloseWorkspaceWithoutPrompting:()=>dM,getExtensionsConfigStore:()=>ei,getRouteMapDefaultMap:()=>oA,age:()=>u$,isOmrsDateStrict:()=>l1,registerWorkspaceGroups2:()=>rD,usePaginationInfo:()=>ac,evaluateAsync:()=>ns,useOpenmrsFetchAll:()=>i5,removeImportMapOverride:()=>ol,showWorkspacePrompts:()=>d1,useVisitTypes:()=>aj,ageAsDuration:()=>uR,getExtensionNameFromId:()=>ru,renderParcel:()=>rV,useWorkspace2Context:()=>mw,ResetIcon:()=>s9,RenewIcon:()=>s4,subscribeActionableNotificationShown:()=>g,ErrorCard:()=>c1,GenderFemaleIcon:()=>sC,enableImportMapOverride:()=>ou,retry:()=>mK,ComponentContext:()=>rZ,ExtensionSlot:()=>ii,unsetLeftNav:()=>rS,addImportMapOverride:()=>os,MaybeIcon:()=>lE,useCustomOverflowMenu:()=>aQ,PedestrianFamilyIcon:()=>s1,cancelPrompt:()=>dG,CtScanPictogram:()=>u8,dispatchNotificationShown:()=>u,leftNavStore:()=>rx,OpenmrsFetchError:()=>tP,UserFollowIcon:()=>lw,launchWorkspaceGroup2:()=>mu,ChevronRightIcon:()=>sg,UserXrayIcon:()=>l_,GenderOtherIcon:()=>sI,formatDuration:()=>cs,toOmrsIsoString:()=>l5,Labs2Pictogram:()=>di,workspace2Store:()=>r$,setUserLanguage:()=>tL,useBodyScrollLock:()=>i$,getExtensionConfig:()=>ea,SyringeIcon:()=>ls,LocationPicker:()=>c6,useDebounce:()=>iB,TimeIcon:()=>lu,getExtensionSlotConfig:()=>en,AddIcon:()=>a3,getRouteMapOverrideMap:()=>oO,processConfig:()=>eL,InventoryManagementIcon:()=>sD,registerWorkspaces2:()=>rU,UserIcon:()=>lv,formatPatientName:()=>uP,fireOpenmrsEvent:()=>oz,registerModal:()=>rN,registerTranslationNamespace:()=>eO,displayName:()=>uA,evaluate:()=>na,defineExtensionConfigSchema:()=>eT,renderWorkspaceWindowsAndMenu:()=>mU,getSyncLifecycle:()=>i_,evaluateAsTypeAsync:()=>np});let a="openmrs:notification-shown",s="openmrs:actionable-notification-shown",l="openmrs:toast-shown",c="openmrs:snack-bar-shown";function u(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(c,{detail:e}))}function p(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function f(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function w(e){let t=t=>e(t.detail);return window.addEventListener(c,t),()=>window.removeEventListener(c,t)}function _(e,t){return e instanceof Error?e.message||t:"string"==typeof e&&e.trim().length>0?e:t}function v(e){let t=b(e);setTimeout(()=>{throw t})}function y(){let e=Error();return t=>{let o=b(t);o.stack+=`
|
|
2
2
|
Async stacktrace:
|
|
3
|
-
${e.stack}`,w(t)}}function y(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(o){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 b(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 o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let o=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(t);return o.length===n.length&&o.every(o=>e[o]===t[o])}window.onerror=function(e,t,o,n,r){return console.error("Unexpected error: ",r??e),m({description:_(r??e,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),m({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var x,k,S,j=o(1978),N=o(9167);function C(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let E={},I=Symbol.for("openmrs.esm-state.instanceCount"),A=globalThis,P=(A[I]??0)+1;function O(e,t,o="none"){let n=E[e];if(n)return n.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value.setState(t,!0),n.active=!0,n.value;{let n=M(e,t,o);return E[e]={value:n,active:!0},n}}function T(e,t){let o=E[e];return o?(o.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value=t,o.active=!0,o.value):(E[e]={value:t,active:!0},t)}function $(e,t,o="none"){let n=E[e];if(!n){let n=M(e,t??{},o);return E[e]={value:n,active:!1},n}return n.value}function R(...e){let[t,o,n]=e,r=void 0===n?o:n,i=void 0===n?e=>e:o,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);b(s,t)||(s=t,r(t))})}function M(e,t,o){return"sessionStorage"===o?(0,N.y)()((0,j.Zr)(()=>t,{name:e,storage:(0,j.KU)(()=>sessionStorage)})):(0,N.y)()(()=>t)}A[I]=P,P>1&&!C()&&console.error(`Detected ${P} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=E)},1e3);var W=o(1156),L=o(3591),D=o(4888),B=o(9352),U=o(8170),F=o(8395),H=((x={}).Array="Array",x.Boolean="Boolean",x.ConceptUuid="ConceptUuid",x.Number="Number",x.Object="Object",x.String="String",x.UUID="UUID",x.PersonAttributeTypeUuid="PersonAttributeTypeUuid",x.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",x);function G(e,t){return o=>{if(!e(o))if("function"==typeof t)return t(o);else return t}}let z=G(e=>Array.isArray(e),"must be an array"),V=G(e=>"boolean"==typeof e,"must be a boolean"),J=G(e=>"number"==typeof e,"must be a number"),q=G(e=>"string"==typeof e,"must be a string"),K=G(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),X=G(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Y=O("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),Z=O("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});Z.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let Q=O("config-store-of-extension-state",{mountedExtensions:[]});function ee(e){return $(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function et(){return $("config-extension-slots",{slots:{}})}function eo(e){return en(et().getState(),e)}function en(e,t){return e.slots[t]??{loaded:!1,config:{}}}function er(){return $("config-extensions",{configs:{}})}function ei(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let o=er(),n=o=>o.configs[e]?.[t];return{getInitialState:()=>n(o.getInitialState()),getState:()=>n(o.getState())??{loaded:!1,config:null},subscribe:e=>o.subscribe((t,o)=>{let r=n(t),i=n(o);b(r,i)||e(r,i)})}}function es(e,t,o){return e.configs[t]?.[o]??{loaded:!1,config:null}}function ea(e,t,o){return e.configure?.[o]??null}let el=(0,N.y)()(()=>({config:{}})),ec=0,eu=!0,ed=!1;function em(e){n=e}function ep(){eu=!0,ec>0&&ef()}function ef(){if(eu&&n&&!ed){ed=!0,eu=!1;try{n()}catch(e){eu=!0,eg(e),console.error("Failed to derive the implementer tools config",e)}finally{ed=!1}}}function eg(e){el.setState({derivationError:e instanceof Error?e.message:String(e)})}function eh(){el.getState().derivationError&&el.setState({derivationError:void 0})}let e_=T("config-implementer-tools",{...el,getState:()=>(0===ec&&ef(),el.getState()),setState:(...e)=>(eu=!1,el.setState(...e)),subscribe(e){ec++,ef();let t=el.subscribe(e),o=!1;return()=>{!o&&(o=!0,ec--),t()}}});function ew(e,t){if(Array.isArray(t))return t}function ev(e,t){return(0,D.A)({},e,t,ew)}let ey=[];function eb(){let e=Y.getState(),t=Z.getState(),o=Q.getState();!function(e,t){for(let o of Object.keys(e.schemas)){let n,r=ee(o),i=e.schemas[o],s=!!e.moduleLoaded[o],a=eS.get(o);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)n=a.state;else{let r=s?function(e,t,o){let n=t.schemas[e],r=eB(e,eL(t,o));eF(n,r,e);let i=eV(n,r);return eH(n,i,e),delete i.extensionSlots,i}(o,e,t):function(e,t,o){let n=eV(e0,eB(e,eL(t,o)));return eH(e0,n,e),delete n.extensionSlots,n}(o,e,t);n={translationOverridesLoaded:!0,loaded:s,config:r},eS.set(o,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:n})}let l=r.getState();l.loaded===n.loaded&&l.translationOverridesLoaded===n.translationOverridesLoaded&&(0,B.A)(l.config,n.config)||r.setState(n)}}(e,t);let n=function(e,t){let o=eU(eL(e,t)),n=Object.keys(o).reduce((e,t)=>(o[t]?.extensionSlots&&(e[t]=o[t]?.extensionSlots),e),{});var r=n;for(let[e,t]of Object.entries(r))for(let[o,n]of Object.entries(t))!function(e,t,o){let n=`${t}.extensionSlots.${o}`,r=`Extension slot config '${n}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&eX(n,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||eX(n,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||eX(n,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||eX(n,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eq(e.configure)&&eX(n,r+".configure' is invalid. Must be an object with extension IDs for keys")}(n,e,o);let i={},s={};for(let e of Object.values(n))for(let[t,o]of Object.entries(e))i[t]=o,o.configure&&(s[t]??(s[t]=[])).push(o.configure);for(let[e,t]of Object.entries(s)){let o=1===t.length?t[0]:eU(t);i[e].configure!==o&&(i[e]={...i[e],configure:o})}return i}(e,t);(function(e){let t=et(),o=t.getState().slots,n={},r=!1;for(let[t,i]of Object.entries(e)){let e=o[t];e?.loaded&&(0,B.A)(e.config,i)?n[t]=e:(n[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(o).length!==Object.keys(n).length)&&t.setState({slots:n})})(n),function(e,t,o,n){let r=er(),i=r.getState().configs,s={},a=!1,l=0;for(let r of t.mountedExtensions){let t=function(e,t,o,n,r,i,s){let a=function(e){let[t]=e.split("#");return t}(n),l=r.schemas[a],c=JSON.stringify([o,n,e,t]),u=eR.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?a:t,m=eL(r,i),p=s?.configure?.[n]??{},f=eB(e,m),g=f?.extensionSlots?.[o]?.configure?.[n]??{},h=eU([eB(d,m),p,g]),_=l??r.schemas[t];eF(_,h,d);let w=eV(_,h);return eH(_,w,d),delete w.extensionSlots,eR.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:w}),w}(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,o,n[r.slotName]),c=i[r.slotName]?.[r.extensionId],u=c?.loaded&&(0,B.A)(c.config,t)?c:{config:t,loaded:!0};u!==c&&(a=!0),s[r.slotName]||(s[r.slotName]={}),s[r.slotName][r.extensionId]=u,l++}for(let[e,t]of Object.entries(s)){let o=i[e];o&&Object.keys(o).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>o[e]===t)&&(s[e]=o)}a||(a=Object.keys(i).length!==Object.keys(s).length||Object.values(i).reduce((e,t)=>e+Object.keys(t).length,0)!==l),a&&r.setState({configs:s})}(e,o,t,n),ep()}function ex(){n=()=>{var e,t;let o,n;return e=Y.getState(),t=Z.getState(),o=e_.getState(),n={config:function(e,t){let o=function(e){let t={};for(let[o,n]of Object.entries(e)){let e=eW.get(o);if(e&&e.schema===n)t[o]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eq(t)?Object.keys(t).reduce((o,n)=>(o[n]=e(t[n]),o),{}):{}}((0,F.A)(n));eW.set(o,{schema:n,annotated:e}),t[o]=e}}return t}(e.schemas),n=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(o));for(let[e]of n)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=o[e],r=n.map(([t])=>t[e]),s=n.map(([,e])=>e),a=eM.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};n.forEach(([,e],t)=>{let o=r[t];void 0!==o&&(l=ev(l,function e(t,o){return eq(t)?Object.keys(t).reduce((n,r)=>(n[r]=e(t[r],o),n),{}):{_value:t,_source:o}}(o,e)))}),eM.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,B.A)(o.config,n.config)||e_.setState(n))},eb(),ey.push(Y.subscribe(ek),Z.subscribe(ek),Q.subscribe(ek))}function ek(){eh();try{eb()}catch(e){eg(e),console.error("Failed to recompute the configuration",e)}}ex();let eS=new Map;function ej(e,t){eD(e,t);let o=ev(t,e0);Y.setState(t=>({...t,schemas:{...t.schemas,[e]:o},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eN(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:e0}}))}function eC(e){Y.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eE(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:eQ}}))}function eI(e,t){eD(e,t);let o=ev(t,e0);Y.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Y.setState(t=>({...t,schemas:{...t.schemas,[e]:o}}))}function eA(e,t="provided"){Y.setState(o=>({...o,providedConfigs:[...o.providedConfigs,{source:t,config:e}]}))}function eP(e,t,o){return new Promise(n=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,n(o(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eO(e){return eP(ee(e),e=>!!(e.loaded&&e.config),e=>(0,U.A)(e.config,["Display conditions","Translation overrides"]))}function eT(e,t,o){let n=[eP(ee(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&o&&n.push(eP(ei(t,o),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(n)}function e$(e,t,o){eF(e,t,o);let n=eV(e,t);return eH(e,n,o),n}let eR=new Map,eM=new Map,eW=new Map;function eL(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eD(e,t,o=""){let n="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=o+(o&&".")+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. ${n}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${n}`),!eq(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${n}`);continue}s.hasOwnProperty("_default")||eD(e,s,i);let a=s._elements;if(eJ(a)&&eD(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${n}.
|
|
3
|
+
${e.stack}`,v(t)}}function b(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(o){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 o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let o=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(t);return o.length===n.length&&o.every(o=>e[o]===t[o])}window.onerror=function(e,t,o,n,r){return console.error("Unexpected error: ",r??e),p({description:_(r??e,"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 k,S,j,N=o(1978),C=o(9167);function E(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let I={},A=Symbol.for("openmrs.esm-state.instanceCount"),P=globalThis,O=(P[A]??0)+1;function T(e,t,o="none"){let n=I[e];if(n)return n.active?E()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value.setState(t,!0),n.active=!0,n.value;{let n=W(e,t,o);return I[e]={value:n,active:!0},n}}function R(e,t){let o=I[e];return o?(o.active?E()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value=t,o.active=!0,o.value):(I[e]={value:t,active:!0},t)}function $(e,t,o="none"){let n=I[e];if(!n){let n=W(e,t??{},o);return I[e]={value:n,active:!1},n}return n.value}function M(...e){let[t,o,n]=e,r=void 0===n?o:n,i=void 0===n?e=>e:o,a=i(t.getState());return r(a),t.subscribe(e=>{let t=i(e);x(a,t)||(a=t,r(t))})}function W(e,t,o){return"sessionStorage"===o?(0,C.y)()((0,N.Zr)(()=>t,{name:e,storage:(0,N.KU)(()=>sessionStorage)})):(0,C.y)()(()=>t)}P[A]=O,O>1&&!E()&&console.error(`Detected ${O} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=I)},1e3);var L=o(1156),D=o(3591),B=o(4888),U=o(9352),F=o(8170),H=o(8395),G=((k={}).Array="Array",k.Boolean="Boolean",k.ConceptUuid="ConceptUuid",k.Number="Number",k.Object="Object",k.String="String",k.UUID="UUID",k.PersonAttributeTypeUuid="PersonAttributeTypeUuid",k.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",k);function z(e,t){return o=>{if(!e(o))if("function"==typeof t)return t(o);else return t}}let V=z(e=>Array.isArray(e),"must be an array"),J=z(e=>"boolean"==typeof e,"must be a boolean"),q=z(e=>"number"==typeof e,"must be a number"),K=z(e=>"string"==typeof e,"must be a string"),X=z(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),Y=z(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Z=T("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),Q=T("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});Q.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let ee=T("config-store-of-extension-state",{mountedExtensions:[]});function et(e){return $(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function eo(){return $("config-extension-slots",{slots:{}})}function en(e){return er(eo().getState(),e)}function er(e,t){return e.slots[t]??{loaded:!1,config:{}}}function ei(){return $("config-extensions",{configs:{}})}function ea(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let o=ei(),n=o=>o.configs[e]?.[t];return{getInitialState:()=>n(o.getInitialState()),getState:()=>n(o.getState())??{loaded:!1,config:null},subscribe:e=>o.subscribe((t,o)=>{let r=n(t),i=n(o);x(r,i)||e(r,i)})}}function es(e,t,o){return e.configs[t]?.[o]??{loaded:!1,config:null}}function el(e,t,o){return e.configure?.[o]??null}let ec=(0,C.y)()(()=>({config:{}})),eu=0,ed=!0,em=!1;function ep(e){n=e}function ef(){ed=!0,eu>0&&eg()}function eg(){if(ed&&n&&!em){em=!0,ed=!1;try{n()}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_=R("config-implementer-tools",{...ec,getState:()=>(0===eu&&eg(),ec.getState()),setState:(...e)=>(ed=!1,ec.setState(...e)),subscribe(e){eu++,eg();let t=ec.subscribe(e),o=!1;return()=>{!o&&(o=!0,eu--),t()}}});function ev(e,t){if(Array.isArray(t))return t}function ey(e,t){return(0,B.A)({},e,t,ev)}let eb=[];function ex(){let e=Z.getState(),t=Q.getState(),o=ee.getState();if(ek?.configState===e&&ek.tempConfigState===t)return void eE(e,o,t,ek.slotConfigs,!0);!function(e,t){for(let o of Object.keys(e.schemas)){let n,r=et(o),i=e.schemas[o],a=!!e.moduleLoaded[o],s=eC.get(o);if(s&&s.schema===i&&s.moduleLoaded===a&&s.providedConfigs===e.providedConfigs&&s.temporaryConfig===t.config)n=s.state;else{let r=a?function(e,t,o){let n=t.schemas[e],r=eG(e,eF(t,o));eV(n,r,e);let i=eX(n,r);return eJ(n,i,e),delete i.extensionSlots,i}(o,e,t):function(e,t,o){let n=eX(e5,eG(e,eF(t,o)));return eJ(e5,n,e),delete n.extensionSlots,n}(o,e,t);n={translationOverridesLoaded:!0,loaded:a,config:r},eC.set(o,{schema:i,moduleLoaded:a,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:n})}let l=r.getState();l.loaded===n.loaded&&l.translationOverridesLoaded===n.translationOverridesLoaded&&(0,U.A)(l.config,n.config)||r.setState(n)}}(e,t);let n=function(e,t){let o=ez(eF(e,t)),n=Object.keys(o).reduce((e,t)=>(o[t]?.extensionSlots&&(e[t]=o[t]?.extensionSlots),e),{});var r=n;for(let[e,t]of Object.entries(r))for(let[o,n]of Object.entries(t))!function(e,t,o){let n=`${t}.extensionSlots.${o}`,r=`Extension slot config '${n}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&e0(n,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||e0(n,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||e0(n,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||e0(n,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eZ(e.configure)&&e0(n,r+".configure' is invalid. Must be an object with extension IDs for keys")}(n,e,o);let i={},a={};for(let e of Object.values(n))for(let[t,o]of Object.entries(e))i[t]=o,o.configure&&(a[t]??(a[t]=[])).push(o.configure);for(let[e,t]of Object.entries(a)){let o=1===t.length?t[0]:ez(t);i[e].configure!==o&&(i[e]={...i[e],configure:o})}return i}(e,t);(function(e){let t=eo(),o=t.getState().slots,n={},r=!1;for(let[t,i]of Object.entries(e)){let e=o[t];e?.loaded&&(0,U.A)(e.config,i)?n[t]=e:(n[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(o).length!==Object.keys(n).length)&&t.setState({slots:n})})(n),eE(e,o,t,n,!1),ek={configState:e,tempConfigState:t,slotConfigs:n},ef()}let ek=null,eS=new WeakMap;function ej(){n=()=>{var e,t;let o,n;return e=Z.getState(),t=Q.getState(),o=e_.getState(),n={config:function(e,t){let o=function(e){let t={};for(let[o,n]of Object.entries(e)){let e=eU.get(o);if(e&&e.schema===n)t[o]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eZ(t)?Object.keys(t).reduce((o,n)=>(o[n]=e(t[n]),o),{}):{}}((0,H.A)(n));eU.set(o,{schema:n,annotated:e}),t[o]=e}}return t}(e.schemas),n=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(o));for(let[e]of n)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=o[e],r=n.map(([t])=>t[e]),a=n.map(([,e])=>e),s=eB.get(e);if(s&&s.annotatedSchema===t&&s.configSlices.length===r.length&&s.configSlices.every((e,t)=>e===r[t])&&s.sources.every((e,t)=>e===a[t])){i[e]=s.result;continue}let l=t??{};n.forEach(([,e],t)=>{let o=r[t];void 0!==o&&(l=ey(l,function e(t,o){return eZ(t)?Object.keys(t).reduce((n,r)=>(n[r]=e(t[r],o),n),{}):{_value:t,_source:o}}(o,e)))}),eB.set(e,{annotatedSchema:t,configSlices:r,sources:a,result:l}),i[e]=l}return i}(e,t)},void((0,U.A)(o.config,n.config)||e_.setState(n))},ex(),eb.push(Z.subscribe(eN),Q.subscribe(eN),ee.subscribe(eN))}function eN(){ew();try{ex()}catch(e){eh(e),console.error("Failed to recompute the configuration",e)}}ej();let eC=new Map;function eE(e,t,o,n,r){let i=ei(),a=i.getState().configs,s={},l=!1,c=0;for(let i of t.mountedExtensions){let t,u=a[i.slotName]?.[i.extensionId],d=u&&eS.get(u);if(r&&u?.loaded&&d?.slotModuleName===i.slotModuleName&&d.extensionModuleName===i.extensionModuleName)t=u;else{let r=function(e,t,o,n,r,i,a){let s=function(e){let[t]=e.split("#");return t}(n),l=r.schemas[s],c=JSON.stringify([o,n,e,t]),u=eD.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?s:t,m=eF(r,i),p=a?.configure?.[n]??{},f=eG(e,m),g=f?.extensionSlots?.[o]?.configure?.[n]??{},h=ez([eG(d,m),p,g]),w=l??r.schemas[t];eV(w,h,d);let _=eX(w,h);return eJ(w,_,d),delete _.extensionSlots,eD.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:_}),_}(i.slotModuleName,i.extensionModuleName,i.slotName,i.extensionId,e,o,n[i.slotName]);t=u?.loaded&&(0,U.A)(u.config,r)?u:{config:r,loaded:!0}}eS.set(t,i),t!==u&&(l=!0),s[i.slotName]||(s[i.slotName]={}),s[i.slotName][i.extensionId]=t,c++}for(let[e,t]of Object.entries(s)){let o=a[e];o&&Object.keys(o).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>o[e]===t)&&(s[e]=o)}l||(l=Object.keys(a).length!==Object.keys(s).length||Object.values(a).reduce((e,t)=>e+Object.keys(t).length,0)!==c),l&&i.setState({configs:s})}function eI(e,t){eH(e,t);let o=ey(t,e5);Z.setState(t=>({...t,schemas:{...t.schemas,[e]:o},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eA(e){Z.setState(t=>({...t,schemas:{...t.schemas,[e]:e5}}))}function eP(e){Z.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eO(e){Z.setState(t=>({...t,schemas:{...t.schemas,[e]:e6}}))}function eT(e,t){eH(e,t);let o=ey(t,e5);Z.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Z.setState(t=>({...t,schemas:{...t.schemas,[e]:o}}))}function eR(e,t="provided"){Z.setState(o=>({...o,providedConfigs:[...o.providedConfigs,{source:t,config:e}]}))}function e$(e,t,o){return new Promise(n=>{let r,i=!1;function a(e){!i&&t(e)&&(i=!0,n(o(e)),r?.())}a(e.getState()),i||(r=e.subscribe(a))})}function eM(e){return e$(et(e),e=>!!(e.loaded&&e.config),e=>(0,F.A)(e.config,["Display conditions","Translation overrides"]))}function eW(e,t,o){let n=[e$(et(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&o&&n.push(e$(ea(t,o),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(n)}function eL(e,t,o){eV(e,t,o);let n=eX(e,t);return eJ(e,n,o),n}let eD=new Map,eB=new Map,eU=new Map;function eF(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eH(e,t,o=""){let n="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=o+(o&&".")+r,a=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${n}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${n}`),!eZ(a)){console.error(`${e} has bad config schema definition for key '${i}'. ${n}`);continue}a.hasOwnProperty("_default")||eH(e,a,i);let s=a._elements;if(eY(s)&&eH(e,s,i+"._elements"),a._validators)for(let t of a._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${n}.
|
|
4
4
|
|
|
5
|
-
If you're the maintainer: validators must be functions that return either undefined or an error string. Received ${t}.`);let l=
|
|
5
|
+
If you're the maintainer: validators must be functions that return either undefined or an error string. Received ${t}.`);let l=a._type;l&&!Object.values(G).includes(l)&&console.error(`${e} has invalid type for key '${i}' ${n}.
|
|
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(G).join(", ")}. Received '${l}'`),Object.keys(a).every(e=>["_description","_validators","_elements","_type"].includes(e))&&!o.includes("._elements")&&console.error(`${e} has bad config schema definition for key '${i}'. ${n}.
|
|
8
8
|
|
|
9
|
-
If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(
|
|
9
|
+
If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(a)}`),s&&l&&![G.Array,G.Object].includes(l)&&console.error(`${e} has bad config schema definition for key '${i}'. ${n}.
|
|
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
|
|
12
|
-
${t}`)}return n}let eV=(e,t)=>{let o=structuredClone(t);if(!e)return o;for(let t of Object.keys(e)){let n=o[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){o.hasOwnProperty(t)||(o[t]=r._default);let e=r._elements;if(n&&eJ(e)){if(r._type===H.Array&&Array.isArray(n)){let r=n.map(t=>eV(e,t));o[t]=r}else if(r._type===H.Object)for(let t of Object.keys(n))n[t]=eV(e,n[t])}}else if(eq(r)){let e=n??{};eq(e)&&(o[t]=eV(r,e))}}return o};function eJ(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eq(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let eK=new Set;function eX(e,t){let o=`${e}:::${t}`;eK||(eK=new Set),eK.has(o)||(console.error(t),eK.add(o))}function eY(e){e?eK.forEach(t=>{t.startsWith(e)&&eK.delete(t)}):eK.clear()}function eZ(){ey.forEach(e=>e()),ey.length=0,eS.clear(),eR.clear(),eW.clear(),eM.clear(),ex()}let eQ={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:H.Object,_default:{},_validators:[G(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e0={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:H.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:H.String,_default:void 0}},...eQ},e1=(e,t)=>G(o=>e<=o&&o<=t,`must be between ${e} and ${t}`),e2=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return G(e=>{if(!e||"string"!=typeof e)return!1;let o=/\${(.*?)}/g,n=o.exec(e);for(;n;){if(!t.includes(n[1]))return!1;n=o.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e6=e2([]),e5=e=>G(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e8={inRange:e1,isUrl:e6,isUrlWithTemplateParameters:e2,oneOf:e5};var e3=o(4913);let e4=O("breadcrumbs",[]);function e7(e){return e9([e])}function e9(e){let t=[...te(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,e3.pathToRegexp)(e.matcher).regexp:(0,e3.pathToRegexp)(e.path).regexp,settings:e}))];e4.setState(t,!0)}function te(){return e4.getState()}function tt(e,t){if(t)return function(e,t){let[o]=e.filter(e=>e.matcher.test(t));return o}(e,t)||function(e,t){let o=t.split("/");for(;o.length>1;){o.pop();let t=tt(e,o.join("/"));if(t)return t}}(e,t)}function to(e,t){if(e.length>0){let o=tt(e,t);if(o){let t=[o],n=tt(e,o.settings.parent);for(;void 0!==n;)t.push(n),n=tt(e,n.settings.parent);return t.reverse()}}return[]}function tn(e){return to(te(),e)}var tr=o(2267);let ti={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var ts=o(2279);let ta=ts.Ay.default||ts.Ay;function tl(e,t,o,n){return ta.t(t,{ns:e,defaultValue:o,...n})}function tc(e,t,o){return ti[e]?tl("core",e,t??ti[e],o):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tu(e,t){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=td(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:o,...t});return e.startsWith("//")?n:n.replace(/^\/\//,"/")}function td(e,t){return Object.keys(t).reduce((e,o)=>e.split("${"+o+"}").join(t[o]),e)}function tm({to:e,templateParams:t}){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=tu(e,t).replace(window.location.origin,""),r=new URL(n,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tc("navigateNonHttp"));n.startsWith(o)?(0,tr.EH)(n):window.location.assign(n)}ta.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tp="openmrs:history";function tf(e){let t=JSON.parse(sessionStorage.getItem(tp)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(tp,JSON.stringify(t))}function tg(){0===JSON.parse(sessionStorage.getItem(tp)??"[]").length&&document.referrer&&tf(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=th();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(tp,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?t_({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tf(window.location.href)})}function th(){return JSON.parse(sessionStorage.getItem(tp)??"[]")}function t_({toUrl:e}){let t=th(),o=t.lastIndexOf(e);if(-1!=o){let e=t.slice(0,o+1);tm({to:t[o]}),sessionStorage.setItem(tp,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tw(){sessionStorage.removeItem(tp)}let tv="${openmrsSpaBase}/login",ty={redirectAuthFailure:{enabled:{_type:H.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:H.String,_default:tv,_validators:[e8.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:H.Array,_default:[401],_elements:{_type:H.Number,_validators:[e8.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:H.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:H.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tb(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}let tx="/ws/rest/v1",tk="/ws/fhir2/R4",tS=`${tx}/session`;function tj(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tN(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let o=tj(e);t.headers||(t.headers={}),(0,L.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let n=!1;try{let e=new URL(o,window.location.href),t=new URL(tj(tx),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");n=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(n){let e=!1;for(let[o,n]of Object.entries(t.headers))"disable-www-authenticate"===o.toLowerCase()&&(void 0===n?delete t.headers[o]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tk)){let e=new URL(o,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),o=e.toString())}let r=Error();return window.fetch(o,t).then(async e=>{let{redirectAuthFailure:n,followRedirects:i}=await eO("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(o===tj(tS)||204===e.status)&&tm({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(o===tj(tS)&&403===e.status||n.enabled&&n.errors.includes(e.status))&&(tw(),tm({to:n.url||e.headers.get("location")||tv}),!0!==t.rejectAuthFailure)?n.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let n=t;try{n=JSON.parse(t)}catch(e){}throw new tC(o,e,n,r)},()=>{throw new tC(o,e,null,r)})})}class tC extends Error{constructor(e,t,o,n){super(),tb(this,"response",void 0),tb(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`,n.message=this.message,this.responseBody=o,this.response=t,this.stack=`Stacktrace for outgoing request:
|
|
11
|
+
If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eG(e,t){return ez(t.map(({[e]:t})=>t).filter(e=>!!e))}function ez(e){return e.reduce((e,t)=>(0,B.A)(e,t,ev),{})}function eV(e,t,o=""){for(let n of Object.keys(t)){let r=t[n],i=o+"."+n,a=e[n];if(!e.hasOwnProperty(n)){("extensionSlots"!==n||""===o)&&e0(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,o,n){eq(n,t._type,o),eZ(o)?t._type===G.Object?function(t,o,n){if(t._elements)for(let r of Object.keys(o)){let i=o[r];e(t._elements,i,`${n}.${r}`)}}(t,o,n):t.hasOwnProperty("_default")||t.hasOwnProperty("_type")||eV(t,o,n):t._type===G.Array&&function(t,o,n){if(eq(n,G.Array,o)){if(eY(t._elements))for(let r=0;r<o.length;r++)e(t._elements,o[r],`${n}[${r}]`);for(let e=0;e<o.length;e++)eq(`${n}[${e}]`,t._elements?._type,o[e])}}(t,o,n)})(a,r,i)}}function eJ(e,t,o=""){if(e){if(t!==e._default&&eK(o,e._validators,t),eZ(t))for(let n of Object.keys(t)){let r=t[n],i=o+"."+n,a=e[n];e._type===G.Object&&e._elements?eJ(e._elements,r,i):eJ(a,r,i)}else if(Array.isArray(t)&&e._elements)for(let n=0;n<t.length;n++)eJ(e._elements,t[n],`${o}[${n}]`)}}function eq(e,t,o){return!t||eK(e,[{Array:V,Boolean:J,ConceptUuid:Y,Number:q,Object:X,String:K,UUID:Y,PersonAttributeTypeUuid:Y,PatientIdentifierTypeUuid:Y}[t]],o)}function eK(e,t,o){let n=!0;if(t)try{for(let r of t){let t=r(o);if("string"==typeof t){let r="object"==typeof o?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${o} for ${e}: ${t}`;e0(e,r),n=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
|
|
12
|
+
${t}`)}return n}let eX=(e,t)=>{let o=structuredClone(t);if(!e)return o;for(let t of Object.keys(e)){let n=o[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){o.hasOwnProperty(t)||(o[t]=r._default);let e=r._elements;if(n&&eY(e)){if(r._type===G.Array&&Array.isArray(n)){let r=n.map(t=>eX(e,t));o[t]=r}else if(r._type===G.Object)for(let t of Object.keys(n))n[t]=eX(e,n[t])}}else if(eZ(r)){let e=n??{};eZ(e)&&(o[t]=eX(r,e))}}return o};function eY(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eZ(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let eQ=new Set;function e0(e,t){let o=`${e}:::${t}`;eQ||(eQ=new Set),eQ.has(o)||(console.error(t),eQ.add(o))}function e1(e){e?eQ.forEach(t=>{t.startsWith(e)&&eQ.delete(t)}):eQ.clear()}function e2(){eb.forEach(e=>e()),eb.length=0,eC.clear(),eD.clear(),eU.clear(),eB.clear(),ek=null,eS=new WeakMap,ej()}let e6={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:G.Object,_default:{},_validators:[z(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e5={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:G.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:G.String,_default:void 0}},...e6},e8=(e,t)=>z(o=>e<=o&&o<=t,`must be between ${e} and ${t}`),e3=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return z(e=>{if(!e||"string"!=typeof e)return!1;let o=/\${(.*?)}/g,n=o.exec(e);for(;n;){if(!t.includes(n[1]))return!1;n=o.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e4=e3([]),e7=e=>z(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e9={inRange:e8,isUrl:e4,isUrlWithTemplateParameters:e3,oneOf:e7};var te=o(4913);let tt=T("breadcrumbs",[]);function to(e){return tn([e])}function tn(e){let t=[...tr(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,te.pathToRegexp)(e.matcher).regexp:(0,te.pathToRegexp)(e.path).regexp,settings:e}))];tt.setState(t,!0)}function tr(){return tt.getState()}function ti(e,t){if(t)return function(e,t){let[o]=e.filter(e=>e.matcher.test(t));return o}(e,t)||function(e,t){let o=t.split("/");for(;o.length>1;){o.pop();let t=ti(e,o.join("/"));if(t)return t}}(e,t)}function ta(e,t){if(e.length>0){let o=ti(e,t);if(o){let t=[o],n=ti(e,o.settings.parent);for(;void 0!==n;)t.push(n),n=ti(e,n.settings.parent);return t.reverse()}}return[]}function ts(e){return ta(tr(),e)}var tl=o(2267);let tc={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",applicationError:"Application Error",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",clearDevOverrides:"Clear dev overrides",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",copied:"Copied!",copyToClipboard:"Copy to clipboard",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",reload:"Reload",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",serverStartingUp:"The server is starting",serverStartingUpExplainer:"This can take a few minutes. OpenMRS will open automatically when the server is ready.",serverStartingUpSlowExplainer:"This is taking longer than usual. First startup after an upgrade can take 10 minutes or more. You can leave this page open.",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",somethingWentWrongTryReloading:"Something went wrong. Please try reloading.",toggleDevTools:"Toggle dev tools",unknown:"Unknown",viewSetupProgress:"View setup progress",waitingForServer:"Waiting for the server",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tu=o(2279);let td=tu.Ay.default||tu.Ay;function tm(e,t,o,n){return td.t(t,{ns:e,defaultValue:o,...n})}function tp(e,t,o){return tc[e]?tm("core",e,t??tc[e],o):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tf(e,t){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=tg(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:o,...t});return e.startsWith("//")?n:n.replace(/^\/\//,"/")}function tg(e,t){return Object.keys(t).reduce((e,o)=>e.split("${"+o+"}").join(t[o]),e)}function th({to:e,templateParams:t}){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=tf(e,t).replace(window.location.origin,""),r=new URL(n,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tp("navigateNonHttp"));n.startsWith(o)?(0,tl.EH)(n):window.location.assign(n)}td.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tw="openmrs:history";function t_(e){let t=JSON.parse(sessionStorage.getItem(tw)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(tw,JSON.stringify(t))}function tv(){0===JSON.parse(sessionStorage.getItem(tw)??"[]").length&&document.referrer&&t_(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(tw,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?tb({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&t_(window.location.href)})}function ty(){return JSON.parse(sessionStorage.getItem(tw)??"[]")}function tb({toUrl:e}){let t=ty(),o=t.lastIndexOf(e);if(-1!=o){let e=t.slice(0,o+1);th({to:t[o]}),sessionStorage.setItem(tw,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tx(){sessionStorage.removeItem(tw)}let tk="${openmrsSpaBase}/login",tS={redirectAuthFailure:{enabled:{_type:G.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:G.String,_default:tk,_validators:[e9.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:G.Array,_default:[401],_elements:{_type:G.Number,_validators:[e9.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:G.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:G.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tj(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}let tN="/ws/rest/v1",tC="/ws/fhir2/R4",tE=`${tN}/session`;function tI(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tA(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let o=tI(e);t.headers||(t.headers={}),(0,D.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let n=!1;try{let e=new URL(o,window.location.href),t=new URL(tI(tN),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");n=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(n){let e=!1;for(let[o,n]of Object.entries(t.headers))"disable-www-authenticate"===o.toLowerCase()&&(void 0===n?delete t.headers[o]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tC)){let e=new URL(o,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),o=e.toString())}let r=Error();return window.fetch(o,t).then(async e=>{let{redirectAuthFailure:n,followRedirects:i}=await eM("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(o===tI(tE)||204===e.status)&&th({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(o===tI(tE)&&403===e.status||n.enabled&&n.errors.includes(e.status))&&(tx(),th({to:n.url||e.headers.get("location")||tk}),!0!==t.rejectAuthFailure)?n.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let n=t;try{n=JSON.parse(t)}catch(e){}throw new tP(o,e,n,r)},()=>{throw new tP(o,e,null,r)})})}class tP extends Error{constructor(e,t,o,n){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`,n.message=this.message,this.responseBody=o,this.response=t,this.stack=`Stacktrace for outgoing request:
|
|
13
13
|
${n.stack}
|
|
14
14
|
Stacktrace for incoming response:
|
|
15
|
-
${this.stack}`}}let tE=O("session",{loaded:!1,session:null}),tI=0,tA=null;function tP(){return tA||(tE.getState().loaded&&tI>=Date.now()-6e4?null:tR())}function tO(e){let t=e?.includeAuthStatus??!0,o=e=>t?e:e.user,n=tP();return n?new Promise(e=>{let t=()=>{let t=tE.getState();t.loaded&&(r(),e(o(t.session)))},r=tE.subscribe(t);n.then(t,t)}):Promise.resolve(o(tE.getState().session))}function tT(){return tP(),tE}function t$(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tR(e,t){tI=Date.now();let o={};e&&t&&(o.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let n=tz(tN(tS,{headers:o,rejectAuthFailure:!0})),r=()=>{tA===n&&(tA=null)};return n.then(r,r),tA=n,n}function tM(){tE.setState({loaded:!0,session:{authenticated:!1,sessionId:""}},!0)}function tW(e,t){var o,n;if(void 0===t)return!e;if(!e)return!0;return o=e,n=t,("string"==typeof o?!(0,W.A)(n.privileges.find(e=>o===e.display)):Array.isArray(o)?o.every(e=>!(0,W.A)(n.privileges.find(t=>e===t.display))):((0,W.A)(o)||console.error(`Could not understand privileges "${o}"`),!0))||!(0,W.A)(t.roles.find(e=>"System Developer"===e.display))}function tL(){let e,t;return new Promise(o=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,o(n.session.user),t&&t())};n(tE.getState()),e||(t=tE.subscribe(n))})}async function tD(){return(await tO()).sessionLocation}async function tB(e,t){return tz(tN(tS,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tU(e,t){return await tN(tS,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tR()}async function tF(e,t,o){return o||(o=new AbortController),await tN(`${tx}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:o.signal}),tR()}async function tH(e,t=!1){let o=await tN(t?`${tS}?rememberMe=true`:tS,{headers:{"X-Totp-Code":e}});return o.data?.authenticated?(await tR()).session:o.data}async function tG(){try{await tN(tS,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tV(e))throw e}tM(),await tR().catch(()=>{})}function tz(e){return new Promise((t,o)=>{e.then(e=>{if("object"==typeof e?.data){let o={loaded:!0,session:e.data};tE.setState(o,!0),t(o)}else o(tJ(Error("The session endpoint did not respond with a session")))}).catch(e=>{if(tV(e)){var n;"object"==typeof(n=e.responseBody)&&null!==n&&!1===n.authenticated?tE.setState({loaded:!0,session:e.responseBody},!0):tM(),t(tE.getState());return}w(`Failed to fetch new session information: ${e}`),o(tJ(e))})})}function tV(e){return e instanceof tC&&(401===e.response.status||403===e.response.status)}function tJ(e){return tE.getState().loaded||tE.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e))},!0),tE.getState()}function tq(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tE.subscribe(e=>{e.loaded&&e.session&&t$(e.session)});let tK={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tX(){ej("@openmrs/esm-api",ty),tR()}let tY="import-map-override:",tZ="import-map-overrides-disabled",tQ="import-map-overrides:change",t0=!1,t1=null,t2=null;async function t6(){return t2??(t2=t5().then(({map:e,complete:t})=>(t||(t2=null),e))),t2}async function t5(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];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){o=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:t8(t),complete:o}}function t8(e){let t={imports:{}};for(let o of e)o?.imports&&Object.assign(t.imports,o.imports);return t}function t3(){let e={};try{let t=ot();for(let o=0;o<localStorage.length;o++){let n=localStorage.key(o);if(n?.startsWith(tY)){let o=n.slice(tY.length);if(!t.includes(o)){let t=localStorage.getItem(n);t&&(e[o]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function t4(){let e=await t6();return t0?t8([e,t1??t3()]):e}async function t7(){return t6()}async function t9(){return t0?t8([await t6(),t3()]):t6()}function oe(e){if(!t0)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(tY)){let t=localStorage.getItem(o);t&&(e[o.slice(tY.length)]=t)}}return{imports:e}}return t3()}function ot(){if(!t0)return[];try{let e=localStorage.getItem(tZ);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function oo(e){return!!t0&&ot().includes(e)}function on(e,t){if(!t0)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tY+e,t),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function or(e){if(!t0)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tY+e);let t=ot().filter(t=>t!==e);t.length>0?localStorage.setItem(tZ,JSON.stringify(t)):localStorage.removeItem(tZ),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function oi(){if(!t0)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);o?.startsWith(tY)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(tZ),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function os(e){if(!t0)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=ot().filter(t=>t!==e);t.length>0?localStorage.setItem(tZ,JSON.stringify(t)):localStorage.removeItem(tZ),window.dispatchEvent(new CustomEvent(tQ))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let oa=!1;function ol(){!oa&&(oa=!0,(t0="development"===window.spaEnv)&&(t1=t3()))}function oc(e){return e.replace(/[\/\-@]/g,"_")}async function ou(e,t="./start",n){var r;let i,s=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([od(e,n?.importMap),new Promise((t,o)=>{i=setTimeout(()=>{var t;o(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=oc(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(o.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 od(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 o=oc(e);if(!window[o]){let o=t??await om();if(!o.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=o.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let r=e in oe().imports;try{return await function(e){var t;let o=(t=window)[op]??(t[op]=new Map),n=o.get(e);if(n)return n;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,n)=>{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(),o.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return o.set(e,i),i}(n)}catch(e){return r&&m({kind:"error",title:tc("scriptLoadingFailed","Error: Script failed to load"),description:tc("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:tc("resetOverrides","Reset overrides"),onActionButtonClick(){oi(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function om(){return t4()}let op=Symbol.for("__openmrs_script_loading");function of(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function og(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&&of(t))}let oh="openmrs-routes:",o_="openmrs-routes:change",ow=!1,ov=null,oy=null;async function ob(){return oy??(oy=ox().then(({map:e,complete:t})=>(t||(oy=null),e))),oy}async function ox(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];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&&og(e)&&t.push(e)}catch(e){o=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:ok(t),complete:o}}function ok(e){let t={routes:{}};for(let o of e)o&&"object"==typeof o&&!Array.isArray(o)&&(Object.assign(t.routes,o.routes),void 0===t.version&&void 0!==o.version&&(t.version=o.version));return t}async function oS(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let o=localStorage.key(e);if(o?.startsWith(oh)){let e=localStorage.getItem(o);e&&t.push({moduleName:o.slice(oh.length),raw:e})}}for(let o of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let o=JSON.parse(t);if(of(o))return{moduleName:e,routes:o};if("string"==typeof o&&o.startsWith("http")){let t=await fetch(o),n=await t.json();if(of(n))return{moduleName:e,routes:n};throw Error(`${o} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===o.status?e.routes[o.value.moduleName]=o.value.routes:console.warn("[route-maps] Failed to load route override",o.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function oj(){let e=await ob();return ow?ok([e,ov??await oS()]):e}async function oN(){return ob()}async function oC(){return ow?ok([await ob(),await oS()]):ob()}function oE(){if(!ow)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(oh)){let t=localStorage.getItem(o);t&&(e[o.slice(oh.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function oI(e,t){if(!ow)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(oh+e,JSON.stringify(t));else{let o=JSON.parse(t);if(!of(o))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(oh+e,JSON.stringify(o))}else if(t instanceof URL)localStorage.setItem(oh+e,JSON.stringify(t.toString()));else{if(!of(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(oh+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(o_))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function oA(e){if(!ow)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(oh+e),window.dispatchEvent(new CustomEvent(o_))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function oP(){if(!ow)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);o?.startsWith(oh)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(o_))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let oO=null;function oT(){return oO||(oO=(ow="development"===window.spaEnv)?oS().then(e=>{ov=e}):Promise.resolve())}let o$=`${tx}/attachment`;function oR(e,t){return tN(`${o$}/${e}`,{signal:t.signal})}function oM(e,t,o,n){return tN(oW(e,t,n),{signal:o.signal})}function oW(e,t,o){return o?`${o$}?patient=${e}&encounter=${o}`:`${o$}?patient=${e}&includeEncounterless=${t}`}async function oL(e,t,o){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),o&&n.append("encounter",o),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),tN(`${o$}`,{method:"POST",body:n})}function oD(e,t){return tN(`${o$}/${e}`,{method:"DELETE",signal:t.signal})}async function oB(e,t){return e?(await tN(`${tk}/Patient/${e}`,t)).data:null}function oU(e,t){let o=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(o)}function oF(e,t){let o=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,o),()=>{window.removeEventListener(`openmrs:${e}`,o)}}function oH(e){return{uuid:e.uuid,display:e.display}}function oG(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString();return tN(`${tx}/location${n?"?"+n:""}`).then(e=>e.data.results.map(oH))}function oz(e){return{uuid:e.uuid,display:e.display,name:e.name}}let oV=`${tx}/visittype`;function oJ(e=oV){return tN(e).then(e=>e.data.results.map(oz))}var oq=((k={}).NEWVISIT="startVisit",k.EDITVISIT="editVisit",k.LOADING="loadingVisit",k),oK=((S={}).NOTSTARTED="notStarted",S.ONGOING="ongoing",S);let oX="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))",oY=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function oZ(){return $("visit",oY)}function oQ(e,t){oZ().setState({patientUuid:e,manuallySetVisitUuid:t})}function o0(e,t){return tN(`${tx}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function o1(e,t,o){return tN(`${tx}/visit/${e}`,{signal:o.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function o2(e,t,o){return tN(`${tx}/visit?patient=${e}&v=${o??oX}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}oZ().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var o6=o(9225),o5=o(6881),o8=o(6828),o3=o(1956),o4=o(3635),o7=o(7839),o9=o(2298);let ne={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)}},nt={...ne,Promise};function no(e,t={}){return nl(e,t,nd)}async function nn(e,t={}){return nc(e,t,nd)}function nr(e,t={}){return nl(e,t,nm)}function ni(e,t={}){return nc(e,t,nm)}function ns(e,t={}){return nl(e,t,np)}function na(e,t={}){return nc(e,t,np)}function nl(e,t={},o){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 n=nw(t,ne),r=nf("string"==typeof e?(0,o6.A)(e):e,n);if(o(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 nc(e,t={},o){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 n=nw(t,nt);return Promise.resolve(nf("string"==typeof e?(0,o6.A)(e):e,n)).then(t=>{if(o(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 nu(e){return(0,o6.A)(e)}function nd(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function nm(e){return"boolean"==typeof e}function np(e){return"number"==typeof e}function nf(e,t){switch(e.type){case"UnaryExpression":var o,n,r,i,s,a,l,c,u,d,m,p,f,g=e,h=t;let _=nf(g.argument,h);switch(g.operator){case"+":return+_;case"-":return-_;case"~":return~_;case"!":return!_;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var w=e,v=t;switch(w.operator){case"&&":return nf(w.left,v)&&nf(w.right,v);case"||":return nf(w.left,v)||nf(w.right,v);case"??":return nf(w.left,v)??nf(w.right,v)}let y=nf(w.left,v),b=nf(w.right,v);switch(w.operator){case"+":return y+b;case"-":return y-b;case"*":return y*b;case"/":return y/b;case"%":return y%b;case"**":return y**b;case"==":return y==b;case"===":return y===b;case"!=":return y!=b;case"!==":return y!==b;case">":return y>b;case">=":return y>=b;case"<":return y<b;case"<=":return y<=b;case"in":return y in b;default:throw`Expression evaluator does not support operator '${w.operator}' operator`}case"ConditionalExpression":return o=e,n=t,nf(o.test,n)?nf(o.consequent,n):nf(o.alternate,n);case"CallExpression":return nb(nh(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,o,n)=>{let r=e[n];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 o of Object.keys(t))if(!e(t[o]))return!1;return!0}if(Array.isArray(t)){for(let o of t)if(!e(o))break}return!1}(r)&&t.push([o,r]),t},[]));return nf(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return nb(n_(e,t));case"ArrayExpression":return s=e,a=t,s.elements?.map(nx(a));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(nx(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(nx(j));switch(S.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${S.callee.name}`}}if(S.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(nk(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(nx(p))??[],(C=m.quasis?.map(nx(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 ng(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return ng(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function nh(e,t){let o=ny(e.callee,t);if(o===nv||e.optional&&null==o)return nv;let n=e.arguments?.map(nx(t));if(o){if("function"!=typeof o)throw`${nN(e.callee)} is not a function`}else throw`No function named ${nN(e.callee)} is defined in this context`;return o(...n)}function n_(e,t){let o=ny(e.object,t);if(o===nv||e.optional&&null==o)return nv;if(null===o)throw TypeError(`TypeError: cannot read properties of null (reading '${nj(e.property,t)}')`);if(void 0===o)switch(e.object.type){case"Identifier":{let o=ng(e.object,t);throw ReferenceError(`ReferenceError: ${o} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${nj(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof o&&"function"!=typeof o&&"string"!=typeof o&&"number"!=typeof o)throw`VisitMemberExpression does not support member access on type ${typeof o}`;let n=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}(nf(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);nk(n),function(e,t){if(nS.has(String(t)))return;let o=Object(e);for(;null!==o;){if(Object.hasOwn(o,t)){if(o===Object.prototype||o===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}o=Object.getPrototypeOf(o)}}(o,n);let r=o[n];return"function"==typeof r?r.bind(o):r}function nw(e,t){let o={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return o.addVariables.bind(o),o}o6.A.plugins.register(o5.A),o6.A.plugins.register(o8.A),o6.A.plugins.register(o3.A),o6.A.plugins.register(o4.A),o6.A.plugins.register(o7.A),o6.A.plugins.register(o9.A),o6.A.addBinaryOp("in",7),o6.A.addBinaryOp("??",1);let nv=Symbol("optional chain short-circuited");function ny(e,t){switch(e.type){case"MemberExpression":return n_(e,t);case"CallExpression":return nh(e,t);default:return nf(e,t)}}function nb(e){return e===nv?void 0:e}function nx(e){return function(t){return null===t?null:nf(t,e)}}function nk(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let nS=new Set(["toString","valueOf","hasOwnProperty"]);function nj(e,t){try{return ng(e,t)}catch{return"<computed>"}}function nN(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function nC(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:{...nt},isLocalExpression:!1,variables:new Set};return nE("string"==typeof e?(0,o6.A)(e):e,t),[...t.variables]}function nE(e,t){switch(e.type){case"UnaryExpression":return n=e,r=t,nE(n.argument,r);case"BinaryExpression":return i=e,s=t,[nE(i.left,s),nE(i.right,s)].filter(Boolean);case"ConditionalExpression":return a=e,l=t,[nE(a.consequent,l),nE(a.test,l),nE(a.alternate,l)].filter(Boolean);case"CallExpression":let o;return c=e,u=t,o=nE(c.callee,u),c.arguments?.map(nI(u)),o;case"ArrowFunctionExpression":var n,r,i,s,a,l,c,u,d,m,p,f,g,h,_,w,v=e,y=t;let b={...y};b.isLocalExpression=!0;let x=v.params?.map(nI(b))??[],k=nE(v.body,b)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||y.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(nE(S.object,j),S.computed)return void nE(S.property,j);let N={...j};N.isLocalExpression=!0,nE(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(nI(m));case"SequenceExpression":return p=e,f=t,void p.expressions?.map(nI(f));case"NewExpression":return g=e,h=t,void g.arguments?.map(nI(h));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,E=t;if(!(C.name in E.globals))if(E.isLocalExpression)return C.name;else E.variables.add(C.name);return;case"TemplateLiteral":return _=e,w=t,void(_.expressions?.map(nI(w)),_.quasis?.map(nI(w)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function nI(e){return function(t){return null===t?null:nE(t,e)}}let nA=$("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let o=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${o}`)||"{}");e[o]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function nP(e,t,o){nA.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:o}}}))}function nO(){let e=nA.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let o=t.replace("openmrs:feature-flag:","");e[o]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${o}`))})}function nT(e){return nA.getState().flags[e].enabled}function n$(e,t){nA.subscribe(o=>{t(o.flags[e].enabled)})}function nR(e,t){nA.setState(o=>({flags:{...o.flags,[e]:{...o.flags[e],enabled:t}}}))}nA.subscribe(e=>{for(let[t,o]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,o.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:o.label,description:o.description}))});var nM=o(1216);let nW=O("extensionsInternal",{slots:{},extensions:{}}),nL=O("extensionRenderings",{renderings:new Map}),nD=()=>$("extensionsInternal",{slots:{},extensions:{}}),nB=()=>$("extensionRenderings",{renderings:new Map});function nU(e){let t=nW.getState(),o=e(t);o!==t&&nW.setState(o)}let nF=null,nH=null;function nG(){let e=nL.getState();return nF&&e===nH||(nF=new Map(e.renderings),nH=e,function(e){for(let t of(n0.clear(),e.values()))n2(t,1);n1=!0}(nF)),nF}function nz(e){nH={renderings:e},nL.setState(nH,!0)}function nV(e){let t=nG();t.has(e.renderingId)||(t.set(e.renderingId,e),n2(e,1),nz(t))}function nJ(e){let t=nG(),o=t.get(e);o&&(t.delete(e),n2(o,-1),nz(t))}let nq=()=>$("extensions",{slots:{}}),nK=0,nX=new Set;function nY(e){nK++;try{return e()}finally{if(0==--nK&&nX.size>0){let e=Array.from(nX);for(let t of(nX.clear(),e))nZ(t)}}}function nZ(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function nQ(e){nK>0?nX.add(e):nZ(e)}let n0=new Map,n1=!1;function n2(e,t){let o=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=n0.get(o);if(!n){if(t<0)return;n0.set(o,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),n1=!0;return}n.count+=t,n.count<1&&(n0.delete(o),n1=!0)}function n6(){var e,t;if(nG(),!n1)return;n1=!1;let o=Array.from(n0.values(),({record:e})=>e);o.sort(n5),e=Q.getState().mountedExtensions,t=o,e.length===t.length&&e.every((e,o)=>0===n5(e,t[o]))||Q.setState({mountedExtensions:o})}function n5(e,t){return n8(e.slotName,t.slotName)||n8(e.extensionId,t.extensionId)||n8(e.slotModuleName,t.slotModuleName)||n8(e.extensionModuleName,t.extensionModuleName)}function n8(e,t){return e===t?0:e<t?-1:1}n6(),nL.subscribe(()=>nQ(n6));let n3=nD(),n4=nq(),n7=et(),n9=er(),re=new Set,rt=!1;function ro(e){if(null===e)re=null;else if(null!==re)for(let t of e)re.add(t);nQ(rn)}function rn(){if(!rt){rt=!0;try{for(let e=1;;e++){let t=re;if(null!==t&&0===t.size)return;re=new Set;try{!function(e,t,o,n,r,i=null){let s=n4.getState().slots,a={},l=!1,c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,u]of Object.entries(e.slots)){let d=s[n];if(d&&i&&!i.has(n)){a[n]=d;continue}let{config:m}=en(t,u.name),p=function(e,t,o,n,r,i){let s=function(e,t){let o=e.add||[],n=e.remove||[],r=e.order||[],{extensions:i}=n3.getState();return[...t,...o].filter(e=>!n.includes(e)).sort((e,o)=>rp(e,r,i[rs(e)]?.order,t)-rp(o,r,i[rs(o)]?.order,t))}(o,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=es(n,e,l),c=ea(o,e,l),u=c?(0,nM.A)({},s,c):s,d=rs(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tW(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(n,e,m,o,c,r.session);d&&d.moduleName===u.moduleName&&(0,B.A)(d.candidateExtensions,p)?a[n]=d:(a[n]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&n4.setState({slots:a})}(n3.getState(),n7.getState(),n9.getState(),nA.getState(),tE.getState(),t)}catch(e){throw re=null===t||null===re?null:new Set([...t,...re]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{rt=!1}}}function rr(e,t){let o=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&o.add(n);for(let n of Object.keys(t))n in e||o.add(n);return o}function ri(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rs(e){let[t]=e.split("#");return t}function ra(e,t){let o=rs(t);return e.extensions[o]}function rl(e){return ra(n3.getState(),e)}n3.subscribe((e,t)=>{ro(e.extensions!==t.extensions?null:rr(e.slots,t.slots))}),n7.subscribe((e,t)=>{ro(rr(e.slots,t.slots))}),n9.subscribe((e,t)=>{ro(rr(e.configs,t.configs))}),nA.subscribe(()=>ro(null)),tE.subscribe(()=>ro(null)),ro(null);let rc=e=>nU(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ru(e,t){nU(o=>{let n=o.slots[e];return n?{...o,slots:{...o.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...o,slots:{...o.slots,[e]:{...ri(e),attachedIds:[t]}}}})}function rd(e,t){nU(o=>{let n=o.slots[e];return n&&n.attachedIds.includes(t)?{...o,slots:{...o.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:o})}function rm(e){nU(t=>{let o=t.slots[e];return o?{...t,slots:{...t.slots,[e]:{...o,attachedIds:[]}}}:t})}function rp(e,t,o,n){let r=t.indexOf(e);if(-1!==r)return r;{if(void 0!==o)return 1e3+o;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function rf(e,t){return function(e,t,o=null,n){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:o,...t}:{session:o});try{return!!nr(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(rg(e),t,tE.getState().session,e)}function rg(e){return n4.getState().slots[e]?.candidateExtensions??[]}let rh=(e,t)=>n3.setState(o=>{let n=o.slots[t]?.moduleName;if(n&&n!=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 ${n}.`),o;if(n&&n==e)return o;if(o.slots[t])return{...o,slots:{...o.slots,[t]:{...o.slots[t],moduleName:e}}};let r=ri(t,e);return{...o,slots:{...o.slots,[t]:{...r}}}}),r_=()=>{re=null,nU(()=>({slots:{},extensions:{}})),nB().setState({renderings:new Map}),n4.setState({slots:{}})},rw=O("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rv({name:e,basePath:t,mode:o,componentContext:n,state:r}){rw.setState({slotName:e,basePath:t,mode:o??"normal",componentContext:n,state:r})}function ry(e){rw.getState().slotName===e&&rw.setState(rw.getInitialState(),!0)}let rb=O("modalRegistry",{modals:{}});function rx(e){rb.setState(t=>(t.modals[e.name]=e,t))}function rk(e){let t=rb.getState().modals[e];if(!t){let o=rl(e);o&&(t={name:e,load:o.load,moduleName:o.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),rx(t))}return t}let rS=O("workspaceRegistrations",{workspaces:{}}),rj=O("workspaceGroups",{workspaceGroups:{}});function rN(e){rS.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function rC(e){rj.setState(t=>{let o=t.workspaceGroups[e.name];return o?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...o,members:Array.from(new Set([...o.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let rE=new Set;function rI(e){let t=rS.getState().workspaces;if(t[e])return t[e];{let t=rl(e);if(t){var o;let n;return rE.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),rE.add(e)),{name:t.name,title:(o=t,"string"==typeof(n=o?.meta?.title)?n:n&&"object"==typeof n?tl(o.moduleName,n.key,n.default):o.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function rA(e){let t=rj.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let rP=O("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function rO(e){let{registeredWorkspacesByName:t,registeredWindowsByName:o}=rP.getState(),n=t[e];if(n){let t=o[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rT(e){let{registeredGroupsByName:t,registeredWindowsByName:o}=rP.getState(),n=o[e];if(n){let o=t[n.group];if(o)return o;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function r$(e){let{openedWindows:t}=rP.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rR(e,t){if(0==t.length)return;let{registeredGroupsByName:o}=rP.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace group ${o.name} more than once`);n[o.name]={...o,moduleName:e}}rP.setState({registeredGroupsByName:n})}function rM(e,t){if(0==t.length)return;let{registeredWindowsByName:o}=rP.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace window ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}rP.setState({registeredWindowsByName:n})}function rW(e,t){if(0==t.length)return;let{registeredWorkspacesByName:o}=rP.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}rP.setState({registeredWorkspacesByName:n})}let rL=0,rD=null,rB={bootstrap:15e3,mount:15e3,unmount:15e3};function rU(e,t){if(e.timeouts)return e;let o=e.name??"parcel",n=Object.fromEntries(Object.keys(rB).filter(t=>e[t]).map(n=>{var r,i;let s,a;return[n,(r=e[n],i=rB[n],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 ${n} at array index ${i} for parcel ${o} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${o} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function rF(e,t){var o,n;let r,i,s,a,l,c=await (rD??(rD=new Promise((e,t)=>{(0,tr.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tr.xL))),rD),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return n=c((o=d.onSettled,"function"==typeof e?()=>e().then(e=>rU(e,o)):rU(e,o)),u),a=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&a(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rH(){return rG}function rG(e,t){let o,n=rF(e,t).then(e=>o=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>o?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function rz(e,t,o,n,r=e=>e,i={}){let s=rs(n),a=rl(n),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,p=rL++,f=`${t}/${n}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{nJ(f)}catch(t){console.error(e,t)}};try{nV({renderingId:f,extensionName:s,extensionModuleName:d,extensionId:n,slotName:t,slotModuleName:o})}catch(e){throw g(`Recomputing configuration after registering '${n}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await rF(r({...c,name:`${t}/${s}-${p}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:o,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${n}' failed to unmount also failed`)})}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var rV=o(6925),rJ=o.n(rV);let rq=(0,rV.createContext)({moduleName:"",featureName:""});function rK({to:e,templateParams:t,onBeforeNavigate:o,children:n,...r}){return(0,rV.useEffect)(()=>{r.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${r.href}'`),r.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),rJ().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),o?.(n),tm({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&o?.(n),0===n.button&&n.shiftKey&&o?.(n),1===n.button&&o?.(n)},href:tu(e,t),...r},n)}let rX=({state:e,children:t,...o})=>{let{extension:n}=(0,rV.useContext)(rq),r=(0,rV.useRef)(null),i=(0,rV.useRef)(Promise.resolve()),s=(0,rV.useRef)(!1),a=(0,rV.useRef)(!1),l=(0,rV.useRef)(e),c=(0,rV.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),u=(0,rV.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,rV.useCallback)(t=>{t&&!r.current&&!a.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(a.current=!0,rz(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rV.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rV.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),n?rJ().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...o}):null};function rY(e){let t=(0,rV.useRef)(e);return b(t.current,e)||(t.current=e),t.current}function rZ(e,t){"function"==typeof t&&(t=t(e));let o={};for(let[n,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};o[n]=t}return o}let rQ=e=>e;function r0(e,t=rQ,o){let n=(0,rV.useCallback)(t=>e.subscribe(t),[e]),r=(0,rV.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rV.useSyncExternalStore)(n,r,r),s=(0,rV.useMemo)(()=>o?rZ(e,o):null,[e,o]);return(0,rV.useMemo)(()=>s?{...i,...s}:i,[i,s])}function r1(e,t){return r0(e,rQ,t)}function r2(e){return function(t){let o=(0,rV.useCallback)(t=>e.subscribe(t),[]),n=(0,rV.useCallback)(()=>e.getState(),[]),r=(0,rV.useSyncExternalStore)(o,n,n),i=(0,rV.useMemo)(()=>t?rZ(e,t):null,[t]);return(0,rV.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r6=[];Object.freeze(r6);let r5={candidateExtensions:r6};Object.freeze(r5);let r8=e=>{let t=(0,rV.useCallback)(t=>t.slots?.[e]??r5,[e]);return r0(nq(),t)},r3=e=>e.session;function r4(e,t){let{candidateExtensions:o}=r8(e),n=r0(tE,r3),r=rY(t);return(0,rV.useMemo)(()=>rf(e,r),[e,r,n,o])}function r7(e,t){let{moduleName:o}=(0,rV.useContext)(rq);if(!o)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rV.useEffect)(()=>{rh(o,e)},[o,e]),{extensions:r4(e,t),extensionSlotName:e,extensionSlotModuleName:o}}function r9(e){return e}function ie({name:e,extensionSlotName:t,select:o=r9,children:n,state:r,style:i,...s}){if(n&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rV.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r7(a,r),d=(0,rV.useMemo)(()=>o(c),[o,c]),m=(0,rV.useMemo)(()=>{if("function"==typeof n&&!rJ().isValidElement(n))return d.map(e=>n(e,r))},[n,d]);return rJ().createElement("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s},a&&d?.map((e,t)=>rJ().createElement(rq.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof n?n:null)??rJ().createElement(rX,{state:r}))))}var it=o(3776),io=o(9568),ir=o(9737),ii=o(2324),is=o(242);let ia={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},il=new Map;(0,is.y)(il);let ic={errorRetryCount:3,fetcher:tN,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tC){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>il};function iu(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},ia,e),o={...ic,...t.swrConfig};return function(e){var n,r,i,s,a;return i=r=class extends(n=rJ().Component){componentDidCatch(e,o){o&&o.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:o.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:o})}render(){if(this.state.caughtError)return rJ().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=rJ().createElement(rV.Suspense,{fallback:null},rJ().createElement(ii.S,{value:o},rJ().createElement(rq.Provider,{value:this.state.config},t.disableTranslations?rJ().createElement(e,this.props):rJ().createElement(ir.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},rJ().createElement(e,this.props)))));return t.strictMode&&rJ().StrictMode?rJ().createElement(rJ().StrictMode,null,n):n}}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 id(e,t){return(0,io.A)({React:rJ(),ReactDOMClient:it,rootComponent:iu(t)(e)})}function im(e,t){return()=>e().then(({default:e})=>id(e,t))}function ip(e,t){return()=>Promise.resolve(id(e,t))}let ig=im,ih=(0,N.y)()(()=>({}));T("openmrs-app-context",ih);let i_={};function iw(e,t=e=>e){let o=ih.getState();return e in o?Object.freeze(Object.assign({},t?t(o[e]):o[e])):null}function iv(e,t){ih.setState(o=>(e in o||(o[e]={}),o[e]=t(o[e]),Object.assign({},o)))}function iy(e){return null===e?null:Object.freeze(Object.assign({},e))}let ib=new Map;function ix(e,t){let o=(0,rV.useRef)(t??{}),n=(0,rV.useRef)(t=>iv(e,t)),r=(0,rV.useRef)(Symbol());return(0,rV.useEffect)(()=>{let o=t??{},n=r.current;return null===iw(e)?!function(e,t=i_){ih.setState(o=>{if(e in o)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({},o,{[e]:t===i_?{}:t})})}(e,o):(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.`),iv(e,()=>o)),ib.set(e,n),()=>{ib.get(e)===n&&(ih.setState(t=>(e in t&&delete t[e],t)),ib.delete(e))}},[e]),(0,rV.useEffect)(()=>{let n=t??{};b(o.current,n)||(iv(e,()=>n),o.current=n)},[t]),n.current}function ik({namespace:e,value:t}){return ix(e,t),null}let iS=({children:e,value:t,fallback:o})=>t?rJ().createElement(rJ().Fragment,null,e):o?rJ().createElement(rJ().Fragment,null,o):null;function ij(){let e=(0,rV.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rV.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function iN(e,t=e=>e??{}){let[o,n]=(0,rV.useState)(()=>{if(iC(e))return;let o=iw(e);if(null!==o)return t?t(o):o});return(0,rV.useEffect)(()=>{if(iC(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rV.useEffect)(()=>{var o;let r;return(o=e=>{if(null==e)return void n(void 0);let o=t?t(e):e;n(e=>b(e,o)?e:o)})(iy(r=iw(e))),ih.subscribe(t=>{let n=e in t?t[e]:null;n!==r&&(r=n,o(iy(n)))})},[e,t]),o}function iC(e){return"string"!=typeof e||0===e.trim().length}function iE(e){let t=r4(e);return(0,rV.useMemo)(()=>t.map(e=>e.id),[t])}function iI(e){return r8(e).candidateExtensions}function iA(e,t,o){let{data:n,error:r,mutate:i,isLoading:s,isValidating:a}=(0,ii.u)(e?oW(e,t,o):null,tN);return(0,rV.useMemo)(()=>({isLoading:s,data:n?.data.results??[],error:r,mutate:i,isValidating:a}),[n,r,s,a,i])}function iP(e){(0,rV.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iO={},iT=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
|
-
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function i$(e){let{moduleName:t,extension:o}=(0,rV.useContext)(rq),n=e?.externalModuleName??t;if(!n&&!o)throw Error(iT);let r=function(e){let t=(0,rV.useMemo)(()=>ee(e),[e]),o=function(e){let[t,o]=(0,rV.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rV.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&o(e.config)}),[e]),t}(t);if(!o)throw iO[e]||(iO[e]=new Promise(e=>{let o=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),o())})})),iO[e];return o}(n),i=function(e){let t=(0,rV.useMemo)(er,[]),o=function(e,t){let[o,n]=(0,rV.useState)(t?()=>{let o=es(e.getState(),t.extensionSlotName,t.extensionId);if(o.loaded&&o.config)return o.config}:null);return(0,rV.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=es(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,B.A)(r.config,o)&&n(r.config)})},[e,t,o]),o}(t,e);if(!o&&e){let o=`${e.extensionSlotName}-${e.extensionId}`;throw!iO[o]&&t&&(iO[o]=new Promise(o=>{let n=t.subscribe(t=>{let r=es(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(o(r.config),n())})})),iO[o]}return o||{}}(o);return(0,rV.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...r}:{...r,...i},[n,e?.externalModuleName,r,i])}let iR=r4;function iM(e,t=300){let[o,n]=(0,rV.useState)(e);return(0,rV.useEffect)(()=>{let o=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(o)}},[e,t]),o}var iW=o(6269);let iL=`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 iD(){let e=`${tx}/emrapi/configuration?v=${iL}`,t=(0,iW.A)(e,tN);return(0,rV.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iB(){return(0,rV.useContext)(rq).extension}let iU=r2(nD());function iF(e){let t=r4(e);return(0,rV.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iH=r2(nq());function iG(e){let{flags:t}=r0(nA);return t[e]?.enabled??!1}function iz(){let[,e]=(0,rV.useState)(0);return(0,rV.useCallback)(()=>{e(e=>e+1)},[])}function iV(e,t,o={}){return iq(e,t,iJ,o)}let iJ={getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tj(e.toString()),window.location.toString());return n.searchParams.set("limit",""+t),n.searchParams.set("startIndex",""+o),n.searchParams.set("totalCount","true"),n.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 iq(e,t,o,n={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=o,{immutable:l,swrConfig:c}=n,u=n.fetcher??tN,[d,m]=(0,rV.useState)(1),p=(0,rV.useRef)(NaN),f=(0,rV.useRef)(NaN),g=(0,rV.useRef)(d),h=(0,rV.useRef)(!1),_=(0,rV.useRef)(!1),w=e?.toString()??"",[v,y]=(0,rV.useState)(w);w!==v&&(y(w),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,_.current=!1);let b=(d-1)*t,x=(0,rV.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?iW.A:ii.u)(x,u,c);k?.data&&(p.current=i(k?.data),f.current=s(k?.data),h.current=!0);let j=Math.ceil(p.current/t),N=(0,rV.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let o=Math.ceil(p.current/t);!h.current||Number.isNaN(o)||e<=o?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rV.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){_.current||(_.current=!0,console.warn(`useServerPagination: ${w} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(p.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,w,k]);let C=(0,rV.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rV.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(k?.data),totalPages:j,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function iK(e,t,o={}){return iq(e,t,iX(),o)}function iX(){return{getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tj(e.toString()),window.location.toString());return n.searchParams.set("_count",""+t),n.searchParams.set("_getpagesoffset",""+o),n.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 iY=o(3709);function iZ(e,t={}){return iQ(e,iJ,t)}function iQ(e,t,o={}){let{swrInfiniteConfig:n,immutable:r}=o,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=o.fetcher??tN,c=(0,rV.useCallback)((o,n)=>0==o?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:u,size:d,setSize:m,...p}=(0,iY.Ay)(c,l,{...n,...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 i0(e,t={}){return i1(e,iJ,t)}function i1(e,t,o={}){let n=iQ(e,t,o),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=n;return((0,rV.useEffect)(()=>{r&&!i&&a()},[r,c]),o.partialData)?n:{...n,data:r||i?void 0:s,isLoading:l||r}}function i2(e,t={}){return i1(e,iX(),t)}function i6(e,t={}){return iQ(e,iX(),t)}function i5(){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 i8(){let[e,t]=(0,rV.useState)(i5);return(0,rV.useEffect)(()=>{let e=()=>{t(i5())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i3=e=>"small-desktop"===e||"large-desktop"===e;function i4(e){let t=(0,rV.useContext)(rq);(0,rV.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rv(e),()=>{ry(e.name)}),[t,e])}function i7(){return r0(rw)}let i9=[];function se(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString(),{data:r}=i0(`${tx}/location${n?"?"+n:""}`,{immutable:!0});return r??i9}function st(e,t=!0){let o=(0,rV.useRef)(null);return(0,rV.useEffect)(()=>{let n=n=>{t&&o.current&&n.target&&n.target instanceof Node&&(o.current.contains(n.target)||e(n))};return window.addEventListener("mousedown",n),window.addEventListener("touchstart",n),()=>{window.removeEventListener("mousedown",n),window.removeEventListener("touchstart",n)}},[e,t]),o}function so(e){let t=(0,rV.useRef)();return(0,rV.useEffect)(()=>{let o=new IntersectionObserver(t=>{for(let o of t)if(o.isIntersecting)return void e()},{threshold:1});return t.current&&o.observe(t.current),()=>{t.current&&o.unobserve(t.current)}},[t.current,e]),t}function sn(e,t={}){let{abortController:o,fetchInit:n,url:r,swrConfig:i}=t,s=ij(),a=(0,rV.useMemo)(()=>n?.signal??o?.signal??s.signal,[o?.signal,n?.signal,s.signal]),l=(0,rV.useCallback)(e=>tN(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...n,signal:a}),[a,n,r]);return(0,ii.u)(e,l,i)}function sr(e=[],t=10){let[o,n]=(0,rV.useState)(1),r=(0,rV.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);o>r&&n(r);let i=Math.min(Math.max(1,o),r),s=(0,rV.useMemo)(()=>{let o=(i-1)*t,n=(i+0)*t;return e.slice(o,n)},[e,i,t]),a=(0,rV.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,rV.useCallback)(()=>{n(e=>e+1)},[]),c=(0,rV.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,rV.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function si(e,t,o,n){return{pageSizes:(0,rV.useMemo)(()=>{let o=Math.ceil(t/e);return isNaN(o)&&(o=0),[...Array(o).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rV.useMemo)(()=>e>t?t:e*o>t?e*(o-1)+n:e*o,[e,t,o,n])}}function ss(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function sa(e){let[t,o]=(0,rV.useState)(e??ss()),{data:n,error:r,isValidating:i}=(0,ii.u)(t?["patient",t]:null,()=>oB(t,{}));return(0,rV.useEffect)(()=>{let e=()=>{let e=ss();e!==t&&o(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rV.useMemo)(()=>({isLoading:i&&!r&&!n,patient:n,patientUuid:t,error:r}),[i,r,n,t])}function sl(){let e=`${tx}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:o,isLoading:n}=(0,ii.u)(e,tN);return(0,rV.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:o}),[t,o,n])}function sc(e){let{extensions:t,extensionSlotModuleName:o}=r7(e);return e?t.map(t=>({state:n})=>rJ().createElement(rq.Provider,{value:{moduleName:o,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:o,extensionMeta:t.meta}}},rJ().createElement(rX,{state:n}))):[]}function su(){let e=(0,rV.useRef)(),[t,o]=(0,rV.useState)(null),n=null;if(!t){if(r){let e=tT().getState();e.loaded&&(n=e.session)}else r=new Promise(t=>{let o=({loaded:o,session:r})=>{o&&(t(r),n=r,e.current&&(e.current(),e.current=void 0))};o(tT().getState()),n||(e.current=tT().subscribe(o))});if(n)o(n);else throw r}(0,rV.useEffect)(()=>(e.current||(e.current=tT().subscribe(({loaded:e,session:t})=>{e&&(n=t,o(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||n;if(!i)if(r)throw console.warn("useSession is in an unexpected state. Attempting to recover."),r;else throw Error("useSession is in an invalid state.");return i}let sd=({privilege:e,fallback:t,children:o})=>{let[n,r]=(0,rV.useState)(null);return((0,rV.useEffect)(()=>{let e=tT(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:o,session:n}=e.getState();return o&&r(n?.user??null),t},[]),n&&tW(e,n))?rJ().createElement(rJ().Fragment,null,o):t?rJ().createElement(rJ().Fragment,null,t):null};var sm=o(4343),sp=o.n(sm),sf=o(3355);let sg=new Map;function sh(){for(let e of Array.from(sg.values()))e()}let s_={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sw(e){let t=(0,rV.useId)();return(0,rV.useEffect)(()=>{if(e)return sg.set(t,e),()=>{sg.delete(t)}},[t,e]),{...r1(oZ(),s_),mutateVisit:sh}}function sv(e,t=oX){let o=(0,rV.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:r,setVisitContext:i}=sw((0,rV.useCallback)(()=>o.current?.(),[])),s=e&&n==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,ii.u)(e?`${tx}/visit${a}`:null,tN),{data:p,error:f,mutate:g,isValidating:h}=(0,ii.u)(e&&s?`${tx}/visit${l}`:null,tN),_=(0,rV.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),w=(0,rV.useMemo)(()=>s&&p?p.data:null,[p,s]),v=(0,rV.useRef)(null);(0,rV.useEffect)(()=>{!m&&_&&n===e&&null===r&&i(_),h||(v.current&&w&&v.current.uuid===w.uuid&&!v.current.stopDatetime&&w.stopDatetime&&i(null),v.current=w)},[w,r,_,m,h,n]);let y=(0,rV.useCallback)(()=>{d(),g()},[d,g]);(0,rV.useEffect)(()=>{o.current=y},[y]);let b=!!(!c||s&&!p),x=!!(s?f:u);return{error:u||f,mutate:y,isValidating:m||h,activeVisit:_,currentVisit:w,currentVisitIsRetrospective:!!s,isLoading:b&&!x}}sm.extend(sf);let sy=[];function sb(){let{data:e}=(0,iW.A)(oV,oJ);return e??sy}let sx=new Map;async function sk(e,t){let o=t.indexOf("#"),n=o>=0,r=n?t.substring(0,o):e,i=n?t.substring(o+1):t,s=await ou(r);return s&&Object.hasOwn(s,i)&&"function"==typeof s[i]?sj(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`),sS)}let sS={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sj(e,t){if(e in sx)await sx[e];else{let o=t??await ou(e);await (sx[e]=new Promise((t,n)=>{if(Object.hasOwn(o,"startupApp")){let r=o.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eC(e),t(null)}).catch(n)}eC(e),t(null)}))}}function sN(e,t){let o=t.name;if(!o)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
|
|
15
|
+
${this.stack}`}}let tO=T("session",{loaded:!1,session:null}),tT=0,tR=null;function t$(){return tR||(tO.getState().loaded&&tT>=Date.now()-6e4?null:tD())}function tM(e){let t=e?.includeAuthStatus??!0,o=e=>t?e:e.user,n=t$();return n?new Promise(e=>{let t=()=>{let t=tO.getState();t.loaded&&(r(),e(o(t.session)))},r=tO.subscribe(t);n.then(t,t)}):Promise.resolve(o(tO.getState().session))}function tW(){return t$(),tO}function tL(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tD(e,t){tT=Date.now(),r??(r=tT);let o={};e&&t&&(o.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let n=tK(tA(tE,{headers:o,rejectAuthFailure:!0})),i=()=>{tR===n&&(tR=null)};return n.then(i,i),tR=n,n}function tB(){tO.setState({loaded:!0,session:{authenticated:!1,sessionId:""}},!0)}function tU(e,t){var o,n;if(void 0===t)return!e;if(!e)return!0;return o=e,n=t,("string"==typeof o?!(0,L.A)(n.privileges.find(e=>o===e.display)):Array.isArray(o)?o.every(e=>!(0,L.A)(n.privileges.find(t=>e===t.display))):((0,L.A)(o)||console.error(`Could not understand privileges "${o}"`),!0))||!(0,L.A)(t.roles.find(e=>"System Developer"===e.display))}function tF(){let e,t;return new Promise(o=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,o(n.session.user),t&&t())};n(tO.getState()),e||(t=tO.subscribe(n))})}async function tH(){return(await tM()).sessionLocation}async function tG(e,t){return tK(tA(tE,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tz(e,t){return await tA(tE,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tD()}async function tV(e,t,o){return o||(o=new AbortController),await tA(`${tN}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:o.signal}),tD()}async function tJ(e,t=!1){let o=await tA(t?`${tE}?rememberMe=true`:tE,{headers:{"X-Totp-Code":e}});return o.data?.authenticated?(await tD()).session:o.data}async function tq(){try{await tA(tE,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tX(e))throw e}tB(),await tD().catch(()=>{})}function tK(e){return new Promise((t,o)=>{e.then(e=>{if("object"==typeof e?.data){let o={loaded:!0,session:e.data};tO.setState(o,!0),t(o)}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)?o(tY(Error("The session endpoint did not respond with a session"))):o(tY(Error("The server is still starting up"),!0))}).catch(e=>{var n,i;if(tX(e)){"object"==typeof(n=e.responseBody)&&null!==n&&!1===n.authenticated?tO.setState({loaded:!0,session:e.responseBody},!0):tB(),t(tO.getState());return}(i=e)instanceof tP&&502===i.response.status&&!tO.getState().loaded&&void 0!==r&&Date.now()-r<18e4?o(tY(e,!0)):(v(`Failed to fetch new session information: ${e}`),o(tY(e)))})})}function tX(e){return e instanceof tP&&(401===e.response.status||403===e.response.status)}function tY(e,t=!1){return tO.getState().loaded||tO.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e)),initializing:t},!0),tO.getState()}function tZ(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tO.subscribe(e=>{e.loaded&&e.session&&tL(e.session)});let tQ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function t0(){eI("@openmrs/esm-api",tS),tD()}let t1="import-map-override:",t2="import-map-overrides-disabled",t6="import-map-overrides:change",t5=!1,t8=null,t3=null;async function t4(){return t3??(t3=t7().then(({map:e,complete:t})=>(t||(t3=null),e))),t3}async function t7(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];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){o=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:t9(t),complete:o}}function t9(e){let t={imports:{}};for(let o of e)o?.imports&&Object.assign(t.imports,o.imports);return t}function oe(){let e={};try{let t=oi();for(let o=0;o<localStorage.length;o++){let n=localStorage.key(o);if(n?.startsWith(t1)){let o=n.slice(t1.length);if(!t.includes(o)){let t=localStorage.getItem(n);t&&(e[o]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function ot(){let e=await t4();return t5?t9([e,t8??oe()]):e}async function oo(){return t4()}async function on(){return t5?t9([await t4(),oe()]):t4()}function or(e){if(!t5)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(t1)){let t=localStorage.getItem(o);t&&(e[o.slice(t1.length)]=t)}}return{imports:e}}return oe()}function oi(){if(!t5)return[];try{let e=localStorage.getItem(t2);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function oa(e){return!!t5&&oi().includes(e)}function os(e,t){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(t1+e,t),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function ol(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(t1+e);let t=oi().filter(t=>t!==e);t.length>0?localStorage.setItem(t2,JSON.stringify(t)):localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function oc(){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 o=localStorage.key(t);o?.startsWith(t1)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function ou(e){if(!t5)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=oi().filter(t=>t!==e);t.length>0?localStorage.setItem(t2,JSON.stringify(t)):localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t6))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let od=!1;function om(){!od&&(od=!0,(t5="development"===window.spaEnv)&&(t8=oe()))}function op(e){return e.replace(/[\/\-@]/g,"_")}async function of(e,t="./start",n){var r;let i,a=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([og(e,n?.importMap),new Promise((t,o)=>{i=setTimeout(()=>{var t;o(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=op(e),l=window[s];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(o.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 og(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 o=op(e);if(!window[o]){let o=t??await oh();if(!o.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=o.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let r=e in or().imports;try{return await function(e){var t;let o=(t=window)[ow]??(t[ow]=new Map),n=o.get(e);if(n)return n;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,n)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),r.removeEventListener("load",s),r.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),o.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}r.addEventListener("load",s),r.addEventListener("error",l),document.head.appendChild(r)});return o.set(e,i),i}(n)}catch(e){return r&&p({kind:"error",title:tp("scriptLoadingFailed","Error: Script failed to load"),description:tp("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:tp("resetOverrides","Reset overrides"),onActionButtonClick(){oc(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function oh(){return ot()}let ow=Symbol.for("__openmrs_script_loading");function o_(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function ov(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&&o_(t))}let oy="openmrs-routes:",ob="openmrs-routes:change",ox=!1,ok=null,oS=null;async function oj(){return oS??(oS=oN().then(({map:e,complete:t})=>(t||(oS=null),e))),oS}async function oN(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];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&&ov(e)&&t.push(e)}catch(e){o=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:oC(t),complete:o}}function oC(e){let t={routes:{}};for(let o of e)o&&"object"==typeof o&&!Array.isArray(o)&&(Object.assign(t.routes,o.routes),void 0===t.version&&void 0!==o.version&&(t.version=o.version));return t}async function oE(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let o=localStorage.key(e);if(o?.startsWith(oy)){let e=localStorage.getItem(o);e&&t.push({moduleName:o.slice(oy.length),raw:e})}}for(let o of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let o=JSON.parse(t);if(o_(o))return{moduleName:e,routes:o};if("string"==typeof o&&o.startsWith("http")){let t=await fetch(o),n=await t.json();if(o_(n))return{moduleName:e,routes:n};throw Error(`${o} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===o.status?e.routes[o.value.moduleName]=o.value.routes:console.warn("[route-maps] Failed to load route override",o.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function oI(){let e=await oj();return ox?oC([e,ok??await oE()]):e}async function oA(){return oj()}async function oP(){return ox?oC([await oj(),await oE()]):oj()}function oO(){if(!ox)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(oy)){let t=localStorage.getItem(o);t&&(e[o.slice(oy.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function oT(e,t){if(!ox)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(oy+e,JSON.stringify(t));else{let o=JSON.parse(t);if(!o_(o))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(oy+e,JSON.stringify(o))}else if(t instanceof URL)localStorage.setItem(oy+e,JSON.stringify(t.toString()));else{if(!o_(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(oy+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(ob))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function oR(e){if(!ox)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(oy+e),window.dispatchEvent(new CustomEvent(ob))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function o$(){if(!ox)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);o?.startsWith(oy)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(ob))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let oM=null;function oW(){return oM||(oM=(ox="development"===window.spaEnv)?oE().then(e=>{ok=e}):Promise.resolve())}let oL=`${tN}/attachment`;function oD(e,t){return tA(`${oL}/${e}`,{signal:t.signal})}function oB(e,t,o,n){return tA(oU(e,t,n),{signal:o.signal})}function oU(e,t,o){return o?`${oL}?patient=${e}&encounter=${o}`:`${oL}?patient=${e}&includeEncounterless=${t}`}async function oF(e,t,o){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),o&&n.append("encounter",o),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),tA(`${oL}`,{method:"POST",body:n})}function oH(e,t){return tA(`${oL}/${e}`,{method:"DELETE",signal:t.signal})}async function oG(e,t){return e?(await tA(`${tC}/Patient/${e}`,t)).data:null}function oz(e,t){let o=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(o)}function oV(e,t){let o=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,o),()=>{window.removeEventListener(`openmrs:${e}`,o)}}function oJ(e){return{uuid:e.uuid,display:e.display}}function oq(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString();return tA(`${tN}/location${n?"?"+n:""}`).then(e=>e.data.results.map(oJ))}function oK(e){return{uuid:e.uuid,display:e.display,name:e.name}}let oX=`${tN}/visittype`;function oY(e=oX){return tA(e).then(e=>e.data.results.map(oK))}var oZ=((S={}).NEWVISIT="startVisit",S.EDITVISIT="editVisit",S.LOADING="loadingVisit",S),oQ=((j={}).NOTSTARTED="notStarted",j.ONGOING="ongoing",j);let o0="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))",o1=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function o2(){return $("visit",o1)}function o6(e,t){o2().setState({patientUuid:e,manuallySetVisitUuid:t})}function o5(e,t){return tA(`${tN}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function o8(e,t,o){return tA(`${tN}/visit/${e}`,{signal:o.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function o3(e,t,o){return tA(`${tN}/visit?patient=${e}&v=${o??o0}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}o2().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var o4=o(9225),o7=o(6881),o9=o(6828),ne=o(1956),nt=o(3635),no=o(7839),nn=o(2298);let nr={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)}},ni={...nr,Promise};function na(e,t={}){return nm(e,t,ng)}async function ns(e,t={}){return np(e,t,ng)}function nl(e,t={}){return nm(e,t,nh)}function nc(e,t={}){return np(e,t,nh)}function nu(e,t={}){return nm(e,t,nw)}function nd(e,t={}){return np(e,t,nw)}function nm(e,t={},o){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 n=nx(t,nr),r=n_("string"==typeof e?(0,o4.A)(e):e,n);if(o(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 np(e,t={},o){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 n=nx(t,ni);return Promise.resolve(n_("string"==typeof e?(0,o4.A)(e):e,n)).then(t=>{if(o(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 nf(e){return(0,o4.A)(e)}function ng(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function nh(e){return"boolean"==typeof e}function nw(e){return"number"==typeof e}function n_(e,t){switch(e.type){case"UnaryExpression":var o,n,r,i,a,s,l,c,u,d,m,p,f,g=e,h=t;let w=n_(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,v=t;switch(_.operator){case"&&":return n_(_.left,v)&&n_(_.right,v);case"||":return n_(_.left,v)||n_(_.right,v);case"??":return n_(_.left,v)??n_(_.right,v)}let y=n_(_.left,v),b=n_(_.right,v);switch(_.operator){case"+":return y+b;case"-":return y-b;case"*":return y*b;case"/":return y/b;case"%":return y%b;case"**":return y**b;case"==":return y==b;case"===":return y===b;case"!=":return y!=b;case"!==":return y!==b;case">":return y>b;case">=":return y>=b;case"<":return y<b;case"<=":return y<=b;case"in":return y in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return o=e,n=t,n_(o.test,n)?n_(o.consequent,n):n_(o.alternate,n);case"CallExpression":return nj(ny(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,o,n)=>{let r=e[n];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 o of Object.keys(t))if(!e(t[o]))return!1;return!0}if(Array.isArray(t)){for(let o of t)if(!e(o))break}return!1}(r)&&t.push([o,r]),t},[]));return n_(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return nj(nb(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(nN(s));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(nN(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(nN(j));switch(S.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${S.callee.name}`}}if(S.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(nC(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(nN(p))??[],(C=m.quasis?.map(nN(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 nv(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return nv(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function ny(e,t){let o=nS(e.callee,t);if(o===nk||e.optional&&null==o)return nk;let n=e.arguments?.map(nN(t));if(o){if("function"!=typeof o)throw`${nA(e.callee)} is not a function`}else throw`No function named ${nA(e.callee)} is defined in this context`;return o(...n)}function nb(e,t){let o=nS(e.object,t);if(o===nk||e.optional&&null==o)return nk;if(null===o)throw TypeError(`TypeError: cannot read properties of null (reading '${nI(e.property,t)}')`);if(void 0===o)switch(e.object.type){case"Identifier":{let o=nv(e.object,t);throw ReferenceError(`ReferenceError: ${o} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${nI(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof o&&"function"!=typeof o&&"string"!=typeof o&&"number"!=typeof o)throw`VisitMemberExpression does not support member access on type ${typeof o}`;let n=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}(n_(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);nC(n),function(e,t){if(nE.has(String(t)))return;let o=Object(e);for(;null!==o;){if(Object.hasOwn(o,t)){if(o===Object.prototype||o===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}o=Object.getPrototypeOf(o)}}(o,n);let r=o[n];return"function"==typeof r?r.bind(o):r}function nx(e,t){let o={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return o.addVariables.bind(o),o}o4.A.plugins.register(o7.A),o4.A.plugins.register(o9.A),o4.A.plugins.register(ne.A),o4.A.plugins.register(nt.A),o4.A.plugins.register(no.A),o4.A.plugins.register(nn.A),o4.A.addBinaryOp("in",7),o4.A.addBinaryOp("??",1);let nk=Symbol("optional chain short-circuited");function nS(e,t){switch(e.type){case"MemberExpression":return nb(e,t);case"CallExpression":return ny(e,t);default:return n_(e,t)}}function nj(e){return e===nk?void 0:e}function nN(e){return function(t){return null===t?null:n_(t,e)}}function nC(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let nE=new Set(["toString","valueOf","hasOwnProperty"]);function nI(e,t){try{return nv(e,t)}catch{return"<computed>"}}function nA(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function nP(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:{...ni},isLocalExpression:!1,variables:new Set};return nO("string"==typeof e?(0,o4.A)(e):e,t),[...t.variables]}function nO(e,t){switch(e.type){case"UnaryExpression":return n=e,r=t,nO(n.argument,r);case"BinaryExpression":return i=e,a=t,[nO(i.left,a),nO(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[nO(s.consequent,l),nO(s.test,l),nO(s.alternate,l)].filter(Boolean);case"CallExpression":let o;return c=e,u=t,o=nO(c.callee,u),c.arguments?.map(nT(u)),o;case"ArrowFunctionExpression":var n,r,i,a,s,l,c,u,d,m,p,f,g,h,w,_,v=e,y=t;let b={...y};b.isLocalExpression=!0;let x=v.params?.map(nT(b))??[],k=nO(v.body,b)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||y.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(nO(S.object,j),S.computed)return void nO(S.property,j);let N={...j};N.isLocalExpression=!0,nO(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(nT(m));case"SequenceExpression":return p=e,f=t,void p.expressions?.map(nT(f));case"NewExpression":return g=e,h=t,void g.arguments?.map(nT(h));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,E=t;if(!(C.name in E.globals))if(E.isLocalExpression)return C.name;else E.variables.add(C.name);return;case"TemplateLiteral":return w=e,_=t,void(w.expressions?.map(nT(_)),w.quasis?.map(nT(_)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function nT(e){return function(t){return null===t?null:nO(t,e)}}let nR=$("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let o=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${o}`)||"{}");e[o]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function n$(e,t,o){nR.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:o}}}))}function nM(){let e=nR.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let o=t.replace("openmrs:feature-flag:","");e[o]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${o}`))})}function nW(e){return nR.getState().flags[e].enabled}function nL(e,t){nR.subscribe(o=>{t(o.flags[e].enabled)})}function nD(e,t){nR.setState(o=>({flags:{...o.flags,[e]:{...o.flags[e],enabled:t}}}))}nR.subscribe(e=>{for(let[t,o]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,o.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:o.label,description:o.description}))});var nB=o(1216);let nU=T("extensionsInternal",{slots:{},extensions:{}}),nF=T("extensionRenderings",{renderings:new Map}),nH=()=>$("extensionsInternal",{slots:{},extensions:{}}),nG=()=>$("extensionRenderings",{renderings:new Map});function nz(e){let t=nU.getState(),o=e(t);o!==t&&nU.setState(o)}let nV=null,nJ=null;function nq(){let e=nF.getState();return nV&&e===nJ||(nV=new Map(e.renderings),nJ=e,function(e){for(let t of(n5.clear(),e.values()))n3(t,1);n8=!0}(nV)),nV}function nK(e){nJ={renderings:e},nF.setState(nJ,!0)}function nX(e){let t=nq();t.has(e.renderingId)||(t.set(e.renderingId,e),n3(e,1),nK(t))}function nY(e){let t=nq(),o=t.get(e);o&&(t.delete(e),n3(o,-1),nK(t))}let nZ=()=>$("extensions",{slots:{}}),nQ=0,n0=new Set;function n1(e){nQ++;try{return e()}finally{if(0==--nQ&&n0.size>0){let e=Array.from(n0);for(let t of(n0.clear(),e))n2(t)}}}function n2(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function n6(e){nQ>0?n0.add(e):n2(e)}let n5=new Map,n8=!1;function n3(e,t){let o=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=n5.get(o);if(!n){if(t<0)return;n5.set(o,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),n8=!0;return}n.count+=t,n.count<1&&(n5.delete(o),n8=!0)}function n4(){var e,t;if(nq(),!n8)return;n8=!1;let o=Array.from(n5.values(),({record:e})=>e);o.sort(n7),e=ee.getState().mountedExtensions,t=o,e.length===t.length&&e.every((e,o)=>0===n7(e,t[o]))||ee.setState({mountedExtensions:o})}function n7(e,t){return n9(e.slotName,t.slotName)||n9(e.extensionId,t.extensionId)||n9(e.slotModuleName,t.slotModuleName)||n9(e.extensionModuleName,t.extensionModuleName)}function n9(e,t){return e===t?0:e<t?-1:1}n4(),nF.subscribe(()=>n6(n4));let re=nH(),rt=nZ(),ro=eo(),rn=ei(),rr=new Set,ri=!1;function ra(e){if(null===e)rr=null;else if(null!==rr)for(let t of e)rr.add(t);n6(rs)}function rs(){if(!ri){ri=!0;try{for(let e=1;;e++){let t=rr;if(null!==t&&0===t.size)return;rr=new Set;try{!function(e,t,o,n,r,i=null){let a=rt.getState().slots,s={},l=!1,c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,u]of Object.entries(e.slots)){let d=a[n];if(d&&i&&!i.has(n)){s[n]=d;continue}let{config:m}=er(t,u.name),p=function(e,t,o,n,r,i){let a=function(e,t){let o=e.add||[],n=e.remove||[],r=e.order||[],{extensions:i}=re.getState(),a=new Set(n),s=[...t,...o].filter(e=>!a.has(e)),l=rw(r),c=rw(t),u=new Map(s.map(e=>[e,function(e,t,o,n){let r=t.get(e);if(void 0!==r)return r;{if(void 0!==o)return 1e3+o;let t=n.get(e);return void 0!==t?2e3+t:3e3}}(e,l,i[ru(e)]?.order,c)]));return s.sort((e,t)=>u.get(e)-u.get(t))}(o,t.slots[e].attachedIds),s=[];for(let l of a){let{config:a}=es(n,e,l),c=el(o,e,l),u=c?(0,nB.A)({},a,c):a,d=ru(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tU(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;s.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return s}(n,e,m,o,c,r.session);d&&d.moduleName===u.moduleName&&(0,U.A)(d.candidateExtensions,p)?s[n]=d:(s[n]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&rt.setState({slots:s})}(re.getState(),ro.getState(),rn.getState(),nR.getState(),tO.getState(),t)}catch(e){throw rr=null===t||null===rr?null:new Set([...t,...rr]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{ri=!1}}}function rl(e,t){let o=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&o.add(n);for(let n of Object.keys(t))n in e||o.add(n);return o}function rc(e,t){return{moduleName:t,name:e,attachedIds:[]}}function ru(e){let[t]=e.split("#");return t}function rd(e,t){let o=ru(t);return e.extensions[o]}function rm(e){return rd(re.getState(),e)}re.subscribe((e,t)=>{ra(e.extensions!==t.extensions?null:rl(e.slots,t.slots))}),ro.subscribe((e,t)=>{ra(rl(e.slots,t.slots))}),rn.subscribe((e,t)=>{ra(rl(e.configs,t.configs))}),nR.subscribe(()=>ra(null)),tO.subscribe(()=>ra(null)),ra(null);let rp=e=>nz(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function rf(e,t){nz(o=>{let n=o.slots[e];return n?{...o,slots:{...o.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...o,slots:{...o.slots,[e]:{...rc(e),attachedIds:[t]}}}})}function rg(e,t){nz(o=>{let n=o.slots[e];return n&&n.attachedIds.includes(t)?{...o,slots:{...o.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:o})}function rh(e){nz(t=>{let o=t.slots[e];return o?{...t,slots:{...t.slots,[e]:{...o,attachedIds:[]}}}:t})}function rw(e){let t=new Map;return e.forEach((e,o)=>{t.has(e)||t.set(e,o)}),t}function r_(e,t){return function(e,t,o=null,n){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:o,...t}:{session:o});try{return!!nl(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(rv(e),t,tO.getState().session,e)}function rv(e){return rt.getState().slots[e]?.candidateExtensions??[]}let ry=(e,t)=>re.setState(o=>{let n=o.slots[t]?.moduleName;if(n&&n!=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 ${n}.`),o;if(n&&n==e)return o;if(o.slots[t])return{...o,slots:{...o.slots,[t]:{...o.slots[t],moduleName:e}}};let r=rc(t,e);return{...o,slots:{...o.slots,[t]:{...r}}}}),rb=()=>{rr=null,nz(()=>({slots:{},extensions:{}})),nG().setState({renderings:new Map}),rt.setState({slots:{}})},rx=T("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rk({name:e,basePath:t,mode:o,componentContext:n,state:r}){rx.setState({slotName:e,basePath:t,mode:o??"normal",componentContext:n,state:r})}function rS(e){rx.getState().slotName===e&&rx.setState(rx.getInitialState(),!0)}let rj=T("modalRegistry",{modals:{}});function rN(e){rj.setState(t=>(t.modals[e.name]=e,t))}function rC(e){let t=rj.getState().modals[e];if(!t){let o=rm(e);o&&(t={name:e,load:o.load,moduleName:o.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),rN(t))}return t}let rE=T("workspaceRegistrations",{workspaces:{}}),rI=T("workspaceGroups",{workspaceGroups:{}});function rA(e){rE.setState(t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}}))}function rP(e){rI.setState(t=>{let o=t.workspaceGroups[e.name];return o?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...o,members:Array.from(new Set([...o.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let rO=new Set;function rT(e){let t=rE.getState().workspaces;if(t[e])return t[e];{let t=rm(e);if(t){var o;let n;return rO.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),rO.add(e)),{name:t.name,title:(o=t,"string"==typeof(n=o?.meta?.title)?n:n&&"object"==typeof n?tm(o.moduleName,n.key,n.default):o.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function rR(e){let t=rI.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let r$=T("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function rM(e){let{registeredWorkspacesByName:t,registeredWindowsByName:o}=r$.getState(),n=t[e];if(n){let t=o[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rW(e){let{registeredGroupsByName:t,registeredWindowsByName:o}=r$.getState(),n=o[e];if(n){let o=t[n.group];if(o)return o;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rL(e){let{openedWindows:t}=r$.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rD(e,t){if(0==t.length)return;let{registeredGroupsByName:o}=r$.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace group ${o.name} more than once`);n[o.name]={...o,moduleName:e}}r$.setState({registeredGroupsByName:n})}function rB(e,t){if(0==t.length)return;let{registeredWindowsByName:o}=r$.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace window ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}r$.setState({registeredWindowsByName:n})}function rU(e,t){if(0==t.length)return;let{registeredWorkspacesByName:o}=r$.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}r$.setState({registeredWorkspacesByName:n})}let rF=0,rH=null,rG={bootstrap:15e3,mount:15e3,unmount:15e3};function rz(e,t){if(e.timeouts)return e;let o=e.name??"parcel",n=Object.fromEntries(Object.keys(rG).filter(t=>e[t]).map(n=>{var r,i;let a,s;return[n,(r=e[n],i=rG[n],a=Array.isArray(r)?r:[r],s=e=>a.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${o} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,a=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${o} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(r)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function rV(e,t){var o,n;let r,i,a,s,l,c=await (rH??(rH=new Promise((e,t)=>{(0,tl.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tl.xL))),rH),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return n=c((o=d.onSettled,"function"==typeof e?()=>e().then(e=>rz(e,o)):rz(e,o)),u),s=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&s(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function rJ(){return rq}function rq(e,t){let o,n=rV(e,t).then(e=>o=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>o?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function rK(e,t,o,n,r=e=>e,i={}){let a=ru(n),s=rm(n),l=null;if(e){let c;if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=s,p=rF++,f=`${t}/${n}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{nY(f)}catch(t){console.error(e,t)}};try{nX({renderingId:f,extensionName:a,extensionModuleName:d,extensionId:n,slotName:t,slotModuleName:o})}catch(e){throw g(`Recomputing configuration after registering '${n}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await rV(r({...c,name:`${t}/${a}-${p}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:o,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${n}' failed to unmount also failed`)})}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var rX=o(6925),rY=o.n(rX);let rZ=(0,rX.createContext)({moduleName:"",featureName:""});function rQ({to:e,templateParams:t,onBeforeNavigate:o,children:n,...r}){return(0,rX.useEffect)(()=>{r.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${r.href}'`),r.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)},[]),rY().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),o?.(n),th({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&o?.(n),0===n.button&&n.shiftKey&&o?.(n),1===n.button&&o?.(n)},href:tf(e,t),...r},n)}let r0=({state:e,children:t,...o})=>{let{extension:n}=(0,rX.useContext)(rZ),r=(0,rX.useRef)(null),i=(0,rX.useRef)(Promise.resolve()),a=(0,rX.useRef)(!1),s=(0,rX.useRef)(!1),l=(0,rX.useRef)(e),c=(0,rX.useCallback)(e=>{if(!e)return;let t=()=>{"MOUNTED"===e.getStatus()&&e.unmount()};switch(e.getStatus()){case"MOUNTED":e.unmount();break;case"UPDATING":i.current?.then(t,t);break;default:e.mountPromise.then(t,()=>{})}},[]),u=(0,rX.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,rX.useCallback)(t=>{t&&!r.current&&!s.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(s.current=!0,rK(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(s.current=!1,r.current=t,a.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{s.current=!1}))},[]);return(0,rX.useEffect)(()=>(a.current=!1,()=>{a.current=!0,c(r.current)}),[]),(0,rX.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),n?rY().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...o}):null};function r1(e){let t=(0,rX.useRef)(e);return x(t.current,e)||(t.current=e),t.current}function r2(e,t){"function"==typeof t&&(t=t(e));let o={};for(let[n,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};o[n]=t}return o}let r6=e=>e;function r5(e,t=r6,o){let n=(0,rX.useCallback)(t=>e.subscribe(t),[e]),r=(0,rX.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rX.useSyncExternalStore)(n,r,r),a=(0,rX.useMemo)(()=>o?r2(e,o):null,[e,o]);return(0,rX.useMemo)(()=>a?{...i,...a}:i,[i,a])}function r8(e,t){return r5(e,r6,t)}function r3(e){return function(t){let o=(0,rX.useCallback)(t=>e.subscribe(t),[]),n=(0,rX.useCallback)(()=>e.getState(),[]),r=(0,rX.useSyncExternalStore)(o,n,n),i=(0,rX.useMemo)(()=>t?r2(e,t):null,[t]);return(0,rX.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r4=[];Object.freeze(r4);let r7={candidateExtensions:r4};Object.freeze(r7);let r9=e=>{let t=(0,rX.useCallback)(t=>t.slots?.[e]??r7,[e]);return r5(nZ(),t)},ie=e=>e.session;function it(e,t){let{candidateExtensions:o}=r9(e),n=r5(tO,ie),r=r1(t);return(0,rX.useMemo)(()=>r_(e,r),[e,r,n,o])}function io(e,t){let{moduleName:o}=(0,rX.useContext)(rZ);if(!o)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rX.useEffect)(()=>{ry(o,e)},[o,e]),{extensions:it(e,t),extensionSlotName:e,extensionSlotModuleName:o}}function ir(e){return e}function ii({name:e,extensionSlotName:t,select:o=ir,children:n,state:r,style:i,...a}){if(n&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,rX.useRef)(null),{extensions:c,extensionSlotModuleName:u}=io(s,r),d=(0,rX.useMemo)(()=>o(c),[o,c]),m=(0,rX.useMemo)(()=>{if("function"==typeof n&&!rY().isValidElement(n))return d.map(e=>n(e,r))},[n,d]);return rY().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>rY().createElement(rZ.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof n?n:null)??rY().createElement(r0,{state:r}))))}var ia=o(3776),is=o(9568),il=o(9737),ic=o(2324),iu=o(242);let id={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},im=new Map;(0,iu.y)(im);let ip={errorRetryCount:3,fetcher:tA,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tP){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>im};function ig(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},id,e),o={...ip,...t.swrConfig};return function(e){var n,r,i,a,s;return i=r=class extends(n=rY().Component){componentDidCatch(e,o){o&&o.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:o.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:o})}render(){if(this.state.caughtError)return rY().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=rY().createElement(rX.Suspense,{fallback:null},rY().createElement(ic.S,{value:o},rY().createElement(rZ.Provider,{value:this.state.config},t.disableTranslations?rY().createElement(e,this.props):rY().createElement(il.I18nextProvider,{i18n:window.i18next,defaultNS:this.state.config.extension?`${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}`:this.state.config.moduleName},rY().createElement(e,this.props)))));return t.strictMode&&rY().StrictMode?rY().createElement(rY().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,r}}function ih(e,t){return(0,is.A)({React:rY(),ReactDOMClient:ia,rootComponent:ig(t)(e)})}function iw(e,t){return()=>e().then(({default:e})=>ih(e,t))}function i_(e,t){return()=>Promise.resolve(ih(e,t))}let iv=iw,iy=(0,C.y)()(()=>({}));R("openmrs-app-context",iy);let ib={};function ix(e,t=e=>e){let o=iy.getState();return e in o?Object.freeze(Object.assign({},t?t(o[e]):o[e])):null}function ik(e,t){iy.setState(o=>(e in o||(o[e]={}),o[e]=t(o[e]),Object.assign({},o)))}function iS(e){return null===e?null:Object.freeze(Object.assign({},e))}let ij=new Map;function iN(e,t){let o=(0,rX.useRef)(t??{}),n=(0,rX.useRef)(t=>ik(e,t)),r=(0,rX.useRef)(Symbol());return(0,rX.useEffect)(()=>{let o=t??{},n=r.current;return null===ix(e)?!function(e,t=ib){iy.setState(o=>{if(e in o)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({},o,{[e]:t===ib?{}:t})})}(e,o):(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.`),ik(e,()=>o)),ij.set(e,n),()=>{ij.get(e)===n&&(iy.setState(t=>(e in t&&delete t[e],t)),ij.delete(e))}},[e]),(0,rX.useEffect)(()=>{let n=t??{};x(o.current,n)||(ik(e,()=>n),o.current=n)},[t]),n.current}function iC({namespace:e,value:t}){return iN(e,t),null}let iE=({children:e,value:t,fallback:o})=>t?rY().createElement(rY().Fragment,null,e):o?rY().createElement(rY().Fragment,null,o):null;function iI(){let e=(0,rX.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rX.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function iA(e,t=e=>e??{}){let[o,n]=(0,rX.useState)(()=>{if(iP(e))return;let o=ix(e);if(null!==o)return t?t(o):o});return(0,rX.useEffect)(()=>{if(iP(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rX.useEffect)(()=>{var o;let r;return(o=e=>{if(null==e)return void n(void 0);let o=t?t(e):e;n(e=>x(e,o)?e:o)})(iS(r=ix(e))),iy.subscribe(t=>{let n=e in t?t[e]:null;n!==r&&(r=n,o(iS(n)))})},[e,t]),o}function iP(e){return"string"!=typeof e||0===e.trim().length}function iO(e){let t=it(e);return(0,rX.useMemo)(()=>t.map(e=>e.id),[t])}function iT(e){return r9(e).candidateExtensions}function iR(e,t,o){let{data:n,error:r,mutate:i,isLoading:a,isValidating:s}=(0,ic.u)(e?oU(e,t,o):null,tA);return(0,rX.useMemo)(()=>({isLoading:a,data:n?.data.results??[],error:r,mutate:i,isValidating:s}),[n,r,a,s,i])}function i$(e){(0,rX.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iM={},iW=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
|
+
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iL(e){let{moduleName:t,extension:o}=(0,rX.useContext)(rZ),n=e?.externalModuleName??t;if(!n&&!o)throw Error(iW);let r=function(e){let t=(0,rX.useMemo)(()=>et(e),[e]),o=function(e){let[t,o]=(0,rX.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rX.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&o(e.config)}),[e]),t}(t);if(!o)throw iM[e]||(iM[e]=new Promise(e=>{let o=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),o())})})),iM[e];return o}(n),i=function(e){let t=(0,rX.useMemo)(ei,[]),o=function(e,t){let[o,n]=(0,rX.useState)(t?()=>{let o=es(e.getState(),t.extensionSlotName,t.extensionId);if(o.loaded&&o.config)return o.config}:null);return(0,rX.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=es(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,U.A)(r.config,o)&&n(r.config)})},[e,t,o]),o}(t,e);if(!o&&e){let o=`${e.extensionSlotName}-${e.extensionId}`;throw!iM[o]&&t&&(iM[o]=new Promise(o=>{let n=t.subscribe(t=>{let r=es(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(o(r.config),n())})})),iM[o]}return o||{}}(o);return(0,rX.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...r}:{...r,...i},[n,e?.externalModuleName,r,i])}let iD=it;function iB(e,t=300){let[o,n]=(0,rX.useState)(e);return(0,rX.useEffect)(()=>{let o=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(o)}},[e,t]),o}var iU=o(6269);let iF=`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 iH(){let e=`${tN}/emrapi/configuration?v=${iF}`,t=(0,iU.A)(e,tA);return(0,rX.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iG(){return(0,rX.useContext)(rZ).extension}let iz=r3(nH());function iV(e){let t=it(e);return(0,rX.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iJ=r3(nZ());function iq(e){let{flags:t}=r5(nR);return t[e]?.enabled??!1}function iK(){let[,e]=(0,rX.useState)(0);return(0,rX.useCallback)(()=>{e(e=>e+1)},[])}function iX(e,t,o={}){return iZ(e,t,iY,o)}let iY={getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tI(e.toString()),window.location.toString());return n.searchParams.set("limit",""+t),n.searchParams.set("startIndex",""+o),n.searchParams.set("totalCount","true"),n.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iZ(e,t,o,n={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:a,getData:s}=o,{immutable:l,swrConfig:c}=n,u=n.fetcher??tA,[d,m]=(0,rX.useState)(1),p=(0,rX.useRef)(NaN),f=(0,rX.useRef)(NaN),g=(0,rX.useRef)(d),h=(0,rX.useRef)(!1),w=(0,rX.useRef)(!1),_=e?.toString()??"",[v,y]=(0,rX.useState)(_);_!==v&&(y(_),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,rX.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?iU.A:ic.u)(x,u,c);k?.data&&(p.current=i(k?.data),f.current=a(k?.data),h.current=!0);let j=Math.ceil(p.current/t),N=(0,rX.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let o=Math.ceil(p.current/t);!h.current||Number.isNaN(o)||e<=o?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rX.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){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,_,k]);let C=(0,rX.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rX.useCallback)(()=>{N(g.current-1)},[N]);return{data:s(k?.data),totalPages:j,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function iQ(e,t,o={}){return iZ(e,t,i0(),o)}function i0(){return{getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tI(e.toString()),window.location.toString());return n.searchParams.set("_count",""+t),n.searchParams.set("_getpagesoffset",""+o),n.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 i1=o(3709);function i2(e,t={}){return i6(e,iY,t)}function i6(e,t,o={}){let{swrInfiniteConfig:n,immutable:r}=o,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=o.fetcher??tA,c=(0,rX.useCallback)((o,n)=>0==o?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:u,size:d,setSize:m,...p}=(0,i1.Ay)(c,l,{...n,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),f=i(u?.[u.length-1].data),g=a(u?.[0]?.data);return{data:u?.flatMap(e=>s(e.data)),totalCount:g,hasMore:null!=f,loadMore:()=>{m((u?.length??0)+1)},nextUri:f,...p}}function i5(e,t={}){return i8(e,iY,t)}function i8(e,t,o={}){let n=i6(e,t,o),{hasMore:r,error:i,data:a,loadMore:s,isLoading:l,nextUri:c}=n;return((0,rX.useEffect)(()=>{r&&!i&&s()},[r,c]),o.partialData)?n:{...n,data:r||i?void 0:a,isLoading:l||r}}function i3(e,t={}){return i8(e,i0(),t)}function i4(e,t={}){return i6(e,i0(),t)}function i7(){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 i9(){let[e,t]=(0,rX.useState)(i7);return(0,rX.useEffect)(()=>{let e=()=>{t(i7())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let ae=e=>"small-desktop"===e||"large-desktop"===e;function at(e){let t=(0,rX.useContext)(rZ);(0,rX.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rk(e),()=>{rS(e.name)}),[t,e])}function ao(){return r5(rx)}let an=[];function ar(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString(),{data:r}=i5(`${tN}/location${n?"?"+n:""}`,{immutable:!0});return r??an}function ai(e,t=!0){let o=(0,rX.useRef)(null);return(0,rX.useEffect)(()=>{let n=n=>{t&&o.current&&n.target&&n.target instanceof Node&&(o.current.contains(n.target)||e(n))};return window.addEventListener("mousedown",n),window.addEventListener("touchstart",n),()=>{window.removeEventListener("mousedown",n),window.removeEventListener("touchstart",n)}},[e,t]),o}function aa(e){let t=(0,rX.useRef)();return(0,rX.useEffect)(()=>{let o=new IntersectionObserver(t=>{for(let o of t)if(o.isIntersecting)return void e()},{threshold:1});return t.current&&o.observe(t.current),()=>{t.current&&o.unobserve(t.current)}},[t.current,e]),t}function as(e,t={}){let{abortController:o,fetchInit:n,url:r,swrConfig:i}=t,a=iI(),s=(0,rX.useMemo)(()=>n?.signal??o?.signal??a.signal,[o?.signal,n?.signal,a.signal]),l=(0,rX.useCallback)(e=>tA(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...n,signal:s}),[s,n,r]);return(0,ic.u)(e,l,i)}function al(e=[],t=10){let[o,n]=(0,rX.useState)(1),r=(0,rX.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);o>r&&n(r);let i=Math.min(Math.max(1,o),r),a=(0,rX.useMemo)(()=>{let o=(i-1)*t,n=(i+0)*t;return e.slice(o,n)},[e,i,t]),s=(0,rX.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,rX.useCallback)(()=>{n(e=>e+1)},[]),c=(0,rX.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,rX.useMemo)(()=>({results:a,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:s,goToNext:l,goToPrevious:c}),[a,r,e.length,t,i,s,l,c])}function ac(e,t,o,n){return{pageSizes:(0,rX.useMemo)(()=>{let o=Math.ceil(t/e);return isNaN(o)&&(o=0),[...Array(o).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rX.useMemo)(()=>e>t?t:e*o>t?e*(o-1)+n:e*o,[e,t,o,n])}}function au(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function ad(e){let[t,o]=(0,rX.useState)(e??au()),{data:n,error:r,isValidating:i}=(0,ic.u)(t?["patient",t]:null,()=>oG(t,{}));return(0,rX.useEffect)(()=>{let e=()=>{let e=au();e!==t&&o(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rX.useMemo)(()=>({isLoading:i&&!r&&!n,patient:n,patientUuid:t,error:r}),[i,r,n,t])}function am(){let e=`${tN}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:o,isLoading:n}=(0,ic.u)(e,tA);return(0,rX.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:o}),[t,o,n])}function ap(e){let{extensions:t,extensionSlotModuleName:o}=io(e);return e?t.map(t=>({state:n})=>rY().createElement(rZ.Provider,{value:{moduleName:o,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:o,extensionMeta:t.meta}}},rY().createElement(r0,{state:n}))):[]}function af(){let e=(0,rX.useRef)(),[t,o]=(0,rX.useState)(null),n=null;if(!t){if(i){let e=tW().getState();e.loaded&&(n=e.session)}else i=new Promise(t=>{let o=({loaded:o,session:r})=>{o&&(t(r),n=r,e.current&&(e.current(),e.current=void 0))};o(tW().getState()),n||(e.current=tW().subscribe(o))});if(n)o(n);else throw i}(0,rX.useEffect)(()=>(e.current||(e.current=tW().subscribe(({loaded:e,session:t})=>{e&&(n=t,o(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let r=t||n;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 ag=({privilege:e,fallback:t,children:o})=>{let[n,r]=(0,rX.useState)(null);return((0,rX.useEffect)(()=>{let e=tW(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:o,session:n}=e.getState();return o&&r(n?.user??null),t},[]),n&&tU(e,n))?rY().createElement(rY().Fragment,null,o):t?rY().createElement(rY().Fragment,null,t):null};var ah=o(4343),aw=o.n(ah),a_=o(3355);let av=new Map;function ay(){for(let e of Array.from(av.values()))e()}let ab={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function ax(e){let t=(0,rX.useId)();return(0,rX.useEffect)(()=>{if(e)return av.set(t,e),()=>{av.delete(t)}},[t,e]),{...r8(o2(),ab),mutateVisit:ay}}function ak(e,t=o0){let o=(0,rX.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:r,setVisitContext:i}=ax((0,rX.useCallback)(()=>o.current?.(),[])),a=e&&n==e?r:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,ic.u)(e?`${tN}/visit${s}`:null,tA),{data:p,error:f,mutate:g,isValidating:h}=(0,ic.u)(e&&a?`${tN}/visit${l}`:null,tA),w=(0,rX.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,rX.useMemo)(()=>a&&p?p.data:null,[p,a]),v=(0,rX.useRef)(null);(0,rX.useEffect)(()=>{!m&&w&&n===e&&null===r&&i(w),h||(v.current&&_&&v.current.uuid===_.uuid&&!v.current.stopDatetime&&_.stopDatetime&&i(null),v.current=_)},[_,r,w,m,h,n]);let y=(0,rX.useCallback)(()=>{d(),g()},[d,g]);(0,rX.useEffect)(()=>{o.current=y},[y]);let b=!!(!c||a&&!p),x=!!(a?f:u);return{error:u||f,mutate:y,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!a,isLoading:b&&!x}}ah.extend(a_);let aS=[];function aj(){let{data:e}=(0,iU.A)(oX,oY);return e??aS}let aN=new Map;async function aC(e,t){let o=t.indexOf("#"),n=o>=0,r=n?t.substring(0,o):e,i=n?t.substring(o+1):t,a=await of(r);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?aI(r,a).then(()=>a[i]()):(a?a&&Object.hasOwn(a,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${r} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${r} for ${t} defined in ${e}'s routes.json`),aE)}let aE={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function aI(e,t){if(e in aN)await aN[e];else{let o=t??await of(e);await (aN[e]=new Promise((t,n)=>{if(Object.hasOwn(o,"startupApp")){let r=o.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eP(e),t(null)}).catch(n)}eP(e),t(null)}))}}function aA(e,t){let o=t.name;if(!o)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 ${o} from ${e} declares both a 'slots' property and
|
|
19
19
|
a 'slot' property. Only the 'slots' property will be honored.`);let n=t.slots?t.slots:t.slot?[t.slot]:[];if(!t.component)return void console.error(`The extension ${o} 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(
|
|
20
|
+
To fix this, ensure that you define a 'component' field inside the extension definition.`,t);for(let r of(rp({name:o,load:()=>aC(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),n))rf(r,o)}let aP=[];function aO(e,t){n1(()=>(function(e,t){if(e&&t&&"object"==typeof t){eA(e);let o=t.extensions??[],n=t.modals??[],r=t.workspaces??[],i=t.workspaceGroups??[],a=t.featureFlags??[],s=t.workspaceGroups2??[],l=t.workspaceWindows2??[],c=t.workspaces2??[];t.pages?.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"component")&&(Object.hasOwn(t,"route")||Object.hasOwn(t,"routeRegex")||Object.hasOwn(t,"routes"))?aP.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)}),o.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?aA(e,t):console.warn(`An extension for ${e} could not be registered as it does not appear to have the required properties`,t)}),n.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")){let o;(o=t.name)?t.component?rN({name:o,moduleName:e,load:()=>aC(e,t.component)}):console.error(`The modal ${o} from ${e} is missing a 'component' entry and thus cannot be registered.
|
|
21
21
|
To fix this, ensure that you define a 'component' field inside the modal definition.`,t):console.error(`A modal definition in ${e} is missing an name and thus cannot be
|
|
22
22
|
registered. To fix this, ensure that you define the "name" field inside the
|
|
23
23
|
modal definition.`,t)}else console.warn(`A modal for ${e} could not be registered as it does not appear to have the required properties`,t)}),r.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?function(e,t){let o=t.name;if(!o)return console.error(`A workspace definition in ${e} is missing a name and thus cannot be registered.
|
|
24
24
|
To fix this, ensure that you define the "name" field inside the workspace definition.`,t);let n=t.title;if(!n)return console.error(`A workspace definition in ${e} is missing a title and thus cannot be registered.
|
|
25
25
|
To fix this, ensure that you define the "title" field inside the workspace definition.`,t);if(!t.component)return console.error(`The workspace ${o} from ${e} is missing a 'component' entry and thus cannot be registered.
|
|
26
|
-
To fix this, ensure that you define a 'component' field inside the workspace definition.`,t);for(let r of(
|
|
27
|
-
To fix this, ensure that you define the "name" field inside the workspace definition.`,t)}else console.warn(`A workspace group for ${e} could not be registered as it does not appear to have the required properties`,t)}),
|
|
26
|
+
To fix this, ensure that you define a 'component' field inside the workspace definition.`,t);for(let r of(rA({name:o,title:n,component:t.component,moduleName:e,type:t.type,canHide:t.canHide,canMaximize:t.canMaximize,width:t.width,preferredWindowSize:t.preferredWindowSize,groups:t.groups,load:()=>aC(e,t.component)}),t.groups||[]))rP({name:r,members:[o]})}(e,t):console.warn(`A workspace for ${e} could not be registered as it does not appear to have the required properties`,t)}),i.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")){let o;(o=t.name)?rP({name:o,members:t.members??[]}):console.error(`A workspace group definition in ${e} is missing a name and thus cannot be registered.
|
|
27
|
+
To fix this, ensure that you define the "name" field inside the workspace definition.`,t)}else console.warn(`A workspace group for ${e} could not be registered as it does not appear to have the required properties`,t)}),rD(e,s);for(let t of(rB(e,l),l))t.icon&&aA(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});rU(e,c),a.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?n$(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
|
|
28
28
|
To fix this, ensure that you define the "description" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
|
|
29
29
|
To fix this, ensure that you define the "label" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a name and thus cannot be registered.
|
|
30
|
-
To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function
|
|
30
|
+
To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function aT(){aP.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of aP){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let o=e.get(t.appName),n=`${t.appName}-page-${o}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),a=`single-spa-application:${n}`;if(i){let e=document.createElement("div");e.id=a,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let o=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===o)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
|
|
31
31
|
To fix this, ensure that you define the "route" (or alternatively the "routeRegex") field inside the extension definition.`,e);if(!t.component)return console.warn(`A registered page definition is missing a component and thus cannot be registered.
|
|
32
|
-
To fix this, ensure that you define the "component" field inside the page definition.`,e);let n=function(e,{featureFlag:t}){return t?o=>!!nT(t)&&e(o):e}(function e(t){if(Array.isArray(t)){let o=t.map(e);return e=>o.some(t=>t(e))}return"string"==typeof t?(0,tr.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(o),t);(0,tr.AG)(e,()=>sk(t.appName,t.component),n)}(n,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 sP(){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 sO=!1;function sT(){sO||(window.addEventListener("resize",sP),sP(),sO=!0)}var s$=o(6870),sR=o(5530),sM=o.n(sR);function sW({title:e,children:t}){let o="tablet"===i8();return(0,s$.jsxs)("div",{className:sM()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":o,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!o}),children:[(0,s$.jsx)("h4",{children:e}),t]})}let sL=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sD={primaryColor:{_type:H.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[e8.oneOf(sL)]},secondaryColor:{_type:H.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[e8.oneOf(sL)]}},sB={"Brand color #1":{_default:"#005d5d",_type:H.String},"Brand color #2":{_default:"#004144",_type:H.String},"Brand color #3":{_default:"#007d79",_type:H.String},excludePatientIdentifierCodeTypes:{uuids:{_type:H.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:H.UUID}}},implementationName:{_type:H.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:H.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:H.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e8.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:H.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:H.String}},diagnosisTags:sD};var sU=o(8326);let sF={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sH=e=>(0,s$.jsx)(sU.TableBatchActions,{translateWithId:(e,t)=>{let o=sF[e];return o?tc(o,e,t):e},...e}),sG="-esm-devtools__custom-overflow-menu-module__container___8PykS",sz="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sV="-esm-devtools__custom-overflow-menu-module__show___BserJ",sJ="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sq=(0,rV.createContext)(null);function sK(){let e=(0,rV.useContext)(sq);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sX({menuTitle:e,children:t}){let[o,n]=rJ().useState(!1),r=st(()=>n(!1),o),i="tablet"===i8(),s=(0,rV.useCallback)(()=>n(e=>!e),[]),a=(0,rV.useRef)(null),l=(0,rV.useRef)(null),c=(0,rV.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rV.useCallback)(()=>{n(!1),a.current?.focus()},[]),p=(0,rV.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rV.useCallback)(e=>{"Escape"===e.key&&o&&(e.stopPropagation(),m())},[m,o]),g=rV.Children.toArray(t);(0,rV.useEffect)(()=>{if(o&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[o]);let h=(0,rV.useCallback)(({currentIndex:e,direction:t})=>{let o=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!o?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(o).indexOf(n);if(-1===r)return void o[t>0?0:o.length-1]?.focus();let i=r+t,s=i<0?o.length-1:i>=o.length?0:i;o[s]?.focus()},[]),_=g.map((e,t)=>(0,rV.isValidElement)(e)?(0,rV.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,s$.jsxs)("div",{"data-overflow-menu":!0,className:sM()("cds--overflow-menu",sG),ref:r,children:[(0,s$.jsx)("button",{className:sM()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":o},sJ),"aria-controls":d,"aria-expanded":o,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:f,ref:a,children:e}),(0,s$.jsxs)("div",{className:sM()("cds--overflow-menu-options","cds--overflow-menu--flip",sz,{[sV]:o}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,s$.jsx)("ul",{className:sM()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,s$.jsx)(sq.Provider,{value:p,children:_})}),(0,s$.jsx)("span",{})]})]})}function sY(e){let t=(0,rV.useContext)(sq);return(0,s$.jsx)(sU.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sZ=o(2277),sQ=o(4194);let s0=["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"],s1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),s2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),ae=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),at=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),ao=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),an=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),ar=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),ai=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),as=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),aa=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),al=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),ac=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),au=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),ad=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),am=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),ap=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-close",iconProps:e})})),af=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),ag=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),ah=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-document",iconProps:e})})),a_=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),aw=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-download",iconProps:e})})),av=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),ay=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),ab=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),ax=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-events",iconProps:e})})),ak=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),aS=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),aj=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),aN=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),aC=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),aE=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aI=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aA=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),aP=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aO=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-information",iconProps:e})})),aT=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),a$=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aR=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),aM=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),aW=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),aL=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aD=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aB=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aU=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),aF=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),aH=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aG=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),az=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aV=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aJ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),aq=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aK=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aX=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-password",iconProps:e})})),aY=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),aZ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),aQ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),a0=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),a1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),a2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),a6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),a5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-save",iconProps:e})})),a4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-search",iconProps:e})})),a7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),a9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),le=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),lt=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),lo=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),ln=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),lr=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),li=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-table",iconProps:e})})),ls=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-time",iconProps:e})})),la=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),ll=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),lc=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),lu=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),ld=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lm=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lp=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),lf=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lg=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-user",iconProps:e})})),lh=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),l_=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lw=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(lj,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lv=lw,ly=a_,lb=aW,lx=aP,lk=lt,lS=(0,rV.memo)((0,rV.forwardRef)(function({icon:e,fallback:t,...o},n){let r=(0,rV.useRef)(e?document.getElementById(e):void 0);return(0,rV.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=e?document.getElementById(e):void 0)});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,s$.jsx)(iS,{value:r.current,fallback:t,children:(0,s$.jsx)(lj,{ref:n,icon:e,iconProps:o})})})),lj=(0,rV.memo)((0,rV.forwardRef)(function({icon:e,iconProps:t},o){let{className:n,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rV.useRef)(null);return(0,rV.useImperativeHandle)(o,()=>s.current),(0,rV.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,s$.jsx)("svg",{ref:s,className:sM()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",n),height:i,width:i,viewBox:"0 0 16 16",children:(0,s$.jsx)("use",{href:`#${e}`})})})),lN=({path:e,title:t,basePath:o,icon:n})=>{let{t:r}=(0,ir.useTranslation)(),i=(0,sZ.zy)(),s=(0,rV.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let o=t.split("/").map(e=>decodeURIComponent(e)),n=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return n.some((e,t)=>o.every((e,o)=>n[t+o]===e))},[i.pathname,e]);return(0,s$.jsx)("div",{children:(0,s$.jsx)(rK,{className:sM()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${o}/${encodeURIComponent(e)}`,children:(0,s$.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,s$.jsx)(lS,{icon:n,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,s$.jsx)("span",{children:r(t)})]})})},e)};function lC(e){return function({basePath:t}){return(0,s$.jsx)(sQ.Kd,{children:(0,s$.jsx)(lN,{basePath:t,...e})})}}var lE=o(7715),lI=o(7532),lA=o(3692),lP=o(7615),lO=o(700),lT=o(6816),l$=o(1168);function lR(e){return rJ().createElement(l$.C,e)}var lM=o(3010),lW=o(6513),lL=o(6190);function lD(e,t,o=!1){if(null==e)return o?e:void 0;if("string"==typeof e&&!e)return o?null:void 0;if(e instanceof lM.ng||e instanceof lM._l||e instanceof lM.Ip)return t?(0,lW.yP)(e,t):e;{let o=sp()(e).toDate(),n=new lM.ng(o.getFullYear(),o.getMonth()+1,o.getDate());return t?(0,lW.yP)(n,t):n}}function lB(e){if(e)return e.toDate((0,lL.Xj)())}var lU=o(9002);function lF(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lH(e){let t=e??"",o=lF(t);if(!o)return t;try{return new Intl.DisplayNames([o],{type:"language"}).of(o)??t}catch{return t}}function lG(){let e=window.i18next.language,t=lF(e)??e;return"ht"===t&&(t="fr-HT"),t}var lz=o(7883),lV=o(424),lJ=o(1492),lq=o(8271);function lK(e,t){var o=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return o.get?o.get.call(e):o.value}sm.extend(sf),sm.extend(lJ),sm.extend(lV);let lX="YYYY-MM-DDTHH:mm:ss.SSSZZ";function lY(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sm(e,lX).isValid()}function lZ(e){return sm(e).isToday()}function lQ(e){return lY(e)?sm(e,lX).toDate():null}function l0(e,t=!1){let o=sm(e);return t&&(o=o.utc()),o.format(lX)}function l1(e){return sm(e).toDate()}var l2=new WeakMap;let l6=new class{register(e,t){lK(this,l2).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lK(this,l2).has(t))return lK(this,l2).get(t)}if(e.language&&lK(this,l2).has(e.language))return lK(this,l2).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lK(this,l2).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,o){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,o)}(this,l2,{writable:!0,value:new Map})}};function l5(e,t){l6.register(e,t)}function l8(e){let t=e??lG();return l6.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let l3={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function l4(e,t={}){let o=lG(),n=(0,lz.CD)(e,o);if(n.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lq.A)(n.day)&&(0,lq.A)(n.month)&&(n=Object.assign({},(0,U.A)(n,"day"),{month:n.day})),n.month&&(n.month-=1),n.day&&(n=Object.assign({},(0,U.A)(n,"day"),{date:n.day}));let r=sm().set(n).toDate();return(0,lq.A)(n.year)&&(t.year=!1),(0,lq.A)(n.month)&&(t.month=!1),(0,lq.A)(n.date)&&(t.day=!1),l7(r,t)}function l7(e,t){let o,n=t?.locale??lG(),r=new Intl.Locale(n),{calendar:i,mode:s,time:a,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...l3,...{noToday:"am"===r.language},...t},p={calendar:i??l8(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},f=sm(e).isToday();if(f&&!d)o=(o=new Intl.RelativeTimeFormat(n,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(n)+o.slice(1);else{"en"===r.language&&(n="en-GB");let t=new Intl.DateTimeFormat(n,p).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==s&&u&&l&&(t=t.map(l9("-"))),"wide"==s&&(t=t.map(l9(" — "))),"ethiopic"===p.calendar&&(t=t.filter((e,t,o)=>"era"!==e.type&&("literal"!==e.type||!(t<o.length-1)||"era"!==o[t+1].type))),o=t.map(e=>e.value).join("")}return(!0===a||f&&"for today"===a)&&(o+=`, ${ce(e)}`),o}let l9=e=>(t,o,n)=>"literal"!==t.type||" "!==t.value||o<n.length-1&&"era"===n[o+1].type?t:{type:"literal",value:e};function ce(e){return e.toLocaleTimeString(lG(),{hour:"2-digit",minute:"2-digit"})}function ct(e,t){return l7(e,{...t,time:!0})}function co(e,t){let o=l8("string"==typeof t?new Intl.Locale(t):t);return o?(0,lW.yP)(e,(0,lU.d)(o)):e}function cn(e,t){return new Intl.DurationFormat(lG(),t).format(e)}function cr(e,t){if(null==e)return null;if("string"==typeof e){let o=lG(),n=(0,lz.CD)(e,o);return n.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(n.day&&!n.month&&(n={...(0,U.A)(n,"day"),...{month:n.day}}),n.month&&(n.month-=1),n.day&&(n={...(0,U.A)(n,"day"),...{date:n.day}}),sm(t).set(n))}return sm(e)}let ci=["years","months","days","hours","minutes","seconds"],cs={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},ca={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function cl(e,t=sm(),o){let n,r=sm(t),i=cr(e,r);if(null==i)return null;if("string"==typeof o){let e=cs[o]??o;return{[e]:r.diff(i,e)}}let{thresholds:s,largestUnit:a,smallestUnit:l}=o??{};if(void 0!==a||void 0!==l){let e,t=l?cs[l]??l:void 0;return e="auto"===a||void 0===a?function(e,t,o){let n=ci.indexOf(o);for(let r=0;r<ci.length;r++){let i=ci[r];if(t.diff(e,i)>0)return r<=n?i:o}return o}(i,r,t??"seconds"):cs[a]??a,function(e,t,o,n){let r=ci.indexOf(o),i=ci.indexOf(n),s=ci.slice(r,i+1),a={},l=e;for(let e of s){let o=t.diff(l,e);a[e]=o,l=l.add(o,e)}return a}(i,r,e,t??e)}let c=(n=function(e){let t={...ca};if(e)for(let[o,n]of Object.entries(e))void 0!==n&&(t[cs[o]??o]=n);return t}(s),r.diff(i,"seconds")<n.seconds?"seconds":r.diff(i,"minutes")<n.minutes?"minutes":r.diff(i,"hours")<n.hours?"hours":r.diff(i,"days")<n.days?"days":r.diff(i,"months")<n.months?"months":"years");return{[c]:r.diff(i,c)}}let cc={style:"short",localeMatcher:"lookup"};function cu(e,t=sm(),o){let n=cl(e,t,o);return null==n?null:cn(n,"object"==typeof o&&o.formatOptions?{...cc,...o.formatOptions}:cc)}let cd=(0,rV.createContext)(null);function cm(){let e=i$({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rV.useMemo)(()=>{let t=lG();return e[t]&&(t=e[t]),t},[window.i18next.language]),o=(0,rV.useMemo)(()=>{let e=l8(t);return void 0!==e?(0,lU.d)(e):void 0},[t]),n=(0,rV.useMemo)(()=>new Intl.Locale(t,{calendar:o?.identifier}),[t,o]),r=(0,rV.useMemo)(()=>o?(0,lW.yP)((0,lL.Ec)((0,lL.Xj)()),o):(0,lL.Ec)((0,lL.Xj)()),[o]);return{calendar:o,intlLocale:n,today_:r}}let cp=new lM.ng(1793,1,1);var cf=o(5830),cg=o(6156),ch=o(4745),c_=o(1202);function cw(e,t){return Number.parseInt(l7(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cv=(0,rV.forwardRef)(function(e,t){let{className:o}=e,n=(0,rV.useContext)(cf.f2),r=(0,rV.useContext)(cf._I),i=n??r,s=(0,rV.useContext)(cd),a=(0,lL.Xj)(),l=l7(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=cw(i.visibleRange.start.toDate(a),s),u=i.maxValue?cw(i.maxValue.toDate(a),s):void 0,d=i.minValue?cw(i.minValue.toDate(a),s):void 0,m=(0,rV.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,s$.jsxs)("span",{ref:t,className:o,children:[(0,s$.jsx)("span",{children:l}),(0,s$.jsxs)(ch.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,s$.jsx)(c_.p,{}),(0,s$.jsxs)(lP.Y,{children:[(0,s$.jsx)(lO.$,{slot:"increment",children:(0,s$.jsx)(an,{size:8})}),(0,s$.jsx)(lO.$,{slot:"decrement",children:(0,s$.jsx)(ae,{size:8})})]})]})]})});var cy=o(9588);let cb="-esm-devtools__datepicker-module__inputGroup___+4zks",cx="-esm-devtools__datepicker-module__inputSegment___wiExn",ck="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",cS="-esm-devtools__datepicker-module__invalidText___SxtTL",cj="-esm-devtools__datepicker-module__flatButton___UU1Qp",cN="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",cC="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",cE="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function cI({children:e}){let t=(0,rV.useContext)(lI.Pg),o=(0,rV.useContext)(lI.a8),n=t??o,r=st(()=>n?.close());return(0,s$.jsx)(cy.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cA=(0,rV.forwardRef)(function({variant:e,today_:t,minDate:o,maxDate:n},r){let i="range"===e,s=i?cf._e:cf.Vv;return(0,s$.jsx)(cg.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,s$.jsx)(cI,{children:(0,s$.jsxs)(s,{...i?{minValue:o,maxValue:n,className:"cds--date-picker__calendar"}:{},children:[(0,s$.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,s$.jsx)(lO.$,{className:sM()(cj,cN),slot:"previous",children:(0,s$.jsx)(au,{size:16})}),(0,s$.jsx)(cv,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,s$.jsx)(lO.$,{className:sM()(cj,cN),slot:"next",children:(0,s$.jsx)(ad,{size:16})})]}),(0,s$.jsx)(cf.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,s$.jsx)(cf.Zr,{className:sM()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cP=o(8017),cO=o(9774),cT=o(7956);let c$=(0,rV.forwardRef)(function(e,t){let o=(0,rV.useContext)(lI.Pg),[n,r]=(0,lE.JT)({slot:e.slot},t,cO.cQ),{locale:i}=(0,l$.Y)(),s=(0,cT.F)({...n,locale:i,createCalendar:lU.d}),a=(0,rV.useRef)(null),{fieldProps:l,inputProps:c}=(0,cP.cJ)({...n,inputRef:a},s,r),u=(0,rV.useCallback)(()=>{s.isDisabled||o.toggle()},[]);return(0,s$.jsxs)(lE.Kq,{values:[[cO.$,s],[c_.E,{...c,ref:a}],[lP.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,s$.jsx)(lP.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,o)=>(0,rV.cloneElement)(e.children(t),{key:o}))}),(0,s$.jsx)(c_.p,{})]})}),cR=(0,rV.forwardRef)(function(e,t){let o=(0,rV.useContext)(lI.Pg),n=(0,rV.useContext)(lI.a8);return(o??n).isInvalid?(0,s$.jsx)(lw,{ref:t,size:16,...e}):(0,s$.jsx)(s9,{ref:t,size:16,...e})});var cM=o(64),cW=o(5503),cL=o(1697),cD=o(7866),cB=o(8035),cU=o(2231);let cF=(0,rV.forwardRef)(function({segment:e,...t},o){let n=(0,rV.useContext)(cO.$),r=(0,cM.U)(o),{segmentProps:i}=(0,cW.V)(e,n,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,cL.o)(),{hoverProps:c,isHovered:u}=(0,cD.M)({...t,isDisabled:n.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:o,children:n,defaultClassName:r,defaultChildren:i,defaultStyle:s,values:a}=e;return(0,rV.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof o?o({...a,defaultStyle:s||{}}):o,c="function"==typeof n?n({...a,defaultChildren:i}):null==n?i:n,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,o,n,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:n.isInvalid,isDisabled:n.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rV.useCallback)(e=>{e.stopPropagation()},[]);return(0,s$.jsx)("span",{...(0,cB.v)((0,cU.$)(t),i,s,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":n.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":n.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})}),cH={short:!1,size:"md"},cG=(0,rV.forwardRef)(function(e,t){let{className:o,defaultValue:n,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}={...cH,...e},{calendar:v,intlLocale:y,today_:b}=cm(),x=(0,rV.useId)(),k=!!(c??l),S=(0,rV.useMemo)(()=>lD(n,v),[n,v]),j=(0,rV.useMemo)(()=>lD(_,v,!0),[_,v]),N=(0,rV.useMemo)(()=>lD(d,v),[d,v]),C=(0,rV.useMemo)(()=>lD(m??cp,v),[m,v]),E=(0,rV.useMemo)(()=>i||a,[i,a]),I=(0,rV.useMemo)(()=>(f&&p&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),f??(e=>p?.(lB(e)))),[f,p]);return(0,s$.jsx)(lR,{locale:y.toString(),children:(0,s$.jsx)("div",{className:sM()("cds--form-item",o),children:(0,s$.jsx)(lE.Kq,{values:[[cd,y]],children:(0,s$.jsxs)(lI.lr,{className:sM()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:S,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:j,shouldForceLeadingZeros:"en"===y.language||void 0,...w,onChange:I,children:[(0,s$.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,s$.jsx)(lA.J,{className:sM()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,s$.jsxs)(lP.Y,{className:cb,children:[(0,s$.jsx)(c$,{id:k?x:void 0,ref:t,className:sM()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__inputWrapper___kykar",{"-esm-devtools__datepicker-module__inputWrapperSm___KJtg-":"sm"===h,"-esm-devtools__datepicker-module__inputWrapperMd___ablE9":"md"===h||!h||0===h.length,"-esm-devtools__datepicker-module__inputWrapperLg___5dkQp":"lg"===h}),children:e=>"era"!==e.type?(0,s$.jsx)(cF,{className:cx,segment:e}):(0,s$.jsx)(rJ().Fragment,{})}),(0,s$.jsx)(lO.$,{className:sM()(cj,{[cC]:"sm"===h,[cN]:"md"===h||!h||0===h.length,[cE]:"lg"===h}),children:(0,s$.jsx)(cR,{})})]}),(0,s$.jsx)(lT.b,{className:cS,children:s})]}),(0,s$.jsx)(cA,{variant:"single",today_:b})]})})})})}),cz=(0,rV.forwardRef)(function({className:e,defaultValue:t,invalid:o,invalidText:n,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:p="md",value:f,...g},h){let{calendar:_,intlLocale:w,today_:v}=cm(),y=(0,rV.useId)(),b=!!(a??s),x=(0,rV.useMemo)(()=>{if(f)return{start:lD(f[0],_,!1),end:lD(f[1],_,!1)}},[f,_]),k=(0,rV.useMemo)(()=>{if(t)return{start:lD(t[0],_,!1),end:lD(t[1],_,!1)}},[t,_]),S=(0,rV.useMemo)(()=>lD(u??cp,_,!0),[u,_]),j=(0,rV.useMemo)(()=>lD(c,_,!0),[c,_]),N=(0,rV.useMemo)(()=>o||i,[o,i]),C=(0,rV.useMemo)(()=>(m&&d&&console.error("An OpenmrsDateRangePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),m??(e=>d?.([lB(e.start),lB(e.end)]))),[m,d]);return(0,s$.jsx)(lR,{locale:w.toString(),children:(0,s$.jsx)("div",{className:sM()("cds--form-item",e),children:(0,s$.jsx)(lE.Kq,{values:[[cd,w]],children:(0,s$.jsx)(lI.Ur,{id:b?y:void 0,className:sM()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===w.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,s$.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,s$.jsx)(lA.J,{className:sM()("cds--label",{"cds--label--disabled":r}),htmlFor:y,children:a??s}),(0,s$.jsxs)(lP.Y,{className:cb,children:[(0,s$.jsxs)("div",{className:sM()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===p,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===p||!p||0===p.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===p}),children:[(0,s$.jsx)(cO.J3,{className:sM()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",ck),slot:"start",children:e=>(0,s$.jsx)(cF,{className:cx,segment:e})}),(0,s$.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,s$.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,s$.jsx)(cO.J3,{className:sM()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",ck),slot:"end",children:e=>(0,s$.jsx)(cF,{className:cx,segment:e})})]}),(0,s$.jsx)(lO.$,{className:sM()(cj,{[cC]:"sm"===p,[cN]:"md"===p||!p||0===p.length,[cE]:"lg"===p}),children:(0,s$.jsx)(cR,{})})]}),(0,s$.jsx)(lT.b,{className:cS,children:n}),(0,s$.jsx)(cA,{variant:"range",today_:v,minDate:S,maxDate:j})]})})})})})}),cV=({diagnoses:e})=>{let{diagnosisTags:t}=i$({externalModuleName:"@openmrs/esm-styleguide"});return(0,s$.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:o,uuid:n,display:r}=e,i=t[1===o?"primaryColor":"secondaryColor"];return(0,s$.jsx)(sU.Tag,{type:i,children:r},n)})})},cJ={action:"-esm-devtools__empty-card-module__action___Y0dul",content:"-esm-devtools__empty-card-module__content___fo0nB",desktopHeading:"-esm-devtools__empty-card-module__desktopHeading___0Cg1N",tabletHeading:"-esm-devtools__empty-card-module__tabletHeading___BogTF",tile:"-esm-devtools__empty-card-module__tile___QB8Ld"},cq=({width:e="64",height:t="64"})=>(0,s$.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,s$.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cK=e=>{let t="tablet"===i8(),o=e.launchForm;return(0,s$.jsx)(sU.Layer,{className:cJ.layer,children:(0,s$.jsxs)(sU.Tile,{className:cJ.tile,children:[(0,s$.jsx)("div",{className:t?cJ.tabletHeading:cJ.desktopHeading,children:(0,s$.jsx)("h4",{children:e.headerTitle})}),(0,s$.jsx)(cq,{}),(0,s$.jsx)("p",{className:cJ.content,children:tc("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,s$.jsx)("p",{className:cJ.action,children:o&&(0,s$.jsx)(sU.Button,{onClick:()=>o(),kind:"ghost",size:t?"lg":"sm",children:tc("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},cX=({error:e,headerTitle:t})=>{let o="tablet"===i8();return(0,s$.jsx)(sU.Layer,{children:(0,s$.jsxs)(sU.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,s$.jsx)("div",{className:o?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,s$.jsx)("h4",{children:t})}),(0,s$.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tc("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,s$.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tc("errorCopy")})]})})},cY=cX,cZ=rJ().forwardRef((e,t)=>{let{slotName:o,basePath:n,componentContext:r,state:i}=i7(),s=window.location??{pathname:""},a=r4(o??"");return e.isChildOfHeader&&o&&a.length>0?(0,s$.jsxs)(sU.SideNav,{"aria-label":tc("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,s$.jsx)(ie,{name:"global-nav-menu-slot"}),o?(0,s$.jsx)(iS,{value:r,fallback:(0,s$.jsx)(ie,{name:o,state:{basePath:n,currentPath:s,...i}}),children:(0,s$.jsx)(rq.Provider,{value:r,children:(0,s$.jsx)(ie,{name:o,state:{basePath:n,currentPath:s,...i}})})}):null]}):null}),cQ=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:o,locationsPerRequest:n=50,onChange:r})=>{let[i,s]=(0,rV.useState)(""),a=(0,rV.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:o,error:n,isLoading:r}=(0,iW.A)(t,tN,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rV.useMemo)(()=>({location:o?.data?.entry?o.data.entry[0]:null,error:t?n:null,isLoading:!!t&&r}),[o,r,n,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:p,setPage:f}=function(e,t=0,o=""){let n=iM(o),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=(0,iY.Ay)(function(o,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tk}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),o&&s.append("_getpagesoffset",""+o*t),e&&s.append("_tag",e),"string"==typeof n&&""!==n&&s.append("name:contains",n),i+s.toString()},tN);return(0,rV.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(o,n,i),g=(0,rV.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rV.useCallback)(e=>{r(),s(e.trim())},[r]),_=so((0,rV.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),w=d?Math.max(0,Math.floor(g.length-n/2)):-1;return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)(sU.Search,{"aria-describedby":p?`${a}-error`:void 0,labelText:tc("searchForLocation"),id:a,placeholder:tc("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,s$.jsx)(sU.InlineNotification,{kind:"error",subtitle:tc("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tc("error","Error")})}),(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,s$.jsx)(sU.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,s$.jsx)(sU.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,s$.jsx)(sU.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,s$.jsx)("span",{ref:t===w?_:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,s$.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tc("noResultsToDisplay")})})}),m&&(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,s$.jsx)(sU.InlineLoading,{description:tc("loading")})})]})})]})},c0=O("modalState",{modalContainer:null,modalStack:[]}),c1=0;async function c2(e,t,o={}){let n=rk(t),r=null;if(e){if(!n)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=n,s=await i(),a=c1++;r=await rF({...s,name:`${t}-${a}`},{...o,domElement:e})}else w(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c6(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function c5(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c8(e){return e.find(e=>!c6(e))}function c3(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let c4=window.getComputedStyle(document.body).overflow;function c7({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",ue),document.body.style.overflow="hidden",t.style.visibility="unset");let o=c8(e);e.forEach(e=>{switch(e.state){case"NEW":{let o=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=o,e.state="MOUNTING",c2(o,e.modalName,e.props).then(n=>{c6(e)?c5(e.modalName,n):n?(e.parcel=n,t.prepend(o),c3(e,c8(c0.getState().modalStack)===e),n.mountPromise.then(()=>{c6(e)||(e.state="MOUNTED")},t=>{w(t),e.parcel=null,c9(e)})):c9(e)},t=>{w(t),c9(e)});break}case"MOUNTING":case"MOUNTED":c3(e,e===o);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),c5(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=c0.getState();c0.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=c4,removeEventListener("keydown",ue)}function c9(e){if(c6(e))return;e.state="TO_BE_DELETED";let t=c0.getState();c0.setState({...t,modalStack:[...t.modalStack]})}function ue(e){"Escape"===e.key&&function(){let[e]=c0.getState().modalStack;e&&c9(e)}()}function ut(e){c0.subscribe(c7),c0.setState({...c0.getState(),modalContainer:e})}function uo(e,t={},o=()=>{}){let n=()=>{let e=c0.getState().modalStack.find(e=>e.onClose===o);e&&c9(e)};if(rk(e)){var r;let i,s;r={state:"NEW",onClose:o,modalName:e,props:{close:n,...t}},s=[r,...(i=c0.getState()).modalStack],c0.setState({...i,modalStack:s})}else w(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return n}var un=o(9685);let ur=({notification:e})=>{let{description:t,action:o,kind:n,critical:r,title:i,onAction:s}=e;return(0,s$.jsx)(sU.ActionableNotification,{actionButtonLabel:o,kind:n||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},ui=({subject:e})=>{let[t,o]=(0,rV.useState)([]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>o(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,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(ur,{notification:e},e.id))})},us=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:o=()=>{},subtitle:n,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rV.useState)(t);return(0,s$.jsx)(sU.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tc("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{o(),a&&d(a)},statusIconDescription:tc("actionableNotification","Actionable notification"),subtitle:n,title:i,lowContrast:s,inline:!0,...c})},ua=({subject:e})=>{let[t,o]=(0,rV.useState)([]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>o(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,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(us,{notification:e},e.id))})};class ul{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,o){t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o}(this,"listeners",new Set)}}let uc=new ul,uu=0,ud=new ul,um=0;function up(e){e&&(0,it.createRoot)(e).render((0,s$.jsx)(ui,{subject:uc}))}function uf(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,un.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{uc.next({...e,id:uu++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function ug(e){e&&(0,it.createRoot)(e).render((0,s$.jsx)(ua,{subject:ud}))}function uh(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,un.A)(t))?setTimeout(()=>{ud.next({...e,id:um++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let u_=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],uw=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uv={container:"-esm-devtools__numeric-observation-module__container___NfxbH",card:"-esm-devtools__numeric-observation-module__card___9oQAh","abnormal-value":"-esm-devtools__numeric-observation-module__abnormal-value___drvEi","critical-value":"-esm-devtools__numeric-observation-module__critical-value___JAIHt",cell:"-esm-devtools__numeric-observation-module__cell___lTunW","critically-high":"-esm-devtools__numeric-observation-module__critically-high___aDUjc","critically-low":"-esm-devtools__numeric-observation-module__critically-low___5srAK",high:"-esm-devtools__numeric-observation-module__high___7KiyK",low:"-esm-devtools__numeric-observation-module__low___Zs2ct","label-container":"-esm-devtools__numeric-observation-module__label-container___lGnGH","value-container":"-esm-devtools__numeric-observation-module__value-container___hHPXt",label:"-esm-devtools__numeric-observation-module__label___WFuxk",value:"-esm-devtools__numeric-observation-module__value___6fHUr",units:"-esm-devtools__numeric-observation-module__units___EdVuw","pad-right":"-esm-devtools__numeric-observation-module__pad-right___6T9Cd","off-scale-low":"-esm-devtools__numeric-observation-module__off-scale-low___Sc1CV","off-scale-high":"-esm-devtools__numeric-observation-module__off-scale-high___cWpU2",arrow:"-esm-devtools__numeric-observation-module__arrow___SLGUh"},uy=({value:e,unit:t,label:o,interpretation:n,referenceRange:r,conceptUuid:i,variant:s="card",patientUuid:a})=>{let l=(0,rV.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let o=null;e&&(o=t?`${tx}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tx}/conceptreferencerange/?concept=${e}&v=full`);let{data:n,error:r,isLoading:i}=(0,iW.A)(o,tN),s=n?.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||n?void 0:i,a),d=r??c,m=(0,rV.useMemo)(()=>{if(n)return n?"--"===n?"normal":u_.includes(n)?n.toLowerCase():uw.includes(n)?n:"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"},[n,d,e,u])??"normal",p="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,f="normal"!==m,g=o?`omrs-numeric-obs-label-${o.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,_=`omrs-numeric-obs-unit-${l}`,w=null!=e&&""!==e,v=w?e:tc("notAvailable","Not available"),y=sM()({[uv["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uv["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uv.low]:"low"===m,[uv.high]:"high"===m,[uv["off-scale-low"]]:"off_scale_low"===m,[uv["off-scale-high"]]:"off_scale_high"===m}),b=sM()({[uv.container]:!0,[uv.card]:!0,[uv["critical-value"]]:p,[uv["abnormal-value"]]:f&&!p}),x=sM()({[uv.cell]:!0,[y]:!0});return"cell"===s?(0,s$.jsxs)("div",{className:x,children:[v,w&&t?` ${t}`:""]}):(0,s$.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[o&&(0,s$.jsxs)("div",{className:uv["label-container"],children:[(0,s$.jsx)("span",{id:g,className:uv.label,children:o}),f&&(0,s$.jsx)("span",{className:uv[m.replace("_","-")],title:tc("abnormalValue","Abnormal value")})]}),(0,s$.jsxs)("div",{className:uv["value-container"],children:[(0,s$.jsx)("span",{id:h,"aria-labelledby":g&&_?`${g} ${_}`:g||_||void 0,className:uv.value,children:v}),w&&t&&(0,s$.jsx)("span",{id:_,className:uv.units,children:t})]})]})},ub="-esm-devtools__page-header-module__pageHeader___YOpQL",ux=e=>{if("children"in e){let{children:t,className:o,...n}=e;return(0,s$.jsx)("div",{className:sM()(ub,o),...n,children:t})}{let{title:t,illustration:o,className:n,...r}=e;return(0,s$.jsx)("div",{className:sM()(ub,n),...r,children:(0,s$.jsx)(uk,{title:t,illustration:o})})}},uk=({title:e,illustration:t,className:o})=>{let[n,r]=(0,rV.useState)(null);return(0,rV.useEffect)(()=>{eO("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,s$.jsxs)("div",{className:sM()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",o),children:[t,(0,s$.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[n?.implementationName&&(0,s$.jsx)("p",{children:tc(n.implementationName)}),(0,s$.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},uS=({totalItems:e,pageSize:t,onPageNumberChange:o,pageNumber:n,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=si(t,e,n,i),c="tablet"===i8(),u=tc("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,s$.jsx)(s$.Fragment,{children:e>0&&(0,s$.jsxs)("div",{className:sM()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,s$.jsxs)("div",{children:[u,r&&(0,s$.jsx)(rK,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:s??tc("seeAll","See all")})]}),(0,s$.jsx)(sU.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:n,pageSize:t,pageSizes:a,totalItems:e,onChange:o,pageRangeText:(e,t)=>tc("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uj(e){return uC(uI(e,"usual","official"))}function uN(e){return uj(e)}function uC(e){var t;let o;return e?e.text??(o=(t=e).given??[],(t.family?o.concat(t.family):o).join(" ")):""}function uE(e){return uC(e)}function uI(e,...t){for(let o of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,n;return t=e,n=o,t.use?t.use===n:"usual"===n});if(t)return t}}function uA(e,t=sm()){let o=sm(t),n=cr(e,o);if(null==n)return null;let r=o.diff(n,"hours"),i=o.diff(n,"days"),s=o.diff(n,"weeks"),a=o.diff(n,"months"),l=o.diff(n,"years"),c={};if(r<2)c.minutes=o.diff(n,"minutes");else if(i<2)c.hours=r;else if(s<4)c.days=i;else if(l<1){let e=o.subtract(s,"weeks").diff(n,"days");c.weeks=s,c.days=e}else if(l<2){let e=o.subtract(a,"months").diff(n,"days");c.months=a,c.days=e}else if(l<18){let e=o.subtract(l,"year").diff(n,"months");c.years=l,c.months=e}else c.years=l;return c}function uP(e,t=sm()){let o=uA(e,t);if(null==o)return null;let n={style:"short",localeMatcher:"lookup"};return"minutes"in o&&0===o.minutes&&(n.minutesDisplay="always"),cn(o,n)}let uO={container:"-esm-devtools__patient-banner-patient-info-module__container___Gjd-4",activePatientContainer:"-esm-devtools__patient-banner-patient-info-module__activePatientContainer___QLcpg",patientBanner:"-esm-devtools__patient-banner-patient-info-module__patientBanner___7nrgC",patientName:"-esm-devtools__patient-banner-patient-info-module__patientName___-bF9a",patientAvatar:"-esm-devtools__patient-banner-patient-info-module__patientAvatar___AkN3H",patientAvatarButton:"-esm-devtools__patient-banner-patient-info-module__patientAvatarButton___KDxA6",patientInfo:"-esm-devtools__patient-banner-patient-info-module__patientInfo___+WtDB",demographics:"-esm-devtools__patient-banner-patient-info-module__demographics___Vtf3v",row:"-esm-devtools__patient-banner-patient-info-module__row___NIOYI",flexRow:"-esm-devtools__patient-banner-patient-info-module__flexRow___VxdGB",tagsSlot:"-esm-devtools__patient-banner-patient-info-module__tagsSlot___lU6+4",identifiers:"-esm-devtools__patient-banner-patient-info-module__identifiers___tehd8",identifier:"-esm-devtools__patient-banner-patient-info-module__identifier___bSJIF",primaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__primaryIdentifier___yOV1B",secondaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__secondaryIdentifier___WvJbh",value:"-esm-devtools__patient-banner-patient-info-module__value___sBM-q",tag:"-esm-devtools__patient-banner-patient-info-module__tag___BEvEV",gender:"-esm-devtools__patient-banner-patient-info-module__gender___4XkLq",separator:"-esm-devtools__patient-banner-patient-info-module__separator___iYBA3",tooltipPadding:"-esm-devtools__patient-banner-patient-info-module__tooltipPadding___EWVCK",tooltipSmallText:"-esm-devtools__patient-banner-patient-info-module__tooltipSmallText___yDmRU",actionsButtonText:"-esm-devtools__patient-banner-patient-info-module__actionsButtonText___mn139"};function uT({showIdentifierLabel:e,type:t,value:o}){return(0,s$.jsx)("span",{className:uO.primaryIdentifier,children:(0,s$.jsxs)(sU.Tag,{className:uO.tag,type:"gray",children:[e&&t?.text&&(0,s$.jsxs)("span",{className:uO.label,children:[t.text,": "]}),(0,s$.jsx)("span",{className:uO.value,children:o})]})})}function u$({showIdentifierLabel:e,type:t,value:o}){return(0,s$.jsxs)(sU.FormLabel,{className:uO.secondaryIdentifier,id:`patient-banner-identifier-${o}`,children:[e&&(0,s$.jsxs)("span",{className:uO.label,children:[t?.text,": "]}),(0,s$.jsx)("span",{className:uO.value,children:o})]})}function uR({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:o}=i$(),{primaryIdentifierCode:n}=sl(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!o?.uuids.includes(t)})??[];return(0,s$.jsx)(s$.Fragment,{children:r?.length?r.map(({value:e,type:o},i)=>(0,s$.jsxs)(rJ().Fragment,{children:[(0,s$.jsx)("span",{className:uO.identifier,children:o?.coding?.[0]?.code===n?(0,s$.jsx)(uT,{showIdentifierLabel:t,type:o,value:e}):(0,s$.jsx)(u$,{showIdentifierLabel:t,type:o,value:e})}),i<r.length-1&&(0,s$.jsx)("span",{className:uO.separator,children:"\xb7"})]},e)):""})}let uM={Female:ak,Male:aS,Other:aj,Unknown:aN},uW=({gender:e})=>{let t=uM[e];return t?(0,s$.jsx)(t,{fill:"#525252"}):null},uL={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uD({patient:e,renderedFrom:t}){var o;let n,r,i=uj(e),s=e?.gender&&(r=uL[n=(o=e.gender).toLowerCase()]??"Unknown",{displayText:tc(n,o),iconKey:r}),a=(0,rV.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,s$.jsxs)("div",{className:uO.patientInfo,children:[(0,s$.jsx)("div",{className:sM()(uO.row,uO.patientNameRow),children:(0,s$.jsxs)("div",{className:uO.flexRow,children:[(0,s$.jsx)("span",{className:uO.patientName,children:i}),s&&(0,s$.jsxs)("div",{className:uO.gender,children:[(0,s$.jsx)(uW,{gender:s.iconKey}),(0,s$.jsx)("span",{children:s.displayText})]}),(0,s$.jsx)(ie,{className:uO.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,s$.jsxs)("div",{className:uO.demographics,children:[e.birthDate&&(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("span",{children:uP(e.birthDate)}),(0,s$.jsx)("span",{className:uO.separator,children:"\xb7"}),(0,s$.jsx)("span",{children:l4(e.birthDate,{time:!1})}),(0,s$.jsx)("span",{className:uO.separator,children:"\xb7"})]}),(0,s$.jsx)(uR,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,s$.jsx)(ie,{className:uO.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uB=o(7683);function uU({patient:e,patientUuid:t,actionsSlotName:o,additionalActionsSlotState:n}){let[r,i]=(0,rV.useState)(!1),{extensions:s}=r7(o),a="tablet"===i8(),l=st(()=>i(!1),r),c=(0,rV.useRef)(null),u=(0,rV.useRef)(null),d=(0,rV.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rV.useCallback)(()=>i(e=>!e),[]),g=(0,rV.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rV.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,n=Array.from(t).indexOf(o);if(-1===n)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=n+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rV.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let _=(0,rV.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...n}),[t,e,g,n]);return 0===s.length?null:(0,s$.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,s$.jsxs)("div",{"data-overflow-menu":!0,className:sM()("cds--overflow-menu",sG),ref:l,children:[(0,s$.jsxs)("button",{className:sM()("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,s$.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tc("actions","Actions")})," ",(0,s$.jsx)(uB.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,s$.jsxs)("div",{className:sM()("cds--overflow-menu-options","cds--overflow-menu--flip",sz,{[sV]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,s$.jsx)("ul",{className:sM()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,s$.jsx)(ie,{name:o,state:_},o)}),(0,s$.jsx)("span",{})]})]})})}var uF=o(397),uH=o.n(uF);function uG(e){let{patientPhotoConceptUuid:t}=i$({externalModuleName:"@openmrs/esm-styleguide"}),o=t?`${tx}/obs?patient=${e}&concept=${t}&v=full`:null,{data:n,error:r,isLoading:i}=(0,ii.u)(e?o:null,tN),s=n?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uz=({width:e=56,height:t=56,"aria-label":o})=>{let{t:n}=(0,ir.useTranslation)();return(0,s$.jsxs)("svg",{"aria-label":o??n("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,s$.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,s$.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"})]})},uV="-esm-devtools__patient-photo-module__avatar___t5TmZ";function uJ({patientUuid:e,patientName:t,alt:o}){let{data:n,isLoading:r}=uG(e),[i,s]=(0,rV.useState)(null),[a,l]=(0,rV.useState)(!1),c=(0,rV.useMemo)(()=>uH().generate(e),[e]);(0,rV.useEffect)(()=>{if(n?.imageSrc){let e=new URL(n.imageSrc,window.location.origin).pathname;l(!0);let t=!1,o=new Image;return o.onload=()=>{t||(s(e),l(!1))},o.onerror=()=>{t||(s(null),l(!1))},o.src=e,()=>{t=!0}}s(null),l(!1)},[n?.imageSrc]);let u=(0,rV.useMemo)(()=>o||(i?tc("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tc("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[o,i,t]);return r||a?(0,s$.jsx)(sU.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):n?.imageSrc&&!i?(0,s$.jsx)(uz,{"aria-label":tc("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,s$.jsx)("div",{"aria-label":u,children:(0,s$.jsx)("img",{className:uV,src:i,alt:u,title:t})}):(0,s$.jsx)("div",{"aria-label":u,children:(0,s$.jsx)("div",{className:uV,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,s$.jsx)("span",{className:"-esm-devtools__patient-photo-module__initials___-k9Hv",children:function(e,t=3){return e.split(/\s+/).filter(Boolean).slice(0,t).map(e=>e[0]).join("")}(t)})})})}let uq=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],uK=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),uX=uK,uY=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),uZ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),uQ=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),u0=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u1=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),u2=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),u6=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),u5=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u8=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),u3=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),u4=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),u7=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),u9=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),de=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),dt=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),dn=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),dr=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),di=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),ds=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),da=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dl=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dc=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),du=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),dd=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dm=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dp=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),df=(0,rV.memo)((0,rV.forwardRef)(function(e,t){return(0,s$.jsx)(dw,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),dg=u8,dh=di,d_=(0,rV.memo)((0,rV.forwardRef)(function({pictogram:e,fallback:t,...o},n){let r=(0,rV.useRef)(document.getElementById(e));return(0,rV.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=document.getElementById(e))});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,s$.jsx)(iS,{value:r.current,fallback:t,children:(0,s$.jsx)(dw,{ref:n,pictogram:e,pictogramProps:o})})})),dw=(0,rV.memo)((0,rV.forwardRef)(function({pictogram:e,pictogramProps:t},o){let{className:n,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,s$.jsx)("svg",{ref:o,className:sM()("-esm-devtools__pictograms-module__pictogram___wXX7t",n),height:r,width:r,children:(0,s$.jsx)("use",{href:`#${e}`})})})),dv=({children:e})=>"tablet"===i8()?(0,s$.jsx)(sU.Layer,{children:e}):(0,s$.jsx)(s$.Fragment,{children:e}),dy=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:o="",kind:n="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==n,progressActionLabel:s,subtitle:a="",timeoutInMs:l=5e3,autoClose:c="error"!==n,title:u,id:d,...m}=e,[p,f]=(0,rV.useState)(o),[g,h]=(0,rV.useState)(!0),[_,w]=(0,rV.useState)(!1),v=(0,rV.useCallback)(()=>{setTimeout(t,250)},[t]),y=(0,rV.useCallback)(()=>{w(!0),v()},[v]);return(0,rV.useEffect)(()=>{if(c){let e=setTimeout(y,l);return()=>clearTimeout(e)}},[l,c,y]),(0,rV.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,s$.jsx)(sU.ActionableNotification,{actionButtonLabel:p,"aria-label":tc("closeSnackbar","Close snackbar"),className:sM()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":_}),kind:n,lowContrast:i,onActionButtonClick:()=>{r(),y(),s&&f(s)},onClose:v,statusIconDescription:tc("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},db=({subject:e})=>{let[t,o]=(0,rV.useState)([]),n=(0,rV.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>o(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,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(dy,{snackbar:e,closeSnackbar:()=>n(e)},e.id))})},dx=new ul,dk=0;function dS(e){e&&(0,it.createRoot)(e).render((0,s$.jsx)(db,{subject:dx}))}function dj(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dx.next({...e,id:dk++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dN=({toast:e,closeToast:t})=>{let{description:o,kind:n,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rV.useCallback)(()=>{a(),t()},[t,a]);return(0,s$.jsx)("div",{children:(0,s$.jsx)(sU.ActionableNotification,{actionButtonLabel:s,kind:n||"info",lowContrast:r,subtitle:o,title:i||"",onActionButtonClick:l,onClose:t})})},dC=({subject:e})=>{let[t,o]=(0,rV.useState)([]),n=(0,rV.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rV.useEffect)(()=>{let t=e.subscribe(e=>o(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,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(dN,{toast:e,closeToast:()=>n(e)},e.id))})},dE=new ul,dI=0;function dA(e){e&&(0,it.createRoot)(e).render((0,s$.jsx)(dC,{subject:dE}))}function dP(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,un.A)(t))?setTimeout(()=>{dE.next({...e,id:dI++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function dO(e,t=!1){if(t)return!0;let o=dW[e];return!o||!o()}function dT(e,t){let o=dz.getState()?.workspaceGroup,n=o?.name;n&&e===n&&dK(()=>{let n=d0(e);n&&(n.setState({},!0),n.subscribe(()=>{})()),"function"==typeof o?.cleanup&&o.cleanup(),dz.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},n?e=>e.currentWorkspaceGroup===n:()=>!0)}function d$(e,t){let{name:o,additionalProps:n}=t;rI(o);let r=()=>{dF(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>dR(o,n),closeWorkspaceGroup:!1})};dO(e.name)?r():dY("closing-workspace-launching-new-workspace",r,e.title??e.name)}function dR(e,t){let o=rI(e),n=dz.getState().workspaceGroup;if(n&&!n.members?.includes(e))return void dT(n.name,()=>{dR(e,t)});let r=dz.getState().workspaceGroup?.name,i={...o,title:dZ(o,t),closeWorkspace:(t={})=>dF(e,t),closeWorkspaceWithSavedChanges:t=>dF(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var o,n;return o=e,n=t,void(dW[o]=n)},setTitle:(t,o)=>{i.title=t,i.titleNode=o,dz.setState(t=>{let o=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:o}})},currentWorkspaceGroup:r,additionalProps:t??{}};function s(e,t){dz.setState(o=>{let n=[e,...t??o.openWorkspaces],r=dq(e);return{...o,openWorkspaces:n,workspaceWindowState:r}})}r&&d0(r,t);let a=dz.getState().openWorkspaces,l=a.findIndex(t=>t.name===e),c=a.find(e=>e.type==i.type);if(0===a.length)s(i);else if(a[0].canHide||0===l)if(l>=0){let t=a[l];s({...t,additionalProps:i.additionalProps,...t.title===dZ(t,t.additionalProps)&&{title:dZ(i,i.additionalProps)}},a.filter(t=>t.name!=e))}else c?(s(c,dz.getState().openWorkspaces.filter(e=>e.type!=i.type)),d$(c,{name:e,additionalProps:t})):s(i);else d$(a[0],{name:e,additionalProps:t})}function dM({targetUrl:e,contextKey:t,workspaceName:o,additionalProps:n}){dH(t),dR(o,n),tm({to:e})}let dW={};function dL(e,t){dW[e]=t}function dD(e){return dW[e]}function dB(){let e=dz.getState();dz.setState({...e,prompt:null})}let dU={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function dF(e,t={}){t={...dU,...t};let o=()=>{let o=dz.getState();o.openWorkspaces.find(t=>t.name===e);let n=o.openWorkspaces.filter(t=>t.name!=e),r=dz.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&dT(r),dW[e]=()=>!1,dz.setState(e=>({...e,prompt:null,openWorkspaces:n,workspaceWindowState:dq(n?.[0])})),t?.onWorkspaceClose?.()};return dO(e,t?.ignoreChanges)?(o(),!0):(dY("closing-workspace",o,rI(e).title??e),!1)}function dH(e){dz.getState().context!=e&&dz.setState({context:e,openWorkspaces:[],prompt:null})}let dG={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},dz=O("workspace",dG);function dV(){return dz}function dJ(e){let t=dz.getState();dz.setState({...t,workspaceWindowState:e})}function dq(e){return e?.preferredWindowSize??"normal"}function dK(e=()=>{},t=()=>!0){let o=dz.getState().openWorkspaces.filter(t).every(({name:e})=>dO(e)),n=()=>{dQ(),e?.()};o?n():dY("closing-all-workspaces",n)}function dX(){let{workspaceWindowState:e,openWorkspaces:t,prompt:o,workspaceGroup:n}=r0(dz);return(0,rV.useMemo)(()=>({active:t.length>0,prompt:o,workspaceWindowState:e,workspaces:t,workspaceGroup:n}),[t,e,o,n])}function dY(e,t=()=>{},o=""){let n;switch(e){case"closing-workspace":n={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tc("discard","Discard")};break;case"closing-all-workspaces":{let e=dz.getState().openWorkspaces.filter(({name:e})=>!dO(e)).map(({title:e},t)=>`${t+1}. ${e}`);n={title:tc("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tc("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tc("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":n={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:o}),onConfirm:()=>{dz.setState(e=>({...e,prompt:null})),t?.()},confirmText:tc("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}dz.setState(e=>({...e,prompt:n}))}function dZ(e,t){return t?.workspaceTitle??e.title}function dQ(){dz.setState(dG)}function d0(e,t={}){if(!e||"default"===e)return;let o=$(e,{});return t&&o.setState(e=>({...e,...t})),o}let d1="-esm-devtools__action-menu-button-module__container___f7spB",d2="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",d6="-esm-devtools__action-menu-button-module__active___+mcQh";function d5({getIcon:e,formOpenInTheBackground:t,tagContent:o}){return(0,s$.jsxs)(s$.Fragment,{children:[e({size:16}),t?(0,s$.jsx)("span",{className:"-esm-devtools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,s$.jsx)("span",{className:"-esm-devtools__action-menu-button-module__countTag___vo9ZX",children:o})]})}let d8=({getIcon:e,label:t,iconDescription:o,handler:n,type:r,tagContent:i})=>{let s=i8(),{workspaces:a,workspaceWindowState:l}=dX(),c=a?.findIndex(({type:e})=>e===r)??-1,u="hidden"!==l&&0===c,d=c>0||0===c&&"hidden"===l;return"tablet"===s||"phone"===s?(0,s$.jsxs)(sU.Button,{className:sM()(d1,{[d6]:u}),iconDescription:o,kind:"ghost",onClick:n,role:"button",tabIndex:0,size:"md",children:[(0,s$.jsx)("span",{className:d2,children:(0,s$.jsx)(d5,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,s$.jsx)("span",{children:t})]}):(0,s$.jsx)(sU.IconButton,{align:"left","aria-label":o,className:sM()(d1,{[d6]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:n,size:"md",children:(0,s$.jsx)("div",{className:d2,children:(0,s$.jsx)(d5,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var d3=o(3173),d4=o(185),d7=o(4564);function d9({contextKey:e}){let{prompt:t}=dX();return(0,rV.useEffect)(()=>{RegExp(`/${(0,d7.A)(e)}(/|$)`).test(window.location.pathname)||console.warn(`WorkspaceContainer has provided an invalid context key: "${e}". The context key must be part of the URL path, with no initial or trailing slash.`)},[]),(0,rV.useEffect)(()=>(dH(e),()=>{dH(null)}),[e]),(0,rV.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:o,newUrl:n}}=t,r=RegExp(`/${(0,d7.A)(e)}(/|$)`),i=new URL(n),s=r.test(i.pathname),a=dz.getState().openWorkspaces.every(({name:e})=>dO(e));s||(a?dQ():(o?.(),dK(()=>{tm({to:n})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,s$.jsxs)(sU.ComposedModal,{open:!0,onClose:dB,children:[(0,s$.jsx)(sU.ModalHeader,{title:t.title}),(0,s$.jsx)(sU.ModalBody,{children:(0,s$.jsx)("p",{className:"-esm-devtools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,s$.jsxs)(sU.ModalFooter,{children:[(0,s$.jsx)(sU.Button,{kind:"secondary",onClick:dB,children:t.cancelText??tc("cancel")}),(0,s$.jsx)(sU.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tc("confirm")})]})]}):null}var me=o(1820);function mt({workspace:e,additionalPropsFromPage:t}){let[o,n]=(0,rV.useState)(),r=function(e){let[t,o]=(0,rV.useState)({}),[n,r]=(0,rV.useState)(e);return(0,rV.useEffect)(()=>{n!==e&&r(e)},[e]),(0,rV.useEffect)(()=>{let e,t=d0(n);return t&&(o(t.getState()),e=t.subscribe(o)),()=>{t&&e?.()}},[n]),t}(e.currentWorkspaceGroup);(0,rV.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&n(e)}),()=>{t=!1}},[e]);let i=(0,rV.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return o?(0,s$.jsx)(me.A,{config:o,mountParcel:rG,...i},e.name):(0,s$.jsx)(sU.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tc("loading","Loading")} ...`})}function mo({isWithinWorkspace:e,name:t,actionMenuProps:o={}}){let[n,r]=(0,rV.useState)(!1),i=(0,rV.useRef)(window.innerHeight),{featureName:s}=(0,rV.useContext)(rq),a=i8();(0,rV.useEffect)(()=>{let e=()=>{r(!i3(a)&&i.current>window.innerHeight),i.current!=window.innerHeight&&(i.current=window.innerHeight)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[i]);let l=`action-menu-${t&&"default"!=t?t:s}-items-slot`;return(0,s$.jsx)("aside",{className:sM()("-esm-devtools__action-menu-module__sideRail___GJUJ7",{"-esm-devtools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-devtools__action-menu-module__sideRailHidden___bQ0UM":n,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!n}),children:(0,s$.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,s$.jsx)(ie,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:o})})})}function mn({contextKey:e,overlay:t,showSiderailAndBottomNav:o,additionalWorkspaceProps:n,actionMenuProps:r}){let i=i8(),{workspaces:s,workspaceWindowState:a,workspaceGroup:l}=dX(),c=l?.name,u=s[0],d="hidden"===a||null==u,m=u?.width??(t?"wider":"narrow"),p=(0,rV.useMemo)(()=>o||c&&!d,[c,d,o]);return iP(!d&&!i3(i)),(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsxs)("div",{className:o?"-esm-devtools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-devtools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,s$.jsx)("aside",{className:sM()(t?"-esm-devtools__workspace-module__workspaceOverlayOuterContainer___7nS96":"-esm-devtools__workspace-module__workspaceWindowSpacer___l+rgk",{"-esm-devtools__workspace-module__hiddenRelative___AJHmQ":d,"-esm-devtools__workspace-module__narrowWorkspace___Vb16L":"narrow"===m,"-esm-devtools__workspace-module__widerWorkspace___Bn7v8":"wider"===m,"-esm-devtools__workspace-module__extraWideWorkspace___vN8kI":"extra-wide"===m}),children:(0,s$.jsx)("div",{className:sM()("-esm-devtools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-devtools__workspace-module__maximizedWindow___Sew5F":"maximized"===a,"-esm-devtools__workspace-module__hiddenFixed___BxutH":d}),children:s.map((e,t)=>(0,s$.jsx)("div",{className:sM()("-esm-devtools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-devtools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,s$.jsx)(rV.Suspense,{fallback:null,children:(0,s$.jsx)(ir.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,s$.jsx)(mr,{workspaceInstance:e,additionalWorkspaceProps:n})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,s$.jsx)(d9,{contextKey:e})]}),p&&(0,s$.jsx)(mo,{name:c,isWithinWorkspace:!o,actionMenuProps:r})]})}function mr({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:o}=(0,ir.useTranslation)(),n=i8(),{workspaceWindowState:r,workspaceGroup:i}=dX(),s=i?.name,a="maximized"===r;(0,rV.useEffect)(()=>{let t=o(e.title);t!==e.title&&e.setTitle(t)},[e.title,o,e.setTitle]);let{featureName:l}=(0,rV.useContext)(rq),c=(0,rV.useCallback)(()=>{dJ(a?"normal":"maximized")},[a]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:p}=(0,rV.useMemo)(()=>e??{},[e]),f=(0,rV.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsxs)(sU.Header,{"aria-label":tc("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!i3(n)&&!u&&(0,s$.jsx)(sU.HeaderMenuButton,{"aria-label":tc("close","Close"),renderMenuIcon:(0,s$.jsx)(s5,{}),onClick:()=>p()}),(0,s$.jsx)(sU.HeaderName,{prefix:"",children:e.titleNode??o(e.title)}),(0,s$.jsx)("div",{className:"-esm-devtools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,s$.jsxs)(sU.HeaderGlobalBar,{className:"-esm-devtools__workspace-module__headerButtons___ppNsY",children:[(0,s$.jsx)(ie,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:f}),(0,s$.jsx)(ie,{name:`workspace-header-type-${e.type}-slot`,state:f}),(0,s$.jsx)(ie,{name:`workspace-header-${l}-slot`,state:f}),i3(n)&&(0,s$.jsxs)(s$.Fragment,{children:[(d||a)&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":a?tc("minimize","Minimize"):tc("maximize","Maximize"),onClick:c,children:a?(0,s$.jsx)(d3.Xj,{}):(0,s$.jsx)(d3.hz,{})}),u&&!s?(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tc("hide","Hide"),onClick:()=>dJ("hidden"),children:(0,s$.jsx)(s8,{})}):(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,s$.jsx)(ap,{})})]}),"tablet"===n&&u&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,s$.jsx)(d4.d3,{})})]})]}),(0,s$.jsx)("div",{className:sM()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,s$.jsx)(mt,{workspace:e,additionalPropsFromPage:t},e.name)})]})}var mi=o(4656);async function ms(e,t){let{openedGroup:o}=rP.getState();if(o){if(o.groupName===e&&mc(o.props,t))return!0;else if(!await mu({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rP.setState(o=>({...o,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function ma(e){let{openedGroup:t,openedWindows:o}=rP.getState();if(t){if(o.length>0&&!(e||await mu({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rP.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function ml(e,t=null,o=null,n=null){let r=rP.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rO(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rT(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=r$(e);if(s&&(s.groupName!==l.name||!mc(s.props,n)))return!!await mu({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:n},openedWindows:[{windowName:a,openedWorkspaces:[mg(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let n=r.openedWindows[c],i=r.openedGroup?.props??{},s=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=n;if(mc(n.props,o)){let d=u.find(t=>t.workspaceName===e);return d&&mc(d.props,t)?((s||c!==r.openedWindows.length-1)&&rP.setState(md.restoreWindow(r,a)),!0):!!await mu({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mg(e,t)],props:n?.props??o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await mu({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mg(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rP.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[mg(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await mu({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rP.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[mg(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function mc(e,t){return null==e||null==t||b(e,t)}function mu(e){function t(e,t){let o=[];for(let n=e.openedWorkspaces.length-1;n>=0;n--){let r=e.openedWorkspaces[n];if(r.hasUnsavedChanges&&o.push(r),t&&r.workspaceName===t)break}return o}let{openedWindows:o,workspaceTitleByWorkspaceName:n}=rP.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=o.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n);break}case"CLOSE_WORKSPACE":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=o.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=uo("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>n[e.workspaceName])})})}let md={setWindowMaximized(e,t,o){let n=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[n],maximized:o};return r[n]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let o=e.openedWindows.findIndex(e=>e.windowName===t),n=e.openedWindows[o],r=[...e.openedWindows.filter((e,t)=>t!==o),n];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let o=r$(t);if(o<0)return e;let n={...e.openedWindows[o]},r=n.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];n.openedWorkspaces=n.openedWorkspaces.slice(0,r);let s=e.isMostRecentlyOpenedWindowHidden;if(0===n.openedWorkspaces.length){let t=o===e.openedWindows.length-1;i.splice(o,1),t&&i.length>0&&(s=!1)}else i[o]=n;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:s}},openChildWorkspace(e,t,o,n){let r=e.registeredWorkspacesByName[o];if(!r)throw Error(`No workspace named "${o}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${o} does not belong to the same workspace window as parent workspace ${t}`);let s=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==s)throw Error(`Cannot open child workspace ${o} as window ${r.window} is not opened`);let{openedWorkspaces:a}=e.openedWindows[s],l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${o} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==s?{...e,openedWorkspaces:[...c,mg(o,n)]}:e)}},setHasUnsavedChanges(e,t,o){let n=r$(t);if(n<0)return e;let r={...e.openedWindows[n]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:o};let s=[...e.openedWindows];return s[n]=r,{...e,openedWindows:s}},setWorkspaceTitle(e,t,o){let n={...e.workspaceTitleByWorkspaceName};return null===o?delete n[t]:n[t]=o,{...e,workspaceTitleByWorkspaceName:n}}};function mm(){return r1(rP,md)}let mp=()=>(0,rV.useContext)(io.i),mf=()=>Object.keys(rP.getState().registeredWorkspacesByName);function mg(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,mi.A)()}}let mh={workspaceOuterContainer:"-esm-devtools__workspace2-module__workspaceOuterContainer___bPVpy",narrowWorkspace:"-esm-devtools__workspace2-module__narrowWorkspace___kSYS7",widerWorkspace:"-esm-devtools__workspace2-module__widerWorkspace___nW2HB",extraWideWorkspace:"-esm-devtools__workspace2-module__extraWideWorkspace___em5yA",workspaceMiddleContainer:"-esm-devtools__workspace2-module__workspaceMiddleContainer___Bx1i6",maximized:"-esm-devtools__workspace2-module__maximized___Kfygr",hidden:"-esm-devtools__workspace2-module__hidden___RPimX",workspaceInnerContainer:"-esm-devtools__workspace2-module__workspaceInnerContainer___5zxpt",workspaceSpacer:"-esm-devtools__workspace2-module__workspaceSpacer___E+982",loader:"-esm-devtools__workspace2-module__loader___vmBQn",hiddenExtraWorkspace:"-esm-devtools__workspace2-module__hiddenExtraWorkspace___qkbMG",header:"-esm-devtools__workspace2-module__header___IZ-2+",headerButtons:"-esm-devtools__workspace2-module__headerButtons___81a2N",workspaceContent:"-esm-devtools__workspace2-module__workspaceContent___eetPy",overlayHeaderSpacer:"-esm-devtools__workspace2-module__overlayHeaderSpacer___ruc6r",isActionMenuOpened:"-esm-devtools__workspace2-module__isActionMenuOpened___XgCkc",showActionMenu:"-esm-devtools__workspace2-module__showActionMenu___sHRt1",marginWorkspaceContent:"-esm-devtools__workspace2-module__marginWorkspaceContent___TN+S+",workspaceContainerWithActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithActionMenu___xLg8e",workspaceFixedContainer:"-esm-devtools__workspace2-module__workspaceFixedContainer___W9cgZ",workspaceContainerWithoutActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithoutActionMenu___fRrxd"},m_=({title:e,children:t,hasUnsavedChanges:o=!1})=>{let n=i8(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:s,openedWindows:a,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:p,isMostRecentlyOpenedWindowHidden:f}=mm(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:_,showActionMenu:w}=mp(),v=r$(g),y=a[v],b=y?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,rV.useEffect)(()=>{b?.hasUnsavedChanges!=o&&s(g,o??!1)},[b?.hasUnsavedChanges,o,g,s]),(0,rV.useEffect)(()=>{m[g]!==e&&p(g,e)},[m,g,e,p]),v<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:I}=y,A=S?.width??"narrow",P=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),O=v<a.length-1||f;return(0,s$.jsxs)("div",{className:sM()(mh.workspaceOuterContainer,{[mh.narrowWorkspace]:"narrow"===A,[mh.widerWorkspace]:"wider"===A,[mh.extraWideWorkspace]:"extra-wide"===A,[mh.isActionMenuOpened]:P}),children:[(0,s$.jsx)("div",{className:sM()(mh.workspaceSpacer,{[mh.hidden]:O})}),(0,s$.jsx)("div",{className:sM()(mh.workspaceMiddleContainer,{[mh.maximized]:I,[mh.hidden]:O,[mh.isRootWorkspace]:h,[mh.showActionMenu]:w}),children:(0,s$.jsxs)("div",{className:sM()(mh.workspaceInnerContainer,{[mh.maximized]:I,[mh.hidden]:O,[mh.isRootWorkspace]:h}),children:[(0,s$.jsxs)(sU.Header,{"aria-label":tc("workspaceHeader"),className:mh.header,children:[(0,s$.jsx)(sU.HeaderName,{prefix:"",children:e}),(0,s$.jsx)("div",{className:mh.overlayHeaderSpacer}),(0,s$.jsx)(sU.HeaderGlobalBar,{className:mh.headerButtons,children:i3(n)?(0,s$.jsxs)(s$.Fragment,{children:[(N||I)&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":I?tc("minimize"):tc("maximize"),onClick:()=>r(k,!I),children:I?(0,s$.jsx)(d3.Xj,{}):(0,s$.jsx)(d3.hz,{})}),E&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,s$.jsx)(s8,{})}),!C&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>_({closeWindow:!0}),children:(0,s$.jsx)(ap,{})})]}):(0,s$.jsxs)(s$.Fragment,{children:[E&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,s$.jsx)(d4.d3,{})}),(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>{C?ma():_({closeWindow:!0})},children:(0,s$.jsx)(ap,{})})]})})]}),(0,s$.jsx)("div",{className:sM()(mh.workspaceContent),children:t})]})})]})},mw="-esm-devtools__action-menu-button2-module__container___jc6--",mv="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",my="-esm-devtools__action-menu-button2-module__active___fbyFm",mb="-esm-devtools__action-menu-button2-module__focused___+aVpz";function mx({getIcon:e,hasUnsavedChanges:t,tagContent:o}){return(0,s$.jsxs)(s$.Fragment,{children:[e({size:16}),t?(0,s$.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,s$.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:o})]})}let mk=({icon:e,label:t,tagContent:o,workspaceToLaunch:n,onBeforeWorkspaceLaunch:r})=>{let i=i8(),{openedWindows:s,restoreWindow:a,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=mm(),{extension:u}=(0,rV.useContext)(rq),d=s.findIndex(e=>e.windowName===u?.extensionId),m=s[d],p=null!=m,f=p&&(d<s.length-1||c),g=p&&!f,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=async()=>{if(p)f?a(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:o}=n;ml(e,t,o)}};return"tablet"===i||"phone"===i?(0,s$.jsxs)(sU.Button,{className:sM()(mw,{[my]:p&&!g,[mb]:g}),iconDescription:t,kind:"ghost",onClick:_,role:"button",tabIndex:0,size:"md",children:[(0,s$.jsx)("span",{className:mv,children:(0,s$.jsx)(mx,{hasUnsavedChanges:h,getIcon:e,tagContent:o})}),(0,s$.jsx)("span",{children:t})]}):(0,s$.jsx)(sU.IconButton,{align:"left","aria-label":t,className:sM()(mw,{[my]:p&&!g,[mb]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:_,size:"md",children:(0,s$.jsx)("div",{className:mv,children:(0,s$.jsx)(mx,{hasUnsavedChanges:h,getIcon:e,tagContent:o})})})};function mS({showContactDetails:e,toggleContactDetails:t,className:o}){return(0,s$.jsx)(sU.Button,{className:o,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?am:ac,children:e?tc("showLess","Show less"):tc("showMore","Show more")})}let mj={contactDetails:"-esm-devtools__patient-banner-contact-details-module__contactDetails___R7vfY",deceased:"-esm-devtools__patient-banner-contact-details-module__deceased___nTt+l",heading:"-esm-devtools__patient-banner-contact-details-module__heading___x7UoT",row:"-esm-devtools__patient-banner-contact-details-module__row___qFgIi",col:"-esm-devtools__patient-banner-contact-details-module__col___JXUlg",relationship:"-esm-devtools__patient-banner-contact-details-module__relationship___T3LO-"},mN=({patientUuid:e})=>{let{cohorts:t=[],isLoading:o}=function(e){let t=e?`${tx}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:o,isLoading:n}=(0,ii.u)(t,tN),r=o?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rV.useMemo)(()=>({cohorts:r,isLoading:n}),[n,r])}(e);return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsxs)("p",{className:mj.heading,children:[tc("patientLists","Patient Lists")," (",t?.length??0,")"]}),o?(0,s$.jsx)(sU.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,s$.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>l1(e?.startDate).getTime()-l1(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,s$.jsx)("li",{children:(0,s$.jsx)(rK,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,s$.jsx)("li",{children:"--"})})(),t.length>3&&(0,s$.jsx)("li",{className:mj.link,children:(0,s$.jsx)(rK,{to:`${window.spaBase}/home/patient-lists`,children:tc("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mC=({patientId:e})=>{let{patient:t,isLoading:o}=sa(e),n=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return o?(0,s$.jsx)(sU.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("p",{className:mj.heading,children:tc("address","Address")}),(0,s$.jsx)("ul",{children:n?Object.entries(n).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?n.extension?.[0]?.extension?.map((t,o)=>(0,s$.jsxs)("li",{children:[tc(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${o}`)):(0,s$.jsxs)("li",{children:[tc(e,e),": ",t]},`address-${e}`)):(0,s$.jsx)("li",{children:"--"})})]})},mE=({patientUuid:e})=>{let{isLoading:t,contactAttributes:o}=(e=>{let{contactAttributeTypes:t=[]}=i$({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:o,error:n,isLoading:r}=(e=>{let{data:t,error:o,isLoading:n}=(0,iW.A)(`${tx}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tN);return{isLoading:n,attributes:t?.data.person.attributes??[],error:o}})(e);return{contactAttributes:(0,rV.useMemo)(()=>o.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[o,t]),isLoading:r,error:n}})(e),n=(0,rV.useMemo)(()=>o?[...o?.map(e=>[e.attributeType.display?tc(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[o]);return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("p",{className:mj.heading,children:tc("contactDetails","Contact Details")}),t?(0,s$.jsx)(sU.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,s$.jsx)("ul",{children:n.length?n.map(([e,t],o)=>(0,s$.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${o}`)):(0,s$.jsx)("li",{children:"--"})})]})},mI=({patientId:e})=>{let{data:t,isLoading:o}=function(e){let t=`${tx}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:o,error:n,isLoading:r,isValidating:i}=(0,ii.u)(e?t:null,tN),s=o?.data?.results?.length?function(e,t){let o=[];for(let n of t)e===n.personA.uuid?o.push({uuid:`${n.uuid}`,display:n.personB.display,relativeAge:n.personB.age,relativeUuid:n.personB.uuid,relationshipType:n.relationshipType.bIsToA}):o.push({uuid:`${n.uuid}`,display:n.personA.display,relativeAge:n.personA.age,relativeUuid:n.personA.uuid,relationshipType:n.relationshipType.aIsToB});return o}(e,o.data.results):null;return{data:o?s:null,error:n,isLoading:r,isValidating:i}}(e);return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("p",{className:mj.heading,children:tc("relationships","Relationships")}),o?(0,s$.jsx)(sU.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,s$.jsx)("ul",{children:t&&t.length>0?(0,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsxs)("li",{className:mj.relationship,children:[(0,s$.jsx)("div",{children:(0,s$.jsx)(rK,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,s$.jsx)("div",{children:e.relationshipType}),(0,s$.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tc("yearAbbreviation","yr"):tc("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,s$.jsx)("li",{children:"--"})})]})};function mA({patientId:e,deceased:t}){return(0,s$.jsxs)("div",{className:sM()(mj.contactDetails,{[mj.deceased]:t}),children:[(0,s$.jsxs)("div",{className:mj.row,children:[(0,s$.jsx)("div",{className:mj.col,children:(0,s$.jsx)(mC,{patientId:e})}),(0,s$.jsx)("div",{className:mj.col,children:(0,s$.jsx)(mE,{patientUuid:e})})]}),(0,s$.jsxs)("div",{className:mj.row,children:[(0,s$.jsx)("div",{className:mj.col,children:(0,s$.jsx)(mI,{patientId:e})}),(0,s$.jsx)("div",{className:mj.col,children:(0,s$.jsx)(mN,{patientUuid:e})})]})]})}function mP(e){let t=document.querySelector("template#loading-spinner");if(t){let o=t.content.cloneNode(!0),n=Array.prototype.map.call(o.childNodes,e=>e);return e.appendChild(o),()=>n.forEach(e=>e.remove())}return()=>{}}let mO="-esm-devtools__action-menu2-module__container___6Gke0";function mT({workspaceGroup:e,groupProps:t}){let o=i8(),{persistence:n}=e;return(0,s$.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,s$.jsxs)("div",{className:mO,children:["closable"==n&&i3(o)&&(0,s$.jsx)(sU.IconButton,{align:"left",onClick:()=>ma(),label:tc("close"),kind:"ghost",children:(0,s$.jsx)(ap,{})}),(0,s$.jsx)(rq.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,s$.jsx)(ie,{className:mO,name:e.name,state:{groupProps:t}})})]})})}function m$(e){let t=new URL(e,window.location.origin).pathname,o=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,n=o.endsWith("/")?o.slice(0,-1):o,r=null;return n?n===t?r="/":t.startsWith(`${n}/`)&&(r=t.slice(n.length)):r=t,{full:t,spaRelative:r}}let mR=({lifeCycle:e,openedWorkspace:t,openedWindow:o,isRootWorkspace:n,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:s,closeWorkspace:a,openChildWorkspace:l}=mm(),c=(0,rV.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:n=!1,discardUnsavedChanges:r=!1}=e;return n?!!(r||await mu({reason:"CLOSE_WINDOW",explicit:!0,windowName:o.windowName}))&&(a(o.openedWorkspaces[0].workspaceName),!0):!!(r||await mu({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:t.workspaceName}))&&(a(t.workspaceName),!0)},launchChildWorkspace:async(e,n)=>{let r=t.workspaceName,{openedWorkspaces:i}=o,s=i.findIndex(e=>e.workspaceName===r);-1===s||s!==i.length-1&&i.slice(s+1).some(e=>e.hasUnsavedChanges)&&!await mu({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:i[s+1].workspaceName})||l(r,e,n||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:o.props,groupProps:s&&s.props?s.props:null,workspaceMeta:rP.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:n,isLeafWorkspace:r,windowName:o.windowName,showActionMenu:i},[t,a,s,o]);if(!e){let{registeredWorkspacesByName:e}=rP.getState(),o=e[t.workspaceName],r=o&&o.window?o.window:void 0,{registeredWindowsByName:a}=rP.getState(),l=r?a[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(a).some(e=>e.group===s?.groupName&&void 0!==e.icon);return(0,s$.jsxs)("div",{className:sM()(mh.workspaceOuterContainer,{[mh.narrowWorkspace]:"narrow"===c,[mh.widerWorkspace]:"wider"===c,[mh.extraWideWorkspace]:"extra-wide"===c,[mh.isActionMenuOpened]:u}),children:[(0,s$.jsx)("div",{className:mh.workspaceSpacer}),(0,s$.jsx)("div",{className:sM()(mh.workspaceMiddleContainer,{[mh.isRootWorkspace]:n,[mh.showActionMenu]:i}),children:(0,s$.jsx)("div",{className:sM()(mh.workspaceInnerContainer,{[mh.isRootWorkspace]:n}),children:(0,s$.jsx)(sU.InlineLoading,{className:mh.loader,description:`${tc("loading")} ...`})})})]})}return(0,s$.jsx)(me.A,{config:e,mountParcel:rG,...c},t.workspaceName)},mM=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:o}=e,[n,r]=(0,rV.useState)({}),{registeredWorkspacesByName:i}=rP.getState();return(0,rV.useEffect)(()=>{let e=!1;return Promise.all(o.map(async e=>{let{moduleName:t,component:o}=i[e.workspaceName];return[e.uuid,await sk(t,o)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[o]),(0,s$.jsx)(s$.Fragment,{children:o.map((r,i)=>(0,s$.jsx)(mR,{openedWorkspace:r,openedWindow:e,lifeCycle:n[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===o.length-1,showActionMenu:t},r.uuid))})};function mW(e){e&&(0,it.createRoot)(e).render((0,s$.jsx)(mL,{}))}function mL(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:o,registeredWindowsByName:n}=mm();if((0,rV.useEffect)(()=>oF("before-page-changed",t=>{let{newPage:n,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(n)return void r(ma().then(e=>!e));let a=o[e.groupName],l=a?.scopePattern;l&&function(e,t,o){try{let n=new RegExp(e),r=m$(t),i=m$(o);if(null===r.spaRelative||null===i.spaRelative)return!0;let s=n.exec(r.spaRelative),a=n.exec(i.spaRelative);if(s&&a||(s=n.exec(r.full),a=n.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(ma().then(e=>!e))}),[e,o]),!e)return null;let r=o[e.groupName],i=t.some(e=>e.maximized),{name:s}=r,a=Object.values(n).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,s$.jsxs)("div",{className:sM()("-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsAndMenuContainer___2u2mc",{"-esm-devtools__workspace-windows-and-menu-module__overlay___7RHYZ":r.overlay,"-esm-devtools__workspace-windows-and-menu-module__hasMaximizedWindow___gvJRd":i}),children:[(0,s$.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,s$.jsx)(mM,{openedWindow:e,showActionMenu:a},e.windowName))}),a&&(0,s$.jsx)(mT,{workspaceGroup:r,groupProps:e.props})]})}function mD(e,t,o){if(null==e)return o;let n=lF(e);if(!n)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),o;let r=[];for(let e of t){let t=lF(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=n;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",o=r.find(e=>e.canonical.startsWith(t));if(o)return o.original;if("ht"===i){i="fr-HT";continue}let n=i.lastIndexOf("-");if(-1===n)break;let s=(i=i.slice(0,n)).lastIndexOf("-");-1!==s&&i.length-s==2&&(i=i.slice(0,s))}return o}function mB(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mU(e){return!!e&&e.constructor===Object}var mF=o(3376);function mH(e){let[t,o,n]=e.split(".");return`${t}.${o}.${n}`}function mG(e,t){return mF(function(e){let t=e.indexOf("-");if(t>=0){let o=mH(e.slice(0,t)),n=e.slice(t+1);return`${o}-${n}`}return mH(e)}(t),e,{includePrerelease:!0})}async function mz(e,t={}){let o,{shouldRetry:n,getDelay:r,onError:i}=t;n=n??(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 mV(r(s)),await e()}catch(e){i?.(e,s),o=e}while(n(s++));throw o}async function mV(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mJ(e,t,o,n){}function mq(e){}function mK(e){return Promise.resolve([])}function mX(e){return Promise.resolve([])}function mY(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 mZ(e){return()=>{}}function mQ(){return!0}}}]);
|
|
32
|
+
To fix this, ensure that you define the "component" field inside the page definition.`,e);let n=function(e,{featureFlag:t}){return t?o=>!!nW(t)&&e(o):e}(function e(t){if(Array.isArray(t)){let o=t.map(e);return e=>o.some(t=>t(e))}return"string"==typeof t?(0,tl.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(o),t);(0,tl.AG)(e,()=>aC(t.appName,t.component),n)}(n,t)}}let aR={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 a$(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<aR.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>aR.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>aR.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<aR.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<aR.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<aR.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>aR.SMALL_DESKTOP_MAX)}let aM=!1;function aW(){aM||(window.addEventListener("resize",a$),a$(),aM=!0)}var aL=o(6870),aD=o(5530),aB=o.n(aD);function aU({title:e,children:t}){let o="tablet"===i9();return(0,aL.jsxs)("div",{className:aB()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":o,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!o}),children:[(0,aL.jsx)("h4",{children:e}),t]})}let aF=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],aH={primaryColor:{_type:G.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[e9.oneOf(aF)]},secondaryColor:{_type:G.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[e9.oneOf(aF)]}},aG={"Brand color #1":{_default:"#005d5d",_type:G.String},"Brand color #2":{_default:"#004144",_type:G.String},"Brand color #3":{_default:"#007d79",_type:G.String},excludePatientIdentifierCodeTypes:{uuids:{_type:G.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:G.UUID}}},implementationName:{_type:G.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},logo:{src:{_type:G.String,_default:"",_description:"The path or URL to the logo shown on the login page and while the server is starting up. If set to an empty string, the default OpenMRS logo is used.",_validators:[e9.isUrl]},alt:{_type:G.String,_default:"Logo",_description:"The alternative text for the logo image, displayed when the image cannot be loaded or on hover."}},patientPhotoConceptUuid:{_type:G.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:G.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e9.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:G.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:G.String}},diagnosisTags:aH};var az=o(8326);let aV={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},aJ=e=>(0,aL.jsx)(az.TableBatchActions,{translateWithId:(e,t)=>{let o=aV[e];return o?tp(o,e,t):e},...e}),aq="-esm-devtools__custom-overflow-menu-module__container___8PykS",aK="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",aX="-esm-devtools__custom-overflow-menu-module__show___BserJ",aY="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",aZ=(0,rX.createContext)(null);function aQ(){let e=(0,rX.useContext)(aZ);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function a0({menuTitle:e,children:t}){let[o,n]=rY().useState(!1),r=ai(()=>n(!1),o),i="tablet"===i9(),a=(0,rX.useCallback)(()=>n(e=>!e),[]),s=(0,rX.useRef)(null),l=(0,rX.useRef)(null),c=(0,rX.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rX.useCallback)(()=>{n(!1),s.current?.focus()},[]),p=(0,rX.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rX.useCallback)(e=>{"Escape"===e.key&&o&&(e.stopPropagation(),m())},[m,o]),g=rX.Children.toArray(t);(0,rX.useEffect)(()=>{if(o&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[o]);let h=(0,rX.useCallback)(({currentIndex:e,direction:t})=>{let o=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!o?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(o).indexOf(n);if(-1===r)return void o[t>0?0:o.length-1]?.focus();let i=r+t,a=i<0?o.length-1:i>=o.length?0:i;o[a]?.focus()},[]),w=g.map((e,t)=>(0,rX.isValidElement)(e)?(0,rX.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,aL.jsxs)("div",{"data-overflow-menu":!0,className:aB()("cds--overflow-menu",aq),ref:r,children:[(0,aL.jsx)("button",{className:aB()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":o},aY),"aria-controls":d,"aria-expanded":o,"aria-haspopup":"true",id:u,onClick:a,onKeyDown:f,ref:s,children:e}),(0,aL.jsxs)("div",{className:aB()("cds--overflow-menu-options","cds--overflow-menu--flip",aK,{[aX]:o}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,aL.jsx)("ul",{className:aB()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,aL.jsx)(aZ.Provider,{value:p,children:w})}),(0,aL.jsx)("span",{})]})]})}function a1(e){let t=(0,rX.useContext)(aZ);return(0,aL.jsx)(az.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var a2=o(2277),a6=o(4194);let a5=["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"],a8=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),a3=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-add",iconProps:e})})),a4=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),a7=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),a9=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),se=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),st=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),so=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),sn=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),sr=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),si=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),sa=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),ss=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),sl=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),sc=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),su=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),sd=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),sm=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),sp=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),sf=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),sg=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),sh=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),sw=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-close",iconProps:e})})),s_=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),sv=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),sy=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-document",iconProps:e})})),sb=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),sx=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-download",iconProps:e})})),sk=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),sS=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),sj=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),sN=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-events",iconProps:e})})),sC=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),sE=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),sI=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),sA=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),sP=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),sO=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-group",iconProps:e})})),sT=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),sR=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),s$=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),sM=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-information",iconProps:e})})),sW=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),sL=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),sD=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),sB=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),sU=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),sF=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-location",iconProps:e})})),sH=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),sG=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),sz=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),sV=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),sJ=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),sq=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),sK=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-money",iconProps:e})})),sX=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),sY=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),sZ=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),sQ=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),s0=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-password",iconProps:e})})),s1=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),s2=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),s6=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),s5=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),s8=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),s3=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),s4=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),s7=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-report",iconProps:e})})),s9=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),le=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-save",iconProps:e})})),lt=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-search",iconProps:e})})),lo=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),ln=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),lr=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),li=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),la=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),ls=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),ll=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),lc=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lu=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-time",iconProps:e})})),ld=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),lm=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),lp=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),lf=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),lg=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lh=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lw=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),l_=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lv=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-user",iconProps:e})})),ly=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lb=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lx=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(lI,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lk=lx,lS=sb,lj=sU,lN=s$,lC=li,lE=(0,rX.memo)((0,rX.forwardRef)(function({icon:e,fallback:t,...o},n){let r=(0,rX.useRef)(e?document.getElementById(e):void 0);return(0,rX.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=e?document.getElementById(e):void 0)});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,aL.jsx)(iE,{value:r.current,fallback:t,children:(0,aL.jsx)(lI,{ref:n,icon:e,iconProps:o})})})),lI=(0,rX.memo)((0,rX.forwardRef)(function({icon:e,iconProps:t},o){let{className:n,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let a=(0,rX.useRef)(null);return(0,rX.useImperativeHandle)(o,()=>a.current),(0,rX.useEffect)(()=>{a.current&&"currentColor"!==r&&a.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,aL.jsx)("svg",{ref:a,className:aB()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",n),height:i,width:i,viewBox:"0 0 16 16",children:(0,aL.jsx)("use",{href:`#${e}`})})})),lA=({path:e,title:t,basePath:o,icon:n})=>{let{t:r}=(0,il.useTranslation)(),i=(0,a2.zy)(),a=(0,rX.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let o=t.split("/").map(e=>decodeURIComponent(e)),n=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return n.some((e,t)=>o.every((e,o)=>n[t+o]===e))},[i.pathname,e]);return(0,aL.jsx)("div",{children:(0,aL.jsx)(rQ,{className:aB()("cds--side-nav__link",{"active-left-nav-link":a}),to:`${o}/${encodeURIComponent(e)}`,children:(0,aL.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,aL.jsx)(lE,{icon:n,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,aL.jsx)("span",{children:r(t)})]})})},e)};function lP(e){return function({basePath:t}){return(0,aL.jsx)(a6.Kd,{children:(0,aL.jsx)(lA,{basePath:t,...e})})}}var lO=o(7715),lT=o(7532),lR=o(3692),l$=o(7615),lM=o(700),lW=o(6816),lL=o(1168);function lD(e){return rY().createElement(lL.C,e)}var lB=o(3010),lU=o(6513),lF=o(6190);function lH(e,t,o=!1){if(null==e)return o?e:void 0;if("string"==typeof e&&!e)return o?null:void 0;if(e instanceof lB.ng||e instanceof lB._l||e instanceof lB.Ip)return t?(0,lU.yP)(e,t):e;{let o=aw()(e).toDate(),n=new lB.ng(o.getFullYear(),o.getMonth()+1,o.getDate());return t?(0,lU.yP)(n,t):n}}function lG(e){if(e)return e.toDate((0,lF.Xj)())}var lz=o(9002);function lV(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lJ(e){let t=e??"",o=lV(t);if(!o)return t;try{return new Intl.DisplayNames([o],{type:"language"}).of(o)??t}catch{return t}}function lq(){let e=window.i18next.language,t=lV(e)??e;return"ht"===t&&(t="fr-HT"),t}var lK=o(7883),lX=o(424),lY=o(1492),lZ=o(8271);function lQ(e,t){var o=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return o.get?o.get.call(e):o.value}ah.extend(a_),ah.extend(lY),ah.extend(lX);let l0="YYYY-MM-DDTHH:mm:ss.SSSZZ";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])&&ah(e,l0).isValid()}function l2(e){return ah(e).isToday()}function l6(e){return l1(e)?ah(e,l0).toDate():null}function l5(e,t=!1){let o=ah(e);return t&&(o=o.utc()),o.format(l0)}function l8(e){return ah(e).toDate()}var l3=new WeakMap;let l4=new class{register(e,t){lQ(this,l3).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lQ(this,l3).has(t))return lQ(this,l3).get(t)}if(e.language&&lQ(this,l3).has(e.language))return lQ(this,l3).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lQ(this,l3).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,o){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,o)}(this,l3,{writable:!0,value:new Map})}};function l7(e,t){l4.register(e,t)}function l9(e){let t=e??lq();return l4.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 o=lq(),n=(0,lK.CD)(e,o);if(n.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lZ.A)(n.day)&&(0,lZ.A)(n.month)&&(n=Object.assign({},(0,F.A)(n,"day"),{month:n.day})),n.month&&(n.month-=1),n.day&&(n=Object.assign({},(0,F.A)(n,"day"),{date:n.day}));let r=ah().set(n).toDate();return(0,lZ.A)(n.year)&&(t.year=!1),(0,lZ.A)(n.month)&&(t.month=!1),(0,lZ.A)(n.date)&&(t.day=!1),co(r,t)}function co(e,t){let o,n=t?.locale??lq(),r=new Intl.Locale(n),{calendar:i,mode:a,time:s,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=ah(e).isToday();if(f&&!d)o=(o=new Intl.RelativeTimeFormat(n,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(n)+o.slice(1);else{"en"===r.language&&(n="en-GB");let t=new Intl.DateTimeFormat(n,p).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==a&&u&&l&&(t=t.map(cn("-"))),"wide"==a&&(t=t.map(cn(" — "))),"ethiopic"===p.calendar&&(t=t.filter((e,t,o)=>"era"!==e.type&&("literal"!==e.type||!(t<o.length-1)||"era"!==o[t+1].type))),o=t.map(e=>e.value).join("")}return(!0===s||f&&"for today"===s)&&(o+=`, ${cr(e)}`),o}let cn=e=>(t,o,n)=>"literal"!==t.type||" "!==t.value||o<n.length-1&&"era"===n[o+1].type?t:{type:"literal",value:e};function cr(e){return e.toLocaleTimeString(lq(),{hour:"2-digit",minute:"2-digit"})}function ci(e,t){return co(e,{...t,time:!0})}function ca(e,t){let o=l9("string"==typeof t?new Intl.Locale(t):t);return o?(0,lU.yP)(e,(0,lz.d)(o)):e}function cs(e,t){return new Intl.DurationFormat(lq(),t).format(e)}function cl(e,t){if(null==e)return null;if("string"==typeof e){let o=lq(),n=(0,lK.CD)(e,o);return n.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(n.day&&!n.month&&(n={...(0,F.A)(n,"day"),...{month:n.day}}),n.month&&(n.month-=1),n.day&&(n={...(0,F.A)(n,"day"),...{date:n.day}}),ah(t).set(n))}return ah(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=ah(),o){let n,r=ah(t),i=cl(e,r);if(null==i)return null;if("string"==typeof o){let e=cu[o]??o;return{[e]:r.diff(i,e)}}let{thresholds:a,largestUnit:s,smallestUnit:l}=o??{};if(void 0!==s||void 0!==l){let e,t=l?cu[l]??l:void 0;return e="auto"===s||void 0===s?function(e,t,o){let n=cc.indexOf(o);for(let r=0;r<cc.length;r++){let i=cc[r];if(t.diff(e,i)>0)return r<=n?i:o}return o}(i,r,t??"seconds"):cu[s]??s,function(e,t,o,n){let r=cc.indexOf(o),i=cc.indexOf(n),a=cc.slice(r,i+1),s={},l=e;for(let e of a){let o=t.diff(l,e);s[e]=o,l=l.add(o,e)}return s}(i,r,e,t??e)}let c=(n=function(e){let t={...cd};if(e)for(let[o,n]of Object.entries(e))void 0!==n&&(t[cu[o]??o]=n);return t}(a),r.diff(i,"seconds")<n.seconds?"seconds":r.diff(i,"minutes")<n.minutes?"minutes":r.diff(i,"hours")<n.hours?"hours":r.diff(i,"days")<n.days?"days":r.diff(i,"months")<n.months?"months":"years");return{[c]:r.diff(i,c)}}let cp={style:"short",localeMatcher:"lookup"};function cf(e,t=ah(),o){let n=cm(e,t,o);return null==n?null:cs(n,"object"==typeof o&&o.formatOptions?{...cp,...o.formatOptions}:cp)}let cg=(0,rX.createContext)(null);function ch(){let e=iL({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rX.useMemo)(()=>{let t=lq();return e[t]&&(t=e[t]),t},[window.i18next.language]),o=(0,rX.useMemo)(()=>{let e=l9(t);return void 0!==e?(0,lz.d)(e):void 0},[t]),n=(0,rX.useMemo)(()=>new Intl.Locale(t,{calendar:o?.identifier}),[t,o]),r=(0,rX.useMemo)(()=>o?(0,lU.yP)((0,lF.Ec)((0,lF.Xj)()),o):(0,lF.Ec)((0,lF.Xj)()),[o]);return{calendar:o,intlLocale:n,today_:r}}let cw=new lB.ng(1793,1,1);var c_=o(5830),cv=o(6156),cy=o(4745),cb=o(1202);function cx(e,t){return Number.parseInt(co(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let ck=(0,rX.forwardRef)(function(e,t){let{className:o}=e,n=(0,rX.useContext)(c_.f2),r=(0,rX.useContext)(c_._I),i=n??r,a=(0,rX.useContext)(cg),s=(0,lF.Xj)(),l=co(i.visibleRange.start.toDate(s),{calendar:a.calendar,locale:a.baseName,day:!1,year:!1,noToday:!0}),c=cx(i.visibleRange.start.toDate(s),a),u=i.maxValue?cx(i.maxValue.toDate(s),a):void 0,d=i.minValue?cx(i.minValue.toDate(s),a):void 0,m=(0,rX.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,aL.jsxs)("span",{ref:t,className:o,children:[(0,aL.jsx)("span",{children:l}),(0,aL.jsxs)(cy.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,aL.jsx)(cb.p,{}),(0,aL.jsxs)(l$.Y,{children:[(0,aL.jsx)(lM.$,{slot:"increment",children:(0,aL.jsx)(ss,{size:8})}),(0,aL.jsx)(lM.$,{slot:"decrement",children:(0,aL.jsx)(sr,{size:8})})]})]})]})});var cS=o(9588);let cj="-esm-devtools__datepicker-module__inputGroup___+4zks",cN="-esm-devtools__datepicker-module__inputSegment___wiExn",cC="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",cE="-esm-devtools__datepicker-module__invalidText___SxtTL",cI="-esm-devtools__datepicker-module__flatButton___UU1Qp",cA="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",cP="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",cO="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function cT({children:e}){let t=(0,rX.useContext)(lT.Pg),o=(0,rX.useContext)(lT.a8),n=t??o,r=ai(()=>n?.close());return(0,aL.jsx)(cS.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cR=(0,rX.forwardRef)(function({variant:e,today_:t,minDate:o,maxDate:n},r){let i="range"===e,a=i?c_._e:c_.Vv;return(0,aL.jsx)(cv.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,aL.jsx)(cT,{children:(0,aL.jsxs)(a,{...i?{minValue:o,maxValue:n,className:"cds--date-picker__calendar"}:{},children:[(0,aL.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,aL.jsx)(lM.$,{className:aB()(cI,cA),slot:"previous",children:(0,aL.jsx)(sf,{size:16})}),(0,aL.jsx)(ck,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,aL.jsx)(lM.$,{className:aB()(cI,cA),slot:"next",children:(0,aL.jsx)(sg,{size:16})})]}),(0,aL.jsx)(c_.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,aL.jsx)(c_.Zr,{className:aB()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var c$=o(8017),cM=o(9774),cW=o(7956);let cL=(0,rX.forwardRef)(function(e,t){let o=(0,rX.useContext)(lT.Pg),[n,r]=(0,lO.JT)({slot:e.slot},t,cM.cQ),{locale:i}=(0,lL.Y)(),a=(0,cW.F)({...n,locale:i,createCalendar:lz.d}),s=(0,rX.useRef)(null),{fieldProps:l,inputProps:c}=(0,c$.cJ)({...n,inputRef:s},a,r),u=(0,rX.useCallback)(()=>{a.isDisabled||o.toggle()},[]);return(0,aL.jsxs)(lO.Kq,{values:[[cM.$,a],[cb.E,{...c,ref:s}],[l$.t,{...l,ref:r,isInvalid:a.isInvalid}]],children:[(0,aL.jsx)(l$.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:a.isDisabled,isInvalid:a.isInvalid,onClick:u,children:a.segments.map((t,o)=>(0,rX.cloneElement)(e.children(t),{key:o}))}),(0,aL.jsx)(cb.p,{})]})}),cD=(0,rX.forwardRef)(function(e,t){let o=(0,rX.useContext)(lT.Pg),n=(0,rX.useContext)(lT.a8);return(o??n).isInvalid?(0,aL.jsx)(lx,{ref:t,size:16,...e}):(0,aL.jsx)(sn,{ref:t,size:16,...e})});var cB=o(64),cU=o(5503),cF=o(1697),cH=o(7866),cG=o(8035),cz=o(2231);let cV=(0,rX.forwardRef)(function({segment:e,...t},o){let n=(0,rX.useContext)(cM.$),r=(0,cB.U)(o),{segmentProps:i}=(0,cU.V)(e,n,r),{focusProps:a,isFocused:s,isFocusVisible:l}=(0,cF.o)(),{hoverProps:c,isHovered:u}=(0,cH.M)({...t,isDisabled:n.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:o,children:n,defaultClassName:r,defaultChildren:i,defaultStyle:a,values:s}=e;return(0,rX.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...s,defaultClassName:r}):t,l="function"==typeof o?o({...s,defaultStyle:a||{}}):o,c="function"==typeof n?n({...s,defaultChildren:i}):null==n?i:n,{className:e??r,style:l||a?{...a,...l}:void 0,children:c??i,"data-rac":""}},[t,o,n,r,i,a,s])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:n.isInvalid,isDisabled:n.isDisabled,isHovered:u,isFocused:s,isFocusVisible:l},defaultChildren:e.text}),m=(0,rX.useCallback)(e=>{e.stopPropagation()},[]);return(0,aL.jsx)("span",{...(0,cG.v)((0,cz.$)(t),i,a,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":n.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":n.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":s||void 0,"data-focus-visible":l||void 0,onClick:m})}),cJ={short:!1,size:"md"},cq=(0,rX.forwardRef)(function(e,t){let{className:o,defaultValue:n,isDisabled:r,invalid:i,invalidText:a,isInvalid:s,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:p,onChangeRaw:f,short:g,size:h,value:w,..._}={...cJ,...e},{calendar:v,intlLocale:y,today_:b}=ch(),x=(0,rX.useId)(),k=!!(c??l),S=(0,rX.useMemo)(()=>lH(n,v),[n,v]),j=(0,rX.useMemo)(()=>lH(w,v,!0),[w,v]),N=(0,rX.useMemo)(()=>lH(d,v),[d,v]),C=(0,rX.useMemo)(()=>lH(m??cw,v),[m,v]),E=(0,rX.useMemo)(()=>i||s,[i,s]),I=(0,rX.useMemo)(()=>(f&&p&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),f??(e=>p?.(lG(e)))),[f,p]);return(0,aL.jsx)(lD,{locale:y.toString(),children:(0,aL.jsx)("div",{className:aB()("cds--form-item",o),children:(0,aL.jsx)(lO.Kq,{values:[[cg,y]],children:(0,aL.jsxs)(lT.lr,{className:aB()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:S,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:j,shouldForceLeadingZeros:"en"===y.language||void 0,..._,onChange:I,children:[(0,aL.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,aL.jsx)(lR.J,{className:aB()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,aL.jsxs)(l$.Y,{className:cj,children:[(0,aL.jsx)(cL,{id:k?x:void 0,ref:t,className:aB()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__inputWrapper___kykar",{"-esm-devtools__datepicker-module__inputWrapperSm___KJtg-":"sm"===h,"-esm-devtools__datepicker-module__inputWrapperMd___ablE9":"md"===h||!h||0===h.length,"-esm-devtools__datepicker-module__inputWrapperLg___5dkQp":"lg"===h}),children:e=>"era"!==e.type?(0,aL.jsx)(cV,{className:cN,segment:e}):(0,aL.jsx)(rY().Fragment,{})}),(0,aL.jsx)(lM.$,{className:aB()(cI,{[cP]:"sm"===h,[cA]:"md"===h||!h||0===h.length,[cO]:"lg"===h}),children:(0,aL.jsx)(cD,{})})]}),(0,aL.jsx)(lW.b,{className:cE,children:a})]}),(0,aL.jsx)(cR,{variant:"single",today_:b})]})})})})}),cK=(0,rX.forwardRef)(function({className:e,defaultValue:t,invalid:o,invalidText:n,isDisabled:r,isInvalid:i,label:a,labelText:s,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:p="md",value:f,...g},h){let{calendar:w,intlLocale:_,today_:v}=ch(),y=(0,rX.useId)(),b=!!(s??a),x=(0,rX.useMemo)(()=>{if(f)return{start:lH(f[0],w,!1),end:lH(f[1],w,!1)}},[f,w]),k=(0,rX.useMemo)(()=>{if(t)return{start:lH(t[0],w,!1),end:lH(t[1],w,!1)}},[t,w]),S=(0,rX.useMemo)(()=>lH(u??cw,w,!0),[u,w]),j=(0,rX.useMemo)(()=>lH(c,w,!0),[c,w]),N=(0,rX.useMemo)(()=>o||i,[o,i]),C=(0,rX.useMemo)(()=>(m&&d&&console.error("An OpenmrsDateRangePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),m??(e=>d?.([lG(e.start),lG(e.end)]))),[m,d]);return(0,aL.jsx)(lD,{locale:_.toString(),children:(0,aL.jsx)("div",{className:aB()("cds--form-item",e),children:(0,aL.jsx)(lO.Kq,{values:[[cg,_]],children:(0,aL.jsx)(lT.Ur,{id:b?y:void 0,className:aB()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,aL.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,aL.jsx)(lR.J,{className:aB()("cds--label",{"cds--label--disabled":r}),htmlFor:y,children:s??a}),(0,aL.jsxs)(l$.Y,{className:cj,children:[(0,aL.jsxs)("div",{className:aB()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===p,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===p||!p||0===p.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===p}),children:[(0,aL.jsx)(cM.J3,{className:aB()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",cC),slot:"start",children:e=>(0,aL.jsx)(cV,{className:cN,segment:e})}),(0,aL.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,aL.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,aL.jsx)(cM.J3,{className:aB()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",cC),slot:"end",children:e=>(0,aL.jsx)(cV,{className:cN,segment:e})})]}),(0,aL.jsx)(lM.$,{className:aB()(cI,{[cP]:"sm"===p,[cA]:"md"===p||!p||0===p.length,[cO]:"lg"===p}),children:(0,aL.jsx)(cD,{})})]}),(0,aL.jsx)(lW.b,{className:cE,children:n}),(0,aL.jsx)(cR,{variant:"range",today_:v,minDate:S,maxDate:j})]})})})})})}),cX=({diagnoses:e})=>{let{diagnosisTags:t}=iL({externalModuleName:"@openmrs/esm-styleguide"});return(0,aL.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:o,uuid:n,display:r}=e,i=t[1===o?"primaryColor":"secondaryColor"];return(0,aL.jsx)(az.Tag,{type:i,children:r},n)})})},cY={action:"-esm-devtools__empty-card-module__action___Y0dul",content:"-esm-devtools__empty-card-module__content___fo0nB",desktopHeading:"-esm-devtools__empty-card-module__desktopHeading___0Cg1N",tabletHeading:"-esm-devtools__empty-card-module__tabletHeading___BogTF",tile:"-esm-devtools__empty-card-module__tile___QB8Ld"},cZ=({width:e="64",height:t="64"})=>(0,aL.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,aL.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cQ=e=>{let t="tablet"===i9(),o=e.launchForm;return(0,aL.jsx)(az.Layer,{className:cY.layer,children:(0,aL.jsxs)(az.Tile,{className:cY.tile,children:[(0,aL.jsx)("div",{className:t?cY.tabletHeading:cY.desktopHeading,children:(0,aL.jsx)("h4",{children:e.headerTitle})}),(0,aL.jsx)(cZ,{}),(0,aL.jsx)("p",{className:cY.content,children:tp("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,aL.jsx)("p",{className:cY.action,children:o&&(0,aL.jsx)(az.Button,{onClick:()=>o(),kind:"ghost",size:t?"lg":"sm",children:tp("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},c0=({error:e,headerTitle:t})=>{let o="tablet"===i9();return(0,aL.jsx)(az.Layer,{children:(0,aL.jsxs)(az.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,aL.jsx)("div",{className:o?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,aL.jsx)("h4",{children:t})}),(0,aL.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tp("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,aL.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tp("errorCopy")})]})})},c1=c0,c2=rY().forwardRef((e,t)=>{let{slotName:o,basePath:n,componentContext:r,state:i}=ao(),a=window.location??{pathname:""},s=it(o??"");return e.isChildOfHeader&&o&&s.length>0?(0,aL.jsxs)(az.SideNav,{"aria-label":tp("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,aL.jsx)(ii,{name:"global-nav-menu-slot"}),o?(0,aL.jsx)(iE,{value:r,fallback:(0,aL.jsx)(ii,{name:o,state:{basePath:n,currentPath:a,...i}}),children:(0,aL.jsx)(rZ.Provider,{value:r,children:(0,aL.jsx)(ii,{name:o,state:{basePath:n,currentPath:a,...i}})})}):null]}):null}),c6=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:o,locationsPerRequest:n=50,onChange:r})=>{let[i,a]=(0,rX.useState)(""),s=(0,rX.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:o,error:n,isLoading:r}=(0,iU.A)(t,tA,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rX.useMemo)(()=>({location:o?.data?.entry?o.data.entry[0]:null,error:t?n:null,isLoading:!!t&&r}),[o,r,n,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:p,setPage:f}=function(e,t=0,o=""){let n=iB(o),{data:r,isLoading:i,isValidating:a,setSize:s,error:l}=(0,i1.Ay)(function(o,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tC}/Location?`,a=new URLSearchParams;return a.append("_summary","data"),t&&a.append("_count",""+t),o&&a.append("_getpagesoffset",""+o*t),e&&a.append("_tag",e),"string"==typeof n&&""!==n&&a.append("name:contains",n),i+a.toString()},tA);return(0,rX.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:a,error:l||null,setPage:s}),[i,r,a,s,l])}(o,n,i),g=(0,rX.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rX.useCallback)(e=>{r(),a(e.trim())},[r]),w=aa((0,rX.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),_=d?Math.max(0,Math.floor(g.length-n/2)):-1;return(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsx)(az.Search,{"aria-describedby":p?`${s}-error`:void 0,labelText:tp("searchForLocation"),id:s,placeholder:tp("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,aL.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${s}-error`,children:(0,aL.jsx)(az.InlineNotification,{kind:"error",subtitle:tp("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tp("error","Error")})}),(0,aL.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,aL.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,aL.jsx)(az.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,aL.jsx)(az.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,aL.jsx)(az.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,aL.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,aL.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,aL.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tp("noResultsToDisplay")})})}),m&&(0,aL.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,aL.jsx)(az.InlineLoading,{description:tp("loading")})})]})})]})},c5=T("modalState",{modalContainer:null,modalStack:[]}),c8=0;async function c3(e,t,o={}){let n=rC(t),r=null;if(e){if(!n)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=n,a=await i(),s=c8++;r=await rV({...a,name:`${t}-${s}`},{...o,domElement:e})}else v(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c4(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function c7(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c9(e){return e.find(e=>!c4(e))}function ue(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let ut=window.getComputedStyle(document.body).overflow;function uo({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",ur),document.body.style.overflow="hidden",t.style.visibility="unset");let o=c9(e);e.forEach(e=>{switch(e.state){case"NEW":{let o=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=o,e.state="MOUNTING",c3(o,e.modalName,e.props).then(n=>{c4(e)?c7(e.modalName,n):n?(e.parcel=n,t.prepend(o),ue(e,c9(c5.getState().modalStack)===e),n.mountPromise.then(()=>{c4(e)||(e.state="MOUNTED")},t=>{v(t),e.parcel=null,un(e)})):un(e)},t=>{v(t),un(e)});break}case"MOUNTING":case"MOUNTED":ue(e,e===o);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),c7(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=c5.getState();c5.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=ut,removeEventListener("keydown",ur)}function un(e){if(c4(e))return;e.state="TO_BE_DELETED";let t=c5.getState();c5.setState({...t,modalStack:[...t.modalStack]})}function ur(e){"Escape"===e.key&&function(){let[e]=c5.getState().modalStack;e&&un(e)}()}function ui(e){c5.subscribe(uo),c5.setState({...c5.getState(),modalContainer:e})}function ua(e,t={},o=()=>{}){let n=()=>{let e=c5.getState().modalStack.find(e=>e.onClose===o);e&&un(e)};if(rC(e)){var r;let i,a;r={state:"NEW",onClose:o,modalName:e,props:{close:n,...t}},a=[r,...(i=c5.getState()).modalStack],c5.setState({...i,modalStack:a})}else v(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return n}var us=o(9685);let ul=({notification:e})=>{let{description:t,action:o,kind:n,critical:r,title:i,onAction:a}=e;return(0,aL.jsx)(az.ActionableNotification,{actionButtonLabel:o,kind:n||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:a})},uc=({subject:e})=>{let[t,o]=(0,rX.useState)([]);return(0,rX.useEffect)(()=>{let t=e.subscribe(e=>o(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,aL.jsx)(aL.Fragment,{children:t.map(e=>(0,aL.jsx)(ul,{notification:e},e.id))})},uu=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:o=()=>{},subtitle:n,kind:r,title:i,critical:a,progressActionLabel:s,id:l,...c}=e,[u,d]=(0,rX.useState)(t);return(0,aL.jsx)(az.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tp("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{o(),s&&d(s)},statusIconDescription:tp("actionableNotification","Actionable notification"),subtitle:n,title:i,lowContrast:a,inline:!0,...c})},ud=({subject:e})=>{let[t,o]=(0,rX.useState)([]);return(0,rX.useEffect)(()=>{let t=e.subscribe(e=>o(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,aL.jsx)(aL.Fragment,{children:t.map(e=>(0,aL.jsx)(uu,{notification:e},e.id))})};class um{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,o){t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o}(this,"listeners",new Set)}}let up=new um,uf=0,ug=new um,uh=0;function uw(e){e&&(0,ia.createRoot)(e).render((0,aL.jsx)(uc,{subject:up}))}function u_(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,us.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{up.next({...e,id:uf++})},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,ia.createRoot)(e).render((0,aL.jsx)(ud,{subject:ug}))}function uy(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,us.A)(t))?setTimeout(()=>{ug.next({...e,id:uh++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let ub=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],ux=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uk={container:"-esm-devtools__numeric-observation-module__container___NfxbH",card:"-esm-devtools__numeric-observation-module__card___9oQAh","abnormal-value":"-esm-devtools__numeric-observation-module__abnormal-value___drvEi","critical-value":"-esm-devtools__numeric-observation-module__critical-value___JAIHt",cell:"-esm-devtools__numeric-observation-module__cell___lTunW","critically-high":"-esm-devtools__numeric-observation-module__critically-high___aDUjc","critically-low":"-esm-devtools__numeric-observation-module__critically-low___5srAK",high:"-esm-devtools__numeric-observation-module__high___7KiyK",low:"-esm-devtools__numeric-observation-module__low___Zs2ct","label-container":"-esm-devtools__numeric-observation-module__label-container___lGnGH","value-container":"-esm-devtools__numeric-observation-module__value-container___hHPXt",label:"-esm-devtools__numeric-observation-module__label___WFuxk",value:"-esm-devtools__numeric-observation-module__value___6fHUr",units:"-esm-devtools__numeric-observation-module__units___EdVuw","pad-right":"-esm-devtools__numeric-observation-module__pad-right___6T9Cd","off-scale-low":"-esm-devtools__numeric-observation-module__off-scale-low___Sc1CV","off-scale-high":"-esm-devtools__numeric-observation-module__off-scale-high___cWpU2",arrow:"-esm-devtools__numeric-observation-module__arrow___SLGUh"},uS=({value:e,unit:t,label:o,interpretation:n,referenceRange:r,conceptUuid:i,variant:a="card",patientUuid:s})=>{let l=(0,rX.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let o=null;e&&(o=t?`${tN}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tN}/conceptreferencerange/?concept=${e}&v=full`);let{data:n,error:r,isLoading:i}=(0,iU.A)(o,tA),a=n?.data?.results?.[0];return{referenceRange:a?{hiNormal:a.hiNormal??null,hiAbsolute:a.hiAbsolute??null,hiCritical:a.hiCritical??null,lowNormal:a.lowNormal??null,lowAbsolute:a.lowAbsolute??null,lowCritical:a.lowCritical??null}:void 0,error:r,isLoading:i}}(r||n?void 0:i,s),d=r??c,m=(0,rX.useMemo)(()=>{if(n)return n?"--"===n?"normal":ub.includes(n)?n.toLowerCase():ux.includes(n)?n:"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"},[n,d,e,u])??"normal",p="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,f="normal"!==m,g=o?`omrs-numeric-obs-label-${o.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,v=_?e:tp("notAvailable","Not available"),y=aB()({[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=aB()({[uk.container]:!0,[uk.card]:!0,[uk["critical-value"]]:p,[uk["abnormal-value"]]:f&&!p}),x=aB()({[uk.cell]:!0,[y]:!0});return"cell"===a?(0,aL.jsxs)("div",{className:x,children:[v,_&&t?` ${t}`:""]}):(0,aL.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[o&&(0,aL.jsxs)("div",{className:uk["label-container"],children:[(0,aL.jsx)("span",{id:g,className:uk.label,children:o}),f&&(0,aL.jsx)("span",{className:uk[m.replace("_","-")],title:tp("abnormalValue","Abnormal value")})]}),(0,aL.jsxs)("div",{className:uk["value-container"],children:[(0,aL.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:uk.value,children:v}),_&&t&&(0,aL.jsx)("span",{id:w,className:uk.units,children:t})]})]})},uj="-esm-devtools__page-header-module__pageHeader___YOpQL",uN=e=>{if("children"in e){let{children:t,className:o,...n}=e;return(0,aL.jsx)("div",{className:aB()(uj,o),...n,children:t})}{let{title:t,illustration:o,className:n,...r}=e;return(0,aL.jsx)("div",{className:aB()(uj,n),...r,children:(0,aL.jsx)(uC,{title:t,illustration:o})})}},uC=({title:e,illustration:t,className:o})=>{let[n,r]=(0,rX.useState)(null);return(0,rX.useEffect)(()=>{eM("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,aL.jsxs)("div",{className:aB()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",o),children:[t,(0,aL.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[n?.implementationName&&(0,aL.jsx)("p",{children:tp(n.implementationName)}),(0,aL.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},uE=({totalItems:e,pageSize:t,onPageNumberChange:o,pageNumber:n,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:a})=>{let{pageSizes:s,pageItemsCount:l}=ac(t,e,n,i),c="tablet"===i9(),u=tp("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,aL.jsx)(aL.Fragment,{children:e>0&&(0,aL.jsxs)("div",{className:aB()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,aL.jsxs)("div",{children:[u,r&&(0,aL.jsx)(rQ,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:a??tp("seeAll","See all")})]}),(0,aL.jsx)(az.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:n,pageSize:t,pageSizes:s,totalItems:e,onChange:o,pageRangeText:(e,t)=>tp("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uI(e){return uP(uT(e,"usual","official"))}function uA(e){return uI(e)}function uP(e){var t;let o;return e?e.text??(o=(t=e).given??[],(t.family?o.concat(t.family):o).join(" ")):""}function uO(e){return uP(e)}function uT(e,...t){for(let o of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,n;return t=e,n=o,t.use?t.use===n:"usual"===n});if(t)return t}}function uR(e,t=ah()){let o=ah(t),n=cl(e,o);if(null==n)return null;let r=o.diff(n,"hours"),i=o.diff(n,"days"),a=o.diff(n,"weeks"),s=o.diff(n,"months"),l=o.diff(n,"years"),c={};if(r<2)c.minutes=o.diff(n,"minutes");else if(i<2)c.hours=r;else if(a<4)c.days=i;else if(l<1){let e=o.subtract(a,"weeks").diff(n,"days");c.weeks=a,c.days=e}else if(l<2){let e=o.subtract(s,"months").diff(n,"days");c.months=s,c.days=e}else if(l<18){let e=o.subtract(l,"year").diff(n,"months");c.years=l,c.months=e}else c.years=l;return c}function u$(e,t=ah()){let o=uR(e,t);if(null==o)return null;let n={style:"short",localeMatcher:"lookup"};return"minutes"in o&&0===o.minutes&&(n.minutesDisplay="always"),cs(o,n)}let uM={container:"-esm-devtools__patient-banner-patient-info-module__container___Gjd-4",activePatientContainer:"-esm-devtools__patient-banner-patient-info-module__activePatientContainer___QLcpg",patientBanner:"-esm-devtools__patient-banner-patient-info-module__patientBanner___7nrgC",patientName:"-esm-devtools__patient-banner-patient-info-module__patientName___-bF9a",patientAvatar:"-esm-devtools__patient-banner-patient-info-module__patientAvatar___AkN3H",patientAvatarButton:"-esm-devtools__patient-banner-patient-info-module__patientAvatarButton___KDxA6",patientInfo:"-esm-devtools__patient-banner-patient-info-module__patientInfo___+WtDB",demographics:"-esm-devtools__patient-banner-patient-info-module__demographics___Vtf3v",row:"-esm-devtools__patient-banner-patient-info-module__row___NIOYI",flexRow:"-esm-devtools__patient-banner-patient-info-module__flexRow___VxdGB",tagsSlot:"-esm-devtools__patient-banner-patient-info-module__tagsSlot___lU6+4",identifiers:"-esm-devtools__patient-banner-patient-info-module__identifiers___tehd8",identifier:"-esm-devtools__patient-banner-patient-info-module__identifier___bSJIF",primaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__primaryIdentifier___yOV1B",secondaryIdentifier:"-esm-devtools__patient-banner-patient-info-module__secondaryIdentifier___WvJbh",value:"-esm-devtools__patient-banner-patient-info-module__value___sBM-q",tag:"-esm-devtools__patient-banner-patient-info-module__tag___BEvEV",gender:"-esm-devtools__patient-banner-patient-info-module__gender___4XkLq",separator:"-esm-devtools__patient-banner-patient-info-module__separator___iYBA3",tooltipPadding:"-esm-devtools__patient-banner-patient-info-module__tooltipPadding___EWVCK",tooltipSmallText:"-esm-devtools__patient-banner-patient-info-module__tooltipSmallText___yDmRU",actionsButtonText:"-esm-devtools__patient-banner-patient-info-module__actionsButtonText___mn139"};function uW({showIdentifierLabel:e,type:t,value:o}){return(0,aL.jsx)("span",{className:uM.primaryIdentifier,children:(0,aL.jsxs)(az.Tag,{className:uM.tag,type:"gray",children:[e&&t?.text&&(0,aL.jsxs)("span",{className:uM.label,children:[t.text,": "]}),(0,aL.jsx)("span",{className:uM.value,children:o})]})})}function uL({showIdentifierLabel:e,type:t,value:o}){return(0,aL.jsxs)(az.FormLabel,{className:uM.secondaryIdentifier,id:`patient-banner-identifier-${o}`,children:[e&&(0,aL.jsxs)("span",{className:uM.label,children:[t?.text,": "]}),(0,aL.jsx)("span",{className:uM.value,children:o})]})}function uD({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:o}=iL(),{primaryIdentifierCode:n}=am(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!o?.uuids.includes(t)})??[];return(0,aL.jsx)(aL.Fragment,{children:r?.length?r.map(({value:e,type:o},i)=>(0,aL.jsxs)(rY().Fragment,{children:[(0,aL.jsx)("span",{className:uM.identifier,children:o?.coding?.[0]?.code===n?(0,aL.jsx)(uW,{showIdentifierLabel:t,type:o,value:e}):(0,aL.jsx)(uL,{showIdentifierLabel:t,type:o,value:e})}),i<r.length-1&&(0,aL.jsx)("span",{className:uM.separator,children:"\xb7"})]},e)):""})}let uB={Female:sC,Male:sE,Other:sI,Unknown:sA},uU=({gender:e})=>{let t=uB[e];return t?(0,aL.jsx)(t,{fill:"#525252"}):null},uF={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uH({patient:e,renderedFrom:t}){var o;let n,r,i=uI(e),a=e?.gender&&(r=uF[n=(o=e.gender).toLowerCase()]??"Unknown",{displayText:tp(n,o),iconKey:r}),s=(0,rX.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,aL.jsxs)("div",{className:uM.patientInfo,children:[(0,aL.jsx)("div",{className:aB()(uM.row,uM.patientNameRow),children:(0,aL.jsxs)("div",{className:uM.flexRow,children:[(0,aL.jsx)("span",{className:uM.patientName,children:i}),a&&(0,aL.jsxs)("div",{className:uM.gender,children:[(0,aL.jsx)(uU,{gender:a.iconKey}),(0,aL.jsx)("span",{children:a.displayText})]}),(0,aL.jsx)(ii,{className:uM.tagsSlot,name:"patient-banner-tags-slot",state:s})]})}),(0,aL.jsxs)("div",{className:uM.demographics,children:[e.birthDate&&(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsx)("span",{children:u$(e.birthDate)}),(0,aL.jsx)("span",{className:uM.separator,children:"\xb7"}),(0,aL.jsx)("span",{children:ct(e.birthDate,{time:!1})}),(0,aL.jsx)("span",{className:uM.separator,children:"\xb7"})]}),(0,aL.jsx)(uD,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,aL.jsx)(ii,{className:uM.extensionSlot,name:"patient-banner-bottom-slot",state:s})]})]})}var uG=o(7683);function uz({patient:e,patientUuid:t,actionsSlotName:o,additionalActionsSlotState:n}){let[r,i]=(0,rX.useState)(!1),{extensions:a}=io(o),s="tablet"===i9(),l=ai(()=>i(!1),r),c=(0,rX.useRef)(null),u=(0,rX.useRef)(null),d=(0,rX.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rX.useCallback)(()=>i(e=>!e),[]),g=(0,rX.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rX.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,n=Array.from(t).indexOf(o);if(-1===n)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=n+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rX.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,rX.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...n}),[t,e,g,n]);return 0===a.length?null:(0,aL.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,aL.jsxs)("div",{"data-overflow-menu":!0,className:aB()("cds--overflow-menu",aq),ref:l,children:[(0,aL.jsxs)("button",{className:aB()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},aY),"aria-controls":p,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:f,onKeyDown:h,ref:c,children:[(0,aL.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tp("actions","Actions")})," ",(0,aL.jsx)(uG.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,aL.jsxs)("div",{className:aB()("cds--overflow-menu-options","cds--overflow-menu--flip",aK,{[aX]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,aL.jsx)("ul",{className:aB()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":s}),children:(0,aL.jsx)(ii,{name:o,state:w},o)}),(0,aL.jsx)("span",{})]})]})})}var uV=o(397),uJ=o.n(uV);function uq(e){let{patientPhotoConceptUuid:t}=iL({externalModuleName:"@openmrs/esm-styleguide"}),o=t?`${tN}/obs?patient=${e}&concept=${t}&v=full`:null,{data:n,error:r,isLoading:i}=(0,ic.u)(e?o:null,tA),a=n?.data?.results[0];return{data:a?{dateTime:a?.obsDatetime,imageSrc:a?.value?.links?.uri}:null,error:r,isLoading:i}}let uK=({width:e=56,height:t=56,"aria-label":o})=>{let{t:n}=(0,il.useTranslation)();return(0,aL.jsxs)("svg",{"aria-label":o??n("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,aL.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,aL.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"})]})},uX="-esm-devtools__patient-photo-module__avatar___t5TmZ";function uY({patientUuid:e,patientName:t,alt:o}){let{data:n,isLoading:r}=uq(e),[i,a]=(0,rX.useState)(null),[s,l]=(0,rX.useState)(!1),c=(0,rX.useMemo)(()=>uJ().generate(e),[e]);(0,rX.useEffect)(()=>{if(n?.imageSrc){let e=new URL(n.imageSrc,window.location.origin).pathname;l(!0);let t=!1,o=new Image;return o.onload=()=>{t||(a(e),l(!1))},o.onerror=()=>{t||(a(null),l(!1))},o.src=e,()=>{t=!0}}a(null),l(!1)},[n?.imageSrc]);let u=(0,rX.useMemo)(()=>o||(i?tp("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tp("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[o,i,t]);return r||s?(0,aL.jsx)(az.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):n?.imageSrc&&!i?(0,aL.jsx)(uK,{"aria-label":tp("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,aL.jsx)("div",{"aria-label":u,children:(0,aL.jsx)("img",{className:uX,src:i,alt:u,title:t})}):(0,aL.jsx)("div",{"aria-label":u,children:(0,aL.jsx)("div",{className:uX,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,aL.jsx)("span",{className:"-esm-devtools__patient-photo-module__initials___-k9Hv",children:function(e,t=3){return e.split(/\s+/).filter(Boolean).slice(0,t).map(e=>e[0]).join("")}(t)})})})}let uZ=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],uQ=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),u0=uQ,u1=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),u2=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),u6=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),u5=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),u8=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),u3=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),u4=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),u7=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u9=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),de=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),dt=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),dn=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),dr=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),di=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),da=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),ds=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),dl=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),dc=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),du=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),dd=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dm=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dp=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),df=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),dg=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),dh=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dw=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),d_=(0,rX.memo)((0,rX.forwardRef)(function(e,t){return(0,aL.jsx)(dx,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),dv=u9,dy=dc,db=(0,rX.memo)((0,rX.forwardRef)(function({pictogram:e,fallback:t,...o},n){let r=(0,rX.useRef)(document.getElementById(e));return(0,rX.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=document.getElementById(e))});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,aL.jsx)(iE,{value:r.current,fallback:t,children:(0,aL.jsx)(dx,{ref:n,pictogram:e,pictogramProps:o})})})),dx=(0,rX.memo)((0,rX.forwardRef)(function({pictogram:e,pictogramProps:t},o){let{className:n,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,aL.jsx)("svg",{ref:o,className:aB()("-esm-devtools__pictograms-module__pictogram___wXX7t",n),height:r,width:r,children:(0,aL.jsx)("use",{href:`#${e}`})})})),dk=({children:e})=>"tablet"===i9()?(0,aL.jsx)(az.Layer,{children:e}):(0,aL.jsx)(aL.Fragment,{children:e}),dS=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:o="",kind:n="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==n,progressActionLabel:a,subtitle:s="",timeoutInMs:l=5e3,autoClose:c="error"!==n,title:u,id:d,...m}=e,[p,f]=(0,rX.useState)(o),[g,h]=(0,rX.useState)(!0),[w,_]=(0,rX.useState)(!1),v=(0,rX.useCallback)(()=>{setTimeout(t,250)},[t]),y=(0,rX.useCallback)(()=>{_(!0),v()},[v]);return(0,rX.useEffect)(()=>{if(c){let e=setTimeout(y,l);return()=>clearTimeout(e)}},[l,c,y]),(0,rX.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,aL.jsx)(az.ActionableNotification,{actionButtonLabel:p,"aria-label":tp("closeSnackbar","Close snackbar"),className:aB()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":w}),kind:n,lowContrast:i,onActionButtonClick:()=>{r(),y(),a&&f(a)},onClose:v,statusIconDescription:tp("snackbarNotification","Snackbar notification"),subtitle:s,title:u,...m})},dj=({subject:e})=>{let[t,o]=(0,rX.useState)([]),n=(0,rX.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rX.useEffect)(()=>{let t=e.subscribe(e=>o(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,aL.jsx)(aL.Fragment,{children:t.map(e=>(0,aL.jsx)(dS,{snackbar:e,closeSnackbar:()=>n(e)},e.id))})},dN=new um,dC=0;function dE(e){e&&(0,ia.createRoot)(e).render((0,aL.jsx)(dj,{subject:dN}))}function dI(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dN.next({...e,id:dC++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dA=({toast:e,closeToast:t})=>{let{description:o,kind:n,critical:r,title:i,actionButtonLabel:a,onActionButtonClick:s=()=>{}}=e,l=(0,rX.useCallback)(()=>{s(),t()},[t,s]);return(0,aL.jsx)("div",{children:(0,aL.jsx)(az.ActionableNotification,{actionButtonLabel:a,kind:n||"info",lowContrast:r,subtitle:o,title:i||"",onActionButtonClick:l,onClose:t})})},dP=({subject:e})=>{let[t,o]=(0,rX.useState)([]),n=(0,rX.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rX.useEffect)(()=>{let t=e.subscribe(e=>o(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,aL.jsx)(aL.Fragment,{children:t.map(e=>(0,aL.jsx)(dA,{toast:e,closeToast:()=>n(e)},e.id))})},dO=new um,dT=0;function dR(e){e&&(0,ia.createRoot)(e).render((0,aL.jsx)(dP,{subject:dO}))}function d$(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,us.A)(t))?setTimeout(()=>{dO.next({...e,id:dT++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function dM(e,t=!1){if(t)return!0;let o=dU[e];return!o||!o()}function dW(e,t){let o=dK.getState()?.workspaceGroup,n=o?.name;n&&e===n&&dQ(()=>{let n=d5(e);n&&(n.setState({},!0),n.subscribe(()=>{})()),"function"==typeof o?.cleanup&&o.cleanup(),dK.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},n?e=>e.currentWorkspaceGroup===n:()=>!0)}function dL(e,t){let{name:o,additionalProps:n}=t;rT(o);let r=()=>{dV(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>dD(o,n),closeWorkspaceGroup:!1})};dM(e.name)?r():d1("closing-workspace-launching-new-workspace",r,e.title??e.name)}function dD(e,t){let o=rT(e),n=dK.getState().workspaceGroup;if(n&&!n.members?.includes(e))return void dW(n.name,()=>{dD(e,t)});let r=dK.getState().workspaceGroup?.name,i={...o,title:d2(o,t),closeWorkspace:(t={})=>dV(e,t),closeWorkspaceWithSavedChanges:t=>dV(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var o,n;return o=e,n=t,void(dU[o]=n)},setTitle:(t,o)=>{i.title=t,i.titleNode=o,dK.setState(t=>{let o=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:o}})},currentWorkspaceGroup:r,additionalProps:t??{}};function a(e,t){dK.setState(o=>{let n=[e,...t??o.openWorkspaces],r=dZ(e);return{...o,openWorkspaces:n,workspaceWindowState:r}})}r&&d5(r,t);let s=dK.getState().openWorkspaces,l=s.findIndex(t=>t.name===e),c=s.find(e=>e.type==i.type);if(0===s.length)a(i);else if(s[0].canHide||0===l)if(l>=0){let t=s[l];a({...t,additionalProps:i.additionalProps,...t.title===d2(t,t.additionalProps)&&{title:d2(i,i.additionalProps)}},s.filter(t=>t.name!=e))}else c?(a(c,dK.getState().openWorkspaces.filter(e=>e.type!=i.type)),dL(c,{name:e,additionalProps:t})):a(i);else dL(s[0],{name:e,additionalProps:t})}function dB({targetUrl:e,contextKey:t,workspaceName:o,additionalProps:n}){dJ(t),dD(o,n),th({to:e})}let dU={};function dF(e,t){dU[e]=t}function dH(e){return dU[e]}function dG(){let e=dK.getState();dK.setState({...e,prompt:null})}let dz={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function dV(e,t={}){t={...dz,...t};let o=()=>{let o=dK.getState();o.openWorkspaces.find(t=>t.name===e);let n=o.openWorkspaces.filter(t=>t.name!=e),r=dK.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&dW(r),dU[e]=()=>!1,dK.setState(e=>({...e,prompt:null,openWorkspaces:n,workspaceWindowState:dZ(n?.[0])})),t?.onWorkspaceClose?.()};return dM(e,t?.ignoreChanges)?(o(),!0):(d1("closing-workspace",o,rT(e).title??e),!1)}function dJ(e){dK.getState().context!=e&&dK.setState({context:e,openWorkspaces:[],prompt:null})}let dq={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},dK=T("workspace",dq);function dX(){return dK}function dY(e){let t=dK.getState();dK.setState({...t,workspaceWindowState:e})}function dZ(e){return e?.preferredWindowSize??"normal"}function dQ(e=()=>{},t=()=>!0){let o=dK.getState().openWorkspaces.filter(t).every(({name:e})=>dM(e)),n=()=>{d6(),e?.()};o?n():d1("closing-all-workspaces",n)}function d0(){let{workspaceWindowState:e,openWorkspaces:t,prompt:o,workspaceGroup:n}=r5(dK);return(0,rX.useMemo)(()=>({active:t.length>0,prompt:o,workspaceWindowState:e,workspaces:t,workspaceGroup:n}),[t,e,o,n])}function d1(e,t=()=>{},o=""){let n;switch(e){case"closing-workspace":n={title:tp("unsavedChangesTitleText","Unsaved changes"),body:tp("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tp("discard","Discard")};break;case"closing-all-workspaces":{let e=dK.getState().openWorkspaces.filter(({name:e})=>!dM(e)).map(({title:e},t)=>`${t+1}. ${e}`);n={title:tp("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tp("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tp("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":n={title:tp("unsavedChangesTitleText","Unsaved changes"),body:tp("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:o}),onConfirm:()=>{dK.setState(e=>({...e,prompt:null})),t?.()},confirmText:tp("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}dK.setState(e=>({...e,prompt:n}))}function d2(e,t){return t?.workspaceTitle??e.title}function d6(){dK.setState(dq)}function d5(e,t={}){if(!e||"default"===e)return;let o=$(e,{});return t&&o.setState(e=>({...e,...t})),o}let d8="-esm-devtools__action-menu-button-module__container___f7spB",d3="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",d4="-esm-devtools__action-menu-button-module__active___+mcQh";function d7({getIcon:e,formOpenInTheBackground:t,tagContent:o}){return(0,aL.jsxs)(aL.Fragment,{children:[e({size:16}),t?(0,aL.jsx)("span",{className:"-esm-devtools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,aL.jsx)("span",{className:"-esm-devtools__action-menu-button-module__countTag___vo9ZX",children:o})]})}let d9=({getIcon:e,label:t,iconDescription:o,handler:n,type:r,tagContent:i})=>{let a=i9(),{workspaces:s,workspaceWindowState:l}=d0(),c=s?.findIndex(({type:e})=>e===r)??-1,u="hidden"!==l&&0===c,d=c>0||0===c&&"hidden"===l;return"tablet"===a||"phone"===a?(0,aL.jsxs)(az.Button,{className:aB()(d8,{[d4]:u}),iconDescription:o,kind:"ghost",onClick:n,role:"button",tabIndex:0,size:"md",children:[(0,aL.jsx)("span",{className:d3,children:(0,aL.jsx)(d7,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,aL.jsx)("span",{children:t})]}):(0,aL.jsx)(az.IconButton,{align:"left","aria-label":o,className:aB()(d8,{[d4]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:n,size:"md",children:(0,aL.jsx)("div",{className:d3,children:(0,aL.jsx)(d7,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var me=o(3173),mt=o(185),mo=o(4564);function mn({contextKey:e}){let{prompt:t}=d0();return(0,rX.useEffect)(()=>{RegExp(`/${(0,mo.A)(e)}(/|$)`).test(window.location.pathname)||console.warn(`WorkspaceContainer has provided an invalid context key: "${e}". The context key must be part of the URL path, with no initial or trailing slash.`)},[]),(0,rX.useEffect)(()=>(dJ(e),()=>{dJ(null)}),[e]),(0,rX.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:o,newUrl:n}}=t,r=RegExp(`/${(0,mo.A)(e)}(/|$)`),i=new URL(n),a=r.test(i.pathname),s=dK.getState().openWorkspaces.every(({name:e})=>dM(e));a||(s?d6():(o?.(),dQ(()=>{th({to:n})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,aL.jsxs)(az.ComposedModal,{open:!0,onClose:dG,children:[(0,aL.jsx)(az.ModalHeader,{title:t.title}),(0,aL.jsx)(az.ModalBody,{children:(0,aL.jsx)("p",{className:"-esm-devtools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,aL.jsxs)(az.ModalFooter,{children:[(0,aL.jsx)(az.Button,{kind:"secondary",onClick:dG,children:t.cancelText??tp("cancel")}),(0,aL.jsx)(az.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tp("confirm")})]})]}):null}var mr=o(1820);function mi({workspace:e,additionalPropsFromPage:t}){let[o,n]=(0,rX.useState)(),r=function(e){let[t,o]=(0,rX.useState)({}),[n,r]=(0,rX.useState)(e);return(0,rX.useEffect)(()=>{n!==e&&r(e)},[e]),(0,rX.useEffect)(()=>{let e,t=d5(n);return t&&(o(t.getState()),e=t.subscribe(o)),()=>{t&&e?.()}},[n]),t}(e.currentWorkspaceGroup);(0,rX.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&n(e)}),()=>{t=!1}},[e]);let i=(0,rX.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return o?(0,aL.jsx)(mr.A,{config:o,mountParcel:rq,...i},e.name):(0,aL.jsx)(az.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tp("loading","Loading")} ...`})}function ma({isWithinWorkspace:e,name:t,actionMenuProps:o={}}){let[n,r]=(0,rX.useState)(!1),i=(0,rX.useRef)(window.innerHeight),{featureName:a}=(0,rX.useContext)(rZ),s=i9();(0,rX.useEffect)(()=>{let e=()=>{r(!ae(s)&&i.current>window.innerHeight),i.current!=window.innerHeight&&(i.current=window.innerHeight)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[i]);let l=`action-menu-${t&&"default"!=t?t:a}-items-slot`;return(0,aL.jsx)("aside",{className:aB()("-esm-devtools__action-menu-module__sideRail___GJUJ7",{"-esm-devtools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-devtools__action-menu-module__sideRailHidden___bQ0UM":n,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!n}),children:(0,aL.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,aL.jsx)(ii,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:o})})})}function ms({contextKey:e,overlay:t,showSiderailAndBottomNav:o,additionalWorkspaceProps:n,actionMenuProps:r}){let i=i9(),{workspaces:a,workspaceWindowState:s,workspaceGroup:l}=d0(),c=l?.name,u=a[0],d="hidden"===s||null==u,m=u?.width??(t?"wider":"narrow"),p=(0,rX.useMemo)(()=>o||c&&!d,[c,d,o]);return i$(!d&&!ae(i)),(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsxs)("div",{className:o?"-esm-devtools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-devtools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,aL.jsx)("aside",{className:aB()(t?"-esm-devtools__workspace-module__workspaceOverlayOuterContainer___7nS96":"-esm-devtools__workspace-module__workspaceWindowSpacer___l+rgk",{"-esm-devtools__workspace-module__hiddenRelative___AJHmQ":d,"-esm-devtools__workspace-module__narrowWorkspace___Vb16L":"narrow"===m,"-esm-devtools__workspace-module__widerWorkspace___Bn7v8":"wider"===m,"-esm-devtools__workspace-module__extraWideWorkspace___vN8kI":"extra-wide"===m}),children:(0,aL.jsx)("div",{className:aB()("-esm-devtools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-devtools__workspace-module__maximizedWindow___Sew5F":"maximized"===s,"-esm-devtools__workspace-module__hiddenFixed___BxutH":d}),children:a.map((e,t)=>(0,aL.jsx)("div",{className:aB()("-esm-devtools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-devtools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,aL.jsx)(rX.Suspense,{fallback:null,children:(0,aL.jsx)(il.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,aL.jsx)(ml,{workspaceInstance:e,additionalWorkspaceProps:n})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,aL.jsx)(mn,{contextKey:e})]}),p&&(0,aL.jsx)(ma,{name:c,isWithinWorkspace:!o,actionMenuProps:r})]})}function ml({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:o}=(0,il.useTranslation)(),n=i9(),{workspaceWindowState:r,workspaceGroup:i}=d0(),a=i?.name,s="maximized"===r;(0,rX.useEffect)(()=>{let t=o(e.title);t!==e.title&&e.setTitle(t)},[e.title,o,e.setTitle]);let{featureName:l}=(0,rX.useContext)(rZ),c=(0,rX.useCallback)(()=>{dY(s?"normal":"maximized")},[s]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:p}=(0,rX.useMemo)(()=>e??{},[e]),f=(0,rX.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsxs)(az.Header,{"aria-label":tp("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!ae(n)&&!u&&(0,aL.jsx)(az.HeaderMenuButton,{"aria-label":tp("close","Close"),renderMenuIcon:(0,aL.jsx)(a7,{}),onClick:()=>p()}),(0,aL.jsx)(az.HeaderName,{prefix:"",children:e.titleNode??o(e.title)}),(0,aL.jsx)("div",{className:"-esm-devtools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,aL.jsxs)(az.HeaderGlobalBar,{className:"-esm-devtools__workspace-module__headerButtons___ppNsY",children:[(0,aL.jsx)(ii,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:f}),(0,aL.jsx)(ii,{name:`workspace-header-type-${e.type}-slot`,state:f}),(0,aL.jsx)(ii,{name:`workspace-header-${l}-slot`,state:f}),ae(n)&&(0,aL.jsxs)(aL.Fragment,{children:[(d||s)&&(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":s?tp("minimize","Minimize"):tp("maximize","Maximize"),onClick:c,children:s?(0,aL.jsx)(me.Xj,{}):(0,aL.jsx)(me.hz,{})}),u&&!a?(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":tp("hide","Hide"),onClick:()=>dY("hidden"),children:(0,aL.jsx)(a9,{})}):(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":tp("close","Close"),onClick:()=>p?.(),children:(0,aL.jsx)(sw,{})})]}),"tablet"===n&&u&&(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":tp("close","Close"),onClick:()=>p?.(),children:(0,aL.jsx)(mt.d3,{})})]})]}),(0,aL.jsx)("div",{className:aB()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,aL.jsx)(mi,{workspace:e,additionalPropsFromPage:t},e.name)})]})}var mc=o(4656);async function mu(e,t){let{openedGroup:o}=r$.getState();if(o){if(o.groupName===e&&mp(o.props,t))return!0;else if(!await mf({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return r$.setState(o=>({...o,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function md(e){let{openedGroup:t,openedWindows:o}=r$.getState();if(t){if(o.length>0&&!(e||await mf({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;r$.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function mm(e,t=null,o=null,n=null){let r=r$.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rM(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:a}=r,{name:s}=i,l=rW(s);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rL(e);if(a&&(a.groupName!==l.name||!mp(a.props,n)))return!!await mf({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:n},openedWindows:[{windowName:s,openedWorkspaces:[mv(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let n=r.openedWindows[c],i=r.openedGroup?.props??{},a=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=n;if(mp(n.props,o)){let d=u.find(t=>t.workspaceName===e);return d&&mp(d.props,t)?((a||c!==r.openedWindows.length-1)&&r$.setState(mg.restoreWindow(r,s)),!0):!!await mf({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:s,workspaceName:e})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[mv(e,t)],props:n?.props??o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await mf({reason:"CLOSE_WINDOW",explicit:!1,windowName:s})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[mv(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(r$.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:s,openedWorkspaces:[mv(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await mf({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(r$.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[{windowName:s,openedWorkspaces:[mv(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function mp(e,t){return null==e||null==t||x(e,t)}function mf(e){function t(e,t){let o=[];for(let n=e.openedWorkspaces.length-1;n>=0;n--){let r=e.openedWorkspaces[n];if(r.hasUnsavedChanges&&o.push(r),t&&r.workspaceName===t)break}return o}let{openedWindows:o,workspaceTitleByWorkspaceName:n}=r$.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=o.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n);break}case"CLOSE_WORKSPACE":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=o.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=ua("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>n[e.workspaceName])})})}let mg={setWindowMaximized(e,t,o){let n=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[n],maximized:o};return r[n]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let o=e.openedWindows.findIndex(e=>e.windowName===t),n=e.openedWindows[o],r=[...e.openedWindows.filter((e,t)=>t!==o),n];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let o=rL(t);if(o<0)return e;let n={...e.openedWindows[o]},r=n.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];n.openedWorkspaces=n.openedWorkspaces.slice(0,r);let a=e.isMostRecentlyOpenedWindowHidden;if(0===n.openedWorkspaces.length){let t=o===e.openedWindows.length-1;i.splice(o,1),t&&i.length>0&&(a=!1)}else i[o]=n;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:a}},openChildWorkspace(e,t,o,n){let r=e.registeredWorkspacesByName[o];if(!r)throw Error(`No workspace named "${o}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${o} does not belong to the same workspace window as parent workspace ${t}`);let a=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==a)throw Error(`Cannot open child workspace ${o} as window ${r.window} is not opened`);let{openedWorkspaces:s}=e.openedWindows[a],l=s.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${o} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=s.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==a?{...e,openedWorkspaces:[...c,mv(o,n)]}:e)}},setHasUnsavedChanges(e,t,o){let n=rL(t);if(n<0)return e;let r={...e.openedWindows[n]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:o};let a=[...e.openedWindows];return a[n]=r,{...e,openedWindows:a}},setWorkspaceTitle(e,t,o){let n={...e.workspaceTitleByWorkspaceName};return null===o?delete n[t]:n[t]=o,{...e,workspaceTitleByWorkspaceName:n}}};function mh(){return r8(r$,mg)}let mw=()=>(0,rX.useContext)(is.i),m_=()=>Object.keys(r$.getState().registeredWorkspacesByName);function mv(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,mc.A)()}}let my={workspaceOuterContainer:"-esm-devtools__workspace2-module__workspaceOuterContainer___bPVpy",narrowWorkspace:"-esm-devtools__workspace2-module__narrowWorkspace___kSYS7",widerWorkspace:"-esm-devtools__workspace2-module__widerWorkspace___nW2HB",extraWideWorkspace:"-esm-devtools__workspace2-module__extraWideWorkspace___em5yA",workspaceMiddleContainer:"-esm-devtools__workspace2-module__workspaceMiddleContainer___Bx1i6",maximized:"-esm-devtools__workspace2-module__maximized___Kfygr",hidden:"-esm-devtools__workspace2-module__hidden___RPimX",workspaceInnerContainer:"-esm-devtools__workspace2-module__workspaceInnerContainer___5zxpt",workspaceSpacer:"-esm-devtools__workspace2-module__workspaceSpacer___E+982",loader:"-esm-devtools__workspace2-module__loader___vmBQn",hiddenExtraWorkspace:"-esm-devtools__workspace2-module__hiddenExtraWorkspace___qkbMG",header:"-esm-devtools__workspace2-module__header___IZ-2+",headerButtons:"-esm-devtools__workspace2-module__headerButtons___81a2N",workspaceContent:"-esm-devtools__workspace2-module__workspaceContent___eetPy",overlayHeaderSpacer:"-esm-devtools__workspace2-module__overlayHeaderSpacer___ruc6r",isActionMenuOpened:"-esm-devtools__workspace2-module__isActionMenuOpened___XgCkc",showActionMenu:"-esm-devtools__workspace2-module__showActionMenu___sHRt1",marginWorkspaceContent:"-esm-devtools__workspace2-module__marginWorkspaceContent___TN+S+",workspaceContainerWithActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithActionMenu___xLg8e",workspaceFixedContainer:"-esm-devtools__workspace2-module__workspaceFixedContainer___W9cgZ",workspaceContainerWithoutActionMenu:"-esm-devtools__workspace2-module__workspaceContainerWithoutActionMenu___fRrxd"},mb=({title:e,children:t,hasUnsavedChanges:o=!1})=>{let n=i9(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:a,openedWindows:s,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:p,isMostRecentlyOpenedWindowHidden:f}=mh(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:w,showActionMenu:_}=mw(),v=rL(g),y=s[v],b=y?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,rX.useEffect)(()=>{b?.hasUnsavedChanges!=o&&a(g,o??!1)},[b?.hasUnsavedChanges,o,g,a]),(0,rX.useEffect)(()=>{m[g]!==e&&p(g,e)},[m,g,e,p]),v<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:I}=y,A=S?.width??"narrow",P=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),O=v<s.length-1||f;return(0,aL.jsxs)("div",{className:aB()(my.workspaceOuterContainer,{[my.narrowWorkspace]:"narrow"===A,[my.widerWorkspace]:"wider"===A,[my.extraWideWorkspace]:"extra-wide"===A,[my.isActionMenuOpened]:P}),children:[(0,aL.jsx)("div",{className:aB()(my.workspaceSpacer,{[my.hidden]:O})}),(0,aL.jsx)("div",{className:aB()(my.workspaceMiddleContainer,{[my.maximized]:I,[my.hidden]:O,[my.isRootWorkspace]:h,[my.showActionMenu]:_}),children:(0,aL.jsxs)("div",{className:aB()(my.workspaceInnerContainer,{[my.maximized]:I,[my.hidden]:O,[my.isRootWorkspace]:h}),children:[(0,aL.jsxs)(az.Header,{"aria-label":tp("workspaceHeader"),className:my.header,children:[(0,aL.jsx)(az.HeaderName,{prefix:"",children:e}),(0,aL.jsx)("div",{className:my.overlayHeaderSpacer}),(0,aL.jsx)(az.HeaderGlobalBar,{className:my.headerButtons,children:ae(n)?(0,aL.jsxs)(aL.Fragment,{children:[(N||I)&&(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":I?tp("minimize"):tp("maximize"),onClick:()=>r(k,!I),children:I?(0,aL.jsx)(me.Xj,{}):(0,aL.jsx)(me.hz,{})}),E&&(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":tp("hide"),onClick:()=>i(),children:(0,aL.jsx)(a9,{})}),!C&&(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":tp("close"),onClick:()=>w({closeWindow:!0}),children:(0,aL.jsx)(sw,{})})]}):(0,aL.jsxs)(aL.Fragment,{children:[E&&(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":tp("hide"),onClick:()=>i(),children:(0,aL.jsx)(mt.d3,{})}),(0,aL.jsx)(az.HeaderGlobalAction,{"aria-label":tp("close"),onClick:()=>{C?md():w({closeWindow:!0})},children:(0,aL.jsx)(sw,{})})]})})]}),(0,aL.jsx)("div",{className:aB()(my.workspaceContent),children:t})]})})]})},mx="-esm-devtools__action-menu-button2-module__container___jc6--",mk="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",mS="-esm-devtools__action-menu-button2-module__active___fbyFm",mj="-esm-devtools__action-menu-button2-module__focused___+aVpz";function mN({getIcon:e,hasUnsavedChanges:t,tagContent:o}){return(0,aL.jsxs)(aL.Fragment,{children:[e({size:16}),t?(0,aL.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,aL.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:o})]})}let mC=({icon:e,label:t,tagContent:o,workspaceToLaunch:n,onBeforeWorkspaceLaunch:r})=>{let i=i9(),{openedWindows:a,restoreWindow:s,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=mh(),{extension:u}=(0,rX.useContext)(rZ),d=a.findIndex(e=>e.windowName===u?.extensionId),m=a[d],p=null!=m,f=p&&(d<a.length-1||c),g=p&&!f,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(p)f?s(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:o}=n;mm(e,t,o)}};return"tablet"===i||"phone"===i?(0,aL.jsxs)(az.Button,{className:aB()(mx,{[mS]:p&&!g,[mj]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,aL.jsx)("span",{className:mk,children:(0,aL.jsx)(mN,{hasUnsavedChanges:h,getIcon:e,tagContent:o})}),(0,aL.jsx)("span",{children:t})]}):(0,aL.jsx)(az.IconButton,{align:"left","aria-label":t,className:aB()(mx,{[mS]:p&&!g,[mj]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,aL.jsx)("div",{className:mk,children:(0,aL.jsx)(mN,{hasUnsavedChanges:h,getIcon:e,tagContent:o})})})};function mE({showContactDetails:e,toggleContactDetails:t,className:o}){return(0,aL.jsx)(az.Button,{className:o,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?sh:sp,children:e?tp("showLess","Show less"):tp("showMore","Show more")})}let mI={contactDetails:"-esm-devtools__patient-banner-contact-details-module__contactDetails___R7vfY",deceased:"-esm-devtools__patient-banner-contact-details-module__deceased___nTt+l",heading:"-esm-devtools__patient-banner-contact-details-module__heading___x7UoT",row:"-esm-devtools__patient-banner-contact-details-module__row___qFgIi",col:"-esm-devtools__patient-banner-contact-details-module__col___JXUlg",relationship:"-esm-devtools__patient-banner-contact-details-module__relationship___T3LO-"},mA=({patientUuid:e})=>{let{cohorts:t=[],isLoading:o}=function(e){let t=e?`${tN}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:o,isLoading:n}=(0,ic.u)(t,tA),r=o?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rX.useMemo)(()=>({cohorts:r,isLoading:n}),[n,r])}(e);return(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsxs)("p",{className:mI.heading,children:[tp("patientLists","Patient Lists")," (",t?.length??0,")"]}),o?(0,aL.jsx)(az.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aL.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,aL.jsx)("li",{children:(0,aL.jsx)(rQ,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,aL.jsx)("li",{children:"--"})})(),t.length>3&&(0,aL.jsx)("li",{className:mI.link,children:(0,aL.jsx)(rQ,{to:`${window.spaBase}/home/patient-lists`,children:tp("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mP=({patientId:e})=>{let{patient:t,isLoading:o}=ad(e),n=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return o?(0,aL.jsx)(az.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsx)("p",{className:mI.heading,children:tp("address","Address")}),(0,aL.jsx)("ul",{children:n?Object.entries(n).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?n.extension?.[0]?.extension?.map((t,o)=>(0,aL.jsxs)("li",{children:[tp(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${o}`)):(0,aL.jsxs)("li",{children:[tp(e,e),": ",t]},`address-${e}`)):(0,aL.jsx)("li",{children:"--"})})]})},mO=({patientUuid:e})=>{let{isLoading:t,contactAttributes:o}=(e=>{let{contactAttributeTypes:t=[]}=iL({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:o,error:n,isLoading:r}=(e=>{let{data:t,error:o,isLoading:n}=(0,iU.A)(`${tN}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tA);return{isLoading:n,attributes:t?.data.person.attributes??[],error:o}})(e);return{contactAttributes:(0,rX.useMemo)(()=>o.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[o,t]),isLoading:r,error:n}})(e),n=(0,rX.useMemo)(()=>o?[...o?.map(e=>[e.attributeType.display?tp(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[o]);return(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsx)("p",{className:mI.heading,children:tp("contactDetails","Contact Details")}),t?(0,aL.jsx)(az.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aL.jsx)("ul",{children:n.length?n.map(([e,t],o)=>(0,aL.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${o}`)):(0,aL.jsx)("li",{children:"--"})})]})},mT=({patientId:e})=>{let{data:t,isLoading:o}=function(e){let t=`${tN}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:o,error:n,isLoading:r,isValidating:i}=(0,ic.u)(e?t:null,tA),a=o?.data?.results?.length?function(e,t){let o=[];for(let n of t)e===n.personA.uuid?o.push({uuid:`${n.uuid}`,display:n.personB.display,relativeAge:n.personB.age,relativeUuid:n.personB.uuid,relationshipType:n.relationshipType.bIsToA}):o.push({uuid:`${n.uuid}`,display:n.personA.display,relativeAge:n.personA.age,relativeUuid:n.personA.uuid,relationshipType:n.relationshipType.aIsToB});return o}(e,o.data.results):null;return{data:o?a:null,error:n,isLoading:r,isValidating:i}}(e);return(0,aL.jsxs)(aL.Fragment,{children:[(0,aL.jsx)("p",{className:mI.heading,children:tp("relationships","Relationships")}),o?(0,aL.jsx)(az.InlineLoading,{description:`${tp("loading","Loading")} ...`,role:"progressbar"}):(0,aL.jsx)("ul",{children:t&&t.length>0?(0,aL.jsx)(aL.Fragment,{children:t.map(e=>(0,aL.jsxs)("li",{className:mI.relationship,children:[(0,aL.jsx)("div",{children:(0,aL.jsx)(rQ,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,aL.jsx)("div",{children:e.relationshipType}),(0,aL.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tp("yearAbbreviation","yr"):tp("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,aL.jsx)("li",{children:"--"})})]})};function mR({patientId:e,deceased:t}){return(0,aL.jsxs)("div",{className:aB()(mI.contactDetails,{[mI.deceased]:t}),children:[(0,aL.jsxs)("div",{className:mI.row,children:[(0,aL.jsx)("div",{className:mI.col,children:(0,aL.jsx)(mP,{patientId:e})}),(0,aL.jsx)("div",{className:mI.col,children:(0,aL.jsx)(mO,{patientUuid:e})})]}),(0,aL.jsxs)("div",{className:mI.row,children:[(0,aL.jsx)("div",{className:mI.col,children:(0,aL.jsx)(mT,{patientId:e})}),(0,aL.jsx)("div",{className:mI.col,children:(0,aL.jsx)(mA,{patientUuid:e})})]})]})}function m$(e){let t=document.querySelector("template#loading-spinner");if(t){let o=t.content.cloneNode(!0),n=Array.prototype.map.call(o.childNodes,e=>e);return e.appendChild(o),()=>n.forEach(e=>e.remove())}return()=>{}}let mM="-esm-devtools__action-menu2-module__container___6Gke0";function mW({workspaceGroup:e,groupProps:t}){let o=i9(),{persistence:n}=e;return(0,aL.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,aL.jsxs)("div",{className:mM,children:["closable"==n&&ae(o)&&(0,aL.jsx)(az.IconButton,{align:"left",onClick:()=>md(),label:tp("close"),kind:"ghost",children:(0,aL.jsx)(sw,{})}),(0,aL.jsx)(rZ.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,aL.jsx)(ii,{className:mM,name:e.name,state:{groupProps:t}})})]})})}function mL(e){let t=new URL(e,window.location.origin).pathname,o=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,n=o.endsWith("/")?o.slice(0,-1):o,r=null;return n?n===t?r="/":t.startsWith(`${n}/`)&&(r=t.slice(n.length)):r=t,{full:t,spaRelative:r}}let mD=({lifeCycle:e,openedWorkspace:t,openedWindow:o,isRootWorkspace:n,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:a,closeWorkspace:s,openChildWorkspace:l}=mh(),c=(0,rX.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:n=!1,discardUnsavedChanges:r=!1}=e;return n?!!(r||await mf({reason:"CLOSE_WINDOW",explicit:!0,windowName:o.windowName}))&&(s(o.openedWorkspaces[0].workspaceName),!0):!!(r||await mf({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:t.workspaceName}))&&(s(t.workspaceName),!0)},launchChildWorkspace:async(e,n)=>{let r=t.workspaceName,{openedWorkspaces:i}=o,a=i.findIndex(e=>e.workspaceName===r);-1===a||a!==i.length-1&&i.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await mf({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:i[a+1].workspaceName})||l(r,e,n||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:o.props,groupProps:a&&a.props?a.props:null,workspaceMeta:r$.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:n,isLeafWorkspace:r,windowName:o.windowName,showActionMenu:i},[t,s,a,o]);if(!e){let{registeredWorkspacesByName:e}=r$.getState(),o=e[t.workspaceName],r=o&&o.window?o.window:void 0,{registeredWindowsByName:s}=r$.getState(),l=r?s[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(s).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,aL.jsxs)("div",{className:aB()(my.workspaceOuterContainer,{[my.narrowWorkspace]:"narrow"===c,[my.widerWorkspace]:"wider"===c,[my.extraWideWorkspace]:"extra-wide"===c,[my.isActionMenuOpened]:u}),children:[(0,aL.jsx)("div",{className:my.workspaceSpacer}),(0,aL.jsx)("div",{className:aB()(my.workspaceMiddleContainer,{[my.isRootWorkspace]:n,[my.showActionMenu]:i}),children:(0,aL.jsx)("div",{className:aB()(my.workspaceInnerContainer,{[my.isRootWorkspace]:n}),children:(0,aL.jsx)(az.InlineLoading,{className:my.loader,description:`${tp("loading")} ...`})})})]})}return(0,aL.jsx)(mr.A,{config:e,mountParcel:rq,...c},t.workspaceName)},mB=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:o}=e,[n,r]=(0,rX.useState)({}),{registeredWorkspacesByName:i}=r$.getState();return(0,rX.useEffect)(()=>{let e=!1;return Promise.all(o.map(async e=>{let{moduleName:t,component:o}=i[e.workspaceName];return[e.uuid,await aC(t,o)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[o]),(0,aL.jsx)(aL.Fragment,{children:o.map((r,i)=>(0,aL.jsx)(mD,{openedWorkspace:r,openedWindow:e,lifeCycle:n[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===o.length-1,showActionMenu:t},r.uuid))})};function mU(e){e&&(0,ia.createRoot)(e).render((0,aL.jsx)(mF,{}))}function mF(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:o,registeredWindowsByName:n}=mh();if((0,rX.useEffect)(()=>oV("before-page-changed",t=>{let{newPage:n,cancelNavigation:r,oldUrl:i,newUrl:a}=t;if(!e)return;if(n)return void r(md().then(e=>!e));let s=o[e.groupName],l=s?.scopePattern;l&&function(e,t,o){try{let n=new RegExp(e),r=mL(t),i=mL(o);if(null===r.spaRelative||null===i.spaRelative)return!0;let a=n.exec(r.spaRelative),s=n.exec(i.spaRelative);if(a&&s||(a=n.exec(r.full),s=n.exec(i.full)),!a||!s)return!0;if(a.length>1)return!a.slice(1).every((e,t)=>e===s[t+1]);return!1}catch{return!0}}(l,i,a)&&r(md().then(e=>!e))}),[e,o]),!e)return null;let r=o[e.groupName],i=t.some(e=>e.maximized),{name:a}=r,s=Object.values(n).filter(e=>e.group===a&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,aL.jsxs)("div",{className:aB()("-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsAndMenuContainer___2u2mc",{"-esm-devtools__workspace-windows-and-menu-module__overlay___7RHYZ":r.overlay,"-esm-devtools__workspace-windows-and-menu-module__hasMaximizedWindow___gvJRd":i}),children:[(0,aL.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,aL.jsx)(mB,{openedWindow:e,showActionMenu:s},e.windowName))}),s&&(0,aL.jsx)(mW,{workspaceGroup:r,groupProps:e.props})]})}function mH(e,t,o){if(null==e)return o;let n=lV(e);if(!n)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),o;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=n;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",o=r.find(e=>e.canonical.startsWith(t));if(o)return o.original;if("ht"===i){i="fr-HT";continue}let n=i.lastIndexOf("-");if(-1===n)break;let a=(i=i.slice(0,n)).lastIndexOf("-");-1!==a&&i.length-a==2&&(i=i.slice(0,a))}return o}function mG(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mz(e){return!!e&&e.constructor===Object}var mV=o(3376);function mJ(e){let[t,o,n]=e.split(".");return`${t}.${o}.${n}`}function mq(e,t){return mV(function(e){let t=e.indexOf("-");if(t>=0){let o=mJ(e.slice(0,t)),n=e.slice(t+1);return`${o}-${n}`}return mJ(e)}(t),e,{includePrerelease:!0})}async function mK(e,t={}){let o,{shouldRetry:n,getDelay:r,onError:i}=t;n=n??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let a=0;do try{return await mX(r(a)),await e()}catch(e){i?.(e,a),o=e}while(n(a++));throw o}async function mX(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mY(e,t,o,n){}function mZ(e){}function mQ(e){return Promise.resolve([])}function m0(e){return Promise.resolve([])}function m1(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 m2(e){return()=>{}}function m6(){return!0}}}]);
|